Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
不同的gettext文件格式用于什么?_Gettext - Fatal编程技术网

不同的gettext文件格式用于什么?

不同的gettext文件格式用于什么?,gettext,Gettext,我开始尝试翻译一些C程序中最常用的文本条目 使用gettext,但当深入研究这个时,我得到了一点 对所有不同的文件格式都有点困惑 因为功能上似乎有些重叠 我想了解一下不同格式的概述 .po .pot .mo .gmo (我排除的其他格式?) 学习 什么是正常的工作流程 这个文件格式包含什么 通常使用什么工具 哪些“反向”方向转换是可能的(1) (一) 我知道msgunfmt可以从.mo转换为.po,但是因为.mo是 我假设这不是一个无损的过程。即如果 我从hello1.mo转换为hell

我开始尝试翻译一些C程序中最常用的文本条目 使用gettext,但当深入研究这个时,我得到了一点 对所有不同的文件格式都有点困惑 因为功能上似乎有些重叠

我想了解一下不同格式的概述

  • .po
  • .pot
  • .mo
  • .gmo
  • (我排除的其他格式?)
学习

  • 什么是正常的工作流程
  • 这个文件格式包含什么
  • 通常使用什么工具
  • 哪些“反向”方向转换是可能的(1)
(一) 我知道msgunfmt可以从.mo转换为.po,但是因为.mo是 我假设这不是一个无损的过程。即如果 我从hello1.mo转换为hello2.po,然后从hello2.po转换 对于hello3.mo,我假设hello1.mo和hello3.mo将包含 相同的语言字符串,但包含一些元信息 一路上都会迷路,对吗?

我可能错了,但是:

.pot-人类可读的gettext模板文件-这是您将提供给翻译器(person?)的内容

.po-基于POT的可读gettext翻译文件-这是翻译器返回给您的内容

.mo—PHP在进行实际翻译时使用的机器可读代码(字节码?)。这种格式就是您将要提供给php的格式。它是大多数程序都能理解的通用格式,但它可能不支持所有gnu gettext特性。这就是转基因生物的诞生之处

.gmo-当已知这些文件使用GNU格式时,以.gmo结尾的文件实际上是MO文件


您可以使用poedit处理.pot->.po->.mo

附言——只有程序员才会将PO或XML等格式称为人类可读的格式。 此外,您可能不需要将.mo转换为.po…嗯..至少在我看来,这不是一个常见的场景:)

Upvote只是为了“只有程序员才会将po或XML等格式称为人类可读的格式”,这常常被遗忘,但非常正确