本文介绍了两种实现Flutter应用本地化的方法
https://flutter.io/docs/development/accessibility-and-localization/internationalization
一种是使用为l10n创建文件,另一种是简单直接。
我看到带有+--------------------------------------------------------+
| View1 |
+--------------------------------------------------------+
| # | Column1 | Column2 | ColumnX | ColumnX | ColumnX.. |
+----+---------+---------+---------+---------+-----------+
| 01 | 28 | 24 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
| 02 | 24 | 0 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
| 03 | 30 | 0 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
| 04 | 25 | 0 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
| 05 | 15 | 13 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
| 06 | 18 | 0 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
| 07 | 13 | 0 | value | value | ... |
+----+---------+---------+---------+---------+-----------+
依赖项的l10n有点复杂,并且为每个lang和2个终端命令创建文件令人沮丧。
如果需要添加新术语,则必须完成命令和文件的创建。
但是无论如何都可以。
一个比另一个更好吗?
答案 0 :(得分:0)
使用intl
包的变体使翻译https://translate.google.com/toolkit的使用变得容易。
如果您想对Web客户端使用相同的代码,则对于较小的下载大小,使用这种方法摇晃树会更好。我认为这在Flutter中并没有太大区别。
您提到的缺点是,它需要更多样板才能开始。
答案 1 :(得分:0)
使用Intl
软件包可以轻松地将代码与翻译后的内容(ARB文件)分开。
默认情况下,使用Intl
软件包进行本地化有点复杂,但是使用Flutter Intl IDE插件可以使它变得简单。在这种情况下,您只需将键值对添加到ARB文件中即可,并且在您的代码中可用。
对于某些概念验证项目,使用替代方法(代码中的映射)可能会很有用,因为您不必在意将其导出为翻译工具。