mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
feat(i18n): add Hungarian translation (hu) (#1236)
Integrate the community-contributed Hungarian translation by Tibor Hermann (@htibcsike) as the 19th locale: - add apps/web/src/assets/i18n/hu.json (1,142 of 1,175 keys translated; 32 keys added after the contribution fall back to English, plus the new LANGUAGES.HUNGARIAN endonym) - register HUNGARIAN = 'hu' in the Language enum, SUPPORTED_LANGS, Angular date locale registration, and the TMDB language map (hu-HU) - add LANGUAGES.HUNGARIAN = "Magyar" to en.json and all other locales via tools/i18n/fill-missing.mjs - update README.md and CLAUDE.md language counts to 19 Closes #1192, refs #1140. Co-authored-by: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
0ee73f2d0f
commit
b94f40dc74
25 files changed
+1372
-20
No files matched your search
@@ -835,7 +835,7 @@ engine` (restart required) or
|
||||
|
||||
**Internationalization**:
|
||||
|
||||
- Uses `@ngx-translate` with 18 language files in `apps/web/src/assets/i18n/`
|
||||
- Uses `@ngx-translate` with 19 language files in `apps/web/src/assets/i18n/`
|
||||
|
||||
## Development Notes
|
||||
|
||||
|
||||
@@ -67,7 +67,7 @@ The application is a cross-platform, open-source project built with Electron and
|
||||
- Cross-platform desktop (Electron) and installable PWA
|
||||
- Desktop auto-updater and mobile remote control _(desktop)_
|
||||
- Docker self-hosting for the PWA + web backend
|
||||
- 18 languages ([translation files](apps/web/src/assets/i18n/)), light & dark themes, and keyboard shortcuts
|
||||
- 19 languages ([translation files](apps/web/src/assets/i18n/)), light & dark themes, and keyboard shortcuts
|
||||
|
||||
## Keyboard shortcuts
|
||||
|
||||
|
||||
@@ -6,6 +6,7 @@ import localeDe from '@angular/common/locales/de';
|
||||
import localeEl from '@angular/common/locales/el';
|
||||
import localeEs from '@angular/common/locales/es';
|
||||
import localeFr from '@angular/common/locales/fr';
|
||||
import localeHu from '@angular/common/locales/hu';
|
||||
import localeIt from '@angular/common/locales/it';
|
||||
import localeJa from '@angular/common/locales/ja';
|
||||
import localeKo from '@angular/common/locales/ko';
|
||||
@@ -31,6 +32,7 @@ export function registerAppDateLocales(): void {
|
||||
registerLocaleData(localeEl, 'el');
|
||||
registerLocaleData(localeEs, 'es');
|
||||
registerLocaleData(localeFr, 'fr');
|
||||
registerLocaleData(localeHu, 'hu');
|
||||
registerLocaleData(localeIt, 'it');
|
||||
registerLocaleData(localeJa, 'ja');
|
||||
registerLocaleData(localeKo, 'ko');
|
||||
|
||||
@@ -67,6 +67,7 @@ const SUPPORTED_LANGS = new Set([
|
||||
'en',
|
||||
'es',
|
||||
'fr',
|
||||
'hu',
|
||||
'it',
|
||||
'ja',
|
||||
'ko',
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "نعم",
|
||||
"NO": "لا",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "آه",
|
||||
"NO": "لا",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Так",
|
||||
"NO": "Не",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Ja",
|
||||
"NO": "Nein",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Ναι",
|
||||
"NO": "Όχι",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Yes",
|
||||
"NO": "No",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Sí",
|
||||
"NO": "No",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Oui",
|
||||
"NO": "Non",
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Sì",
|
||||
"NO": "No",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "はい",
|
||||
"NO": "いいえ",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Yes",
|
||||
"NO": "No",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Ja",
|
||||
"NO": "Nee",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Tak",
|
||||
"NO": "Nie",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Sim",
|
||||
"NO": "Não",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Да",
|
||||
"NO": "Нет",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "Evet",
|
||||
"NO": "Hayır",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "是",
|
||||
"NO": "否",
|
||||
|
||||
@@ -755,7 +755,8 @@
|
||||
"BELARUSIAN": "Беларуская",
|
||||
"POLISH": "Polski",
|
||||
"PORTUGUESE": "Português",
|
||||
"GREEK": "Ελληνικά"
|
||||
"GREEK": "Ελληνικά",
|
||||
"HUNGARIAN": "Magyar"
|
||||
},
|
||||
"YES": "是",
|
||||
"NO": "否",
|
||||
|
||||
@@ -49,6 +49,7 @@ const TMDB_LANGUAGE_MAP: Record<Language, string> = {
|
||||
[Language.POLISH]: 'pl-PL',
|
||||
[Language.PORTUGUESE]: 'pt-PT',
|
||||
[Language.GREEK]: 'el-GR',
|
||||
[Language.HUNGARIAN]: 'hu-HU',
|
||||
};
|
||||
|
||||
export function toTmdbLanguage(
|
||||
|
||||
@@ -20,4 +20,5 @@ export enum Language {
|
||||
POLISH = 'pl',
|
||||
PORTUGUESE = 'pt',
|
||||
GREEK = 'el',
|
||||
HUNGARIAN = 'hu',
|
||||
}
|
||||
Reference in new issue
Block a user