翻译算法

时间:2009-10-18 04:52:21

标签: php algorithm workflow translation

最近,我正致力于将PHP Web应用程序从一种语言翻译成另一种语言。好吧,我阅读的大部分内容涉及语言文件,然后显示所选的一个:

en.lang.php

<?php

$_TEXT = array();
$_TEXT['welcome'] = 'Welcome to My Application';

?>

fr.lang.php ://法语(我用Google = x翻译)

<?php

$_TEXT = array();
$_TEXT['welcome'] = 'Bienvenue sur mon application Web';

?>

我想问一下,有没有比这更好的工作流程或算法?因为价值可能会插入到文本中等等 - 非常毛茸茸的情况。任何帮助谢谢!

另请注意:此应用程序必须跨平台工作(或者我应该说与平台无关),因此不需要基于PHP 4.4.2的其他扩展。

4 个答案:

答案 0 :(得分:3)

我建议使用gettext,它会让你的生活更加简单......

  

gettext函数实现了NLS   (Native Language Support)API   可以用来国际化你的   PHP应用程序。请看看   系统的gettext文档   对这些进行彻底的解释   功能或查看文档»   http://www.gnu.org/software/gettext/manual/gettext.html

答案 1 :(得分:0)

Checkout PHP的gettext:http://www.php.net/manual/en/intro.gettext.php

如果你想推出自己的简单解决方案,我定义一个函数,__($ native,$ var1,$ var2,...),它接受本机字符串并为你执行翻译+变量替换。 __(两个下划线)的实际实现将取决于您,但通常$ native是上面数组中的键,它使用sprintf替换。

答案 2 :(得分:0)

这实际上称为国际化或本地化。

如果您使用的是php,我建议您使用smarty。您可以使用Java执行相同的操作。而smarty有gettext插件。你实际上甚至不必弄乱gettext,你可以比这更容易 http://www.smarty.net/

或者您可以查看我看过的本地化软件包。

http://pear.php.net/packages.php?catpid=28

答案 3 :(得分:0)

gettext,正如SOers的几位同事所建议的那样,是一个很好的解决方案。这是not php specific,它很受欢迎,因此several tools to simplify translation可用。

最后但并非最不重要的一点是,将文本保留为源中的默认语言比使用文本的常量值更容易使用。