【问题标题】:Tackle Localization with Graphql使用 Graphql 解决本地化问题
【发布时间】:2017-08-23 01:39:03
【问题描述】:

在 json 文件中,我有一些字段,其中包含带有语言环境和翻译文本的字典列表:

description_localized: [
  {
      locale: "en-UK",
      value: "Read along"
   },
 {
       locale: "de-DE",
       value: "Lesen und"
   },
 {
        locale: "fr-FR",
        value: "Lis avec"
    },
]

还有其他字段,其中 value 键中有两个键:

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...另外,如果找不到查询的语言,我该如何定义回退?

任何指导将不胜感激。

谢谢!

【问题讨论】:

    标签: localization graphql


    【解决方案1】:

    Node.js,您正在处理什么堆栈?如果是这样,您可以在这里找到一个本地化示例:https://github.com/kriasoft/nodejs-api-starter ..它使用“i18next”模块来检测用户的语言、回退到默认语言等。然后您可以将“lng”字符串作为上下文变量传递并使用它内部你的“resolve()”方法。见src/app.jssrc/Context.js

    【讨论】:

    • 我正在使用 Python 和 Flask。
    猜你喜欢
    • 2018-05-20
    • 1970-01-01
    • 2021-12-10
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 2021-01-18
    • 2022-09-23
    相关资源
    最近更新 更多