blob: d8196f26c0a597156e659761499dbe13e9afb184 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
<?php
namespace CommerceGuys\Intl\Language;
/**
* Represents a language.
*/
final class Language
{
/**
* The two-letter language code.
*
* @var string
*/
protected $languageCode;
/**
* The language name.
*
* @var string
*/
protected $name;
/**
* The locale (i.e. "en-US").
*
* @var string
*/
protected $locale;
/**
* Creates a new Language instance.
*
* @param array $definition The definition array.
*/
public function __construct(array $definition)
{
foreach (['language_code', 'name', 'locale'] as $requiredProperty) {
if (empty($definition[$requiredProperty])) {
throw new \InvalidArgumentException(sprintf('Missing required property "%s".', $requiredProperty));
}
}
$this->languageCode = $definition['language_code'];
$this->name = $definition['name'];
$this->locale = $definition['locale'];
}
/**
* Returns the string representation of the Language.
*
* @return string
*/
public function __toString()
{
return $this->languageCode;
}
/**
* Gets the two-letter language code.
*
* @return string
*/
public function getLanguageCode()
{
return $this->languageCode;
}
/**
* Gets the language name.
*
* This value is locale specific.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Gets the locale.
*
* The language name is locale specific.
*
* @return string
*/
public function getLocale()
{
return $this->locale;
}
}
|