Drupal改变文本的最佳方式

时间:2010-04-12 09:52:03

标签: drupal

我正在使用模块“simplenews”,在注册过程中,它会显示“选择您要订阅的新闻稿。”。

我想改变这一行,并想问一下,如果没有硬编码,最好的方法是什么?

提前致谢!

3 个答案:

答案 0 :(得分:3)

我也用自定义英文版本完成了这个,所以我可以覆盖一些字符串。它比hook_form_alter更有效,但也会产生一些不必要的开销,特别是如果您的网站没有本地化/多语言的话。

现在有一个轻松简单的解决方案,它使用相同的语言环境系统,但您不需要设置自定义英语语言或任何代码:“String Overrides” - 模块。

http://drupalmodules.com/module/string-overrides

令人惊讶的是,它是超过5000个模块中评价最高的模块之一。

答案 1 :(得分:1)

  • 由于它位于表单中,因此可以使用hook_form_alter轻松快捷地进行更改。
  • 另一种解决方案是在Drupal中创建自己的语言英语自定义版本,然后将字符串“翻译”为不同的字符串。
  • 您也可以跳过翻译部分,并使用您的settings.php文件。您可以在其中创建一些自定义字符串覆盖,而无需启用语言环境模块。来自default.settings.php文件:

    /**
     * String overrides:
     *
     * To override specific strings on your site with or without enabling locale
     * module, add an entry to this list. This functionality allows you to change
     * a small number of your site's default English language interface strings.
     *
     * Remove the leading hash signs to enable.
     */
    # $conf['locale_custom_strings_en'] = array(
    #   'forum'      => 'Discussion board',
    #   '@count min' => '@count minutes',
    # );
    

答案 2 :(得分:1)

或者您可以使用String Overrides。有关此模块的更多详细信息(来自其项目页面):

  

提供一种快速简便的方法来替换网站上的任何文字。

     

功能

     
      
  • 轻松替换通过t()
  • 传递的任何内容   
  • 区域设置支持,允许您覆盖任何语言的字符串
  •   
  • 能够导入/导出* .po文件,以便从Locale模块轻松迁移
  •   
  • 请注意,这不是Locale的替代品,因为有数千个覆盖可能会导致更多的痛苦然后受益。仅在需要进行一些简单的文本更改时才使用此选项。
  •