HMCL icon indicating copy to clipboard operation
HMCL copied to clipboard

[Feature] Arabic

Open Hommam-Prom opened this issue 3 months ago • 34 comments

概述 | Summary

Available in the description

原因 | Reason

Available in the description

详情 | Description

Dear HMCL Team,

My name is Hommam, I am of Arab origin, and my native language is Arabic. I would like to contribute to translating your launcher into Arabic.

I am writing because I am very passionate about your launcher and wish to contribute to its development while also gaining experience. My goal is to make the launcher accessible to a larger audience worldwide, especially among Arab Minecraft players, whose numbers are significant.

I have already started working on the translation project, but I would like to receive official approval to ensure that my translation will be officially used and not go to waste.

I hope you will trust my translation and my commitment to putting significant effort into it. I also intend to perform regular revisions, correct errors as much as possible, and keep the translation up-to-date with future updates of your amazing launcher.

If you approve my contribution offer, please inform me of the steps I should follow after completing my translation.

Sincerely, Hommam

Hommam-Prom avatar Oct 07 '25 23:10 Hommam-Prom

There's no language maintainer for Arabic yet. If this Feature is approved, a volunteer must be selected to check all translations as documented here (It's in Simplified Chinese, please use LLM translation tools).

Another issue is that Arabic, a language written from right to left, forces all hardcoded layouts to be adjust, including moving sidebar from left to right, updating text alignments and numerous other related changes. However, as I have limited knowledge on Arabic (Most of them are from Wikipedia), I'm not sure whether these layout modification are necessary for users to clearly view the page.

Personally, I have no plan to adjust these codes for the time being. HMCL now mainly targets at users in China Mainland (Simplified Chinese), China Hongkong / Macao / Taiwan (Traditional Chinese) and English (For all international users). Supporting a new language might be risky as I don't know the number of HMCL Arabic users.

More discussion should be made before making any changes.

burningtnt avatar Oct 08 '25 02:10 burningtnt

setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT); 似乎可以直接应用 RTL 布局,不知道这样布局对不对

Image Image Image Image

CiiLu avatar Oct 08 '25 02:10 CiiLu

setNodeOrientation(NodeOrientation.RIGHT_TO_LEFT); 似乎可以直接应用 RTL 布局,不知道这样布局对不对

HOLY SHIT.

burningtnt avatar Oct 08 '25 02:10 burningtnt

There's still a few layout problems, as JFoneix cannot handle NodeOrientation correctly to layout popups.

burningtnt avatar Oct 08 '25 02:10 burningtnt

Thank you for your contribution to this suggestion. At least for now, I don't think the emulator requires a redesign to ensure a clean Arabic interface. If necessary, we can release a beta version of the launcher using Arabic.

Hommam-Prom avatar Oct 08 '25 17:10 Hommam-Prom

@HommamPro hello.

I believe that the maintainer of this project is already investigating this feature.

I recommend you rename the completed language file to I18N_ar.properties and place it in the same directory as I18N.properties. Then submit a pull request to this repository — if you've already finished or are nearly done.

This will make it easier for maintainers to develop this feature.

At the same time, I strongly recommend you read the document written by the maintainer that burningtnt mentioned above: https://github.com/HMCL-dev/HMCL/blob/main/docs/Localization_zh.md

Unfortunately, this document is currently only available in Simplified Chinese. You can use your preferred LLM tool to read it.

A tip: I recommend creating a new branch in your own fork repository and submitting a pull request to this repository using that branch. This makes subsequent maintenance easier.

3gf8jv4dv avatar Oct 08 '25 17:10 3gf8jv4dv

I have finally finished the translation successfully, thanks to God. I hope there are no mistakes. I am ready to fix any problems or make future updates to this translation.

arabic_lang.zip

Hommam-Prom avatar Nov 15 '25 17:11 Hommam-Prom

@HommamPro DO NOT open a new issue if one has existed! If you continue doing so, you will be marked as spam and blocked on GitHub permantly.

