There’s an online translation service for XLIff files (well, there’s quite a few but most I’ve found use human translators, and as a result cost a fair bit). It’s not free either, but for 2-3 languages it’s relatively reasonable at $19/mo., and a couple of months’ subscription would allow for a fair number of automated translations which could be quickly tweaked.
https://lingohub.com/pricing/ Mojito allows you to integrate the Xliff translation as part of a Travis CI build. It’s written in Java but supports localization for a number of languages, which implies it wouldn’t take much modification to support Pharo. https://github.com/box/mojito There’s also a number of Xliff editors on GitHub, including a plugin for Oxygen XML, which I happen to use when I do edit XML rather than using IADS with SGML and exporting XML. Not sure if this is the kind of thing you’re looking for, but it might be a quick way to get key applications’ text translated and be used by a relatively simple Pharo / Seaside tool. It’s even possible that a decent modification of Mojito might allow semi-automated translations using LingoHub. Andrew Glynn From: Andrew Glynn Sent: Friday, November 10, 2017 6:09 PM To: Any question about pharo is welcome Subject: RE: [Pharo-users] I18n in pharo I’d think about porting the I18n Gem from Ruby but replacing Gettext with xliff to be a better, more generalized solution. Cascade in the Ruby Gem is a useful feature missing from other implementations I’ve used. https://github.com/svenfuchs/i18n/tree/master/test http://docs.oasis-open.org/xliff/xliff-core/xliff-core.html It would also likely be easier and more reliable, since the XML support in Pharo is already quite good. Andrew Glynn Sent from Mail for Windows 10 From: Torsten Bergmann Sent: Thursday, November 9, 2017 4:59 PM To: pharo-users@lists.pharo.org Subject: Re: [Pharo-users] I18n in pharo The Pharo 7/8 roadmap does not (yet) include I18N: https://github.com/pharo-project/pharo-workingRoadmaps/blob/master/Pharo7/ROADMAP.md and the Pharo core image still includes the "NaturalLanguageTranslator" solution still from Squeak. See this class for more details and all senders of #translated message. So far the whole Pharo UI is in English and while books, the mooc or others were translated the Pharo image so far is not. I guess some more work would be needed also on the font frontier to provide an internationalized image and the different languages. But for own applications (like web applications) there are some more (external) solutions: 1. I once wrote and announced an own I18N framwork: http://lists.pharo.org/pipermail/pharo-dev_lists.pharo.org/2014-September/100247.html which is fully documented on http://smalltalkhub.com/#!/~TorstenBergmann/I18N but is a completely proprietary solution. 2. There is also some stuff from Jan van de Sandt: https://lists.gforge.inria.fr/pipermail/pharo-project/2012-October/070652.html 3. And there is GetText (from Seaside web framework) which I guess is either here http://smalltalkhub.com/#!/~PharoExtras/Gettext or now maintained here: https://github.com/SeasideSt/Seaside/wiki/Gettext Unfortunately back at the time this one was not independently loadable and had other trouble which I critisized on http://forum.world.st/ANN-Easy-I18N-for-Pharo-td4778194.html Maybe situation for this project has improved. But so far nobody pushed I18N really into Pharo ... 4. Therefore back in 2014 I started with a consolidation by starting a clean room implementation of Gettext - based on code from 3. but now with tests and Pharo Spec based tools (see screenshot attached). I did it in an own repo to be able to experiment and not break the Seaside solution right in the beginning. My code is on STHub http://smalltalkhub.com/#!/~TorstenBergmann/Gettext and it is not yet fully usable and so far still unfinished But one can load the project still in Pharo 7 using Gofer it smalltalkhubUser: 'TorstenBergmann' project: 'Gettext'; configuration; load. (Smalltalk at: #ConfigurationOfGettext) project bleedingEdge load All 11 Tests are green so at least what is there should work. Check the world menu and the code. Load the "Foo" package from the same repository to see something in the tools. The idea was to have support for MO and PO files completely written in Smalltalk as well as tools that allow you to find and translate internationalized text. But as always: this would require more work. I would still favour a fully in Pharo written solution (following the gettext formats) but maybe for performance reasons then also bind to libgettext using UFFI. Hope this gives some insights on the current existing solutions/status. Thanks Torsten > Gesendet: Donnerstag, 09. November 2017 um 21:29 Uhr > Von: "Викентий Потапов" <vikenti.pota...@gmail.com> > An: pharo-users@lists.pharo.org > Betreff: [Pharo-users] I18n in pharo > > > Will Pharo 7 be ready for i18n of applications? > I mean some simple and useful way like in Cincom Visual Works, where > translation dictionaries are separated from code and could be dinamycally > changed without changing my application. > > It is very important for huge commercial applications, especially with lots > of UI forms, dialogs and user-messages. > > I transfer my code from Cincom VW (VW is not available now for Russia due to > politic situation) to Pharo and is very interested in simple > internationalization mechanism. I don't want to reinvent the wheel but > sometimes it seems to me that pharo developers are forced to do it. > > By the way, the error i had last week with clean Pharo 6\Pharo 6.1 > installation ("UTF8InvalidText: Invalid utf8 input detected" on image load - > error caused by cyrillic path to application folder) didn't solved and i had > no feedback from community. > > best regards, > Vikenti Potapov. > > >