Skip to content

Localization Guide

jphannifan edited this page Jun 9, 2024 · 6 revisions

Translating X1Plus

We added a new feature to X1Plus in version 1.1 that enables adding new language options as well as updating translations from existing language options. On top of all of this, translations are provided by the community through Crowdin, a cloud-based localization software with Github integration.

In just a couple of weeks, our users have fully translated our UI in Russian, Japanese, Portuguese, Turkish and Spanish! By signing up for an account with Crowdin, anyone can contribute translations in their native language. Please follow the link below to get started:

https://crowdin.com/project/X1Plus

User Interface

Our language options are available in the same menu as Bambu's language options. Open the tab 'General' and below 'Device' click on 'Language'.

image

Adding a new language option to the X1

Because new languages must still be manually added to the UI by modifying code, we do not yet have a fully automated localization workflow. To inquire about updating X1Plus with a new language option, please reach out to the X1Plus team on Discord or Github. The minimum requirement for adding a new language to the UI is that at least 90% of the strings in base.ts are translated and approved (see below).

Translation on Crowdin

Once you sign up for a free account on Crowdin, navigate to the X1Plus project page. If the language you wish to translate is not available, please notify the X1Plus team on Discord, Github, or respond to this discussion on Crowdin. Crowdin offers translation services in over 100 languages. See Crowdin languages for more information.

Files

All of the text for the X1's OEM firmware and for X1Plus are included in the project's Qt resource bundles in .ts files, which are "human readable" XML files. Crowdin provides a web interface for editing these files directly, and it stores a separate set of .ts files for each language that we translate the project.

Description
base.ts Holds a majority of the UI text
error_texts.ts Contains error message strings HMS homepage
hms_texts.ts Contains HMS message strings HMS homepage

Viewing Progress

Translation progress is measured by Crowdin by the number of strings that require translation versus strings that are already translated. Open the Crowdin dashboard, select a language, and expand the details to view the statistics.

image

Approval of Translations

All translations submitted on Crowdin must be approved by the X1Plus team before they appear in the UI. Translations will not appear in the firmware until they are approved! We are not always able to approve translations on a rapid timeframe, and we are looking for users who are interested in helping us moderate. Please join this discussion to get involved.

image

Expanding the details for a language on the Crowdin dashboard reveals statistics about overall progress and translations that have been flagged by the automatic QA checks. Although we have 74% of the strings translated in the example above, only 12% (or the approved translations) will appear in X1Plus. We must resolve 741 QA issues before these can be approved.

Flagging incorrect translations

Since our translations are provided by the community, we also rely on the community to flag incorrect or inappropriate translations. Translations may be flagged on Crowdin before they're approved to be imported into X1Plus. If you find a translation in an official release of X1Plus that you believe is erroneous or is unclear, please confirm the context of this translation before submitting a correction on Crowdin.

The following are examples of translation errors that require correction:

  • Incorrect translation
  • Incorrect spelling
  • Formatting errors

Welcome to the X1Plus wiki!

Perhaps you would like to read:

Or perhaps you would just like to download the latest release?

Clone this wiki locally