Modify

Opened 21 months ago

Closed 21 months ago

Last modified 3 months ago

#18856 closed enhancement (fixed)

arabic language

Reported by: aat765 Owned by: team
Priority: major Milestone: 20.03
Component: Core Version:
Keywords: arabic i18n Cc: simon04

Description

I translated josm into Arabic at launchpad, when will the language be entered into josm?

Attachments (0)

Change History (34)

comment:1 Changed 21 months ago by stoecker

See [o35350], add ar to i18n script.

comment:2 Changed 21 months ago by stoecker

In 16029/josm:

see #18856 - reactivate arabic language

comment:3 Changed 21 months ago by stoecker

Awesome amount of work. Thanks.

You (or someone else) introduced some errors:

     [exec] JAVA translation issue for language ar: Mismatching single quotes:
     [exec] Translated text: أنت على وشك دمج البيانات بين الطبقات '' {0} '' و '' {1} ''. <br /> <br /> هذه الطبقات لها سياسات تحميل مختلفة ويجب عدم دمجها كما هي. <br /> سيؤدي دمجها إلى تطبيق السياسة الأكثر صرامة (الرفع غير مستحسن) إلى '' {1} ''. <br /> <br /> <b> ليست هذه هي الطريقة الموصى بها لدمج هذه البيانات </ b>. <br /> يجب عليك بدلاً من ذلك فحص ودمج كل عنصر، واحداً تلو الآخر ، باستخدام '' <i> تحديد دمج </ i> '. <br /> <br /> هل أنت متأكد من رغبتك في المتابعة؟
     [exec] Original text: You are about to merge data between layers ''{0}'' and ''{1}''.<br /><br />These layers have different upload policies and should not been merged as it.<br />Merging them will result to enforce the stricter policy (upload discouraged) to ''{1}''.<br /><br /><b>This is not the recommended way of merging such data</b>.<br />You should instead check and merge each object, one by one, by using ''<i>Merge selection</i>''.<br /><br />Are you sure you want to continue?
     [exec] JAVA translation issue for language ar: Mismatching single quotes:
     [exec] Translated text: 'لا' منطقي
     [exec] Original text: logical not
     [exec] JAVA translation issue for language ar: Mismatching single quotes:
     [exec] Translated text: لا تحتوي علامة wikipedia على لغة معينة ، استخدم "wikipedia" '=' 'language: page title' '
     [exec] Original text: wikipedia tag has no language given, use ''wikipedia''=''language:page title''
     [exec] JAVA translation issue for language ar: Mismatching single quotes:
     [exec] Translated text: {0} = {1} غير محدد. الرجاء استبدال "" {1} '' بـ "'يسار" "،" يمين "" أو "كلاهما".
     [exec] Original text: {0}={1} is unspecific. Please replace ''{1}'' by ''left'', ''right'' or ''both''.

comment:4 Changed 21 months ago by aat765

i did fix the errors, Thank you for this fast response.

comment:5 Changed 21 months ago by stoecker

Resolution: fixed
Status: newclosed

In 16030/josm:

fix #18856 - add ar translations

comment:6 Changed 21 months ago by stoecker

Arabic version should be available with tomorrows latest version.

NOTE: that you may want to translate StartupPageSource as well for the start messages.

comment:7 Changed 21 months ago by Don-vip

Keywords: arabic i18n added
Priority: normalmajor
Type: defectenhancement

comment:8 in reply to:  description ; Changed 21 months ago by Don-vip

Replying to abdullah abdulrhman <h6-7@…>:

I translated josm into Arabic at launchpad

You did it alone? This is incredible, thank you so much!

comment:9 Changed 21 months ago by Don-vip

Milestone: 20.03

comment:10 in reply to:  8 Changed 21 months ago by aat765

Replying to Don-vip:

Replying to abdullah abdulrhman <h6-7@…>:

I translated josm into Arabic at launchpad

You did it alone? This is incredible, thank you so much!

you are welcome and yes, almost all translations have been done by me and i'll use the app and back to translations to make sure it is correct.

comment:11 Changed 21 months ago by Don-vip

Should we do something regarding numerals? As far as I understand, using Arabic language in JOSM keeps the common "Western Arabic numerals" (wikipedia:Arabic_numerals), which is correct for most countries. Should we switch to "Eastern Arabic numerals" (wikipedia:Eastern_Arabic_numerals) when JOSM is in Arabic and we detect particular countries? Are there arabic-speaking countries where only eastern numerals are being used? It's possible to switch using a locale extension: https://stackoverflow.com/a/29155743/2257172

comment:12 in reply to:  11 ; Changed 21 months ago by aat765

Replying to Don-vip:

