簡體   English   中英

Django 不創建翻譯 .po 文件

[英]Django doesn't create translation .po files

我的翻譯字符串僅在模板中(存儲在 project_dir/Templates 中),我嘗試在項目根目錄和使用模板和 trans 的應用程序目錄中運行$ django-admin.py createmessages -l ru 字符串。 它創建了文件夾 locale/ru/LC_MESSAGES 但文件夾是空的。 我嘗試手動添加 django.po 文件(使用l10n文檔中提到的語法)。 並運行 createmessages -a 和 compilemessages 命令。 它創建了 .mo 文件,但翻譯沒有出現在瀏覽器中。

  1. 當我手動創建 .po 文件時,我沒有以 # 開頭的行。 我應該在那里寫什么?
  2. 我的模板文件與應用程序的 .py 文件位於不同的文件夾中。 我應該為他們添加一些額外的鏈接嗎?

你試過了嗎 :

python manage.py makemessages -a 

從項目根和應用程序?

這應該會創建一個您必須編輯的 .po。 一定要刪除到處都是“模糊”的東西。

然后 :

python manage.py compilemessages

您需要重新啟動服務器

對於較新版本的 Django(例如 3.2):

  1. 在根目錄中創建文件夾“locale”

  2. 運行命令django-admin makemessages -l ru

  3. 更新您的語言文件(位於語言環境文件夾中)

  4. 運行django-admin compilemessages

  5. 在settings.py中配置LOCALE_PATHS,否則看不到翻譯:

    LOCALE_PATHS = [os.path.join(BASE_DIR, 'locale')]

    LANGUAGE_CODE = 'ru'

修復空的 po 文件:

  1. 確保您對文檔中提到的模板進行了必要的更改。 請確保您正在檢查項目的正確文檔版本。
  2. 您可以在templates目錄中添加locale目錄並將其路徑添加到LOCALE_PATHS列表。 (可選,但有助於確保模板目錄包含在步驟 4 中)
  3. 轉到 project_dir(您應該在要翻譯的文件的父目錄中運行下一個命令)
  4. 運行命令django-admin makemessages -l ru

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM