«آراء حول صيغ المعدود»: الفرق بين المراجعتين

من ويكي عربآيز
اذهب إلى: تصفح، ابحث
 
ط
سطر 1: سطر 1:
 
{{English|Plural Forms}}
 
{{English|Plural Forms}}
   
  +
=== الصيغة الحالية ===
 
 
صيغة المعدود لgettext المستعملة حاليا في جنوم ومكتب ك وربما في مشاريع أخرى خاطئة تماما [5]. أعلم أن هيئة التنقيح بحثت في هذه المسألة لكنها لم تتخذ أي حل نهائي. لهذا، من الواضح أن الصيغة الحالية حل مؤقت وبالطبع متفق على بطلانها. وهي كالتالي:
 
صيغة المعدود لgettext المستعملة حاليا في جنوم ومكتب ك وربما في مشاريع أخرى خاطئة تماما [5]. أعلم أن هيئة التنقيح بحثت في هذه المسألة لكنها لم تتخذ أي حل نهائي. لهذا، من الواضح أن الصيغة الحالية حل مؤقت وبالطبع متفق على بطلانها. وهي كالتالي:
  +
<div dir=ltr>
 
 
nplurals=4; plural=n==1 ? 0 : n==2 ? 1 :n>=3 && n<=10 ? 2 : 3;
 
nplurals=4; plural=n==1 ? 0 : n==2 ? 1 :n>=3 && n<=10 ? 2 : 3;
  +
</div>
 
 
يذكر في https://www.arabeyes.org/QacDecisions:
 
يذكر في https://www.arabeyes.org/QacDecisions:
   
  +
<div dir=ltr>
 
This GNU Plural Header will be used when we can find a way to script its functionality:
 
This GNU Plural Header will be used when we can find a way to script its functionality:
 
nplurals = 7; plurals = n==0 ? 0 : n==1 ? 1 : n==2 ? 2 :
 
nplurals = 7; plurals = n==0 ? 0 : n==1 ? 1 : n==2 ? 2 :
 
n%100>=3 && n%100<=10 ? 3 :n%100==1 ? 5 : n%100==2 ? 6 : 4;
 
n%100>=3 && n%100<=10 ? 3 :n%100==1 ? 5 : n%100==2 ? 6 : 4;
  +
</div>
   
  +
=== تعدد طرق قراءة الأعداد ===
 
 
تتبع اللغة العربية قواعد معقدة لتحديد صيغة المعدود. إضافة إلى ذلك، توجد قاعدتان مختلفتان، الأولى عند قراءة العدد من اليمين إلى اليسار والثانية عند قراءته من اليسار إلى اليمين. تبقى كلا القاعدتين صحيحتين كما تبين بعض البحوث حيث استعملت بعض النصوص القديمة قراءة الأعداد من اليسار إلى اليمين. غير أن القراءة من اليمين إلى اليسار - كما تقرأ النصوص العربية - تحظى باحترام أكبر رغم أن وسائل الإعلام تقرأها من اليسار. يستحيل إدراج الخيار الأخير في صيغة gettext نظرا لضرورة طرح 1 أو 2 من المتغير.
 
تتبع اللغة العربية قواعد معقدة لتحديد صيغة المعدود. إضافة إلى ذلك، توجد قاعدتان مختلفتان، الأولى عند قراءة العدد من اليمين إلى اليسار والثانية عند قراءته من اليسار إلى اليمين. تبقى كلا القاعدتين صحيحتين كما تبين بعض البحوث حيث استعملت بعض النصوص القديمة قراءة الأعداد من اليسار إلى اليمين. غير أن القراءة من اليمين إلى اليسار - كما تقرأ النصوص العربية - تحظى باحترام أكبر رغم أن وسائل الإعلام تقرأها من اليسار. يستحيل إدراج الخيار الأخير في صيغة gettext نظرا لضرورة طرح 1 أو 2 من المتغير.
 
بسبب وجود قاعدتين علينا الاتفاق على قاعدة واحدة.
 
بسبب وجود قاعدتين علينا الاتفاق على قاعدة واحدة.
سطر 19: سطر 21:
 
انظر [1]. يمكن إدراج القراءة من اليمين [2] مع حالات أقل (6) عوض (8) عند القراءة من اليسار. لا أدري إن كان ذلك صحيحا فقط إذا افترضنا أن "101 كتاب" تقرأ "واحدة ومائة كتاب" وليس "مائة كتاب وكتاب"، انظر [2].
 
انظر [1]. يمكن إدراج القراءة من اليمين [2] مع حالات أقل (6) عوض (8) عند القراءة من اليسار. لا أدري إن كان ذلك صحيحا فقط إذا افترضنا أن "101 كتاب" تقرأ "واحدة ومائة كتاب" وليس "مائة كتاب وكتاب"، انظر [2].
 
الصيغة المستعملة حاليا غامضة وغير موثقة وخاطئة لغويا. تم دمج حالة (0) مع حالة غريبة (الرابعة) كما لا توجد قاعدة لحالة [11-99].
 
الصيغة المستعملة حاليا غامضة وغير موثقة وخاطئة لغويا. تم دمج حالة (0) مع حالة غريبة (الرابعة) كما لا توجد قاعدة لحالة [11-99].
 
استنتاج: يجب اعتماد حالة القراءة من اليمين.
 
   
   
  +
<div dir=ltr>
 
nplurals=6; plural=n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n >= 3
 
nplurals=6; plural=n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n >= 3
 
&& n <= 10 ? 3 : n >= 11 && n <= 99 ? 4 : 5;
 
&& n <= 10 ? 3 : n >= 11 && n <= 99 ? 4 : 5;
  +
</div>
   
  +
=== مشكل حذف المتغيرات في بعض الحلات ===
 
لا تتطلب الحالات 0 و1 و2 متغيرا، وهنا يبرز مشكل آخر. إذا وجد في سلسلة واحدة متغيران %s و%d وأن %d حذف فإن البرنامج يتوقف (Segmentation fault) [3]. الحل المقترح هو استعمال توزيع المتغيرات [4]. يجب أن توثق هذه الطريقة وأن تجرب في لغات أخرى غير C. (شكرا لجهاد على الفكرة).
 
لا تتطلب الحالات 0 و1 و2 متغيرا، وهنا يبرز مشكل آخر. إذا وجد في سلسلة واحدة متغيران %s و%d وأن %d حذف فإن البرنامج يتوقف (Segmentation fault) [3]. الحل المقترح هو استعمال توزيع المتغيرات [4]. يجب أن توثق هذه الطريقة وأن تجرب في لغات أخرى غير C. (شكرا لجهاد على الفكرة).
  +
<div dir=ltr>
 
 
echo 'int main() { printf("%s \n", 2, "text");}' > test.c ;
 
echo 'int main() { printf("%s \n", 2, "text");}' > test.c ;
 
gcc -w test.c -o output ; ./output
 
gcc -w test.c -o output ; ./output
سطر 34: سطر 37:
 
echo 'int main() { printf("%2$s \n", 2, "text");}' > test.c ;
 
echo 'int main() { printf("%2$s \n", 2, "text");}' > test.c ;
 
gcc -w test.c -o output ; ./output
 
gcc -w test.c -o output ; ./output
  +
</div>
   
  +
=== مشكل عدم دعم بعض البرامج لصيغ الجمع ===
 
 
يجب البحث عن طريقة لاختيار الصيغة المناسبة للأعداد غير الصحيحة.
 
 
 
ربما نحتاج يوما ما لترجمة برنامج لا تدعم صيغ المعدود لبساطتها وتستعمل مثلا "user(s)" في الإنجليزية. ما أقترح هو الاتصال بالمطور وطلب دعم صيغ المعدود، ثم إن فشل هذا الاتصال يمكن استعمال "من" كما في "وصل ثلاثة من الرجال". (شكرا لمنذر على الفكرة).
 
ربما نحتاج يوما ما لترجمة برنامج لا تدعم صيغ المعدود لبساطتها وتستعمل مثلا "user(s)" في الإنجليزية. ما أقترح هو الاتصال بالمطور وطلب دعم صيغ المعدود، ثم إن فشل هذا الاتصال يمكن استعمال "من" كما في "وصل ثلاثة من الرجال". (شكرا لمنذر على الفكرة).
   
سطر 47: سطر 48:
   
   
== استنتاج ==
+
=== استنتاج ===
 
السبب الأساسي في عدم اعتماد القراءة من اليسار إلى اليمين هو عدد وجود قاعدة لحالة <span dir=ltr>100^n +1,2</span>. أما قواعد الكتب المدرسية وكتب النحو، فهي لا تغطي إلا حالة القراءة من اليمين. نتمنى إيجاد أي معلومة أو مرجع يؤكد أو ينفي هذا الاقتراح.
 
السبب الأساسي في عدم اعتماد القراءة من اليسار إلى اليمين هو عدد وجود قاعدة لحالة <span dir=ltr>100^n +1,2</span>. أما قواعد الكتب المدرسية وكتب النحو، فهي لا تغطي إلا حالة القراءة من اليمين. نتمنى إيجاد أي معلومة أو مرجع يؤكد أو ينفي هذا الاقتراح.

