Pseudo translation tool

Registered by Doug Fish

Summary:
Provide a pseudo translation tool to help identify translatability problems with Horizon sooner.

Motivation:
It's difficult to identify hardcoded and concatenated strings if they escape code review. When running Horizon, there is no way to tell if a string is not translated yet (but could be), or if the string is hardcoded and untranslatable. Finding these problems late in the development cycle is difficult to manage, so the aim is to develop a tool to help sort out potential problems with translations earlier, even before the translators see the strings.

Description:
Provide a tool to update the local PO files to update a translated language file to have a (fake) translation string for every string. Doing so will enable:
1) When developing a new i18n related fix, it will be possible for the developer to more easily test it interactively to see if it works.
2) When reviewing code, it will be possible for the reviewer to test the fix interactively to ensure there are no hardcoded strings
3) External testers can use the tool to make sure Horizon is able to be translated.

In addition to finding hardcoded and concatenated strings the tool can also be used to find potential problems with non-ascii character handling, and making sure we have sufficient space available to display translations.

Roughly, the idea is to add a fake "translation" for any english string without a corresponding real translation. The fake translations will
- begin and end with brackets (to help identify concatenation),
- include characters from several languages (to help identify character encoding problems), and
- include some tidle or other filler characters (to help test for expansion space, using the formula shared at http://www-01.ibm.com/software/globalization/guidelines/a3.html)

So for example the segement
  System Information
would get pseudo translated to something like
  [~System Information ~~您好яшçあ~~~~~]

UX:
N/A This is a development/test tool

Outside Dependencies:
No new dependencies. Will be built using Babel.

Requirements Update Required:
N/A

Doc Impact:
N/A

Blueprint information

Status:
Complete
Approver:
David Lyle
Priority:
Low
Drafter:
Doug Fish
Direction:
Approved
Assignee:
Doug Fish
Definition:
Approved
Series goal:
Accepted for kilo
Implementation:
Implemented
Milestone target:
milestone icon 2015.1.0
Started by
Doug Fish
Completed by
David Lyle

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.