Php 如何使Drupal加载本地化/转换来自新安装的自定义块的字符串?

Php 如何使Drupal加载本地化/转换来自新安装的自定义块的字符串?,php,drupal,localization,translation,drupal-7,Php,Drupal,Localization,Translation,Drupal 7,我刚刚创建了一个模块。为了便于论证,一切都是有效的,它在很多地方都使用了t(“这是英文版本”)函数 t('foo')函数出现在mymodule.module文件以及mymodule.tpl.php文件中 在我的drupal服务器配置中,我加载了LOCALE和一些其他模块,看起来它们是必需的: Internationalization (enabled), String translation (enabled), Block languages (enabled), Contact

我刚刚创建了一个模块。为了便于论证,一切都是有效的,它在很多地方都使用了
t(“这是英文版本”)
函数

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)
(抱歉,这是一个庞大的列表,但我不想遗漏任何重要的内容)

我加载了翻译接口,并在块使用的“translate table”和“translate interface”下查找字符串,但它们不在那里

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

我已经加载了block配置并选择了“save and translate”(在drupal配置下我只获得了TITLE选项)

我错过了什么?
我的块是否必须在
mymodule\u block\u info()中添加额外的变量
我是否必须创建
mymodule\u block\u install()
函数


有人吗?

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

为了在Drupal中加载字符串翻译,您通常必须访问目标语言中带有这些字符串的页面。也就是说,如果该区块位于您的“联系人”页面上,且为中文,请使用访问您的联系人页面

在未翻译字符串的页面上单击一点,然后再次访问翻译字符串页面-您应该会看到不同