Drupal:仅在翻译内容时显示语言切换器

时间:2010-01-14 20:34:31

标签: php drupal internationalization

我在Drupal中有多语言网站,但并非所有内容都已翻译。我希望语言切换器块只有在该内容的翻译时才会出现在内容页面中。

语言切换器块使用函数translation_path_get_translations来获取正在查看的内容的翻译版本的路径。如果没有已翻译的路径,则该块不会打印切换器。

问题在于,有时翻译版本与原始内容处于相同的路径下(例如,当它是视图或模块生成的内容时)。在这种情况下,虽然translation_path_get_translations不会返回任何已翻译的路径,但应打印语言切换器,因为视图或模块将负责翻译。

例如,这些是翻译内容的路径:

english/content-path-here
portuguese/conteudo-aqui

这些是视图或模块生成的内容的路径:

english/foobar
portuguese/foobar

那么,有没有办法解决这个问题?也许是一种确定给定路径是否是“真实内容”(而不是视图/模块)的方法?

感谢。

1 个答案:

答案 0 :(得分:2)

嗯,我认为只能通过路径手动完成 可能会有所帮助:


if ((arg(0) == 'node') && is_numeric(arg(1))) {
  // that show you are on single node, and you can show block for translation
}