cakephp中每种语言有多个短语
我正在使用CakePHP创建一个网站,它不仅需要翻译成多种语言,还需要根据登录用户的类型将每种语言翻译成多个短语。这将允许相同的功能,但使用更正式或更友好的语言,而不会重复 作为一个非常简单的例子:cakephp中每种语言有多个短语,cakephp,localization,Cakephp,Localization,我正在使用CakePHP创建一个网站,它不仅需要翻译成多种语言,还需要根据登录用户的类型将每种语言翻译成多个短语。这将允许相同的功能,但使用更正式或更友好的语言,而不会重复 作为一个非常简单的例子: 类型1:“客户”、“采购”、“购物车” 类型2:“客户”、“购买”、“篮子” 类型3:“用户”、“订单”、“发票” 每种类型都有多种语言版本 我已经在CakePHP中使用了标准本地化(我选择它的原因之一!),并且在/Locale/[lang]/LC_MESSAGES/目录中有适当的default
- 类型1:“客户”、“采购”、“购物车”
- 类型2:“客户”、“购买”、“篮子”
- 类型3:“用户”、“订单”、“发票”
Configure::write('Config.language', 'deu');
Configure::write('App.langDomain', 'phrase1');
所有的线都用以下材料包裹:
__d(Configure::read('App.langDomain', 'string')
它就是这样工作的。像这样使用:
__d(Configure::read('App.langDomain'), 'Some string');
在bootstrap.php中,检查条件并根据需要设置App.langDomain
__d()与插件无关,您可以在任何地方使用它
另一种方法是使用自定义方法包装您的翻译,例如
__dd(Configure::read('App.langDomain'), array('foo' => __('String1', 'bar' => __('String2'));
该数组是langDomain=>stringForThatDomain映射的数组。您的uu dd()方法将采用在第一个参数中传递的方法。非常感谢-知道会有一些简单的方法可以“正常工作”:@Yssybyl为了避免必须使用
\uu d(…)
为每个字符串设置域,还可以更改默认域;e、 g.I18n::$defaultDomain='mydomain'
我希望您能提供反馈,解释为什么投票被否决。我相信问题很清楚,我找不到重复的。提前谢谢。