Forum .LRN Q&A: The .LRN UI is ready for translation

We have now finished the work converting the .LRN UI to using a message catalog so that it can be translated to various languages.

We are setting up a server for Heidelberg so that they can start translating the .LRN UI to German. If there is interest in helping translate .LRN to other languages - let us know.

If you follow the .LRN installation instructions, visit /acs-lang/admin and activate translator mode you can browse the UI and translate any strings that you come across. You can also visit the translation UI at /acs-lang/admin and translate messages in bulk.

Collapse
Posted by Jorge Garcia on
Hi from Spain, Peter.

Maybe we could help translating to spanish.

Let me know exactly how.

Regards. /Jorge

Collapse
Posted by Malte Sussdorff on
Will this translation be usable for plain OpenACS ?
Collapse
Posted by Peter Marklund on
Jorge,
thank you very much for the offer! If you and others think this is a good idea we could set up a server translate.dotlrn.collaboraid.net to which we would invite people like you to do translation on.

Malte, the UI:s of all applications used by .LRN use the message catalog. The registration related pages (login etc.), permission pages, /pvt/home do as well. Basically we have tried to convert everything that is visible in a .LRN installation.

Collapse
Posted by Lars Pind on
So just to make this absolutely clear: Yes, all the infrastructure work we've done for internationalization is done as part of OpenACS, so everything will work without dotLRN as well.

What we have *not* done is convert each and every package there is in OpenACS to use the message catalog. We've only converted packages that are used by a typical dotLRN installation.

Thus, we'll encourage others to convert the remaining packages as they need them. We have provided very powerful tools to help with this work, and the documentation is even somewhat usable 😉

/Lars

Collapse
Posted by Simon at TCB on
Lars,

Thats great news.

I also understand the issue about existing packages.

One of the problem though is that when something like this happens, the community is ware at  them time, but a month or two later it'll be forgotten.

Is it worth you (or anyone) putting together at the very least a brief checklist/plan of everything that needs to be converted? Something we can keep publicly visible to both inform and maybe encourage others to make these changes?

Collapse
Posted by Peter Marklund on
Simon,
the I18N effort certainly needs some coordination, I suggest we setup a project page at openacs/org/projects that would also link to collaboraid.biz/extranet/i18n where we already have a lot of information gathered on the subject. If someone would grant me admin rights on openacs.org I could add I18N as an OpenACS project.
Collapse
Posted by Dave Bauer on
Hmmm. I thought I had created an i18n page. Let me know how you want it setup. Should it be under the OpenACS project, or parallel to the dotLRN, dotWRK, OpenACS projects?
Collapse
Posted by Alexander Antonakakis on
We can help in Greek translation here
Collapse
Posted by Ben Adida on
Having seen parts of the i18n work in progress, I want to congratulate Collaboraid for an amazing effort. There was *some* breakage, but at all times the team was super responsive to these issues. Plus, when you consider that i18n touches every piece of the toolkit that displays information to the user, that's quite a feat.

Great job, guys. This is really important stuff for OpenACS and dotLRN.

Collapse
Posted by Jon Griffin on
There is still a major problem of AOLserver support.
acs-lang requires ad13 and I personally don't feel like using that AOLserver (for a multitude of reasons).

While I feel this is excellent for the future, I for one won't be able to use this as all my sites use 3.5.1. Anyone else who has upgraded will be in the same boat. This is why it needs to be able to be turned off. And since acs-lang is in the OpenACS 4.6 release schedule I think it is a bad thing indeed.

Collapse
Posted by Jeff Davis on
Jon, acs-lang is not part of the core until 4.7 (in the sense of initial-install-p) and 4.6 installs should work fine without it installed. Hopefully by the time 4.7 rolls around the aolserver i18n stuff will be cleared up and the ad patches will be incorporated (or equivalent functionality implemented) into 3.5.
Collapse
Posted by Carl Robert Blesius on
I want to congratulate Collaboraid (and everyone that has helped them) on this too. The translator mode rocks! It makes it possible for ANYONE to work on a translation, because they see the results of their translation in context.

