我们有一个SaaS Web应用程序(多租户),用于创建在线文档(如wiki)。 现在我们只支持英语。我们想支持其他语言。我们设置了所有界面控件,但我们只需要弄清楚如何处理实际的用户内容。
似乎我们正在考虑分别存储每种语言的每个页面。 因此,如果他们用户创建了一个“如何重置密码”页面,并希望用英语,荷兰语和西班牙语,我们会在数据库中存储该页面的3个不同版本。
我会喜欢这方面的任何建议!!
答案 0 :(得分:0)
以我自己的经验为例 - 你有两个选择:
每种语言都是完全独立的
当用户想要翻译他们文档的内容时 - 他们只需启动一个新的,单独的完整版本的文档 - 并在他们去的时候翻译每个页面。您可以将现有文档复制为起点,但每种语言在任何情况下都是独立的。例如,这就是the docs for CakePHP are currently organized的方式。每种语言都是独立的,可以提供最大的灵活性。我的意思是灵活性,例如,一种语言的页面不会必须存在于所有其他语言中 - 或者具有相同的URL /名称。
这里的缺点是保持版本同步,或者知道翻译何时需要更新(对主语言版本的新更改)。
将翻译存储为原始
的版本或者,您可以将翻译存储为主/主语言的版本。 that is how we之前做过。它可以更容易地跟踪正在翻译的内容,但代价是灵活性。
这里的缺点是它可能过于僵化 - 添加特定语言的页面可能并不容易,用非主语言添加新页面也可能导致问题
这类似于“we would store 3 different version of that page in the database
”。
所提到的两种方法都非常有效,选择能解决问题最多的问题的方法:)
答案 1 :(得分:-1)
在多语言应用程序中处理文档的最佳方法是通过在您的应用程序中嵌入文档来避免它,而不是整个页面,就像句子一样。。
尽量使应用程序的使用尽可能简单直观,包括UI中的提示以及需要更多提供按语言分割的论坛的人。
现在,请确保每种语言至少有一个人会报告界面中的任何问题,因此您可以根据他们的输入改进文本或设计。