实现多语言PHP的最佳方式
首先 – 我知道有很多关于多语言功能的答案,我没有找到我想要的答案
我想到了可以使用的3种方式,每次在Web窗体界面添加一个新值时,我需要使用PHP创建语言文件 前2个是类似的 – 使用数组或在特定语言文件中定义并将其包含在运行的开始处, 第三种方法是创建使用关键字或完整短语调用的函数,并使用IF-s或switch来选择正确的术语(或者如果没有匹配则返回被调用的键 最好的方法是什么? 编辑:我决定做一些测试,我尝试了3种不同的方式,并测量了时间和记忆: >我定义了一个数组(22个值),并从1到1,000,000运行它 – 检查调用值 – 使用%运算符选择要使用的值,并将其设置在变量上 时间:0.476591110229秒 >我使用相同的数组(22个值),并使用函数调用它 – return $arr [$string]; (只是为了方便的工作方式,并有能力改变它,以不同的方式,如果我需要) >花费时间:0.960635185242秒 >我创建了一个包含字符串列表的函数,并使用switch – > case我选择了返回的字符串 >花费时间:1.46953487396秒 那么现在的问题是什么是正确的选择 – 喜欢时间或喜欢记忆, 我非常感谢你的帮助, 谢谢
在代码方面,这样的东西对你来说很棒.它必须基于用户的选择(从按钮或菜单中选择语言)或基于浏览语言(它不是最好的aprouch).
的index.php <?php // verify the user's choice if ($_POST[lang] == "en") { include_once("en_language.php"); } if ($_POST[lang] == "pt") { include_once("pt_language.php"); } // calling a lable in your page echo LABEL_MENU; // the rest of your file ... ?> en_language.php <?php // ENGISH Language file define('LABEL_MENU','Main Menu'); // the whole file with the labels of your system ?> pt_language.php <?php // PORTUGUESE Language file define('LABEL_MENU','Menu Principal'); // the whole file with the labels of your system ?> 补充 如果你希望使用数组类型,而不是使用define()的Constant值,但是我不知道什么比.. $arrays = array("MAIN_MENU" => "Main Menu","LEFT_MENU" => "Left Menu"); echo $arrays["MAIN_MENU"]; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |