Moment: "sk.js": إصلاح مشكلات l10n (تشيكيات)

تم إنشاؤها على ١٢ مارس ٢٠٢٠  ·  16تعليقات  ·  مصدر: moment/moment

وصف الخطأ

حرف الجر za بمعنى in في in a minute هو تشيكي (كلمة أو استخدام مستعار من اللغة التشيكية) ، وبالتالي فإن moment 's za pár sekúnd صحيح في التشيكية ، وغير صحيح باللغة السلوفاكية. في السلوفاكية ، حرف الجر الصحيح هو o في العبارة.

سلوك متوقع

على سبيل المثال: استخدم o pár second بدلاً من za pár sekúnd (بمعنى: in a few seconds ).


تحديث: هناك مشكلة أخرى وهي pred 3 dny والتي يجب أن تكون pred 3 dňami . ليست قضية moment ، لكن dayjs ، سيئتي.

Help Wanted Language Up-For-Grabs

التعليق الأكثر فائدة

حسنًا ... ربما يمكننا تمييز الاستخدام بين المدد واللحظات. سأتركه مفتوحًا لفترة أطول قليلاً.

ال 16 كومينتر

@ أفكار

  1. العبارة الواردة في هذه البطاقة غير صحيحة ، إنها لغة سلوفاكية صالحة
  2. تمت مناقشة كل شيء هنا https://github.com/moment/moment/pull/5409#issuecomment -618482801
  3. الحل هو .replace('za', 'o') ، الحل الأفضل في الوقت الحالي هو توفير معلمة سياق للترجمة

@ k2s ، على الرغم من أن بياني في OP ليس _entirely_ صحيحًا ، إلا أنه _ جزئيًا_ صحيح. كالتنفيذ الحالي للقضية في لحظة. وبما أن التنفيذ _ لا يتوافق تمامًا _ أعتقد أنه يجب إصلاحه. ليس لدي أي فكرة عن كيفية حدوث ذلك ، ولكن يجب أن يكون الإخراج IMHO صحيحًا دائمًا.

الحل المقترح ( .replace('za', 'o') ) ليس حلاً مؤقتًا لأنه يترك الناتج _ جزئيًا_ صحيحًا ، على الرغم من عكسه.

بناءً على مصادر تعليقك في # 5409 (وهي صحيحة بالفعل) لقد كتبت ما يلي في تعليق :

  • يستخدم za عندما نتحدث عن _فترة_ يتم خلالها عمل شيء ما (مثل _ قام بطهيه خلال ساعة ._)؛
  • o عندما نتحدث عن _نقطة زمنية_ (مثل _عودت بعد دقيقة ._).

لذلك ، الناتج الحالي غير صحيح لـ o (لكنه صحيح لـ za ) وإذا اختار المرء استخدام "الحل" ، فسيحصل على الناتج الصحيح لـ o ، لكن ليس من أجل za .

tukusejssirs شكرًا لك على محاولتك تنفيذ وتحسين دعم اللغة السلوفاكية في المكتبات. فيما يتعلق بمكتبة اللحظات ، عليك أن تضع في اعتبارك أنها مكتبة قائمة ، وتستخدم من قبل العديد من المشاريع وأن تغيير شيء ما لا يكسر الكود الموجود.

يشير اسم هذه التذكرة إلى أن القيمة التي تم إرجاعها za خاطئة من الناحية النحوية مما يعني أنها خطأ ، وستحتاج إلى الإصلاح. هذا ليس صحيحا.

لإرجاع za أو o سياق إضافي مطلوب وهو غير مطلوب للغة الإنجليزية وهذا ، ما أعلم به ، لا تدعمه وظائف اللحظة ذات الصلة

أتفهم رغبتك في الحصول عليها بشكل مثالي وطريقة تحقيقها هي إنشاء مكون إضافي للحظة يوفر طرقًا مع دعم السياق.

حسنًا ، حاولت تمرير نفس الشيء: # 5206 ، والذي تم إرجاعه بعد ذلك :-(
لا أعتقد أن هناك الكثير من المستخدمين السلوفاكيين الذين سيلاحظون حتى تغيير za / o أي حال ، فلماذا يحتفظون بالإصدار غير الصحيح ، لا أفهم. كلاهما صالح ، على الرغم من أنني أعتقد أن معظم المستخدمين يحتاجون إلى نموذج "في الوقت المناسب في المستقبل" ، والذي يجب استخدام حرف الجر o له. النموذج "استغرق الأمر وقتًا / تم إجراؤه في" ، والذي يُستخدم فيه حرف الجر za باللغة السلوفاكية ، هو حالة أقل تكرارًا.

