我正在以自己的方式处理双语网站。我的方法应该允许正确的搜索引擎索引,并将所有内容保存在一个页面上,没有外部文件。
一个函数将处理要显示的内容:
<?
function l($en, $fr){
echo ($_GET['lang'] === 'fr') ? $fr : $en ;
}
?>
然后将根据URL(/?lang = en)
中的语言显示相应的文本<h1><? l('welcome!', 'bienvenue!') ?></h1>
对于图像,这是我的解决方案:
<img src="<? l('hi-en.png', 'hi-fr.png')?>" width="100" height="20">
如果使用这个方法,有人可以说出任何缺点吗?对包含所有语言内容的页面使用单一函数句柄语言是不寻常的吗?
答案 0 :(得分:1)
使用像l
函数这样的单例或全局函数的一般想法很常见。你肯定是在正确的轨道上!
但是你的方法确实有一些缺点:
更典型的解决方案是将翻译放在单独的文件中,可以是简单的哈希,也可以是XML等结构化数据格式,然后l
函数看起来就像l('welcome')
;参数是一个键,l
将从单独的文件中查找给定语言的正确翻译。