Forum .LRN Q&A: The .LRN UI is ready for translation
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.
Maybe we could help translating to spanish.
Let me know exactly how.
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.
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
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?
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.
Great job, guys. This is really important stuff for OpenACS and dotLRN.
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.
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?
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.
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.
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.
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.
Already logged at http://translate.dotlrn.collaboraid.net/
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
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:
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
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?
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
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;
8 rows selected.
Oh my god Jarkko - are you translating around the clock? 994 messages is amazing!
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...
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
Keep up the good work guys!
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...
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".
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?
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
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.
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.
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"
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...
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.
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
Did I understand right?
Is it this the suggested way to manage such kind of things?
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.
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.
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.
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
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.
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.
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!
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:
- Brazilian Portuguese
Take a look as it might help you with some of the words you are currently struggle to translate.
Y'all take it easy,
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.
In spanish, we use Vd. and Ud. with identical meaning.
I didn't know that in other countries it could have a different use.
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.
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?
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.
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.