Skip to content

Commit

Permalink
Dropped support for some languages (Locale and LocaleData classes)
Browse files Browse the repository at this point in the history
  • Loading branch information
mystralkk committed Apr 4, 2022
1 parent 4c353e7 commit 161b08e
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 250 deletions.
24 changes: 0 additions & 24 deletions system/classes/Locale.php
Original file line number Diff line number Diff line change
Expand Up @@ -12,38 +12,14 @@ class Locale

// Locales supported by Geeklog. All keys must be in lower-case
const SUPPORTED_LOCALES = [
'af', // Afrikaans
'bs', // Bosnian
'bg', // Bulgarian
'ca', // Catalan
'cs', // Czech
'da', // Danish
'de', // German
'el', // Hellenic
'en', // English
'es', // Spanish
'et', // Estonian
'fa', // Persian (rtl)
'fi', // Finnish
'fr', // French
'he', // Hebrew (rtl)
'hr', // Croatian
'id', // Indonesian
'it', // Italian
'ja', // Japanese
'ko', // Korean
'nl', // Dutch
'no', // Norwegian
'pl', // Polish
'pt', // Portuguese
'ro', // Romanian
'ru', // Russian
'sk', // Slovakian
'sl', // Slovenian
'sr', // Serbian
'sv', // Swedish
'tr', // Turkish
'uk', // Ukrainian
'zh-hans', // Chinese simplified
'zh-hant', // Chinese traditional
];
Expand Down
241 changes: 15 additions & 226 deletions system/classes/LocaleData.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,43 +11,7 @@ class LocaleData
* @note When you add a new language file to, or delete an existing language file from, $_CONF['path_language'],
* you have to update this array.
*/
private $data = [
'afrikaans' => [
'native' => 'Afrikaans',
'english' => 'Afrikaans',
'iso639-1' => 'af',
'locale' => 'af_ZA',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'bosnian' => [
'native' => 'Bosanski jezik',
'english' => 'Bosnian',
'iso639-1' => 'bs',
'locale' => 'bs',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'bulgarian' => [
'native' => 'български език',
'english' => 'Bulgarian',
'iso639-1' => 'bg',
'locale' => 'bg_BG',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'Windows-1251'],
],

'catalan' => [
'native' => 'Català',
'english' => 'Catalan',
'iso639-1' => 'ca',
'locale' => 'ca_ES',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

private static $data = [
'chinese_simplified' => [
'native' => '简体中文',
'english' => 'Chinese Simplified',
Expand All @@ -66,42 +30,6 @@ class LocaleData
'encoding' => ['UTF-8'],
],

'croatian' => [
'native' => 'Hrvatski',
'english' => 'Croatian',
'iso639-1' => 'hr',
'locale' => 'hr_HR',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'czech' => [
'native' => 'Čeština',
'english' => 'Czech',
'iso639-1' => 'cs',
'locale' => 'cs_CZ',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'danish' => [
'native' => 'Dansk',
'english' => 'Danish',
'iso639-1' => 'da',
'locale' => 'da_DK',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'dutch' => [
'native' => 'Nederlands',
'english' => 'Dutch',
'iso639-1' => 'nl',
'locale' => 'nl_NL',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'english' => [
'native' => 'English',
'english' => 'English',
Expand All @@ -111,24 +39,6 @@ class LocaleData
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'estonian' => [
'native' => 'Eesti keel',
'english' => 'Estonian',
'iso639-1' => 'et',
'locale' => 'et_EE',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'finnish' => [
'native' => 'Suomen kieli',
'english' => 'Finnish',
'iso639-1' => 'fi',
'locale' => 'fi_FI',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'french_canada' => [
'native' => 'Français canadien',
'english' => 'French (Canada)',
Expand Down Expand Up @@ -174,33 +84,6 @@ class LocaleData
'encoding' => ['UTF-8'],
],

'hellenic' => [
'native' => 'Ελληνικά',
'english' => 'Greek',
'iso639-1' => 'el',
'locale' => 'el_GR',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-7'],
],

'indonesian' => [
'native' => 'Bahasa Indonesia',
'english' => 'Indonesian',
'iso639-1' => 'id',
'locale' => 'in_ID',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'italian' => [
'native' => 'Italiano',
'english' => 'Italian',
'iso639-1' => 'it',
'locale' => 'it_IT',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'japanese' => [
'native' => '日本語',
'english' => 'Japanese',
Expand All @@ -210,24 +93,6 @@ class LocaleData
'encoding' => ['UTF-8'],
],

'korean' => [
'native' => '한국어',
'english' => 'Korean',
'iso639-1' => 'ko',
'locale' => 'ko_KR',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'EUC-KR'],
],

'norwegian' => [
'native' => 'Norsk',
'english' => 'Norwegian',
'iso639-1' => 'no',
'locale' => 'no_NO',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'persian' => [
'native' => 'فارسی',
'english' => 'Persian',
Expand All @@ -237,42 +102,6 @@ class LocaleData
'encoding' => ['UTF-8'],
],

'polish' => [
'native' => 'Język polski',
'english' => 'Polish',
'iso639-1' => 'pl',
'locale' => 'pl_PL',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'portuguese_brazil' => [
'native' => 'Português do Brasil',
'english' => 'Portuguese (Brazil)',
'iso639-1' => 'pt',
'locale' => 'pt_BR',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'portuguese' => [
'native' => 'Português',
'english' => 'Portuguese (Portugal)',
'iso639-1' => 'pt',
'locale' => 'pt_PT',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'romanian' => [
'native' => 'Limba română',
'english' => 'Romanian',
'iso639-1' => 'ro',
'locale' => 'ro_RO',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'russian' => [
'native' => 'Русский язык',
'english' => 'Russian',
Expand All @@ -282,33 +111,6 @@ class LocaleData
'encoding' => ['UTF-8', 'windows-1251'],
],

'serbian' => [
'native' => 'Српски',
'english' => 'Serbian',
'iso639-1' => 'sr',
'locale' => 'sr_CS', // sr_BA?
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'slovak' => [
'native' => 'Slovenčina',
'english' => 'Slovak',
'iso639-1' => 'sk',
'locale' => 'sk_SK',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-2'],
],

'slovenian' => [
'native' => 'Slovenščina',
'english' => 'Slovenian',
'iso639-1' => 'sl',
'locale' => 'sl_SI',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'Windows-1250'], // 'Windows-1250' is not supported by mb_convert_encoding
],

'spanish_argentina' => [
'native' => 'Castellano',
'english' => 'Spanish (Argentina)',
Expand All @@ -326,34 +128,21 @@ class LocaleData
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],
];

'swedish' => [
'native' => 'Svenska',
'english' => 'Swedish',
'iso639-1' => 'sv',
'locale' => 'sv_SE',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-1'],
],

'turkish' => [
'native' => 'Türkçe',
'english' => 'Turkish',
'iso639-1' => 'tr',
'locale' => 'tr_TR',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'ISO-8859-9'],
],
/**
* Return if the language name given is supported by Geeklog
*
* @param string $languageName
* @return bool
*/
public static function isLanguageSupported($languageName)
{
$languageName = strtolower($languageName);
$languageName = str_replace('_utf-8', '', $languageName);

'ukrainian' => [
'native' => 'українська мова',
'english' => 'Ukrainian',
'iso639-1' => 'uk',
'locale' => 'uk_UA',
'dir' => 'ltr',
'encoding' => ['UTF-8', 'Windows-1251', 'KOI8-U'],
],
];
return array_key_exists($languageName, self::$data);
}

/**
* Return an array of dropdowns to select a language
Expand All @@ -374,7 +163,7 @@ public function getLanguageList($baseDir, $defaultCharset = 'UTF-8', $isMultiLan
$isUtf8 = (strcasecmp($defaultCharset, 'utf-8') === 0);
clearstatcache();

foreach ($this->data as $key => $value) {
foreach (self::$data as $key => $value) {
foreach ($value['encoding'] as $encoding) {
$langFile = '';
$langText = '';
Expand Down

0 comments on commit 161b08e

Please sign in to comment.