Support your spoken language on the Developer Network

By: John Kaster

Abstract: Read this document to learn how to add publishing and translation support for your preferred spoken language on the Developer Network

    CDN Strings Editor

Back on December 10, 2006, I provided instructions for manually editing an XML file to add support for your preferred language to the Developer Network, and invited the community to assist us. We have had a great response already, with translations provided by community members for several new languages. The current list of supported languages can be seen by going to the Embarcadero Developer Network home page and placing your mouse over the currently active language to the left of your name at the top of the page, which gives you links for explicitly choosing the language you want to use for browsing the Developer Network. You will see a pop-up window similar to the following:

Hide image
Screen Shot 2013-03-07 at 11

1 Languages currently supported on the Developer Network

For the publishing and content management engine we've written for the Developer Network, we have a list of standard strings that are loaded from this XML file to make it easy to support strings in a variety of spoken languages. See the end of this article for information on the actual format.

Rather than having to edit the XML file directly, we now have a tool available, called the CDN Strings Editor (CSE) that makes it much easier to edit, update, merge, and export string definitions for any language from the strings.xml we use for storing our localized strings. You can download our live version of strings.xml from http://gp.embarcadero.com/view/template/strings.xml. (The editing tool requires .NET 1.1, and the .NET assemblies included in the archive on CodeCentral.)

If you want to update or add support for another language, please download the zip file from CodeCentral, extract it, and review the information below on using CSE.

    Loading the strings.xml file

When you start CSE, you will see the following form:

Hide image

2 The initial CSE display

From the File menu, select Open to load a master list of strings to manage.

Hide image

After you open the included strings.xml file, you will see the list of languages defined in the document, and the list of strings.

    Editing the strings

As you select the various languages already defined, strings that are missing a translation appear in red. These strings default to English. Any new values you enter appear as green until they are saved into the XML file.

Hide image
Click to see full-sized image

3 Korean strings with 2 missing translations

In the screen shot below, the English localized string "About" will be changed to "Sobre" by double-clicking on the value, which brings up an editing dialog:

Hide image

This dialog shows the default value so you can refer to it while providing the translation. After the translation is entered, the change is indicated in green.

Hide image
Click to see full-sized image

4 Brasilian Portuguese with missing translations and an update

    Adding a new language

Use the Language | Add menu option to create an entry for a new language. The dialog that appears provides a link to the ISO standards for language codes to use as well. Clicking that link will open your default browser to the web page.

Hide image

5 Add language dialog

    Saving your changes

After you have updated or created the localized strings for a language, you can save those changes to the same file name, or to a new file name. We prefer that you save it with strings.<two character language code>.xml so we can track which language should be updated by that XML file.

You can email that file to David Clegg (dclegg@embarcadero.com) and we’ll merge your changes into our master list, or add support for the new language translations you have provided.

    Thank you to our contributors

I would like to thank the following people for their translation efforts thus far. If I miss anyone, I apologize in advance, and please email me a reminder.

Name

Language

Code

Hossen Bosyri

Arabic

ar

Georgi Hadzhigeorgiev

Bulgarian

bg

Andreano Lanusse

Brasilian Portuguese

br

Visli

Yang Li

Simplified Chinese

cn

Minas Harokopos

Hellenic (Greek)

el

David Berneda

Andreano Lanusse

Salvador Gomez Retamoza

Spanish

es

Attila Horváth

Hungarian

hu

Marco Breveglieri

Italian

it

Hitoshi Fujii

Japanese

ja/jp

Jeehoon Imp Park

Korean

kr

Lars Fosdal

Norwegian

no

Zbigniew Chwedoruk

Polish

pl

Serguei Dosyukov

Alexey Kovyazin

Russian

ru

Jonas Hogstrom

Anders Ohlsson

Swedish

sv

Yusuf Celik

Fatih Tolgah Ata

Turkish

tr

Yoyo Chen (陳明正)

Visli

Traditional Chinese

tw

    The original invitation from December 10, 2006

As we prepare for the launch of codegear.com, we've been doing some refactoring of our publishing engine for the Developer Network. As a result, we have made it significantly easier for our presentation and publishing engine to support localized languages.

All strings presented to the user from the main navigation template are now retrieved from an XML file. The XML has a definition for each user interface string, which will look something like this fragment:

<StrConference value="Conference Proceedings">
  <br value="Documentos das Conferências" /> 
  <cn value="研讨会讲演" /> 
  <de value="Tagungsbände" /> 
  <es value="Documentos de las Conferencias" /> 
  <fr value="Compte-rendu des conférences" /> 
  <jp value="カンファレンス" /> 
  <ru value="Конференции" /> 
  <tw value="研討會講演" /> 
</StrConference>

If you would like to add support for your native language, download the latest strings.xml file from CodeCentral and update it with definitions for your language. Please be sure to use a UTF-8 compatible editor and save it as a UFT-8 document. (Windows Notepad supports UTF-8 for example.)

Upload the updated version to another entry in CodeCentral (and email a notice to me, John Kaster), or just zip up and email the file directly to jkaster@codegear.com and we can add support for your language on the Developer Network.

If you don't want to navigate through the large document with all localized strings, you can create one with just your language strings in it, like this:

<StrConference value="Conference Proceedings">
  <xx value="My 'xx' language" /> 
</StrConference>

The "xx" in this snippet is used as an example for an "additional language." Please use the appropriate ISO standard 2 character abbreviation for your language.

We'll either use your file directly, or merge the changes into our master XML document.

Please note: the list of strings in this XML document will grow over time, but missing translations are gracefully defaulted to the English version if a translation is not available. This is similar to the way our content selection works for your preferred language.

I hope this new feature will allow us to support for your preferred language, if it is not yet available on the Developer Network.

John Kaster

Developer Network Architect

Server Response from: ETNASC02