Skip to content

Commit 8bbfc44

Browse files
committed
Added directions for language text
1 parent 19fc3e1 commit 8bbfc44

File tree

2 files changed

+100
-54
lines changed

2 files changed

+100
-54
lines changed

src/Config/language.php

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -151,59 +151,59 @@
151151
*/
152152

153153
'all' => [
154-
['short' => 'ar', 'long' => 'ar-SA', 'english' => 'Arabic', 'native' => 'العربية'],
155-
['short' => 'bg', 'long' => 'bg-BG', 'english' => 'Bulgarian', 'native' => 'български'],
156-
['short' => 'bn', 'long' => 'bn-BD', 'english' => 'Bengali', 'native' => 'বাংলা'],
157-
['short' => 'cn', 'long' => 'zh-CN', 'english' => 'Chinese (S)', 'native' => '简体中文'],
158-
['short' => 'cs', 'long' => 'cs-CZ', 'english' => 'Czech', 'native' => 'Čeština'],
159-
['short' => 'da', 'long' => 'da-DK', 'english' => 'Danish', 'native' => 'Dansk'],
160-
['short' => 'de', 'long' => 'de-DE', 'english' => 'German', 'native' => 'Deutsch'],
161-
['short' => 'de', 'long' => 'de-AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch'],
162-
['short' => 'fi', 'long' => 'fi-FI', 'english' => 'Finnish', 'native' => 'Suomi'],
163-
['short' => 'fr', 'long' => 'fr-FR', 'english' => 'French', 'native' => 'Français'],
164-
['short' => 'el', 'long' => 'el-GR', 'english' => 'Greek', 'native' => 'Ελληνικά'],
165-
['short' => 'en', 'long' => 'en-AU', 'english' => 'English (AU)', 'native' => 'English (AU)'],
166-
['short' => 'en', 'long' => 'en-CA', 'english' => 'English (CA)', 'native' => 'English (CA)'],
167-
['short' => 'en', 'long' => 'en-GB', 'english' => 'English (GB)', 'native' => 'English (GB)'],
168-
['short' => 'en', 'long' => 'en-US', 'english' => 'English (US)', 'native' => 'English (US)'],
169-
['short' => 'es', 'long' => 'es-ES', 'english' => 'Spanish', 'native' => 'Español'],
170-
['short' => 'et', 'long' => 'et-EE', 'english' => 'Estonian', 'native' => 'Eesti'],
171-
['short' => 'he', 'long' => 'he-IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית'],
172-
['short' => 'hi', 'long' => 'hi-IN', 'english' => 'Hindi', 'native' => 'हिन्दी'],
173-
['short' => 'hr', 'long' => 'hr-HR', 'english' => 'Croatian', 'native' => 'Hrvatski'],
174-
['short' => 'hu', 'long' => 'hu-HU', 'english' => 'Hungarian', 'native' => 'Magyar'],
175-
['short' => 'hy', 'long' => 'hy-AM', 'english' => 'Armenian', 'native' => 'Հայերեն'],
176-
['short' => 'id', 'long' => 'id-ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia'],
177-
['short' => 'it', 'long' => 'it-IT', 'english' => 'Italian', 'native' => 'Italiano'],
178-
['short' => 'ir', 'long' => 'fa-IR', 'english' => 'Persian', 'native' => 'فارسی'],
179-
['short' => 'jp', 'long' => 'ja-JP', 'english' => 'Japanese', 'native' => '日本語'],
180-
['short' => 'ka', 'long' => 'ka-GE', 'english' => 'Georgian', 'native' => 'ქართული'],
181-
['short' => 'ko', 'long' => 'ko-KR', 'english' => 'Korean', 'native' => '한국어'],
182-
['short' => 'lt', 'long' => 'lt-LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių'],
183-
['short' => 'lv', 'long' => 'lv-LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda'],
184-
['short' => 'mk', 'long' => 'mk-MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик'],
185-
['short' => 'ms', 'long' => 'ms-MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu'],
186-
['short' => 'mx', 'long' => 'es-MX', 'english' => 'Mexico', 'native' => 'Español de México'],
187-
['short' => 'nb', 'long' => 'nb-NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål'],
188-
['short' => 'ne', 'long' => 'ne-NP', 'english' => 'Nepali', 'native' => 'नेपाली'],
189-
['short' => 'nl', 'long' => 'nl-NL', 'english' => 'Dutch', 'native' => 'Nederlands'],
190-
['short' => 'pl', 'long' => 'pl-PL', 'english' => 'Polish', 'native' => 'Polski'],
191-
['short' => 'pt-BR', 'long' => 'pt-BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil'],
192-
['short' => 'pt', 'long' => 'pt-PT', 'english' => 'Portuguese', 'native' => 'Português'],
193-
['short' => 'ro', 'long' => 'ro-RO', 'english' => 'Romanian', 'native' => 'Română'],
194-
['short' => 'ru', 'long' => 'ru-RU', 'english' => 'Russian', 'native' => 'Русский'],
195-
['short' => 'sr', 'long' => 'sr-RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик'],
196-
['short' => 'sr', 'long' => 'sr-CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик'],
197-
['short' => 'sq', 'long' => 'sq-AL', 'english' => 'Albanian', 'native' => 'Shqip'],
198-
['short' => 'sk', 'long' => 'sk-SK', 'english' => 'Slovak', 'native' => 'Slovenčina'],
199-
['short' => 'sl', 'long' => 'sl-SL', 'english' => 'Slovenian', 'native' => 'Slovenščina'],
200-
['short' => 'sv', 'long' => 'sv-SE', 'english' => 'Swedish', 'native' => 'Svenska'],
201-
['short' => 'th', 'long' => 'th-TH', 'english' => 'Thai', 'native' => 'ไทย'],
202-
['short' => 'tr', 'long' => 'tr-TR', 'english' => 'Turkish', 'native' => 'Türkçe'],
203-
['short' => 'tw', 'long' => 'zh-TW', 'english' => 'Chinese (T)', 'native' => '繁體中文'],
204-
['short' => 'uk', 'long' => 'uk-UA', 'english' => 'Ukrainian', 'native' => 'Українська'],
205-
['short' => 'ur', 'long' => 'ur-PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو'],
206-
['short' => 'uz', 'long' => 'uz-UZ', 'english' => 'Uzbek', 'native' => 'O\'zbek'],
207-
['short' => 'vi', 'long' => 'vi-VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt'],
154+
['short' => 'ar', 'long' => 'ar-SA', 'english' => 'Arabic', 'native' => 'العربية', 'direction' => 'rtl'],
155+
['short' => 'bg', 'long' => 'bg-BG', 'english' => 'Bulgarian', 'native' => 'български', 'direction' => 'ltr'],
156+
['short' => 'bn', 'long' => 'bn-BD', 'english' => 'Bengali', 'native' => 'বাংলা', 'direction' => 'ltr'],
157+
['short' => 'cn', 'long' => 'zh-CN', 'english' => 'Chinese (S)', 'native' => '简体中文', 'direction' => 'ltr'],
158+
['short' => 'cs', 'long' => 'cs-CZ', 'english' => 'Czech', 'native' => 'Čeština', 'direction' => 'ltr'],
159+
['short' => 'da', 'long' => 'da-DK', 'english' => 'Danish', 'native' => 'Dansk', 'direction' => 'ltr'],
160+
['short' => 'de', 'long' => 'de-DE', 'english' => 'German', 'native' => 'Deutsch', 'direction' => 'ltr'],
161+
['short' => 'de', 'long' => 'de-AT', 'english' => 'Austrian', 'native' => 'Österreichisches Deutsch', 'direction' => 'ltr'],
162+
['short' => 'fi', 'long' => 'fi-FI', 'english' => 'Finnish', 'native' => 'Suomi', 'direction' => 'ltr'],
163+
['short' => 'fr', 'long' => 'fr-FR', 'english' => 'French', 'native' => 'Français', 'direction' => 'ltr'],
164+
['short' => 'el', 'long' => 'el-GR', 'english' => 'Greek', 'native' => 'Ελληνικά', 'direction' => 'ltr'],
165+
['short' => 'en', 'long' => 'en-AU', 'english' => 'English (AU)', 'native' => 'English (AU)', 'direction' => 'ltr'],
166+
['short' => 'en', 'long' => 'en-CA', 'english' => 'English (CA)', 'native' => 'English (CA)', 'direction' => 'ltr'],
167+
['short' => 'en', 'long' => 'en-GB', 'english' => 'English (GB)', 'native' => 'English (GB)', 'direction' => 'ltr'],
168+
['short' => 'en', 'long' => 'en-US', 'english' => 'English (US)', 'native' => 'English (US)', 'direction' => 'ltr'],
169+
['short' => 'es', 'long' => 'es-ES', 'english' => 'Spanish', 'native' => 'Español', 'direction' => 'ltr'],
170+
['short' => 'et', 'long' => 'et-EE', 'english' => 'Estonian', 'native' => 'Eesti', 'direction' => 'ltr'],
171+
['short' => 'he', 'long' => 'he-IL', 'english' => 'Hebrew', 'native' => 'עִבְרִית', 'direction' => 'rtl'],
172+
['short' => 'hi', 'long' => 'hi-IN', 'english' => 'Hindi', 'native' => 'हिन्दी', 'direction' => 'ltr'],
173+
['short' => 'hr', 'long' => 'hr-HR', 'english' => 'Croatian', 'native' => 'Hrvatski', 'direction' => 'ltr'],
174+
['short' => 'hu', 'long' => 'hu-HU', 'english' => 'Hungarian', 'native' => 'Magyar', 'direction' => 'ltr'],
175+
['short' => 'hy', 'long' => 'hy-AM', 'english' => 'Armenian', 'native' => 'Հայերեն', 'direction' => 'ltr'],
176+
['short' => 'id', 'long' => 'id-ID', 'english' => 'Indonesian', 'native' => 'Bahasa Indonesia', 'direction' => 'ltr'],
177+
['short' => 'it', 'long' => 'it-IT', 'english' => 'Italian', 'native' => 'Italiano', 'direction' => 'ltr'],
178+
['short' => 'ir', 'long' => 'fa-IR', 'english' => 'Persian', 'native' => 'فارسی', 'direction' => 'rtl'],
179+
['short' => 'jp', 'long' => 'ja-JP', 'english' => 'Japanese', 'native' => '日本語', 'direction' => 'ltr'],
180+
['short' => 'ka', 'long' => 'ka-GE', 'english' => 'Georgian', 'native' => 'ქართული', 'direction' => 'ltr'],
181+
['short' => 'ko', 'long' => 'ko-KR', 'english' => 'Korean', 'native' => '한국어', 'direction' => 'ltr'],
182+
['short' => 'lt', 'long' => 'lt-LT', 'english' => 'Lithuanian', 'native' => 'Lietuvių', 'direction' => 'ltr'],
183+
['short' => 'lv', 'long' => 'lv-LV', 'english' => 'Latvian', 'native' => 'Latviešu valoda', 'direction' => 'ltr'],
184+
['short' => 'mk', 'long' => 'mk-MK', 'english' => 'Macedonian', 'native' => 'Македонски јазик', 'direction' => 'ltr'],
185+
['short' => 'ms', 'long' => 'ms-MY', 'english' => 'Malay', 'native' => 'Bahasa Melayu', 'direction' => 'ltr'],
186+
['short' => 'mx', 'long' => 'es-MX', 'english' => 'Mexico', 'native' => 'Español de México', 'direction' => 'ltr'],
187+
['short' => 'nb', 'long' => 'nb-NO', 'english' => 'Norwegian', 'native' => 'Norsk Bokmål', 'direction' => 'ltr'],
188+
['short' => 'ne', 'long' => 'ne-NP', 'english' => 'Nepali', 'native' => 'नेपाली', 'direction' => 'ltr'],
189+
['short' => 'nl', 'long' => 'nl-NL', 'english' => 'Dutch', 'native' => 'Nederlands', 'direction' => 'ltr'],
190+
['short' => 'pl', 'long' => 'pl-PL', 'english' => 'Polish', 'native' => 'Polski', 'direction' => 'ltr'],
191+
['short' => 'pt-BR', 'long' => 'pt-BR', 'english' => 'Brazilian', 'native' => 'Português do Brasil', 'direction' => 'ltr'],
192+
['short' => 'pt', 'long' => 'pt-PT', 'english' => 'Portuguese', 'native' => 'Português', 'direction' => 'ltr'],
193+
['short' => 'ro', 'long' => 'ro-RO', 'english' => 'Romanian', 'native' => 'Română', 'direction' => 'ltr'],
194+
['short' => 'ru', 'long' => 'ru-RU', 'english' => 'Russian', 'native' => 'Русский', 'direction' => 'ltr'],
195+
['short' => 'sr', 'long' => 'sr-RS', 'english' => 'Serbian (Cyrillic)', 'native' => 'Српски језик', 'direction' => 'ltr'],
196+
['short' => 'sr', 'long' => 'sr-CS', 'english' => 'Serbian (Latin)', 'native' => 'Српски језик', 'direction' => 'ltr'],
197+
['short' => 'sq', 'long' => 'sq-AL', 'english' => 'Albanian', 'native' => 'Shqip', 'direction' => 'ltr'],
198+
['short' => 'sk', 'long' => 'sk-SK', 'english' => 'Slovak', 'native' => 'Slovenčina', 'direction' => 'ltr'],
199+
['short' => 'sl', 'long' => 'sl-SL', 'english' => 'Slovenian', 'native' => 'Slovenščina', 'direction' => 'ltr'],
200+
['short' => 'sv', 'long' => 'sv-SE', 'english' => 'Swedish', 'native' => 'Svenska', 'direction' => 'ltr'],
201+
['short' => 'th', 'long' => 'th-TH', 'english' => 'Thai', 'native' => 'ไทย', 'direction' => 'ltr'],
202+
['short' => 'tr', 'long' => 'tr-TR', 'english' => 'Turkish', 'native' => 'Türkçe', 'direction' => 'ltr'],
203+
['short' => 'tw', 'long' => 'zh-TW', 'english' => 'Chinese (T)', 'native' => '繁體中文', 'direction' => 'ltr'],
204+
['short' => 'uk', 'long' => 'uk-UA', 'english' => 'Ukrainian', 'native' => 'Українська', 'direction' => 'ltr'],
205+
['short' => 'ur', 'long' => 'ur-PK', 'english' => 'Urdu (Pakistan)', 'native' => 'اردو', 'direction' => 'rtl'],
206+
['short' => 'uz', 'long' => 'uz-UZ', 'english' => 'Uzbek', 'native' => 'O\'zbek', 'direction' => 'ltr'],
207+
['short' => 'vi', 'long' => 'vi-VN', 'english' => 'Vietnamese', 'native' => 'Tiếng Việt', 'direction' => 'ltr'],
208208
],
209209
];

