我的每个页面的文本都在外部语言文件中定义。例如,在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');
这有可能吗?
感谢。
答案 0 :(得分:2)
你肯定不想要反复翻译文件。这是浪费CPU周期。此外,正如其他人所指出的那样,即使在像英语这样的“单一”语言中,机器翻译也可以做奇怪的事情。做一次(半手动),有一些目录机制来选择英语版本(en_US,en_UK,en_ZA等),只是一遍又一遍地阅读文件。
任何体面的编辑都可以将“颜色”批量更改为“颜色”,反之亦然。只需确保手动确认所有更改都是合理且合适的。 “查找”和“替换”通常是找到下一个按键的一次按键,如果你认为它是正确的,可以进行一次击键。
这对于osCommerce来说有什么机会吗?目录结构和宏名称看起来很像osC。不幸的是,我不记得它有多种可能的机制可以选择多种可能的Englishes。