How to Localize Your World

From Second Life Wiki
Revision as of 00:50, 28 August 2008 by McCabe Maxsted (Talk | contribs)

Jump to: navigation, search


Linden Lab sincerely appreciates Resident interest in translating Second Life's user interface and in helping to support the growing International community of Second Life. Linden Lab has been working on figuring out the best way to incorporate Resident translation work and share it with the rest of the community.

This page describes translation procedures for formally supported languages, and all other languages.

Note: This page is on translation of SL viewer UI. Translation of this SL wiki site is discussed on a separate page.

Supported Languages

Linden Lab has received extensive interest in localization in the last year, and it has been working on guidelines for processing the translation submissions the lab has already received. At this time, Linden Lab is focusing on updating and maintaining the current seven languages in the viewer:

  • Chinese (Simplified Chinese)
  • French
  • German
  • Japanese
  • Korean
  • Portuguese
  • Spanish (Latin American)

For these seven, formally supported languages, Linden Lab has created the following, semi-step-by-step recommended method for completing translations.

Review the Style Guide and Glossary

Linden Lab has created a Style Guide and Glossary for each of the seven languages it supports. These contain the translation recommendations for each language. Reviewing this before beginning translation will save translation time and error, and make changes easier for Linden employees to QA and incorporate in a new viewer.

For the moment, all of the below Style Guide documents are in Word (.doc) format, and all of the Glossary documents are in Excel (.xls) format.

Make Language Changes to the Viewer

This document describes how to conduct linguistic QA within the Second Life (SL) Viewer. It also provides instructions on how to make, save, and send changes to linguistic XML files (meaning, files in various languages other than English) that are part of Second Life. Localization and linguistic QA in the SL Viewer is completed with a set of editing tools called “XUI”, which stands for “XML User Interface” and is pronounced “zoo-ey”. Localization can be facilitated more easily with XUI because translators can adjust text and layout within the context of the Viewer. The XUI tools also make it easier to find and fix truncation issues in context, and quickly see what changes effectively correct truncation.

The remainder of this document describes four primary steps that must be taken to complete linguistic QA in the SL Viewer:

  • Download and Install the latest SL Viewer
  • Find and Enable XUI in the Viewer
  • Find and Edit Linguistic XML Files
  • Save and Post Changes

Before beginning this process, please clear your Second Life cache.

Download and Install the SL Viewer

Having the latest SL Viewer is important for accurate linguistic QA. The Viewer must contain the correct linguistic strings for QA, and these change at least every couple of weeks. If you are not using the latest viewer, you may find yourself translating or fixing things that have already been fixed in a more recent version.

  • Run the program you downloaded to install Second Life on your computer. Install the Viewer in a location that is easy to remember, like your Desktop. If you have an earlier version of Second Life on your machine, please move it or uninstall it to ensure you are using the correct Viewer.
  • When the Second Life software is installed, double-click the Second Life icon (a green hand) to open the Viewer.
  • You will see the login screen. Enter your Second Life first and last name and your account password, then click Log In.

Find xml files to translate

The viewer's translated strings and text parameters are stored in xml files. There are two methods of finding the right xml files for what you're looking to translate.

  1. Look for it in the list of xml files and what they do on the wiki (currently only in English).
  2. Enable the Show XUI Names in the SL Viewer.
The SL Viewer can be placed in debug mode. In debug mode, menu bar options appear that aren’t visible otherwise. To show XUI names:
  1. Place the Viewer in debug mode via Ctrl-Alt-D (PC) or Apple-Alt-D (Mac)
    • A new menu, "Advanced", should now appear on the menu bar to the right of “Help.”
  2. Now, find and enable the Show XUI Names tool by clicking:
    • Advanced > XUI > Show XUI Names
  3. An “X” should appear beside “Show XUI Names” in the menu indicating that XUI Names feature is enabled.
  4. Now, as you hover the mouse over any UI element in the viewer, you will see a tooltip appear with the filename of the XML source for that element.

Find and Edit Linguistic XML Files

