FLUTTER:多屏应用程序的本地化

时间:2018-08-01 10:11:22

标签: android localization flutter intl

我正在使用Flutter在Android上创建多屏应用。 我正在使用intl对其进行本地化,但是我不明白如何继续创建arb文件。我应该运行以下逗号吗  flutter pub pub run intl_translation:extract_to_arb --output-dir=lib\l10n lib\main.dart 我的应用程序的每个“页面/活动/片段”命令?

3 个答案:

答案 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
  1. 为int_messages_.arb格式的每种语言生成arb格式的翻译文件
  2. 为翻译生成.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

结果看起来像这样:

In-App Localization

答案 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文件),便会自动生成样板代码。

希望有帮助!