Php 对我的多语言网站方法的意见
我正在以自己的方式处理一个双语网站。我的方法应该允许适当的搜索引擎索引,并将保持在一个页面上没有外部文件的一切 一个函数将处理要显示的内容:Php 对我的多语言网站方法的意见,php,coding-style,internationalization,multilingual,Php,Coding Style,Internationalization,Multilingual,我正在以自己的方式处理一个双语网站。我的方法应该允许适当的搜索引擎索引,并将保持在一个页面上没有外部文件的一切 一个函数将处理要显示的内容: <? function l($en, $fr){ echo ($_GET['lang'] === 'fr') ? $fr : $en ; } ?> 然后,将根据URL(/?lang=en)中的语言显示相应的文本 对于图像,这是我的解决方案: <img src="<? l('hi-en.png
<?
function l($en, $fr){
echo ($_GET['lang'] === 'fr') ? $fr : $en ;
}
?>
然后,将根据URL(/?lang=en)中的语言显示相应的文本
对于图像,这是我的解决方案:
<img src="<? l('hi-en.png', 'hi-fr.png')?>" width="100" height="20">
“width=“100”height=“20”>
如果使用这种方法,有人能说出它的缺点吗?对于包含所有语言内容的页面,使用单一函数句柄语言是不寻常的吗?使用单一函数或全局函数(如
l
函数)的一般想法非常普遍。您的思路肯定是正确的
不过,您的方法确实存在一些缺点:
- 如果代码中有许多地方出现相同的文本或图像,则需要在每个地方维护翻译
- 更新或更正翻译需要费力地阅读代码,这对于没有经验的编码人员或非编码人员来说是非常困难的(比如,如果您有翻译人员帮助您)
- 如果你要添加一种新的语言,你将不得不修改每个源文件,这将是非常痛苦的。这可能不太可能,但如果真的发生了,你会很生气
一个更典型的解决方案是将翻译放在一个单独的文件中,或者作为一个简单的散列,或者作为一种结构化的数据格式(如XML),然后您的
l
函数看起来就像l('welcome')
;该参数是一个键,l
将从单独的文件中查找给定语言的正确翻译。使用类似于l
函数的单例函数或全局函数的一般想法非常普遍。您的思路肯定正确
不过,您的方法确实存在一些缺点:
- 如果代码中有许多地方出现相同的文本或图像,则需要在每个地方维护翻译
- 更新或更正翻译需要费力地阅读代码,这对于没有经验的编码人员或非编码人员来说是非常困难的(比如,如果您有翻译人员帮助您)
- 如果你要添加一种新的语言,你将不得不修改每个源文件,这将是非常痛苦的。这可能不太可能,但如果真的发生了,你会很生气
一个更典型的解决方案是将翻译放在一个单独的文件中,或者作为一个简单的散列,或者作为一种结构化的数据格式(如XML),然后您的
l
函数看起来就像l('welcome')
;参数是一个键,l
将从单独的文件中查找给定语言的正确翻译。我刚刚阅读了框架如何使用,可能对您有帮助我刚刚阅读了框架如何使用,可能对您有帮助
<img src="<? l('hi-en.png', 'hi-fr.png')?>" width="100" height="20">