mirror of
https://github.com/immich-app/immich.git
synced 2025-01-06 03:46:47 +01:00
82aeb3292a
* feat(mobile): select locale in the mobile app * add additional locale * use the same locale variable across the app * using different data structure * drop down with button * update pull locales * open app ios * remove dependency * format fix
31 lines
1.1 KiB
Dart
31 lines
1.1 KiB
Dart
// ignore_for_file: implementation_imports
|
|
|
|
import 'package:flutter/foundation.dart';
|
|
import 'package:easy_localization/src/asset_loader.dart';
|
|
import 'package:easy_localization/src/easy_localization_controller.dart';
|
|
import 'package:easy_localization/src/localization.dart';
|
|
import 'package:immich_mobile/constants/locales.dart';
|
|
|
|
/// Workaround to manually load translations in another Isolate
|
|
Future<bool> loadTranslations() async {
|
|
await EasyLocalizationController.initEasyLocation();
|
|
|
|
final controller = EasyLocalizationController(
|
|
supportedLocales: locales.values.toList(),
|
|
useFallbackTranslations: true,
|
|
saveLocale: true,
|
|
assetLoader: const RootBundleAssetLoader(),
|
|
path: translationsPath,
|
|
useOnlyLangCode: false,
|
|
onLoadError: (e) => debugPrint(e.toString()),
|
|
fallbackLocale: locales.values.first,
|
|
);
|
|
|
|
await controller.loadTranslations();
|
|
|
|
return Localization.load(
|
|
controller.locale,
|
|
translations: controller.translations,
|
|
fallbackTranslations: controller.fallbackTranslations,
|
|
);
|
|
}
|