Eliir Phoeni: Gettet I18N

创建 .Gettext 模块, 如果是通过 mix phoenix.new 创建的项目, 默认已经创建好了, 位于 web/gettext.ex

defmodule ExampleApp.Gettext do  use Gettext, otp_app: :example_append

如果你使用Phoenix框架开发Web项目, 那么 gettext.ex 文件已经自动创建, 位置在 web/gettext.ex

提取国际化字符串并合并到多个Locale目录

# !/bin/bashmix gettext.extract --merge

下面是目录结构

├── gettext│   ├── default.pot│   ├── en│   │   └── LC_MESSAGES│   │       ├── default.po│   │       └── errors.po│   ├── errors.pot│   └── zh_CN│       └── LC_MESSAGES│           ├── default.po│           └── errors.po

创建新的语言, 指定 --locale pt_BR 参数, 创建一个葡萄牙语的Locale

mix gettext.merge priv/gettext --locale pt_BR
├── default.pot├── en│   └── LC_MESSAGES│       ├── default.po│       └── errors.po├── errors.pot├── pt_BR│   └── LC_MESSAGES│       ├── default.po│       └── errors.po└── zh_CN    └── LC_MESSAGES        ├── default.po        └── errors.po

mix gettext.merge 命令自动复制了 default.pot, 和 errors.pot 到 pt_BR的 *.po 文件.

默认用mix phoenix.new创建的项目, 在 web/web.ex 模块中的控制器, 视图, 和通道中已经import进来了Gettext模块, 因此在这些对应的组件中可以直接使用 gettext

关键字:phoenix, gettext, errors, default

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部