問題タブ [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 - 国コードなしで gettext を使用しようとしています (「es_ES」ではなく「es」)
私のphpプロジェクトには次のファイルがあります:
どちらも PoEdit で編集された同じファイルで、Catalog->Properties->Language (それぞれ es と es_ES) が異なるだけです。
そして、このコードを localization.php ファイルに
このコードは正常に機能し、「翻訳する文字列」が正しく表示されます。ただし、一般的な「es」コードを使用しようとすると:
...文字列は翻訳されません。私のubuntuにインストールされているロケールに関連しているようです(es_ES.utf8は存在しますが、es.utf8は存在しません)
gettext に es.UTF-8 ファイルを強制的に使用させることはできますか?
php - PHP `gettext` が Ubuntu で機能しない
get text
PHP を使用して、Web サイトに多言語サポートを追加しようとしています。これまでのところ失敗しており、その理由はわかりません。
私のi18n.php
ファイルにはこれがあります:
次に、で./locale/pt_PT.utf8/LC_MESSAGES/messages.po
:
次に、ファイルを生成し.mo
ます。
PHP では、Linux システムにロケールがインストールされている必要があるようですlocale -a
。
i18n.php
ファイルへの最初のインクルードindex.php
ですが、メッセージは表示されません。私が見逃しているものはありますか?
php - Gettext が断続的に動作する
これらの行を使用して、小枝で国際化と {% trans %} タグを有効にすることに成功しました。
小枝のテンプレート:
残念ながら、ランダムに動作します。つまり、毎秒、またはページ間で F5 キーを押し続けていると、翻訳された文字列に切り替わる場合があり (「Translation.Key」が「出力するローカライズされた値」になる)、場合によってはフォールバックします。 {% trans %} タグ ("Translation.Key") の下の文字列を出力します。
その間、ログにエラーが表示されません。問題の原因を理解し、一貫して機能させるために何を確認する必要がありますか?
前もって感謝します。
php - PHP gettext 簡体字中国語のサポート?
PHP プロジェクトの 1 つで繁体字中国語をサポートしようとしていますが、漢字を表示できません。これが私のgettextセットアップです:
前に、次のように入力して、SSH でロケールを作成しました。
次に返されたもの:
入力後locale -a
、リストに次のものが表示されます(特に):
それでも、漢字は表示されません。ここで何が間違っていますか?
php - Network Solutionsサーバーでphp gettextがまったく翻訳されない
Web サイトの再設計に使用せざるを得ないサーバーで gettext に奇妙な問題が発生しています。お客様はネットワーク ソリューションをプロバイダーとして使用することに慣れているため、現在、プロバイダーを変更することはできません。とにかく問題は次のとおりです。
gettext がインストールされていない可能性があると思ったので、phpinfo を確認したところ、有効になっています。
gettext GetText のサポートが有効
私も使用して確認しました
if (!function_exists("gettext")) { echo "gettext がインストールされていません\n"; } else { echo "gettext はサポートされています\n"; }
出力は言うgettext is supported
次に、サーバーがネイティブの gettext に問題があるのではないかと考えたので、これを使用してみましたhttps://launchpad.net/php-gettext/。サーバーにアップロードしましたが、どちらも機能していません。
私のヘッダーの設定は
$locale
および$domain
サーバーは関数の前に割り当てられます。
gettext を使用した同じコードが、ローカルの Apache サーバーで正常に機能しました。
問題は何ですか?サイトはそれほど大きくないので、翻訳にデータベースストレージを使用することを検討していますが、そのアイデアにはあまり興味がありませんが、なぜこれが起こっているのかわかりません.
ロケール ファイルが正しく配置されて./locale/language_code/LC_MESSAGES/file.po
おりfile.mo
、bindtextdomain の戻り値をエコーすると、ロケールへのフル パスが表示されます。
助言がありますか?
php - intl による PHP の国際化
PHP アプリケーションを国際化する良い方法を探しています。これまでの私の結論は、私は使用しないということですgettext
(ランダムに失敗し続け、キャッシュの実装が悪いlighttpd
と思います)、Zend
私にはオプションではありません。
PHP 5.3 で導入されたPHP 国際化機能に非常に興味があります。しかし、それが仕事のためのツールであるかどうかはよくわかりません。アプリのローカリゼーションにこの人を使用することに関する記事は見つかりませんでしたが、BundleResourceがまさに私が欲しいものであるようです。
ここの誰かが、それが進むべき道であり、リソースバンドルを整理/作成/入力/使用する方法を確認できますか? 公式ドキュメントが表面的すぎる (例: ResourceBundle::create ) か、ここに何かが欠けています。
それ以外の場合は、最後の手段として配列を使用します。ああ!
php - gettext をキャッシュする必要がありますか?
私はしばらく PHP の gettext 拡張機能を使用してきましたが、その機能には満足しています。.mo
たとえば、文字列をファイルから Memcached サーバーにキャッシュするクラスを作成する意味があるかどうか疑問に思っていました。
gettext によって収集された文字列をキャッシュすることでメリットが得られますか、それともそのままにしておく必要がありますか?
php - Gettext が英語に翻訳されているが、フランス語には翻訳されていない
そこで問題は以下。各言語のコンテンツ配列から、元の言語に 2 つ追加された gettext サイトにサイトを変換しています。
私の基本言語は es_MX で、en_US と fr_FR の翻訳があります。
.htaccess で次のパラメーターを使用して、ロケールに関する情報を渡します。
したがって、$_GET パラメーターを確認すると、すべてが正しく受信されます。
ケース 1: デフォルトの es_MX
ケース 2: en_US
ケース 3: fr_FR
その後、ソーシャル ネットワークのプラグインや属性で使用する言語変数をいくつか用意するために、次の条件が必要です。
その後、次を使用してロケールを初期化します。
私のロケールは次の場所にあります: - 英語 (./locale/en_US/LC_MESSAGES/hacienda.mo) - フランス語 (./locale/fr_FR/LC_MESSAGES/hacienda.mo)
私が実行exec("locale -a",$output)
したところ、サイトには多くのロケールが表示され、その中には fr_FR.utf8 を含むいくつかの fr_FR エントリがあります。
生成される html は次のとおりです。
ロケール ファイルの名前を変更して新しいファイルも作成しようとしましたが、フランス語の翻訳が得られないようです。何がそれを引き起こしているのでしょうか?