نسخة 23:19، 4 يناير 2007

This page is in English under Plural Forms

Arabic.png

الصيغة الحالية

صيغة المعدود لgettext المستعملة حاليا في جنوم ومكتب ك وربما في مشاريع أخرى خاطئة تماما [5]. أعلم أن هيئة التنقيح بحثت في هذه المسألة لكنها لم تتخذ أي حل نهائي. لهذا، من الواضح أن الصيغة الحالية حل مؤقت وبالطبع متفق على بطلانها. وهي كالتالي:

nplurals=4; plural=n==1 ? 0 : n==2 ? 1 :n>=3 && n<=10 ? 2 : 3; 

يذكر في https://www.arabeyes.org/QacDecisions:

This GNU Plural Header will be used when we can find a way to script its functionality:

nplurals = 7; plurals = n==0 ? 0 : n==1 ? 1 : n==2 ? 2 :
n%100>=3 && n%100<=10 ? 3 :n%100==1 ? 5 : n%100==2 ? 6 : 4;

تعدد طرق قراءة الأعداد

تتبع اللغة العربية قواعد معقدة لتحديد صيغة المعدود. إضافة إلى ذلك، توجد قاعدتان مختلفتان، الأولى عند قراءة العدد من اليمين إلى اليسار والثانية عند قراءته من اليسار إلى اليمين. تبقى كلا القاعدتين صحيحتين كما تبين بعض البحوث حيث استعملت بعض النصوص القديمة قراءة الأعداد من اليسار إلى اليمين. غير أن القراءة من اليمين إلى اليسار - كما تقرأ النصوص العربية - تحظى باحترام أكبر رغم أن وسائل الإعلام تقرأها من اليسار. يستحيل إدراج الخيار الأخير في صيغة gettext نظرا لضرورة طرح 1 أو 2 من المتغير. بسبب وجود قاعدتين علينا الاتفاق على قاعدة واحدة.


انظر [1]. يمكن إدراج القراءة من اليمين [2] مع حالات أقل (6) عوض (8) عند القراءة من اليسار. لا أدري إن كان ذلك صحيحا فقط إذا افترضنا أن "101 كتاب" تقرأ "واحدة ومائة كتاب" وليس "مائة كتاب وكتاب"، انظر [2]. الصيغة المستعملة حاليا غامضة وغير موثقة وخاطئة لغويا. تم دمج حالة (0) مع حالة غريبة (الرابعة) كما لا توجد قاعدة لحالة [11-99].


nplurals=6; plural=n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n >= 3
&& n <= 10 ? 3 : n >= 11 && n <= 99 ? 4 : 5;

مشكل حذف المتغيرات في بعض الحلات

لا تتطلب الحالات 0 و1 و2 متغيرا، وهنا يبرز مشكل آخر. إذا وجد في سلسلة واحدة متغيران %s و%d وأن %d حذف فإن البرنامج يتوقف (Segmentation fault) [3]. الحل المقترح هو استعمال توزيع المتغيرات [4]. يجب أن توثق هذه الطريقة وأن تجرب في لغات أخرى غير C. (شكرا لجهاد على الفكرة).

echo 'int main() { printf("%s \n", 2, "text");}' > test.c ;
gcc -w test.c -o output ; ./output


echo 'int main() { printf("%2$s \n", 2, "text");}' > test.c ;
gcc -w test.c -o output ; ./output 

مشكل عدم دعم بعض البرامج لصيغ الجمع

ربما نحتاج يوما ما لترجمة برنامج لا تدعم صيغ المعدود لبساطتها وتستعمل مثلا "user(s)" في الإنجليزية. ما أقترح هو الاتصال بالمطور وطلب دعم صيغ المعدود، ثم إن فشل هذا الاتصال يمكن استعمال "من" كما في "وصل ثلاثة من الرجال". (شكرا لمنذر على الفكرة).

ماذا علينا أن نفعل: - التعليق - تحويل السلاسل إلى الصيغة المتفق عليها.


استنتاج

السبب الأساسي في عدم اعتماد القراءة من اليسار إلى اليمين هو عدد وجود قاعدة لحالة 100^n +1,2. أما قواعد الكتب المدرسية وكتب النحو، فهي لا تغطي إلا حالة القراءة من اليمين. نتمنى إيجاد أي معلومة أو مرجع يؤكد أو ينفي هذا الاقتراح.