45 lines
1.5 KiB
ReStructuredText
45 lines
1.5 KiB
ReStructuredText
L10n
|
|
====
|
|
|
|
The l10n linter checks for mistakes and problems in the localizable files.
|
|
Most of the code lives inside the
|
|
`compare-locales <https://pypi.org/project/compare-locales/>`_
|
|
package, and is shipping as the ``moz-l10n-lint`` command.
|
|
|
|
The linter checks for fundamental issues like parsing errors, but it also
|
|
finds more subtle mistakes like duplicated messages. It also warns if you're
|
|
trying to change a string without changing the ID, or to add a string that's
|
|
still in use in a stable channel with a different value.
|
|
|
|
The warnings on string ID changes get reported on phabricator, but they're
|
|
not making the build fail. To find out when to change IDs and when not to,
|
|
read the :ref:`Lifecycle & Workflow <Localization>` section in the
|
|
localization documentation.
|
|
|
|
Run Locally
|
|
-----------
|
|
|
|
The can be run using mach:
|
|
|
|
.. parsed-literal::
|
|
|
|
$ mach lint --linter l10n <file paths>
|
|
|
|
Alternatively, omit the ``--linter l10n`` and run all configured linters, which
|
|
will include the l10n linter.
|
|
|
|
|
|
Updating the Reference
|
|
----------------------
|
|
|
|
The linter checks out the ``firefox-l10n-source`` localization files into your
|
|
``.mozbuild`` state directory. By default this is updated automatically after
|
|
48 hours. There might be new strings anyway, if you want to ensure an
|
|
updated clone, remove the marker file in
|
|
``~/.mozbuild/l10n-source/.git/l10n_pull_marker``.
|
|
|
|
Sources
|
|
-------
|
|
|
|
* :searchfox:`Configuration (YAML) <tools/lint/l10n.yml>`
|
|
* :searchfox:`Source <tools/lint/python/l10n_lint.py>`
|