フロントエンドとバックエンドで異なる言語


9

私は英語のWordPressパッケージを使用していますが、これで問題ありません。

ここで、ブログの一部の要素(「投稿」、「コメント」など)を翻訳したいと思いますが、ダッシュボードのインターフェースはそのままにしておいてください。

サイト要素のみを翻訳するメカニズムはありますか?

回答:


19

次のことができます。

  1. 言語パック(eg de_DE.mo)をwordpress.orgから入手してください。言語パックがスタンドアロンのダウンロードとして利用できない場合は.mo、WordPressのZIPファイルにバンドルされているファイルを使用して、言語を決めることもできます。下にありwp-content/languagesます。
  2. .moファイルをwp-content/languages/デフォルトの(英語)WordPressインストールに移動します。
  3. WPLANG定数をwp-config.php新しいロケールに変更します(例de_DE
  4. あなたにfunctions.php追加次のフィルタ:

functions.php

add_filter('locale', 'wpse27056_setLocale');
function wpse27056_setLocale($locale) {
    if ( is_admin() ) {
        return 'en_US';
    }

    return $locale;
}

「言語パックをインストールする」とはどういう意味ですか?ワードプレスをアンインストールし、新しいワードプレスをインストールする必要がありますが、フランス語は言うべきですか?英語のワードプレスをアンインストールしたくありません。
serhio

1
いいえ、何も再インストールする必要はありません。希望の言語でWPをダウンロードし、言語ファイルをwp-content/languages/元の英語のWPにコピーして、wp-config.php上記のようにインストールして変更します。またはfr_FR.moこのサイトからファイルをダウンロードしてください。
rofflox 2011

wp-content/languages/フォルダーがなかったので作成します。その操作を実行した後、私は自分が何をするかの逆になります。私はルーマニア語の管理パネルを持っていますが、ページは(ログに記録されているかどうかにかかわらず)-英語です。多分私は主題を翻訳する必要があります...
セルヒオ

もちろん、テーマを翻訳する必要があります。ただし、is_admin()上記のフィルターで設定した場合、バックエンドはルーマニア語ではなく英語である必要があります。
rofflox 2011

1
WordPress v> = 4.7の以下の私の回答も参照してください。これにより、ユーザーは自分の言語でバックエンドを表示できます
Serge

6

1
当サイトへようこそ。説明を追加してください:これらのプラグインは何をしていますか、違いは何ですか?
fuxia

1
まったく同じことをしていると思います。(私は最初のものを使用します...)異なる言語ファイルをインストールでき、プラグインを使用してバックエンドの言語を個別に変更できます。どちらのプラグインも、言語用のダッシュボードスイッチ、ログイン言語選択ボックス、およびユーザー固有の言語用のプロファイルページへのアドオンを提供します。
zodiac1978 2012年

6

WordPressバージョン4.7以降、さまざまなバックエンドユーザーネイティブの WordPress言語セレクターを使用して独自の優先管理言語を設定できます。これにより、WordPressインターフェースが自分の言語で表示され、コンテンツをより簡単に管理できるようになります。 フロントエンド言語に依存しない、Wordpressのバックエンドユーザー向けの異なる言語


このコードは、すべてのユーザーに対してグローバルに設定されており、これは個々のアカウントでのみ機能します。
Motaz M. El Shazly

4

まだ誰かがそれを探しているなら、バージョン4.7以降にすべきことはここにあります

function wp_noshor_redefine_locale($locale) {
    if( is_admin() ):
        switch_to_locale('en_US');
    endif;
}
add_filter('init','wp_noshor_redefine_locale');

これにより、ダッシュボードが英語で読み込まれ、設定に移動して、希望する言語を設定できます。


4

WordPress 5.xでは、異なるフロントエンド言語とバックエンド言語を取得するのは非常に簡単です。

サイトの言語を変更するには、[設定]-> [一般]-> [サイトの言語]に移動して、サイトの言語を選択します。

ここに画像の説明を入力してください

管理パネルの場合は、ユーザー->あなたのプロフィールに移動し、管理パネルで使用する言語を選択します

ここに画像の説明を入力してください

上記のソリューションはすべて絶対的なものになり、各ユーザーはWordPressインターフェースに独自の言語を設定できます


これが2019年以降の選択された回答です。プラグインは必要なく、解決策はとても簡単です。ありがとうございました!
ステイソン、

これにより、ユーザーごとに個別に変更されます。コードにより、すべてのユーザーに自動的に変更されます。
Motaz M. El Shazly

2

Wordpress 4+の最新の回答

@roffloxの答えはまだ正しいですが、WP 4.0以降、彼の関数を「そのまま」使用すると効果があるWordpressにいくつかの変更が加えられました。

wp-config定数WPLANGは廃止され、サイトの言語をのドロップダウンで設定できるようになりましたSettings->General。つまり、サイトの言語を(たとえば)Svenkaに変更すると、サイトの管理者英語で表示されますが、そのサイトの言語ドロップダウンは[ 英語(米国)]Settings->Generalとして事前に選択されます。つまり、後で[全般]設定を変更し、サイトの言語としてSvenkaを再び選択するのを忘れた場合、サイト全体が英語に戻ります。

次のfunctions.phpようにファイルに関数を作成することをお勧めします。

//    Set the locale; original function from @rofflox

function vnmFunctionality_setLocale($locale) {
    if (is_admin()) {
        return 'en_US';
    }

    return $locale;
}

add_filter('locale', 'vnmFunctionality_setLocale');

// Enqueue a script to force-set the Language dropdown on the General Options page, just in case we forget about it later.

function vnmFunctionality_countryReminderScript($hook) {
    if ($hook != 'options-general.php') {
        return;
    }

    wp_enqueue_script('lang-reminder-script', get_template_directory() . '/js/site-language.js', array('jquery'), '1.0.0', true);

    wp_localize_script('lang-reminder-script', 'langObject', array(
        'lang'  => get_option('WPLANG'),
    ));
}

add_action('admin_enqueue_scripts', 'vnmFunctionality_countryReminderScript');

そして、次のように呼び出されたsite-language.js/js/テーマのフォルダに保存された)JavaScriptファイル:

jQuery(document).ready(function($) {
    $('select#WPLANG').val(langObject.lang).change();
});

これにより、[オプション]ページのドロップダウンでサイトの現在の表示言語が自動的に事前選択されるため、毎回手動で選択する必要がありません。


-1

必要なのは、テーマを翻訳することです。テーマに.potファイルがある場合は、簡単に翻訳できます。次の手順に従ってください

http://www.appthemes.com/blog/how-to-translate-a-wordpress-theme/

それ以外の場合は、テーマファイルを編集し、インスタンスごとに単語を変更する必要があります。


私のテーマ(twenty ten)にはフォルダー「wp-content / themes / twentyten / languages」があり、中には.potファイルしかありません...
serhio
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.