在自定义模块代码中检测可翻译字符串 -- i18n-l10n 领域 drupal 相关 的问题

Detect translatable strings in custom module code


6
vote

问题

中文

我有一个带有多个自定义模块的D6站点。该网站现在需要支持多种语言。

我的所有字符串都包裹在t()中,我很熟悉locale.module和i18n模块。我知道所有可翻译的字符串都会写入"locales_source" 表,从那里开始,我可以导出.pot文件以发送到翻译器。

但是,我无法弄清楚的是我如何将我的自定义模块中的所有可翻译字符串置于"locales_source" 表中。我知道t()函数调用locale(),这反过来会将一个新发现的字符串写入此表,但如何使所有可翻译字符串立即进入表格?我认为我需要一个将解析T(),看门狗,hook_menu等的php源的函数,以查找可翻译的所有内容并将其写入'locale_source'...?
英文原文

I have a D6 site with several custom modules. The site now needs to support multiple languages.

All my strings are wrapped in t() and I'm pretty familiar with locale.module and the i18n modules. I know that all translatable strings get written to the 'locales_source' table, and that from there I can export a .pot file to send to translators.

What I can't figure out, however, is how I can get all of the translatable strings in my custom modules into the 'locales_source' table. I know that the t() function calls locale(), which in turn will write a newly found string to this table, but how can I make all translatable strings get into the table at once? I think I need a function that will parse the PHP source for t(), watchdog, hook_menu, etc to find everything that's translatable and write it to 'locale_source'...?

  

回答列表

4
 
vote
vote
最佳答案
 

您可以安装翻译模板提取器模块。

翻译模板提取器提供基于Web的Web和命令行GetText转换模板提取器接口,用于Drupal以及可重用的API,以查找可翻译字符串和变化性错误。此工具在 http://localize.drupal.org/ 也可以用作解析机器Drupal.org项目版本。

如果希望用户界面允许您以自定义模块提供的字符串的任何语言转换,则可以安装本地化服务器。

它提供了一个带有社区本地化用户界面的通用翻译数据库,它允许人们协作将项目转换为不同的语言。它目前包含翻译Drupal项目以及基于GetText的源的工具。

不同是第一个模块允许您创建转换在服务器上运行的任何模块提供的字符串所需的翻译模板文件,包括任何自定义模块。需要编辑这些文件以创建提供翻译字符串的实际翻译文件。
从第一个替代的第二模块允许使用用户界面创建翻译文件。虽然第一个模块要求您手动编辑翻译模板文件以获取翻译文件,但使用第二个模块,您可以使用Drupal进行。

 

You can install the Translation template extractor module.

The Translation template extractor provides a web based and a command line Gettext translation template extractor interface for Drupal as well as a reusable API to look for translatable strings and translatability errors. This tool is used under the hood at http://localize.drupal.org/ as well to serve as a parsing machine for Drupal.org project releases.

If you want a user interface that allows you to translate in any language the strings provided by your custom module, then you can install the Localization server.

It provides a generic translation database backend with a community localization user interface, which allows people to collaborate on translating projects to different languages. It currently contains tools to translate Drupal projects as well as general Gettext based sources.

The difference is that the first module allows you to create the translation template files necessary to translate the strings provided by any module running on your server, including any custom module. Those files need to be edited to create the actual translation files that provide the translated strings.
The second module, which depends from the first one, allows to create the translation files using a user interface. While the first module requires you to manually edit the translation template files to obtain the translation files, with the second module you can do it using Drupal.

 
 
   
   

相关问题

4  为面板页面设置语言  ( Set language for a panel page ) 
如何在面板页面创建多个翻译?我的主页采用面板设计,我有英语和西班牙语内容。对于节点,一切都很好,但我无法弄清楚如何用面板做多种语言。 ...

