كيفية عرض الفترات الزمنية بالشكل المختصر أو المفصل

استخدم خيار النمط للتحكم في ظهور الفترات: اختصارات، كلمات كاملة، أو رموز مضغوطة

مقدمة

عند عرض مدة الوقت المستغرق، يختلف تنسيق العرض حسب المساحة المتاحة. فعلى سبيل المثال، مدة تمرين قدرها ساعة و30 دقيقة يمكن أن تظهر كـ "ساعة و30 دقيقة" أو "س 1 و د 30" أو "1س 30د" حسب المساحة المتوفرة ووضوح المعلومات التي تحتاجها. كل تنسيق يوازن بين سهولة القراءة والمساحة الأفقية المستخدمة.

تختلف خيارات التنسيق حسب السياق. فعلى شريط تحكم مشغل الفيديو يُفضَّل استخدام نص مضغوط مثل "1س 30د". أما في شاشة ملخص التمرين التي تشرح مدة الجلسة يُفضل استخدام نص واضح مثل "ساعة و30 دقيقة". وفي لوحة قيادة الهاتف المحمول التي تعرض العديد من المؤقتات، يُستخدم الشكل الأكثر اختصارا لعرض أكبر قدر من المعلومات.

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

ما الذي يتحكم به خيار النمط

خيار style في Intl.DurationFormat يقبل ثلاثة قيم لتنسيق النص: "long"، "short"، و"narrow". كل قيمة تنتج درجة مختلفة من التفصيل في عرض المدة.

القيمة "المفصلة" تكتب أسماء الوحدات كاملة مثل "ساعة و30 دقيقة". القيمة "المختصرة" تستخدم اختصارات شائعة مثل "س 1 و د 30". أما "المضغوطة" فتنتج شكلا أكثر اختصارًا مثل "1س 30د" غالبًا بدون فراغات وبأقل عدد من الرموز.

const duration = { hours: 1, minutes: 30 };

const longFormatter = new Intl.DurationFormat("en-US", {
  style: "long"
});

console.log(longFormatter.format(duration));
// Output: "1 hour and 30 minutes"

const shortFormatter = new Intl.DurationFormat("en-US", {
  style: "short"
});

console.log(shortFormatter.format(duration));
// Output: "1 hr and 30 min"

const narrowFormatter = new Intl.DurationFormat("en-US", {
  style: "narrow"
});

console.log(narrowFormatter.format(duration));
// Output: "1h 30m"

تكون قيمة الخيار style افتراضيًا هي "short" إذا لم تحدده. هذا يعني أن تنسيق المدة الزمنية يستخدم الاختصارات القياسية ما لم تطلب أسلوب عرض مختلف بشكل صريح.

تنسيق المدد الزمنية بالنمط الطويل

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

const formatter = new Intl.DurationFormat("en-US", {
  style: "long"
});

const duration = { hours: 2, minutes: 30 };

console.log(formatter.format(duration));
// Output: "2 hours and 30 minutes"

يتعامل المنسق تلقائيًا مع حالات المفرد والجمع. ساعة واحدة يُستخدم معها المفرد "ساعة" بينما في حالة ساعات متعددة يُستخدم الجمع "ساعات". لست بحاجة لتحديد الشكل المناسب يدويًا.

const formatter = new Intl.DurationFormat("en-US", {
  style: "long"
});

console.log(formatter.format({ hours: 1, minutes: 30 }));
// Output: "1 hour and 30 minutes"

console.log(formatter.format({ hours: 2, minutes: 1 }));
// Output: "2 hours and 1 minute"

كل نوع من الوحدات يُكتَب اسمه بالكامل بغض النظر عن عدد الوحدات في المدة الزمنية.

const formatter = new Intl.DurationFormat("en-US", {
  style: "long"
});

console.log(formatter.format({ hours: 2, minutes: 30, seconds: 45 }));
// Output: "2 hours, 30 minutes and 45 seconds"

console.log(formatter.format({ minutes: 5, seconds: 30 }));
// Output: "5 minutes and 30 seconds"

