問題タブ [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.
flask - デフォルトのパラメーターの url_for に渡す方法は?
私は多言語ウェブサイトを開発しています。ページには次のような URI があります。
そしてjinja2テンプレートで私は書きます:
すべてのurl_for
呼び出しで lang_code=g.current_lang を記述する必要があります。
暗黙的に渡すことは可能lang_code=g.current_lang
ですか? url_for
そして書くだけ {{ url_for('about') }}
私のルーターは次のようになります。
python - なぜ1時間が間違っているのですか?
時刻は、ストックホルム (ヨーロッパ) で 15:0x です。しかし、私はローカライズされた時間を1時間間違えています:
間違いは何ですか?
localization - Jinja2 が翻訳を認識しない
Pelican でサイトを構築しており、テンプレートのローカライズに関するこのガイドに従っています。
ただし、ペリカンの出力は"ERROR: Cannot find translations for language 'en' in 'translations/' with domain 'flobin'. Installing NullTranslations."
、ペリカン コマンドを実行すると次のように表示されます (詳細はこちら)。
これは左側の私のディレクトリ構造で、正しい構造だと思います。
Babelをインストールしました。
何がうまくいかないのですか?
python - Jinja の {% trans %} を拡張して JavaScript 変数を使用する
trans
変数をコンテキストからの値としてではなく、(コンテキストを使用せずに) html としてレンダリングすることにより、 の動作を拡張したいと思います。私の目標は、JavaScript を使用してクライアントにこれらの変数を入力できるようにすることです。
Jinja は、この種のカスタマイズを大幅に許可していないようです。または、適切なフックを見つけることができないだけです。
これが私が達成したいことです:
これは次のようにレンダリングする必要があります。
もちろん、通常の{% trans %}
ディレクティブを使用して自分の html コードを に渡すこともできますtemplate.render(html_code_params)
が、その場合、避けたいテンプレートとレンダリング コードでそれらを定義する必要があります。
これまでに得たもの (それほど多くはありません) は、新しいetrans
タグと、提供するあらゆるグッズを使用できる機能を可能InternationalizationExtension
にします。
より多くのメソッドをオーバーロードしてもかまいません (ただし、上記の理由はおそらくアップストリームで修正する必要があります)。
コードをステップ実行することは、非常に興味深い冒険です。しかし、私は問題を抱えており、誰かがアドバイスをくれるかどうか興味があります.
私が見る問題は、コンパイル中に関数 context.resolve() がコンパイルされたコードに焼き付けられることです。jinja2.jinja2.compiler.CodeGenerator
ここで異なる処理を実際に許可することはありません (間違っている場合は修正してください)。理想的には、(変数用に) 別のノードを定義し、このノードがコンパイル中に処理される方法を処理しますが、これがどのように可能かわかりません。私は解決策としてこれに集中しすぎているかもしれないので、誰かが代替案を提供できるかもしれません。
python - Jinja2 でのバベルとのリンクの使用
現在、Flask と Jinja2 を Babel と組み合わせて使用しています。これまでのところ、すべてがうまく機能しています。
私が直面している唯一の問題は、翻訳されたテキストでリンクを使用する場合です。HTML に以下があるとします。
これをbabelと組み合わせてどのように使用しますか?
私は次のコードを考えていましたが、翻訳された言語で単語の順序が同じでない場合に問題が発生します。
もう 1 つのアイデアは、HTML 全体を翻訳対象の文字列に入れることでしたが、文字列エスケープを使用できなくなりました。
これを行うための好ましい方法は何ですか?
python - Jinja2 を使用した Pyramid プロジェクトでの Babel の使用
Jinja2 を使用する Pyramid プロジェクトがあります。setup.py に以下を追加して、Babel を使用しようとしています。
そして、私はsetup.cfgファイルを持っています
しかし、私が走るとき
python setup.py extract_messages
テンプレート ファイル (.html) からメッセージを抽出しようとしていることがわかりますが、_ も {% trans %} も認識しないため、.pot ファイルは空です。
何か特別なことをする必要がありますか?