使用Django';s I18n函数中的键位于代码中,而不是默认的英语

使用Django';s I18n函数中的键位于代码中,而不是默认的英语,django,internationalization,gettext,django-i18n,Django,Internationalization,Gettext,Django I18n,有没有办法将Django的I18n功能与代码中的键一起使用,而不是将默认语言存储在代码中,将其他语言存储在.po/.mo文件中 类似于维基百科,其中代码有一个“(whatlinkshere)”键,在英文翻译文件中翻译为“What links here”,在法文翻译文件中翻译为“Pages liées”,等等 我想我可以将“qqq”或“qqx”设为默认语言,然后从那里开始工作,但是如果一个人的浏览器设置为非托管语言,他会看到键而不是英语 在代码中使用英语作为默认值的问题是,如果对英语中的字符串稍作

有没有办法将Django的I18n功能与代码中的键一起使用,而不是将默认语言存储在代码中,将其他语言存储在.po/.mo文件中

类似于维基百科,其中代码有一个“(whatlinkshere)”键,在英文翻译文件中翻译为“What links here”,在法文翻译文件中翻译为“Pages liées”,等等

我想我可以将“qqq”或“qqx”设为默认语言,然后从那里开始工作,但是如果一个人的浏览器设置为非托管语言,他会看到键而不是英语


在代码中使用英语作为默认值的问题是,如果对英语中的字符串稍作调整,其他语言版本中的翻译将完全丢失

“在代码中将英文作为默认值的问题是,如果对英文字符串稍作调整,其他语言版本中的翻译将完全丢失。“-这不是一个真正的问题。使用适当的gettext工作流,当您更新源字符串时,您将把更新的源与翻译合并,如果差异足够小,此合并步骤将把翻译与新的源字符串重新关联,可能会将其标记为“模糊”。如果源字符串发生了显著变化,则翻译可能也会发生变化。您可以使用
localemidware
。如果传入请求中没有语言信息,它将激活默认语言。