any news about i18n in 5.6 release?2 users found helpful
I'm very happy hearing about the progress of C5 and plans for 5.6 release, but I wonder if there are going be some changes in regard how i18n is handled?
I've bought Translation Manager and plan to work on translating core as well as add-ons which we use, so curious whether I should just create 'projects' at github and connect them with Transifex.net or there will be some 'official' (non-Gengo) facility for that?
revisiting international stuff is not on the radar for 5.6
CEO - concrete5.org
Thank you for reply.
Would it be possible to, at least, fill the
I'm getting lots of complaints about bad translations and know for a fact that concrete5 lost developers because they have the feeling that you don't care much about other languages beside English.
Antti has built a lovely add-on which we, if he agrees, could use as a base to build a custom tool which could run on concrete5.org or a subdomain of it. Once we have all the translations available on concrete5.org we could also make sure that users can pick their language while installing concrete5. That would definitely be a big improvement for concrete5!
Actually for the Finnish translation we already experimented this with 220.127.116.11 and it worked quite well since there were only 3 people updating at different times (so no concurrency there).
Like @gour mentioned above, having a github storage to keep the translations up-to-date might be a good idea to experiment with (I believe this is what many other projects do as well). But with github honestly I don't see how we can have different managers for different languages because someone has to keep an eye of the concurrent use of terms and wording in the language and certainly the core team does not speak Finnish, German or Japanese to be able to do that.
There are questions to answer regarding to this but I must agree with Remo that we can take over this one if we just get the direction. The current direction from the core team is that "yes, we should reconsider how we do this but we're not doing it today, tomorrow, maybe during the next year but maybe not".
The internationalization is one thing that make it or break it, at least that's why we built totally our own translatable distribution for Finnish users with 18.104.22.168 since it's just the most important selling point for the software. This problem araised especially with 5.5.0 since 22.214.171.124 at least translated pretty nicely for most parts.
Having interface that translates like 50-70% looks for the POTENTIAL clients that this software just isn't complete and we better not use it.
Somekind of translation manager with a github backend would be cool..
But first, I'd like to hear from Frz about that!
I think Translations Manager could serve as the backend for generating the translation files and then to build a front-end interface to allow translators there would be quite possible solution. Then having it push back new changes to github would be great as well.
I'm also eagerly waiting for Franz's opinion!
When I mentioned github, it was not meant to serve potential translators, but just to provide hub (pun intended) for e.g. Transifex.net so tha project managers can easily pull latest *.po files which is now not the case and it's not fully specified where to hunt 'em. :-(
Concrete5 is really nice platform, but i18n simply sucks a big time by being neglected by the core devs not fixing it nor enabling others to fix it...the result is that status of translations avaialable for core and add-ons is simply worth of crying. :-/
A simple frontend usable for anyone and a github backend for the dev stuff in the background.
I'm sure we would have a lot more translated add-ons with such a system. Mostly it would take me a minute to translate an add-on to German!
International should get more priority with Concrete5.
Antti's add-on is great and we have used it with Finnish translation.
I also tried Transifex (https://www.transifex.com/) on another project and that seemed a much better alternative to myGengo in regards to speed and stability.
I have tried to use myGengo several times with C5 and been frustrated with the amount of bugs in it. It really is not an ideal solution.
If the core team agreed, it could be easy to start a new project in Transifex and try how the translation would work there. myGengo could still be used as a backup.
Could i say a word about l10n ?
I have tested many different projects since i discovered that i didn't like mygengo.
I tryed several tools the four best are
- Transifex, quite good but not so free and it miss important feature i like.
- Rosetta (from launchpad) is a good tool to but it miss the fact to lock a file when another is working on.
- Damned Lies the best of all i think ( it's only what i think myself and only engage me) damned lies let you manage country team with hierarchy, rights, commiters, and so on. Many good collaborativ feature mainly the git management witch is very nice on DL.
If i where you i'll use a locally ( on own server) installable solution not a saas one dependend of a third company services, especially half free services like transiflex. It's not hard to have python and django framework on a server to install a solid rock 100% managed solution.
If you've got any questions, feel free ;) i'm waiting the l10n of c5 going deeper since several years now :) i'm very very happy to read that it's moving in this way :)
Just to help keep it pure, lets not worry about cost at this point. If
its anything reasonable its worth it to me to have everyone using a
tool that works well.
CEO - concrete5.org
It's excellent that we can have debate about this and share our experiences.
At the current situation any improvement over myGengo would be improvement but it doesn't mean that we should rush into a new system which we then find out six months later is not good either. Also there is a risk that if the situation with myGengo prolonges, that people get frustrated and the international community of C5 starts to break apart. And that would be a real shame,
Transifex looked good to me and while it's not free, it's still reasonably priced IMO.
ALso a service on your own server could be a good solution. But is there are risk that it takes too much time to build a completely new system?
Also what was the feature cali was missing from Transifex?
thank you for giving your voice here.
> Just to help keep it pure, lets not worry about cost at this point.
If e.g. Django project (which is known to have excellent documentation and nice i18n support) is at Transifex, it means it's not bad.
Moreover, I see that several Django-based CMS-es are also there and I believe that Concrete5 qualifies as open-source project.
The web site clearly says:
Translators and Open-source projects
Unlimited words and collaborators for open-source projects. Completely free for translators.
I also did create some projects there which I do not 'own'...so I do not see how it's 'half-free'.
Everyone is free to see Transifex 'tour' for free, but one nice thing about it is that it makes integrating translations into the project very easy and allow translators to consult words from other projects, iow. using 'translation memory' and do the work online, or simply translate offline.
As long as there is e.g. *.po resource available online (in this case @github), it goes very smoothly.
I understand your concern to do it correctly this time, but let's just do 1st step - provide up-to-date *.po at github.
Then anyone (even me), can create (for free) Concrete5 project at Transifex, manage teams etc. and you'll get result of low-hanging fruits being able to integrate the work easily into C5 core.
If for some reason, you are not happy with Transifex, it's easy to use something else, but 'languages' folder @github will be somewhat populated. :-)
In my opinion we shouldn't talk if Transifex is the right solution or not, we should check what kind of requirements we have and go on from there. Just because it's a great solution for one project doesn't mean it's a great solution for concrete5.
I also don't think we should just move the translation files to github. What if that step is already the wrong step? We have some translators at myGengo, some at github, some at nirwana etc. If we just move to github we automatically exclude 90% of those people who aren't developing. In my opinion we have to make sure we start with a working solution not just for developers.
I suggest that we collect requirements that everyone thinks we need and combine them at some point and agree on those things. What I think is necessary:
* Easy way to add new strings. 1st because of a new concrete5 release but 2nd also because we might have to be able to add strings found in the database. A PHP Api which adds strings out of the installation process might be nice too.
* Team work. There's usually not just a single person who manages translations for one language. Proper team functionality as well as the ability to add comments and talk about translations is important. In the German translation some people thought that we translate every single word while others thought that we should keep some English words. While I have a personal opinion about that too, I just think that it's essential, that everyone uses the same word. Some kind of "global dictionary" would be cool here. Imagine we can add the word "Theme" and specify that its German translation is "Theme" as well. Whenever a string appears where "Theme" is part of it, there will be a note that someone suggested, that "Theme" translates to "Theme"
* Included in the concrete5 installation process. This is probably not the first thing to do, but it think it's essential, that we can integrate the translation files in the concrete5 installation screen.
I do have some more ideas which I'll try to add later but before that, what do you think? Shall we proceed like that? I just don't feel comfortable with moving to github right now nor Transifex...
I the strings should be maintained centralized. Because if there start to be a lot of strings and we don't know where they are coming from, it's really hard to maintain the translation.
Of course there should be the ability to add new strings but there should maybe be a small team from several language teams who could discuss which strings need to be added to the official translation.
And there should only be one up to date language file which includes everything.
But it's good that we can have a discussion about the requirements. For example I know that Finnish has some language specific requirements. And I can bet that for example Japanese must have a lot more.
So it would be good to have the opinions of people translating Concrete5 into different languages.
But still I don't see the bad in testing for example Transifex with a few people. As gour said if we have an up to date .po file it won't be too hard to try it and see how it suits for Concrete5.
@Hypocrite what we currently have in the Finnish translation is many strings from the database and the interface would have a lot of missed spots if they weren't in the translation. And finding these all is tough job I noticed when writing Translations Manager. :)
Also one thing I would like to hear in this thread from the core team of what is their idea of what should be translatable? Andrew mentioned at some point that there is some logic behind what is included and what not in the translations but the main thing to know here is what does the core team think there should be?
We had quite a bunch of conversation about this issue in the 126.96.36.199 internationalization bugs ranting thread at the bugs tracker and many of the translators seem to think it would be best to include these dynamic database strings in the translations, at least with the current limitations of C5 translation API.
I'm not sure when the C5 will put all the bricks in order in regard to (better) i18n support and, in the meantime, I'd like to start translating for my own needs, but I wonder where I can latest *.po file?
Github is source code repo and it would be logical to find it there, but 'languages' is empty.
Of course, I agree, that having language files *only* at Github is not convenient for translators and 'non-devs', but not having it at Github is not convenient for devs either.
The version @gengo.com is 551.po, which is also not the latest.
So, my humble proposal is to, at least, propose to have and *keep* latest *.po at github. Then I can create concrete-croatian and do the work offline/online no matter how long it would take to come to the perfect scenario in regard to C5's i18n support.
I just don't like to have translations in github for different languages if no one knows that they are there. We already had some German translators doing the same work twice because someone managed their translations on github..
That we should have the up to date and 100% complete but empty .po file in GitHub.
And I agree with that.
Great! That's called progress. ;)
then i agree with remo that we have to discuss about the needs. when i think about it for the french translation of C5, and packages i made. transifex was not really corresponding i had prefered weblate or damned lies. but it's personnal.
i'm translating C5 and packages since a long time now, and have done it on phpBB years before. then i'm only thinking with my experience. perhaps it's not good, perhaps itt could help or not, will see :)
about the global l10n dictionnary i don't know for german, but for french it's online since a long time.
Some tools like pylyglot.org, the traduc.org glossary,http://www.gdt.oqlf.gouv.qc.ca witch is a big terminologic dictionnary. and there are translation rules established for french speaking language.
A french translation team for a quality l10n open source project have to follow a strict guide line, we do not choose depending what we prefer this or another word. This to be ok with all french speaking country over the world.
Then i'll work on the engine andrew we'll choose anyway.
The only thing i could tell is try weblate (http://http://weblate.org/) and daned lies (http://l10n.gnome.org/about/) before to decide the used engine.
edit: about 1/2 free transifex is depending how you register you have to pay. for myself i had already paid many package only to translate it to make C5 attractive for french speaking people, if i have to pay for everithing i do for free for users, i'll go aay for shure.
I tried the demo for Weblate and compared to Transifex the interface seemed clean and ok but not as intuitive as Transifex. But much better than myGengo.
Damned Lies seems a bit technical in my opinion but would need to test it further.
Also there is this sitehttp://webtranslateit.com. I tried the demo in that one and it seemed also pretty good.
Web translate had one good feature and that was Term base where you can add the common or difficult words to the glossary, and decide collaboratively of the best translations.
I made a small test with it:
transifex, the main problem is it's a firt party copmpany to witch one you give your data (what happend if they close or something like that ? you do not control your data and what they d with) on one side and you can register with the bad account method and they ask you to pay within 15days. for myself, and this is my opinion, it's it's the easy way but not a good one for long term.
webtranslateit is not free, not open source (https://webtranslateit.com./en/plans) then ...
about weblate (witch one i prefer) and damned lies (my second choice) you can go deeper in the team amanagement, very deeper. there are many usefull feature like git feature (with auto git on weblate for team manager whose who do not use git usually), Propagation of translations across sub-projects, and so on.
For users welate is a bit less technical than damned lies dev by gnome for gnome witch have many big team and conributors around the world a need to have a powerfull management. I think it's a fork of rosetta with many feature added but not shure.
Weblate is more user friendly.
the main advantage is: YOU CONTROL YOUR DATA !!
it's, for me, very very important, when you know what facebook do with your data, skipe is starting to do since it was buyed by microsoft, and so on .. the data conrol is the hub of a project. when you give them to a third party company you never know what they do with, never.
l10n of a project is a very important part of this one. i know as i'm "fighting" to promote C5 in french speaking countrie since 2008, ying package to let users have them in their language only, and so on ... and for the moment the l10n politic of C5 is not already definite i think. for exemple no centralisation of core and packages translations.
> transifex, the main problem is it's a firt party copmpany to witch one you give your data (what happend if they close or something like that ?
Whenever translation is ready, it can be inegrated back to the C5 repo at github so that it can be shipped within official release tarball.
So I do not see any problem...It's the same as with any public hosting service (Github, Bitbucket)...unless you host stuff on your own server.
> and they ask you to pay within 15days
Nobody ever asked me to pay since I use Transifex for open-source project for which it is free!
> about weblate (witch one i prefer)
Afaics, it's quite young project, one-man show and it's not possible to see which projects are there.
Otoh, you can check the projects' list at Transifex and it's impressive.
> and damned lies (my second choice)
Hmm, the web site says: "Damned Lies is the Web application used to manage the localisation (l10n) of the GNOME project." ??
So, I'm not sure how do you consider it as web translation service for C5 unless C5 is going to become part of next GNOME release. :-)
weblate is used for l10n of PhpMyAdmin and others, i had talked about the list with guys at the RMLL but do not remember.C5 is not an old project too :) specially in other languages than english.
for transifex yes you can register as open source but it's not the firts evident choice on the page unfortunatly.
damned lies was designed for gnome at the beginning but it's opensource downloadable and installable on your own server.
as i told before, i'll work on the core team's choosed engine. i just tell what i think about. I'm too happy to see things move in the right way for C5 i18n and l10n.
It's right on the 'Pricing' page (https://www.transifex.com/plans/)
Well, for me it's more important to have language *.po @github and then everyone can use what is more pleasing to him/her.
As far as Transifex is concerned, it seems to be better than suggested alternatives, but I do not have anything against using poEdit either. ;)
it's what a good tool have to have: an import export from/to local .po file or a synchronisation system between local/online for country team mamanger witch should be the team commiters for its language.
the online system is there to centralise and let contributors propose directly whithout the need to use poedit, lokalize, gtranslat, or other software witch is managing gettext format document.
as this discussion seems to have stalled and the various localization resources (at least for German) are less than satisfactory, I created a GitHub repository for the German translation of concrete5 v5.6.0
Contributions are welcome.
So far I know about four different places where the German translation is maintained:
* mygengo of course
you're totally right, as far as I'm concerned, if it's too difficult to find, run or even agree on a public translation solution, a central GitHub repository for all translatable resources for po/mo files would be sufficient to start with, since most people who would be involved in the process probably are familiar with GitHub. It would only require to assign a number of people in charge of monitoring and approving contributions. As for the German translations I contacted the other translators to see if we can merge our separate attempts.
It seems like Transifex was the leader out of this debate, with DamnLies being second. Since DamnLies looks like we'd have to host and maintain it (yet another hassle) and Transifex looks reasonably sexy, hosted, and free to us... I vote we move from myGenco to transifex.
Last chance to spark up with some compelling reason not to or a better service to look at....
I've uploaded the base translation file for the current version of 5.6, and I believe I've synced it with the current version of de_DE from Mygengo.com. I've added bmatzner as a coordinator. Can you apply for this or tell me your transifex username? I'm still somewhat confused about the differences between reviewers, coordinators and members, and the fact that no one can overlap in roles.
You know you can put base translatiojn @github and then have Transifex update (sync) with it automatically?
Once it's up, I can contact all the people working on the German translation and tell them that we're trying to work with transifex.
We also need a place to agree on common terms. How do we translate "Theme", "Set" etc. etc. Not sure if there's a nice place on transifex for this but we'll check it out!
@Remo: Seems the Transifex glossary is a tool that can be used to harmonize such terms. It doesn't seem to be the right tool to discuss translation styles, however (how do we word things like "You don't have permission" or approval etc.) Don't know if some wiki would be good to have. As for the German translators - we just started coordinating our activities here:http://forum.concrete5-cms.de/thread-218.html...
For those not on transifex a quick first feedback:
* It took me a few seconds to figure out where I can find the translation screen
* Interface works fast (faster than myGengo)
* There's a nice "glossary" screen where we can agree on the translation of common terms (as well as the ability to add comments)
First impression: Great!
I'm not sure if we could pull those files automatically in case we'd want to add a language selection during the installation of concrete5 but I'll look into this later as well.
>> At least seems promising:
Only thing is that it requires username/password authentication but it also states:
"Part of the development roadmap for Transifex is to add support for other authentication methods as well, such as authentication tokens in order to avoid forcing users to share their login credentials with third party applications."
Well, it's easy to integrate completed translations back into the Concrete5 repo @github.
If we'd add a progress bar it might be okay though!
But at the end, why not add github as a backend? Are there any drawbacks in doing that?
Correct. Owner of the Concrete5 project at Transifex, can integrate translation only when it's reviewed and 100% complete.
And also when you have API access, I'm pretty sure you can narrow down the list of possibilities through the parameters you call the API with.
A few things we've noticed.
* DISCUSSIONS There's a forum on transifex as well but it's not that great. You don't get any notifications, you can see in which topic a new message has been posted - you basically have to check every topic.
* GLOSSARY There's a great glossary function which we've set up. You can specify a few often used words and add an official translation. E.g. how to translate "Theme". When you translate a string which contains a words from the glossary, you'll see that word written in bold with the official translation in a hint. Great feature to make sure that all the team members translate words the same way
* LOCKING It seems like you look the entire language if you just change one word. I'm not sure, but we weren't able to work on the translations at the same time. It's probably not much of a problem but if you forget to unlock the repository, it will be locked for two days.
* FASTER the interface is much more fun to work with, everything works smooth and fast.
We had a small problem with importing Finnish because all the scandinavian letters disappeared from the text. Probably some fault in our .po/.mo file.
Also I noticed that in Transifex there are strings like this:
On %s, user %s cancelled the following request: ⏎ ⏎ ---⏎ %s⏎ ---⏎ ⏎
Does anyone know what is the proper way to translate these?
Got the Finnish language characters fixed. Downloaded the .po file from myGengo and saved it through poEdit to find any problems with the translation. And then uploaded it again to Transifex.
Maybe it will help if many people click "+1"
the second one is i do not find the versionning capabilities to be able to go back.
But there is a history for each string. You can see past translations for the string and revert to them.
You can find the history by starting translating the language and then clicking on the given string. There is a small menu below the string:
details | suggestions | history
a big big feature missing i think.
Everything seems to work pretty well.
One thing I noticed is that the hovering Dashboard mega menu isn't translating. But if you go to Full View Dashboard, that displayes correctly in Finnish.
See the attached screenshot.
That did the trick.
Now everything seems very nice, very nice. :)
Thumbs up to the concrete5 team for 5.6.0 and Transifex.
I think these should translate because the strings are in Transifex.
See the attached screenshot.
just wondering if transifex will be updated to 5.6.1 some time soon. A few strings changed, right?
right now we are on a stage to go online (still beta as we don´t have enough testers yet)
May be you can give it a try!
If you guys like it i am willing to give a copy to concrete5.org (may be for a subdomain as remo said) you only need to register under this site users can suggest translations or only rate others suggestions! Only unapproved(fuzzy) translations from the dashboard will be shown in the front-end
Some Features are still in work (search and discussions)
If someone wants to have admin access just pm me!
This package is completly different from the translations manager mainio did, the idea behind was to make a collaborative tool for the community and not only for admins
A few random things/ideas:
* Glossary to specify often used words and keep the translation in a good quality
* Version history (which I'd like to see on transifex). It would be great if we could see what translations have changed
* Po scanner (like we have in translation manager)
* Github backend to make it easy to integrate into an installation process of concrete5
* Ability to add strings, but only if there was some kind of approval process
* Progress information as we have on transifex, good to know if a translation is actually complete
some of the features you mentioned are in work!
adding new strings should be easy to integrate!
A progress status is now only in the dashboard but we´ll integrate that into the frontend!
i just purchased the translations manger and gonna test it to see what the scanner really do!
a Github backend, that needs a bit of work
Version history i´ll see how long this could take us