كيف يجب أن تتعامل مواقع الويب مع إعدادات الترجمة؟(من "ما هي المفاهيم الخاطئة والمضايقات الشائعة في واجهة المستخدم؟")

StackOverflow https://stackoverflow.com/questions/1016709

سؤال

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

من المثير للاهتمام أن نرى أن الكثير من الأشخاص في SO (المطورين) لا يحصلون على الترجمة.إليكم وجهة نظري حول كيفية العمل:

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

اذا لدينا:

  • en-GB - اللغة الإنجليزية - ثقافة المملكة المتحدة
  • ar-US - اللغة الإنجليزية - الثقافة الأمريكية
  • ar - اللغة الإنجليزية - الثقافة الثابتة.
  • fr-FR – اللغة الفرنسية – الثقافة الفرنسية
  • fr-CH – اللغة الفرنسية – الثقافة السويسرية
  • de-CH – اللغة الألمانية – الثقافة السويسرية
  • de-DE – اللغة الألمانية – الثقافة الألمانية

يرى MSDN للحصول على قائمة كاملة يدعمها إطار عمل .NET.

عندما أذهب إلى موقع ويب، يعلم أنني أريد اللغة الإنجليزية من الجزء en ويعرف أنني مهتم بتوجهها إلى المملكة المتحدة (تنسيق الأرقام، تنسيق التاريخ).لذلك عندما أذهب إلى google.com ويأخذني إلى google.de (بسبب عنوان IP الخاص بي)، فلا بأس تمامًا إذا عرض google.de كل شيء لي باللغة الإنجليزية ولكنه خطأ تمامًا نظرًا لأن google.de باللغة الألمانية.ليس لدي سيطرة تذكر على عنوان IP الخاص بي، لكني أتحكم بشكل كامل في إعدادات اللغة والثقافة الخاصة بي.إذا كنت مهتمًا، فإن محرك البحث الجديد من Microsoft (bing.com) يتعامل مع الأمور بشكل صحيح.دعونا نأمل أن تتمكن Microsoft من تعلم كيفية إجراء البحث مثلما تتعلم Google أو Google كيفية الترجمة بالإضافة إلى Microsoft؛)

MSDN لديه مقالة جيدة أخرى هنا لمزيد من المعلومات

إذًا ما هي توصياتك بشأن كيفية تعامل المواقع مع عمليات الترجمة؟

هل كانت مفيدة؟

المحلول

الحل هنا بسيط للغاية، ومن المزعج أن يفعل المطورون أي شيء آخر.

  1. احترام إعدادات المتصفح.إذا كان يقول الإنجليزية، فهذا والله الإنجليزية.

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

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

  4. تخلص من صفحات الويب التي تسأل عن بلد شخص ما.ما عليك سوى إظهار صفحتك العادية، استنادًا إلى الإعدادات الافتراضية للمتصفح، وراجع العنصر 2 أعلاه. لم أواجه بعد موقعًا يهمني حقًا. تحديث: وبعد بضع سنوات، يوجد الآن سبب للقيام بذلك.في عام 2013، وضعت المملكة المتحدة سياسات تتعلق بملفات تعريف الارتباط والتي يجب على مشغلي مواقع الويب احترامها للمواقع الموجودة في ذلك البلد والتي تقدم صفحات للزوار من ذلك البلد.لذا انتبه إلى قوانين البلدان التي تستضيفها.

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

نصائح أخرى

إذا كانت إعدادات الترجمة متاحة - بما في ذلك، على سبيل المثال لا الحصر، رأس HTTP Accept-Language - فيجب على مواقع الويب احترامها تمامًا.

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

هذا هو الحل الخاطئ.

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

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

في مرحلة ما من مسيرتي المهنية، قمت بصيانة أجزاء من مكدس TCP/IP.وهذا يضعني في موقف نادر إلى حد ما حيث أعلم جيدًا أنه لا ينبغي استخدام عناوين IP كأي شيء آخر غير عناوين طبقة الشبكة.إن أي ارتباط بين عنوان IP وموقع ما هو مجرد محض صدفة - فهو نتيجة لطريقة توزيع العناوين، وليس أي جزء أساسي مما يعنيه عنوان IP.

(كما أنها ليست مفيدة كمعرف فريد لجهاز الكمبيوتر، ولكن هذه قصة مختلفة)

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

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

أخيرًا، لا بأس أن يكون لديك نمط احتياطي.على سبيل المثال، إذا كان لديك موقع يخدم المستخدمين استنادًا إلى منطقتهم (البائعون، على سبيل المثال)، فمن الممكن أن يكون المحتوى الياباني موجودًا فقط على موقعك الفرعي الإقليمي الآسيوي.قد يكون المستخدم الناطق باللغة اليابانية الذي يزور موقعك في أوروبا والشرق الأوسط وأفريقيا عالقًا في رؤية المحتوى باللغة الإنجليزية، وهو ما قد يكون خياره الأخير.

عادةً ما أتبع هذا النمط في المواقع التي أقوم بإنشائها:

  • تحتوي كل صفحة على عنوان URL فريد يحتوي على اللغة الموجودة في مكان ما، عادةً ما يكون مثل /en/page أو مجال (فرعي) مختلف
  • إذا فتح المستخدم عنوان URL بلغة غير محددة مثل /page أبدأ بالتخمين:
    • هل يتوفر ملف تعريف الارتباط من جلسة سابقة؟
    • إذا لم يكن كذلك، فهو Accept-Language متاح وهل يمكنني ربطه باللغة المتاحة على الموقع؟
    • إذا لم يكن الأمر كذلك، إذا كان هذا احتمالًا، فهل يمكنني التخمين عن طريق IP؟
    • إذا لم يكن الأمر كذلك، فانتقل إلى اللغة الافتراضية للموقع.
  • قمت بتعيين ملف تعريف الارتباط باللغة التي تم تخمينها وأعيد توجيه المستخدم إلى موقع بعنوان URL المناسب
  • لقد قمت بوضع مفتاح اللغة في كل صفحة، لذا /en/page يمكن التبديل إليه بسهولة /xx/page
    • يتم تحديث ملف تعريف الارتباط إذا قام المستخدم بالتبديل إلى صفحة مختلفة

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

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

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

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

لا أعرف كيف يمكن للمرء أن يفعل ذلك.إن عدم منح المستخدمين فرصة لتصحيح افتراضاتك يمثل مشكلة كبيرة، لأنك ستخطئ في فهمها في بعض الأحيان.

إضافة:

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

أقترح احترام إعدادات الترجمة للمستخدمين، يستثني إذا كان الإعداد هو الإعداد الافتراضي الساحق، والذي لا يجوز للمستخدمين تغييره.على سبيل المثال، أعتقد أن الغالبية العظمى (90+٪) من المستخدمين لديهم en-us سيتم دائمًا تقديم تحديد الموقع الجغرافي في فيتنام بشكل أفضل من خلال رؤية المحتوى الفيتنامي، بدلاً من المحتوى باللغة الإنجليزية الأمريكية، طالما أن هناك طريقة تافهة للتبديل بين اللغات.على الجانب الآخر، إذا كان المستخدم المتواجد جغرافيًا في الولايات المتحدة لديه إعداد باللغة الفيتنامية، فامنحه المحتوى الفيتنامي بكل الوسائل.

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

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top