0

如何让用户选择将网站上的文本语言更改为 PHP 中预定义的短语?

这方面的一个例子是 facebook,将语言更改为英语(海盗)产生的不是翻译,而是检索在其他地方定义的许​​多不同的短语。

我希望通过在我的网站中添加海盗语言来做同样的事情,让用户可以选择自己更改它。

我能想到的最好的事情是每种语言的文件都充满了变量,然后在适用的地方调用这些变量,并且有某种在这些文件之间进行更改的方法。虽然这个想法看起来俗气且不切实际,但我想知道是否有人对我如何做到这一点有任何其他想法。

多谢!

4

1 回答 1

0

您的想法类似于我使用 CakePHP 的经历,其中包括使用 gettext 文件的国际化支持。ide非常简单。您可以使用转换器函数输出所有需要翻译的字符串。在 Cakephp 1.X 中它是 __() 。所以如果我想翻译一个字符串“hello world”,我会做

<?php 
__('hello world');

?>

知道应该翻译成哪种语言的诀窍在于设置会话语言或区域设置。在 Cakephp 中,它将“Config.language”设置为我希望翻译成的语言的简码(对于法语,我会将其设置为“fre”)。然后应用程序将在其语言环境文件夹中查找“fre”目录,从那里读取文件并查找“hello world”的字符串匹配并从那里获取其相应的翻译字符串(这可能不是 100% 准确)。我可以认为这是从文件中返回一个数组,然后使用键来匹配翻译。

<?php
return array(
'hello world' => '123456',
);

?>

另一种方法是将字符串及其翻译存储在数据库中

字符串、翻译、语言 ID

然后使用要翻译的字符串和语言 ID 或短代码查询 db。

于 2012-10-28T10:04:11.907 回答