0  $ conf ['i18n_variables']  ( Problem with confi18n variables ) 
我已安装i18n模块,并将此行添加到setting.php和空缓存以翻译Slogan和联系表单信息和... 但它并不影响网站和值,不添加到i18n_variable表。 $conf['i18n_variables'] = array( 'site_name', 'site_slog...

4  让用户更改语言  ( Let the user change language with a select ) 
我需要让用户更改用选择的语言。我需要用手做所有事情,因为我在自定义块中放了它。你有什么想法我如何完成这个? ...

3  意见用英语和西班牙语  ( Views in english and spanish ) 
我的网站是英文和西班牙语。 我的问题涉及类似的术语模块和一个自定义视图,即在单击中显示按任期节点过滤的随机。如何在西班牙语模式下显示西班牙语内容的论证,以及英文模式时的英语内容?我意识到我可以简单地过滤西班牙语的节点。 类似的术语模块如何识别页面以英语或西班牙语的事实,并显示单击的相应语言? ...

3  默认情况下,我的Drupal 7站点是否启用了交易支持?  ( Does my drupal 7 site have transaction support enabled by default ) 
我碰巧在"数据库设置" 下通过settings.php中的注释行读取(围绕no.45)以下文本: 某些数据库引擎支持交易。要启用对给定数据库的事务支持,请将"事务" 密钥设置为True。要禁用它,请将其设置为false。 请注意,默认值因驱动程序而异。对于mysql,默认为fals,因为MyISAM表不支持事务...

1  如何在Drupal 6中翻译块内容(在使用视图模块创建模块)?  ( How to translate blocks content created with views module in drupal 6 ) 
我创建了视图的块,我的问题是:当您选择一种语言时,即使是块内容(用视图创建)适用于我翻译? ...

0  问题主链接翻译drupal 6  ( Problems primary links translate drupal 6 ) 
我在西班牙语中翻译了我的菜单(主要链接)中的链接,当我将来自意大利语的语言更改为西班牙语时,将翻译菜单的所有声音,除了一个(语音 apartamentos )不可见,但是否正确激活并设置为其他链接。 你知道些什么吗? ...

0  如何翻译Drupal 6中的静态块?  ( How translate a static block in drupal 6 ) 
是否存在一个可以用来在块中翻译静态文本的变量? 例如: <?php if($language==english): ?> do something... <?php endif; ?> ...

0  我可以在Drupal 6模板文件中使用$语言变量吗?  ( Can i use the language variable in a drupal 6 template file ) 
使用 $language 变量是正确的,以在页面前面的条件.tpl.php? if ($language == 'es') 正确吗? ...

0  用户更改语言时如何动态更改徽标映像?  ( How to change the logo image dynamically when user change language ) 
如何通过单击标志时更改语言时更改徽标映像映像? 存在一种解决这个问题的简单方法? ...

4  用多种语言的观点  ( Views with multiple languages ) 
我正在使用drupal 7构建多语言网站7.我看到你可以"翻译" 一个页面。如何翻译视图? URL http://mysite.com/view 是一个视图,但我没有看到"翻译" 按钮。 ...

2  多维本地化菜单的适当功能是多少?  ( What is the proper function for multi dimensional localized menu ) 
在Drupal 7中获得多维本地化菜单的适当功能是多少? 搜索后,我找到了 i18n_menu_localize_tree() ,但我没有将其作为树菜单。 我应该使用 i18n_menu_translated_tree() ,还是错过了什么? ...

1  在Drupal 6中切换语言的自定义链接  ( Custom links to switch language in drupal 6 ) 
在我的情况下,我想直接在page.tpl.php中打印语言交换机链接,例如: <a href="what_to_put_here">English</a> <a href="what_to_put_here">Deutsch</a> 如何在不使用"语言切换器" 块的情况下完成此操作?我检查了国际化项目附带的...

2  CSS类的多语言前页  ( Css class of a multi lingual front page ) 
在drupal 7中,在我的英文主页的身体标签中,我看到以下CSS类(等):HTML,Front。 我通过单击"翻译" 链接添加了对此主页的法语翻译。我的法国主页的身体标签有以下CSS类(等):HTML,不是前面。 对于法语版本,如何用"前面" 替换CSS类"NOT-FRONT" ? ...

1  在多语种网站中切换翻译  ( Toggle translation in a multilingual site ) 
我正在使用drupal 7构建双语言网站(英语和法语)。我想在我的网站的右上角创建一个链接,在英语和法语之间切换页面。我该怎么做? 我还安装了 Internationalization 模块。我还没有使用过。也许这可以帮助我的情况。 例如,说我在页面 http://example.com/home 。如何弄清楚法国相...

3  L.D.O翻译中的语法是什么?疏浚制作文件  ( What is the syntax for l d o translations in a drush make file ) 
我已经阅读了醉汉制作文档,并了解您可以在使用Drush make命令时下载翻译,因为有一个选项。我不明确地理解的是如何将翻译添加到您的.make文件。任何帮助和/或一个例子都是惊人的。谢谢。 drush制作文档: http://drupalcode.org/project/drush_make.git/blob_p...

2  用户个人资料字段可翻译  ( User profile fields translatable ) 
如何使用户配置文件字段变得可翻译? 我希望能够将一些字段翻译成其他语言。 ...

0  i18n,路径别名不起作用  ( I18n path alias doesnt work ) 
我将内容类型页面的路径自动别名为: [语言] / [标题 - 原始] 我正在使用内容翻译模块。 我创建了英文版所选页面。 别名是好的。 但即使我是admin,我有404何时我想查看此页面。 有人可以给我任何建议吗? 编辑 我将路径别墅设置更改为 [title-raw] 仍然404。 如果我使用页面...

2  如何更改为默认本地化客户语言转换  ( How to change to default localization client language to translate ) 
本地化客户端只允许我从英语翻译成其中一个语言。 也可以从语言x到英语翻译? ...

0  用户如何为站点默认语言选择不同的语言?  ( How can a user select a different language to the site default language ) 
我的drupal 6站点应该始终以法语显示为所有用户 me。我需要用英语管理网站。 使用Locale模块,我已安装两种语言并默认设置为法语。在语言协商设置('configure')中,我已选择"无" 。帮助文本表示"用户可以(可选)在" "中选择我的帐户页面上的首选语言。 即使我在我的帐户设置中选择了英语(在"语言设...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.