首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >wolkenkit:如何本地化

wolkenkit:如何本地化
EN

Stack Overflow用户
提问于 2018-12-27 07:08:57
回答 1查看 53关注 0票数 1

我存储的数据目前是用英语写的。因此,我计划将此内容本地化/可翻译,并希望将此选项提供给用户。

以下是我的用户故事:

(1)作为用户,我希望选择我的内容的首选语言(例如德语)。如果文本没有德语版本,请以备用语言(例如英语)提供内容。

(2)作为用户,我希望能够翻译给定的模型。

假设有以下情况:

1)一个模型,例如Message,有两个属性:titledescription。可以预期这两个属性是英语的(默认情况下)。

2)命令,例如translateMessage,它将接收带有titledescriptionlocale的有效载荷。

处理这些模型本地化的公认方法是什么?

EN

回答 1

Stack Overflow用户

发布于 2019-01-04 23:11:23

我想出了一个解决方案:

假设我们的Message将具有以下属性(在Typescript中):

代码语言:javascript
复制
{
  title: string;
  description: string;
}

我会使用translations对象来扩展它。其中的每个键都有一个区域设置,并且有一个带有翻译字符串的对象。

代码语言:javascript
复制
{
  title: string;
  description: string;
  translations: {
    [key: string]: {
      title: string;
      description: string;
    }
  }
}

readModel将与上面相同,由客户端决定显示哪些字符串。

命令translateMessage将接收如上所述的有效负载,并发布一个事件。readModel将以某种方式对该事件做出反应,即它将新的有效负载数据推送到该模型中的translations对象上。

对于模型创建,如果数据是以与默认语言环境不同的语言环境接收的,那么事件处理程序将把这些翻译后的字符串前缀加上它们所在的语言环境,放到根目录中,例如,model.title可以是类似[de] Nachrichtentitel的内容。模型将如下所示:

代码语言:javascript
复制
{
  title: '[de] Nachrichtentitel'
  description: '[de] Nachrichteninhalt'
  translations: {
    de: {
      title: 'Nachrichtentitel'
      description: 'Nachrichteninhalt'
    }
  }
}

你觉得这有什么问题吗?关于如何做到这一点,还有其他已经建立起来的最佳实践吗?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53938097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档