2017-01-26 13 views
0

です。私はDjangoを使って国際化をしようとしています。私はドキュメントをたどり、それを正しく設定することができました。ここdjangoでサポートされている言語は、I18N、ローカライゼーション

私の質問には、すべての言語がジャンゴによってサポートされている何

i)はありますか?

ii) 'de'、 'de-at'という言語の '.po'、 '.mo'メッセージファイルを作成しましたが、APIからこれらのリソースにアクセスしようとすると、両方のケースで 'de'から。 Djangoは 'de'メッセージファイルリソースによって 'de-at'を上書きしますか?それはなぜそうですか?

私は以下のコマンドを使ってプロジェクトディレクトリ内で実行することによってメッセージファイルを作成しました。

django-admin.py makemessages -l de 

上記のコマンドを実行した後。両方の言語のリソースを「.po」ファイルに対応させて追加しました。

django-admin.py compilemessages 

助けていただければ幸いです。

+0

ミドルウェアだけでなく設定にも言語を追加しましたか? – sebb

+0

いいえ。設定ファイルに言語を追加していないため、一部の言語でうまく動作しています。私はjapanese(ja)で試しました。設定ファイルに言語を追加しなくてもうまくいきます。 – Teja

+1

'de_AT'という書式を使ってみましたか?djangoのドキュメントには使用すべきことが書かれていますか? https://docs.djangoproject.com/en/1.10/topics/i18n/#definitions –

答えて

0

de-atはDjangoでサポートされていません。したがって、デフォルトでDjangoはメッセージファイルを取ります。

Djangoのドキュメントは言う:これらの場所のそれぞれにおいて

、言語設定を文字列として、標準言語形式であることが予想されます。たとえば、ブラジルのポルトガル語はpt-brです。

基本言語が利用可能であるが、指定されたサブ言語が使用できない場合、Djangoは基本言語を使用します。例えば、ユーザがde-at(オーストリア語のドイツ語)を指定しても、Djangoが利用可能である場合、Djangoはdeを使います。

の質問は、これはあなたを助けるかもしれない実際の場合にはそのためにはファイル 'デ・

0

内部のメッセージを返します。

ウェブサイトをdeとde-atに翻訳する作業がありました。 Djangoはde-at言語をサポートしています。 サポートされている言語のリスト: https://msdn.microsoft.com/en-us/library/ms533052(v=vs.85).aspx git language_infoに、サポートされている言語のリストもあります。 言語で作成した場合、de-at-dashはde_AT(makemessages de_AT)という名前のロケールの区切り文字とフォルダです。 Djangoはそれらを異なる言語として定義しています。フロントエンド側で問題が発生している可能性があります。あなたのフロントエンドフォームを変更しようとするので、サブ言語のdjangoのドキュメントクラッシュから私のケースのフォームでは、別のstackoverflowの質問で見つけることができます。

関連する問題