burningtnt avatar Nov 16 '25 02:11 burningtnt

Bro, what did I do to deserve this? All I wanted was to contribute to the launcher translation, but I don't know how to access the project myself. I hope Arabic will be available in the next update.

Hommam-Prom avatar Nov 16 '25 15:11 Hommam-Prom

@HommamPro

Sorry, but they simply want to consolidate all relevant discussions into a single issue — namely, this one.

The primary maintainer and developer, @Glavo, is currently occupied with addressing other issues in HMCL.

Maybe we should ask for his/her opinion to understand the current priority for Arabic language support.

3gf8jv4dv avatar Nov 16 '25 15:11 3gf8jv4dv

Ohh ok, i'm here anytime, God willing.

Hommam-Prom avatar Nov 16 '25 15:11 Hommam-Prom

Can you give me the Discord link for the launcher?

Hommam-Prom avatar Nov 16 '25 15:11 Hommam-Prom

Can you give me the Discord link for the launcher?

The link can be found on the “Settings > Feedback” page of the HMCL application.

However, I should remind you that the primary maintainers and developers of HMCL are not currently active on Discord—they primarily use Tencent QQ, which is popular in mainland China.

The HMCL Discord server is currently maintained and moderated by other active community members and has a significant number of international users. If you'd like to participate in discussions, you're welcome to join.

3gf8jv4dv avatar Nov 16 '25 15:11 3gf8jv4dv

Is it really that difficult to submit my personal edits? What ever, thank u

Hommam-Prom avatar Nov 16 '25 16:11 Hommam-Prom

Is it really that difficult to submit my personal edits?

Do you mean to submit an updated Arabic translation?

Before the maintainer responds, I suggest you add the date and time of your edit to the filename of the new .zip file before submitting each updated translation. Then submit it to this issue/topic. This way, the maintainer can immediately locate the latest translation.

3gf8jv4dv avatar Nov 16 '25 16:11 3gf8jv4dv

We are currently occupied with other matters. Due to my limited energy, some things may be temporarily put on hold, and we sincerely apologize for any inconvenience this may cause.

For us, supporting Arabic requires learning more new knowledge and involves considerable work, so it is not a high-priority item.

My idea is that we can merge the translation you provided into the mainline for maintenance in the near future, so that we can keep it synchronized with other translations.

Even if we may not be able to translate new texts in a timely manner, we can update the Arabic translations in sync when renaming or refactoring, and we can also delete outdated translations to ensure that it can fall back to English and avoid causing misunderstandings.

However, I do not want to provide it to Arabic-speaking users by default. I want it to be in experimental mode, which must be enabled through specific options or environment variables.

As far as I know, simply providing translations is not enough to support Arabic. We need to adjust the UI layout, flip some buttons and animations to fit the RTL language. Furthermore, handling bidirectional text reordering is also challenging for us, as I have no experience in this area. I don't want to provide immature support to users by default, as this could cause them trouble.


Is it really that difficult to submit my personal edits?

As for how to contribute to this project, for your initial contribution, I can submit it on your behalf. But I hope you can learn about GitHub's Pull Request feature, which is the standard practice for submitting contributions to projects on GitHub. This is its documentation: About pull requests. Using a standardized contribution process facilitates communication for everyone.

Glavo avatar Nov 16 '25 17:11 Glavo

Thank you for contacting me and I hope I haven't caused any inconvenience. Well, it's good to at least try to integrate the Arabic language, even if only initially, and I hope it will become a basic language like the other languages ​​supported in the luancher. I will try to find out how to request a withdrawal in order to make the work easier. Thanks again.

Hommam-Prom avatar Nov 16 '25 18:11 Hommam-Prom

hello, can you tell me the way i can test the Arabic language myself ?? If that's possible of course, so that I can conduct continuous testing and fix errors

Hommam-Prom avatar Nov 18 '25 23:11 Hommam-Prom

