Tah*_*Ali 19 localization internationalization flutter flutter-dependencies flutter-packages
我正在创建一个 Flutter 包,其中包含一些文本。我希望我的包的消费者应用程序将区域设置传递给它,根据该区域设置,我的包应该决定是否以“阿拉伯语”或“英语”显示此文本(这意味着我的包将具有包含这些字符串的资源文件语言环境)。我怎样才能实现这个目标?
我能够实现的唯一一件事是我的消费者应用程序具有资源文件,并且我的消费者应用程序和包都必须将相同的本地化插件注册为依赖项。我不希望我的消费者应用程序担心本地化,而是我的包应该处理基于区域设置的翻译字符串的显示。我的做法有什么问题吗?
小智 -3
为了在包内生成本地化文件:
# Where to find translation files
arb-dir: lib/l10n
# Which translation is the default/template
template-arb-file: app_en.arb
# What to call generated dart files
output-localization-file: app_localizations.dart
Run Code Online (Sandbox Code Playgroud)
dependencies:
flutter_localizations:
sdk: flutter
intl: ^0.17.0
flutter:
uses-material-design: true
generate: true
Run Code Online (Sandbox Code Playgroud)
MaterialApp(
localizationsDelegates: AppLocalizations.localizationsDelegates,
supportedLocales: AppLocalizations.supportedLocales,
),
Run Code Online (Sandbox Code Playgroud)
Text(AppLocalizations.of(context)!.helloWorld)
Run Code Online (Sandbox Code Playgroud)
注意:基本上使用自定义 MaterialApp 在包根文件夹内的官方文档中执行几乎相同的步骤 https://docs.flutter.dev/development/accessibility-and-localization/internationalization
| 归档时间: |
|
| 查看次数: |
3469 次 |
| 最近记录: |