Begin linguistic editing by opening menus, etc. and looking for truncation issues. If something needs to be changed, hover over the item in question with the mouse to find the name of the corresponding XML file. Hovering over “View” in the menu bar, for example, displays a context of “/menu_viewer.xml/View”. Next, find the XML file “menu_viewer.xml” to make changes by taking the following steps:

  • During the Second Life installation, a Second Life folder was also installed. It contains a subfolder named “skins”. Inside this folder are the xml files for each skin. For each skin, there is an "xui" folder that contains xml files specific to that language. You want to make all changes to the "default" skin.
    • On a PC, the XUI folder can be found at: C:\Program Files\SecondLife\skins\default\xui (on a PC).
    • On a Mac, right-click on the Second Life (green hand) icon. Double-click through Show Package Contents > Contents > Resources > Skins > default > XUI. The XUI folder contains subfolders of XML files for each localization language.
  • Open the folder of the language currently in QA and find the file that corresponds to the XUI Names tooltip that you saw when you hovered the mouse. In keeping with the above example, open the Japanese folder (“\skins\default\xui\ja”) and find the menu_viewer.xml file.
  • If you are creating a new translation for an unlisted language, start by creating a new folder in \skins\default\xui\ that's an abbreviation of your language. You will put all your modified xml files in this folder.
  • At this point, use an XML editor to make and save changes. Most of the strings you'll need to translate will be in their individual xml files; the rest will be in strings.xml.
    • DO NOT EVER change any “name” fields from the English name. The name field is used to match it to the existing English element.
    • DO NOT EVER change the XML filename. The Viewer looks for XML files with their given names and won’t find them otherwise.
  • Make change(s) and save them - without changing the filename.
  • Return to the Viewer. Your changes should be reflected immediately in the corresponding spot in the Viewer (in this example, the “View” menu). If changes are not displayed, close Second Life, open it, and log in again. Changes should be reflected now.
  • It is recommended you make changes in batches.

Adjust the Size of Widgets and Interface Elements

You will see the following information in XML files as well. This is what it means:

Width and Height

  • width="100" // sets the width of the widget to be 100 pixels
    • Note: This is the entire width of the widget, not just the label.
  • height="20" // sets the height of the widget to be 20 pixels
    • Note: This is the entire width of the widget, not just the label.


  • left="10" // sets the horizontal position of the left edge of the widget to be 10 pixels from the left edge of the panel or floater
  • left_delta="100" // sets the horizontal position of the left edge of the widget to be 100 pixels from the left edge of previously listed widget
    • Note: Use left *or* left_delta, never both.


  • bottom="300" // sets the vertical position of the bottom edge of the widget to be 300 pixels from the bottom edge of the panel or floater
  • bottom="-30" // sets the vertical position of the bottom edge of the widget to be 30 pixels from the top edge of the panel or floater
  • bottom_delta="-30" // sets the vertical position of the bottom edge of widget to be 30 pixels from the bottom edge of previously listed widget
    • Note: Use bottom *or* bottom_delta, never both.

In the future, Linden Lab will change the XUI layout language to be easier to use. When it does, the lab will create a tool to convert all of existing XUI files (including translations) at that time. Linden Lab will make this tool publicly available so that externally created XUI files can be converted.

Save and Post Changes

Once you complete your translation, please post it to the public JIRA.

Translation Review by Linden

Once uploaded, Linden Lab will review your translations and comment on the public JIRA about their status. Posting your submission to the public JIRA does not mean your language will be automatically uploaded. However, for the seven languages currently in the viewer, the lab will do its best to ensure that updates and improvements for translations occur as soon as possible.

All Other Languages

By "all other languages," Linden Lab mean "languages Linden Lab does not currently support in the viewer." These are all languages other than:

  • Chinese (Simplified Chinese)
  • French
  • German
  • Japanese
  • Korean
  • Portuguese
  • Spanish (Latin American)

For languages not listed above:

  • Feel free to create a new translation following the steps above. When doing so, please keep in mind that Linden lab will not be able to prioritize your submission, but that posting it to the public JIRA may allow you to share your strings with other community members interested in sponsoring or contributing to your localized client.
  • Linden Lab recommends waiting for the upcoming Skinning project to be completed. When this project is complete, you will be able to host your own translation without fear of losing your hard work when updates come around. In addition, you will not require a special viewer build (either by Linden Lab or yourself) in order to share your translation with others. Linden Lab recommends that Residents who are interested in languages that are not already available in the viewer stay tuned into the Skinning project.
  • A copy of a "minimal set" of the English files (no formatting, only XML skeleton and strings) can be downloaded here. This is the English version as of Viewer 1.20.15.

Other Ways to Support Localization

There are other ways to participate in and support localization and the International Community:

Translate the Knowledge Base and other SL wiki pages

You can help your community greatly by translating Knowledge Base articles and posting them in the SL wiki. More information on this are coming soon...

See Project:Languages for translation of other SL wiki pages.

Host an International Orientation Island

You are welcome to host an Orientation Island for your community! In addition, if you implement a Registration API from a localized website that leads residents to your localized Orientation Island, you may qualify to participate in the Community Gateway Beta Program. More information on the Community Gateway Beta Program will be posted to this wiki soon.

See Also