feat(i18n): add Ukrainian language support (#10696)

## Summary
  - Add comprehensive Ukrainian language support to ZITADEL
  - Complete translation of all user-facing interfaces
  - Integration with existing language configuration system

  ## Changes Made
- ✅ **Console translations**: Complete Ukrainian translation for admin
console (2,861 translated strings)
- ✅ **Login interface**: Ukrainian translations for authentication flows
(535 strings)
- ✅ **Email notifications**: Ukrainian translations for system emails
(68 strings)
- ✅ **Common texts**: Ukrainian translations for success/error messages
(1,417 strings)
- ✅ **Language configuration**: Added Ukrainian to supported languages
and Angular locale registration
- ✅ **UI integration**: Added Ukrainian option to language selection
forms

  ## Translation Quality
  - Professional translations using established Ukrainian IT terminology
  - Formal language appropriate for business software
- Consistent terminology across all components (Users→Користувачі,
Organization→Організація, etc.)
  - Preserved all technical placeholders, HTML tags, and formatting

  ## Contributing Guidelines Compliance
  - ✅ Followed semantic commit message format
  - ✅ Added Ukrainian to all required configuration files
  - ✅ Maintained consistent file structure with existing languages
  - ✅ Used formal Ukrainian appropriate for business software

The Ukrainian translation is now ready for review by the ZITADEL team! 🚀

---------

Co-authored-by: Marco A. <[email protected]>
This commit is contained in:
Dmitry Prudnikov
2025-12-11 15:37:31 +01:00
committed by GitHub
co-authored by Marco A.
parent 3903355d18
commit 41cdc7805f
54 changed files with 6320 additions and 169 deletions
+3
View File
@@ -20,6 +20,7 @@ import localeHu from '@angular/common/locales/hu';
import localeKo from '@angular/common/locales/ko';
import localeRo from '@angular/common/locales/ro';
import localeTr from '@angular/common/locales/tr';
import localeUk from '@angular/common/locales/uk';
import { NgModule, inject, provideAppInitializer } from '@angular/core';
import { MatNativeDateModule } from '@angular/material/core';
import { MatDialogModule } from '@angular/material/dialog';
@@ -119,6 +120,8 @@ registerLocaleData(localeRo);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/ro.json'));
registerLocaleData(localeTr);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/tr.json'));
registerLocaleData(localeUk);
i18nIsoCountries.registerLocale(require('i18n-iso-countries/langs/uk.json'));
export class WebpackTranslateLoader implements TranslateLoader {
getTranslation(lang: string): Observable<any> {