web-dev-qa-db-ja.com

Gettextの詳細

私はWordPress Codexのどこでもカバーされていないいくつかのgettext()質問を持っていますが、私はそれらが重要であると思います。

  1. THEMEの__('string')は、メインのWordPress翻訳ファイルにも存在する可能性が高い文字列に対して使用されるべきです。テキストドメインは必要ありません。例:1、2、送信、キャンセル、削除、その他の一般的な単語。正しい?
  2. THEMEの__('string', 'textdomain')はテーマ固有の文字列に使用されるべきです。例: 'このオプションはX機能を有効にします'。正しい?
  3. 私はそれがテーマのフロントエンドとバックエンドのために別のテキストドメインを作る方が良いと思います。 __('string', 'textdomain')__('string', 'textdomain-admin')のように。 100人の追加管理パネル文字列を翻訳するのに何時間も費やすことを望んでいるわけではありません。正しいですか、それは悪い習慣ですか?
  4. 各PLUGINはそれ自身のテキストドメイン__('string', 'plugin-name')を持つべきです。正しい?
  5. THEME文字列にCONTEXTを設定することは非常に有用であると私は思いますが、誰もこれを行いません。どうして? _x('add item', 'add slide text', 'textdomain')_x('add item', 'shopping cart', 'textdomain')のように。
  6. コメント、日付、通貨、時間、数字をどうやって翻訳するのですか?
    1. 例:1つのコメント、2つのコメント、しかしいくつかの言語では1つのコメント、2つのコメント、3つのコメントX、4つのコメントXY、5つのコメントXYZ、6つのコメントABXY.
    2. 例:ほぼすべてのテーマでthe_time(get_option('date_format'));が使用されています - echo date_i18n(get_option('date_format'), strtotime($post->post_date));でもecho date_i18n('F jS, Y'), strtotime($post->post_date));でもありませんか?
    3. 例:英語では12,345.12が使用されていますが、言語によっては12.345,12が使用されている場合があります。
5
Paul

興味深い質問、私は全力を尽くしますが、他の人も意見を出してくれることを願っています。

re 1.通常、メインのWordPress翻訳ファイルに存在する可能性が高い文字列に対しても、テーマのテキストドメインを使用します。

2.訂正する

私はそれが良い考えだと思いますが、それが悪い習慣なのかそれともそのような何かなのか私にはわかりません

4.訂正する

私もそれは非常に便利だと思います。

6.1。数ヶ月前、Ottoは文字列を国際化する正しい方法について 投稿 を行いました。数字に関連するものについては、彼は以下を与えます:

$string = sprintf( __('You have %d tacos', 'plugin-domain'), $number );

6.2正しい

6.3私はこれを調べなければならず、 WordPressフォーラム のスレッドで答えを見つけました。

if (0 < $numtags) $numcats= number_format_i18n($numtags);

テーマとプラグインの国際化はまだ広く普及していないことを覚えておいてください、WordPressは非常に米国(または英語)指向であり、今年だけ人々がそれにもっと注意を向けているようです。私は今年初めにこの問題について WPCandyの記事 を書きました。

1
user2015