Flutter / l10n 带动态参数?

问题描述 投票:0回答:3
如何使用带有动态参数的l10n? 像这样。

AppLocalizations.of(context)!['dynamic_string']; => 尝试定义运算符“[]”。

但是该类是自动生成的,因此每次构建时都会覆盖该类。 谢谢,如果有人有解决方案。

祝你有美好的一天!

flutter dart localization internationalization
3个回答
1
投票
您可以通过在 .arb 文件中提供占位符来完成此操作,如下所示:

"weekTitle": "Week {weekNumber}", "@weekTitle": { "placeholders": { "weekNumber": { "type": "int" } } }
然后在你的代码中你可以这样调用它:

AppLocalizations.of(context).weekTitle(_calendarWeek)
    

0
投票
你不能。也不应该。随机值实际上存在于您的资源中的可能性有多大?

您始终可以根据程序中的决定进行分支:

isUsersFirstLogin ? AppLocalizations.of(context)!.Hello : AppLocalizations.of(context)!.HelloAgain


如果您绝对需要这种神奇地正确寻址随机动态资源的功能,这里描述了一种替代解决方案:

https://flutter.dev/docs/development/accessibility-and-localization/internationalization#alternative-internationalization-workflows


0
投票
背景:pubspec.yaml 中的依赖项如下

intl: 0.18.1 flutter_localizations: sdk: flutter
下面是一个颤振定位的示例

"page_myMovies_listings": "Movies {x} of {y}", "@page_myMovies_listings": { "placeholders": { "x": { "type": "num" }, "y": { "type": "num" } } }
下面是带参数翻译的用法

context.l10n.page_myMovies_listings(10, 100);
    
© www.soinside.com 2019 - 2024. All rights reserved.