1

我正在尝试将国际化功能添加到我的数据库中。如果我需要复制所有可翻译字段,那么维护模式 graphql 将非常困难

type Quest {
    name @i18n  # simple
} 

type Quest {
    nameEn
    nameJa
    nameFr
    ...  # omg
}

我面临的问题是字段指令仅在查询期间执行(或者,一旦突变完成,返回结果)。

我看不出我怎么能用解析器做类似的事情。对于任何可能的突变,我想检查是否有任何字段具有该@i18n指令,并执行它(以便它从上下文中获取我用户的语言区域设置并使用区域设置作为后缀修改该字段。

换句话说,我想做一个指令来修改字段的键,而不是它的值。

你将如何做到这一点?

我的问题是特意提出的,但如果有特定于平台的解决方案,我将在 API 级别使用带有 Neo4j 的 GRANDstack 和带有 Apollo 服务器的 neo4j-graphql-js。

编辑:问另一个问题,通过在构建时修改架构来解决我的问题的不同方法。

4

0 回答 0