web-dev-qa-db-ja.com

WordPressのpoファイル

こんにちはすべて私は1つの問題があります。 Poファイルが機能しません。翻訳にはqtransltae-xを使います。そして私はカスタムポットファイルを作成します

# Copyright (C) 2015 Gawatt
msgid ""
msgstr ""
"Project-Id-Version: Gawatt 1.0.0\n"
"POT-Creation-Date: 2015-06-03 11:30+0400\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2015-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <[email protected]>\n"
"X-Generator: Poedit 1.8.1\n"

#: club.php:25
msgid "zibil"
msgstr ""

その後それを生成します

# Copyright (C) 2015 Gawatt
msgid ""
msgstr ""
"Project-Id-Version: Gawatt 1.0.0\n"
"POT-Creation-Date: 2015-06-03 11:30+0400\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2015-06-03 12:45+0400\n"
"X-Generator: Poedit 1.7.6\n"
"Last-Translator: \n"
"Language-Team: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
"Language: ru_RU\n"

#: club.php:25
msgid "zibil"
msgstr "sdfsdfsdfsdf"

コード出力

<?php _e('zibil'); ?>

そしてwp-configに

define('WPLANG', 'ru_RU');

しかし、言語をロシア語に変更しても機能しない場合は、お手数をおかけしてありがとう.

1
Aram Mkrtchyan

WordPressはこの値をデータベースに保存するので(バージョン4.0以降)、wp-config.php内のdefine('WPLANG', 'ru_RU');は不要になりました。

しかし、私はあなたの問題は実際には違うものだと思います。

あなたのステップ:

localeにフィルタを追加します

あなたの言語が正しく設定されていることを確認するために、このようなコードを使用してください:

add_filter( 'locale', 'f711_set_language' );
function f711_set_language( $locale ) {

    // you can use any switches to define the language here
    return 'ru_RU';

}

テキストドメインを使用する

ローカライズされた出力がテキストドメインになるようにコードを変更してください。

<?php _e( 'zibil', 'your_textdomain' ); ?>

テキストドメインを正しくロードしてください。

テーマの場合は、これを使うことができます。翻訳ファイルが保存されている正しいディレクトリを必ず定義してください。

add_action('after_setup_theme', 'f711_load_theme_textdomain');
function f711_load_theme_textdomain(){
    load_theme_textdomain( 'your_textdomain', get_template_directory().'/languages' );
}

プラグインの場合はこれを使います。

add_action( 'plugins_loaded', 'f711_load_plugin_textdomain' );
function f711_load_plugin_textdomain() {
    load_plugin_textdomain( 'your_textdomain', false, dirname( plugin_basename( __FILE__ ) ) . '/languages' ); 
}

.poという名前を正しく付けてください

あなたの場合、翻訳ファイルはru_RU.poと呼ばれます。

あとで正しくセットアップする必要があります。

4
fischi