Alexander, Greek would be great, the i18n work is not finished yet and having you work with Greek would be good (so we can iron out any problems that have to do with some of the more beautiful and rare charsets of the world). Please follow the i18n project site ( http://www.collaboraid.biz/extranet/i18n/ ). Is there anyone who could do some testing with some Asian languages?

Collapse
Posted by Jon Griffin on
Jeff,
I checked out the HEAD and the subsite ui has already been changed. I don't recall whether this was rolled back to 4.6.

Also, there are a lot of bugfixes in the HEAD that are needed so I assumed they would be merged when 4.6 comes out.

Collapse
Posted by Jeff Davis on
Jon, almost all of the bugfixes have been made on the 4.6 branch and not merged to the HEAD (and if you are aware of any that were not made on the 4.6 branch please let me know so I can merge them). The plan has been to make all the bug fixes coming out of QA on 4.6 and merge to the head after the 4.6 release.

The HEAD has the collaboraid i18n work and 4.6 does not (and won't ever I don't think).

I am planning on trying to make sure any bug fixes on the HEAD get backported to 4.6 and have 4.6 have an extended release cycle (more frequent QA'd minor releases) so that it will be a good basis for building a site. I think this is important since 4.7 will be a rough ride and is a long way off.

Collapse
Posted by Alexander Antonakakis on
We here at Mediterranean Agronomic Institute of Chania (www.maich.gr) are testing dotLRN so that we can apply it to Institute’s needs. We will be glad to help in anyway we can.
Collapse
Posted by Jarkko Laine on
Peter,

I think setting a server for the translation process would be a great idea. I would certainly be interested to do the translation to Finnish.

Collapse
Posted by Jamie Rasmussen on
We'll be discussing the integration of the ad patches into AOLserver 3.5+ during today's AIM chat.  (2 PM US/Eastern)  We could use your input!  If you are familiar with the technical issues, excellent.  If you can just lend your voice to the importance of i18n support, that's good too.  Google for "AOLserver chat" for instructions on joining.  Hope to see you there!
Collapse
Posted by Lars Pind on
Btw, I just want to mention that we haven't yet covered charsets in the i18n process, so you'll probably not be able to translate to languages that uses different alphabets just now.

Although perhaps we can just set the translation server to serve everything in Unicode, and we might be fine. We'd have to test that.

/Lars

Collapse
Posted by Malte Sussdorff on
Wouldn't it make sense to have the translation server run Unicode front to back, so we can distribute the catalogs in Unicode as well ?
Collapse
21:   (response to 1)
Posted by xx xx on
Congratulations. It's great news. I'm willing to collaborate / translate to Dutch.
Collapse
Posted by Jorge Garcia on
Hi, Peter

Already logged at http://translate.dotlrn.collaboraid.net/

Now what?

/Jorge

Collapse
Posted by Peter Marklund on
Thanks for all the interest in translation - I'm overwhelmed! 😊 I've setup translate.dotlrn.collaboraid.net now and everybody that was registered can now start translating. Here is your kick-start guide:

1) Visit /acs-lang and choose the locale that you are translating to. If the locale is not present you need to visit /acs-lang/admin and create the locale (see below).
2) Visit /acs-lang/admin and activate translator mode
3) Visit dotlrn and start translating
4) Alternative approach to translation is to visit /acs-lang/admin and translate messages in bulk.

I've configured the server to return UTF8. Currently, only the following locales are in the system

Danish
French
German
Japanes
Spanish

New locales can be created at /acs-lang/admin. Let me know if you have problems with this. Most importantly - make sure you get the right ISO 639 two letter language code and the right ISO 3166 country code for the locale. Here are codes that I found via Google:

http://ftp.ics.uci.edu/pub/ietf/http/related/iso639.txt
http://userpage.chemie.fu-berlin.de/diverse/doc/ISO_3166.html

Currently myself, Carl Robert Blesius and Caroline are site-wide admins on the server. Note for site-wide admins: translators should be added as professors so that they have admin privilege on the acs-lang package.

I hacked togehter a feature that makes it possible to see previous translations (a very light-weight version history if you will). This is useful if you want to recover an old translation.

Thanks Lars for helping me get UTF8 to work on the server. In case someone is interested - here is what I have in the config file:

ns_param  OutputCharset utf-8
ns_param  HackContentType true
ns_param  DefaultCharset utf-8

