問題タブ [python-babel]
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.
python - Jinja2 と Babel で、HTML タグを含む文章を翻訳するにはどうすればよいですか?
Jinja2 テンプレートがあり、Flask-Babel を使用してプロジェクトを翻訳しているとします。例えば:
それで、リンクと強調のある文があります。次に、自分の文を翻訳したいとします。明らかな方法は、gettext()
または{% trans %}
タグを使用することです:
明らかに問題は、これが文をうまく翻訳できない複数の断片に分割することです。これにより、翻訳者は文字列「The」、「best」、「way to use the Internet is to use」、および「our site」をすべて別個の文字列と句読点と見なすことになります。もちろん、翻訳者は文を再構成し、どの単語をリンクして強調するかを個別に選択する必要があります。
それを踏まえて、解決策は何ですか?タグを含む文を 1 つの単位として翻訳するにはどうすればよいですか?
python - Flask-Babel 多言語 URL ルーティング
私は多言語サイト (EN と FR) を作成しています。ユーザーが選択した場合は、クリックで前後に切り替える必要があります。私は Flask-Babel を使用しており、翻訳とトグルはクリック時に正しく機能していますが、URL も翻訳する必要があります。現在、英語とフランス語の両方の URL を使用して、URL ルートを次のようにラップしています。
言語を取得してトグルする残りのコードは次のとおりです。
ユーザーがリンクをクリックして言語を変更するテンプレートは次のようになります。
私は Python/Flask の経験がほとんどないため、翻訳された URL に切り替える最善の方法に苦労しています。どうすればこれを行うことができますか?任意の情報をいただければ幸いです。前もって感謝します。
python - Flask-Babel を使用した Flask テストのセットアップ
モジュールsetUp
でやりたいです。unittest
私のFlaskアプリはファクトリ(create_app)を使用して作成され、i18n /にFlask-Babelを使用しています
create_app
関数呼び出しconfigure_extensions(app)
は次のとおりです。
アプリを実行すると正常に動作しますが、次のようなエラーが発生するため、単体テストを適切に作成できません。
「localeselector 関数は既に登録されています」というメッセージが表示されたため、各テスト メソッドが呼び出されたときにsetUp
のメソッドが呼び出されたことが問題だと思いました。unittest
したがって、私は次@classmethod
setUpClass
のように変更しました:
ただし、@babel.localeselector
デコレータ@babel.timezoneselector
は機能しません。
python - アプリ ファクトリで定義されている Flask 拡張機能にアクセスする
アプリ ファクトリ パターンを使用して Flask アプリケーションをセットアップしています。私のアプリは Flask-Babel 拡張機能を使用しており、これも工場でセットアップされています。しかし、それを使用するために設計図で拡張機能にアクセスしたいのですが、
工場は にあり__init__.py
ます。
に以下を追加したいmain.py
:
残念ながら、アプリケーション ファクトリから変数main.py
にアクセスすることはできません。babel
これを解決するにはどうすればよいですか?
python - Flaskで2つの言語を切り替える方法は?
Flask-Babel
この目的のために使用している 2 つの異なる言語でサイトを作成したいと考えています。
これが私のsettings.py構成です:
ここでは、私のアプリで使用している 2 つの言語を含む辞書を見ることができます。
ここにviews.pyがあります:
inject_url_for 関数は、アプリケーション内のすべての url_for() 呼び出しを変更して、 lang という追加のパラメーターを渡す必要があることを意味します。それが私が正確に行ったことです。ここにインデックス関数があります。
いいですね。
アプリケーションをそのまま実行しても何も変わらず、デフォルトの言語である英語が表示されますが、ロシア語に切り替えると機能しません。
どんな助けでも大歓迎です:)。
python - 2017 年の日付に対して 2016 を返す Babel date_format
指定された言語用に書式設定された日付を表示しようとしていますが、それを見て少し驚いています:
次の期待値が得られます。
その間:
私に与えます:
なぜ2017年ではなく2016年なのですか?
python - Flask + Flask-Security + Babelが機能しない
Flask + Babel + Flask Security をセットアップしました。次のようにすべての翻訳を作成しました。
- 根
- main.py
- 翻訳
- ル
- LC_MESSAGES
- メッセージ.mo
- メッセージ.po
- LC_MESSAGES
- ル
main.py には、以下を実行するセットアップ言語の一部があります。
しかし、http://localhost/loginは翻訳されないままでした。他にどこを掘るべきかアドバイスをお願いできますか?Debug = Trueでもログにエラーはありません