Internationalization: Difference between revisions

From MusicBrainz Wiki
Jump to navigationJump to search
(→‎Discussion: Stop mentioning the Talk page as it has just been reviewed and pruned.)
(→‎Languages: Unlisting the unreviewed/inactive language pages (Esperanto/Finnish/Polish) - Feel free to (re)list any page active (again))
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
This page is about '''internationalization''' of MetaBrainz projects, that is making these usable with different languages and in different regions.
This page is about '''internationalization''' of MetaBrainz projects, which means making the projects support different languages and work as expected in different regions.
The main section below is about '''translation''' of its software’s user interface, that is translating messages from software in different languages.
The main section below is about '''translation''' of the projects’ user interface: being able to provide the software itself in different languages.
The rest is about more general issues such as correctly handling data from different languages and different regions for example.
The rest is about more general issues, such as correctly handling data from different languages and different regions.


== Translation ==
== Translation ==


This section is intended for translators of projects related to the MetaBrainz community, it isn’t limited to official projects maintained by the Foundation.
This section is intended for translators of projects related to the MetaBrainz community.


=== Platform ===
=== Platform ===


The [https://translations.metabrainz.org translation platform] is open to registration through your MusicBrainz account.
We have a '''[https://translations.metabrainz.org dedicated translation platform]''' which you can use with your MusicBrainz account. It is hosted by the [https://weblate.org/about/ Weblate team], with a data processing agreement in conformity to the GDPR. Note that the legal terms are generic to all Weblate instances and that “purchase” isn’t available from MetaBrainz Weblate instance.
It is currently hosted by the [https://weblate.org/about/ Weblate team] with a data processing agreement in conformity to the GDPR.
Note that the legal terms are generic to all Weblate instances and that “purchase” isn’t available from MetaBrainz Weblate instance.


See [https://docs.weblate.org/en/latest/user/translating.html Weblate user docs] for a general introduction on how to use it for translating.
See the [https://docs.weblate.org/en/latest/user/translating.html Weblate user docs] for a general introduction on how to use the platform.


=== Projects ===
=== Projects ===


Each of [https://translations.metabrainz.org/projects/ translation projects] has an “Info” tab linking to a wiki page that gathers project-specific information for translators and more generally about internationalization.
Each of the [https://translations.metabrainz.org/projects/ translation projects] has an “Info” tab linking to one of the below wiki page that gathers project-specific information for translators and, more generally, about internationalization for that project:


* [[MusicBrainz_Server/Internationalization|MusicBrainz Server and data]]
The following official MetaBrainz projects aren’t translatable at the moment: [[AcousticBrainz]], [[BookBrainz]], [[Cover Art Archive]], and [[ListenBrainz]].
* [[MusicBrainz_Picard/Internationalization|MusicBrainz Picard]]
* [[MetaBrainz:MetaBrainz.org_Website/Internationalization|MetaBrainz.org website]]
* [[CritiqueBrainz:Internationalization|CritiqueBrainz]]


Note:
=== Language-specific pages ===
The following official MetaBrainz projects aren’t translatable at the moment: [[BookBrainz]], [[Cover Art Archive]], and [[ListenBrainz]].
The archived projects [[AcousticBrainz]] and [[MessyBrainz]] have never been (and won’t ever be) translatable.


Our platform isn’t limited to official projects maintained by the Foundation, and we also host translations for community projects. If you have a MetaBrainz-related project you want to make translatable, such as a script or extension, get in touch!
This wiki is the perfect place to gather information about language-specific translation guidelines, issues, and resources.

=== Languages ===

Among [https://translations.metabrainz.org/languages/ all the languages we currently support on Weblate] a fair amount are likely to contain only old translations and not have any recent activity, and not all projects are available for all languages yet. You can find out more by clicking on the desired language; projects supporting the language will be listed on the “Projects” tab and activity data on the “Information” tab.

If a language is not available at all or your language is not available for the project you want to translate, just ask for it on the [https://community.metabrainz.org/c/internationalization/21 “Internationalization” community forum category].

To help with coordinating translations in the same language, you can use Weblate [https://docs.weblate.org/en/latest/user/glossary.html glossaries] and [https://docs.weblate.org/en/latest/user/translating.html#comments comments], the MetaBrainz [https://community.metabrainz.org/ community forums] (see below [[#Questions or problems|questions or problems]]), and/or a wiki page (create one if missing):


* [[Internationalization/Esperanto|Esperanto]]
* [[Internationalization/Finnish|Finnish]]
* [[Internationalization/French|French]]
* [[Internationalization/French|French]]
* [[Internationalization/German|German]]
* [[Internationalization/Italian|Italian]]
* [[Internationalization/Italian|Italian]]
* [[Internationalization/Polish|Polish]]
* [[Internationalization/Spanish|Spanish]]
* [[Internationalization/Spanish|Spanish]]


Line 36: Line 45:
=== [https://community.metabrainz.org Forums] ===
=== [https://community.metabrainz.org Forums] ===


[https://www.discourse.org/ Discourse]’s user interface is localized.
[https://www.discourse.org/ Discourse]’s user interface is [https://meta.discourse.org/t/contribute-a-translation-to-discourse/14882 localized].


* The few topics writen in a language other than English uses [https://community.metabrainz.org/tags tags] such as "<code>lang:ab</code>" for now.<br/>There is a [https://community.metabrainz.org/t/forums-internationalization/136199 topic] about making this practice official.
* The few topics written in a language other than English can use [https://community.metabrainz.org/tags tags] such as [https://community.metabrainz.org/tag/de <code>de</code>] for Deutsch (German). A separate selector is available and language names are localized using the [https://meta.discourse.org/t/multilingual-plugin/142740 Multilingual plugin].<br/>There is a [https://community.metabrainz.org/t/forums-internationalization/136199 topic] about making this practice official.
* Pinned welcome topics are not localized, the same [https://community.metabrainz.org/t/forums-internationalization/136199 topic] is also about localizing welcome topics.
* Pinned welcome topics are not localized, the same topic as above is also about localizing welcome topics.
* Category titles are now localized using the Multilingual plugin.
* Categories, tags and some semi-static texts are not localized. The [https://meta.discourse.org/t/multilingual-plugin/142740 Multilingual Plugin] is a potential solution to be investigated.
* Content is not translated. If the above multilingual plugin doesn’t solve it, [https://meta.discourse.org/t/discourse-translator/32630 Translator Plugin] could be considered.
* Some semi-static texts are not localized. It could be implemented in [https://github.com/paviliondev/discourse-multilingual Multilingual Plugin] if anyone feel up to coding for this Ruby project.
* Content is not translated. The [https://meta.discourse.org/t/discourse-translator/32630 Translator plugin] could be considered.
* The ListenBrainz plugin can be translated in the project [https://translations.metabrainz.org/projects/discourse-listenbrainz/ Discourse ListenBrainz] on the MetaBrainz Weblate translation platform.


=== [https://tickets.metabrainz.org Tickets] ===
=== [https://tickets.metabrainz.org Tickets] ===
Line 52: Line 63:
=== [https://wiki.musicbrainz.org Wiki] ===
=== [https://wiki.musicbrainz.org Wiki] ===


[[mw:MediaWiki|MediaWiki]]’s user interface is localized but not the content which is generally assumed to be in English with a few exceptions such as language translation project pages.
[[mw:MediaWiki|MediaWiki]]’s user interface is localized but not the content, which is generally assumed to be in English (with a few exceptions such as language translation project pages).


We gave up using the [[mw:Content translation|Content translation]] tool due to incompatibilities at that time and inability to ensure consistency with other translations unless using [[mw:Extension:Translate|Translate]] extension instead of Transifex or Weblate; See comments to [[jira:OTHER-350]] for details.
We gave up using the [[mw:Content translation|Content translation]] tool due to incompatibilities at that time and inability to ensure consistency with other translations unless using [[mw:Extension:Translate|Translate]] extension instead of Transifex or Weblate; See comments to [[jira:OTHER-350]] for details.


=== [https://translations.metabrainz.org/ Translation platform] ===
== Discussion ==
Weblate’s user interface itself is [https://hosted.weblate.org/engage/weblate/ localized].

== Questions or problems ==


To discuss about:
[https://community.metabrainz.org/c/internationalization/21 Internationalization community forum category] is available for the community to discuss about general internationalization issues.
To discuss translating project-specific terms, it is rather recommended to use the [https://community.metabrainz.org/tag/translation translation tag] in the community forum category for that project.
* Project-specific translation: Use the [https://community.metabrainz.org/tag/translation “translation” forum tag] in the [https://community.metabrainz.org/categories category] for that project.
To discuss a project-specific internationalization matter with non-translators, it is rather recommended to use the [https://community.metabrainz.org/tag/translation internationalization tag] in the community forum category for that project.
* Project-specific internationalization: Use the [https://community.metabrainz.org/tag/internationalization “internationalization” forum tag] in the [https://community.metabrainz.org/categories category] for that project.
* General translation/internationalization: Use the [https://community.metabrainz.org/c/internationalization/21 “Internationalization” forum category] with the appropriate tags.


To report problems:
To search for issues see [https://tickets.metabrainz.org/issues/?jql=labels%20%3D%20internationalization%20ORDER%20BY%20status%20ASC%2C%20resolution%20DESC internationalization-labeled tickets] and create a new ticket if not found.
* Search for [https://tickets.metabrainz.org/issues/?jql=labels%20%3D%20internationalization%20ORDER%20BY%20status%20ASC%2C%20resolution%20DESC tickets with “internationalization” label] and create a new ticket if not found.


For more real-time interactive conversation with developers, you’re welcome to ask in the [[Communication/IRC|#metabrainz IRC channel]].
<span id="en_UK"></span> ''For consistency with the [[mw:Manual:Page_title|WikiName]] of this page, the U.S. English (en_US) spellings of internationalization and localization have been used throughout, but it is worth noting that British English (en_GB, ''not'' en_UK) spells these words with "s" instead of "z": internationalisation and localisation.''


[[Category:To Be Reviewed]] [[Category:Development]] [[Category:Internationalization]]
[[Category:Development]] [[Category:Internationalization]]

Latest revision as of 20:28, 20 December 2023

This page is about internationalization of MetaBrainz projects, which means making the projects support different languages and work as expected in different regions. The main section below is about translation of the projects’ user interface: being able to provide the software itself in different languages. The rest is about more general issues, such as correctly handling data from different languages and different regions.

Translation

This section is intended for translators of projects related to the MetaBrainz community.

Platform

We have a dedicated translation platform which you can use with your MusicBrainz account. It is hosted by the Weblate team, with a data processing agreement in conformity to the GDPR. Note that the legal terms are generic to all Weblate instances and that “purchase” isn’t available from MetaBrainz Weblate instance.

See the Weblate user docs for a general introduction on how to use the platform.

Projects

Each of the translation projects has an “Info” tab linking to one of the below wiki page that gathers project-specific information for translators and, more generally, about internationalization for that project:

Note: The following official MetaBrainz projects aren’t translatable at the moment: BookBrainz, Cover Art Archive, and ListenBrainz. The archived projects AcousticBrainz and MessyBrainz have never been (and won’t ever be) translatable.

Our platform isn’t limited to official projects maintained by the Foundation, and we also host translations for community projects. If you have a MetaBrainz-related project you want to make translatable, such as a script or extension, get in touch!

Languages

Among all the languages we currently support on Weblate a fair amount are likely to contain only old translations and not have any recent activity, and not all projects are available for all languages yet. You can find out more by clicking on the desired language; projects supporting the language will be listed on the “Projects” tab and activity data on the “Information” tab.

If a language is not available at all or your language is not available for the project you want to translate, just ask for it on the “Internationalization” community forum category.

To help with coordinating translations in the same language, you can use Weblate glossaries and comments, the MetaBrainz community forums (see below questions or problems), and/or a wiki page (create one if missing):

Beyond translation

Forums

Discourse’s user interface is localized.

  • The few topics written in a language other than English can use tags such as de for Deutsch (German). A separate selector is available and language names are localized using the Multilingual plugin.
    There is a topic about making this practice official.
  • Pinned welcome topics are not localized, the same topic as above is also about localizing welcome topics.
  • Category titles are now localized using the Multilingual plugin.
  • Some semi-static texts are not localized. It could be implemented in Multilingual Plugin if anyone feel up to coding for this Ruby project.
  • Content is not translated. The Translator plugin could be considered.
  • The ListenBrainz plugin can be translated in the project Discourse ListenBrainz on the MetaBrainz Weblate translation platform.

Tickets

Jira’s user interface is localized.

Note that the content doesn’t have to be localized since English is the work language for the MetaBrainz team. (Tickets reported in another language would probably be translated in English and replied in both languages.)

Wiki

MediaWiki’s user interface is localized but not the content, which is generally assumed to be in English (with a few exceptions such as language translation project pages).

We gave up using the Content translation tool due to incompatibilities at that time and inability to ensure consistency with other translations unless using Translate extension instead of Transifex or Weblate; See comments to jira:OTHER-350 for details.

Translation platform

Weblate’s user interface itself is localized.

Questions or problems

To discuss about:

To report problems:

For more real-time interactive conversation with developers, you’re welcome to ask in the #metabrainz IRC channel.