============================================================================ Internationalization in PennMUSH ============================================================================ PennMUSH 1.7.3 and later have extensive support for running in non-English environments. There are two parts to this. First, what the mush considers to be valid characters, what's upper-case, what's lower-case, how they are sorted, and so on. The second is translating the messages produced by the game into another language. (Helpfiles aren't currently translated.) Several languages are currently supported to one degree or another. If your favorite language isn't (or if you want to increase the level of support), and you're fluent in it, you can help out! See http://www.pennmush.org/translation.html. Localization (the process of making a MUSH conform to a given "locale") is controlled by the LANG or LC_ALL environment variables, which have the form "la_DI", where la is a language code and DI is a dialect. For example, "en_US" stands for English, United States dialect. The language codes are usually the same as a country's top level domain in URLs. Spanish is 'es', Russian is 'ru', and so on. There are two places where you have to use LANG: when you're compiling the MUSH (in order to compile the message translation files) and when you start up the MUSH (in order to set the locale for the running server). 1. Compiling the MUSH - tips Files with translated messages are located at http://download.pennmush.org/Source/translations/. Get the one for your patchlevel and language, put it in your pennmush/po/ directory. These files have to be compiled to an efficient internal form before starting up the mush. This means you should set your LANG environment variable before you compile your server. To do this using the common bash shell, 'export LANG=en_US', or whatever your setting is. If that gives an error, try the tcsh shell form 'setenv LANG en_US'. If that still doesn't work, consult the documentation for the shell you're using. The message files are compiled during the "make install" step. Be sure that you compile with a COMPRESSION_TYPE (in options.h) that is 8-bit clean so it will work properly with non-ASCII characters. 2. Starting up the MUSH - tips The LANG environment variable that controls what language the mush uses is normally set in the pennmush/game/restart script. There's an example for using French in the script already that can be used as a starting point. Your server account might be set up with a non-english language as the default. If so, and you don't set LANG in the restart script, that default language will be used.