openbmc / phosphor-webui

Web-based user interface for managing OpenBMC systems
Apache License 2.0
38 stars 26 forks source link

Globalization for OpenBMC #64

Open ryanarnell opened 5 years ago

ryanarnell commented 5 years ago

We tested our existing app against about the following 9 baseline languages-

Overall our web app tested pretty well for adopting different length of the words and line orientation for different languages. However there are few places we found some issues that is addressed below.

Recoding to prevent layout breakage We have enough space in the UI for longer texts. But there are few areas that broke and need to be recoded to support better warping of text elements. These are Header notification and timezone area Navigation Server control- Server power operations Server health- Event log

Tables in the current design breaks pretty easily with different length of data. This is present in the following pages- Server health- Hardware status Server health- Sensors

Detailed examples with screenshots can be found in the slides. https://drive.google.com/file/d/15xG-v0jY7VKTFE-KRBFtmnxyjrUHa6IT/view?usp=sharing

Restructuring Sentences There are few terms in our build that creates improper translation. For example in our Server Information page (Homepage) we have - Turn <on/off> server LED Based on the current status of the LED, the ‘On’ or ‘Off’ term displays. Since these terms sits in the middle of the sentence, it breaks the sentence in two phrases- ‘turn’ and 'server LED’. This creates incorrect translation. We recommend re-writing the phrase to Turn server LED <on/off> which doesn’t not break the sentence.

Using a translation service This is probably the biggest issue we have with our app. Right now all the terms and messages that need to be translated are embedded into our html files. This creates serious issues translating the app properly.

We propose using a service like g11n-pipeline. This way we will only have a single ts file to translate. Also, this way we will have more robust translation as we will have control over translated phrases. We can also test our layout properly against all the proposed languages.

gtmills commented 5 years ago

https://gerrit.openbmc-project.xyz/#/c/openbmc/phosphor-webui/+/17582/ is a start of this