• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-1719
Type: New Feature New Feature
Status: Open Open
Priority: Normal Normal
Assignee: Unassigned
Reporter: Alissa Sabre
Votes: 8
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Need for a better mechanism to add new UI translation

Created: 13/Jul/07 10:06 AM   Updated: 27/Aug/09 10:51 AM
Component/s: Internationalization, Source Code, User Interface
Affects Version/s: Source code
Fix Version/s: None

File Attachments: 1. File refactor.pl (5 kB)

Environment: Viewer development in general.
Issue Links:
Relates

Last Triaged: 27/Aug/09 12:26 PM
Linden Lab Issue ID: DEV-14810


 Description  « Hide
SL viewer currently supports eight languages (The level or quality of translation vary). It uses XUI files to draw text UI, and there are eight sets of XUI files. That's fine.

There are several activities in the community to add more languages. Browsing JIRA, I found three such filings already: VWR-774 for Swedish, VWR-1293 for Chinese with Traditional Characters, and VWR-1593 for British English. Adding a new language, other than the translation itself, is primarily an easy job, because XUI files are placed language-by-language as separate files. However, there is one point that all supported languages are listed; that is, skins/xui/*/panel_preferences_general.xml. The file contains a list of all supported languages, and the file itself has localized versions.

As a result, if you want to add, say, a Klingon translation, you need to update all panel_preferences_general.xml files for all supported languages, adding the words in all supported languages that mean Klingon.

The mechanism should be modified, so that simply creating a new directory for the new language and dropping translated files into the directory adds support for the language.

VWR-1593 requests for more localization facilities than simple XUI switching. If we were adding such facilities, the localization data for the new facility should also be made easily added by some simple file drop-in.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
Alissa Sabre added a comment - 13/Jul/07 10:09 AM
Ahhhh. I made a mistake on linking issues. Although they are linked as "duplicate", the are not; they should be "relates to" links.

I'm sorry for that...


Alissa Sabre added a comment - 13/Jul/07 07:50 PM
Updated the link as "Relates to".

Gudmund Shepherd added a comment - 19/Jul/07 12:49 PM
Ah, was going to add this bug until I noticed it's already here

And completely agree with the points. Each localisation needs a file (lets say skins/xui/*/locale.xml) to contain locale name "Language (Native Name)", (maybe author too), unit names & date/time formats and other such variables that could be broken out of the shared UI.

Finally, SL would be better suited with a global file (skins/xui/global.xml ?), so that things like credits, licence, etc, can be removed from each locale, making updates easier.


Gudmund Shepherd added a comment - 19/Jul/07 12:56 PM
Added another related bug, the previously mentioned British translation.

Danne Carfagno added a comment - 27/Jul/07 03:32 AM
I sent this comment to the SLDev list regarding internationalization of SL.

The problem I see is that when the XML structure is changed, the translations would be incomplete, which means that the user might not be able to see new functions or would see strange error messages.

I'm not a developer but I'm involved in a lot of internationalization / localization projects such as the GNOME Desktop Environment and Ubuntu Linux.

There must be some sort of centralized updates of these XML files to avoid distributing incomplete files. I would propose that someone put together a web service or application that would present the translatable strings to the translator. The translator could then translate whatever strings that are untranslated and then the application would generate new XML files. That would create complete files based on the latest XML structure. I guess that GNU gettext would be suitable for this.


Felix Duesenburg added a comment - 05/May/08 12:20 AM
Posted this earlier on https://lists.secondlife.com/pipermail/sldev/2008-April/009364.html

Here's a little tool attached that I had lying around somewhere and could adapt. It rips the xui files apart and separates function, skin and language parts as suggested.

It scans the skins/xui/en-us for all xml files that contain floaters, panels or menus. Then it filters by attributes, and distributes the elements into 3 different document trees. This is just a proof-of-concept, or a skeleton. It should actually do what is needed for the language part, for skinning the filter probably needs some fine-tuning (in start_element in the handler package).

The output is formatted in a patch-friendly format. The resulting folder structure is just a proposal, too: ./xui for the functional part, ./skins/default for the styles, and ./lang/en-us for the text. It can easily be changed.

Simply place it in the source tree under the newview folder and run from the command line. (Sorry no Python, my mother tongue is Perl). It doesn't overwrite any existing files.


Rob Linden added a comment - 27/May/08 09:39 AM
Evaluating as part of the Skinning project

princess niven added a comment - 26/Aug/08 12:55 AM - edited
I really recommend to reform the present localization process radically. It is absolutely an old-fashioned. Lots of xml files with the mass of xui elements to be translated. It is very hard to handle them. Why don't you use separate language files including exclusively the language elements? Check Joomla or similar CMS for instance. They make it really smart. Moreover this UTF incompatibilty is also a lack of SL viewer. Is anyone around the LL checking these bug reports?

Zai Lynch added a comment - 29/Jan/09 06:09 AM
LL is setting up a so called 'Localization Portal', which is - amongst other things - supposed to provide an easy way to suggest new viewer translations. It was supposed to go live mid January but is postponed due to some bugs. I guess the new date is mid February. Let's cross fingers.

Everyone who'd like to take part in the localization of the viewer, please consider joining the Community Translation Project.