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:

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 https://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:

2 The initial CSE display
From the File menu, select Open to load a master list of strings to manage.

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.

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:

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.

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.

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 ([email protected]) 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 [email protected] 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
Connect with Us