Bassel Jhr نشر 29 أغسطس 2021 أرسل تقرير نشر 29 أغسطس 2021 لدي مشروع مبني ضمن إطار العمل express.js، يقوم فيه المستخدم بطلب صفحة معيّنة وأريد معرفة لغة المتصفّح الخاصة به من طرف الخادم قبل إرسال الرد المناسب. لقد حاولت الحصول عليها من طرف المتصفح كالتالي: var language = window.navigator.userLanguage || window.navigator.language ولكن كيف يتم ذلك من طرف الخادم؟ 1 اقتباس
1 محمد أبو عواد نشر 29 أغسطس 2021 أرسل تقرير نشر 29 أغسطس 2021 يمكنك استخدام الكود التالي للحصول على اللغة التي حددها المستخدم في متصفحه req.headers["accept-language"] اقتباس
1 Ali Haidar Ahmad نشر 29 أغسطس 2021 أرسل تقرير نشر 29 أغسطس 2021 إضافة للإجابة السابقة، باستخدام Express 4.x ، يمكنك استخدام req.acceptsLanguages (lang [، ...]) للتحقق من قبول لغات معينة: var express = require('express'); app.get('/translation', function(request, response) { var lang = request.acceptsLanguages('fr', 'es', 'en'); if (lang) { console.log('The first accepted of [fr, es, en] is: ' + lang); ... } else { console.log('None of [fr, es, en] is accepted'); ... } }); للحصول على قائمة بجميع اللغات المقبولة ، باستخدام Express 4.x ، يمكنك استخدام الموديول accepts: var express = require('express'), accepts = require('accepts'); app.get('/translation', function(request, response) { console.log(accepts(request).languages()); ... }); اقتباس
1 Hassan Hedr نشر 29 أغسطس 2021 أرسل تقرير نشر 29 أغسطس 2021 البروتوكول المتبع للتواصل بين الخادم والعميل (المتصفح) هو HTTP، بنية الطلب تتضمن إمكانية اضافة معلومات حول اللغات الذي يستطيع قبولها (يتقنها) العميل عبر قيمة تسمى Accept-Language، قيمتها تعبر عن لغة أو عدة لغات يفضلها العميل (تعين افتراضيا من قبل المتصفح حسب لغة جهاز العميل مثلا) Accept-Language: * // العميل يقبل أي لغة Accept-Language: ar, en // العميل يفضل العربية ثم الانجليزية بالترتيب على الخادم يمكنك معرفة قبول العميل لأحد اللغات عبر الدالة acceptsLanguages app.use(function(request, response, next) { var lang = request.acceptsLanguages('ar'); // يعيد قيمة اللغة اذا كان يقبلها العميل // lang = 'ar' // يمكنك الان التصرف حسب قيمة اللغة المقبولة ... }); اقتباس
السؤال
Bassel Jhr
لدي مشروع مبني ضمن إطار العمل express.js، يقوم فيه المستخدم بطلب صفحة معيّنة وأريد معرفة لغة المتصفّح الخاصة به من طرف الخادم قبل إرسال الرد المناسب.
لقد حاولت الحصول عليها من طرف المتصفح كالتالي:
var language = window.navigator.userLanguage || window.navigator.language
ولكن كيف يتم ذلك من طرف الخادم؟
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.