我目前正在构建在亚马逊云中运行的体系结构(一些web服务器w/php5.3,负载平衡,PostgreSQL)的应用程序。我的(PHP5)应用程序的一个主要特点是,所有内容(前端)必须可以翻译成各种语言,因此将会有很多字符串,它们由“标记”表示,必须被翻译。在云应用程序中存储翻译的位置?
我的问题是:你会在哪里存储这些翻译?
- 将翻译存储在本地(网络服务器)磁盘上的文件中?
- 将翻译文件存储在中央存储中?
- 将译文存储在数据库中?
- 其他地方?
附加信息:不管在哪里翻译将被存储 - 将有一些缓存(Redis,+模板缓存),所以文件/数据库将不会在每个呈现的页面上被查询。
上述每个解决方案都有优点和缺点,经过我们团队的大量讨论后,我们没有找到我们都很满意的解决方案。
我们的一些想法:
- 文件更易于维护(通过覆盖文件更新翻译)
- DB-表是更灵活(围绕打造翻译数据一个不错的转换接口)
- DB-Tables只存储一次;所以这比许多文件在云中的便宜,我认为(我们支付存储和数据传输)
- 集中存储的文件可能是一个瓶颈
那么,什么是你的oppinion?
问候, 罗伯特
你总是可以建立一个更新文件的界面。将文件存储在网络服务器(而不是EBS)上是否有任何费用?它可能有一个类似于代码部署的机制。 – Sukumar
这将有助于了解您的应用程序在何处以及如何存储未翻译的文本。它们是否是数据库中的动物内容(那么在那里存储翻译似乎也是合理的),还是存储在(源文件)文件中的静态内容,还是完全不同的东西? – BurninLeo
未翻译的文本存储在数据库和文件中。用于表格翻译的DB,用于模板的文件。因此,我们可以将我们的翻译存储在数据库或文件中,或两者兼而有之 - 我们团队中永无止境的讨论...... – S38