Introduction

DBabble versions 1.2b and later provide the system administrator the ability to translate both the web version and the downloadable Windows client into any language, including those that use different character sets than English.

You can also use this to change the wording of any phrase visible to the user in English as well. Different users can be using different languages simultaneously on your DBabble server. All you have to do to add support for a new language is to translate a file containing a list of phrases used throughout DBabble. This list contains approximately 2000 phrases. Most phrases that just the system administrator can see are not translatable so that the size of this list is not too large.

Note - We are fairly sure we have marked all necessary phrases for translation, but it is possible we may have missed the occasional phrase since the language translation feature is newly added. If you do find a phrase that can not be translated, please let us know at support-dbabble@netwinsite.com, and we will add it into the next release. If this missed phrase is something that would appear within a web or help page, then you can add it yourself.

If you are on a Windows platform, then there is a simple Windows application for editing languages. Copy the files from the server sub-directory called editlang into the sub-directory called lang. Then run editlang.exe from within the lang directory.

Languages Currently Available

We currently have the following translations available. To use one of them download and unzip the file to your DBabble server /lang directory. Change the DBabble server setting languages to include the language file name. e.g.
languages English,Espa˝ol(Spanish),Deutsch(German),Chinese,Italiano(Italian),Franšais(French),Japanese,Portuguese,Korean,Russian,Dansk(Danish)
LanguageDBabble VersionDownloadNotes
All 2.3r all_23r.zip Machine language translations for Espa˝ol(Spanish), Deutsch(German), Chinese, Italiano(Italian), Franšais(French), Japanese, Portuguese, Korean, Russian, Dansk(Danish) merged with partial to almost complete translations of German, Spanish, Italian, Chinese and Danish. Download this file to the lang directory on your server and set the languages setting to English,Espa˝ol(Spanish),Deutsch(German),Chinese,Italiano(Italian),Franšais(French),Japanese,Portuguese,Korean,Russian,Dansk(Danish) to use them all. These files are included automatically in versions 2.3g and later, but you can manually install them for earlier versions if you want to, but there may be the occasional phrase no longer used that won't be translated in these.
All Partial 2.3g all_partial_23g.zip Partial translations for Espa˝ol(Spanish), Deutsch(German), Chinese, Italiano(Italian), and Dansk(Danish). Un-translated phrases will appear in English. Download this file to the lang directory on your server and set the languages setting to English,Espa˝ol(Spanish),Deutsch(German),Chinese,Italiano(Italian)Dansk(Danish) to use them all.

If you use the Chinese translation in versions prior to 2.3r , you should also create a file called dbabblesvr/tpl/Chinese/top.htm on your server which contains the following two lines <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> In versions 2.3r and later, tpl/head.htm automatically includes lines like these that are looked up from the relevant language translation file.

We would like to build up a database of translations to make publicly available. If you are willing to supply us with a translation for a language we don't currently have or provide us with a correction to all wrongly translated phrases in one of our machine translations, then we will give you a 20% discount off the price of purchasing a single server license key. If you do decide to supply a translation file to us, please send it to us as an attachment to support-dbabble@netwinsite.com before registering and we will organise a discount for you. Make sure you let us know what version the translation is for. To qualify for the discount, the translation must be a complete one for either the current release version or any later beta version.
Even if you have already purchased DBabble or have only done a partial translation, we would still appreciate receiving your translation to add to our database.

Changing English Phrases

To modify any piece of text visible to a user, you need to modify the server file lang/English.txt. Find the piece of text you want to translate, and follow the phrase translation guide. After making any changes, tell DBabble to reload (e.g. "dbabblesvr -reload") and the new changes will be visible. Windows clients whose text have changed will not use the next values until they logout and login again, or change their user setup details.

Adding New Languages

To add a new language "Abc", you would do the following:
  1. From within the lang sub directory in DBabble, copy "Blank.txt" to "Abc.txt". Translate each phrase in "Abc.txt", following the phrase translation guide
  2. Copy English.dat to "Abc.dat". Translate the names of months, weekdays, and choose your time and date formats using the date and time instructions.
  3. If your users will be using the Windows client, create "Abc.license", and make the content of this a translation of "English.license". This is the license agreement that gets displayed to them when they install the client.
  4. Check your translations for errors using DBabble's language checking feature
  5. Append ",Abc" to the languages configuration setting.
  6. Tell DBabble to reload (using dbabblesvr -reload) or just restart DBabble.

Phrase Translation

Each phrase to be translated consists of a line starting with one or more of the characters "SCHWD" followed by ":" followed by the original phrase. The following line begins with ":" followed by the translation of the previous phrase. If there is no text following the ":", or the text is identical to the above text, then the text is not translated. The characters beginning the original line determine in what context the phrase appears. You may only need to translate some of the phrases if your users only the web version, or only the windows client version of DBabble.
  • S - This phrase is used internally by the DBabble server.
  • C - This phrase is used by the DBabble Windows client.
  • H - This phrase is appears in the help pages.
  • W - This phrase is appears in the web version template pages.
  • D - This phrase appears in the template files for the Windows client.