console.log(formatter.format({ hours: 1, minutes: 0, seconds: 15 }));
// Output: "1 hour, 0 minutes and 15 seconds"

يضيف المنسق أدوات الربط المناسبة بين الوحدات. في الإنجليزية تُستخدم الفواصل و"and" للفصل بين الوحدات، ويظهر حرف العطف قبل الوحدة الأخيرة في القائمة.

النمط الطويل يجعل المدد الزمنية واضحة مباشرة دون الحاجة لفهم الاختصارات. المستخدمون غير المعتادين على اختصارات الوقت يجدون أسماء الوحدات كاملة أكثر سهولة في الفهم.

تنسيق المدد الزمنية بالنمط القصير

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

const formatter = new Intl.DurationFormat("en-US", {
  style: "short"
});

const duration = { hours: 2, minutes: 30 };

console.log(formatter.format(duration));
// Output: "2 hr and 30 min"

يستخدم المنسق الاختصارات الشائعة. تتحول الساعات إلى "hr"، والدقائق إلى "min"، والثواني إلى "sec". هذه الرموز تحافظ على سهولة القراءة وتقلل من عدد الحروف.

const formatter = new Intl.DurationFormat("en-US", {
  style: "short"
});

console.log(formatter.format({ hours: 1, minutes: 46, seconds: 40 }));
// Output: "1 hr, 46 min and 40 sec"

console.log(formatter.format({ minutes: 5, seconds: 30 }));
// Output: "5 min and 30 sec"

console.log(formatter.format({ hours: 3, minutes: 15 }));
// Output: "3 hr and 15 min"

النمط القصير هو الإعداد الافتراضي. إذا لم تذكر الخيار style، فسيستخدم المنسق النمط القصير تلقائيًا.

const formatter = new Intl.DurationFormat("en-US");

console.log(formatter.format({ hours: 2, minutes: 30 }));
// Output: "2 hr and 30 min"

هذا الإعداد الافتراضي يجعل استخدام النمط القصير مريحًا عندما تريد عرض مدد زمنية مختصرة بالاختصارات القياسية دون الحاجة لتحديد خيار النمط.

يمكنك تنسيق أنواع مختلفة من المدد الزمنية بالنمط القصير لمشاهدة الاختصارات القياسية.

const formatter = new Intl.DurationFormat("en-US", {
  style: "short"
});

console.log(formatter.format({ days: 2, hours: 5 }));
// Output: "2 days and 5 hr"

console.log(formatter.format({ weeks: 1, days: 3 }));
// Output: "1 wk and 3 days"

console.log(formatter.format({ hours: 1, minutes: 30, seconds: 45, milliseconds: 500 }));
// Output: "1 hr, 30 min, 45 sec and 500 ms"

يستخدم كل نوع من الوحدات اختصاره القياسي. تبقى الأيام "days"، وتُختصر الأسابيع إلى "wk"، والميلي ثانية إلى "ms". هذه الرموز معروفة على نطاق واسع وتناسب أغلب السياقات.

تنسيقات الفترات الزمنية بأسلوب مختصر جدًا

يُنتج الأسلوب المختصر جدًا (Narrow) أكثر شكل مضغوط ممكن. يزيل هذا التنسيق المساحات ويستخدم أقل عدد ممكن من الرموز لتوفير كل حرف.

const formatter = new Intl.DurationFormat("en-US", {
  style: "narrow"
});

const duration = { hours: 2, minutes: 30 };

console.log(formatter.format(duration));
// Output: "2h 30m"

يستخدم المُنسّق أحرفًا مختصرة من حرف واحد فقط مع أقل قدر من المسافات. تتحول الساعات إلى "h"، والدقائق إلى "m"، والثواني إلى "s". تكون النتيجة أكثر اختصارًا بكثير من الأسلوب المختصر أو الطويل.

const formatter = new Intl.DurationFormat("en-US", {
  style: "narrow"
});

console.log(formatter.format({ hours: 1, minutes: 46, seconds: 40 }));
// Output: "1h 46m 40s"

console.log(formatter.format({ minutes: 5, seconds: 30 }));
// Output: "5m 30s"

