我发现任何WordPress主题都使用此功能,但我不了解它的目的和用途,在这种情况下'themify'吗?
这里是Themify functions.php中的一些示例:

1)。

load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );

2)。

if (function_exists('register_nav_menus')) {
        register_nav_menus( array(
            'main-nav' => __( 'Main Navigation', 'themify' ),
            'footer-nav' => __( 'Footer Navigation', 'themify' ),
        ) );
    }


在临时文件中:

3)。 <?php _e( 'Sorry, nothing found.', 'themify' ); ?>

还有更多!我的疑问是什么?他们的目的是什么?我可以更改还是删除它? 'themify'是什么地方?

#1 楼

在这种情况下,'themify'是为主题定义的文本域,用于使主题可翻译。 (食典参考:load_theme_textdomain())。

准备好翻译主题需要几个步骤。



定义主题的文本域:

load_theme_textdomain( 'themify', TEMPLATEPATH.'/languages' );



在模板中定义可翻译的字符串。

使用以下翻译功能之一完成:__()(用于返回的字符串) ,_e()(用于回显的字符串)和_x() / _ex()(用于gettext上下文字符串)。还有其他方法,但您会明白...

将静态文本字符串(例如<p>Hello world!</p>)包装在适当的翻译函数(例如<p><?php _e( 'Hello World!', 'themify' ); ?></p>)中,以使其可用于翻译。

生成有关如何编辑语言文件的.mo / .po文件参考


评论


@SokVanrithy,有关如何处理.mo / .po文件的信息,请参阅此问答。 (芯片,我没有将链接添加到您的答案中,因为您可能还有其他建议:)

–brasofilo
2012-12-11 19:51



@brasofilo可以根据需要随意添加。我认为这超出了所提出问题的范围,但仍然是有用的信息。

–芯片Bennett
2012-12-11 19:55

你为什么要改变它?您在分派主题吗?

–芯片Bennett
2012年12月12日下午3:11

是的,我想摆脱它们。我已经从Webdesigndepot下载了一个主题,它称为基本主题。我问作者,我可以更改原始代码吗?之所以允许使用它们是因为它是基础空白主题,想要为其提供自定义主题的结构。另外,这是作者在那里送给读者的礼物。我的疑问就像上面!

–索克·范里西(Sok Vanrithy)
2012-12-12 7:45



当然,您可以摆脱它们;但是离开他们也不会有伤害。您甚至可以将textdomain更改为其他字符串,以引用您的派生主题。开发最佳实践包括使主题可翻译,所以我建议不要完全删除它们。也就是说,如果您愿意的话,当然可以。

–芯片Bennett
2012-12-12 13:20