我的代码中有许多类似的行:
echo Yii::t('forms','Would you like to create a new item?');
在这里我想在“创建一个新项目”周围建立一个超链接。
以下是我考虑过的一些替代方案:
1.将URL拆分为2个翻译后的字符串,由超链接包围:
echo Yii::t('forms','Would you like to').' <a href="/new_item">'.Yii::t('forms','create a new item').'</a>?';
1.使用占位符,如Yii文档中所述(http://www.yiiframework.com/doc/guide/1.1/en/topics.i18n尽管超链接没有作为明确的例子给出):
echo Yii::t('forms','Would you like to {url}create a new item',array('{url}'=>"<a href='/new_item'>")).'</a>?';
可能有一种更简单的方法可以做到这一点,但我一直无法找到首选的方法...构建包含URL的翻译字符串的最佳方法是什么?
4条答案
按热度按时间q3qa4bjr1#
我建议你这样解决:
好处是如果你想把
id
,class
,onclick
和更多的任何东西在a
标签你可以这样做。所以翻译字符串在清除。注意,
{link:create}
中的create
只是一个理想的字符串,它指向超链接字符串。另一个高级示例:
t2a7ltrp2#
根据目标语言的不同,链接在翻译后的字符串中可能会有不同的位置(开头、中间或结尾)和标签。因此,您应该只对URL使用占位符:
dgiusagp3#
如果您有动态URI,请使用下列指令:
或者:
或者,如果您要传递url以外的其他动态属性,请使用下列程式码:
b5lpy0ml4#
我认为这是一个更好的解决办法:
此解决方案的优点