php - 如何开发一个易于本地化的webapp系统?

标签 php web-applications localization

我正在构建一些网络应用程序,我正在考虑为其添加一些本地化,以便人们可以轻松地在语言之间切换,也许在未来 - 能够为应用程序添加自己的本地化,例如 Facebook 的语言或用户声音。

我知道我应该有一个模板,例如:

<element>[string1]</element>

基本上,[string1] 将被替换为正确的字符串,但是我应该将它存储在哪里?数据库?静态文件?每次从数据库获取字符串数据不是“昂贵”吗?我该如何处理它?使用输出缓冲区,或者是否有一些我不知道的更好的方法。

如果有人能指导我正确的思维方式,我将不胜感激。

最佳答案

有许多可用的开源翻译套件系统可以让您更好地理解该做和不该做的事情(例如 pottlepoeditvirtaal )。

如果您决定走自己的路 - 我建议将所有翻译键和值存储在数据库中。当涉及到编辑、搜索、获取缺失的翻译等时,您会变得更好。

您可以每 24 小时或在每次新/编辑翻译后生成完整的翻译列表,然后将其以 JSON 或 PHP 序列化格式存储在静态文件中。这将使您免于 MYSQL 选择。

我建议的另一件事是选择“ key + key 翻译”的格式。应在第一次调用时将 KEYS 插入数据库以获取翻译。这将导致您看到“缺少翻译”,这是使用第三方或您的网站访问者进行本地化翻译的好方法。

关于php - 如何开发一个易于本地化的webapp系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7713320/

相关文章:

php - mysql_fetch_array() 期望参数 1 为资源、给定的 bool 值和一个

php - 限制对我服务器上的 php 脚本的访问

angular - fs.existsSync 不是 Angular 和 Electron 应用程序中的函数错误

asp.net-mvc - ASP.NET MVC 资源文件的最佳实践

使用 sqlite db 进行 Android 应用本地化

php - Laravel 尝试将数据传递给 View 时 undefined variable

php - 从 php 模块读取文件失败,错误号 13

.net - 网页中的图表

asp.net - 如何在 Visual Studio 中的 Web 应用程序之间共享公共(public) Web 资源?

c# GetManifestResourceNames() 什么都不返回