
[ News Blog
| Forum
| History
| Screen Shots
| Features
| Languages
| Treemaps
| Wink
| Q & A
| Subscribe!
]
Languages
Don't like English? SpaceMonger 2.1 supports foreign languages
for its user-interface. Its foreign-language support is handled
entirely via external XML files so that new languages can be readily
added, even after the program is released.
We've gotten many offers from people to translate the user-interface
into various languages. Here's the current list (last updated
April 1, 2004):
| Language | Translator |
| Catalan | Pep I. |
| Czech | Libor T. |
| Dutch | Marc R.
(additional offers from Victor V., Jelle J., Rob M.,
Sebastian G., and Ernst-Jan S.) |
| English | (me, obviously) |
| French | Yannick B. / Maxim A.
(additional offers from Nino B., Loïc B.,
Sébastien L., and Hervé M.) |
| German | Marc R.
(additional offers from Victor V., Nino B., Daniel) |
| Greek | Antony G. |
| Hungarian | Adam T. |
| Italian | Giovanni S. |
| Norwegian | Anders M.
(additional offers from Kenneth A., Roger F.) |
| Polish | MichaĆ Sz. |
| Portugese (Portugal) | (offer from Tao K.; need to verify if still valid) |
| Portugese (Brazil) | Eduardo F. |
| Romanian | Octavian C. |
| Russian | Dmitry |
| Spanish (Spain) | Cesar M.
(additional offer from German G.) |
| Spanish (Latin America) | Jesus C. |
| Swedish | Andrew P. |
(Last names and e-mail addresses have been omitted to
ensure the anonymity of these helpful folks.)
Obviously, I will only include a given language if the
translator actually supplies it to me (since although I speak some
languages other than English, it was painfully obvious in v1.4 that
I don't speak them well enough to be a translator). If the
translator decides not to provide a translation for whatever reason, I
will not be obligated to find a replacement. In other words,
the list above represents offers, but is not legally binding.
Translators will be provided with a copy of the software a
few weeks before it is released to the rest of the world to give
them time to produce the translation.
If you translate the user-interface to a language we don't have
a translation for, that is worth a free license:
in other words, if you translate the user-interface, you don't have
to pay for your license. If you translate the user's manual, that
is a more difficult task, since it's a lot more words, so we will
consider a (good) translation of the manual to be worth up to two
free licenses. So, for example, if you translate everything and
produce a really good translation for everything, you could earn
yourself three free licenses total.
If you would like to contribute a translation for a language
that isn't listed above, please contact
me, and we will be happy to accept it!
Several people have asked about how the language information
will be provided, and what they will have to do to perform the
translation. Well, it's actually pretty easy, and intentionally easy.
You do not need to make changes to the source code to make a
translation; in fact, you don't even need to know anything at all
about programming. The program reads all of its text from an external
XML file. You will simply need to copy one of the existing XML files
and make your changes to it. XML files are text files; you can
manipulate them using Windows Notepad if you want. For example, if
you see this:
OK
Cancel
Apply
You might change it to something like this if you speak French:
OK
Annuler
Appliquer
Or you might change it to something like this if you speak Spanish:
OK
Cancelar
Aplicar
Or you might change it to something like this if you speak Polish (!):
OK
Anuluj
Zastosuj
Thus in the translator's early-release version, there will only
be "us.xml" and "uk.xml" files, for U.S.
and British English, respectively. You would provide me with a file
named "fr.xml" for French, or "es.xml" for
Spanish, or "pl.xml" for Polish.
The program is smart enough to rearrange things on screen if your
words are longer or shorter than the original words. There is usually
a wide range of tolerance for variation in word length; however, you
still may have to shorten some phrases if they are too long to fit,
which is why you will need a copy of SpaceMonger to test your
translation.
SpaceMonger is also smart enough to be able to find
your translation file and include it without any changes to its own
code, so that languages can even be added after SpaceMonger
is released. (Obviously, it's better to add them before the final
release, but allowing them to be added later makes the program far
more flexible when new translations appear: the new translations can
be provided as a download from my web site, or from anyone else's
web site.)
A typical language file has about 1000 strings (words, phrases, or
sentences) that need to be translated. That may sound like a lot, but
you should be able to translate it in about two or three hours. The
language file contains all of the words used by SpaceMonger,
including buttons, menus, tooltips, and even error messages.
Right now, the language file is incomplete because the program is
incomplete; I am still adding and removing strings in it as I change
the program. That is why there is little purpose in translating it now:
you would simply have to change it again anyway by the final release.
However, if you would like to see what a language file looks like, I
have posted a copy of the U.S. English file
on-line so that you can get a feel for what is necessary.
By the way, SpaceMonger also supports partial language files,
which are useful for adding dialects of a language. For example, the
"uk.xml" file, which provides British English, is not a
complete copy of the U.S. English file with some of the text changed.
Instead, it inherits the U.S. English file directly, and only
includes strings that are different between the two. The U.S. English
file has 500 strings in it; the U.K. English
file only has about 50.
So if you would like to include a regional translation, or a dialect,
of your language, I will accept that too: however, because dialects are
so easy to translate once the main language is translated, dialects are
usually not worth a free license. Sorry. But if you write a dialectical
translation and want to have it included with the release, I will be
happy to include it.
These are some languages for which dialectical translations might be
useful:
- U.K. English / U.S. English
- Spain Spanish / Central America Spanish
- France French / Canada French / Carribbean French / South Pacific French / Africa French
- Portugal Portugese / Brazil Portugese
- ... and doubtless there are others.
(Because it is also useful to those of you who know how to read it,
I have also posted the translation file DTD
on-line. If you don't know how to read a DTD, it's not important, and
SpaceMonger never directly uses this DTD file: it's only included for
external validation tools. If you do know how to read a DTD, it may
help you do your translation a little more quickly. To learn more about
DTDs and XML, read the W3C's
XML 1.0 standard document.
Please note that I will not answer any questions about this DTD;
it is supplemental data, not normative data.)
|