Setting WPLANG from a plugin

时间:2012-05-17 作者:Howard

对于单站点wordpress,必须从wp-config.php\'sWPLANG, 但是,是否可以从我的插件设置覆盖默认值的选项?

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

在里面wp-includes/l10n.php 您将找到函数get_locale(). 它提供了一个过滤器;您可以设置语言并忽略常量:

function get_locale() {
    global $locale;

    if ( isset( $locale ) )
        return apply_filters( \'locale\', $locale );

    // WPLANG is defined in wp-config.
    if ( defined( \'WPLANG\' ) )
        $locale = WPLANG;

    // If multisite, check options.
    if ( is_multisite() ) {
        // Don\'t check blog option when installing.
        if ( defined( \'WP_INSTALLING\' ) || ( false === $ms_locale = get_option( \'WPLANG\' ) ) )
            $ms_locale = get_site_option(\'WPLANG\');

        if ( $ms_locale !== false )
            $locale = $ms_locale;
    }

    if ( empty( $locale ) )
        $locale = \'en_US\';

    return apply_filters( \'locale\', $locale );
}
要更改每个插件,请使用过滤器\'locale\'. 示例:

add_filter( \'locale\', \'wpse_52419_change_language\' );
function wpse_52419_change_language( $locale )
{
    return \'de_DE\';
}

结束

相关推荐

Custom metabox translation

我已经创建了一个自定义的帖子类型,并添加了一些自定义的元数据库,现在我想知道我在我的网站上使用了什么样的翻译插件?我对它们都没有经验,所以我不知道谁会支持我的自定义元数据库,谁不会。