src/Language.php

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,36 @@ public static function codes($langs)
179179
return $array;
180180
}
181181

182+
/**
183+
* Add directions to an array of language codes as [$code => $direction].
184+
*
185+
* @param array $codes
186+
*
187+
* @return array
188+
**/
189+
public static function directions($codes)
190+
{
191+
// Get languages from config
192+
$languages = config('language.all');
193+
194+
$array = [];
195+
196+
// Generate an array with $code as key and $code language as value
197+
foreach ($codes as $code) {
198+
$direction = 'ltr';
199+
200+
foreach ($languages as $language) {
201+
if ($language[$mode['code']] == $code) {
202+
$direction = $language['direction'];
203+
}
204+
}
205+
206+
$array[$code] = $direction;
207+
}
208+
209+
return $array;
210+
}
211+
182212
/**
183213
* Returns the url to set up language and return back.
184214
*
@@ -292,4 +322,20 @@ public static function getName($code = 'default')
292322

293323
return self::names([$code])[$code];
294324
}
325+
326+
/**
327+
* Returns the language direction.
328+
*
329+
* @param string $code
330+
*
331+
* @return string
332+
**/
333+
public static function direction($code = 'default')
334+
{
335+
if ($code == 'default') {
336+
$code = app()->getLocale();
337+
}
338+
339+
return self::directions([$code])[$code];
340+
}
295341
}

0 commit comments

Comments
 (0)