scratch-l10n/src/supported-locales.js

138 lines
3.8 KiB
JavaScript
Raw Normal View History

/**
* Currently supported locales for the Scratch Project
* @type {Object} Key Value pairs of locale code: Language name written in the language
*/
const locales = {
'ab': {name: 'Аҧсшәа'},
'af': {name: 'Afrikaans'},
2018-10-10 17:47:46 -04:00
'ar': {name: 'العربية'},
'am': {name: 'አማርኛ'},
'an': {name: 'Aragonés'},
2022-08-30 16:47:00 -04:00
'ast': {name: 'Asturianu'},
'az': {name: 'Azeri'},
'id': {name: 'Bahasa Indonesia'},
'bn': {name: 'বাংলা'},
'be': {name: 'Беларуская'},
'bg': {name: 'Български'},
'ca': {name: 'Català'},
'cs': {name: 'Česky'},
'cy': {name: 'Cymraeg'},
'da': {name: 'Dansk'},
'de': {name: 'Deutsch'},
'et': {name: 'Eesti'},
'el': {name: 'Ελληνικά'},
'en': {name: 'English'},
'es': {name: 'Español (España)'},
'es-419': {name: 'Español Latinoamericano'},
2022-09-01 11:04:00 -04:00
'eo': {name: 'Esperanto'},
'eu': {name: 'Euskara'},
2019-02-06 17:09:23 -05:00
'fa': {name: 'فارسی'},
'fr': {name: 'Français'},
'fy': {name: 'Frysk'},
'ga': {name: 'Gaeilge'},
'gd': {name: 'Gàidhlig'},
'gl': {name: 'Galego'},
'ko': {name: '한국어'},
2020-05-11 14:23:22 -04:00
'hy': {name: 'Հայերեն'},
'he': {name: 'עִבְרִית'},
2018-11-15 08:36:52 -05:00
'hr': {name: 'Hrvatski'},
'xh': {name: 'isiXhosa'},
'zu': {name: 'isiZulu'},
'is': {name: 'Íslenska'},
'it': {name: 'Italiano'},
'ka': {name: 'ქართული ენა'},
2021-06-11 14:40:15 -04:00
'kk': {name: 'қазақша'},
'qu': {name: 'Kichwa'},
'sw': {name: 'Kiswahili'},
'ht': {name: 'Kreyòl ayisyen'},
2020-03-24 15:24:44 -04:00
'ku': {name: 'Kurdî'},
2019-02-06 17:09:23 -05:00
'ckb': {name: 'کوردیی ناوەندی'},
'lv': {name: 'Latviešu'},
'lt': {name: 'Lietuvių'},
2018-12-20 13:29:45 -05:00
'hu': {name: 'Magyar'},
'mi': {name: 'Māori'},
2020-06-17 07:10:03 -04:00
'mn': {name: 'Монгол хэл'},
'nl': {name: 'Nederlands'},
'ja': {name: '日本語'},
'ja-Hira': {name: 'にほんご'},
'nb': {name: 'Norsk Bokmål'},
'nn': {name: 'Norsk Nynorsk'},
'or': {name: 'ଓଡ଼ିଆ'},
2019-05-08 16:01:46 -04:00
'uz': {name: 'Oʻzbekcha'},
'th': {name: 'ไทย'},
'km': {name: 'ភាសាខ្មែរ'},
'pl': {name: 'Polski'},
'pt': {name: 'Português'},
'pt-br': {name: 'Português Brasileiro'},
2019-05-08 16:01:46 -04:00
'rap': {name: 'Rapa Nui'},
2018-10-10 17:47:46 -04:00
'ro': {name: 'Română'},
'ru': {name: 'Русский'},
'nso': {name: 'Sepedi'},
'tn': {name: 'Setswana'},
'sk': {name: 'Slovenčina'},
'sl': {name: 'Slovenščina'},
'sr': {name: 'Српски'},
'fi': {name: 'Suomi'},
'sv': {name: 'Svenska'},
'vi': {name: 'Tiếng Việt'},
'tr': {name: 'Türkçe'},
2022-08-30 16:08:14 -04:00
'fil': {name: 'Wikang Filipino'},
'uk': {name: 'Українська'},
'zh-cn': {name: '简体中文'},
'zh-tw': {name: '繁體中文'}
};
const customLocales = {
'ab': {
locale: 'ab',
parentLocale: 'ru'
},
// Aragonese is not in the locale data, using es for Spain
'an': {
locale: 'an',
parentLocale: 'es'
},
// haitian creole is not in locale-langData
'ht': {
locale: 'ht',
parentLocale: 'fr'
},
2019-05-08 16:01:46 -04:00
'rap': {
locale: 'rap',
parentLocale: 'es'
},
// TODO: replace zh-cn, zh-tw with zh-Hans and zh-Hant then customLocales is unnecessary
'zh-cn': {
locale: 'zh-cn',
parentLocale: 'zh'
},
'zh-tw': {
locale: 'zh-tw',
parentLocale: 'zh'
}
};
const localeMap = {
'aa-dj': 'aa_DJ',
'es-419': 'es_419',
// ja-Hira: no map - it's 'ja-Hira' on transifex
'pt-br': 'pt_BR',
'zh-cn': 'zh_CN',
'zh-tw': 'zh_TW'
};
// list of RTL locales supported, and a function to check whether a locale is RTL
const rtlLocales = [
2018-10-10 17:47:46 -04:00
'ar',
2019-02-06 17:09:23 -05:00
'ckb',
'fa',
'he'
];
const isRtl = locale => {
return rtlLocales.indexOf(locale) !== -1;
};
export {locales as default, customLocales, localeMap, isRtl};