Django管理エリアをRussifyします-ケース、性別、番号を考慮します

Djangoの利点については長い間話すことができますが、悲しいかな、少なくとも一度はロシア語のプロジェクトの管理パネルに入った人は誰にとっても大きな不快な問題を観察することができました。 英語圏の開発者は、英語以外の言語での出産、偏位、および数字の問題について不明であり、悲しいことに、多数のチケットにもかかわらず、verbose_nameおよびverbose_name_plural以外のサポートは表示されず、管理インターフェイスには「画像を追加」という碑文がいっぱいです調停者が非常に不快であることなど。 しかし、解決策があります:



すぐに予約を行うと、この決定は次の設定に基づいて行われました。

1. Djangoのソースコードを変更しないでください。
パッチをドラッグするとプロジェクトを展開するのが難しくなるため、トランクを使用する人にとっては、次回の更新後にパッチが適用できなくなる可能性があります。 (ただし、パッチは計画されていますが、インターフェースの安定化後に行われます)
2.既存および新規プロジェクトでの実装に関して、可能な限り単純でなければなりません。

3.すでに記述されたコードの作業を中断してはなりません

4.動作するはずです:)
現時点では、トランク1.2のみがサポートされていますが、本当に必要な場合は、1.1のオプションを追加できます


同時に、結果のコードは恐ろしいと正直に言うことができますが、 うまくいきます。 そして、私はこのモジュールが書かれている方法を書くことを誰にも勧めません。 (これは私のせいだけでなく、ジャンガの作者でもあります:))



設置


0. hg clone django-ruadmin.googlecode.com/hg django-ruadmin

リポジトリには、ruadminの動作を確認できる既製の作業プロジェクトが含まれています

1. django-ruadmin / verbose_test / templatesの内容をTEMPLATE_DIRSにあるディレクトリに配置することにより、いくつかのdjango adminテンプレートをオーバーライドします。

2. pyadminモジュールをPythonが見つけられる場所に置きます

3.モデルファイルに次のインポートを追加します



from pyadmin import verbose_name_cases, verbose_name_field_cases







4.モデルのコードで、verbose_name文字列の割り当てをverbose_name_casesのインスタンスに置き換えます



verbose_name = verbose_name_cases(u"", (u"", u"", u""), gender = 0, edit = u"", delete = u"", add = u"")

verbose_name_plural = verbose_name.plural








最初のパラメーターは主格の場合は単数形を示し、2番目のパラメーターは3つの複数形のタプルであり、オプションの性別パラメーターは性別(0-女性、1-男性)であり、編集、削除、および追加という単語を使用する3つのケースです。 最後の3つのパラメーターについては、言語を知っているhabruユーザーに質問があります。つまり、ロシア語では1つのパラメーターを使用できるため、3つのケースを分離する必要があります。どこかに重宝します。



5.モデルフィールドのverbose_nameを指定する場合、次のコードを使用します



name = models.CharField(max_length = 512, blank = False, verbose_name = verbose_name_field_cases(u'', sort = u""))







6.パッチを当てたpytilsをdjango-ruadmin / verbose_testからPythonが見つけられる場所に置きます。 このモジュールがすでに使用されている場合は、交換することを恐れることができます*



結果




1.碑文の要素のリストで、「選択された16個のチェックのうち0個」が「選択された16個のチェックのうち0個」に変わります。

2.ボタン、および「テストの追加」、「テストの削除」などの単語 「検証の追加」などになります。

3.「テスト」テスト「追加されました」から追加した場合のメッセージは、「テスト」テスト「追加されました」になります

4.ソートにモデルフィールドを使用する場合、「名前別」は「名前別」に変わります



*ピチルについて少し追加。

モジュールでの唯一の変更点は、「N of Mオブジェクト」の行を正しく弓にする方法を知っているタグの追加です。 このタグが存在する場所は定かではありませんが、コメントをお待ちしております。



All Articles