問題タブ [transifex]
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 - gettext で言語を「スタック」する方法
おそらく誤解を招くタイトルです。申し訳ありませんが、以下でよりよく説明できることを願っています。
私は人気のあるオープンソース プロジェクトの一員であり、視聴者が望む言語コードのプロジェクトの翻訳を提供したいと考えています。私たちの翻訳はすべてユーザーベースによって提供されており、この支持者/ユーザーの団体が必要とするものは何でもサポートしたいと考えています.
このプロジェクトは Python/Django で書かれており、翻訳提案を管理する素晴らしいサービスとして gettext と最終的に Transifex を使用しています。
問題は、誰かが言語のロケール バリアントを必要とする場合です。この質問ではフランス語 (fr) を仮定しましょう。
言語コードの確かな翻訳がすでにありますfr
。しかし、たとえばカナダからの寄稿者がやって来て、寄稿を希望した場合fr_CA
、次のシナリオのために突然メンテナンスの頭痛の種になります。
翻訳は
fr_CA
不完全です。この場合、gettext は「未翻訳」にフォールバックします。これは、このプロジェクトでは を意味しen
ます。翻訳が
fr_CA
から大量のビットをコピーしfr
、ロケールによりよく一致するようにあちこちでいくつかのビットを変更するだけである場合、ベースのfr
翻訳で何かを変更する必要があることがわかり、突然、そうではない同期の問題が発生します。fr_CA
話せない貢献者でも簡単に解決できます。
私にとってもっと理にかなっているように思われるのは、言語を「積み重ねる」ことができる何らかの形式の「オーバーレイ」設定があるということです。fr
ベースで、次にfr_CA
、さらに特定のロケールバリアントをその上に配置します。私が望むのは、これらがすべて定義されたら、翻訳者はfr_CA
そのロケールとスタック内の「下」のロケールの違いを更新するだけでよいということですfr
。より一般的なロケールと比べて変わらないものをレイヤーの下に残すことで、同期の問題を発生させることなく、必要に応じて修正/更新を自由に行うことができます。
この種の「スタッキング」は、コンパイルされた MO ファイルを作成する過程で最終的に解決されると思います。
これを達成する方法を知っている人はいますか?
yaml - 非標準の yml ローカリゼーション ファイルを、Web 翻訳に使用できる php 配列またはその他の形式に変換します
Transifex Stellaris ローカリゼーション ファイルをオンラインで翻訳しようとしましたが、ローカリゼーション標準に従っていないため、正しくインポートされません: http://docs.transifex.com/formats/yaml/
たとえば、次の 1 つのファイルがあります: http://pastebin.com/abKLLSpX
いくつかのオンライン(およびオフライン)ツール/スクリプトを使用して、Transifexで使用可能なphp配列またはその他の形式に変換しようとしましたが、エラーなしで変換するものは見つかりませんでした。たとえば、Symfonyではエラーが発生しました:
Transifex で使用できる形式に正しく変換する方法について誰かアドバイスをもらえますか?
返信ありがとうございます。
delphi - PUT を使用して TIdHTTP でファイルをアップロードする
TIdHtttp で PUT を使用してファイルをアップロードしたいと考えています。Remy Lebeau から、PUT を使用せずに POST を使用するようにという回答が見つかりました。
しかし、私の場合は、3 番目の API を使用していて、PUT を使用する必要があると指定されているため、それを行うことはできません。POST を使用しようとすると、メソッドが許可されていないというメッセージが返されます。
基本的に、私は次のようなことをしようとしています:
しかし、私がそれをすると、500 - Internal server error
.
私が削除した場合:
私は得る400 - Bad Request
。
私はすでにブラウザー (高度な REST クライアント - クロム) から直接要求を実行しようとしましたが、動作します。したがって、APIは機能しています。動作時のメッセージのヘッダーは次のとおりです。
コードはここにありませんが、はい、承認情報を構成しました。機能しています。他の API 呼び出しを使用できるため、これを確認できます。
アップデート
これは私が使用しようとしている API ですPUT
: http://docs.transifex.com/api/translations/#put
私が試した方法:
1) この 1 つのリターン500 - Internal Server Error
. コンテンツタイプのDSオブジェクトも作成してみましたapplication/octet-stream
。しかし、同じエラーが発生しました。
2)回答で提案された方法ですが、機能していません。私もエラーになりました500
。
javascript - parsley.js ローカリゼーション カタログをバイパスし、js で gettext() を使用する
私はクライアント側の検証に parseley.js を使用しています - これまでのところとても良いです!
ローカリゼーション用のメッセージを保存するために transifex を使用しています。パセリ カタログの代わりにメッセージ翻訳用の JavaScript で gettext() のようなものを使用する方法を見つけたいと思います。これを行う正しい方法は何ですか?英語 (デフォルト) のメッセージを更新しようとしましたが、うまくいかないようです。私はParsleyjsを初めて使用するので、明らかな質問をしているのに理解できない場合はご容赦ください。
これは機能していません (parsley.js から):
django-templates - Transifex で Django テンプレートを処理するには?
Transifex は、Django プロジェクトの翻訳を内部的に管理するために広く使用されています。gettext (PO) ファイルでは非常にうまく機能します。ただし、Django テンプレートは、既知の形式の 1 つではありません。HTML であることを Transifex に伝えることができます。その場合、次のようになります。
そしてそれを次のように変えます:
追加の問題は、Transifex がテンプレート マークアップを翻訳対象の文字列として扱い、ファイルを調べてそれぞれを「ロック済み」としてタグ付けすることを強制することです。それでも、マークアップは単語数にカウントされると思います。
Django テンプレート タグの周りに HTML コメントを追加しても機能しません。それらはテンプレートの一部になり、最終的なドキュメントに挿入されるからです。テンプレート タグをコメント アウトし、ファイルを後処理して削除することもできますが、Transifex がコメントをそのままにしておくという保証は必ずしもありません。
だれかが、テンプレートをむしゃむしゃ食べずに Transifex に渡すことができる、より優れた戦略を持っていることを願っています。