在 web2py 中用 URL 翻译字符串
Translate string with URL in web2py
一个简单的问题 - 如果我在 web2py 中有一个带有类似
的字符串的网页视图
Here is a string to <a href="{{=URL('my_other_page', vars=vars)}}">translate</a>.
将 T()
运算符应用到它的批准方法是什么,以便我可以提供不同的语言翻译,但保持不变 url?
对我来说,最简单的方法是先用占位符进行翻译,例如:
Here is a string to <a href="@URL@">translate</a>
然后将占位符@URL@替换为URL('my_other_page', vars=vars)
唯一的风险是翻译过程中代码或占位符的损坏。
您的翻译字符串可以包含 内插 变量,如 here 所述。例如:
T('Here is a string to <a href="%(url)s">translate</a>',
dict(url=URL('my_other_page', vars=vars)))
请注意,如果您打算在 web2py 视图中插入以上内容,默认情况下 HTML 标记将被转义,因此您必须将其包装在 XML()
中以防止转义:
{{=XML(T('Here is a string to <a href="%(url)s">translate</a>',
dict(url=URL('my_other_page', vars=vars))))}}
一个简单的问题 - 如果我在 web2py 中有一个带有类似
的字符串的网页视图Here is a string to <a href="{{=URL('my_other_page', vars=vars)}}">translate</a>.
将 T()
运算符应用到它的批准方法是什么,以便我可以提供不同的语言翻译,但保持不变 url?
对我来说,最简单的方法是先用占位符进行翻译,例如:
Here is a string to <a href="@URL@">translate</a>
然后将占位符@URL@替换为URL('my_other_page', vars=vars)
唯一的风险是翻译过程中代码或占位符的损坏。
您的翻译字符串可以包含 内插 变量,如 here 所述。例如:
T('Here is a string to <a href="%(url)s">translate</a>',
dict(url=URL('my_other_page', vars=vars)))
请注意,如果您打算在 web2py 视图中插入以上内容,默认情况下 HTML 标记将被转义,因此您必须将其包装在 XML()
中以防止转义:
{{=XML(T('Here is a string to <a href="%(url)s">translate</a>',
dict(url=URL('my_other_page', vars=vars))))}}