diff options
-rw-r--r-- | core/DataFiles/Languages.php | 133 | ||||
-rw-r--r-- | lang/be.php | 2 | ||||
-rw-r--r-- | lang/el.php | 2 | ||||
-rw-r--r-- | plugins/LanguagesManager/tests/LanguagesManager.test.php | 46 |
4 files changed, 146 insertions, 37 deletions
diff --git a/core/DataFiles/Languages.php b/core/DataFiles/Languages.php index 4d617f1ebb..0ebff74776 100644 --- a/core/DataFiles/Languages.php +++ b/core/DataFiles/Languages.php @@ -17,126 +17,191 @@ if(!isset($GLOBALS['Piwik_LanguageList'])) { // Reference: ISO 639-1 alpha-2 $GLOBALS['Piwik_LanguageList'] = array( + 'aa' => 'Afar', + 'ab' => 'Abkhazian', + 'ae' => 'Avestan', 'af' => 'Afrikaans', + 'ak' => 'Akan', 'am' => 'Amharic', + 'an' => 'Aragonese', 'ar' => 'Arabic', + 'as' => 'Assamese', + 'av' => 'Avaric', 'ay' => 'Aymara', 'az' => 'Azerbaijani', - 'be' => 'Byelorussian', + 'ba' => 'Bashkir', + 'be' => 'Belarusian', 'bg' => 'Bulgarian', + 'bh' => 'Bihari', // 'Bihari languages', 'bi' => 'Bislama', + 'bm' => 'Bambara', 'bn' => 'Bengali', + 'bo' => 'Tibetan', + 'br' => 'Breton', 'bs' => 'Bosnian', - 'ca' => 'Catalan', + 'ca' => array('Catalan', 'Valencian'), + 'ce' => 'Chechen', + 'ch' => 'Chamorro', + 'co' => 'Corsican', + 'cr' => 'Cree', 'cs' => 'Czech', + 'cu' => array('Church Slavic', 'Old Slavonic', 'Church Slavonic', 'Old Bulgarian', 'Old Church Slavonic'), + 'cv' => 'Chuvash', 'cy' => 'Welsh', 'da' => 'Danish', 'de' => 'German', - 'dv' => 'Divehi', - 'dz' => 'Bhutani', - 'el' => 'Greek', + 'dv' => array('Divehi', 'Dhivehi', 'Maldivian'), + 'dz' => 'Dzongkha', + 'ee' => 'Ewe', + 'el' => array('Greek', 'Modern Greek'), // Greek, Modern (1453-) 'en' => 'English', - 'es' => 'Spanish', + 'eo' => 'Esperanto', + 'es' => array('Spanish', 'Castilian'), 'et' => 'Estonian', 'eu' => 'Basque', 'fa' => 'Persian', + 'ff' => 'Fulah', 'fi' => 'Finnish', 'fj' => 'Fijian', 'fo' => 'Faroese', 'fr' => 'French', - 'fy' => 'Frisian', + 'fy' => 'Western Frisian', 'ga' => 'Irish', + 'gd' => array('Gaelic', 'Scottish Gaelic'), 'gl' => 'Galician', 'gn' => 'Guarani', + 'gu' => 'Gujarati', + 'gv' => 'Manx', + 'ha' => 'Hausa', 'he' => 'Hebrew', 'hi' => 'Hindi', 'ho' => 'Hiri Motu', 'hr' => 'Croatian', - 'ht' => 'Haitian; Haitian Creole', + 'ht' => array('Haitian', 'Haitian Creole'), 'hu' => 'Hungarian', 'hy' => 'Armenian', + 'hz' => 'Herero', + 'ia' => 'Interlingua', // 'Interlingua (International Auxiliary Language Association)', 'id' => 'Indonesian', + 'ie' => array('Interlingue', 'Occidental'), + 'ig' => 'Igbo', + 'ii' => array('Sichuan Yi', 'Nuosu'), + 'ik' => 'Inupiaq', + 'io' => 'Ido', 'is' => 'Icelandic', 'it' => 'Italian', + 'iu' => 'Inuktitut', 'ja' => 'Japanese', + 'jv' => 'Javanese', 'ka' => 'Georgian', + 'kg' => 'Kongo', + 'ki' => array('Kikuyu', 'Gikuyu'), + 'kj' => array('Kuanyama', 'Kwanyama'), 'kk' => 'Kazakh', - 'kl' => 'Kalaalisut', - 'km' => 'Khmer', + 'kl' => array('Kalaallisut', 'Greenlandic'), + 'km' => 'Central Khmer', + 'kn' => 'Kannada', 'ko' => 'Korean', - 'ky' => 'Kirghiz', + 'kr' => 'Kanuri', + 'ks' => 'Kashmiri', + 'ku' => 'Kurdish', + 'kv' => 'Komi', + 'kw' => 'Cornish', + 'ky' => array('Kirghiz', 'Kyrgyz'), 'la' => 'Latin', - 'lb' => 'Luxembourgish; Letzeburgesch', + 'lb' => array('Luxembourgish', 'Letzeburgesch'), + 'lg' => 'Ganda', + 'li' => array('Limburgan', 'Limburger', 'Limburgish'), + 'ln' => 'Lingala', 'lo' => 'Lao', 'lt' => 'Lithuanian', + 'lu' => 'Luba-Katanga', 'lv' => 'Latvian', 'mg' => 'Malagasy', 'mh' => 'Marshallese', 'mi' => 'Maori', 'mk' => 'Macedonian', + 'ml' => 'Malayalam', 'mn' => 'Mongolian', - 'mo' => 'Moldovan', +// 'mo' => 'Moldavian', // deprecated + 'mr' => 'Marathi', 'ms' => 'Malay', 'mt' => 'Maltese', 'my' => 'Burmese', 'na' => 'Nauru', - 'nb' => 'Norwegian Bokmå', + 'nb' => 'Norwegian Bokmål', + 'nd' => 'North Ndebele', 'ne' => 'Nepali', - 'nl' => 'Dutch', + 'ng' => 'Ndonga', + 'nl' => array('Dutch', 'Flemish'), 'nn' => 'Norwegian Nynorsk', 'no' => 'Norwegian', - 'nr' => 'Ndebele', - 'ny' => 'Chichewa', + 'nr' => 'South Ndebele', + 'nv' => array('Navajo', 'Navaho'), + 'ny' => array('Chichewa', 'Chewa', 'Nyanja'), + 'oc' => array('Occitan', 'Provençal'), // Occitan (post 1500) + 'oj' => 'Ojibwa', + 'om' => 'Oromo', + 'or' => 'Oriya', + 'os' => array('Ossetian', 'Ossetic'), + 'pa' => array('Panjabi', 'Punjabi'), + 'pi' => 'Pali', 'pl' => 'Polish', - 'ps' => 'Pushto', + 'ps' => array('Pushto', 'Pashto'), 'pt' => 'Portuguese', 'qu' => 'Quechua', - 'rm' => 'Romanche', + 'rm' => 'Romansh', 'rn' => 'Rundi', - 'ro' => 'Romanian', + 'ro' => array('Romanian', 'Moldavian', 'Moldovan'), 'ru' => 'Russian', 'rw' => 'Kinyarwanda', + 'sa' => 'Sanskrit', + 'sc' => 'Sardinian', + 'sd' => 'Sindhi', 'se' => 'Northern Sami', 'sg' => 'Sango', - 'si' => 'Singhalese', +// 'sh' => 'Serbo-Croatian', // deprecated + 'si' => array('Sinhala', 'Sinhalese'), 'sk' => 'Slovak', 'sl' => 'Slovenian', 'sm' => 'Samoan', + 'sn' => 'Shona', 'so' => 'Somali', 'sq' => 'Albanian', 'sr' => 'Serbian', 'ss' => 'Swati', - 'st' => 'Sotho', + 'st' => 'Southern Soth', + 'su' => 'Sundanese', 'sv' => 'Swedish', 'sw' => 'Swahili', 'ta' => 'Tamil', + 'te' => 'Telugu', 'tg' => 'Tajik', 'th' => 'Thai', 'ti' => 'Tigrinya', 'tk' => 'Turkmen', 'tl' => 'Tagalog', 'tn' => 'Tswana', - 'to' => 'Tonga (Tonga Islands)', + 'to' => 'Tonga', // Tonga (Tonga Islands) 'tr' => 'Turkish', 'ts' => 'Tsonga', + 'tt' => 'Tatar', + 'tw' => 'Twi', + 'ty' => 'Tahitian', + 'ug' => array('Uighur', 'Uyghur'), 'uk' => 'Ukrainian', 'ur' => 'Urdu', 'uz' => 'Uzbek', 've' => 'Venda', 'vi' => 'Vietnamese', + 'vo' => 'Volapük', + 'wa' => 'Walloon', + 'wo' => 'Wolof', 'xh' => 'Xhosa', + 'yi' => 'Yiddish', + 'yo' => 'Yoruba', + 'za' => array('Zhuang', 'Chuang'), 'zh' => 'Chinese', 'zu' => 'Zulu', - - // not officially assigned - 'ki' => 'Gilbertese', - 'me' => 'Montenegrin', - 'pw' => 'Palauan', - 'za' => 'Pedi', - 'sc' => 'Seselwa', - 'km' => 'Shikomor', - 'tl' => 'Tetum', - 'pg' => 'Tok Pisin', - 'tv' => 'Tuvaluan', ); } diff --git a/lang/be.php b/lang/be.php index b32cd879be..720ec40a5a 100644 --- a/lang/be.php +++ b/lang/be.php @@ -3,7 +3,7 @@ $translations = array( 'General_Locale' => 'be_BY.UTF-8', 'General_TranslatorName' => '<a href="http://www.fatcow.com">Fat Cow</a>', 'General_TranslatorEmail' => 'by.marcis@gmail.com', - 'General_EnglishLanguageName' => 'Belarussian', + 'General_EnglishLanguageName' => 'Belarusian', 'General_OriginalLanguageName' => 'Беларуская', 'General_HelloUser' => 'Прывітанне, %s!', 'General_OpenSourceWebAnalytics' => 'Open Source Web Analytics', diff --git a/lang/el.php b/lang/el.php index 112815b1af..3fb2cf72e9 100644 --- a/lang/el.php +++ b/lang/el.php @@ -3,7 +3,7 @@ $translations = array( 'General_Locale' => 'el_GR.UTF-8', 'General_TranslatorName' => 'Jim Black www.jblack.info, Γεώργιος Τέλλος OnSite.Net VoIP & IT Solutions, Παναγιώτης Παπάζογλου Δρ. Δασολόγος-Περιβαλλοντολόγος', 'General_TranslatorEmail' => 'jimaek@hotmail.com, info@onsite.net.gr, papaz_p@yahoo.com', - 'General_EnglishLanguageName' => 'Hellenic', + 'General_EnglishLanguageName' => 'Greek', 'General_OriginalLanguageName' => 'Ελληνικά', 'General_HelloUser' => 'Γεια σου, %s!', 'General_OpenSourceWebAnalytics' => 'Λογισμικό Ανάλυσης Ιστοσελίδων', diff --git a/plugins/LanguagesManager/tests/LanguagesManager.test.php b/plugins/LanguagesManager/tests/LanguagesManager.test.php index e6b4b58b49..2c3ddd4590 100644 --- a/plugins/LanguagesManager/tests/LanguagesManager.test.php +++ b/plugins/LanguagesManager/tests/LanguagesManager.test.php @@ -115,5 +115,49 @@ class Test_Languages_Manager extends UnitTestCase { $this->assertFalse(Piwik_LanguagesManager_API::getInstance()->getTranslationsForLanguage("../no-language")); } -} + // test English short name for language + function test_getLanguageNamesInEnglish() + { + require_once PIWIK_INCLUDE_PATH . '/core/DataFiles/Languages.php'; + + $languages = Piwik_LanguagesManager_API::getInstance()->getAvailableLanguages(); + foreach($languages as $language) + { + require PIWIK_INCLUDE_PATH . "/lang/$language.php"; + $name = $translations['General_EnglishLanguageName']; + + if($language != 'en') + { + $this->assertFalse($name == 'English'); + } + + $languageCode = substr($language, 0, 2); + $this->assertTrue(isset($GLOBALS['Piwik_LanguageList'][$languageCode])); + $names = $GLOBALS['Piwik_LanguageList'][$languageCode]; + + if(isset($GLOBALS['Piwik_LanguageList'][$language])) + { + if(is_array($names)) + { + $this->assertTrue(in_array($name, $names)); + } + else + { + $this->assertTrue($name == $names); + } + } + else + { + if(is_array($names)) + { + $this->fail("There are \"official\" language names to choose from for $languageCode, e.g., ". implode(', ', $names)); + } + else + { + $this->assertTrue(strpos($name, $names) !== false); + } + } + } + } +} |