console.log(formatter.format({ hours: 3, minutes: 15 }));
// Output: "3h 15m"

كل وحدة زمنية لها تمثيل مختصر خاص بها حسب الأعراف القياسية.

const formatter = new Intl.DurationFormat("en-US", {
  style: "narrow"
});

console.log(formatter.format({ days: 2, hours: 5 }));
// Output: "2d 5h"

console.log(formatter.format({ weeks: 1, days: 3 }));
// Output: "1w 3d"

console.log(formatter.format({ hours: 1, minutes: 30, seconds: 45, milliseconds: 500 }));
// Output: "1h 30m 45s 500ms"

الأسلوب المختصر جدًا الأنسب عند وجود محدودية شديدة في المساحة وكان المستخدمون على دراية بسياق قياس الوقت. هذا النمط المكثف يفترض أن المستخدمين قادرون على فهم الوحدات دون فاصل أو شرح واضح.

مقارنة بين الأساليب الطويلة والمختصرة والقصيرة جدًا

تُصبح الفروقات بين الخيارات الثلاثة واضحة عند تنسيق نفس الفترات الزمنية بكل منها.

const longFormatter = new Intl.DurationFormat("en-US", {
  style: "long"
});

const shortFormatter = new Intl.DurationFormat("en-US", {
  style: "short"
});

const narrowFormatter = new Intl.DurationFormat("en-US", {
  style: "narrow"
});

const duration = { hours: 1, minutes: 30, seconds: 45 };

console.log("Long:   " + longFormatter.format(duration));
console.log("Short:  " + shortFormatter.format(duration));
console.log("Narrow: " + narrowFormatter.format(duration));

// Output:
// Long:   1 hour, 30 minutes and 45 seconds
// Short:  1 hr, 30 min and 45 sec
// Long:   1h 30m 45s

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

يمكنك مقارنة فترات زمنية مختلفة لترى كيف يتعامل كل أسلوب مع أنواع الفترات الزمنية المختلفة.

const durations = [
  { hours: 2, minutes: 15 },
  { minutes: 5, seconds: 30 },
  { hours: 1, minutes: 0, seconds: 10 },
  { days: 1, hours: 3, minutes: 45 }
];

durations.forEach(duration => {
  const long = new Intl.DurationFormat("en-US", {
    style: "long"
  }).format(duration);

  const short = new Intl.DurationFormat("en-US", {
    style: "short"
  }).format(duration);

  const narrow = new Intl.DurationFormat("en-US", {
    style: "narrow"
  }).format(duration);

  console.log("Duration:");
  console.log("  Long:   " + long);
  console.log("  Short:  " + short);
  console.log("  Narrow: " + narrow);
  console.log("");
});

// Output:
// Duration:
//   Long:   2 hours and 15 minutes
//   Short:  2 hr and 15 min
//   Narrow: 2h 15m
//
// Duration:
//   Long:   5 minutes and 30 seconds
//   Short:  5 min and 30 sec
//   Narrow: 5m 30s
//
// Duration:
//   Long:   1 hour, 0 minutes and 10 seconds
//   Short:  1 hr, 0 min and 10 sec
//   Narrow: 1h 0m 10s
//
// Duration:
//   Long:   1 day, 3 hours and 45 minutes
//   Short:  1 day, 3 hr and 45 min
//   Narrow: 1d 3h 45m

يصبح اختلاف عدد الأحرف ملحوظًا عند التعامل مع عدة فترات زمنية. في جدول أو قائمة تحتوي على العديد من الفترات، يوفر الأسلوب المختصر جدًا مساحة أفقية كبيرة مقارنة بالأسلوب الطويل.

كيف تختلف أساليب عرض الفترات الزمنية حسب اللغة

جميع الخيارات الثلاثة تتكيف مع اللغة (المنطقة) التي تحددها. لكل لغة اختصاراتها، أسماء وحداتها، وربطها بين الكلمات، وطريقتها في تنظيم المسافات.

const locales = ["en-US", "de-DE", "fr-FR", "ja-JP"];

const duration = { hours: 2, minutes: 30 };

