问题描述
我正在制作一个使用 API 从数据库中获取数据的 Flutter 应用程序。客户希望我添加多语言支持,所以有没有一种方法可以更改整个应用程序的语言。此外,从数据库中获取的数据也需要进行转换。因此,如果数据在显示之前进行转换会更好。 谢谢。
解决方法
最好的方法是从后端获取翻译数据,因为与在移动端翻译文本相比,它会快得多。
有这个 translator 包,您可以使用它来转换从后端获取的数据。
但是,请注意,当您实现此功能时,您的应用会变慢,因为您将不得不等待两次 API 调用:
- 用于从后端获取数据
- 上传获取的数据,然后取回翻译
translator
软件包使用 Google Translator 将文本翻译成您想要的任何语言。
void main() async {
final translator = GoogleTranslator();
final input = "Здравствуйте. Ты в порядке?";
translator.translate(input,from: 'ru',to: 'en').then(print);
// prints Hello. Are you okay?
var translation = await translator.translate("Dart is very cool!",to: 'pl');
print(translation);
// prints Dart jest bardzo fajny!
print(await "example".translate(to: 'pt'));
// prints exemplo
}
包中提到的简单用例示例。