feat(i18n): add French and German translations

Full fr/de translations of the app (625 keys each), wired into the
Settings language picker and the small-screen overflow test. Material
ships fr/de localizations, so chrome resolves natively.
This commit is contained in:
vjrj 2026-07-13 17:45:39 +02:00
parent adf396d49d
commit b04d45c4b8
15 changed files with 5455 additions and 12 deletions

View file

@ -3,10 +3,10 @@
/// Source: lib/i18n
/// To regenerate, run: `dart run slang`
///
/// Locales: 4
/// Strings: 2236 (559 per locale)
/// Locales: 6
/// Strings: 3356 (559 per locale)
///
/// Built on 2026-07-13 at 15:47 UTC
/// Built on 2026-07-13 at 16:11 UTC
// coverage:ignore-file
// ignore_for_file: type=lint, unused_import
@ -19,7 +19,9 @@ import 'package:slang_flutter/slang_flutter.dart';
export 'package:slang_flutter/slang_flutter.dart';
import 'strings_ast.g.dart' as l_ast;
import 'strings_de.g.dart' as l_de;
import 'strings_es.g.dart' as l_es;
import 'strings_fr.g.dart' as l_fr;
import 'strings_pt.g.dart' as l_pt;
part 'strings_en.g.dart';
@ -32,7 +34,9 @@ part 'strings_en.g.dart';
enum AppLocale with BaseAppLocale<AppLocale, Translations> {
en(languageCode: 'en'),
ast(languageCode: 'ast'),
de(languageCode: 'de'),
es(languageCode: 'es'),
fr(languageCode: 'fr'),
pt(languageCode: 'pt');
const AppLocale({
@ -77,12 +81,24 @@ enum AppLocale with BaseAppLocale<AppLocale, Translations> {
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.de:
return l_de.TranslationsDe(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.es:
return l_es.TranslationsEs(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.fr:
return l_fr.TranslationsFr(
overrides: overrides,
cardinalResolver: cardinalResolver,
ordinalResolver: ordinalResolver,
);
case AppLocale.pt:
return l_pt.TranslationsPt(
overrides: overrides,