颤动本地化中的语言结构问题?
Language structure problem in localization for flutter?
我在 flutter 中使用本地化。
这是英语文本:placed for $date
这是翻译后的文字:$date का लागि राखिएको
如您所见,文本中有一个变量(日期),由于两种语言的语法结构不同,变量必须放在不同的位置。
AppLocalizations.of(context).placed_for + date.toString()
// The usual way of doing this does not work due to different placing of the date variable.
我该如何处理这种情况?我必须编写自定义逻辑还是已经有办法处理这种情况。
我不习惯使用 AppLocalizations 本身,但它的工作方式似乎与 intl 相同。
如果是这样,只需编辑您的 arb 文件以接收所需的参数:
"placed_for": "placed for {date}",
"placed_for": "{date} का लागि राखिएको",
那么您应该可以通过以下方式使用它:
AppLocalizations.of(context).placed_for(date.toString())
编辑:
您还需要将占位符定义添加到您的套利模板中。示例:
{
"helloWorld": "Hello {name}!",
"@helloWorld": {
"description": "The conventional newborn programmer greeting",
"placeholders": {
"name": {}
}
}
}
然后,在添加 placeholders
之后,您可以使用生成的字符串:
AppLocalizations.of(context).helloWorld('Leandro'),
PS。您还可以添加多个占位符
我在 flutter 中使用本地化。
这是英语文本:placed for $date
这是翻译后的文字:$date का लागि राखिएको
如您所见,文本中有一个变量(日期),由于两种语言的语法结构不同,变量必须放在不同的位置。
AppLocalizations.of(context).placed_for + date.toString()
// The usual way of doing this does not work due to different placing of the date variable.
我该如何处理这种情况?我必须编写自定义逻辑还是已经有办法处理这种情况。
我不习惯使用 AppLocalizations 本身,但它的工作方式似乎与 intl 相同。
如果是这样,只需编辑您的 arb 文件以接收所需的参数:
"placed_for": "placed for {date}",
"placed_for": "{date} का लागि राखिएको",
那么您应该可以通过以下方式使用它:
AppLocalizations.of(context).placed_for(date.toString())
编辑:
您还需要将占位符定义添加到您的套利模板中。示例:
{
"helloWorld": "Hello {name}!",
"@helloWorld": {
"description": "The conventional newborn programmer greeting",
"placeholders": {
"name": {}
}
}
}
然后,在添加 placeholders
之后,您可以使用生成的字符串:
AppLocalizations.of(context).helloWorld('Leandro'),
PS。您还可以添加多个占位符