hello, can you tell me the way i can test the Arabic language myself ??

You only need to provide the I18N.properties file and place it in the appropriate location (as done in #4810), then build HMCL as described in Building.md, which will automatically include support for Arabic.

Launch the HMCL you built, and if your system locale is set to Arabic, HMCL will automatically select Arabic. Otherwise, you can switch the language to Arabic in "Settings -> General -> Language".

However, as mentioned earlier, using RTL languages in HMCL currently causes a crash at startup. We need some code fixes to make it work.

Glavo avatar Nov 19 '25 07:11 Glavo

hello, good news.

Image Image Image Image Image

i downloaded version 3.7.5 as a JAR file, opened it using WinRAR, and then modified the I18N_uk.properties file, placing my Arabic language code inside it. To my surprise, it worked without any problems, as shown in the image. No errors or crashes. It's true that the player layout needs to be changed to be right-to-left, but as a start, this is good.

Hommam-Prom avatar Nov 21 '25 15:11 Hommam-Prom

i downloaded version 3.7.5 as a JAR file, opened it using WinRAR, and then modified the I18N_uk.properties file, placing my Arabic language code inside it. To my surprise, it worked without any problems, as shown in the image. No errors or crashes. It's true that the player layout needs to be changed to be right-to-left, but as a start, this is good.

In fact, HMCL is capable of handling various languages, including Arabic, provided the font supports it. This issue primarily concerns RTL support.

WhatDamon avatar Nov 21 '25 19:11 WhatDamon

Currently, it works perfectly for me, and I intend to provide a continuous update for the Arabic language if future support for RTL languages ​​becomes available.

Hommam-Prom avatar Nov 21 '25 20:11 Hommam-Prom

i downloaded version 3.7.5 as a JAR file, opened it using WinRAR, and then modified the I18N_uk.properties file, placing my Arabic language code inside it. To my surprise, it worked without any problems, as shown in the image. No errors or crashes. It's true that the player layout needs to be changed to be right-to-left, but as a start, this is good.

I did some further investigation. The crash appears to be platform-related: it occurs when I run it on Kubuntu, but not on Windows.

Glavo avatar Nov 23 '25 12:11 Glavo

I have merged #4837, and you will be able to get it in the next dev version (unless there are unexpected changes, its version number will be 3.9.0.311).

However, due to a critical issue that causes HMCL to crash, HMCL will not display the Arabic translation by default for Arabic users, nor will users be able to set the language to Arabic in the settings page. If you want to use this translation, you should set the environment variable HMCL_LANGUAGE to ar before starting HMCL.

Glavo avatar Nov 23 '25 13:11 Glavo

Will there be an option to change the language from the settings in the future?

Hommam-Prom avatar Nov 23 '25 14:11 Hommam-Prom

Will there be an option to change the language from the settings in the future?

This may require waiting until Glavo or someone else resolves this crash issue.

Note that after setting the environment variable, the language option in HMCL settings must be set to “Use System Locales” (استخدام إعدادات النظام المحلية) for the change to take effect.

3gf8jv4dv avatar Nov 23 '25 16:11 3gf8jv4dv

I hope that will come soon, and I hope that you will not face great difficulties in that.

Hommam-Prom avatar Nov 23 '25 21:11 Hommam-Prom

For your information, many Arabs don't use Arabic as the default language on their devices. Even I used to use French and then English before I recently started using Arabic.

Hommam-Prom avatar Nov 23 '25 22:11 Hommam-Prom

Hello, I noticed that version 3.9.0.311 was recently released, but I can't find Arabic available. Are there any additional steps I need to take? And will the language be officially available soon?

Image Image Image

Hommam-Prom avatar Nov 30 '25 21:11 Hommam-Prom

I apologize for the great pressure I have caused over the past few days, but I feel it is my duty to contribute to supporting the Arabic language.

Hommam-Prom avatar Nov 30 '25 21:11 Hommam-Prom