diff --git a/app/build.gradle b/app/build.gradle index 7a6b9203..7aa7a5b3 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -12,7 +12,7 @@ android { applicationId "jwtc.android.chess" minSdkVersion 24 targetSdkVersion 36 - resourceConfigurations += ['en', 'zh', 'it', 'pt', 'es', 'ru', 'de', 'fr', 'tr', 'ro'] + resourceConfigurations += ['en', 'zh', 'it', 'pt', 'es', 'ru', 'de', 'fr', 'tr', 'ro', 'ar'] // place correct redirectScheme~ manifestPlaceholders = [appAuthRedirectScheme: 'jwtc.android.chess'] } diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 5e99c014..d786f7f2 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,7 @@ android:label="@string/app_name" android:theme="@style/ChessTheme" android:banner="@drawable/ic_feature" + android:supportsRtl="true" android:enableOnBackInvokedCallback="false" android:resizeableActivity="true"> diff --git a/app/src/main/res/layout-land/random_fischer.xml b/app/src/main/res/layout-land/random_fischer.xml index 000f0655..8dbf02f1 100644 --- a/app/src/main/res/layout-land/random_fischer.xml +++ b/app/src/main/res/layout-land/random_fischer.xml @@ -95,7 +95,7 @@ android:id="@+id/ButtonSetupOptionsCancel" android:text="@string/button_cancel" android:layout_width="wrap_content" - android:layout_marginRight="2dp" + android:layout_marginEnd="2dp" style="@style/ChessButton" /> diff --git a/app/src/main/res/layout/chessboard_prefs_controls.xml b/app/src/main/res/layout/chessboard_prefs_controls.xml index 883213c9..de395ac4 100644 --- a/app/src/main/res/layout/chessboard_prefs_controls.xml +++ b/app/src/main/res/layout/chessboard_prefs_controls.xml @@ -58,8 +58,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> @@ -102,14 +102,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> @@ -119,14 +119,14 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> diff --git a/app/src/main/res/layout/full_pgn.xml b/app/src/main/res/layout/full_pgn.xml index 3c31a249..34e84e1e 100644 --- a/app/src/main/res/layout/full_pgn.xml +++ b/app/src/main/res/layout/full_pgn.xml @@ -21,7 +21,7 @@ + android:gravity="end"> @@ -113,8 +113,8 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="8dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" android:minLines="2" android:accessibilityLiveRegion="none" /> diff --git a/app/src/main/res/layout/gameslist_filters.xml b/app/src/main/res/layout/gameslist_filters.xml index d5163733..b610928f 100644 --- a/app/src/main/res/layout/gameslist_filters.xml +++ b/app/src/main/res/layout/gameslist_filters.xml @@ -140,7 +140,7 @@ android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" - android:layout_marginRight="8dip" + android:layout_marginEnd="8dip" android:hint="Order by" /> + android:layout_gravity="end"> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> diff --git a/app/src/main/res/layout/ics_board_bottom.xml b/app/src/main/res/layout/ics_board_bottom.xml index 431fe653..1ef12b57 100644 --- a/app/src/main/res/layout/ics_board_bottom.xml +++ b/app/src/main/res/layout/ics_board_bottom.xml @@ -13,8 +13,8 @@ android:id="@+id/ImageBottomTurn" android:layout_height="wrap_content" android:layout_width="wrap_content" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip"> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip"> + android:layout_marginStart="8dip" /> + android:layout_marginStart="3dip" /> + android:layout_marginEnd="5dp" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip"> + android:layout_marginStart="8dip" /> + android:layout_marginStart="3dip" /> diff --git a/app/src/main/res/layout/ics_client.xml b/app/src/main/res/layout/ics_client.xml index d463e624..c7386875 100644 --- a/app/src/main/res/layout/ics_client.xml +++ b/app/src/main/res/layout/ics_client.xml @@ -15,7 +15,7 @@ android:layout_alignParentBottom="true" android:layout_width="match_parent" android:layout_height="wrap_content" - android:paddingLeft="4dip" + android:paddingStart="4dip" android:stretchColumns="1"> diff --git a/app/src/main/res/layout/ics_game_row.xml b/app/src/main/res/layout/ics_game_row.xml index c1fffa25..282bf642 100644 --- a/app/src/main/res/layout/ics_game_row.xml +++ b/app/src/main/res/layout/ics_game_row.xml @@ -11,8 +11,8 @@ + android:paddingStart="4dip" + android:paddingEnd="4dip"> + android:paddingStart="4dip" + android:paddingEnd="4dip"> diff --git a/app/src/main/res/layout/ics_match.xml b/app/src/main/res/layout/ics_match.xml index 8b8a7bda..6209f7ca 100644 --- a/app/src/main/res/layout/ics_match.xml +++ b/app/src/main/res/layout/ics_match.xml @@ -20,7 +20,7 @@ android:text="@string/ics_seekseek" style="@style/MyHeaderTextStyle" android:id="@+id/RadioButtonSeek" - android:paddingRight="30dp" /> + android:paddingEnd="30dp" /> + android:layout_marginEnd="30dp" /> @@ -19,7 +19,7 @@ android:textSize="16sp" android:layout_width="wrap_content" android:layout_margin="2dp" - android:layout_toRightOf="@+id/text_rating" + android:layout_toEndOf="@+id/text_rating" android:layout_alignParentTop="true" android:text="name" android:padding="2dp" diff --git a/app/src/main/res/layout/ics_seek_row.xml b/app/src/main/res/layout/ics_seek_row.xml index 1a9cb85b..bbc2c052 100644 --- a/app/src/main/res/layout/ics_seek_row.xml +++ b/app/src/main/res/layout/ics_seek_row.xml @@ -7,7 +7,7 @@ android:id="@+id/text_name" android:textSize="16sp" android:layout_width="wrap_content" - android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" android:layout_alignParentBottom="true" android:text="name" android:layout_margin="2dp" @@ -19,8 +19,8 @@ android:textSize="16sp" android:layout_width="wrap_content" android:layout_alignParentBottom="true" - android:layout_toRightOf="@id/text_name" - android:layout_marginLeft="4dp" + android:layout_toEndOf="@id/text_name" + android:layout_marginStart="4dp" android:text="rating" android:layout_margin="2dp" android:padding="2dp" @@ -31,7 +31,7 @@ android:textSize="14sp" android:layout_width="wrap_content" android:layout_alignParentBottom="true" - android:layout_alignParentRight="true" + android:layout_alignParentEnd="true" android:text="play" android:layout_margin="2dp" android:padding="2dp" diff --git a/app/src/main/res/layout/ics_stored_row.xml b/app/src/main/res/layout/ics_stored_row.xml index 9580bcab..12a6c9c5 100644 --- a/app/src/main/res/layout/ics_stored_row.xml +++ b/app/src/main/res/layout/ics_stored_row.xml @@ -6,8 +6,8 @@ + android:paddingStart="4dip" + android:paddingEnd="4dip"> diff --git a/app/src/main/res/layout/lichess_board_bottom.xml b/app/src/main/res/layout/lichess_board_bottom.xml index 49f487ac..a441a41b 100644 --- a/app/src/main/res/layout/lichess_board_bottom.xml +++ b/app/src/main/res/layout/lichess_board_bottom.xml @@ -14,8 +14,8 @@ android:src="@drawable/turnempty" android:layout_height="12dip" android:layout_width="12dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:layout_marginStart="8dip" /> + android:layout_marginStart="3dip" /> diff --git a/app/src/main/res/layout/lichess_board_top.xml b/app/src/main/res/layout/lichess_board_top.xml index 4aafe6af..46e6e1ed 100644 --- a/app/src/main/res/layout/lichess_board_top.xml +++ b/app/src/main/res/layout/lichess_board_top.xml @@ -14,8 +14,8 @@ android:src="@drawable/turnempty" android:layout_height="12dip" android:layout_width="12dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:layout_marginStart="8dip" /> + android:layout_marginStart="3dip" /> diff --git a/app/src/main/res/layout/lichess_game_row.xml b/app/src/main/res/layout/lichess_game_row.xml index 3a93ba2a..b9fe15c3 100644 --- a/app/src/main/res/layout/lichess_game_row.xml +++ b/app/src/main/res/layout/lichess_game_row.xml @@ -14,7 +14,7 @@ + android:layout_marginStart="4dip" /> + android:layout_marginStart="4dip" /> diff --git a/app/src/main/res/layout/lichess_waiting.xml b/app/src/main/res/layout/lichess_waiting.xml index 97069ef4..b9062a91 100644 --- a/app/src/main/res/layout/lichess_waiting.xml +++ b/app/src/main/res/layout/lichess_waiting.xml @@ -37,8 +37,8 @@ diff --git a/app/src/main/res/layout/pgn_item.xml b/app/src/main/res/layout/pgn_item.xml index d9d5fd59..e70ea292 100644 --- a/app/src/main/res/layout/pgn_item.xml +++ b/app/src/main/res/layout/pgn_item.xml @@ -11,8 +11,8 @@ @@ -20,16 +20,16 @@ diff --git a/app/src/main/res/layout/play_board_bottom.xml b/app/src/main/res/layout/play_board_bottom.xml index e62fe360..7abc5bd7 100644 --- a/app/src/main/res/layout/play_board_bottom.xml +++ b/app/src/main/res/layout/play_board_bottom.xml @@ -12,8 +12,8 @@ android:src="@drawable/turnempty" android:layout_height="12dip" android:layout_width="12dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> diff --git a/app/src/main/res/layout/play_board_top.xml b/app/src/main/res/layout/play_board_top.xml index f44ec9cd..b798ec74 100644 --- a/app/src/main/res/layout/play_board_top.xml +++ b/app/src/main/res/layout/play_board_top.xml @@ -12,8 +12,8 @@ android:src="@drawable/turnempty" android:layout_height="12dip" android:layout_width="12dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> diff --git a/app/src/main/res/layout/play_controls.xml b/app/src/main/res/layout/play_controls.xml index 4c8c7e15..4fea3458 100644 --- a/app/src/main/res/layout/play_controls.xml +++ b/app/src/main/res/layout/play_controls.xml @@ -4,8 +4,8 @@ android:layout_height="wrap_content" android:fillViewport="false" xmlns:app="http://schemas.android.com/apk/res-auto" - android:paddingLeft="4dip" - android:paddingRight="4dip"> + android:paddingStart="4dip" + android:paddingEnd="4dip"> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> diff --git a/app/src/main/res/layout/practice_board_bottom.xml b/app/src/main/res/layout/practice_board_bottom.xml index 474f4efc..e1bfc528 100644 --- a/app/src/main/res/layout/practice_board_bottom.xml +++ b/app/src/main/res/layout/practice_board_bottom.xml @@ -12,8 +12,8 @@ android:src="@drawable/turnempty" android:layout_height="12dip" android:layout_width="12dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> + android:paddingStart="8dip" + android:paddingEnd="8dip" /> diff --git a/app/src/main/res/layout/practice_controls.xml b/app/src/main/res/layout/practice_controls.xml index 32f9b3be..332e5949 100644 --- a/app/src/main/res/layout/practice_controls.xml +++ b/app/src/main/res/layout/practice_controls.xml @@ -18,25 +18,25 @@ android:id="@+id/ButtonPracticeRetry" app:icon="@drawable/ic_arrow_clockwise" android:contentDescription="@string/button_reset_position" - android:layout_alignParentLeft="true" + android:layout_alignParentStart="true" style="@style/ChessImageButton" /> @@ -46,7 +46,7 @@ android:text="0%" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_toLeftOf="@id/ButtonPracticeNext" + android:layout_toStartOf="@id/ButtonPracticeNext" android:layout_centerVertical="true" style="@style/MyHeaderTextStyle" /> @@ -57,8 +57,8 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="4dip" - android:layout_marginLeft="4dip" - android:layout_marginRight="4dip" + android:layout_marginStart="4dip" + android:layout_marginEnd="4dip" android:accessibilityLiveRegion="assertive" /> diff --git a/app/src/main/res/layout/puzzle_board_bottom.xml b/app/src/main/res/layout/puzzle_board_bottom.xml index a0a61f68..e93c08a8 100644 --- a/app/src/main/res/layout/puzzle_board_bottom.xml +++ b/app/src/main/res/layout/puzzle_board_bottom.xml @@ -12,8 +12,8 @@ android:src="@drawable/turnempty" android:layout_height="12dip" android:layout_width="12dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" /> + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" /> diff --git a/app/src/main/res/layout/puzzle_controls.xml b/app/src/main/res/layout/puzzle_controls.xml index 58e5542e..f6ec41f9 100644 --- a/app/src/main/res/layout/puzzle_controls.xml +++ b/app/src/main/res/layout/puzzle_controls.xml @@ -15,8 +15,8 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="4dip" - android:layout_marginLeft="4dip" - android:layout_marginRight="4dip" + android:layout_marginStart="4dip" + android:layout_marginEnd="4dip" android:accessibilityLiveRegion="assertive" /> diff --git a/app/src/main/res/layout/random_fischer.xml b/app/src/main/res/layout/random_fischer.xml index 04c10eb7..6a7ef6ec 100644 --- a/app/src/main/res/layout/random_fischer.xml +++ b/app/src/main/res/layout/random_fischer.xml @@ -94,7 +94,7 @@ android:id="@+id/ButtonSetupOptionsCancel" android:text="@string/button_cancel" android:layout_width="wrap_content" - android:layout_marginRight="2dp" + android:layout_marginEnd="2dp" style="@style/ChessButton" /> diff --git a/app/src/main/res/layout/setup_controls.xml b/app/src/main/res/layout/setup_controls.xml index 012caef4..875d6b54 100644 --- a/app/src/main/res/layout/setup_controls.xml +++ b/app/src/main/res/layout/setup_controls.xml @@ -24,8 +24,8 @@ android:layout_width="wrap_content" android:layout_height="48dip" android:layout_marginTop="4dip" - android:layout_marginLeft="16dip" - android:layout_marginRight="4dip" + android:layout_marginStart="16dip" + android:layout_marginEnd="4dip" android:id="@+id/duckStack" /> @@ -69,7 +69,7 @@ android:id="@+id/SpinnerOptionsEnPassant" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_marginLeft="4dip" + android:layout_marginStart="4dip" android:hint="@string/msg_setup_enpassant" /> @@ -174,8 +174,8 @@ android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="8dip" - android:layout_marginLeft="8dip" - android:layout_marginRight="8dip" + android:layout_marginStart="8dip" + android:layout_marginEnd="8dip" android:accessibilityLiveRegion="none" /> diff --git a/app/src/main/res/layout/start_list_single.xml b/app/src/main/res/layout/start_list_single.xml index e0be8de1..2748a7b4 100644 --- a/app/src/main/res/layout/start_list_single.xml +++ b/app/src/main/res/layout/start_list_single.xml @@ -9,7 +9,7 @@ android:id="@+id/txt" android:layout_width="wrap_content" android:layout_height="50dp" - android:layout_marginLeft="25dp" + android:layout_marginStart="25dp" style="@style/MyRowTextStyle" android:textSize="18sp" /> @@ -17,7 +17,7 @@ android:id="@+id/img" android:layout_width="40dp" android:layout_height="40dp" - android:layout_marginLeft="15dp" + android:layout_marginStart="15dp" android:layout_gravity="center_vertical" /> diff --git a/app/src/main/res/values-ar/strings.xml b/app/src/main/res/values-ar/strings.xml new file mode 100644 index 00000000..11b8a2ba --- /dev/null +++ b/app/src/main/res/values-ar/strings.xml @@ -0,0 +1,437 @@ + + + + خيارات متقدمة +

أنشئ أو استورد محتوياتك الخاصة هنا.

+ +

تصدير قاعدة بيانات الألعاب إلى بطاقة SD

+

يمكن تصدير جميع الألعاب في قاعدة بيانات الألعاب إلى ملف PGN واحد على بطاقة SD. سيتم تسمية هذا الملف chess.pgn وسيتم استبدال أي ملف موجود.

+ +

استيراد الألعاب إلى قاعدة بيانات الألعاب

+

استخدم هذا الخيار لإضافة ألعاب إلى قاعدة بيانات الألعاب. يتيح لك التصفح إلى ملف PGN. حدده واختر استيراده.

+ +

حذف جميع الألعاب في قاعدة بيانات الألعاب

+

استخدم هذا الخيار إذا كنت تريد تنظيف قاعدة بيانات الألعاب. تأكد من عمل نسخة احتياطية على بطاقة SD أولاً، لأن هذا الإجراء لا يمكن التراجع عنه.

+ +

إنشاء مجموعة تمارين

+

ينشئ أوضاع تمرين من الألعاب التي تنتهي بكش مات. تصفح إلى الملف المراد معالجته. الإدخالات الفاشلة عادة ما تكون ألعابًا لم تنتهِ بكش مات أو مكررة.

+ +

إعادة تعيين مجموعة التمارين

+

هل تريد بدء التمرين من جديد؟ سيؤدي هذا أيضًا إلى إعادة تعيين عداد متوسط الوقت الخاص بك.

+ + ]]> +
+ لا + موافق + نعم + شطرنج + مساعدة + استيراد + خيارات متقدمة + لعب + لعب عبر الإنترنت + الألعاب المحفوظة + إعداد + إلغاء + إغلاق + لعب المحرك + تسجيل الدخول + القائمة + النقلة التالية + الوضع التالي + موافق + النقلة السابقة + الوضع السابق + تسجيل + إعادة تعيين الوضع + حفظ + حفظ نسخة + نظام الألوان + مجموعة القطع + تأثير المربعات + حذف + تعديل + 1 ثانية + 15 دقيقة + 2 ثانية + 4 ثوان + 8 ثوان (متوسط) + 10 ثوان + 20 ثانية + 30 ثانية (خبير) + دقيقة واحدة + 5 دقائق + عشوائي + أزرق + بني + أخضر + رمادي + برتقالي + وردي + بنفسجي + أحمر + أصفر + تم نسخ اللعبة إلى الحافظة بنجاح + إعدادات اللعبة + الإعدادات العامة + ♚ الأسود + اتصل + تعادل + مضيف + قم بتشغيل خيار `المضيف` إذا كنت تدير نقطة اتصال WiFi. + اسمك + جديد + استسلام + ♔ الأبيض + اسم المستخدم + كلمة المرور + حدث خطأ. الرجاء المحاولة مرة أخرى لاحقًا. + فحص + ملخص + متابعة + انتهت اللعبة + اللعبة رقم + التاريخ + رقم اللعبة في التاريخ + تم فقدان الاتصال بالخادم. + مباراة + التحديات + وحدة التحكم + تعادل + المطالبة بالفوز بالوقت + الألعاب + اللاعبون + بازل بوت: كش مات + بازل بوت: دراسة + بازل بوت: تكتيكات + استسلام + استئناف + بحث عن مباراة + مخزنة + أفضل اللاعبين (خاطف) + أفضل اللاعبين (قياسي) + انقر للعب + شطرنج بواسطة Jeroen + عرض مباراة الإياب + يرغب خصمك في إلغاء اللعبة.\nهل تقبل؟ + يرغب خصمك في تأجيل اللعبة.\nهل تقبل؟ + يعرض عليك خصمك التعادل.\nهل تقبل؟ + يرغب خصمك في استرجاع نقلة.\nهل تقبل؟ + اللاعب 1 + اللاعب 2 + إنهاء؟ + تم إرسال الطلب + تحدي + اللون + صيغة + قبول يدوي + اللاعب + الحد الأقصى للتقييم + الحد الأدنى للتقييم + مباراة بتقييم + بحث + الوقت (دقيقة) + الوقت الإضافي (ثوان) + نوع اللعبة + أدخل رقم اللعبة الخاصة بـ + إلغاء المتابعة + %1$s. دور الأبيض + %1$s. دور الأسود + تم إلغاء تحدي %1$s + تم رفض التحدي بواسطة %1$s + قبول + رفض + بتقييم + بتقييم %1$s + التحكم بالوقت: %1$s + بدون تقييم + نوع اللعبة: %1$s + تم نشر التحدي + تأكيد رغبتك في عرض التعادل + تأكيد رغبتك في الاستسلام + اللون + أسود + عشوائي + أبيض + الخصم + بتقييم + الوقت + التحكم بالوقت + مراسلة + أيام لكل نقلة + الوقت الإضافي (ث) + دقائق + إنشاء تحدي + نوع اللعبة + شطرنج 960 + قياسي + إنشاء طلب مباراة + إلغاء النقلة + تأكيد %1$s + تأكيد النقلات + انقطع الاتصال باللعبة. تحقق من اتصالك بالإنترنت وحاول مرة أخرى + تم إلغاء اللعبة + تم إنشاء اللعبة + انتهت اللعبة بكش مات + انتهت اللعبة بالاستسلام + الفائز: %1$s + تعذر الحصول على ألعابك. جاري محاولة إعادة الاتصال خلال 5 ثوان + تحدي + تسجيل خروج + بحث + أنت متصل بـ Lichess + اسم المستخدم + الألعاب الجارية + عند اختيار تسجيل الدخول، سيتم إعادة توجيهك إلى Lichess لتسجيل الدخول + تم إغلاق التحدي + تم إغلاق طلب المباراة + خصمك يعرض التعادل. اضغط على تعادل للقبول + تعادل + استسلام + تم نشر طلب المباراة + حفظ إلى ملف + حفظ إلى قاعدة البيانات + جاري البدء... + أسود + عشوائي + أبيض + إلغاء + اللعبة إلى الحافظة + تدوير + لعبة من الحافظة + إعدادات اللعبة + مساعدة + تحميل لعبة + لعبة جديدة + فيشر / 960 عشوائي جديد + أمر جديد + اكتب \u003cNR\u003e في نهاية الأمر لعدم العودة\nمثال: tell ChessMaster \u003cNR\u003e\n + بطة جديدة (تجريبي) + فتح ملف لعبة + فتح ملف وضع + الإعدادات + حفظ اللعبة في قاعدة البيانات + حفظ اللعبة إلى ملف + حفظ الوضع إلى ملف + ضبط الساعة + إعداد الرقعة + الرجاء إدخال اسم المستخدم الخاص بك + الرجاء إدخال كلمة المرور الخاصة بك + أسود + أبيض + مسح + مربع الأون باسان + عشوائي + إعادة تعيين + دور + أسود + أبيض + + + FICS: خادم الشطرنج المجاني على الإنترنت يتيح لك اللعب مع آلاف لاعبي الشطرنج عبر الإنترنت.
+ تحذير: إذا تحول جهازك من نقطة وصول إنترنت إلى أخرى، قد ينقطع الاتصال. لا يوجد ختم زمني.
+

