文字列を男性/女性名詞で言語に翻訳する


9

したがって、英語では性別の名詞はありません。それは常に「テーブル」または「デスク」であり、「une table」または「un tableau」(フランス語)であることを心配する必要はありません。だから私の質問は、フランスの.moファイルで作業しているときに、次のような文字列をどのように翻訳するかということです。

子テーマに%sを含めることができます

"a"は%sが何であるかに依存するので?

回答:


7

すべての文字列が翻訳用の独自のテンプレートを取得する場合、これは問題ではありません。

You can include a %s in a childtheme.異なる名詞に文字列を複数回使用すると、翻訳できません。

最近の記事からの例:New %sドイツ語です(そう、私たちは性別名詞も持っています)…

  • Neues Buch(本の場合はニュートラル)
  • Neuer Film(映画、男性向け)

...ので、あなたが書かなければならないNew book し、 New movieYou can include a logo in a child theme. You can include a stylesheet in a child theme.

サイドノート

これが、翻訳ファイルが非常に多くのメモリを使用する理由の1つです。非常に類似した文字列を多数「繰り返す」必要があります。英語でのWordPressインストールはおそらく32MBのPHPメモリで正常に動作しますが、ドイツ語またはフランス語の翻訳で同じものを使用した場合、それだけで終了します。

テーマまたはプラグインがフロントエンドとバックエンドに多くの翻訳可能な文字列を使用している場合、2つのファイルを使用することを検討してください。1つはバックエンド用、もう1つはフロントエンド用のファイルです。

load_theme_textdomain( 
    'your_text_domain', 
    get_template_directory() . '/languages' . ( is_admin() ? '/backend' : '/frontend' )
);

WordPressコアは、パフォーマンス向上のためにこのシステムに変更されました。


toschoに感謝します。元の文字列の目的をさらに掘り下げ、%sが何に使用されているかを確認する必要があると思います。バックエンドとフロントエンドの文字列を分離するにはどうすればよいですか?
helgatheviking

@helgatheviking私のアップデートを見てください。
fuxia

落とし穴。それをありがとう。もう1つ、文字列が1度しか使用されない場合は、%sのままにして、コンテキストの説明を提供できますか?
helgatheviking 2012年

@helgathevikingはい、あなたはそれを行います。しかし、これによって翻訳がどのように簡単になるかはわかりません。コンテキストパラメータもハードコードされた文字列でなければなりません。ここではPHP変数を使用できません。
fuxia

はい、私たちにも性別名詞があります」マーク​​トウェインのことを思い出します:文芸ドイツ語が文に飛び込むときはいつでも、彼が大西洋の反対側に動詞を伴って現れるまで、それは彼が最後に見ることになるでしょう。口。
ブラソフィロ

0

ヘルガ、バイキング…これはシンプルで興味をそそられる質問の1つのダムだと思います。

単純なビューでは、問題は%s性別ではなくであるように見えます:

%s子テーマに含めることができます

問題を複雑にして、gettext toschoの再翻訳ウィザードがこれに対処するのか、それとも主題外であり、WP Polyglotsで処理する必要があるのか​​はわかりません。

サイドノート:ハウツー:PoEditでテーマ/プラグインの複数のフォームを翻訳する


ふw、この翻訳は複雑です。当然私は当たり前のことばであると思います!このスレッドがWPポリグロットでより優れているとしたら、誰かがそれを動かしてくれることを願っています。
helgatheviking 2012年

さて、今、au contraire、toschoによって提供される標準的な回答により、WP Polyglotsは件名の参照としてこの投稿を使用する可能性があります:)
brasofilo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.