我遇到的一个项目具有以下结构的本地化
每种语言都有一个目录,其中有一个与目录+ '.arb‘扩展名相同的文件。
en/en.arb我无法找到解释此文件格式的文档。.arb文件中的示例内容
"FOO_123": "Your pending cost is {COST}",
"@FOO_123": {
"source_text": "Your pending cost is {COST}",
"placeholders": {
"COST": {
"example": "$123.45",
"description": "cost presented with currency symbol"
}
}我能找到的最接近的是这。
"FOO_124":“参考此{链接}”,"@FOO_124":{ "source_text":“参考此{链接}”,“占位符”:{“链接”:{“示例”:“百科全书”,“描述”:“链接到百科全书页面”}}
发布于 2019-01-20 20:36:55
发布于 2020-07-14 12:17:31
ARB代表应用资源束。
它实际上是一个用于本地化的类固醇上的JSON文件,具有.arb扩展。因为它是基于JSON的,所以它只定义了如何在键值对周围添加更多信息的标准化方法。
它用于网络和颤振应用程序的本地化。
注意,官方ARB规范是通用的,有时可能与本地化库实现不同。
对于其中包含锚标记的翻译,它同样取决于本地化库的实现。下面是一个颤振的例子。
ARB文件示例:
{
...
"commonLink": "link",
"@commonLink": {
"description": "Link desc."
},
"commonReferContent": "Refer to this ",
"@commonReferContent": {
"description": "Refer content desc."
}
...
}用法示例:
...
RichText(
text: TextSpan(children: [
TextSpan(
style: TextStyle(color: Colors.black),
text: S.of(context).commonReferContent,
),
TextSpan(
style: TextStyle(
color: Theme.of(context).primaryColor,
decoration: TextDecoration.underline),
text: S.of(context).commonLink,
recognizer: TapGestureRecognizer()
..onTap = handleReferLinkTap),
]),
),
...有关颤振中的ARB的更多细节,请查看这篇文章。
发布于 2022-12-04 12:34:12
只需要提到一件事,在普通的app_lang.arb颤振l10n实现描述中(@“yourKeyName”:{})是必需的,而不是可选的。另外,推荐的选项是使用来自.arb文件的颤振Intl本地化绑定和官方Intl库。它本身也支持在没有上下文的情况下使用本地化。关于颤振i18n插件的更多细节是这里。
https://stackoverflow.com/questions/43082804
复制相似问题