我正在使用Flutter在Android上创建多屏应用。
我正在使用intl对其进行本地化,但是我不明白如何继续创建arb文件。我应该运行以下逗号吗
flutter pub pub run intl_translation:extract_to_arb --output-dir=lib\l10n lib\main.dart
我的应用程序的每个“页面/活动/片段”命令?
答案 0 :(得分:0)
首先生成字符串文件: 1.将所有消息提取为arb文件格式,这是翻译的模板(您可以指定多个文件作为输入。
> flutter pub pub run intl_translation:extract_to_arb --output-dir=lib/l10n lib/first_file.dart lib/second_file.dart
为翻译生成.dart文件(为每个翻译指定一个输出):
flutter pub pub run intl_translation:generate_from_arb --output-dir = lib / l10n \ --no-use-deferred-loading lib / first_file.dart lib / second_file.dart lib / l10n / intl_messages_en.arb lib / l10n / intl_messages_.arb
答案 1 :(得分:0)
您是否要实施应用内本地化?即仅更改应用的语言环境,而不受手机的语言环境影响?然后,您可以参考以下博客:https://blog.geekyants.com/flutter-in-app-localization-438289682f0c
结果看起来像这样:
答案 2 :(得分:0)
要将intl消息通过intl_translation提取到.arb文件中,只需使用包含这些消息的文件的相对路径调用一次extract_to_arb
命令。
pub run intl_translation:extract_to_arb --output-dir=target/directory my_program.dart more_of_my_program.dart
翻译提取的消息后,您将需要通过generate_from_arb
命令生成.dart本地化文件。
很快,您会发现这变得很乏味,因此更好的解决方案是对VS Code使用Flutter Intl扩展名,对于Android Studio使用Flutter Intl插件。使用它们,您只需更新本地化文件(.arb文件),便会自动生成样板代码。
希望有帮助!