Changes between Initial Version and Version 6 of Ticket #104


Ignore:
Timestamp:
04/20/2015 10:06:48 PM (5 years ago)
Author:
trev
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #104

    • Property Reporter changed from philll to trev
    • Property Component changed from Unknown to Build-and-Release-Tools
    • Property Priority changed from Unknown to P3
    • Property Platform changed from to Unknown
    • Property Ready unset
  • Ticket #104 – Description

    initial v6  
    33 
    44=== What to change === 
    5 There is little point updating this script, we rather need to rewrite it in Python: 
     5There is little point updating this script, we rather need something in Python which would be integrated with the build tools: 
    66 
    7  * Cross-checking with Element Hiding Helper shouldn't be necessary any more. 
    8  * All necessary parameters should be defined in the metadata file, not in the script itself. 
    9  * Validation should be triggered by a new build.py command. 
    10  * Functionality from localeTools.py should be used to read locales, this will work both for Firefox and Chrome. 
    11  * Format validation will be performed automatically with the standard tools, only access keys, placeholders and string length should be checked. Warnings about untranslated strings are optional (these weren't too useful so far). 
     7* Add a new `build.py checktranslations` command. 
     8* `metadata.*` file should have a section with the following parameters (all optional): 
     9  * Sets of strings that shouldn't have conflicting access keys 
     10  * Sets of strings that should have identical access keys 
     11  * List of locales where access keys don't have to be part of the string (e.g. Chinese, translations will often look like `Foo (&x)` because the label is Chinese whereas access keys are using Latin script). 
     12  * Whitelist of strings where translations identical to English shouldn't be flagged. 
     13  * List of strings with length restrictions. 
     14  * List of placeholders to look for (e.g. `?1?`). Chrome's variables (e.g. `Current time is $time$`) should be considered as placeholders automatically, these don't need to be configured. 
     15* The command should load the locales using the mechanisms already in `localeTools.py`, this will already ensure that the file format is correct. 
     16* It should then perform the following checks: 
     17  * If there is an access key in English (e.g. `&Subscription`), the translation should have an access key as well (e.g. `Filter&abonnement`). 
     18  * If there is no access key in English then there should be none in the translation. 
     19  * The access key should follow the configured rules. 
     20  * The translation (minus access keys) should obey to the length restrictions. 
     21  * The English and the translated string should have the same set of placeholders.