l10n_extensions.dart
653 Bytes
import 'package:flutter/widgets.dart';
import 'package:get/get.dart';
import 'gen/app_localizations.dart';
import 'gen/app_localizations_zh.dart';
export 'gen/app_localizations.dart';
/// 在 Widget build() 中通过 context 访问:context.l10n.appName
extension AppLocalizationsX on BuildContext {
AppLocalizations get l10n =>
AppLocalizations.of(this) ?? AppLocalizationsZh();
}
/// 在 Controller / 无 context 场景中全局访问:l10n.appName
AppLocalizations get l10n {
final context = Get.context;
final localizations = context != null ? AppLocalizations.of(context) : null;
return localizations ?? AppLocalizationsZh();
}