如何为不同的用户设置不同的本地化文件?

时间:2018-11-05 作者:Nikolai Maksimov

我正在尝试加载本地化文件,具体取决于用户设置。这种方法是否正确,或者是否有更好的方法来实现区域设置更改取决于用户设置?

    <?php
           add_filter( \'locale\', \'theme_localized\' );

            function theme_localized( )
            {
                if(is_user_logged_in()) {
                    $locale = get_user_locale();
                     return $locale;
                }

            }
?>
这段代码正在工作,但我不确定这是翻译网站的传统方式。

1 个回复
SO网友:Tim

默认情况下,WordPress仅根据用户查看时的语言加载翻译admin 第页。

您可以在load_theme_textdomain 功能:

$locale = apply_filters( \'theme_locale\',
    is_admin() ? get_user_locale() : get_locale(),
//  ^^^^^^^^
$domain );
因此,如果您想覆盖站点前端的这种行为,那么您的代码就可以了。

这是传统的吗?这就是过滤器的作用。然而,我要说的是,除非实际content 也在发生变化。

结束

相关推荐

Plugin Localization

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