php - 使用 HTML 标签进行本地化

标签 php zend-framework internationalization

我想在我的 Zend Framework 应用程序中本地化一些文本。 有一些文本,例如:

Hello, I'm <a href="test.php" title="Title-Attribute" rel="test">a sample text</a>, greetings to all of you! :)

如果里面没有html,本地化很简单,但是里面有HTML,我应该怎么做最好?

最佳答案

一些本地化工具,例如 Virtaalway 中处理 XML (HTML) 标签这使翻译人员可以轻松使用。另一种选择是通过用字符串格式化变量替换标签并使格式字符串可本地化而不是格式化结果来简化呈现给本地化人员的字符串。例如(我主要是为了示例而猜测并且不太了解 PHP):

printf(_("Hello, I'm %sa sample%s, greetings to all of you!"), '<a href="test.php" title="Title-Attribute" rel="test">', "</a>");

在上面的语句中,本地化人员将看到的字符串只是包含 %s 的字符串格式化变量(因为它包含在 _() gettext 函数中)。当然,如果本地化人员不知道变量将被替换成什么,那么这样做的缺点是会使本地化人员非常困惑,因此请包含适当的本地化注释。

关于php - 使用 HTML 标签进行本地化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2758599/

相关文章:

php - 删除 PDO 中的多行

php - 为什么 .env 文件优先于 .yaml 文件作为环境变量?

php - 将 mysql 查找/替换为 mysqli 使代码无法运行

php - 无效的 Memcache-> 连接成员变量错误

django - 如何在 django cms 中的语言选择器中隐藏未翻译的页面?

perl - 如何测试包括 $! 在内的错误消息没有语言环境问题?

javascript - 多台计算机上网站外观的奇怪差异

zend-framework - Zend Framework ACL 角色和模块

php - zend,如何添加带有数字和文本的multiOption?

javascript - i18next - "WebpackError: TypeError: namespaces.forEach is not a function"(钩子(Hook))