使用React Native和django modeltranslation更改语言
我想在移动应用程序中添加更改语言的选项。我在后端使用django,在移动端使用RN。因此,我安装了django modeltranslation,并添加了我想要翻译的模型。在手机上,我显示可用的语言。当用户单击特定语言时,我希望获得翻译后的数据。我有一个巨大的问题,就是如何创造逻辑。我不是在问代码,只是一些提示和想法 编辑:使用React Native和django modeltranslation更改语言,django,react-native,django-rest-framework,Django,React Native,Django Rest Framework,我想在移动应用程序中添加更改语言的选项。我在后端使用django,在移动端使用RN。因此,我安装了django modeltranslation,并添加了我想要翻译的模型。在手机上,我显示可用的语言。当用户单击特定语言时,我希望获得翻译后的数据。我有一个巨大的问题,就是如何创造逻辑。我不是在问代码,只是一些提示和想法 编辑: 例如:我在我的模型中添加了来自django modeltranslation的翻译(即带有字段标题、描述等的GameTask)。在我的settings.py中,我声明了语言
例如:我在我的模型中添加了来自
django modeltranslation
的翻译(即带有字段标题、描述等的GameTask)。在我的settings.py
中,我声明了语言('en'、'de'、'uk'等),并在数据库中添加了翻译(对于游戏任务的每个字段,我都添加了标题(en)、标题(de)等)。当我在settings.py
中更改语言时,手机上的值也在更改(以便按预期工作)。所以我不在应用程序文件中存储任何翻译文本,只在数据库中存储(静态错误和信息除外)。现在,我只想用所选语言从手机发送信息,并在后端激活此语言以返回特定语言的内容如果您想让应用程序完全使用多种语言,您需要两件事
- 应用程序的翻译系统
- api的翻译系统
由于您没有在react native端存储任何文本,因此只需添加一个选择器(本机选择器)并将所选语言键(在您的情况下为en、de、uk等)存储在数据库中,如
react native async storage
。当您使用react native发出api请求时,请包含包含所选语言键的附加标头或post数据。您可以在django后端中获取并使用该键。我在我的answer@Frendom我还编辑了我的答案