.\" Man page generated from reStructuredText. . .TH I18NSPECTOR 1 "2022-08-11" "i18nspector 0.27.1" "" .SH NAME i18nspector \- checking tool for gettext POT, PO and MO files . .nr rst2man-indent-level 0 . .de rstReportMargin \\$1 \\n[an-margin] level \\n[rst2man-indent-level] level margin: \\n[rst2man-indent\\n[rst2man-indent-level]] - \\n[rst2man-indent0] \\n[rst2man-indent1] \\n[rst2man-indent2] .. .de INDENT .\" .rstReportMargin pre: . RS \\$1 . nr rst2man-indent\\n[rst2man-indent-level] \\n[an-margin] . nr rst2man-indent-level +1 .\" .rstReportMargin post: .. .de UNINDENT . RE .\" indent \\n[an-margin] .\" old: \\n[rst2man-indent\\n[rst2man-indent-level]] .nr rst2man-indent-level -1 .\" new: \\n[rst2man-indent\\n[rst2man-indent-level]] .in \\n[rst2man-indent\\n[rst2man-indent-level]]u .. .SH SYNOPSIS .sp \fBi18nspector\fP [\fIoptions\fP] \fIfile\fP [\fIfile\fP …] .SH DESCRIPTION .sp \fBi18nspector\fP is a tool for checking translation templates (POT), message catalogues (PO) and compiled message catalogues (MO) files for common problems. These files are used by the GNU gettext translation functions and tools in many different development environments. .SH OPTIONS .INDENT 0.0 .TP .BI \-l \ lang\fR,\fB \ \-\-language \ lang Assume this language. \fIlang\fP should be a 2\- or 3\-letter ISO 639 language code, possibly followed by underscore and a 2\-letter ISO 3166 territory code. .TP .B \-\-unpack\-deb Allow unpacking Debian (binary or source) packages. .TP .BI \-j \ n\fR,\fB \ \-\-jobs \ n Use \fIn\fP processes in parallel. \fIn\fP can be a positive integer, or \fBauto\fP to determine the number automatically. The default is to use only a single process. .TP .B \-h\fP,\fB \-\-help Show help message and exit. .TP .B \-\-version Show version information and exit. .UNINDENT .SH OUTPUT FORMAT .sp The following format is used for all the reported problems: .sp \ \ \fIcode\fP\fB:\fP \fIfile\fP\fB:\fP \fItag\fP [\fIextra\fP] .sp where: .INDENT 0.0 .IP \(bu 2 \fIcode\fP is a letter indicating type of the message: \fBE\fP (error), \fBW\fP (warning), \fBI\fP (informative message), or \fBP\fP (pedantic message); .IP \(bu 2 \fItag\fP is a name of the problem that was discovered; .IP \(bu 2 \fIextra\fP can contain additional information about the problem. .UNINDENT .SH TAGS .\" This file has been generated automatically by private/tags-as-rst. .\" Do not edit. . .SS ancient\-date .sp The date refers to the time before the first GNU gettext release. As such, it's extremely unlikely to be correct. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://git.savannah.gnu.org/cgit/gettext.git/tree/ChangeLog.0#n1767\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS arithmetic\-error\-in\-plural\-forms .sp Computing a plural form value triggers division by zero or integer overflow. This normally indicates an error in the plural form expression. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS arithmetic\-error\-in\-unused\-plural\-forms .sp Computing a plural form value triggers division by zero or integer overflow. (But there are no translated messages which use plural forms.) This normally indicates an error in the plural form expression. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SS boilerplate\-in\-content\-type .sp The Content\-Type header field contains xgettext boilerplate. It should be in the form \fBtext/plain; charset=\fP\fIencoding\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html#index\-encoding\-of\-PO\-files\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS boilerplate\-in\-date .sp The date header field contains xgettext boilerplate. The date format should be \fBYYYY\-MM\-DD hh:mm+ZZzz\fP, e.g. \fB2011\-11\-05 10:14+0100\fP\&. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS boilerplate\-in\-initial\-comments .sp The initial comments contain xgettext or msginit boilerplate. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, possible .UNINDENT .UNINDENT .SS boilerplate\-in\-language\-team .sp The Language\-Team header field contains xgettext boilerplate. It should contain English name of the language, and the email address or homepage URL of the language team. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS boilerplate\-in\-last\-translator .sp The Last\-Translator header field contains xgettext boilerplate. It should contain the last translator's name and email address. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS boilerplate\-in\-project\-id\-version .sp The Project\-Id\-Version header field contains xgettext boilerplate. It should contain the name and the version of the package. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS boilerplate\-in\-report\-msgid\-bugs\-to .sp The Report\-Msgid\-Bugs\-To header field contains xgettext boilerplate. It should contain an email address or URL where one can report bugs in the untranslated strings. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS broken\-encoding .sp Header fields and messages contained by this file couldn't be decoded to Unicode. The usual cause of this is incorrect or missing encoding declaration. .sp Note that in the absence of encoding declaration, i18nspector assumes ASCII encoding. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html#index\-encoding\-of\-PO\-files\fP \fI\%https://tools.ietf.org/html/rfc2045#section\-5\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS c\-format\-string\-argument\-type\-mismatch .sp There's a type mismatch between a C format argument in \fBmsgid\fP and the corresponding format argument in \fBmsgid_plural\fP; or between a C format argument in \fBmsgstr\fP and \fBmsgid\fP; or between a C format argument in \fBmsgstr[\fP\fIN\fP\fB]\fP and corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fBprintf\fP(3) \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS c\-format\-string\-error .sp A C format string could not be parsed. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fBprintf\fP(3) .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS c\-format\-string\-excess\-arguments .sp A C format string for \fBmsgid\fP consumes more arguments than \fBmsgid_plural\fP; or \fBmsgstr\fP consumes more arguments than \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP consumes more arguments than corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fBprintf\fP(3) \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS c\-format\-string\-missing\-arguments .sp A C format string for \fBmsgid\fP consumes fewer arguments than \fBmsgid_plural\fP; or \fBmsgstr\fP consumes fewer arguments than \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP consumes fewer arguments than corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp Note that in some languages, the commonly used Plural\-Forms expression evaluates to the same value for n=1 and n=21, n=31, and so on. Take this Serbian translation for example: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; \&... msgid "one byte" msgid_plural "%d bytes" msgstr[0] "%d bajt" msgstr[1] "%d bajta" msgstr[2] "%d bajtova" .ft P .fi .UNINDENT .UNINDENT .sp Here \fB%d\fP should not be replaced with the spelled\-out form \fBjedan\fP\&. Either \fB%d\fP should be kept, or the Plural\-Forms expression should be amended, so that there is a special case for n=1: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 \&... msgid "one byte" msgid_plural "%d bytes" msgstr[0] "%d bajt" msgstr[1] "%d bajta" msgstr[2] "%d bajtova" msgstr[3] "jedan bajt" .ft P .fi .UNINDENT .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fBprintf\fP(3) \fI\%https://www.gnu.org/software/gettext/manual/html_node/Translating\-plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS c\-format\-string\-non\-portable\-conversion .sp A C format string uses a conversion specified or length modifier, for which a more portable replacement exists: .INDENT 0.0 .IP \(bu 2 For integer conversions (\fB%d\fP, \fB%i\fP, \fB%o\fP, \fB%u\fP, \fB%x\fP, and \fB%X\fP), use the \fBll\fP length modifier instead of \fBL\fP or \fBq\fP\&. .IP \(bu 2 For floating\-point conversions (\fB%a\fP, \fB%A\fP, \fB%e\fP, \fB%E\fP, \fB%f\fP, \fB%F\fP, \fB%g\fP, and \fB%G\fP), don't use the \fBl\fP length modifier. .IP \(bu 2 Use the \fBz\fP length modifier instead of \fBZ\fP\&. .IP \(bu 2 Use \fB%lc\fP instead of \fB%C\fP\&. .IP \(bu 2 Use \fB%ls\fP instead of \fB%S\fP\&. .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fBprintf\fP(3) .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS c\-format\-string\-redundant\-flag .sp A C format string includes a redundant character flag. Either it's a duplicate, or it has no effect: .INDENT 0.0 .IP \(bu 2 The \fB+\fP flag overrides the \fIspace\fP flag. .IP \(bu 2 The \fB\-\fP flag overrides the \fB0\fP flag. .IP \(bu 2 If a precision is given, the \fB0\fP flag has no effect on integer conversions (\fB%d\fP, \fB%i\fP, \fB%o\fP, \fB%u\fP, \fB%x\fP, and \fB%X\fP). .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fBprintf\fP(3) .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS codomain\-error\-in\-plural\-forms .sp Either a plural form value is outside the declared range, or some values within the declared range can never be reached. This normally indicates an error in the plural form expression. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS codomain\-error\-in\-unused\-plural\-forms .sp Either a plural form value is outside the declared range, or some values within the declared range can never be reached. (But there are no translated messages which use plural forms.) This normally indicates an error in the plural form expression. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS conflict\-marker\-in\-header\-entry .sp The header contains a conflict marker (\fB#\-#\-#\-#\-#\fP \fI…\fP \fB#\-#\-#\-#\-#\fP). The conflict will have to be resolved manually. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Creating\-Compendia.html#Creating\-Compendia\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS conflict\-marker\-in\-translation .sp One of the translated messages appear to contain a conflict marker (\fB#\-#\-#\-#\-#\fP \fI…\fP \fB#\-#\-#\-#\-#\fP). The conflict will have to be resolved manually. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Creating\-Compendia.html#Creating\-Compendia\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS conflicting\-message\-flags .sp Two flags with conflicting meanings are associated with one of the messages. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS date\-from\-future .sp The date refers to the future. As such, it's extremely unlikely to be correct. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS distant\-header\-entry .sp The header entry in this file is preceded by other entries. The header entry should be always the first one. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS duplicate\-flag\-for\-header\-entry .sp Multiple identical flags are associated with the header entry. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS duplicate\-header\-entry .sp This file contains multiple header entries. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field .sp This file contains multiple header fields of the same name. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, wild\-guess .UNINDENT .UNINDENT .SS duplicate\-header\-field\-content\-transfer\-encoding .sp This file contains multiple Content\-Transfer\-Encoding header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-content\-type .sp This file contains multiple Content\-Type header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-date .sp This file contains multiple date header fields of the same name. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-language .sp This file contains multiple Language header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-language\-team .sp This file contains multiple Language\-Team header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-last\-translator .sp This file contains multiple Last\-Translator header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-mime\-version .sp This file contains multiple MIME\-Version header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-plural\-forms .sp This file contains multiple Plural\-Forms header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-project\-id\-version .sp This file contains multiple Project\-Id\-Version header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-report\-msgid\-bugs\-to .sp This file contains multiple Report\-Msgid\-Bugs\-To header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS duplicate\-header\-field\-x\-poedit .sp This file contains multiple X\-Poedit\-\fI*\fP header fields. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS duplicate\-message\-definition .sp This file contains multiple definitions of the same message. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS duplicate\-message\-flag .sp Multiple identical flags are associated with one of the messages. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS empty\-file .sp This file doesn't contain any messages. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS empty\-msgid\-message\-with\-plural\-forms .sp The message with empty msgid contains plural forms. Such messages are reserved by GNU gettext for header entries, and your code should not call \fBngettext("", …)\fP\&. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS empty\-msgid\-message\-with\-source\-code\-references .sp The message with empty msgid contains plural forms. Such messages are reserved by GNU gettext for header entries, and your code should not call \fBgettext("")\fP\&. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS encoding\-in\-language\-header\-field .sp The language header field contains encoding declaration. Such information shouldn't be included in this field. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS fuzzy\-header\-entry .sp The header entry is marked as fuzzy. For compatibility with very old (<< 0.11) \fBmsgfmt\fP(1) versions, which didn't support fuzzy header entries, it shouldn't be marked as such. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://git.savannah.gnu.org/cgit/gettext.git/tree/NEWS?id=v0.11#n44\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS inconsistent\-leading\-newlines .sp Some strings in an entry start with a newline, but some don't. Either all of them should start with a newline, or none of them should. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS inconsistent\-number\-of\-plural\-forms .sp Number of plural forms in a message definition doesn't match number of plural forms declared in another message definition. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Translating\-plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS inconsistent\-trailing\-newlines .sp Some strings in an entry end with a newline, but some don't. Either all of them should end with a newline, or none of them should. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS incorrect\-number\-of\-plural\-forms .sp Number of plural forms in a message definition doesn't match number of plural forms declared in the header. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Translating\-plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS invalid\-content\-transfer\-encoding .sp Value of the Content\-Transfer\-Encoding header field is invalid. It should be \fB8bit\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP \fI\%https://tools.ietf.org/html/rfc2045#section\-6.1\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS invalid\-content\-type .sp Value of the Content\-Type header field should is invalid. It should be in the form \fBtext/plain; charset=\fP\fIencoding\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html#index\-encoding\-of\-PO\-files\fP \fI\%https://tools.ietf.org/html/rfc2045#section\-5\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS invalid\-date .sp The date is invalid or in an invalid format. The format should be \fBYYYY\-MM\-DD hh:mm+ZZzz\fP, e.g. \fB2011\-11\-05 10:14+0100\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS invalid\-language .sp The Language header field couldn't be parsed, or it contains an unknown language. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS invalid\-language\-team .sp The Language\-Team header field contains an e\-mail address that uses a reserved domain name, or a partially qualified domain name. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://tools.ietf.org/html/rfc2606\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SS invalid\-last\-translator .sp The Last\-Translator header field could neither be parsed as an e\-mail, or the e\-mail address uses a reserved domain name, or a partially qualified domain name. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP \fI\%https://tools.ietf.org/html/rfc2606\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SS invalid\-mime\-version .sp Value of the MIME\-Version header field is invalid. It should be \fB1.0\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://tools.ietf.org/html/rfc2045#section\-4\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS invalid\-mo\-file .sp This file couldn't be parsed a MO file. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS invalid\-range\-flag .sp A \fBrange:\fP flag couldn't be parsed, or the designated range contained fewer than two numbers. The syntax is \fBrange:\fP \fImin\fP\fB\&..\fP\fImax\fP, where both values are non\-negative integers. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS invalid\-report\-msgid\-bugs\-to .sp The Report\-Msgid\-Bugs\-To header field could neither be parsed as an e\-mail nor as a URL, or the e\-mail address uses a reserved domain name, or a partially qualified domain name. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP \fI\%https://tools.ietf.org/html/rfc2606\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SS language\-disparity .sp Language of this file has been declared in multiple places, but the declarations don't match. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SS language\-team\-equal\-to\-last\-translator .sp Language\-Team and Last\-Translator header fields contain the same e\-mail address. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, possible .UNINDENT .UNINDENT .SS language\-variant\-does\-not\-affect\-translation .sp The Language header field contains a variant designator that is not relevant for the message translation. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, possible .UNINDENT .UNINDENT .SS leading\-junk\-in\-plural\-forms .sp The Plural\-Forms header field contains unexpected text before the \fBnplurals=\fP string. .sp GNU gettext runtime ignores such leading junk, but other header parsers might be less liberal in what they accept. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS malformed\-xml .sp The original string or the translated string contains an XML fragment, which is not well\-formed. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.w3.org/TR/REC\-xml/#sec\-well\-formed\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS no\-content\-transfer\-encoding\-header\-field .sp The Content\-Transfer\-Encoding header field doesn't exist. It should be set to \fB8bit\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP \fI\%https://tools.ietf.org/html/rfc2045#section\-6.1\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS no\-content\-type\-header\-field .sp The Content\-Type header field doesn't exist. It should be set to \fBtext/plain; charset=\fP\fIencoding\fP\&. .sp Note that in the absence of encoding declaration, i18nspector assumes ASCII encoding. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html#index\-encoding\-of\-PO\-files\fP \fI\%https://tools.ietf.org/html/rfc2045#section\-5\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS no\-date\-header\-field .sp The date header field doesn't exist. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS no\-language\-header\-field .sp The Language header field doesn't exist. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS no\-language\-team\-header\-field .sp The Language\-Team header field does not exist. It should contain English name of the language, and the email address or homepage URL of the language team. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS no\-last\-translator\-header\-field .sp The Last\-Translator header field doesn't exist. It should contain the last translator's name and email address. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS no\-mime\-version\-header\-field .sp The MIME\-Version header field doesn't exist. It should be to set to \fB1.0\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://tools.ietf.org/html/rfc2045#section\-4\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS no\-package\-name\-in\-project\-id\-version .sp The Project\-Id\-Version header field doesn't appear to contain any name. It should contain both the name and the version of the package. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, possible .UNINDENT .UNINDENT .SS no\-plural\-forms\-header\-field .sp The Plural\-Forms header field does not exist, even though some of the messages use plural forms (although none of them have been translated). .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS no\-project\-id\-version\-header\-field .sp The Project\-Id\-Version header field does not exist. It should contain the name and the version of the package. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS no\-report\-msgid\-bugs\-to\-header\-field .sp The Report\-Msgid\-Bugs\-To header field does not exist or it is empty. It should contain an email address or URL where one can report bugs in the untranslated strings. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS no\-required\-plural\-forms\-header\-field .sp The Plural\-Forms header field does not exist, even though some of the translated messages use plural forms. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS no\-version\-in\-project\-id\-version .sp The Project\-Id\-Version header field doesn't appear to contain any version. It should contain both the name and the version of the package. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS non\-ascii\-compatible\-encoding .sp This file uses an encoding that is not compatible with ASCII. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS non\-portable\-encoding .sp This file uses an encoding that is not widely supported by software. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Header\-Entry.html#index\-encoding\-list\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS os\-error .sp An input/output error or another operating system error occurred while checking this file. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS partially\-translated\-message .sp Translation is missing for some plural forms of a message. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS perl\-brace\-format\-string\-error .sp A Perl format string could not be parsed. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/perl_002dformat.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS perl\-brace\-format\-string\-missing\-argument .sp A Perl format string for \fBmsgid\fP doesn't use a named argument that is used in \fBmsgid_plural\fP; or \fBmsgstr\fP doesn't use a named argument that is used in \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP doesn't use a named argument that is used in corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp Note that in some languages, the commonly used Plural\-Forms expression evaluates to the same value for n=1 and n=21, n=31, and so on. Take this Serbian translation for example: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; \&... msgid "one byte" msgid_plural "{n} bytes" msgstr[0] "{n} bajt" msgstr[1] "{n} bajta" msgstr[2] "{n} bajtova" .ft P .fi .UNINDENT .UNINDENT .sp Here \fB{n}\fP should not be replaced with the spelled\-out form \fBjedan\fP\&. Either \fB{n}\fP should be kept, or the Plural\-Forms expression should be amended, so that there is a special case for n=1: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 \&... msgid "one byte" msgid_plural "{n} bytes" msgstr[0] "{n} bajt" msgstr[1] "{n} bajta" msgstr[2] "{n} bajtova" msgstr[3] "jedan bajt" .ft P .fi .UNINDENT .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/perl_002dformat.html\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Translating\-plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS perl\-brace\-format\-string\-unknown\-argument .sp A Perl format string for \fBmsgid\fP uses a named argument that isn't used in \fBmsgid_plural\fP; or \fBmsgstr\fP uses a named argument that isn't used in \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP uses a named argument that isn't used in corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. This indicates that the conversion would try to consume an argument that weren't supplied. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/perl_002dformat.html\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-brace\-format\-string\-argument\-type\-mismatch .sp There's a type mismatch between a Python format argument in \fBmsgid\fP and the corresponding format argument in \fBmsgid_plural\fP; or between a Python format argument in \fBmsgstr\fP and \fBmsgid\fP; or between a Python format argument in \fBmsgstr[\fP\fIN\fP\fB]\fP and \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/string.html#formatstrings\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-brace\-format\-string\-error .sp A Python format string could not be parsed. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/string.html#formatstrings\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-brace\-format\-string\-missing\-argument .sp A Python format string for \fBmsgid\fP doesn't use a named argument that is used in \fBmsgid_plural\fP; or \fBmsgstr\fP doesn't use a named argument that is used in \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP doesn't use a named argument that is used in corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp Note that in some languages, the commonly used Plural\-Forms expression evaluates to the same value for n=1 and n=21, n=31, and so on. Take this Serbian translation for example: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; \&... msgid "one byte" msgid_plural "{n} bytes" msgstr[0] "{n} bajt" msgstr[1] "{n} bajta" msgstr[2] "{n} bajtova" .ft P .fi .UNINDENT .UNINDENT .sp Here \fB{n}\fP should not be replaced with the spelled\-out form \fBjedan\fP\&. Either \fB{n}\fP should be kept, or the Plural\-Forms expression should be amended, so that there is a special case for n=1: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 \&... msgid "one byte" msgid_plural "{n} bytes" msgstr[0] "{n} bajt" msgstr[1] "{n} bajta" msgstr[2] "{n} bajtova" msgstr[3] "jedan bajt" .ft P .fi .UNINDENT .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/string.html#formatstrings\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Translating\-plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-brace\-format\-string\-unknown\-argument .sp A Python format string for \fBmsgid\fP uses a named argument that isn't used in \fBmsgid_plural\fP; or \fBmsgstr\fP uses a named argument that isn't used in \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP uses a named argument that isn't used in corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. This indicates that the conversion would try to consume an argument that weren't supplied. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/string.html#formatstrings\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-argument\-number\-mismatch .sp A Python format string for \fBmsgid\fP consumes more arguments than \fBmsgid_plural\fP; or \fBmsgstr\fP consumes more arguments than \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP consumes more arguments than \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp Python, unlike C, requires that all unnamed arguments must be consumed during conversion. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Python.html#Python\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-argument\-type\-mismatch .sp There's a type mismatch between a Python format argument in \fBmsgid\fP and the corresponding format argument in \fBmsgid_plural\fP; or between a Python format argument in \fBmsgstr\fP and \fBmsgid\fP; or between a Python format argument in \fBmsgstr[\fP\fIN\fP\fB]\fP and \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-error .sp A Python format string could not be parsed. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-missing\-argument .sp A Python format string for \fBmsgid\fP doesn't use a named argument that is used in \fBmsgid_plural\fP; or \fBmsgstr\fP doesn't use a named argument that is used in \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP doesn't use a named argument that is used in corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. .sp Note that in some languages, the commonly used Plural\-Forms expression evaluates to the same value for n=1 and n=21, n=31, and so on. Take this Serbian translation for example: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2; \&... msgid "one byte" msgid_plural "%(n)d bytes" msgstr[0] "%(n)d bajt" msgstr[1] "%(n)d bajta" msgstr[2] "%(n)d bajtova" .ft P .fi .UNINDENT .UNINDENT .sp Here \fB%d\fP should not be replaced with the spelled\-out form \fBjedan\fP\&. Either \fB%d\fP should be kept, or the Plural\-Forms expression should be amended, so that there is a special case for n=1: .INDENT 0.0 .INDENT 3.5 .sp .nf .ft C Plural\-Forms: nplurals=4; plural=n==1 ? 3 : n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2 \&... msgid "one byte" msgid_plural "%(n)d bytes" msgstr[0] "%(n)d bajt" msgstr[1] "%(n)d bajta" msgstr[2] "%(n)d bajtova" msgstr[3] "jedan bajt" .ft P .fi .UNINDENT .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Translating\-plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-multiple\-unnamed\-arguments .sp A Python format string uses multiple unnamed arguments (such as \fB%d\fP). The translator might need to reorder the arguments to properly translate the message, but this is not possible with unnamed arguments. Named arguments (such as \fB%(num)d\fP) should be used instead. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Python.html#Python\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-obsolete\-conversion .sp A Python format string uses an obsolete conversion specifier: .INDENT 0.0 .IP \(bu 2 Use \fB%d\fP instead of \fB%u\fP\&. .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS python\-format\-string\-redundant\-flag .sp A Python format string includes a redundant character flag. Either it's a duplicate, or it has no effect: .INDENT 0.0 .IP \(bu 2 The \fB+\fP flag overrides the \fIspace\fP flag. .IP \(bu 2 The \fB\-\fP flag overrides the \fB0\fP flag. .IP \(bu 2 If a precision is given, the \fB0\fP flag has no effect on integer conversions (\fB%d\fP, \fB%i\fP, \fB%o\fP, \fB%u\fP, \fB%x\fP, and \fB%X\fP). .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS python\-format\-string\-redundant\-length .sp A Python format string includes a redundant length modifier. Length modifiers (\fBh\fP, \fBl\fP, or \fBL\fP) have no effect in Python. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS python\-format\-string\-redundant\-precision .sp A C format string includes precision that has no effect on the conversion. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, possible .UNINDENT .UNINDENT .SS python\-format\-string\-unknown\-argument .sp A Python format string for \fBmsgid\fP uses a named argument that isn't used in \fBmsgid_plural\fP; or \fBmsgstr\fP uses a named argument that isn't used in \fBmsgid\fP; or \fBmsgstr[\fP\fIN\fP\fB]\fP uses a named argument that isn't used in corresponding \fBmsgid\fP or \fBmsgid_plural\fP\&. This indicates that the conversion would try to consume an argument that weren't supplied. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS python\-format\-string\-unnamed\-plural\-argument .sp A Python format string uses an unnamed arguments (such as \fB%d\fP) in the context of plural forms. The translator might want not to use the numeric argument in the singular form; but this is not possible if the argument is unnamed, because Python, unlike C, requires that all unnamed arguments must be consumed during conversion. Named arguments (such as \fB%(n)d\fP) should be used instead. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://docs.python.org/2/library/stdtypes.html#string\-formatting\-operations\fP \fI\%https://www.gnu.org/software/gettext/manual/html_node/Python.html#Python\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 wishlist, possible .UNINDENT .UNINDENT .SS qt\-plural\-format\-mistaken\-for\-c\-format .sp A \fBc\-format\fP flag is associated with the message, but \fBqt\-plural\-format\fP should be used instead. .sp The only C format directive that the message uses is \fB%n\fP\&. It is very atypical to use it alone in a C format string. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://doc.qt.io/qt\-5/i18n\-source\-translation.html#handling\-plurals\fP \fBprintf\fP(3) .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS range\-flag\-without\-plural\-string .sp A \fBrange:\fP flag is associated with a message that doesn't have plural string. \fBrange:\fP flags only make sense for translations involving plural forms. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, certain .UNINDENT .UNINDENT .SS redundant\-message\-flag .sp A flag associated with one of the messages is redundant, because it's implied by another flag. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 pedantic, certain .UNINDENT .UNINDENT .SS stray\-header\-line .sp The header contains a line that does not belong to any header field. Note that RFC\-822\-style folding of long headers is not supported. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://lists.gnu.org/archive/html/bug\-gettext/2012\-12/msg00010.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS stray\-previous\-msgid .sp The message entry contains annotations about previous untranslated string (\fB#| msgid\fP\ \fI\&...\fP), even though the message is not marked as fuzzy. These annotations are only useful for fuzzy messages, and should be removed when unfuzzying. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS syntax\-error\-in\-plural\-forms .sp Value of the Plural\-Forms header field could not be parsed. It should be in the form \fBnplurals=\fP\fIn\fP\fB; plural=\fP\fIexpression\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, certain .UNINDENT .UNINDENT .SS syntax\-error\-in\-po\-file .sp This file couldn't be parsed a PO file. In some rare cases this is due to incorrect or missing encoding declaration. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP \fI\%https://bugs.debian.org/692283\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS syntax\-error\-in\-unused\-plural\-forms .sp Value of the Plural\-Forms header field could not be parsed. (But there are no translated messages which use plural forms.) It should be in the form \fBnplurals=\fP\fIn\fP\fB; plural=\fP\fIexpression\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/Plural\-forms.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS trailing\-junk\-in\-plural\-forms .sp The Plural\-Forms header field contains unexpected text after the plural expression. .sp GNU gettext runtime ignores such trailing junk, but other header parsers might be less liberal in what they accept. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS translation\-in\-template .sp The PO template file contains a translated message. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, certain .UNINDENT .UNINDENT .SS unable\-to\-determine\-language .sp i18nspector was unable to determine language of this file. Absence of this information will prevent it from performing further checks. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, wild\-guess .UNINDENT .UNINDENT .SS unexpected\-flag\-for\-header\-entry .sp An unexpected flag is associated with the header entry. The only flag that makes sense for the header entry is \fBfuzzy\fP\&. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SS unknown\-encoding .sp This file declares an encoding that couldn't be recognized by i18nspector. It might be a typo. Absence of encoding information will prevent i18nspector from performing further checks. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS unknown\-file\-type .sp File format of this file couldn't be recognized. It might be a bug in i18nspector. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, wild\-guess .UNINDENT .UNINDENT .SS unknown\-header\-field .sp The header field name is unknown to i18nspector. It might be a typo or a capitalization error (header field names are case\-sensitive). .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://lists.gnu.org/archive/html/bug\-gettext/2012\-12/msg00010.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, wild\-guess .UNINDENT .UNINDENT .SS unknown\-message\-flag .sp An unknown flag is associated with one of the messages. It might be a typo. .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.gnu.org/software/gettext/manual/html_node/PO\-Files.html\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, wild\-guess .UNINDENT .UNINDENT .SS unknown\-poedit\-language .sp Language declared in X\-Poedit\-Language couldn't be recognized. It might be a bug in i18nspector. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 minor, wild\-guess .UNINDENT .UNINDENT .SS unrepresentable\-characters .sp The declared encoding cannot represent all characters commonly used in this language. This is a strong indication that the declared encoding is incorrect. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS unusual\-character\-in\-header\-entry .sp The header entry contains an unusual character. This is usually an indication of an encoding problem, such as: .INDENT 0.0 .IP \(bu 2 using ISO 2022 escape sequences, or .IP \(bu 2 using UTF\-8 despite declaring an 8\-bit encoding. .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.unicode.org/faq/utf_bom.html#bom6\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, certain .UNINDENT .UNINDENT .SS unusual\-character\-in\-translation .sp One of the translated messages contains an unusual character. This is usually an indication of an encoding problem, such as: .INDENT 0.0 .IP \(bu 2 using ISO 2022 escape sequences, or .IP \(bu 2 using UTF\-8 despite declaring an 8\-bit encoding. .UNINDENT .sp References: .INDENT 0.0 .INDENT 3.5 .nf \fI\%https://www.unicode.org/faq/utf_bom.html#bom6\fP .fi .sp .UNINDENT .UNINDENT .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 important, possible .UNINDENT .UNINDENT .SS unusual\-plural\-forms .sp The Plural\-Forms declaration is incorrect (or unusual), according to i18nspector's linguistic data. .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 serious, possible .UNINDENT .UNINDENT .SS unusual\-unused\-plural\-forms .sp The Plural\-Forms declaration is incorrect (or unusual), according to i18nspector's linguistic data. (But there are no translated messages which use plural forms.) .sp Severity, certainty: .INDENT 0.0 .INDENT 3.5 normal, possible .UNINDENT .UNINDENT .SH SEE ALSO .sp \fBmsgfmt\fP(1), particularly the \fB\-c\fP option . .\" Generated by docutils manpage writer. .