We have been abusing the 'Language' field to store the language name
that appears in the GUI for a translation. But this field is officially
supposed to store the language code, and most tools that edit po file
set it automatically. This has caused the language being changed by
mistake in the paste.
There is a provision for custom fields with a name starting with 'X-'
though. So Now, if defined, it will use the custom 'X-Language-name'
field, and fall back to 'Language' in case that custom field is not defined.
This should prevent the language being lost when not careful while
editing the translation.
The charsets used by the translations now need to have a "$(name).cp" file,
which contains an charset index => unicode mapping. Otherwise
create_translations will fail.