[QA] [Mediawiki-i18n] Jenkins test for i18n messages
Siebrand Mazeland (WMF)
smazeland at wikimedia.org
Mon Oct 7 20:20:09 UTC 2013
I'm very pro this conversation! Especially because it part of an item in my
2013-2014 roadmap for Language Engineering. Everything that I don't have to
plan explicitly, and pops up grass root, I support. So +1!
Here's what is in the LangEng engineering roadmap document about this
feature:
---
All Wikimedia website software features are submitted and merged through
our source code management systems. Our procedures prescribe that code
enters a production stage only when it is written by one person, and
accepted by another person. As many of our features have textual components
that need to be translated, or graphical components that may require
mirroring or other features when used in Right-to-Left contexts instead of
the Left-to-Right context they were developed in, we aim for a mandatory
internationalization review, documented in Gerrit, in case code touches any
internationalization or localization area. The L10n code review can be
partially performed by an automated checker ("MediaWiki i18n linter") to
provide quick feedback to developers on often observed i18n/L10n related
issues, and partially requires feedback from an interactive. Mandatory
review will ensure that fewer i18n and L10n issues will hit production, be
it localization or an incorrect display in for example Arabic or Hebrew.
---
On Mon, Oct 7, 2013 at 9:25 PM, S Page <spage at wikimedia.org> wrote:
> This git hook checks that there's a qqq message for every English message.
> With a little enhancement it could be generalized to most extensions.
>
> Can someone add a test like this to Jenkins? Would it go in
> <
> https://git.wikimedia.org/blob/integration%2Fjenkins-job-builder-config.git/HEAD/mediawiki-extensions.yaml
> >
>
> ---------- Forwarded message ----------
> From: Erik Bernhardson <ebernhardson at wikimedia.org>
> Date: Wed, Oct 2, 2013 at 10:36 AM
> Subject: [E2] i18n messages
> To: E2 development team <e2 at lists.wikimedia.org>
>
>
> I've noticed a recurrence of git reviews about missing i18n documentation,
> to help solve these up front we could add a hook to git review (or git
> commit if you prefer) that checks this at a basic level for us.
>
>
> In *.git/hooks/pre-review* put the following:
>
> #!/usr/bin/env php
> <?php
>
> // This file must have the executable flag set to work as a hook
>
> // A hooks path is always /path/to/repo/.git/hooks/hook-name
> $repo = dirname( dirname( dirname( realpath( $argv[0] ) ) ) );
>
> include "$repo/Flow.i18n.php";
>
> $missing = array_diff( array_keys( $messages['en'] ), array_keys(
> $messages['qqq'] ) );
> if ( $missing ) {
> echo "Missing i18n messages:\n\t" . implode( "\n\t", $missing ) .
> "\n";
> exit( 1 );
> }
>
>
> chmod +x the new file, and anytime you do a git review with missing qqq it
> should say:
>
> git review
> Custom script execution failed.
> The following command failed with exit code 255
>
> "/home/guy/Jobs/mediawiki/vagrant/mediawiki/extensions/Flow/.git/hooks/pre-review"
> -----------------------
> Missing i18n messages:
> flow-post-action-censor-post
>
> -----------------------
>
>
> Relatedly, there is a new patch in gerrit to fix that missing message that
> made it through review.
>
> Erik B.
>
> _______________________________________________
> E2 mailing list
> E2 at lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/e2
>
>
>
>
> --
> =S Page Features engineer
>
> _______________________________________________
> Mediawiki-i18n mailing list
> Mediawiki-i18n at lists.wikimedia.org
> https://lists.wikimedia.org/mailman/listinfo/mediawiki-i18n
>
>
--
Siebrand Mazeland
Product Manager Language Engineering
Wikimedia Foundation
M: +31 6 50 69 1239
Skype: siebrand
Support Free Knowledge: http://wikimediafoundation.org/wiki/Donate
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wikimedia.org/pipermail/qa/attachments/20131007/88681bfb/attachment-0001.html>
More information about the QA
mailing list