116 lines
1.5 KiB
TypeScript
116 lines
1.5 KiB
TypeScript
|
// Copyright 2021 Signal Messenger, LLC
|
||
|
// SPDX-License-Identifier: AGPL-3.0-only
|
||
|
|
||
|
export type SupportLocaleType =
|
||
|
| 'ar'
|
||
|
| 'de'
|
||
|
| 'en-us'
|
||
|
| 'es'
|
||
|
| 'fr'
|
||
|
| 'it'
|
||
|
| 'ja'
|
||
|
| 'pl'
|
||
|
| 'pt-br'
|
||
|
| 'ru'
|
||
|
| 'sq'
|
||
|
| 'zh-tw';
|
||
|
|
||
|
export type ElectronLocaleType =
|
||
|
| 'af'
|
||
|
| 'ar'
|
||
|
| 'bg'
|
||
|
| 'bn'
|
||
|
| 'ca'
|
||
|
| 'cs'
|
||
|
| 'cy'
|
||
|
| 'da'
|
||
|
| 'de'
|
||
|
| 'el'
|
||
|
| 'en'
|
||
|
| 'eo'
|
||
|
| 'es'
|
||
|
| 'es_419'
|
||
|
| 'et'
|
||
|
| 'eu'
|
||
|
| 'fa'
|
||
|
| 'fi'
|
||
|
| 'fr'
|
||
|
| 'he'
|
||
|
| 'hi'
|
||
|
| 'hr'
|
||
|
| 'hu'
|
||
|
| 'id'
|
||
|
| 'it'
|
||
|
| 'ja'
|
||
|
| 'km'
|
||
|
| 'kn'
|
||
|
| 'ko'
|
||
|
| 'lt'
|
||
|
| 'mk'
|
||
|
| 'mr'
|
||
|
| 'ms'
|
||
|
| 'nb'
|
||
|
| 'nl'
|
||
|
| 'nn'
|
||
|
| 'no'
|
||
|
| 'pl'
|
||
|
| 'pt_BR'
|
||
|
| 'pt_PT'
|
||
|
| 'ro'
|
||
|
| 'ru'
|
||
|
| 'sk'
|
||
|
| 'sl'
|
||
|
| 'sq'
|
||
|
| 'sr'
|
||
|
| 'sv'
|
||
|
| 'sw'
|
||
|
| 'ta'
|
||
|
| 'te'
|
||
|
| 'th'
|
||
|
| 'tr'
|
||
|
| 'uk'
|
||
|
| 'ur'
|
||
|
| 'vi'
|
||
|
| 'zh_CN'
|
||
|
| 'zh_TW';
|
||
|
|
||
|
export function mapToSupportLocale(
|
||
|
ourLocale: ElectronLocaleType
|
||
|
): SupportLocaleType {
|
||
|
if (ourLocale === 'ar') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'de') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'es') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'fr') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'it') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'ja') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'pl') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'pt_BR') {
|
||
|
return 'pt-br';
|
||
|
}
|
||
|
if (ourLocale === 'ru') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'sq') {
|
||
|
return ourLocale;
|
||
|
}
|
||
|
if (ourLocale === 'zh_TW') {
|
||
|
return 'zh-tw';
|
||
|
}
|
||
|
|
||
|
return 'en-us';
|
||
|
}
|