| @@ 8-127 (lines=120) @@ | ||
| 5 | use Illuminate\Support\Arr; |
|
| 6 | use Propaganistas\LaravelIntl\Contracts\Intl; |
|
| 7 | ||
| 8 | class Country extends Intl |
|
| 9 | { |
|
| 10 | /** |
|
| 11 | * Loaded localized country data. |
|
| 12 | * |
|
| 13 | * @var array |
|
| 14 | */ |
|
| 15 | protected $data; |
|
| 16 | ||
| 17 | /** |
|
| 18 | * The current locale. |
|
| 19 | * |
|
| 20 | * @var string $locale |
|
| 21 | */ |
|
| 22 | protected $locale; |
|
| 23 | ||
| 24 | /** |
|
| 25 | * The current locale. |
|
| 26 | * |
|
| 27 | * @var string $locale |
|
| 28 | */ |
|
| 29 | protected $fallbackLocale; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * Get a localized record by key. |
|
| 33 | * |
|
| 34 | * @param string $key |
|
| 35 | * @return string |
|
| 36 | */ |
|
| 37 | public function get($key) |
|
| 38 | { |
|
| 39 | return Arr::get($this->all(), $key); |
|
| 40 | } |
|
| 41 | ||
| 42 | /** |
|
| 43 | * Alias of get(). |
|
| 44 | * |
|
| 45 | * @param string $key |
|
| 46 | * @return string |
|
| 47 | */ |
|
| 48 | public function name($key) |
|
| 49 | { |
|
| 50 | return $this->get($key); |
|
| 51 | } |
|
| 52 | ||
| 53 | /** |
|
| 54 | * Get all localized records. |
|
| 55 | * |
|
| 56 | * @return array |
|
| 57 | */ |
|
| 58 | public function all() |
|
| 59 | { |
|
| 60 | return $this->data[$this->getLocale()] + $this->data[$this->getFallbackLocale()]; |
|
| 61 | } |
|
| 62 | ||
| 63 | /** |
|
| 64 | * Get the current locale. |
|
| 65 | * |
|
| 66 | * @return string |
|
| 67 | */ |
|
| 68 | public function getLocale() |
|
| 69 | { |
|
| 70 | return $this->locale; |
|
| 71 | } |
|
| 72 | ||
| 73 | /** |
|
| 74 | * Set the current locale. |
|
| 75 | * |
|
| 76 | * @param $locale |
|
| 77 | * @return $this |
|
| 78 | */ |
|
| 79 | public function setLocale($locale) |
|
| 80 | { |
|
| 81 | $this->locale = $locale; |
|
| 82 | ||
| 83 | $this->load($locale); |
|
| 84 | ||
| 85 | return $this; |
|
| 86 | } |
|
| 87 | ||
| 88 | /** |
|
| 89 | * Get the fallback locale. |
|
| 90 | * |
|
| 91 | * @return string |
|
| 92 | */ |
|
| 93 | public function getFallbackLocale() |
|
| 94 | { |
|
| 95 | return $this->fallbackLocale; |
|
| 96 | } |
|
| 97 | ||
| 98 | /** |
|
| 99 | * Set the fallback locale. |
|
| 100 | * |
|
| 101 | * @param $locale |
|
| 102 | * @return $this |
|
| 103 | */ |
|
| 104 | public function setFallbackLocale($locale) |
|
| 105 | { |
|
| 106 | $this->fallbackLocale = $locale; |
|
| 107 | ||
| 108 | $this->load($locale); |
|
| 109 | ||
| 110 | return $this; |
|
| 111 | } |
|
| 112 | ||
| 113 | /** |
|
| 114 | * Load the data for the given locale. |
|
| 115 | * |
|
| 116 | * @param string $locale |
|
| 117 | * @return void |
|
| 118 | */ |
|
| 119 | protected function load($locale) |
|
| 120 | { |
|
| 121 | if (! isset($this->data[$locale])) { |
|
| 122 | $path = base_path('vendor/umpirsky/country-list/data/'.$locale.'/country.php'); |
|
| 123 | ||
| 124 | $this->data[$locale] = is_file($path) ? require $path : []; |
|
| 125 | } |
|
| 126 | } |
|
| 127 | } |
|
| @@ 8-127 (lines=120) @@ | ||
| 5 | use Illuminate\Support\Arr; |
|
| 6 | use Propaganistas\LaravelIntl\Contracts\Intl; |
|
| 7 | ||
| 8 | class Language extends Intl |
|
| 9 | { |
|
| 10 | /** |
|
| 11 | * Loaded localized country data. |
|
| 12 | * |
|
| 13 | * @var array |
|
| 14 | */ |
|
| 15 | protected $data; |
|
| 16 | ||
| 17 | /** |
|
| 18 | * The current locale. |
|
| 19 | * |
|
| 20 | * @var string $locale |
|
| 21 | */ |
|
| 22 | protected $locale; |
|
| 23 | ||
| 24 | /** |
|
| 25 | * The current locale. |
|
| 26 | * |
|
| 27 | * @var string $locale |
|
| 28 | */ |
|
| 29 | protected $fallbackLocale; |
|
| 30 | ||
| 31 | /** |
|
| 32 | * Get a localized record by key. |
|
| 33 | * |
|
| 34 | * @param string $key |
|
| 35 | * @return mixed |
|
| 36 | */ |
|
| 37 | public function get($key) |
|
| 38 | { |
|
| 39 | return Arr::get($this->all(), $key); |
|
| 40 | } |
|
| 41 | ||
| 42 | /** |
|
| 43 | * Alias of get(). |
|
| 44 | * |
|
| 45 | * @param string $key |
|
| 46 | * @return string |
|
| 47 | */ |
|
| 48 | public function name($key) |
|
| 49 | { |
|
| 50 | return $this->get($key); |
|
| 51 | } |
|
| 52 | ||
| 53 | /** |
|
| 54 | * Get all localized records. |
|
| 55 | * |
|
| 56 | * @return array |
|
| 57 | */ |
|
| 58 | public function all() |
|
| 59 | { |
|
| 60 | return $this->data[$this->getLocale()] + $this->data[$this->getFallbackLocale()]; |
|
| 61 | } |
|
| 62 | ||
| 63 | /** |
|
| 64 | * Get the current locale. |
|
| 65 | * |
|
| 66 | * @return string |
|
| 67 | */ |
|
| 68 | public function getLocale() |
|
| 69 | { |
|
| 70 | return $this->locale; |
|
| 71 | } |
|
| 72 | ||
| 73 | /** |
|
| 74 | * Set the current locale. |
|
| 75 | * |
|
| 76 | * @param $locale |
|
| 77 | * @return $this |
|
| 78 | */ |
|
| 79 | public function setLocale($locale) |
|
| 80 | { |
|
| 81 | $this->locale = $locale; |
|
| 82 | ||
| 83 | $this->load($locale); |
|
| 84 | ||
| 85 | return $this; |
|
| 86 | } |
|
| 87 | ||
| 88 | /** |
|
| 89 | * Get the fallback locale. |
|
| 90 | * |
|
| 91 | * @return string |
|
| 92 | */ |
|
| 93 | public function getFallbackLocale() |
|
| 94 | { |
|
| 95 | return $this->fallbackLocale; |
|
| 96 | } |
|
| 97 | ||
| 98 | /** |
|
| 99 | * Set the fallback locale. |
|
| 100 | * |
|
| 101 | * @param $locale |
|
| 102 | * @return $this |
|
| 103 | */ |
|
| 104 | public function setFallbackLocale($locale) |
|
| 105 | { |
|
| 106 | $this->fallbackLocale = $locale; |
|
| 107 | ||
| 108 | $this->load($locale); |
|
| 109 | ||
| 110 | return $this; |
|
| 111 | } |
|
| 112 | ||
| 113 | /** |
|
| 114 | * Load the data for the given locale. |
|
| 115 | * |
|
| 116 | * @param string $locale |
|
| 117 | * @return void |
|
| 118 | */ |
|
| 119 | protected function load($locale) |
|
| 120 | { |
|
| 121 | if (! isset($this->data[$locale])) { |
|
| 122 | $path = base_path('vendor/umpirsky/locale-list/data/'.$locale.'/locales.php'); |
|
| 123 | ||
| 124 | $this->data[$locale] = is_file($path) ? require $path : []; |
|
| 125 | } |
|
| 126 | } |
|
| 127 | } |
|