Collapse
Posted by Peter Marklund on
I forgot to mention that I of course added the swedish locale to the translation server, so Ola, Dan (I'm guessing you speak swedish) and all you other swedes out there - let's get some swedish translations going!
Collapse
25:   (response to 1)
Posted by xx xx on
Peter, It looks very sophisticated. It's a compliment that it was easy to get started.

As you know, the context of a sentence or word is most important. You made the package name available and I can change the locale, but is there any chance you can make even more information available while translating (like a row underneath with name of file and/or surrounding characters)? This would make translating more accurate.
Also, it would become easier to decide how to deal with keys/entries, like dotlrn's 'arhive_group_name', or 'class_may_not_be_deleted' or 'Class Key' (do they need normal translation?).

Finally, is there any version control mechanism in case the original english version changes? I suppose the english version is leading?
Collapse
Posted by Jarkko Laine on
Some notes from the translation process:

1. The translation mode is great! However, I don't feel like a professor (see one of Peter's previous posts), because I'm not given any means to add classes or groups or whatsoever beyond basic student capabilities. That forces me to use bulk mode for the most of the time...

2. ...which makes me come to the second point, that is the context of the words, which someone already mentioned. I bet I get good laughs when I first time browse the system which I've translated with the bulk mode.

3. Related to the previous point, there are some messages consisting of just one preposition, like 'at'. Not good for us Finns who don't use prepositions but suffixes. When I try to leave the field blank, the system doesn't like it. When I try to find an ugly way round, like single space, I get an Oracle error.

Otherwise, the translating seems a quick way (tm) to spend your day 😉

Collapse
Posted by Peter Marklund on
Thanks for the great feedback and all the translations guys! We currently have over 20 translators on the server.

Jarkko: you should all be able to access the dotlrn admin pages now. Your points about prepositions and problems with pretty names that will have different translations depending on the context are good. We are going to have to deal with those cases. Keep me posted on exactly which keys cause problems and we'll find ways to change the key structure if you can't find workarounds. I'll take the time to answer emails you've sent me now that I'm back from a conference.

Aldert: For context information I added a listing on the edit page that lists the lines of the files where the message key is used for lookups. Let me know what you think!

Here is what we have translated so far:

select locale, count(*) from lang_messages group by locale;

LOCALE                          COUNT(*)
------------------------------ ----------
da_DK                                492
de_DE                                286
en_US                                1502
es_ES                                170
fi_FI                                994
fr_FR                                  4
nl_NL                                115
sv_SE                                  5

8 rows selected.

Oh my god Jarkko - are you translating around the clock? 994 messages is amazing!

Collapse
Posted by David Kuczek on
Hello Peter,

I just logged into Collaboraid's translation module... It was not very obvious what to do after I logged into http://translate.dotlrn.collaboraid.net

It would be nice to have a simple link on the top of the starting page, telling me "If you want to translate, go to /acs-lang and select your language... on /acs-lang there would be a link to /acs-lang/admin to get the party started"

I was kinda sad that I couldn't start right off with translating... I was shown the following:

"You don't have permission to admin OpenACS Localization Utils. This incident has been logged."

I didn't really know, if you checked the logged message frequently or not. It would therefore be nice to tell the guests to hang on tight for couple hours until the admin accepted their request. It would be even better to start the translation right away...

Collapse
Posted by David Kuczek on
Great translation tool!!!

New idea concerning olympic spirit... There should always be the count of translated locales on the right top of the pages. It would tell you on which place your country is currently ranked and how many items you still have to translate to move one place up 😊

Collapse
Posted by Peter Marklund on
David, sorry about the missing instructions. I have now updated the Start Page of the server to have instructions as well as the olympic chart that you suggested.

Keep up the good work guys!

Wow, there seems to be a lot of persons interested in this effort...

Anyway, I just wanted to note that I'm available to do some Danish translations (as I've told Peter previously), and I might even aim to get Danish back on top, Jarkko...