dakujem ، شكرا لتعليقك. يجعلني أشعر أنني لست وحدي في هذا. 😄

عندما أنشأت هذا العلاقات العامة ، أعتقد أنه يجب علينا دائمًا استخدام o بدلاً من za ، لكن @ k2s أثبت لي خطأ (انظر تعليقي هذا ) أن كلاهما صحيح ، لكن ليس قابلاً للتبادل.

لذلك من وجهة نظري الحالية ، إذا استخدمنا إما za فقط أو o فقط ، كلاهما خاطئ بنفس القدر لأن كلاهما _لا يكون صحيحًا دائمًا_ أتمنى أن أقترح خوارزمية (وظيفة) من شأنها أن تتعامل مع الحالات التي سيتم فيها استخدام حرف الجر ، لكنني لست جيدًا في البرمجة ... ربما يمكنك القيام بذلك. : مبتسم:

في الواقع ، كلاهما يستخدم. أراهن أن o أكثر تكرارًا. لكن...

للأسف ، أنا لست شابًا من JS ، سيكون ملحق JS الخاص بي سيئًا 😆

dakujem ، لا نحتاج حاليًا إلى _code_ ، ولكن _الخوارزمية_ - كيف نتحقق من لحظة حرف الجر التي يجب إخراجها؟

لا أعرف كيف يمكننا التمييز بين النقاط الزمنية والفترات الزمنية.
أعتقد أنني لن أجري أي تغييرات هنا.

يمكن دائمًا للمستخدمين الفرديين تجاوز اللغات.
https://momentjs.com/docs/#/customization/

هذا أمر مؤسف للغاية.

حسنًا ... ربما يمكننا تمييز الاستخدام بين المدد واللحظات. سأتركه مفتوحًا لفترة أطول قليلاً.

يبدو ذلك جيدا لي.

هل هناك أي طريقة يمكننا بها الحصول على هذه "البيانات الوصفية" الآن؟ أم أنه شيء تحتاج إلى تنفيذه في Moment؟

لا اعرف ماذا تقصد.

الى الان:
إذا كنت تستخدم المدد ، فيمكنك تحديث الإعدادات المحلية لـ o.
إذا كنت تستخدم اللحظات ، فسيستخدم za بالفعل.

لا اعرف ماذا تقصد.

الى الان:
إذا كنت تستخدم المدد ، فيمكنك تحديث الإعدادات المحلية لـ o.
إذا كنت تستخدم اللحظات ، فسيستخدم za بالفعل.

في فكرة ثانية ، لن يؤدي هذا إلى حل هذه المشكلة ، لأن in an hour يعني كلاً من o hodinu (كما هو الحال في _ سأعود بعد ساعة ._ ، والذي يستخدم النقطة الزمنية ، أي now + 1 hour ) و za hodinu (مثل He cooked it in an hour. ، الذي يتحدث عن مدة زمنية).

إذا كنت لا تزال تعتقد أنه سيحل هذه المشكلة ، فيرجى مشاركة بعض مقتطفات التعليمات البرمجية معي كيف يمكنني التمييز بين الاثنين. شكر.

قرأت من خلال هذه المناقشة مرة أخرى.

يبدو أن الفرق بين za و o يعتمد على السياق المحدد للجملة. على الأرجح ، هناك بعض النصوص اللغوية التي تناقش هذا ، لكنها تبدو أكثر تحديدًا مما يمكن تنفيذه في هذه المكتبة. على سبيل المثال ، لا يمكن لـ Moment.js التمييز بين "لقد طهوه خلال ساعة" و "سأعود بعد ساعة".

يبدو أن أفضل استراتيجية هي استخدام واحدة واستبدالها خارج Moment.js عند الحاجة.

إذا كانت لديك أفكار أخرى ، فلا تتردد في إعادة فتحها. حظا سعيدا!

لا يمكن لـ Moment.js التمييز بين "لقد طهوه خلال ساعة" و "سأعود بعد ساعة".

marwahaha ، كان هذا انطباعي أيضًا. إنه لأمر مؤسف ، لكنه صحيح. من العار أن تكون معظم أدوات l10n مهتمة جدًا باللغة الإنجليزية بحيث لا يمكن تعديلها لتتوافق مع اللغات الأخرى. أتمنى أن تكون اللحظة مثل الطلاقة .

حتى ذلك الحين ، أعتقد أن هذا طريق مسدود.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات