我目前正致力于翻译网站。
为了轻松执行此翻译,我创建了一个.csv file
,其中包含两种语言之间的匹配(japanese-> english)。
然后,使用PHP解析此文件,并在页面上调用ob_start()
以替换所需的字符串。
这是脚本:
function lang_modify($buffer){
require('get_messages.php');
for($i=0; $i<count($messages); $i++){
$buffer = str_replace($messages[$i][0], $messages[$i][1], $buffer);
}
return $buffer;
}
$buffer = ob_start('lang_modify');
此脚本适用于php / html文件。但是,ob_start不会读取javascript文件,因此我想知道是否有人知道将javascript文件包含到输出缓冲区中的方法,以便ob_start()
函数也将替换javascript中的单词。
有人建议我用AddFile
语句(.htaccess)
搜索一些内容,但我根本不知道如何使用它来做我想做的事情。
有没有人有线索?
答案 0 :(得分:0)
您所面对的是关注点分离问题。
您的翻译是从 PHP 生成的。
但是,您的javascript会显示并(有时)生成这些消息。
我该如何解决这个问题?
1)确保您的翻译来自单一来源,最好来自 PHP
2)使用i18n js库处理翻译。我建议:https://airbnb.github.io/polyglot.js/
3)如果您使用的是Polyglot,请确保将您的PHP翻译生成为js文件,然后根据本地化加载该文件。
Polygot会将您的默认邮件转换为国际邮件。
简而言之: