目前在视图中我有这个:
<span style="color: #2363a2;"><?php echo __('Accèdez à tous les %spronostics%s d\'%s', '<span style="font-weight: bold; text-transform: uppercase">', '</span>', AppController::getSiteName()); ?></span>
在我的.po文件中,我有这个:
msgid "Accèdez à tous les %spronostics%s d'%s"
msgstr "Reach all the %s %spicks%s"
我得到的翻译(从法语 - msgid到英语 - msgstr - )是错误的。
msgstr中的第一个%s值应该是msgid中的第3个%s值。 我做了一些关于i18n for cakephp的研究,但我没有发现与我的问题有关。
您知道如何设置订单吗?翻译的%s?
感谢。
答案 0 :(得分:1)
过去将替换参数作为多个函数参数传递时,我遇到了问题。使用数组往往更可靠: -
__(
'Accèdez à tous les %spronostics%s d\'%s',
[
'<span style="font-weight: bold; text-transform: uppercase">',
'</span>',
AppController::getSiteName()
]
)
<强>更新强>
您需要在翻译后的字符串中指定正确的顺序,如下所示: -
msgid "Accèdez à tous les %spronostics%s d'%s"
msgstr "Reach all the %3$s %1$spicks%2$s"
使用%3$s
告诉Cake使用哪个参数,整数代表原始排序。