locales.forEach(locale => {
  const longFormatter = new Intl.DurationFormat(locale, {
    style: "long"
  });

  const shortFormatter = new Intl.DurationFormat(locale, {
    style: "short"
  });

  console.log(locale + ":");
  console.log("  Long:  " + longFormatter.format(duration));
  console.log("  Short: " + shortFormatter.format(duration));
});

// Output:
// en-US:
//   Long:  2 hours and 30 minutes
//   Short: 2 hr and 30 min
// de-DE:
//   Long:  2 Stunden und 30 Minuten
//   Short: 2 Std. und 30 Min.
// fr-FR:
//   Long:  2 heures et 30 minutes
//   Short: 2 h et 30 min
// ja-JP:
//   Long:  2時間30分
//   Short: 2 時間 30 分

يختلف الأسلوب الطويل بشكل ملحوظ بين اللغات، حيث أن لكل لغة مفرداتها الخاصة لوحدات الوقت. مثلاً الألمانية تستخدم "Stunden" للساعات، والفرنسية "heures"، واليابانية "時間". يتعامل المنسق مع الاختلافات النحوية تلقائيًا.

النمط المختصر يتكيّف أيضًا مع تقاليد كل لغة. فمثلاً، الألمانية تستخدم "Std." للساعات، الفرنسية تستخدم "h"، واليابانية تضيف مسافات بين الأرقام ورموز الوحدات. هذه الاختصارات المحلية تعكس طريقة كل ثقافة في كتابة الفترات الزمنية بصيغة مختصرة.

المُنسق يتعامل مع أدوات الربط بحسب قواعد كل لغة. الإنجليزية تستخدم "and"، الألمانية تستخدم "und"، الفرنسية تستخدم "et"، واليابانية لا تستخدم أداة ربط إطلاقًا. هكذا تكون النتائج طبيعية وملائمة لكل لغة.

const locales = ["en-US", "es-ES", "pt-BR"];

const duration = { hours: 1, minutes: 30, seconds: 45 };

locales.forEach(locale => {
  const narrowFormatter = new Intl.DurationFormat(locale, {
    style: "narrow"
  });

  console.log(locale + ": " + narrowFormatter.format(duration));
});

// Output:
// en-US: 1h 30m 45s
// es-ES: 1h 30min 45s
// pt-BR: 1h 30min 45s

النمط الضيق يعرض بعض الاختلافات بين اللغات. الإنجليزية تستخدم أحرفًا مفردة مثل "h" و"m" و"s". الإسبانية والبرتغالية تستخدمان "min" للدقائق بدلًا من "m" فقط. هذه الفروق تعكس تقاليد كل لغة في كتابة الوقت بشكل مختصر.

متى يجب استخدام النمط الطويل

النمط الطويل هو الأفضل عندما تكون الوضوح وسهولة الفهم أهم من توفير المساحة. هذا الخيار يجعل الفترات الزمنية واضحة وفورية دون الحاجة لترجمة أو تفسير.

الواجهات التي تركز على سهولة الوصول تستفيد من النمط الطويل لأن البرامج الناطقة تقرأ الكلمات المكتوبة بشكل طبيعي أكثر. على سبيل المثال، عند نطق "ساعتان وثلاثون دقيقة" يكون السرد أوضح من "2 س و30 د"، والتي قد تُنطق بطريقة غير مفهومة أو تتطلب قواعد نطق خاصة.

المحتوى التعليمي يستفيد من النمط الطويل لأن المتعلمين قد لا يعرفون اختصارات الوقت. المواد التعليمية التي تشرح الفترات الزمنية يجب أن تكتب الوحدات بالكامل لتجنب اللبس.

ملخصات التمارين وتقارير الجلسات تستخدم النمط الطويل لخلق أسلوب واضح واحترافي. تطبيق اللياقة البدنية يبدو أفضل عند عرض مدة التمرين بـ "ساعة و15 دقيقة" بدلاً من "1س 15د".

التقارير الرسمية والوثائق تعتمد على النمط الطويل للحفاظ على أسلوب كتابة موحد. معظم تقارير الأعمال والسجلات الطبية والمستندات الرسمية عادةً تكتب الفترات الزمنية بالكامل وليس بالاختصار.

