Using FogBugz On Demand? We've recently rolled out a new sidebar as part of taking FogBugz forward. Please see this article for details on what's new, what's changed, and where you can find all your favorite things.

This post only applies to locally-installed FogBugz for your server. FogBugz On Demand does not support custom translations, but users can choose from English, German or Portuguese versions.

All of the words you see displayed when using FogBugz are contained in a file called lang.xml. It’s an XML file, but you have to use Excel to edit it. There exists one column for each language in a FogBugz installation. FogBugz comes with English, German and Portuguese translations, but if you’re using Licensed FogBugz, you can add new languages that will then be available from the user Options page.

To add a new language such as Italian to your FogBugz installation:

  1. Create a directory under FogBugz/src-website/res called it-IT
    • Edit the %FOGBUGZ_HOME%\src-Website\CLanguage.was and place the name of the language directory you created within the subroutine Private Sub Class_Initialize() (around line 215, not the one that is two lines long) by using the AddLanguage subroutine specifying the 5 arguments. e.g. replace AddLanguage "Italian (Italy)", "1040", Nothing, "it-it", "it" with AddLanguage "Italian (Italy)", "1040", "it-IT", "it-it", "it"
    • Create your own column in the lang.xml file. Edit any rows you want to change. If a string isn’t supplied for a given language, FogBugz will fall back to English.
    • One special row in the lang.xml file is called FB_LANGUAGE. Make sure you set this to it-IT
    • Edit the FogBugz\src-Website\Includes.was file to include your new file. (e.g. at the bottom in the includes, add Option Include "res/it-IT/lang.was")
    • Run LangGenerator.exe in the FogBugz/src-Website/res directory. This will create a file called lang.was in the it-IT subdirectory.
    • Run FogBugz/build.bat to build FogBugz (make sure to build FogBugz in place where it is run from, so external dll references have the correct path)
    • Now users will be shown the Italian version if their FogBugz option is set to “Use Browser Format” and their browser is set to Italian, or if they explicitly choose Italian from their Options page.
    • If you’d like to send us your lang.xml file, we can try to include it in a future release.

Warning: Make sure the server you are running FogBugz on is set to the English locale when you build FogBugz, otherwise you may experience strange CSS problems. (The CSS file does artithmetic with numbers like 1.8 and if the locale is not set to English in the OS at build time, this could be interpreted incorrectly in places where that should be 1,8)

For Linux/Mac users: You can move the res folder to a Windows machine and do the above steps until after you’ve run LangGenerator.exe. Then simply copy the res folder back to your Linux/Mac install to build FogBugz. The important piece is the it-IT/lang.was file being in the right place before you run build.bat