您应该使用哪个中型网站(我不知道确切的页数,单词数等):
A)具有静态资源的PHP文件:
en.php
$lang_welcome = 'Welcome';
de.php
$lang_welcome = 'Willkommen';
B)包含翻译的MySQL表:
+------+-----------+---------+-------------+
| lang | path | term | translation |
+------+-----------+---------+-------------+
| en | index.php | welcome | Welcome |
+------+-----------+---------+-------------+
| de | index.php | welcome | Willkommen |
+------+-----------+---------+-------------+
| en | | cancel | Cancel |
+------+-----------+---------+-------------+
| de | | cancel | Abbrechen |
+------+-----------+---------+-------------+
(我现在能想到的唯一解决方案。)
C。)其他一些解决方案。
答案 0 :(得分:1)
数据库中的文本转换表通常是一个可怕的想法。
对于文件转换方法,存在多种变体。对于非常小的应用程序,助记符id->文本方法是可以的(通常是常量或文本数组)。但是,如果可行且可行,您应该更喜欢gettext。 (有仿真作为本机PHP脚本。)
数据文件通常采用以下形式:
"Welcome at" => "Willkommen bei",
制作更易读和可维护的代码,不依赖于缩写或缩短的数组索引/常量/变量名称:
print _("Welcome at");
答案 1 :(得分:0)
我认为php文件更标准。你的文字不会改变。 DB不是真正的最佳选择,因为它是只读数据。
答案 2 :(得分:0)
对静态内容使用Gettext,为动态内容使用数据库架构。
答案 3 :(得分:0)
我们使用包含文件名(主题/部分)和标识符
的密钥名称的平面php文件$lang['nav_home_link'] = 'Home';
然后是一个用语言代码
标记的文件夹结构language |
|
| - en
| | - nav.php
| - ja
| | - nav.php
当然,我们使用自己的工具来管理文件,并为我们支持的每种语言完成翻译。看看,也可能对你有用。