Should we do something regarding numerals? As far as I understand, using Arabic language in JOSM keeps the common "Western Arabic numerals" (wikipedia:Arabic_numerals), which is correct for most countries. Should we switch to "Eastern Arabic numerals" (wikipedia:Eastern_Arabic_numerals) when JOSM is in Arabic and we detect particular countries? Are there arabic-speaking countries where only eastern numerals are being used? It's possible to switch using a locale extension: https://stackoverflow.com/a/29155743/2257172

eastern Arabic numerals and western Arabic numerals both used in Arabic countries and they know it and understand it but the official for writing system is:
western Arabic numerals (0123456789) is used mostly for the Arab countries in Africa
eastern Arabic numerals (۰ ۱ ۲ ۳ ٤ ٥ ٦ ٧ ۸ ۹)is used mostly for the Arab countries in Asia

and here a list of i did it for you from my information:

western Arabic numerals :
Comoros
Djibouti
Mauritania
Palestine
Libya
Tunisia
Somalia
Morocco
Sudan
Algeria

eastern Arabic numerals:
Bahrain
Qatar
Kuwait
Oman
Lebanon
United Arab Emirates
Jordan
Syria
Yemen
Saudi Arabia
Iraq
Egypt

comment:13 in reply to:  12 ; Changed 21 months ago by Don-vip

Replying to aat765:

and here a list of i did it for you from my information:

Thank you! I have two possibilities in bcp47 to add Arabic-Indic digits:

            <type name="arab" description="Arabic-Indic digits"/>
            <type name="arabext" description="Extended Arabic-Indic digits"/>

Do you know the difference between the two?

comment:14 Changed 21 months ago by Don-vip

This is the output I get in logs when forcing eastern Arabic numerals (tested by starting JOSM with --language=ar_BH):

٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٣٥٨ FINE: تنزيل البيانات ...
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٢٧ FINE: تهيئة بيانات الحدود الداخلية يكتمل في ١٫٠ s
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: تهيئة بيانات المرور الداخلية
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: Initializing numbering format
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: تهيئة المدقق
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: Initializing numbering format يكتمل في ٠ ms
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: التهيئة المسبقة
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: تهيئة OSM API
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٤٣ FINE: تهيئة OSM API يكتمل في ٠ ms
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٤٣ FINE: تهيئة أنماط الخريطة
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٨٣ FINE: تهيئة المدقق يكتمل في ٤٤ ms

Is it the expected output for countries where eastern numerals are official?

comment:15 in reply to:  13 Changed 21 months ago by aat765

Replying to Don-vip:

Replying to aat765:

and here a list of i did it for you from my information:

Thank you! I have two possibilities in bcp47 to add Arabic-Indic digits:

            <type name="arab" description="Arabic-Indic digits"/>
            <type name="arabext" description="Extended Arabic-Indic digits"/>

Do you know the difference between the two?

no

comment:16 in reply to:  14 Changed 21 months ago by aat765

Replying to Don-vip:

This is the output I get in logs when forcing eastern Arabic numerals (tested by starting JOSM with --language=ar_BH):

٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٣٥٨ FINE: تنزيل البيانات ...
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٢٧ FINE: تهيئة بيانات الحدود الداخلية يكتمل في ١٫٠ s
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: تهيئة بيانات المرور الداخلية
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: Initializing numbering format
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: تهيئة المدقق
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: Initializing numbering format يكتمل في ٠ ms
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: التهيئة المسبقة
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٣٩ FINE: تهيئة OSM API
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٤٣ FINE: تهيئة OSM API يكتمل في ٠ ms
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٤٣ FINE: تهيئة أنماط الخريطة
٢٠٢٠-٠٣-٠٩ ٢٣:٣٨:٤٥.٦٨٣ FINE: تهيئة المدقق يكتمل في ٤٤ ms

Is it the expected output for countries where eastern numerals are official?

yes

comment:17 Changed 21 months ago by Don-vip

In 16109/josm:

see #18856 - override numbering format as follows:

  • Eastern Arabic(-Indic) numerals if Arabic language is used in Bahrain, Qatar, Kuwait, Oman, Lebanon, United Arab Emirates, Jordan, Syria, Yemen, Saudi Arabia, Iraq, Egypt
  • Khmer numerals if Khmer language is used in Cambodge

comment:18 Changed 21 months ago by stoecker

What is 'Espaces?'

If you make such a change you also need to give users a chance to override this in the prefs.

comment:19 Changed 21 months ago by stoecker

Also: Did you test BugReports? They will be useless with non-latin numbers.

comment:20 in reply to:  18 Changed 21 months ago by Don-vip

Replying to stoecker:

What is 'Espaces?'

Escapes with a huge typo :D

