MusicBrainz Server/Internationalization

From MusicBrainz Wiki
Jump to navigationJump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

The NGS (New Generation Server) code is using gettext to provide with automatic internationalisation of messages and texts used in the perl code and templates.

a .pot file is provided with all the strings used in the server. They are in english.

If you want to translate them, go to the transifex page here https://www.transifex.net/projects/p/musicbrainz/ and create an account. Then ask to be a member of the team of the language you speak or ask for the creation of a new team if it doesn't exist yet.

This wiki is the perfect place to discuss specific languages translations issues such as glossary, or right-to-left required patches etc.

Importing ISO lists

There are conveniently LGPL 2.1 pretranslated lists for a bunch of ISO standard lists at http://anonscm.debian.org/gitweb/?p=iso-codes/iso-codes.git;a=tree (specifically, we use 3166, 639, and 15924).

To bring these translations in as a base for countries, languages, and scripts, follow this procedure:

  • Download a .po for translation from Transifex. We'll assume it's called mbs.po for the sake of commands below.
  • Download the proper language .po from the link above for each of the three lists. We'll assume they're called 3166.po, 639.po, and 15924.po.
  • msgmerge 3166.po mbs.po -o mbs1.po
  • msgmerge 639.po mbs1.po -o mbs2.po
  • msgmerge 15924.po mbs2.po -o mbs-final.po
  • msgfmt -c mbs-final.po
  • Correct any errors msgfmt complains about, then use Transifex's 'Upload File' and upload mbs-final.po.

Congratulations, you should then have all the countries/languages/scripts translated!