Collapse
Posted by Peter Marklund on
We have an unresolved problem that sometimes pages or parts of pages will break because of translator mode (since it inserts html links in places where HTML doesn't allow it). If this happens - let us know, maybe we can do something about it (but in general it's a hard problem to solve). As a workaround - disable translator mode and re-visit the page. Then open a new window and translate the keys on the page using bulk translation at /acs-lang/admin
Collapse
Posted by Malte Sussdorff on
While translating I realized that sometime the tags are to small, like taking just one word, where the whole meaning is only grasped if you take two words together. And a word to word translation sucks, as e.g. in German we have a different order of words than used in English (as you can see in this posting 😊). Is there any way to suggest some other structuring of the to translated text?

Example: English "Join Class" (two words, seperatly translated) results in German "Beitreten Klasse". Uarggg... In German the ordering is just the other way round "Klasse beitreten". So instead of having two seperate words, we need one translation for "Join Class" as a whole, instead of "Join" and "Class".

Collapse
Posted by Simon at TCB on
Ok, this may be a silly suggestion but..

They do say we're two peoples separated by a common language, and its very true.

Americanisms play differently (and rarely well) over here and I guess the reverse is true.

Therefore is it sensible to consider UK English as a translation exercise from American English?

I.e. is there a need to translate the UIs for English audiences?

Collapse
Posted by Malte Sussdorff on
I'd at least offer the possibility. Though I'd default to the primary locale (eg en), when no value is given for (en_GB). No need to translate things that are already right.
Collapse
Posted by Jarkko Laine on
Gosh, I already felt myself threatened, especially cause I've spent the last 40 hours in bed drinking hot drinks and trying not to cough my lungs out.

It seems, though, that my head start has paid off so far. However, I'll head to Davos searching for snow in an hour, so y'all have now the opportunity to punish me for that sluggishness until I'm back, and hopefully in better shape, on Sunday 😊

Collapse
Posted by Jarkko Laine on
Peter,

Every message key consisting just of one preposition (at, in, etc.) is problematic, as there is no such thing in Finnish.

I'll return to pretty plurals problem more precisely when I've shuffled a bit around the pages and found problematic messages.

