Files
Homarr/src/tools/language.ts

138 lines
2.7 KiB
TypeScript
Raw Normal View History

2022-08-24 17:58:14 +02:00
export class Language {
shortName: string;
originalName: string;
translatedName: string;
2022-09-02 15:22:10 +02:00
emoji: string;
2022-08-24 17:58:14 +02:00
2022-09-02 15:22:10 +02:00
constructor(shortName: string, originalName: string, translatedName: string, emoji: string) {
2022-08-24 17:58:14 +02:00
this.shortName = shortName;
this.originalName = originalName;
this.translatedName = translatedName;
2022-09-02 15:22:10 +02:00
this.emoji = emoji;
2022-08-24 17:58:14 +02:00
}
}
2022-09-02 15:22:10 +02:00
export const languages: Language[] = [
2022-08-24 17:58:14 +02:00
{
shortName: 'de',
originalName: 'Deutsch',
translatedName: 'German',
2022-09-02 15:22:10 +02:00
emoji: '🇩🇪',
2022-08-24 17:58:14 +02:00
},
{
shortName: 'en',
originalName: 'English',
translatedName: 'English',
2022-09-02 15:22:10 +02:00
emoji: '🇬🇧',
2022-08-24 17:58:14 +02:00
},
2022-10-24 20:16:11 +09:00
// Danish
{
shortName: 'da',
originalName: 'Dansk',
translatedName: 'Danish',
emoji: '🇩🇰',
},
// Hebrew
{
shortName: 'he',
originalName: 'עברית',
translatedName: 'Hebrew',
emoji: '🇮🇱',
},
{
shortName: 'es',
originalName: 'Español',
translatedName: 'Spanish',
2022-09-02 15:22:10 +02:00
emoji: '🇪🇸',
},
{
shortName: 'fr',
originalName: 'Français',
translatedName: 'French',
2022-09-02 15:22:10 +02:00
emoji: '🇫🇷',
},
{
shortName: 'it',
originalName: 'Italiano',
translatedName: 'Italian',
2022-09-02 15:22:10 +02:00
emoji: '🇮🇹',
},
{
shortName: 'ja',
originalName: '日本語',
translatedName: 'Japanese',
2022-09-02 15:22:10 +02:00
emoji: '🇯🇵',
},
{
shortName: 'ko',
originalName: '한국어',
translatedName: 'Korean',
emoji: '🇰🇷',
},
{
shortName: 'lol',
originalName: 'LOLCAT',
translatedName: 'LOLCAT',
emoji: '🐱',
},
{
shortName: 'nl',
originalName: 'Nederlands',
translatedName: 'Dutch',
2022-09-02 15:22:10 +02:00
emoji: '🇳🇱',
},
{
shortName: 'pl',
originalName: 'Polski',
translatedName: 'Polish',
emoji: '🇵🇱',
},
{
shortName: 'pt',
originalName: 'Português',
translatedName: 'Portuguese',
emoji: '🇵🇹',
},
{
shortName: 'ru',
originalName: 'Русский',
translatedName: 'Russian',
2022-09-02 15:22:10 +02:00
emoji: '🇷🇺',
},
{
shortName: 'sl',
originalName: 'Slovenščina',
translatedName: 'Slovenian',
emoji: '🇸🇮',
},
{
shortName: 'sv',
originalName: 'Svenska',
translatedName: 'Swedish',
2022-09-02 15:22:10 +02:00
emoji: '🇸🇪',
},
{
shortName: 'uk',
originalName: 'Українська',
translatedName: 'Ukrainian',
emoji: '🇺🇦',
},
// Vietnamese
{
shortName: 'vi',
originalName: 'Tiếng Việt',
translatedName: 'Vietnamese',
emoji: '🇻🇳',
},
{
shortName: 'zh',
originalName: '中文',
translatedName: 'Chinese',
2022-09-02 15:22:10 +02:00
emoji: '🇨🇳',
},
2022-08-24 17:58:14 +02:00
];
export const getLanguageByCode = (code: string | null) =>
2022-08-28 16:28:17 +02:00
languages.find((language) => language.shortName === code) ?? languages[languages.length - 1];