国际化和使用国际化的功能

时间:2012-09-26 作者:Brett

我正在将一个新设计构建到WP中,因此从技术上讲,它是一个主题,但它只是一个网站的设计,不会是任何人都可以使用的主题,因此我不想为国际化而烦恼。

我注意到WP通过传入textdomain 通过功能,如。。

_e( \'Featured\', \'twentyeleven\' );
esc_attr__( \'Permalink to %s\', \'twentyeleven\' )
我是如何被告知移除textdomain 可能会有奇怪的结果,但如果我不担心国际化,我该怎么办?

2 个回复
最合适的回答,由SO网友:EAMann 整理而成

这只是一个网站的设计,不会成为任何人都可以使用的主题,因此我不想为国际化而烦恼。

如果这个主题只供你使用,国际化也不是什么大问题。当然,除非你将来想使用不同语言版本的主题。

However, 这是一个很好的主意,让你的工作始终国际化。这样,如果你改变了对主题的想法(即决定稍后发布),你已经完成了工作。

通常,它只是替换几行代码:

echo \'Some string\';
成为:

_e( \'Some string\', \'your-theme-textdomain\' );
以及:

return \'Some string\';
成为:

__( \'Some string\', \'your-theme-textdomain\' );
有人告诉我,删除textdomain是个坏主意,因为它可能会导致奇怪的结果。

如果您从以下任一项中省略textdomain__()_e(), WordPress将假定您使用的是core附带的默认textdomain。是的,会出现一些奇怪的结果,但也不算太坏。

例如,WordPress内部可以翻译“Post”和“Add New”,但不能翻译“My super cool theme”当你的主题被翻译后,你在没有textdomain的“Post”和“Add New”中传递的任何地方都会被翻译,但“My super cool theme”不会被翻译。

如果我不担心国际化,我该怎么办?

如果您根本不担心国际化,那么就不要使用__()_e() 你根本不需要担心textdomains。

SO网友:Otto

如果您不分发它,那么您就不必真正地对其进行国际化,除非客户想要使其可翻译。

在这种情况下,您不需要使用_e()__() 或者其他类似的功能。在这种情况下,textdomain没有任何区别。

像twentyeleven这样的主题被分发给数百万人。翻译这些内容更为重要。

结束

相关推荐

Plugin Localization

我刚刚为wp构建了我的第一个插件,即使它不是一个伟大的“代码诗意”;)它正常工作。这是一个使用GalleryView 3.0 jquery插件转换默认wp库的插件(http://spaceforaname.com/galleryview).我唯一不能做的就是本地化。此插件的本地化意味着转换管理界面,在这里可以配置jquery插件选项来更改结果库的外观。我试着关注网络上数百万的教程,在论坛上阅读了很多关于这个问题的帖子,并遵循了codex的指南。。。但仍然没有运气。这就是我所做的:每个文本行都位于gette