.arb本地化:我们能不能用json语言文件而不是.arb文件直接替换字符串中的一些正则表达式模式来获得动态字符串,以避免使用Flutter带来的这么多开销?这种直接替换和使用arb & Intl库的方法有什么限制吗?
"gd_morning": "Good Morning {name}",
AppLocalizations.of(context)
.get('gd_morning')
.replaceAll('{name}', 'My Name'),发布于 2020-12-23 04:28:45
是的这是可能的。试一试这个。
这假设您的json内容类似于"gd_morning": "Good Morning {0}"
String translate(String key, {List<dynamic> args}) {
if (null == _translatedStrings[key]) return "${locale.languageCode}[$key]";
_translatedKey = _translatedStrings[key];
if (null == args || args.isEmpty) return _translatedKey;
else {
for(int i = 0; i < args.length; ++i) _translatedKey = _translatedKey.replaceAll("{$i}", args[i]);
return _translatedKey;
}
}https://stackoverflow.com/questions/65415305
复制相似问题