PHP系统语言文件,怎么做呢?

时间:2013-11-27 08:54:05

标签: php translation

我目前有一个Web应用程序,根据用户为该语言选择的内容,选择要使用的正确语言文件。

此语言文件包含许多已定义的常量。这是一个片段:

define("SHOP_LBL_PRODUCTS", "Products");
define("SHOP_LBL_ABOUTUS", "About us");
define("SHOP_LBL_CONTACT", "Contact");

这可以按预期工作。虽然,如果我想为此创建一个UI,那么通过普通的html表单,您可以生成整个文件;我需要:

1) extract the name and values from the current file 
2) write a file with php code (and replace the current file)

我怎样才能做到以上两点?是可能还是纯粹的头痛?

还有其他办法吗?我这样做,因为翻译者不应该使用php文件和所有的define()调用。

2 个答案:

答案 0 :(得分:1)

当遇到类似问题时,我决定使用MySQL数据库使用不同的方法。这样,存储,查看和编辑语言文本变得非常简单。使用标准方法可以轻松完成更改和添加。 您的表格设计可能如下所示:

表1:'text_label'

text_id | text_label

表2-n:'language_en'

text_id | content

使用JOIN查询,您可以根据text_label轻松获取所需内容。

对于acces,您可以使用静态函数,并且脚本中的包含可能如下所示:

<?php echo Translater::get('Sample_text', 'en'); ?>

我知道,这与你质疑的档案理念不同,我只是想把它作为一个想法或想法。

答案 1 :(得分:0)

为什么不使用与Symfony2翻译系统类似的东西?

http://symfony.com/doc/current/book/translation.html

恕我直言,YAML文件是翻译文件的最佳选择。