Pseudo translation tool
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://
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:
- 2015.1.0
- Started by
- Doug Fish
- Completed by
- David Lyle
Whiteboard
Gerrit topic: https:/
Addressed by: https:/
WIP: Pseudo translation tool