首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么GNU msgfmt会默默地从目录中省略这些字符串?

为什么GNU msgfmt会默默地从目录中省略这些字符串?
EN

Stack Overflow用户
提问于 2016-03-14 02:14:31
回答 1查看 81关注 0票数 0

我正在编写一个检查po文件的实用程序,并且我试图理解msgfmt的一些我无法解释的行为。

我用来测试的一个po文件(来自vlc项目)包含这些字符串,它们神秘地没有出现在.mo文件中,并且没有来自msgfmt的任何错误报告,即使带有--check --verbose标志。

下面是一个小mvce:

代码语言:javascript
复制
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR VideoLAN
# This file is distributed under the same license as the PACKAGE package.
# 
# Translators:
# Fumio Nakayama <fumio.n6a@gmail.com>, 2002,2009-2013
# Tadashi Jokagi <elf@elf.no-ip.org>, 2004-2009
msgid ""
msgstr ""
"Project-Id-Version: VLC - Trans\n"
"Report-Msgid-Bugs-To: vlc-devel@videolan.org\n"
"POT-Creation-Date: 2013-10-23 15:09+0200\n"
"PO-Revision-Date: 2016-01-22 13:19+0000\n"
"Last-Translator: Fumio Nakayama <fumio.n6a@gmail.com>\n"
"Language-Team: Japanese (http://www.transifex.com/yaron/vlc-trans/language/ja/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: ja\n"
"Plural-Forms: nplurals=1; plural=0;\n"


#: modules/control/rc.c:1878
#, c-format
msgid "| audio decoded    :    %5<PRIi64>"
msgstr "| オーディオ デコード済み数            :    %5<PRIi64>"

#: modules/control/rc.c:1880
#, c-format
msgid "| buffers played   :    %5<PRIi64>"
msgstr "| 再生済みバッファー数                 :    %5<PRIi64>"

#: modules/control/rc.c:1882
#, c-format
msgid "| buffers lost     :    %5<PRIi64>"
msgstr "| 失われたバッファー数                 :    %5<PRIi64>"

msgfmt对此进行处理并输出

代码语言:javascript
复制
3 translated messages.

但是,当使用libintl加载这些po文件时,对这些msgids的查询会返回一个翻译错误,而当我转储mo文件时,它们似乎并不存在--它只包含头文件。

有没有人知道这一行为的原因/ msgfmt用来跳过这些消息的标准?

EN

回答 1

Stack Overflow用户

发布于 2016-03-22 04:27:45

我已经签入了我的Ubuntu (15.10)。你的文件一切正常。msgunfmt生成与输入完全相同的文件,除了注释。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35973902

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档