我想添加选项到移动应用程序,以改变语言。我在后端使用django,RN作为移动工具。所以我安装了django-modeltranslation并添加了我想要翻译的模型。在手机上显示可用的语言。当用户单击特定语言时,我希望获得翻译后的数据。我有一个很大的问题要创造逻辑--如何去做。我问的不是代码,只是一些提示和想法
编辑:例如:我添加了从django-modeltranslation到我的模型的翻译(例如,带有字段标题、描述等的GameTask )。在我的settings.py中,我声明了语言('en‘、'de’、'uk‘等),并在数据库中添加了翻译(对于GameTask的每个字段,我都添加了title(en)、title(de)等)。当我在settings.py中更改语言时,手机上的值也在发生变化(按预期工作)。因此,我不会将任何翻译文本存储在app文件中,只存储在数据库中(除了静态错误和信息)。现在我只想用所选择的语言从手机上发送信息,并在后端激活该语言以返回特定语言的内容。
发布于 2021-03-13 13:25:30
如果您想要使您的应用程序完全多语言,您需要两件事。
首先,使用预构建的上下文api或创建自己的来支持在应用程序中更改语言。就像这样:20818/multi-language-text-with-react-native-react-context-b76d5677346d
当用户更改语言时,将语言名称或键存储在异步存储或其他数据库中。
根据所选语言改变反应-母语方面的文本。
当您进行api调用时,也发送所选语言。在api端获取所选语言,并根据语言返回适当的文本。
更新:
因为您没有在react-本机端存储任何文本,所以只需要添加一个选择器(反应-本地采摘者/采摘者是一个本机选择器),并将所选的语言键(在您的例子中是en、de、uk等)存储在像react-native-async-storage这样的数据库中。当您使用react本机发出api请求时,包括一个额外的头或post数据,其中包括选定的语言键。你可以在你的django后端得到并使用这个密钥。
https://stackoverflow.com/questions/66613887
复制相似问题