Collapse
Posted by Jarkko Laine on
Oh yes, and a solution which would tackle the both problems, would be just to glue the preposition and the noun together, i.e. making an expression. I think that would help also to the thing Malte mentioned (which is, to be honest, about the same problem we're having).

E.g. "Join Class" = "Ilmoittaudu kurssille", when
"Class" alone would be just "Kurssi". Now these messages with just one word like "Class" are used in many totally different meanings.

My proposal:

Let's use one word messages just when the words are truly alone on the page, and in other cases, put the whole expression in the message. And at least let's not use same messages like class_pretty_plural (just invented the name) in different contexts:
Classes in "Total 15 classes" != Classes in "Join classes"

Collapse
Posted by Jarkko Laine on
Peter,

Could we make a bug tracker instance for keeping account of those problematic messages?

I just found one: classes_pretty_name that is used both in "new subject" and "subject name". There's no way getting around that in Finnish because the first is the basic form and the second is actually a genetive form.

OK, now I really got to run to catch the train. Over 1000 messages accomplished. I'll be back in business on Sunday. Hopefully someone has really challenged me then...

Collapse
Posted by Peter Marklund on
Jarkko, Malte et. al., thanks for the feedback on the message keys used, we realize there is a need to change towards more keys that are mapped to phrases rather than single words. Please help us find places where this change is needed by posting in the acs-lang module of the OpenACS Bug Tracker. That's also the place to report bugs.
Collapse
Posted by Tilmann Singer on
Why does it seem to always switch off translator mode automatically after some time? This is a bit annoying ...
Collapse
Posted by Luigi Martini on
Although I guess that not so many Italians populate this community (from which a question arouses: How do I find the community member list in OpenACS?), I started translating dotLRN.
I confirm the remarks made by Jarkko, Malte and others: the problems are about the same in Italian, and the results of a straight translation look quite comic, for the moment (sometimes horrible, *never* unuseful, though).
I would add now that here I find some "words" which are not properly words but images instead: "back one day", "forward one day", "Go".
Also, the expression YYYYMMDD would be AAAAMMGG in Italian: no way to translate it, though.
Collapse
Posted by Carl Robert Blesius on
Luigi,

I also mentioned the YYYYMMDD problem... it should be fixed when they update the translation server. The images problem is a good point too.

This might help you find some people to help with Italian: https://openacs.org/directory/index?search=.it

Carl

Collapse
Posted by Luigi Martini on
Peter, I posted in the place you suggested.
Did I understand right?
Is it this the suggested way to manage such kind of things?
Collapse
Posted by xx xx on
It looks like we have a winner... if the olympic chart reflects, what I think it does... Congratulations Poland!
Yeah, he surprised me with a last minute sprint... 😊
Collapse
Posted by xx xx on
Congratulations to you too. You still outdid the rest of us.
Collapse
Posted by Marcin Kuczkowski on
Hi from Poland,

All the messages are tranlated into Polish BUT it is only first approach. Assuming that there is The Only True Ideal Translation, with every step we will get a bit closer to it. There are several issues associated with translation the dotLRN to Polish (some of them are relevant to other eastern languages also, I suppose):

  • Polish language has cases - a noun has 7 forms depending on the context
  • when in batch mode, seldom one can see the context
  • UI often builds the phrases from single word translations and since the syntax rules for Polish are quite different from English it does not look good with Polish locale.
  • I found the case when the same key is used in more places in UI in different contexts - Polish forms are different for each place and there should be more keys.
  • when the translation ommits a variable from the original message (shown as %some_var%) system complaints about it, and the version WITH the var is far less Polish - it simply reads so strange.
  • there are some simple words which are present in many packages which are to be translated over and over again : Add, Delete, Approve and so on.

All of the messages are translated but some of them are not so accurate and read a bit strange in Polish. I thought if one can see WRONG word in a context, it would be easier to catch the RIGHT one.

Concluding: i think it would be useful to have the acs-lang:

  • present whole phrases to translate (in batch mode)as they appear in UI,
  • translate phrases instead of words
  • check if the phrase has already been translated and present translations as an option (drop-down list?) to choose.

I am not a hacker so I do not have idea how to do this.
Marcin

Collapse
Posted by xx xx on
Peter,
You're 'message key usage' sure helps to figure out what the context of words is. I think it's sufficient, though real translators will surely argue otherwise.
However, it would help to have 'Messages that are translated' ordered by 'Translated Message'. I think Marcin could need such a table too.
In the end, when everything is translated, one might need a complete ordered list (not per package) to edit the results of translations.
Collapse
Posted by Emmanuelle Raffenne on
Hi,

We, at UNED, have a strong interest in the spanish translation so we will work on it starting next monday. I've seen that Jorge is already on it. Please let us know what you have done yet to coordinate ourselves. We have a "style guide" ( guía de estilo) for translation and a list of the vocabulary to use in the University, we have to speak as "Vd" rather than "tu" and other things like that. So I propose to update the guide we allready wrote, and then translating regarding this guide. What do you think?

On the other hand, I'm a member of the hispalinux community (http://www.hispalinux.es). Hispalinux has a project for a "Linex master" (linex is a debian-based distribution developped by Andago for the government of Extremadura, spanish province). The plan is to use a spanish version of dotLRN. We ask for volunteers at the Hispalinux forums for the translation and it's posible that we get a help from there too.

Last thing, my first language is french and I can give a help for french translation (starting next week). I don't know if there is anybody working on it yet. If so, please let me know.

Collapse
Posted by Lars Pind on
Why does it seem to always switch off translator mode automatically after some time? This is a bit annoying ...
Tillman,

That's because we're using ad_set_client_property, which happens to expire along with your session cookie.

This is an annoying 'feature' of client properties which we should consider fixing, so that at least, when your session cookie is re-issued, e.g. when you have a permanent login cookie present, we'll move your session properties to the new session. Did somebody put that on his/her todo list? /Lars

Collapse
Posted by Jon Griffin on
Emmanuelle mentions using Vd. In most of the Spanish speaking world that form is considered antiquated and isn't even taught in school.

Having only read glimpses of this project, what is the status of locales? I think the need for this is extremely important especially in the case of Spanish (the most spoken language in the world).

In English even though we Americans laugh at the way those Brits and Aussies talk, our languages are almost identical and not many people would be lost in one or the others translations. In Spanish on the other hand, the use of Vd. could potentially cause many problems.

Collapse
Posted by Emmanuelle Raffenne on
Jon,

Yes, Vd. is not used "in the spanish streets" but in the university, speaking to Doctors and Professors, we use the Usted verbal form, for "politesse". That is in Spain but in Latin America, the Vd. form is sometime use as the "tu" or "vosotros". I think that in Argentina they still use the "Vos" form too. In spain, a report is called a "informe" and in latin america a "reporte", and so on...

We understand each other, as american british and australian, but we don't use the same vocabulary.

Collapse
Posted by Jon Griffin on
I know that in Argentina and Uruguay they still use the Vd form. In Mexico I don't think (except for certain professions) it is taught at all. In Cuba, Domincan Republic speaking Vd. to someone under 30 will be met with strange glances.

I do understand that Spanish is fairly universal, but I still think (and the point to my post) is that in order for .lrn (and OpenACS) to be successful, locales need to be enabled.

If anything, to my mind, everything should be in Ud. and NOT Vd. That way it shouldn't offend anyone!

Collapse
Posted by Ernie Ghiglione on
Hello fellow translators,

I have found an interesting technical glossary translation (also opensource). There are some terms that given the nature of OpenACS are not covered there. However, there are plenty of terms that we use on the translation that might help you out.

The glossary covers languages such as:

  • English
  • German
  • Spanish
  • French
  • Italian
  • Portuguese
  • Brazilian Portuguese
http://opensource.bureau-cornavin.com/glossary/index.html

Take a look as it might help you with some of the words you are currently struggle to translate.

Y'all take it easy,

Ernie

Collapse
Posted by Carl Robert Blesius on
Jon,

locales are "enabled", it is just a question of adding  one (and doing the translation work). If you are interested in starting (or coordinating) versions of Spanish other than the one that is slowly growing, please register yourself on the translation server and someone will give you the needed permissions. I know of existing Spanish (Spain+Guatemala) translations of the forerunner of dotLRN (ACES) and it is probably just a question of getting the right people involved.

Carl

Collapse
Posted by Alberto Pesquera Martín on
Hi Jon,

In spanish, we use Vd. and Ud. with identical meaning.
I didn't know that in other countries it could have a different use.

Collapse
Posted by xx xx on
The preliminary Dutch translation is ready. It took 2-3 days to complete.
*-)
Collapse
Posted by Jon Griffin on
RE: Vd. (this really should go on another thread) The difference lies in the degree of formality conveyed by the speaker. However, the vosotros form is mainly used in Spain (and a few South American countries). Throughout Latin America, "ustedes" is used in both formal and informal situations to refer to "you-all."

