Golang i18n

最近在开发一个需求时,需要将英文转为中文,这就需要进行本地化的处理,通过查找相关的库,决定使用 gettext-go 来进行本地化的处理,本篇文章主要简单介绍 gettext-go 和 它在 k8s kubectl 中的运用。 gettext-go 简单介绍和使用 gettext-go 简单来说就是读取预先编写的 po 或 mo 文件来进行本地化的处理。 po 和 mo 文件是什么呢?接下来介绍一下 po 和 mo 文件 po 和 mo 文件介绍 .po 文件,.mo 文件是由 gettext 程序生成或者使用的源代码和编译结果。 1、.pot 文件 是一种模板文件,其实质与.po 文件一样,其中包含了从源代码中提取所有的翻译字符串的列表,主要提供给翻译人员使用。 2、.po 文件 (1)用程序 msginit 来分析 pot 文件,生成各语言对应的 po 文件,比如中文就是 zh_CN.po,法语就是 fr.po 文件。 (2)PO 是 Portable Object(可移植对象)的缩写形式,它是面向翻译人员的、提取于源代码的一种资源文件。 (3).po 文件可以用任何编辑器如 poEdit,vi,Emacs,editplus 打开,交给翻译人员来将其中的文字翻译成本国语言。 3、.mo 文件 (1)用 msgfmt 将.po 文件编译成 mo 文件,这是一个二进制文件,不能直接编辑。 (2)MO 是 Machine Object(机器对象)的缩写形式,它是面向计算机的、由.po 文件通过 GNU gettext 工具包编译而成的二进制文件,应用程序通过读取.mo 文件使自身的界面转换成用户使用的语言,如简体中文。 ...

七月 16, 2023 · overstarry