0

私はdjango-articlesアプリをインストールしましたが、残念ながら英語以外の翻訳はなく、国際化のサポートは非​​常に貧弱です(メッセージの一部のみがmessages.poにあります)。

まず、管理インターフェイスを翻訳しようとしています (これは私にとって重要です)。

ただし、大きな問題があります。Django がフィールド名を生成する方法と、アプリを翻訳するために何を編集すればよいかわかりません。

fieldsets = (
     (None, {'fields': ('title', 'content', 'tags', 'auto_tag', 'status')}),
     ('Relationships', {              
          'fields': ('related_articles','followup_for' ),
          'classes': ('collapse',)
      }),
....

admin django では、サブフィールド「タイトル」、「コンテンツ」、「タグ」を持つブロックを生成し、サブフィールド「関連記事」、英語のタイトルを持つ「フォローアップ」などのブロック「関係」を生成します。( LANGUAGE_CODE は英語と等しくありません)

これはdjangoのどこで変更され、どのように翻訳できますか?

ps。msgid "Title" (または "title") を messages.po に入れようとしましたが、メッセージをコンパイルしても何も変わりませんでした。

4

1 に答える 1

2

このアプリは翻訳をサポートしていないようです。翻訳する文字列は gettext 関数でラップする必要があります (参照: https://docs.djangoproject.com/en/dev/topics/i18n/translation/ )

たとえば、管理者の場合:

 from django.utils.translation import ugettext as _

 ...

 fieldsets = (
 (None, {'fields': ('title', 'content', 'tags', 'auto_tag', 'status')}),
 (_('Relationships'), {              
      'fields': ('related_articles','followup_for' ),
      'classes': ('collapse',)
  }),

追加した _() 関数に注意してください。

モデル フィールドの翻訳は、models.py などで同じ方法で行う必要があります。

title = models.CharField(verbose_name=_("Title"))

終了したら、.po ファイルを生成できます。

./manage.py makemessages -l <language_code>

詳細については、ドキュメントを参照してください。

于 2013-02-13T11:47:33.047 に答える