.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "MSGUNTYPOT.1P 1" .TH MSGUNTYPOT.1P 1 2024-06-26 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH 名称 .IX Header "名称" msguntypot \- 更新 PO文件时, 拼写错误修复在 POT 文件 .SH 简介 .IX Header "简介" \&\fBmsguntypot\fR \fB\-o\fR \fIold_pot\fR \fB\-n\fR \fInew_pot\fR \fIpofiles\fR ... .SH 描述 .IX Header "描述" 当您修复一个无关紧要的错误,这肯定不会影响翻译(例如, 一个拼写错误)在一个 POT 文件中,你应该解开翻译的 PO 文件中对应的 msgstr,以避免如此额外的工作给翻译。 .PP 此任务在手动完成时很难,容易出错,并且此工具可以帮助正确完成。你只需要提供两个版本的 POT 文件:版本之前和之后,如上述概要中标记,这一切都成为自动的。 .SH 如何使用它 .IX Header "如何使用它" 简而言之,当您在一条 [english] 消息中发现拼写错误时,请执行以下操作: .IP "\- 重新生成您的 POT 和 PO 文件。" 4 .IX Item "- 重新生成您的 POT 和 PO 文件。" .Vb 3 \& make \-C po/ update\-po # for message program translations \& debconf\-updatepo # for debconf translations \& po4a po4a.conf # for po4a based documentation translations .Ve .Sp 或其他内容,具体取决于项目的构建设置。你知道如何确保你的 POT 和 PO 文件是最新的,不是吗? .IP "\- 制作一份 POT 文件。" 4 .IX Item "- 制作一份 POT 文件。" .Vb 1 \& cp myfile.pot myfile.pot.orig .Ve .IP "\- 制作所有 PO 文件的副本。" 4 .IX Item "- 制作所有 PO 文件的副本。" .Vb 1 \& mkdir po_fridge; cp *.po po_fridge .Ve .IP "\- 修复您的拼写错误。" 4 .IX Item "- 修复您的拼写错误。" \&\f(CW$EDITOR\fR the_file_in_which_there_is_a_typo .IP "\- 重新生成您的 POT 和 PO 文件。" 4 .IX Item "- 重新生成您的 POT 和 PO 文件。" 见上文。 .PP 此时,拼写错误修复了所有翻译的模糊,这个不幸的更改是主目录的 PO 文件和冰箱中的唯一一个。下面是解决此问题的方法。 .IP "\- 放弃模糊翻译,从冰箱恢复。" 4 .IX Item "- 放弃模糊翻译,从冰箱恢复。" .Vb 1 \& cp po_fridge/*.po . .Ve .IP "\- 手动将 PO 文件与新的 POT 文件合并,但将无用的模糊考虑在内。" 4 .IX Item "- 手动将 PO 文件与新的 POT 文件合并,但将无用的模糊考虑在内。" .Vb 1 \& msguntypot \-o myfile.pot.orig \-n myfile.pot *.po .Ve .IP "\- 清理。" 4 .IX Item "- 清理。" .Vb 1 \& rm \-rf myfile.pot.orig po_fridge .Ve .PP 你做完了该错别字从您的 POT 和 PO 文件的 msgstr 中根除了,并且 PO 文件在这个过程中没有模糊化。你的翻译已经爱你了。 .SH 参见 .IX Header "参见" 尽管它的名称,此工具不是 gettext 工具套件的一部分。而是 po4a 的一部分。更确切地说,它是使用精细 po4a 模块的随机 Perl 脚本。有关 po4a 的信息,请参阅: .PP \&\fBpo4a\fR\|(7) .SH 作者 .IX Header "作者" .Vb 1 \& Martin Quinson (mquinson#debian,org) .Ve .SH 翻译 .IX Header "翻译" taotieren .SH 版权和许可 .IX Header "版权和许可" 版权所有 2005 by SPI, inc. .PP This program is free software; you may redistribute it and/or modify it under the terms of GPL v2.0 or later (see the COPYING file).