يستفيد الجمهور الدولي من استخدام النمط الطويل عندما قد يكون لدى المستخدمين رغبة في تعلم اللغة. كتابة أسماء الوحدات كاملة مثل "ساعات" و"دقائق" أسهل للفهم من الاختصارات بالنسبة للأشخاص غير الناطقين بها.

function formatWorkoutSummary(duration, locale) {
  const formatter = new Intl.DurationFormat(locale, {
    style: "long"
  });

  return formatter.format(duration);
}

const workout = { hours: 1, minutes: 15 };

console.log("Workout duration: " + formatWorkoutSummary(workout, "en-US"));
// Output: "Workout duration: 1 hour and 15 minutes"

النمط الطويل يقدّم الفهم الواضح على الإيجاز. استخدمه كلما احتاج المستخدمون لمعرفة مدة الزمن دون أي لبس أو الحاجة لتخمين.

متى تستخدم النمط القصير

النمط القصير مناسب أكثر في السياقات التي تكون فيها المساحة محدودة لكن الاختصارات مفهومة على نطاق واسع. هذا هو الخيار الأكثر شيوعاً للتطبيقات العامة.

واجهات الهواتف المحمولة تستفيد من النمط القصير لأن عرض الشاشة محدود. بطاقات لوحة القيادة التي تعرض عدة مؤقتات تستخدم أوقاتاً مختصرة لتناسب المعلومات ضمن الشاشة. استخدام "2 س و30 د" بدلاً من "2 ساعة و30 دقيقة" يوفر 11 حرفاً في كل مدة، وهذا يُعتبر فارقاً عند عرض قيم متعددة.

تستخدم عناصر التحكم في مشغلات الفيديو النمط القصير لعرض مدة الفيديو بدون أن تزدحم الواجهة. إظهار "1 س و46 د" في شريط التحكم يكون أكثر اختصاراً من "1 ساعة و46 دقيقة" مع الحفاظ على الوضوح.

الجداول التي تعرض مدد زمنية في أعمدة تحتاج إلى عرض ثابت ومتسق. الاختصارات مثل "س"، "د"، و"ث" تبقي الأعمدة بعرض معقول، أما استخدام وحدات طويلة مثل "ساعات" أو "دقائق" أو "ثوانٍ" فيؤدي لتوسيع الأعمدة دون داعٍ.

تطبيقات المؤقتات تستخدم النمط القصير لأن المستخدمين المعتادين على المؤقتات يعرفون الاختصارات الزمنية جيداً. المؤقت التنازلي الذي يعرض "5 د و30 ث" يوفر وضوحاً مع استغلال المساحة بفعالية.

واجهات حجز تذاكر الطيران تستخدم النمط القصير لعرض مدة الرحلة. إظهار "8 س و15 د" في نتائج البحث أوضح من "8س 15د" ولكنه أكثر اختصاراً من "8 ساعات و15 دقيقة".

function formatFlightDuration(duration, locale) {
  const formatter = new Intl.DurationFormat(locale, {
    style: "short"
  });

  return formatter.format(duration);
}

const flight = { hours: 8, minutes: 15 };

console.log(formatFlightDuration(flight, "en-US"));
// Output: "8 hr and 15 min"

النمط المختصر يحقق توازناً بين الوضوح والكفاءة. معظم المستخدمين يتعرفون بسهولة على الاختصارات القياسية مثل س، د، وث دون التباس.

متى تستخدم النمط الضيق

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

يمكن للأدوات المصغرة التي تعرض مؤشراً واحداً فقط استخدام النمط الضيق عندما يكون حجم العرض صغيراً جداً. فعلى سبيل المثال، عرض مؤقت بـ"5د 30ث" بحجم كبير يبدو أوضح من "5 دقائق و30 ثانية".

