سؤال

دعنا نقول إنني أقوم بتصميم موقع ويب حيث لدينا اللغة الإنجليزية والإسبانية والإسبانية والألمانية وكوريا (أنا لست كذلك ، لكن دعنا نتظاهر أنني).

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

ما هي بعض الطرق المعروفة والبسيطة لخدمة المحتوى على لغات متعددة مع موقع ويب؟

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

هل هناك أي ممارسات راسخة لهذا؟

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

المحلول

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

الأشياء الأكثر وضوحًا التي ستحتاجها هي:

  • تشفير حرف يعمل مع الأحرف بجميع اللغات ، وليس فقط اللغة الإنجليزية (وهذا يعني أن كل شيء وصولاً إلى قاعدة البيانات يجب أن يستخدم ترميز UTF)
  • طريقة لتمثيل المستخدم لغة (أي: جافا لغة صف دراسي)
  • نمط شائع لإنتاج رسالة في لغة هذا المستخدم (أي: الربيع Messagesource

أشياء أخرى تحتاج إلى مراعاتها:

  • فرز السلاسل بشكل صحيح على أساس اللغة
  • تاريخ التنسيق على أساس اللغة
  • إظهار الأوقات دائمًا في المنطقة الزمنية للمستخدم
  • إظهار قياسات المسافة لموقع المستخدم (أي: الأميال مقابل كيلومترات؟)
  • وضع موقع الويب في اليمين إلى اليسار بلغات مثل العبرية
  • فكر في كيفية تحضير رسائلك. String message = "Please fix the following error" + (errors.size() > 1 ? "s" : ""); فقط لا يعمل في برنامج دولي.
  • فكر في كيفية وضع صفحات الويب الخاصة بك عندما يختلف طول النص بشكل بعنف .. ولا تفترض أبدًا أن الشخصية تكون أكثر أو أقل عرضًا معينًا (قد تكون شخصية واحدة في كانجي أوسع 8 مرات من حالة أقل " أنا')

أفضل مورد يمكنني العثور عليه لهذا هو دليل مستخدم مكتبة وحدة العناية المركزة. إذا كنت تستخدم Java ، فهذه هي المكتبة التي يجب استخدامها.

نأمل أن تكون هذه الإجابة بداية مفيدة!

نصائح أخرى

ألق نظرة على توصيات Google مواقع متعددة الإقليمية ومتعددة اللغات. أتمنى أن تكون المعلومات مفيدة. حظا سعيدا.

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

رمز CSS:

    q:lang(fr) {     /* Quotations for French */ 
     quotes: "\00AB" "\00BB"; 
    }

    q:lang(en) {
     quotes: "\201C" "\201D";    /* Quotations for English */ 
    }


رمز HTML:

 <html>
 <body>
 <pre>
     <p>Quote in French: <q lang="fr">То être ou ne pas être</q>.</p>
     <p>Quote in English: <q lang="en">То be or not to be</q>.</p>
 </pre>
 </body>
 </html>

وسيكون الإخراج هكذا:

Quote in French language: << То être ou ne pas être >>.

Quote in English language: "То be or not to be".

يرجى ملاحظة أننا نتحدث عن المستندات ، وليس نصًا ، لأنها تؤدي تنسيقًا معقدًا.

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

foo.strings == generic (happens to be US english)
foo.fr.strings == french
foo.fr-CA.strings == canadian french 
foo.en-CA.strings == canadian english

بناءً على رأس قبول العميل ، نحدد اللغة التي يريدها.

عندما يتم طلب لغة معينة لأول مرة ، نضغط على نظام الملفات لإنشاء تعيين السلسلة الكبيرة لتلك اللغة ، ثم تخزينها في الذاكرة. إذا لم يتم تعريف سلسلة معينة في FR-CA ، فسنقفز المكدس إلى FR ، ثم في النهاية إلى العام

يتم إنشاء الصفحات ديناميكيًا ويتم تخزين النسخة التي تم إنشاؤها من كل عنوان URL وفقًا لرؤوس لغة المستخدم (من بين أشياء أخرى).

امل ان يساعد

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