Using Crowdin and Ulteo
Open Virtual Desktop in the
translation process of Salome
2014-11-27
Salome User Day 2014 | Christophe Bourcier
24 NOVEMBRE 2014 | PAGE 2 CEA | 10 AVRIL 2012
Manage locale in Qt
Source file (*.ts):
xml
key/translation
one file per locale
edited via:
- text editor
- Qt Linguist
Binary file (*.qm):
compact binary format
used by the localized application
provides extremely fast lookups for translations
generated by lrelease at make install
24 NOVEMBRE 2014 | PAGE 3 CEA | 2014-11-27
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.0" language="en_US">
<context>
<name>@default</name>
…
<message>
<source>GEOM_BOOL_REMOVE_EXTRA_EDGES</source>
<translation>Remove extra edges</translation>
</message>
…
</context>
</TS>
Qt Linguist
24 NOVEMBRE 2014 | PAGE 4 CEA | 2014-11-27
GUI to edit .ts files
Example: fuse dialog box
25 NOVEMBRE 2014
Crowdin
Goal:
manage localization of a project by a community of users
for mobile apps, web, desktop software and related assets
free for open-source projects
How:
web interface: https://crowdin.com
command line interface (java or ruby): crowdin-cli
History of Crowdin use for Salome:
initiated by Luca Dall’Olio (Alneos)
Japanese translations done by Japan Salome-Meca Working Group (JSWG)
integration of first Japanese translations in Salome 7.3.0 (Renaud Nedelec,
Euriware)
automatization of the integration of translations to update Japanese translations
in Salome 7.4.0 (Christophe Bourcier, CEA)
24 NOVEMBRE 2014 | PAGE 6 CEA | 2014-11-27
Crowdin: Salome localization
24 NOVEMBRE 2014 | PAGE 7 CEA | 2014-11-27 Translation 100% done
Translation 16% done
(the user first copied all english translations,
then translates to Romanian)
Crowdin: French localization progress per file
Crowdin: display untranslated sentence
See translation in
other languages
Crowdin: translate sentence
See translation of
similar sentences
Update translation source files in Crowdin
When:
before a new release (in beta stage)
so that users can translate the new features
Notify the translators:
Crowdin RSS feed
Message on Crowdin form
E-mail by the integrator to translators
What is done (in CLI):
get Salome sources from git master
put translation files in Crowdin source directory (local):
- "*_msg_en.ts"
- YACS/src/salomegui/resources/YACS_msg_fr.ts
- GUI/src/Qtx/resources/Qtx_msg_fr.ts
remove language suffix
upload new sources to Crowdin
upload new translations done on git to Crowdin
- only for English and French
24 NOVEMBRE 2014 | PAGE 11 CEA | 2014-11-27
Integrate translated files to Salome git repository
When:
when many files have been translated so that users can check their translations
before a new release (before rc stage)
Notify the integrator:
E-mail by a translator or a Salome manager
Crowdin RSS feed
What is done (in CLI):
download translation files from Crowdin
copy wanted languages in Salome sources (only Japanese for now)
git add only translation files
git commit -m "Update translation files from Crowdin"
git push
25 NOVEMBRE 2014 | PAGE 12 CEA | 2014-11-27
Check the translations
What has been done for 7.4.0:
download translations from Crowdin
integrate translated files to Salome git repository
compile Salome on Fedora 18
provide an archive with SalomeTools in CEA ftp
installation by the translators
check of the translations
update of the translations in Crowdin
loop until the translators give their agreement or the release date is reached
Idea to improve this workflow:
automatically build Salome on Ulteo Open Virtual Desktop
| PAGE 13 CEA | 2014-11-27
inte
gra
te
build provide
on ftp
install
& check
Ulteo Open Virtual Desktop
Who:
founded by Gaël Duval in 2006
acquired by AZNetwork in 2014
Goal:
provide desktop apps as web apps
provide remote desktop with your favourite apps
provide same apps to a group of users
opensource
similar commercial products:
- Citrix
- OVH HPC Spot
How:
works in any web browser (html5 or java client)
PC, tablet, smartphone
24 NOVEMBRE 2014 | PAGE 14 CEA | 2014-11-27
Ulteo Open Virtual Desktop
OVD installation for Salome:
installation of OVD on a Kimsufi server http://lides.fr/ovd
- Atom QuadCore 1.86GHz, 2Go de RAM
- hosted by OVH in Roubaix
creation of a Debian Squeeze 64 bit subsytem
- to replace Ubuntu Lucid 32 bits provided by Ulteo
- documented on http://lides.fr/cms/how-to-create-your-own-ovd-subsystem
24 NOVEMBRE 2014 | PAGE 15 CEA | 2014-11-27
Check the translations (OVD workflow)
What has been done to improve the check translation workflow:
installation of Salome 7.5.0b1 on Ulteo Open Virtual Desktop
one application per language
every ½ hour:
- check if new translations have been done
- if needed, download translations
- make install in updated Salome modules
The new check workflow:
wait ½ hour max
launch Salome in the Virtual Desktop
| PAGE 16 CEA | 2014-11-27
inte
gra
te
check
build
Ulteo login
| PAGE 17 CEA | 2014-11-27
Ulteo desktop: check last Salome build information
| PAGE 18 CEA | 2014-11-27
Check Salome translation in Ulteo desktop (French)
| PAGE 19 CEA | 2014-11-27
Check Salome translation in Ulteo desktop (Japanese)
| PAGE 20 CEA | 2014-11-27
Check Salome translation in Ulteo desktop (Romanian)
| PAGE 21 CEA | 2014-11-27
Don’t forget to logout or disconnect to be able to
login again (without having to wait until the timeout)
| PAGE 22 CEA | 2014-11-27
What’s next?
Require help from volunteers to translate Salome:
on Salome forum
from your native speaking colleagues
you!
Need one trusty person per language.
Contact me for a user account: [email protected]
Install OVD on a better server.
Find new ways to use OVD in your projects.
| PAGE 23 CEA | 2014-11-27
Direction de l’Energie Nucléaire
Département de Modélisation des
Systèmes et Structures
Service de Thermohydraulique et de
Mécanique des Fluides
Commissariat à l’énergie atomique et aux énergies alternatives
Centre de Saclay | 91191 Gif-sur-Yvette Cedex
T. +33 (0)1 69 08 60 00
Etablissement public à caractère industriel et commercial | RCS Paris B 775 685 019 24 NOVEMBRE 2014
| PAGE 24
CEA | 10 AVRIL 2012