### Introduction

MonoDevelop has chosen to use gettext instead of resources for translating into other languages. This allows us to take advantage of GNOME translators familiarity with gettext and other advantages.

### Developers

Instead of using a string directly in your code, you just need to pass it to gettext which returns the translated string to you.

1. Remember to encase all user visible strings, like so:
   `GettextCatalog.GetString ("user visible string")`
   `String.Format (GettextCatalog.GetString ("user visible string {0}"), variable)`
2. Add files with these strings to MonoDevelop/po/POTFILES.in

FIXME add info about checking for missing files in POTFILES.in glade, xml files

### Translators

See Gnome I18N for information about the GNOME translation project. Much of that material will also apply here. In particular:

- Language codes
- Resources

//FIXME how do you do this:
1. Create xx_XX.po (based on you Language code)
2. Translate the strings
3. add your language code to ALL_LINGUAS in configure.in
4. test by running `LANG=xx_XX monodevelop`

### Credits, License, Errata

Send comments to jluke@cfl.rr.com or the monodevelop mailing list.

Licensed under the MIT License

Last updated April 14, 2004