There are a few things to be careful of when translating phrases.

  • Make sure you don't change the number or order of % signs within a phrase, or change digits and the character following a percent sign. These % signs and the following character get replaced by some other text, which will be different depending on the situation. For example, it might get replaced by the name of another DBabble user, or might get replaced by a number. For example, you might translate There are %d users matching your search to THERE ARE %d USERS MATCHING YOUR SEARCH.
  • Characters following a backslash (\) have special meaning. Don't change these or the character following them. If want to use a backslash, use \\ instead. If you want to use a % sign, use %% instead.
  • Web page and help template phrases sometimes have template variables embedded within them. For example Page ||page_num|| of ||num_pages||. You should not change text text between the || signs. So if you were changing this to uppercase, it would change to PAGE ||page_num|| OF ||num_pages||.
  • Windows client phrases sometimes have a & in them. This is usually to indicate that the following character is the shortcut key for the button/menu that the caption appears on.

Windows Client

When you create a new language file, or modify an existing one, your DBabble server will automatically create a version of the Windows client that uses your language settings and makes this available for download from your server. If you change a phrase after some users have already installed the Windows client, their DBabble clients will be automatically notified of the change and download a new copy of the changed phrases the next time the user logs in.

In versions 1.6a and later, you can also set up the Windows client to install and/or use a different font from the default Windows font. This might be useful if you are using a language with a different character set from English and your users will be installing DBabble on English language machines. See Customizing the Windows Client Fonts for more details.

Date and Time Formatting

Each language has an associated .dat file. For example "English.dat". These specify how the time and date are formatted for the language, together with the names of weekdays and months.
Dates are formatted based on the the lines
  • date_format w, m d y
    where
    • w - Day of week
    • m - Name of the month
    • d - Day of the month
    • y - Year
    Any of the 4 fields can be omitted if you don't want them.
  • weekdays Sun Mon Tue Wed Thu Fri Sat - specifies the names of the days of the week, and replaces the w field in the date_format line.
  • months Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec - specifies the names of the months, and replaces the m field in the date_format line.

Times are formatted based on the line
  • time_format : am pm
    where
    • : - Is the separator between hours minutes and seconds
    • am - Is appended to times before mid day
    • pm - Is appended to times after mid day
    To use a 24 hour clock, you omit the am/pm values. For example time_format :
The above examples gives dates like Thu, Dec 7 2000 and times like 1:56 pm. To include the seconds on the end of times, use the configuration variable time_show_seconds.

Checking your translations

When translating phrases, changing the number of characters following % signs could cause the DBabble server and/or Windows client to crash. For this reason, DBabble checks all phrases, and rejects them if it thinks they could cause problems. You can override this behavior with the lang_errors setting, but you should only do this if you are very sure your translation is valid. To check before running DBabble with your new language or changes, you should run the DBabble language test. From the command line, type dbabblesvr -langtest English where you replace English with the name of your language. You will be told of any potential problems. To test all of your languages, just use dbabblesvr -langtest.

Changing All Occurrences of One Word

In versions 1.5i and later there is support for easily changing all occurrences of one word to something else. For example "friend" to "contact". To do this you could add the following lines to the start of English.txt
replace_word friend contact replace_word friends contacts replace_word frien&ds contacts replace_word frie&nds contacts Note that the & symbols are used for denoting that the following letter is a hot key in Windows. Another example would be: replace_word "discussion group" forum replace_word "discussion groups" forums replace_word discussion forum replace_word discussions forums replace_word d&iscussion forum # The next 4 are to avoid replacing the word group in this phrase for the next 4 cases. replace_word "user group" user group replace_word "user groups" user groups replace_word "news group" news group replace_word "news groups" news groups replace_word_match_case group forum/chat room replace_word_match_case Group Forum/Chat Room replace_word_match_case groups forums/chat rooms replace_word_match_case Groups Forums/Chat Rooms Make sure you add these lines before any of the phrases within the language file. These word replacing rules are just for your convenience. If you prefer, you can just change each occurrence of the words in the entire list of phrases (keeping in mind that you should not change the source phrase text, so a "search and replace" does not work)

Adding your own phrases

In some situations you will need to add your own phrases to your language files. For example if you change the names of the user fields in user_fields.dat, change certain settings like brand_text, or add new sections to the web template pages then you will need to add translations for each of the new names for each language. Make sure you surround any new phrases you add to your template pages with $$ signs, so that DBabble will know that these are to be translated. Just add a new line server line to your language.txt file. For example say you added the a user field called Office Room Number to user_fields.dat. Then in UPPERCASE.txt, you would add the lines
S:Office Room Number
:OFFICE ROOM NUMBER

Upgrading to later versions

If at some stage you upgrade your server to a newer version, then there may be some new phrases. These will automatically be appended to the end of each of your language.txt files so that you can translate them for each of your existing languages.