If you make such a change you also need to give users a chance to override this in the prefs.

Yep.

Also: Did you test BugReports? They will be useless with non-latin numbers.

Nop, testing it right now.

comment:21 Changed 21 months ago by Don-vip

This is a bug report when eastern arabic numerals are used:

Revision:16110
Is-Local-Build:true
Build-Date:2020-03-10 23:28:12

Identification: JOSM/1.5 (16110 SVN ar) Windows 10 64-Bit
OS Build number: Windows 10 Pro 1903 (18362)
Memory Usage: 214 MB / 4088 MB (87 MB allocated, but free)
Java version: 13.0.2+8, AdoptOpenJDK, OpenJDK 64-Bit Server VM
Screen: \Display0 1920x1080, \Display1 1920x1080
Maximum Screen Size: 1920x1080
VM arguments: [-ea, -Dfile.encoding=UTF-8]
Program arguments: [--debug, --language=ar_BH]

Latin numbers everywhere, I guess we're using English locale in a lot of places?

comment:22 Changed 21 months ago by Don-vip

In 16111/josm:

see #18856 - allow to disable numbering format overriding with advanced property "override.numbering.format"

comment:23 Changed 21 months ago by aat765

we have test the arabic interface and we have lag if we use it for a while.

comment:24 Changed 8 months ago by Don-vip

Cc: simon04 added

Thank to every Arabic speaker who keeps translating JOSM!
There's an issue in latest translations, example:
https://translations.launchpad.net/josm/trunk/+pots/josm/ar/+translate?batch=10&show=all&search=You+are+about+to+delete+%7B0%7D+relation

The {0} part has not been kept in all translations, it should be. Can anyone understanding Arabic please fix it?

Complete list of errors:

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: إضافة تحديد إلى علاقة واحدة
     [exec] Original text: Add selection to {0} relation

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: إضافة تحديد إلى علاقتين
     [exec] Original text: Add selection to {0} relation

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: إضافة عنصر واحد
     [exec] Original text: Added {0} object

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: إضافة عنصرين
     [exec] Original text: Added {0} object

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: ضم طريق واحد
     [exec] Original text: Combine {0} way

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: ضم طريقين
     [exec] Original text: Combine {0} way

     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: حذف "{0}" لـ لا عنصر
     [exec] Original text: Remove "{0}" for {1} object

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: حذف "{0}" لعنصر واحد
     [exec] Original text: Remove "{0}" for {1} object

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: حذف "{0}" لعنصرين
     [exec] Original text: Remove "{0}" for {1} object

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: جاري البحث في عنصر واحد
     [exec] Original text: Searching in {0} object

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: جاري البحث في عنصرين
     [exec] Original text: Searching in {0} object

     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: تحديد {0}={1} للا عنصر
     [exec] Original text: Set {0}={1} for {2} object

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: تحديد {0}={1} لعنصر واحد
     [exec] Original text: Set {0}={1} for {2} object

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: تحديد {0}={1} لعنصرين
     [exec] Original text: Set {0}={1} for {2} object

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: رفع <strong>عنصرين</strong> إلى <strong>مجموعة تغييرات واحدة</strong> باستخدام <strong>طلب واحد</strong>
     [exec] Original text: Uploading <strong>{0} object</strong> to <strong>1 changeset</strong> using <strong>1 request</strong>

     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: أنت على وشك حذف لا علاقة: {1}<br/> نادراً ما تكون هذه الخطوة ضرورية ولا يمكن التراجع عنها بسهولة بعد تحميلها إلى الخادم.<br/> هل تريد حقا الحذف؟
     [exec] Original text: You are about to delete {0} relation: {1}<br/>This step is rarely necessary and cannot be undone easily after being uploaded to the server.<br/>Do you really want to delete?

     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: أنت على وشك حذف علاقة واحدة: {1}<br/> نادراً ما تكون هذه الخطوة ضرورية ولا يمكن التراجع عنها بسهولة بعد تحميلها إلى الخادم.<br/> هل تريد حقا الحذف؟
     [exec] Original text: You are about to delete {0} relation: {1}<br/>This step is rarely necessary and cannot be undone easily after being uploaded to the server.<br/>Do you really want to delete?

     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: أنت على وشك حذف علاقتين: {1}<br/> نادراً ما تكون هذه الخطوة ضرورية ولا يمكن التراجع عنها بسهولة بعد تحميلها إلى الخادم.<br/> هل تريد حقا الحذف؟
     [exec] Original text: You are about to delete {0} relation: {1}<br/>This step is rarely necessary and cannot be undone easily after being uploaded to the server.<br/>Do you really want to delete?

comment:25 Changed 8 months ago by hubaishan@…

