2014-10-03 92 views
1

我試圖啓用django項目的翻譯和django-admin.py makemessages -l de似乎並沒有創建任何.po文件,雖然有幾個{% trans ... %}模板和幾個gettext(...)在測試模型中。 根據文檔https://docs.djangoproject.com/en/1.7/ref/django-admin/#django-admin-makemessages,該命令應搜索整個項目樹中的翻譯並在例如文件中創建相應的文件。 conf/locale目錄如果沒有指定設置。 我得到的唯一結果是processing locale rudjango-admin.py makemessages創建沒有文件

任何方式來調試它,也許知道我在谷歌找不到的陷阱?

回答

2

讓我回答我的問題:)

的問題是,我:

  1. 沒有import gettext as _但確實import gettext as t,從而makemessage不承認.py文件
  2. 翻譯的字符串
  3. 試圖翻譯模板中的非現有變量而不是字符串。 {% trans some_var %}代替{% trans "some_string" %}
0

確保你有你的settings.py文件可用以下設置:

DJANGO_ROOT = dirname(dirname(abspath(__file__))) 
SITE_ROOT = dirname(DJANGO_ROOT) 
USE_I18N = True 

LOCALE_PATHS = (
    SITE_ROOT + '/locale', 
) 

如果LOCALE_PATHS值未設置它不知道它應該創造語言環境的目錄和翻譯文件,你也不必具有僅用於簡便使用的DJANGO_ROOT和SITE_ROOT值。

+0

我有像這樣在settings.py: 'BASE_DIR = os.path.dirname(os.path.dirname(__ FILE__)) LOCALE_PATHS =( os.path.join(BASE_DIR ,'locale'), )' – Alexander 2014-10-04 08:37:36