V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ila
V2EX  ›  Django

django3 的 i18n 汉化求救

  •  
  •   ila · 2021-12-17 17:37:40 +08:00 via Android · 2515 次点击
    这是一个创建于 832 天前的主题,其中的信息可能已经有所发展或是发生改变。
    官方和其它资料都看完了,还是调试失败。

    有人可以分享下 i18n,英文翻译成中文的 demo 或项目吗
    8 条回复    2022-02-02 13:57:10 +08:00
    erosripe
        1
    erosripe  
       2021-12-17 18:29:21 +08:00 via Android
    这个……我记得是这样的英文有文件,中文有个文件,然后编译后后台可以进行切换
    erosripe
        2
    erosripe  
       2021-12-17 18:30:02 +08:00 via Android
    国际化处理,之前好像做过响应项目,你要花钱的话可以考虑去买某时间的 Django 课程
    ila
        5
    ila  
    OP
       2021-12-17 22:49:39 +08:00 via Android
    @erosripe 我编译了,但不起效。找不到原因
    ila
        6
    ila  
    OP
       2021-12-17 22:52:39 +08:00 via Android
    @Ambush 谢谢。
    installed_app 里的最后一个 localefloaver 我没有导入
    ila
        7
    ila  
    OP
       2021-12-20 16:42:12 +08:00
    @Ambush @erosripe 感谢两位的回复.
    我分享下自己的做法.
    官方官网的做法一直没调试成功.
    我现在用的是[django-i18n]( https://gitlab.com/goldenm-software/open-source-libraries/django-i18n/-/tree/master)这个包,django3.2 可以使用.
    encro
        8
    encro  
       2022-02-02 13:57:10 +08:00
    教程:

    https://docs.djangoproject.com/zh-hans/4.0/topics/i18n/translation/

    参考项目:
    https://github.com/saleor/saleor

    简单说就是 3 步(必须保证配置文件 USE_I18N = False ):

    1 ,在用的地方:

    from django.http import HttpResponse
    from django.utils.translation import gettext as _

    def my_view(request):
    output = _("Welcome to my site.")
    return HttpResponse(output)


    2, 创建翻译文件(生成.po )


    django-admin makemessages

    msgid "Welcome to my site."
    msgstr ""

    3 ,编译翻译文件(生成 mo 文件)

    django-admin compilemessages
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   988 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 20:16 · PVG 04:16 · LAX 13:16 · JFK 16:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.