0

我的每个页面的文本都在外部语言文件中定义。例如在 www.example.com/about_us.php 我写:

require('includes/languages/english/about_us.php');

然后我简单地回显所需的文本以查看结果。

echo TEXT_ABOUT_US;

如何将 include/languages/english/about_us.php 中的拼写从美国英语自动更改为英国英语?

在 www.example.com/about_us.php 中,我知道我可以对要显示的每个文本使用 str_replace,但这将非常耗时:

$us_words = array('colors','flavors');
$uk_words = array('colours', 'flavours');

echo str_replace($us_words,$uk_words,TEXT_ABOUT_US);

我不想像上面那样为我想要回显的所有文本编写 str_replace ,而是希望在它们被拾取时自动更改所有文本:

require('includes/languages/english/about_us.php');

这有可能吗?

谢谢。

4

1 回答 1

2

您当然不想在运行中反复翻译文件。这是对 CPU 周期的浪费。此外,正如其他人指出的那样,机器翻译可以做一些奇怪的事情,即使在像英语这样的“单一”语言中也是如此。做一次(半手动),有一些目录机制来选择英语版本(en_US、en_UK、en_ZA 等),然后一遍又一遍地阅读文件。

任何体面的编辑器都可以将“颜色”批量更改为“颜色”,反之亦然。只需确保手动确认所有更改都是合理且适当的。“查找”和“替换”通常是一键查找下一个,如果您认为它是正确的,则一键进行替换。

这对osCommerce来说有什么机会吗?目录结构和宏名称看起来很像 osC。不幸的是,我不记得它有任何机制可以从多种可能的英语中进行选择。

于 2013-10-09T19:27:24.720 回答