Provided by: i18nspector_0.13.4-1_all 

NAME
i18nspector - checking tool for gettext POT, PO and MO files
SYNOPSIS
i18nspector [--language <lang>] [--debian] <file> [<file> …]
OPTIONS
-l <lang>, --language <lang>
Assume this language. <lang> should be a 2- or 3-letter ISO 639 language code, possibly followed
by underscore and a 2-letter ISO 3166 territory code.
--debian
Allow checking Debian (binary or source) packages. This option is enabled by default on modern
Debian systems and its derivatives; it needs to be explicitly enabled on other systems.
DESCRIPTION
i18nspector 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.
The following format is used for all the reported problems:
code: file: tag [extra]
where:
• code is a letter indicating type of the message: E (error), W (warning), I (informative message), or P
(pedantic message);
• tag is a name of the problem that was discovered;
• extra can contain additional information about the problem.
TAGS
ancient-date
The date refers to the time before the first GNU gettext release. As such, it's extremely unlikely to be
correct.
References:
http://git.savannah.gnu.org/cgit/gettext.git/tree/ChangeLog.0#n1767
Severity, certainty:
normal, certain
arithmetic-error-in-plural-forms
Computing a plural form value triggers division by zero or integer overflow. This normally indicates an
error in the plural form expression.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
serious, possible
arithmetic-error-in-unused-plural-forms
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
normal, possible
boilerplate-in-content-type
The Content-Type header field contains xgettext boilerplate. It should be in the form text/plain;
charset=encoding.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
important, certain
boilerplate-in-date
The date header field contains xgettext boilerplate. The date format should be YYYY-MM-DD hh:mm+ZZzz,
e.g. 2011-11-05 10:14+0100.
Severity, certainty:
normal, certain
boilerplate-in-language-team
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, certain
boilerplate-in-last-translator
The Last-Translator header field contains xgettext boilerplate. It should contain the last translator's
name and email address.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
normal, certain
boilerplate-in-project-id-version
The Project-Id-Version header field contains xgettext boilerplate. It should contain the name and the
version of the package.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, certain
boilerplate-in-report-msgid-bugs-to
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
normal, certain
broken-encoding
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.
Note that in the absence of encoding declaration, i18nspector assumes ASCII encoding.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2045#section-5
Severity, certainty:
serious, possible
codomain-error-in-plural-forms
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
serious, possible
codomain-error-in-unused-plural-forms
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
normal, possible
conflict-marker-in-header-entry
The header contains a conflict marker (#-#-#-#-# … #-#-#-#-#). The conflict will have to be resolved
manually.
References:
http://www.gnu.org/software/gettext/manual/html_node/Creating-Compendia.html#Creating-Compendia
Severity, certainty:
serious, certain
conflict-marker-in-translation
One of the translated messages appear to contain a conflict marker (#-#-#-#-# … #-#-#-#-#). The conflict
will have to be resolved manually.
References:
http://www.gnu.org/software/gettext/manual/html_node/Creating-Compendia.html#Creating-Compendia
Severity, certainty:
serious, possible
conflicting-message-flags
Two flags with conflicting meanings are associated with one of the messages.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
Severity, certainty:
important, possible
date-from-future
The date refers to the future. As such, it's extremely unlikely to be correct.
Severity, certainty:
normal, certain
distant-header-entry
The header entry in this file is preceded by other entries. The header entry should be always the first
one.
Severity, certainty:
important, certain
duplicate-flag-for-header-entry
Multiple identical flags are associated with the header entry.
Severity, certainty:
minor, certain
duplicate-header-entry
This file contains multiple header entries.
Severity, certainty:
serious, certain
duplicate-header-field
This file contains multiple header fields of the same name.
Severity, certainty:
minor, wild-guess
duplicate-header-field-content-transfer-encoding
This file contains multiple Content-Transfer-Encoding header fields.
Severity, certainty:
pedantic, certain
duplicate-header-field-content-type
This file contains multiple Content-Type header fields.
Severity, certainty:
serious, certain
duplicate-header-field-date
This file contains multiple date header fields of the same name.
Severity, certainty:
normal, certain
duplicate-header-field-language
This file contains multiple Language header fields.
Severity, certainty:
important, certain
duplicate-header-field-language-team
This file contains multiple Language-Team header fields.
Severity, certainty:
normal, certain
duplicate-header-field-last-translator
This file contains multiple Last-Translator header fields.
Severity, certainty:
normal, certain
duplicate-header-field-mime-version
This file contains multiple MIME-Version header fields.
Severity, certainty:
pedantic, certain
duplicate-header-field-plural-forms
This file contains multiple Plural-Forms header fields.
Severity, certainty:
serious, certain
duplicate-header-field-project-id-version
This file contains multiple Project-Id-Version header fields.
Severity, certainty:
minor, certain
duplicate-header-field-report-msgid-bugs-to
This file contains multiple Report-Msgid-Bugs-To header fields.
Severity, certainty:
normal, certain
duplicate-header-field-x-poedit
This file contains multiple X-Poedit-* header fields.
Severity, certainty:
normal, certain
duplicate-message-definition
This file contains multiple definitions of the same message.
Severity, certainty:
serious, certain
duplicate-message-flag
Multiple identical flags are associated with one of the messages.
Severity, certainty:
minor, certain
empty-file
This file doesn't contain any messages.
Severity, certainty:
normal, certain
empty-msgid-message-with-plural-forms
The message with empty msgid contains plural forms. Such messages are reserved by GNU gettext for header
entries, and your code should not call ngettext("", …).
Severity, certainty:
serious, certain
empty-msgid-message-with-source-code-references
The message with empty msgid contains plural forms. Such messages are reserved by GNU gettext for header
entries, and your code should not call gettext("").
Severity, certainty:
serious, possible
encoding-in-language-header-field
The language header field contains encoding declaration. Such information shouldn't be included in this
field.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, certain
fuzzy-header-entry
The header entry is marked as fuzzy. To increase operability with very old (<< 0.11) msgfmt(1) versions,
which didn't support fuzzy header entries, it shouldn't be marked as such.
References:
http://git.savannah.gnu.org/cgit/gettext.git/tree/NEWS?id=v0.11#n44
Severity, certainty:
pedantic, certain
inconsistent-leading-newlines
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.
Severity, certainty:
important, possible
inconsistent-number-of-plural-forms
Number of plural forms in a message definition doesn't match number of plural forms declared in another
message definition.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
http://www.gnu.org/software/gettext/manual/html_node/Translating-plural-forms.html
Severity, certainty:
serious, certain
inconsistent-trailing-newlines
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.
Severity, certainty:
important, possible
incorrect-number-of-plural-forms
Number of plural forms in a message definition doesn't match number of plural forms declared in the
header.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
http://www.gnu.org/software/gettext/manual/html_node/Translating-plural-forms.html
Severity, certainty:
serious, certain
incorrect-plural-forms
The Plural-Forms declaration is incorrect, according to i18nspector's linguistic data.
Severity, certainty:
serious, possible
incorrect-unused-plural-forms
The Plural-Forms declaration is incorrect, according to i18nspector's linguistic data. (But there are no
translated messages which use plural forms.)
Severity, certainty:
normal, possible
invalid-content-transfer-encoding
Value of the Content-Transfer-Encoding header field is invalid. It should be 8bit.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2045#section-6.1
Severity, certainty:
pedantic, certain
invalid-content-type
Value of the Content-Type header field should is invalid. It should be in the form text/plain;
charset=encoding.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2045#section-5
Severity, certainty:
important, possible
invalid-date
The date is invalid or in an invalid format. The format should be YYYY-MM-DD hh:mm+ZZzz, e.g. 2011-11-05
10:14+0100.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
normal, certain
invalid-language
The Language header field couldn't be parsed, or it contains an unknown language.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
important, possible
invalid-language-team
The Language-Team header field contains an e-mail address that uses a reserved domain name.
References:
http://tools.ietf.org/html/rfc2606
Severity, certainty:
normal, possible
invalid-last-translator
The Last-Translator header field could neither be parsed as an e-mail, or the e-mail address uses a
reserved domain name.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2606
Severity, certainty:
normal, possible
invalid-mime-version
Value of the MIME-Version header field is invalid. It should be 1.0.
References:
http://tools.ietf.org/html/rfc2045#section-4
Severity, certainty:
pedantic, certain
invalid-mo-file
This file couldn't be parsed a MO file.
Severity, certainty:
serious, certain
invalid-range-flag
A range: flag couldn't be parsed, or the designated range contained less than two numbers. The syntax is
range: min..max, where both values are non-negative integers.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
Severity, certainty:
important, certain
invalid-report-msgid-bugs-to
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2606
Severity, certainty:
normal, possible
language-disparity
Language of this file has been declared in multiple places, but the declarations don't match.
Severity, certainty:
normal, possible
language-team-equal-to-last-translator
Language-Team and Last-Translator header fields contain the same e-mail address.
Severity, certainty:
minor, possible
language-variant-does-not-affect-translation
The Language header field contains a variant designator that is not relevant for the message translation.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, possible
no-content-transfer-encoding-header-field
The Content-Transfer-Encoding header field doesn't exist. It should be set to 8bit.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2045#section-6.1
Severity, certainty:
pedantic, certain
no-content-type-header-field
The Content-Type header field doesn't exist. It should be set to text/plain; charset=encoding.
Note that in the absence of encoding declaration, i18nspector assumes ASCII encoding.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
http://tools.ietf.org/html/rfc2045#section-5
Severity, certainty:
important, certain
no-date-header-field
The date header field doesn't exist.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, certain
no-language-header-field
The Language header field doesn't exist.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
pedantic, certain
no-language-team-header-field
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
pedantic, certain
no-last-translator-header-field
The Last-Translator header field doesn't exist. It should contain the last translator's name and email
address.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
normal, certain
no-mime-version-header-field
The MIME-Version header field does't exist. It should be to set to 1.0.
References:
http://tools.ietf.org/html/rfc2045#section-4
Severity, certainty:
pedantic, certain
no-package-name-in-project-id-version
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, possible
no-plural-forms-header-field
The Plural-Forms header field does not exist, even though some of the messages use plural forms (although
none of them have been translated).
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
minor, certain
no-project-id-version-header-field
The Project-Id-Version header field does not exist. It should contain the name and the version of the
package.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
minor, certain
no-report-msgid-bugs-to-header-field
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
normal, certain
no-required-plural-forms-header-field
The Plural-Forms header field does not exist, even though some of the translated messages use plural
forms.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
serious, certain
no-version-in-project-id-version
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.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
pedantic, possible
non-ascii-compatible-encoding
This file uses an encoding that is not compatible with ASCII.
Severity, certainty:
serious, certain
non-portable-encoding
This file uses an encoding that is not widely supported by software.
References:
http://www.gnu.org/software/gettext/manual/html_node/Header-Entry.html
Severity, certainty:
important, certain
os-error
An input/output error or another operating system error occurred while checking this file.
Severity, certainty:
serious, certain
range-flag-without-plural-string
A range: flag is associated with a message that doesn't have plural string. range: flags only make sense
for translations involving plural forms.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
Severity, certainty:
normal, certain
redundant-message-flag
A flags associated with one of the messages is redundant, because it's implied by another flag.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
Severity, certainty:
pedantic, certain
stray-header-line
The headers contains a line that does not belong to any header. Note that RFC-822-style folding of long
headers is not supported.
References:
http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00010.html
Severity, certainty:
important, certain
syntax-error-in-plural-forms
Value of the Plural-Forms header field could not be parsed. It should be in the form nplurals=n;
plural=expression.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
serious, possible
syntax-error-in-po-file
This file couldn't be parsed a PO file. In some rare cases this is due to incorrect or missing encoding
declaration.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
http://bugs.debian.org/692283
Severity, certainty:
serious, possible
syntax-error-in-unused-plural-forms
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 nplurals=n; plural=expression.
References:
http://www.gnu.org/software/gettext/manual/html_node/Plural-forms.html
Severity, certainty:
important, possible
unable-to-determine-language
i18nspector was unable to determine language of this file. Absence of this information will prevent it
from performing further checks.
Severity, certainty:
normal, wild-guess
unexpected-flag-for-header-entry
An unexpected flag is associated with the header entry. The only flag that makes sense for the header
entry is fuzzy.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
Severity, certainty:
normal, possible
unknown-encoding
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.
Severity, certainty:
important, possible
unknown-file-type
File format of this file couldn't be recognized. It might be a bug in i18nspector.
Severity, certainty:
normal, wild-guess
unknown-header-field
The header field name is unknown to i18nspector. It might be a typo or a capitalization error (header
field names are case-sensitive).
References:
http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00010.html
Severity, certainty:
minor, wild-guess
unknown-message-flag
An unknown flag is associated with one of the messages. It might be a typo.
References:
http://www.gnu.org/software/gettext/manual/html_node/PO-Files.html
Severity, certainty:
normal, wild-guess
unknown-poedit-language
Language declared in X-Poedit-Language couldn't be recognized. It might be a bug in i18nspector.
Severity, certainty:
minor, wild-guess
unrepresentable-characters
The declared encoding cannot represent all characters commonly used in this language. This is a strong
indication that the declared encoding is incorrect.
Severity, certainty:
serious, possible
unusual-character-in-header-entry
The header entry contains an unusual character. This is usually an indication of an encoding problem,
such as:
• using ISO 2022 escape sequences, or
• using UTF-8 despite declaring an 8-bit encoding.
References:
http://www.unicode.org/faq/utf_bom.html#bom6
Severity, certainty:
important, certain
unusual-character-in-translation
One of the translated messages contains an unusual character. This is usually an indication of an
encoding problem, such as:
• using ISO 2022 escape sequences, or
• using UTF-8 despite declaring an 8-bit encoding.
References:
http://www.unicode.org/faq/utf_bom.html#bom6
Severity, certainty:
important, possible
SEE ALSO
msgfmt(1), particularly the -c option
i18nspector 0.13.4 2014-03-20 I18NSPECTOR(1)