html - 如何防止使用 gettext() 翻译注释

标签 html smarty gettext

我正在使用 gettext() 来处理我的网站的国际化。事实是,我使用 Smarty 作为模板引擎,并且我必须通过 smarty 的标签来注释部分 html 代码:{* *}。问题是这些注释充满了我曾经开发过但我不想删除的代码。因此 gettext() 读取内部(大括号之间)代码,并生成一个包含许多非必要翻译项的 .po 文件。我怎样才能防止自己拥有一个干净的 po 文件,没有额外的翻译项目。我的代码中的正则表达式或使用 gettext() 设置的参数?

最佳答案

来自xgettext手册,这些是支持的语言: C、C++、ObjectiveC、PO、Shell、Python、Lisp、EmacsLisp、librep、Scheme、Smalltalk、Java、JavaProperties、C#、awk、YCP、Tcl、Perl、PHP、GCC-source、NXStringTable、RST、Glade

因此,除非其中一种语言具有类似 smarty 的注释,{* *},否则我认为您无法(轻松)绕过注释代码。

但是,我猜测可能的解决方法是以某种方式编译所有模板,然后在 *.php 文件(而不是 *.tpl)上运行 poedit。由于聪明的注释不会包含在编译的模板中,因此它们将被排除

关于html - 如何防止使用 gettext() 翻译注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14052604/

相关文章:

php - "file_exists"问题中的特殊字符 (php)

html - CSS 位置 child 在它的 parent 之下

html - 在无序列表中将列表项左对齐

php - Smarty - foreach 循环 4 次并创建一个新列表

java - servlet 生成的文件无法下载

php - 从 CS 购物车的网站搜索中排除类别

php - Smarty 作为子模块

git - .PO (gettext) 文件的 3 向 Git merge 驱动程序在哪里?

php - 如何加载两个 mo 文件以进行 gettext 本地化

delphi - 翻译 const delphi 7 gnugettext