flutter - 我怎样才能给字符串翻译?
问题描述
我正在使用键-值转换S.of(context).translation_key
--但我需要类似"Translation string".translate()
或translate("Translation string")
我怎样才能做到这一点 ?
我正在使用本地化插件。Flutter 版本是最新的。
注意:我不是要求translate("key")
我是要求translate("Translate String")
我想给出一个值并获得当前的翻译值。
解决方案
我建议你用另一种方式来做:
String _localeCode = 'en';
你的方法:
String translate(String key) {
if (_localeCode == 'en') {
if (key == 'key1') return 'English translation for key1';
else if (key == 'key2') return 'English translation for key2';
} else if (_localeCode == 'es') {
if (key == 'key1') return 'Spanish translation for key1';
else if (key == 'key2') return 'Spanish translation for key2';
}
}
你会使用它:
void main() {
var translatedString = translate('key1');
}
为简单起见,我对这些东西进行了硬编码,但更好的解决方案是通过 json 文件加载密钥,这是一种更好的方法
推荐阅读
- python - 如何在 Python 中从 xml 字符串中获取节点值
- c - arm中mcontext_t的error_code的含义
- c++ - 在 Visual Studio 中将源文件推送到 bitbucket
- javascript - 如何停止运行 Jquery 函数?
- javascript - Webworker OffscreenCanvas 绘制常规图像
- javascript - Axios POST 请求在 localhost 上工作,但在 Netlify 上部署后不再工作
- javascript - 如何将 Array.prototype.some() 与异步函数一起使用?
- react-native - React-Native 中的必填字段
- jquery - 线性渐变动画进出
- python - 如何从任何目录运行 Python 模块