如何在帖子元数据中转换月份名称?

时间:2020-08-12 作者:QQQ

我正在尝试翻译中带下划线的月份名称this image, 没有changing the entire WP backend 以及,因为我需要后端保持英语。

我通过的翻译了默认字符串Astra\'s Default String page, 但它们不为月份名称提供字符串。

任何帮助都将不胜感激!

谢谢:)

2 个回复
SO网友:Nate Allen

如果希望前端与后端使用不同的语言,一个简单的解决方案是在“设置”下更改网站语言>;常规(例如西班牙语),然后通过转到“用户”更改用户帐户的语言>;并将语言设置更改为英语。

此外,您可以将此代码添加到functions.php 确保前端的语言为英语(或任何其他管理员)。如果不想将其应用于所有管理员,可以调整逻辑。

/**
 * Sets the locale to English on the frontend if the current user is an administrator.
 *
 * @param string $locale The locale ID.
 *
 * @return string
 */
function sx372871_set_administrator_locale( $locale ) {
    // If the current user is an admin, make sure locale is set to English.
    if ( current_user_can(\'administrator\') && ! is_admin()  ) {
        return \'en_US\';
    }

    return $locale;
}
add_filter( \'locale\', \'sx372871_set_administrator_locale\' );

SO网友:Nate Allen

以下代码将在前端将月份名称从英语翻译为西班牙语:

/**
 * Translates month names on the frontend of the site.
 */
function sx372871_translate_month_names( $translated_text ) {
    if ( is_admin() ) {
        return $translated_text;
    }

    $months = array(
        \'january\'   => \'Enero\',
        \'february\'  => \'Febrero\',
        \'march\'     => \'Marzo\',
        \'april\'     => \'Abril\',
        \'may\'       => \'Mayo\',
        \'june\'      => \'Junio\',
        \'july\'      => \'Julio\',
        \'august\'    => \'Agosto\',
        \'september\' => \'Septiembre\',
        \'october\'   => \'Octubre\',
        \'november\'  => \'Noviembre\',
        \'december\'  => \'Diciembre\',
    );

    if ( array_key_exists( strtolower( $translated_text ), $months ) ) {
        return $months[strtolower($translated_text)];
    }

    return $translated_text;
}

add_filter( \'gettext\', \'sx372871_translate_month_names\' );

相关推荐

Theme Translation?

我下载了一个主题名为Contango 来自Wordpress主题库。该主题有一个名为“languagues”的文件夹和一个名为“contango.po”的文件。我可以打开那个文件进行翻译,但什么也没变。我怎样才能把这个主题翻译成我自己的语言</非常感谢并为我的新手问题道歉?