【问题标题】:How do I make Drupal load localize / translate the strings from my newly installed custom block?如何使 Drupal 加载本地化/翻译新安装的自定义块中的字符串?
【发布时间】:2011-08-10 17:27:02
【问题描述】:

我刚刚创建了一个模块。为了争论,一切正常,它有很多地方使用了t('this is the english version') 函数。

t('foo') 函数出现在mymodule.module 文件和mymodule.tpl.php 文件中。

在我的 drupal 服务器配置中,我已经加载了 LOCALE 和一堆看起来像需要它们的其他模块:

 Internationalization (enabled), 
 String translation (enabled), 
 Block languages (enabled), 
 Contact translation (disabled), 
 Field translation (enabled), 
 Translation sets (enabled), 
 Taxonomy translation (enabled), 
 Content translation (enabled),  
 Multilingual content (enabled),  
 Multilingual forum (disabled),  
 Menu translation (enabled),  
 Path translation (disabled),  
 Translation redirect (disabled),  
 Multilingual select (enabled),  
 Synchronize translations (enabled),  
 Variable translation (disabled),  
 Translation table (enabled)

(对不起,这是一个巨大的列表,但我不想遗漏任何重要的东西)

我已经加载了翻译界面,并在我的 Block 使用的“翻译表”和“翻译界面”下查找了字符串,但它们不存在。

我尝试从字符串菜单(在翻译下)重新加载字符串 - 没有运气。 我已经尝试禁用和重新启用块本身...

我已经加载了块配置并选择了“保存和翻译”(我在 drupal 配置下只有 TITLE 选项)

我错过了什么?
我的块是否必须将其他变量添加到mymodule_block_info() 我必须创建一个mymodule_block_install() 函数吗?

有人吗?

【问题讨论】:

    标签: php drupal localization translation drupal-7


    【解决方案1】:

    出于优化原因,Drupal 使用“即时”翻译。

    为了在 Drupal 中加载字符串翻译,您通常必须访问目标语言中包含这些字符串的页面。即,如果块在您的“联系”页面上并且是中文的,请使用http://mysite.com/zh-hans/node/blah-blah 访问您的联系页面。

    在带有未翻译字符串的页面周围单击一下,然后再次访问“已翻译字符串”页面 - 您应该会看到不同之处。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-11
      • 2021-11-12
      • 1970-01-01
      相关资源
      最近更新 更多