Language fallback improvement

- Changes for following best practice for CI4 localization
- Norwegian and Urdu languages now working again
- Sort languages by alphabet in config
This commit is contained in:
BudsieBuds
2024-05-13 17:12:18 +02:00
committed by jekkos
parent fea38e1608
commit c39b733c90
318 changed files with 61 additions and 58 deletions

View File

@@ -129,7 +129,7 @@ class App extends BaseConfig
* strings (like currency markers, numbers, etc), that your program
* should run under for this request.
*/
public string $defaultLocale = 'en-US';
public string $defaultLocale = 'en';
/**
* --------------------------------------------------------------------------
@@ -159,31 +159,32 @@ class App extends BaseConfig
public array $supportedLocales = [
'ar-EG',
'ar-LB',
'az-AZ',
'az',
'bg',
'bs-BA',
'bs',
'cs',
'da',
'de',
'de-CH',
'de-DE',
'el',
'en',
'en-GB',
'en-US',
'es',
'fa_IR',
'es-ES',
'es-MX',
'fa',
'fr',
'he',
'hr-HR',
'hu-HU',
'hu',
'hy',
'id',
'it',
'km',
'lo',
'ml',
'nb_NO',
'nl',
'nb',
'nl-BE',
'nl-NL',
'pl',
'pt-BR',
'ro',
@@ -191,12 +192,12 @@ class App extends BaseConfig
'sv',
'ta',
'th',
'tl-PH',
'tl',
'tr',
'uk-UA',
'ur-PK',
'uk',
'ur',
'vi',
'zh-HANS',
'zh-Hans',
'zh-Hant',
];

View File

@@ -184,4 +184,4 @@ const COST_SUPPLIER = 1;
const MAX_PRECISION = 1e14;
const DEFAULT_PRECISION = 2;
const DEFAULT_LANGUAGE = 'english';
const DEFAULT_LANGUAGE_CODE = 'en-US';
const DEFAULT_LANGUAGE_CODE = 'en';

View File

@@ -82,7 +82,7 @@ INSERT INTO `ospos_app_config` (`key`, `value`) VALUES
('theme', 'flatly'),
('statistics', '1'),
('language', 'english'),
('language_code', 'en-US');
('language_code', 'en');
-- --------------------------------------------------------

View File

@@ -44,7 +44,7 @@ class Load_config
if(current_language_code() == null || current_language() == null || !$language_exists) //TODO: current_language() is undefined
{
$config->language = 'english';
$config->language_code = 'en-US';
$config->language_code = 'en';
}
$language = Services::language();

View File

@@ -58,35 +58,35 @@ function current_language(bool $load_system_language = false): string
*/
function get_languages(): array
{
return [
$languages = [
'ar-EG:arabic' => 'Arabic (Egypt)',
'ar-LB:arabic' => 'Arabic (Lebanon)',
'az-AZ:azerbaijani' => 'Azerbaijani (Azerbaijan)',
'az:azerbaijani' => 'Azerbaijani',
'bg:bulgarian' => 'Bulgarian',
'bs-BA:bosnian' => 'Bosnian',
'bs:bosnian' => 'Bosnian',
'cs:czech' => 'Czech',
'da:danish' => 'Danish',
'de:german' => 'German (Germany)',
'de-CH:german' => 'German (Swiss)',
'de-CH:german' => 'German (Switzerland)',
'de-DE:german' => 'German (Germany)',
'el:greek' => 'Greek',
'en-GB:english' => 'English (Great Britain)',
'en-US:english' => 'English (United States)',
'es:spanish' => 'Spanish',
'en:english' => 'English (United States)',
'en-GB:english' => 'English (United Kingdom)',
'es-ES:spanish' => 'Spanish (Spain)',
'es-MX:spanish' => 'Spanish (Mexico)',
'fa:persian' => 'Persian',
'fr:french' => 'French',
'fa-IR:persian' => 'Farsi (Iran)',
'he:english' => 'Hebrew',
'he:hebrew' => 'Hebrew',
'hr-HR:croatian' => 'Croatian (Croatia)',
'hu-HU:hungarian' => 'Hungarian (Hungary)',
'hu:hungarian' => 'Hungarian',
'hy:armenian' => 'Armenian',
'id:indonesian' => 'Indonesian',
'it:italian' => 'Italian',
'km:khmer' => 'Central Khmer (Cambodia)',
'lo:lao' => 'Lao (Laos)',
'ml:malay' => 'Malay',
'km:centralkhmer' => 'Central Khmer',
'lo:lao' => 'Lao',
'ml:malayalam' => 'Malayalam',
'nb:norwegian' => 'Norwegian',
'nl:dutch' => 'Dutch',
'nl-BE:dutch' => 'Dutch (Belgium)',
'nl-NL:dutch' => 'Dutch (Netherlands)',
'pl:polish' => 'Polish',
'pt-BR:portuguese' => 'Portuguese (Brazil)',
'ro:romanian' => 'Romanian',
@@ -94,14 +94,16 @@ function get_languages(): array
'sv:swedish' => 'Swedish',
'ta:tamil' => 'Tamil',
'th:thai' => 'Thai',
'tl-PH:talong' => 'Tagalog (Philippines)',
'tl:tagalog' => 'Tagalog',
'tr:turkish' => 'Turkish',
'uk-UA:ukrainian' => 'Ukrainian',
'ur-PK:urdu' => 'Urdu (Islamic Republic of Pakistan)',
'uk:ukrainian' => 'Ukrainian',
'ur:urdu' => 'Urdu',
'vi:vietnamese' => 'Vietnamese',
'zh-Hans:simplified-chinese' => 'Chinese Simplified Script',
'zh-Hant:traditional-chinese' => 'Chinese Traditional Script'
'zh-Hans:simplified-chinese' => 'Chinese (Simplified)',
'zh-Hant:traditional-chinese' => 'Chinese (Traditional)'
];
asort($languages);
return $languages;
}
/**

Some files were not shown because too many files have changed in this diff Show More