【问题标题】:Best way to store locale-translations for an webapp (with offline mode)?为 Web 应用程序存储语言环境翻译的最佳方式(使用离线模式)?
【发布时间】:2021-03-07 04:38:58
【问题描述】:

WebApp 堆栈: Nuxt.js 与 @nuxtjs/i18n、Express、Mongoose/MongoDB

考虑到 webapp 需要在离线模式下工作,因此它需要下载内容和翻译,或者将它们放在 app-package 中并为不同的语言制作包。

通用语料库的翻译存储在/lang/<lang_code>.json

但我应该如何存储内容的翻译?

我正在考虑的选项:

  • 将它们存储在数据库中每个/post{ title: { en-US: "Title", es-ES: "Titulo"} 内的帖子数据中。
  • 将它们存储在/lang/post/category/<slug|id>.json
  • 创建单独的数据库并执行/api/es/post(可能不是一个好主意)

【问题讨论】:

  • 翻译已经本地没有了?
  • 是的,一般翻译(如页眉、页脚组件、报告、关于、联系页面等)是本地的!
  • 为什么在构建期间不获取它们?我没有看到实际的问题,你不能让它们都是静态的吗?
  • 那么选项二就够了吗?

标签: mongodb express mongoose internationalization nuxt.js


【解决方案1】:

您可以将您的全部译文放在一个文件中,每种语言。当然,您可以进一步拆分它,但在构建后让它保持静态完全没问题,应该足够好。而且,如果您需要在线解决方案,它仍然是最简单有效的解决方案。

您也可以尽可能多地嵌套它。这取决于您的需要,但拥有 3k 行翻译就可以了。只需要一些漂亮而有组织的结构。

i18n-ally 是一个出色的 VScode 扩展,可以帮助您完成 i18n 工作流程。 :)

【讨论】:

  • 谢谢,我想我可能会像你说的那样在本地拥有它们,如果其他人有其他反馈/提示/技巧,我会等待。对于一般用途的翻译(GUI),我有像你这样的 lang json 文件:)
猜你喜欢
  • 1970-01-01
  • 2014-06-04
  • 2019-07-28
  • 1970-01-01
  • 2016-06-17
  • 2011-05-17
  • 1970-01-01
  • 2011-09-02
  • 1970-01-01
相关资源
最近更新 更多