当您有翻译文本的链接时,如何使用 gettext?
我使用 gettext 来翻译我的网站。
翻译文本中的链接会很好,但我不想在 gettext 文件中编写 html 标记,因为这些翻译可能会在其他地方使用。
我可以仅为网站(带有链接)创建文本,也可以为所有目的创建文本。
我必须维护两个版本。 :-(
我还可以编写一个自定义解析器来在文本中插入链接,但这似乎有点过分了,我担心 天真的危险
对于那些遇到同样问题的人,您是如何处理的?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
这里的另一个解决方案: https://zargony.com/2008/ 01/24/links-in-gettext-translated-strings。
它建议使用
{大括号}
作为链接。例如:然后编写自己的函数
linkify
,用给定的参数替换大括号中的内容。PHP 中的定义:
PS:您还可以轻松地用 {} 替换 [],因为我注意到在 POEdit 中这些大括号向译者发出警告并建议他们不要翻译。
Another solution here: https://zargony.com/2008/01/24/links-in-gettext-translated-strings.
It suggests using
{curly brackets}
for links. As for example:And then write your own function
linkify
that replaces things in curly brackets with the parameters given.Definition in PHP:
PS: You can also easily substitute the {} for [], as I've noticed that in POEdit these curly brackets give warnings to the translators and recommend them not to be translated.
我曾经将链接作为参数。大多数时候,整个
标签就是一个参数。就像
请参阅 %s 此链接 %s 了解更多信息。
第一个 %s 传递链接标记,第二个 %s 传递结束标签。
现在,当必须翻译链接文本时,我仅使用整个短语作为链接。因此,我们只有“请参阅此链接以获取更多信息”之类的文本,将其翻译并在其周围放置链接标签。管理翻译要容易得多,而且您不会遇到困惑的翻译,也不会需要花时间解释您要做什么。
I used to put links as parameters. Most of the time the whole
<a>
-tag is a parameter. LikePlease see %s this link %s for more information.
The first %s is passed the link tag, and the second one is passed the closing</a>
tag.Now I use only whole phrases as links when a link text must be translated. So we have just text like 'Please see this link for more information', get it translated and put the link tags around it. It's much easier to manage the translations, and you don't have a confused translator, or need to spend time explaining what you're trying to do.
老实说,我不会太担心使用一些基本的 HTML(或使用 bbCode,纺织,markdown 等)直接添加到您的翻译文件中。 URL 可能是目前唯一的问题,但是其他文本标记呢?
更不用说 URL 本身可能根据语言的不同而有所不同。
我确实同意翻译文件确实存在问题。
I honestly wouldn't be too concerned about using some basic HTML (or use bbCode, textile, markdown, etc.) directly into your translation files. URL's might appear to be the only problem right now, but what about other text markup?
Not to mention that the URL's themselves could potentially be different depending on the language.
I do agree that translation files do have their issues though.
为了补充所选答案,这里有一个实际示例:
To complement the selected answer, here is a practical example: