問題タブ [php-gettext]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP gettext が機能しない
アパッチ 2.4 + PHP 5.5
私は絶対に確信してmydomain.po
いmydomain.mo
ます/absolute/path/to/messages/ru_RU/LC_MESSAGES/
。
また、これらのファイルを OS X Maverics の同僚に渡しましたが、問題なく動作しました。
php gettext を機能させることができません。
私は約数時間グーグル/スタックオーバーフローしましたが、さまざまな解決策を試しましたが、まだ機能していません。私は何を間違っていますか?
gettext ファイルが確実にリロードされるように、何かを変更するたびに apache を再起動します。
ここに私のlocale -a
出力があります:
もう 1 つのコマンド出力:
さて、私は理解しました:
sudo locale-gen ru_RU
(新しいロケールを追加しましたが、文字セットは異なります)、setlocale(LC_ALL, 'ru_RU.UTF-8');
すべての作業を行いました。
手伝ってくれてありがとう。
php - Yii: GetText _() 対 Yii::t()
Yii で GetText を使用して文字列を翻訳する場合Yii::t($category,'message')
、gettext の_('message')
構文を使用する必要がありますか?
And then how do we pull the strings into a PO file?
php - PHP: 変数を含む文字列のローカライズ
gettext
これまでのところ、文字列に変数が含まれていない限り、文字列を でローカライズする際に問題はありませんでした。この優れたチュートリアルの手順に従いましたが、これをこの関数に適用しようとすると、問題が発生します。
私の文字列は次のmessages.po
ようになります。
残念ながら、これらの文字列は翻訳されませんが、他のすべて (変数なし) は完全に機能します。ここで何が間違っていますか?
php - Debianでphp gettextの翻訳が機能しない
(他の質問を見た ことがありますが、それらの回答は役に立ちませんでした)
私は、翻訳に php gettext を使用するアプリケーションを持っており、OSX と FreeBSD で何年も働いています。Debian 7.6 32bit ( ) に移植しようとしたところLinux debian32bit 3.2.0-4-686-pae #1 SMP Debian 3.2.60-1+deb7u3 i686 GNU/Linux
、翻訳以外はすべて機能しました。CLIワンライナーに問題があります:
locale/nl/LC_MESSAGES/foo.mo
のオランダ語訳が含まれていlow
ます。laag
OSX Maverick の場合:
FreeBSD 10 64 ビットの場合:
ただし、Debian 7 では:
php-gettext がインストールされています。
locale -a
与えます:
だから私は nl_NL.UTF-8 の代わりに nl_NL.utf8 を試しました: 同じ結果。
foo.mo
ファイルを下に置いてみましたがlocale/nl_NL/LC_MESSAGES
、同じ結果です。
locale
現在の作業ディレクトリへの相対パスの代わりに絶対パスを使用しようとしましたが、同じ結果になりました。
私はここで途方に暮れています。続行する方法について何か提案はありますか?
php - Web サーバーに組み込まれている PHP は gettext をサポートしていますか?
Ubuntu 14.04で実行されているApacheでこれを試していますが、正常に動作します:
しかし、Webサーバーに組み込まれたPHPで試してみると、英語版しか得られず、それがこれら2つの唯一の違いです。gettext は Web サーバーに組み込まれている php でサポートされていますか? それを回避する方法はありますか?
手伝ってくれてありがとう!
php - 複数の複数形を含む文字列を翻訳するには?
フォルダーの内容を一覧表示するスクリプトを翻訳したいと考えています。含まれているファイル、フォルダー、および合計サイズの概要が表示されます。これまでのところ、すべての文字列を を使用して翻訳しましたが、ここで立ち往生しており、複数の複数形を含む可能性gettext
のある文字列の翻訳を解決するエレガントな方法を探しています。言うまでもないかもしれませんが、言語はそれぞれ違うので、文字列の連結は避けたいです。
可能な状態 (0 のケースは意図的に省略されています):
- 1フォルダ1ファイル、合計100キロバイト
- 1 フォルダと 2 ファイル、合計 200 キロバイト
- フォルダ2つとファイル1つ、合計100キロバイト
- フォルダ2つ、ファイル2つ、合計200キロバイト
ngettext()
の適切な置き換えになると思いますが_()
、それを私の例と組み合わせることは頭を悩ませています。
php - gettext PHP関数を使用して他の言語に翻訳できません
Windows で WAMP サーバーを使用し、テスト プロジェクトを作成します。これらのファイルが Web サイト フォルダーにあります。
C:\wamp\www\project\locale\ar_EG\LC_MESSAGES\messages.po C:\wamp\www\project\locale\en_US\LC_MESSAGES\messages.po
以下はPHPコードです:
上記のコードは正常に動作しています。に置き換えようとするとen_US
、ar_EG
の翻訳も表示され、フォルダーen_US
を削除して再試行すると、 notが表示されます。en_US
msgid
msgstr
setlocale
検索したところ、Windows プラットフォームに問題があることがわかりましたが、Windows で実行するには解決策が必要です。
php - PHP のバージョンがわかりにくい - Gettext が PHPStorm で動作しない
私は面倒な設定をしており、Mac OSX Yosemite で複数のバージョンの PHP を使用することになり、今では混乱しています。そのため、ローカリゼーションのために gettext を PHP で動作させることができました。これは Apache でも動作します。しかし、PHPStorm をインストールすると、次のようになります。
未定義関数 bindtextdomain() の呼び出し
gettext がサポートされていないことを示します。php.iniもこれが有効になっていないことを伝えていることを理解しています.apacheを使用して同じファイルを実行し、PHPStormで組み込みサーバーを使用すると、phpinfo()出力が異なります。
どのPHPが現在Apacheで使用されているかを知り、PHPStormで正確な機能を複製できる方法はありますか? デバッグが速くなることを願っていましたが、代わりにセットアップが行き詰まりました。