Forum .LRN Q&A: .LRN internationalization - portlet headers translation


I am very impressed by the quality and scale of .LRN. It is a great piece of art, but unfortunately it does not support Polish. Therefore I would love to see locale-able version of .LRN; i.e. which has UI in national language. Of course I would also like to have a chance to work on it. For me it is enough that the language and the charset are set at the install time. Of course the all-language support, ability to choose the language for the particular user would be even better, but it is also harder to get and will take more time...

As a first step I have made some attempts to do some hardcoded translation of .LRN. However the problems that arose seem to be just too difficult for me.

My install is RedHat 6.2, oracle 8.1.7, OACS, .LRN ( I have installed acs-lang package and used the ini.tcl config options:

ns_section "ns/parameters" 

/ cut .../

        ns_param   HackContentType   true
        ns_param   UrlCharset        iso-8859-2
        ns_param   OutputCharset     iso-8859-2
        ns_param   HttpOpenCharset   iso-8859-2
/cut .../       

ns_section "ns/mimetypes" 
        ns_param   default         "*/*"     ;# MIME type for unknown
        ns_param   noextension     "*/*"     ;# MIME type for missing
        ns_param ".html"  "text/html; charset=iso-8859-2"
        ns_param ".htm"   "text/html; charset=iso-8859-2"
        ns_param ".txt"   "text/plain; charset=iso-8859-2"
        ns_param ".tcl"   "text/plain; charset=iso-8859-2"
        ns_param ".adp"   "text/html; charset=iso-8859-2"

/cut .../

# Tcl Configuration 
ns_section "ns/server/${server}/tcl" 
        ns_param autoclose      "on" 
        ns_param debug          "true" 
        ns_param SystemEncoding iso-8859-2


what works:

  • static output from adp pages
  • dynamically created by TCL only (without asking database)elements of page with iso-8859-2 characters dynamic input and output ( forums )

what does not:

  • headers of portlets at the user "MySpace" are displayed with ASCII - not iso-8859-2 characters
    • I have changed get_pretty_name proc in the faq-portlet packages's tcl dir so it returns the message in Polish with national characters
      - got displayed it with '?' instead of Polish characters
    • I have changed pretty_name field in portal_elements_map to the proper one with sqlplus
      - within sqlplus the pretty_name is OK, but from browser it is not.
    • moved database to ee8iso8859p2 charset, then installed all the OACS and .LRN
      - still the same.
  • the departments and subjects whose names contain national characters break the links to their portals

One more thing - The national language support of acs-lang do not work with .LRN ( in my case ) from the start. What I have done to make it work:
1. Thrown away acs-lang and the iso8859-2 stuff from ini.tcl file (mentioned above)
2. Installed OACS and .LRN in ASCII
3. Brought back the acs-lang package to the packages dir
4. Installed acs-lang and brought back the iso-8859-2 stuff to the ini.tcl file
5. Restarted the server.

The questions:

1. How can I change the portlet headers to be seen in iso-8859-2 ?
2. Is the effort of static translation of any use for the community ?
3. Is there a place to send national translations ?
4. Is there any organized effort in that direction ? /i would not like to double somebody's work /
5. How about callendar?

Discussions for internationalization have been taking place and there's an excellent chance that there will be funding for an experienced OpenACS hacker to implement it VERY SOON.  When the framework's implemented there will be lots of opportunity to work on translation into lots of languages.
Meanwhile, you might check out <a href="/wp/display/326/">this preliminary presentation</a> that outlines some of the issues involved.
<p>This is probably as good a post as any to announce that I've added a very sketchy outline of how we implemented globalization for Greenpeace.
<p>Check it out and feel free to post here with any questions you have!

We got the same problem with ACES and iso-8859-1 but we resolved it. We create the oracle db with UTF-8 encoding, the NLS_LANG for nsadmin user is "spanish_spain.utf8"; we configured AOLserver just like you did (but with 8859-1), except for SystemEncoding parameter, we set it to "utf-8". It works fine, portlet headers too.