目前我尝试在我们的SocialEngine安装(基于Zend构建)上修复一个问题,该安装在语言选择器中显示一种不是其本机名称的语言(如“Deutsch”代表“德语”),但用语言表示用户已设置前端(因此,当您将语言设置为英语时,您将看到“Deutsch”而不是“Deutsch”。)
在查看源代码时,我看到Zend_Locale_Data加载了一系列可供系统使用的语言,并尝试从似乎不在我的机器上的路径中读取LDML文件:
$temp = self::_getFile($locale, '/ldml/localeDisplayNames/languages/language', 'type');
当路径不在我的计算机上时,它必须在网上但是搜索“ldml”或“zend ldml”我没有得到任何关于这个主题的提示。你能指导我度过迷雾吗?
感谢任何帮助。谢谢!
答案 0 :(得分:2)
您看到的'/ldml/localeDisplayNames/languages/language'
不是文件路径而是XPath表达式,读取的文件是位于Zend/Locale/Data/
的XML文件,文件名与给定的{{1}相关参数。
e.g。对于英语区域设置,加载的XML文件应为$locale
。打开此文件将显示XPath表达式选择的结构
Zend/Locale/Data/en.xml