mat*_*ter 2 flutter flutter-getx
如果文本是这样的:
Text(
'Put something ${widget.profileA} might like'.tr,
),
Run Code Online (Sandbox Code Playgroud)
这是翻译示例的代码:
class Language extends Translations {
@override
Map<String, Map<String, String>> get keys => {
'en_US': {
'Put something ${widget.profileA} might like': 'some translation',
};
};
}
Run Code Online (Sandbox Code Playgroud)
${widget.profileA}我的问题是,既然文本中有一个参数,有没有一个好的解决方案可以用这个参数翻译整个句子?谢谢你!
Ivo*_*ers 12
GetX 的文档很好地解释了如何在此处执行此操作: https: //pub.dev/packages/get#internationalization
\n\n\n使用带参数的翻译
\nRun Code Online (Sandbox Code Playgroud)\n\n\nMap<String, Map<String, String>> get keys => {\n \'en_US\': {\n \'logged_in\': \'logged in as @name with email @email\',\n },\n \'es_ES\': {\n \'logged_in\': \'iniciado sesi\xc3\xb3n como @name con e-mail @email\',\n } };\n\nText(\'logged_in\'.trParams({ \n \'name\': \'Jhon\',\n \'email\':\'jhon@example.com\'\n}));\n
所以对于你的例子:
\nclass Language extends Translations {\n @override\n Map<String, Map<String, String>> get keys => {\n \'en_US\': {\n \'Put something @profile might like\': \'some translation with @profile\', \n };\n };\n}\nRun Code Online (Sandbox Code Playgroud)\n进而
\nText(\'Put something @profile might like\'.trParams({\n \'profile\': widget.profileA,\n}));\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
3109 次 |
| 最近记录: |