+

القائمة

+ التحديات
+ يعرض اللاعبين الذين يبحثون عن مباراة. انقر على اللاعب في القائمة لقبول التحدي.
+ بحث عن مباراة
+ أنشئ تحديك الخاص. إذا قمت بملء اسم مستخدم لاعب تعرفه، فسيقوم بتحدي مباشر.
+ الألعاب
+ شاهد الألعاب الجارية عبر الإنترنت. يمكن التعرف على الأستاذ الكبير من خلال البادئة GM في اسم المستخدم.
+ اللاعبون
+ يعرض اللاعبين غير المشغولين مع تقييماتهم.
+ ]]> +
+ المستوى (عدد النقلات) + المستوى (الوقت) + مدمج + OEX + لم يتم العثور على محركات OEX على هذا الجهاز. + OEX غير متاح لشطرنج البطة. + غير متاح + بشر ضد الروبوت + أسود + بشر ضد بشر + أبيض + إيقاف بحث الاستقرار + تشغيل بحث الاستقرار + هل أنت متأكد؟ + هل أنت متأكد من رغبتك في إعادة التعيين؟ + إنشاء قاعدة بيانات الافتتاحيات + حذف جميع الألعاب في قاعدة بيانات الألعاب + تم حذف جميع الألعاب + تصدير قاعدة بيانات الألعاب + مساعدة + استيراد الألعاب إلى قاعدة بيانات الألعاب + استيراد مجموعة تمارين + استيراد ألغاز + تعيين قاعدة بيانات الافتتاحيات + إعادة تعيين التمارين - البدء من جديد + إلغاء تثبيت قاعدة بيانات UCI + إلغاء تثبيت محرك UCI + فيل + أسود + بطة + ملك + حصان + بيدق + وزير + قلعة + أبيض + ألفا + كاليفورنيا + شيز نات + رفيق + كوسال + لايبزيغ + ميريدا + ستاونتي + إعدادات اللعب عبر الإنترنت + ابحث عن كش مات (يمكن أن يكون أكثر من نقلة). + تمت إعادة تعيين مجموعة التمارين + إضافة فاتح/غامق إلى وصف المربع + تمكين ملء الشاشة + موصى به للشاشات الصغيرة والعرض الأفقي؛ فقد تخرج العناصر عن الشاشة بخلاف ذلك + بحث تلقائي + تحديث شاشة التحديات تلقائيًا + حجم الأحرف في وحدة التحكم + ضبط حجم الأحرف في وحدة التحكم + أوامر مخصصة + أنشئ أوامرك المخصصة الخاصة بك + إشعار لعبة جديدة + تحذير الوقت المتبقي + صوت تيك تيك يحذرك إذا كان وقتك يساوي أو أقل من مبلغ تحذير الوقت + مبلغ تحذير الوقت (ثوان) + كم ثانية حتى يبدأ تحذير الوقت؟ + الإعلان عن النقلة الأخيرة عند السحب فوق مربع فارغ بعد تأخير + أدوات تحكم بسيطة + الوضع الليلي + فرض التطبيق على الوضع الليلي + إحداثيات + لعب معصوب العينين + إظهار النقلات الممكنة + إظهار القطع المأخوذة عند التوفر + إظهار أوصاف مواقع القطع + إظهار زر تبديل السحب لإمكانية الوصول + صوت + استخدام اللمس الاهتزازي + كلام + استخدام وصف النقلة الكامل + تحويل النص إلى كلام لا يدعم لغتك المحلية + تعذر تحميل محرك تحويل النص إلى كلام + فيل يأخذ G7 كش + تم التحديد + يأخذ + أون باسان + يترقى إلى %1$s + كش مات + تبييت طويل + تبييت قصير + %1$s%2$s + سحب إمكانية الوصول + تأخير سحب إمكانية الوصول + تأخير تكرار آخر نقلة عند التواجد على مربع فارغ + لسحب إمكانية الوصول، يرجى إيقاف تشغيل TalkBack. + درجة صوت الكلام + سرعة الكلام + محرك الكلام + محرك النظام الافتراضي + اللغة/الصوت + النظام الافتراضي + الجهة + أي جهة من الرقعة تلعب بها + ضد الكمبيوتر + العب ضد الكمبيوتر/المحرك + استخدام قفل اليقظة + سيمنع هذا هاتفك من الدخول في وضع السكون + الإعدادات + حوار نهاية اللعبة + في نهاية اللعبة، هل تريد ظهور حوار للحفظ؟ + يخطرك ببدء اللعبة بأيقونة + (تم حل الوضع مسبقًا) + هذه هي النقلة الصحيحة + هذه ألغاز كش مات صعبة في نقلتين.\nالهدف هو العثور على النقلة الأولى التي تضمن كش مات خلال نقلتين.\nأي إنه بعد لعب النقلة الأولى الصحيحة، لا يستطيع الخصم تفادي كش مات في النقلة التالية.\nبعد ذلك يُعد اللغز محلولًا.\nاضغط على "إظهار" لرؤية الحل.\nالمصدر: Eduardo Sadier, EL ARTE DEL MATE EN DOS + ليست النقلة المتوقعة + إظهار + أسود + الحدث + تمكين أو تعطيل تصفية اللاعب الأسود + تمكين أو تعطيل تصفية التاريخ بعد + تمكين أو تعطيل تصفية التاريخ قبل + تمكين أو تعطيل تصفية الحدث + تمكين أو تعطيل تصفية النتيجة + النتائج: %1$d + اللعبة %1$d من %2$d + تمكين أو تعطيل تصفية اللاعب الأبيض + أبيض + مربع فاتح + مربع غامق + تم تحديد %1$s في %2$s + تم تحديد %1$s %2$s %3$s + %1$s في %2$s + %1$s %2$s %3$s + تفضيلات إمكانية الوصول + إعدادات الرقعة + قاعدة بيانات الألعاب + رقعة نقطة الاتصال + Freechess + Lichess (تجريبي) + خيارات متقدمة + لعب + تمرين + ألغاز + موقع المطور + الأسود يخسر بسبب انتهاء الوقت + الأسود استسلم + كش + تعادل (قاعدة الـ 50 نقلة) + تعادل بالاتفاق + تعادل (قطع غير كافية) + تعادل (تكرار الوضع ثلاث مرات) + تعادل (بات) + كش مات + قيد اللعب + الأبيض يخسر بسبب انتهاء الوقت + الأبيض استسلم + خطوط قطرية + تظليل مزدوج + لا شيء + تظليل مفرد + 10 ثوان + 25 ثانية + 45 ثانية + 5 ثوان + دقيقة واحدة + %1$d دقائق متبقية + %1$d دقيقة متبقية + %1$d ثوان متبقية + %1$d ثانية متبقية + تبييت؟ + المحرك + تحدي + إنشاء سطر جديد؟ + حذف اللعبة + تعديل الأمر + تعديل أو حذف؟ + خطأ + القائمة + طلب إلغاء + طلب تأجيل + طلب تعادل + طلب استرجاع نقلة + اختر مستوى الوقت + اختر مستوى عدد النقلات + اختر قطعة الترقية + حفظ اللعبة + تم نشر التحدي + تعذر بدء خدمة Lichess. الرجاء المحاولة مرة أخرى. + لغز + احصل على لغز + بتقييم + الصعوبة + الموضوع + تم حل اللغز! التقييم %1$s + تم الحل مع أخطاء. التقييم %1$s +