簡體   English   中英

django translation.activate() 接受什么語言格式?

[英]What language format does django translation.activate() accept?

我一直在為需要傳遞給 translation.activate 的語言格式而苦惱,我問了一個詳細的問題,但后來我從源代碼中挖掘了解決方案。 在我的回答中看到它。

格式為:

  • 您可以提供簡單的語言('hu'、'pt'、'en'、'de' 等)
  • 你可以提供一種語言和一個“領土”('pt-pt'、'pt-br'、'en-gb')
  • 請注意,如果您使用其他格式(例如“pt_br”),django 會出錯,因為它無法正確識別語言-領土關系。 (我還沒有嘗試過,但查看代碼我也認為 'pt-BR' 格式應該可以工作。太糟糕了,我們沒有詳細的選項來查看 django 的猜測。)

Django 按以下順序檢查目錄(假設您輸入 'pt-br'):

  1. language_territory.isoencoding ('pt_BR.ISO8859-1'),
  2. language_territory ('pt_BR') -- 但請注意,如果領土長度超過 2 個字符,則只有第一個字符會大寫(例如,'zh_Hans')!
  3. language.encoding ('pt.ISO8859-1')
  4. 語言('pt')
  5. 回退到默認語言並嘗試其 4 個可能的目錄(通常是['en_US.ISO8859-2', 'en_US', 'en.ISO8859-2', 'en']

這在 Django 文檔中是缺失的,現在你們都可以在這里找到它。 祝你好運。

還有一件事:

您可以將locale目錄放入每個應用程序目錄中。 我建議您將翻譯分解成更小的單元 - 以后更容易跟蹤翻譯。

暫無
暫無

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

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