Arabic has 6 plural rules first three of them (0,1,2) does not need the number to be in the translation. So code not need to check all format entries in Arabic plural translation.

to see explanation of this see https://arabeyes.org/Plural_Forms

If we put the number it will be ugly Arabic text.

comment:26 Changed 8 months ago by Don-vip

OK, thanks, I didn't know the plural rules of Arabic.

@Dirk are you sure we shouldn't adapt the script that checks for translation issues?

comment:27 Changed 8 months ago by stoecker

"Ugly Arabic" text is relative. The same effect applies to many other languages, where e.g. 1 is also one of the plurals, so you could write e.g. Ein Haus and {0} Häuser for {0} house/{0} houses in German, nevertheless we use the form {0} Haus. In most languages there is also a slight semantic difference between the numbered form and the textual form, e.g. in German 1 Haus and Ein Haus are nearly the same, but not exactly. And all these languages follow the established rules.

I'm pretty sure that Arabic also supports text forms which include the numbers directly instead of using textual description. In most cases in the software the fact that a number is displayed as a number also tells the user not only the number itself, but also the fact that there could be different numbers - the textual form doesn't do this.

If I'm wrong about Arabic I'd fix the i18n tester (which I doubt, as there are already other Arabic trn() translations), otherwise please fix the strings.

comment:28 Changed 7 months ago by stoecker

I changed the check script, so that arabic plurals 1,2 and 3 can leave out a single {0}.

For texts with more complex the replacements the sanity checks will remain in place as they are for any other language. I'll clean up the translations by removing the broken texts if not fixed, so our is not overflooded with issues.

     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: كرر لا نقطة إلى {1} نقطة
     [exec] Original text: Dupe {0} node into {1} nodes
     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: كرر نقطة واحدة إلى {1} نقطة
     [exec] Original text: Dupe {0} node into {1} nodes
     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: كرر نقطتين إلى {1} نقطة
     [exec] Original text: Dupe {0} node into {1} nodes
     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: حذف "{0}" لـ لا عنصر
     [exec] Original text: Remove "{0}" for {1} object
     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: حذف "{0}" لعنصر واحد
     [exec] Original text: Remove "{0}" for {1} object
     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: حذف "{0}" لعنصرين
     [exec] Original text: Remove "{0}" for {1} object
     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: تحديد {0}={1} للا عنصر
     [exec] Original text: Set {0}={1} for {2} object
     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: تحديد {0}={1} لعنصر واحد
     [exec] Original text: Set {0}={1} for {2} object
     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: تحديد {0}={1} لعنصرين
     [exec] Original text: Set {0}={1} for {2} object
     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: أنت على وشك تبسيط  لا طريق بطول إجمالي يبلغ {1}.
     [exec] Original text: You are about to simplify {0} way with a total length of {1}.
     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: أنت على وشك تبسيط  طريق واحد بطول إجمالي يبلغ {1}.
     [exec] Original text: You are about to simplify {0} way with a total length of {1}.
     [exec] JAVA translation issue for language ar (3): Mismatching format entries:
     [exec] Translated text: أنت على وشك تبسيط  طريقين بطول إجمالي يبلغ {1}.
     [exec] Original text: You are about to simplify {0} way with a total length of {1}.
     [exec] JAVA translation issue for language ar (1): Mismatching format entries:
     [exec] Translated text: {0} يتكون من لا علامة
     [exec] Original text: {0} consists of {1} marker
     [exec] JAVA translation issue for language ar (2): Mismatching format entries:
     [exec] Translated text: {0} يتكون من علامة واحدة
     [exec] Original text: {0} consists of {1} marker

comment:29 Changed 7 months ago by Don-vip

Thanks Dirk! :)

comment:30 Changed 7 months ago by hubaishan

translation updated

comment:31 Changed 7 months ago by Don-vip

And the i18n build is finally back to stable, thanks guys! jenkins/job/JOSM-i18n/2122/

Last edited 3 months ago by stoecker (previous) (diff)

comment:32 Changed 3 months ago by aat765

I have fully reviewed, updated and completed all Arabic translations, and if there are any comments or issues please let me know

comment:33 in reply to:  32 Changed 3 months ago by stoecker

Replying to aat765:

I have fully reviewed, updated and completed all Arabic translations, and if there are any comments or issues please let me know

I don't know if before or after your review, but there are 10 warnings for Arabic language:

jenkins/job/JOSM-i18n/2224/parsed_console/

As far as I can see these are all errors with the double quotes (note: for Java '' means output ').

Last edited 3 months ago by stoecker (previous) (diff)

comment:34 Changed 3 months ago by aat765

Thank you for that, I fixed all these problems in all translation texts.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted.

Add Comment


E-mail address and name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.