الرسوم البيانية التي تحتوي على الكثير من المعلومات تستفيد من النمط الضيق. عناوين المحاور، التعليقات التوضيحية، والتراكبات البيانية تحتاج إلى نصوص مختصرة لتجنب حجب المعلومات البصرية الجوهرية. فمثلاً استخدام "2س 30د" بدلاً من "2 ساعة و30 دقيقة" يوفر المساحة ويبقى مقروءًا لمن يفهم السياق.

تستخدم الأدوات المصغرة في شاشة الهاتف الرئيسية النمط الضيق لزيادة كثافة المعلومات، حيث أن المساحة محدودة. أداة تتبع التمارين الرياضية التي تعرض عدة جلسات حديثة في لوحة صغيرة تستفيد من عرض الوقت بشكل مختصر.

واجهات الساعات الذكية تعتمد النمط الضيق لأن شاشة الساعة صغيرة جداً. على سبيل المثال، عرض "1س 15د" على شاشة دائرية صغيرة يكون أوضح من الصيغ الأطول.

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

function formatVideoPlaylist(videos, locale) {
  const formatter = new Intl.DurationFormat(locale, {
    style: "narrow"
  });

  return videos.map(video => ({
    title: video.title,
    duration: formatter.format(video.duration)
  }));
}

const playlist = [
  { title: "Introduction", duration: { minutes: 2, seconds: 30 } },
  { title: "Getting Started", duration: { minutes: 5, seconds: 15 } },
  { title: "Advanced Topics", duration: { hours: 1, minutes: 10 } }
];

console.log(formatVideoPlaylist(playlist, "en-US"));
// Output:
// [
//   { title: "Introduction", duration: "2m 30s" },
//   { title: "Getting Started", duration: "5m 15s" },
//   { title: "Advanced Topics", duration: "1h 10m" }
// ]

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

دمج النمط مع خيارات تنسيق أخرى

خيار style يعمل مع جميع خيارات تنسيق المدة الأخرى. يمكنك التحكم في الوحدات التي تظهر أثناء اختيار نمط العرض.

const formatter = new Intl.DurationFormat("en-US", {
  style: "long",
  hours: "numeric",
  minutes: "2-digit",
  seconds: "2-digit"
});

console.log(formatter.format({ hours: 1, minutes: 5, seconds: 3 }));
// Output: "1:05:03"

يظهر هذا الجمع الساعات بأسلوب طويل، لكنه يستخدم تنسيقًا رقميًا مع إضافة أصفار قبل الدقائق والثواني. والنتيجة نمط هجين يجمع بين النص والأرقام.

يمكنك تنسيق وحدات محددة فقط مع الحفاظ على نمط موحد.

const formatter = new Intl.DurationFormat("en-US", {
  style: "short",
  hours: "numeric",
  minutes: "numeric"
});

console.log(formatter.format({ hours: 2, minutes: 30, seconds: 45 }));
// Output: "2 hr and 30 min"

يعرض المنسق فقط الساعات والدقائق رغم أن كائن المدة يحتوي أيضًا على ثوانٍ. هذا يمنحك التحكم في الوحدات التي تظهر في الناتج.

يمكنك إنشاء تنسيقات مخصصة من خلال مزج أنماط وحدات مختلفة.

const formatter = new Intl.DurationFormat("en-US", {
  hours: "long",
  minutes: "short",
  seconds: "narrow"
});

console.log(formatter.format({ hours: 1, minutes: 30, seconds: 45 }));
// Output: "1 hour, 30 min, 45s"

ينتج عن ذلك تنسيق مختلط حيث لكل وحدة مستوى تفاصيل مختلف. ورغم أنه غير معتاد، إلا أن هذه المرونة تتيح لك إنشاء تنسيقات متخصصة عند الحاجة.

ما الذي يجب تذكره

خيار style يتحكم في كيفية ظهور المدد الزمنية عند التنسيق باستخدام Intl.DurationFormat. قم بضبطه على "long" لعرض الوحدات مكتوبة بالكامل مثل "ساعتان و30 دقيقة"، أو على "short" للاختصارات القياسية مثل "س 2 و د 30"، أو على "narrow" للنماذج المضغوطة مثل "2س 30د". الخيار الافتراضي هو "short" إذا لم تقم بتعيين قيمة.

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

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