According to my Dominican friends, Lawyers and certain other professions learn this form when they go to College. It is not generally taught.

I will start a locale for the Caribe and do some translations. I am not a native speaker (I learned just by living in those countries) so I won't be able to do a lot, I will ask my wife to help also.

Collapse
Posted by xx xx on
I have a need to apologize to Peter & Co. I was caught up in 'Bulk Editing' and forgot about the WYSIWYG translator mode that is explained in the Getting Started Guide (way down) on http://translate.dotlrn.collaboraid.net This mode is PERFECT for reviewing the results of translations. Thank you.

But now, I would like to get admin privileges for the NL community that I created. Could someone grant me permission? I'll add Ben and Bart.

I want to use it for all subjects concerning Dutch translation, so we can use our own Dutch language instead of English. Is that an idea for others too? (note: creating communities did not function with translator mode ON).

Finally, I was allowed to add us as professors when creating a Class. I think that gives us all the needed privileges for testing in that department. Doesn't it?

Collapse
Posted by Carl Robert Blesius on
Aldert,

Using the translation server for discussion is a good idea, but a record of discussion will probably be lost when the server is updated. For that reason the dotLRN development forum is probably a good place for the discussion. I doubt there would be any resistance to a discussion taking place in Dutch, just start a new Dutch thread.

I gave you admin privileges on the NL community. You should have all the needed privileges for testing the class you added. Right now there are no department or subject based privileges, although this is something (along with faculty based privileges) that dotLRN will eventually need as large institutions like our own go live.

Carl

Collapse
Posted by xx xx on
Carl, Thank You.
We will 'chat' on the translation server but we will be storing important information (that we want to keep) elsewhere.
We will make sure that you can shutdown the server without notifying us, but please if you can, notify us in our news portlet or spam us if you plan to erase data.
Aldert