在json文件中,我有一些字段包含带有语言环境和翻译文本的字典列表:
description_localized: [
{
locale: "en-UK",
value: "Read along"
},
{
locale: "de-DE",
value: "Lesen und"
},
{
locale: "fr-FR",
value: "Lis avec"
},
]
还有其他字段,值键中有两个键:
path_localized: [
{
locale: "de-DE",
value: "{"identifier"=>"", "value"=>"http://path_6987.path"}"
},
{
locale: "es-ES",
value: "{"identifier"=>"", "value"=>"http://path_4685.path"}"
},
我已经创建了一个抓取这些字段的模式,但是在Graphql上我不需要拉动整个字典,而是需要能够进行查询,我只指定我想要的语言区域(例如fr-FR)这只会获取该语言的翻译值(fr-FR)。我不想获得所有本地化语言的数组,因为这将非常繁琐,并且每个查询加载时间会更长。
有没有人对如何做到这一点有任何想法?也许通过一个解析器,我将语言作为参数传递?但语言定义在哪里?我可能需要清理它,但我们有各种各样的语言环境定义:en_UK,en-UK,UK,en_UK_CO ...另外,如果找不到查询语言,我该如何定义回退?
任何指导都将不胜感激。
谢谢!
答案 0 :(得分:0)
你在做什么筹码,Node.js?如果是这样,您可以在此处找到本地化示例:https://github.com/kriasoft/nodejs-api-starter ..使用" i18next"模块检测用户的语言,回退到默认语言等,然后你可以通过" lng" string作为一个上下文变量,并在你的" resolve()"中使用它。方法。请参阅src/app.js
,src/Context.js
。