اذهب إلى المحتوى
  • 0

كيفية ترجمة المناطق والمدن الى اللغة العربية html / jquery

Samer Alashqar

السؤال

السلام عليكم ..

قمت بجلب اسماء المناطق التي في دولتي عن طريق API لكن اسماء المدن اتتني باللغة الانجليزية هل هناك طريقة لترجمتها للغة العربية ؟

var data = { iso2: "SA" };

$.ajax({
    type: 'POST',
    url: "https://countriesnow.space/api/v0.1/countries/cities",
    data: data,
    success: (res) => {
        console.log(res)
      
       // log => 
       //101: "Turabah"
       //102: "Najrān"

    }, 
    error: (er) => {
        alert('err')
    }
})

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 1 ساعة قال Samer Alashqar:

هل هناك خدمة اخرى استطيع التعامل معها ؟ بحيث تدعم اللغة العربية  ؟

في حال لم يتوفر ترجمة API للغة مهينة، يمكن التواصل مع جهة رسمية لتزودك بالأسماء أو تقوم بالبحث بنفسك أو تستعين بمهارات برمجية و تجربك حلول بنفسك..

حاولت مساعدتك، قمت بعمل برنامج web scraping بلغة بايثون، يعتمد على ويكيبيديا، يجلب قائمة المدن السعودية، ثم يفتح الصفحة الخاصة لكل مدينة ويجلب الاسم العربي لها، بعض المدن تحتاج لتعديل مكتوب جانبها غير متوفر.. 17 من 128 يمكنك إكمالهم

المدن:

{
  "Abha": "أَبْهَا",
  "Asir": "عَسِيرٌ",
  "Ad-Dilam": "غير متوفر",
  "Al-Abwa": "ٱلْأَبْوَاء",
  "Al Artaweeiyah": "الأرطاوية",
  "Al Bukayriyah": "غير متوفر",
  "Badr (city)": "بَـدْر",
  "Baljurashi": "بَـلْـجُـرَشِي",
  "Bisha": "بيشة",
  "Bareq": "بارق",
  "Buraydah": "بريدة",
  "Al Qasim": "منطقة القصيم",
  "Al Bahah": "ٱلْبَاحَة",
  "Al Bahah Province": "ٱلْبَاحَة",
  "Ha'il Province": "مِنْطَقَة حَائِل",
  "Dammam": "الدمّام",
  "Persian Gulf": "اَلْخَلِيْجُ ٱلْعَرَبِيُّ",
  "Eastern Province, Saudi Arabia": "المنطقة الشرقية",
  "Dhahran": "الظهران",
  "Dhurma": "ضرما",
  "Dahaban": "ذهبان",
  "Diriyah": "الدرعية",
  "First Saudi State": "الدولة السعودية الأولى",
  "Duba, Saudi Arabia": "ضبا",
  "Dumat Al-Jandal": "دُومَة ٱلْجَنْدَل",
  "Dawadmi": "الدوادمي",
  "Farasan (city)": "فرسان",
  "Gerrha": "جرهاء",
  "Ghawiyah": "غير متوفر",
  "Jizan": "جازان",
  "Al-Gwei'iyyah": "القويعية",
  "Hautat Sudair": "حوطة سدير",
  "Sudair": "سدير",
  "Hajrah": "الحجرة",
  "Haql": "مَدِيْنَة حَقْل",
  "Al-Hareeq": "الحريق",
  "Harmah": "حَرْمَة",
  "Ha'il": "حَائِل",
  "Hotat Bani Tamim": "حوطة بني تميم",
  "Hofuf": "ٱلْهُفُوف",
  "Huraymila": "غير متوفر",
  "Hafr Al-Batin": "حفر الباطن",
  "Jabal Umm al Ru'us": "جبل أم الرؤوس",
  "Jalajil": "غير متوفر",
  "Jeddah": "جِدَّة",
  "Red Sea": "البحر الأحمر",
  "Jizan Province": "جيزان",
  "Jazan Economic City": "مدينة جيزان الاقتصادية",
  "Jubail": "الجبيل",
  "Khafji": "رأس الخفجي",
  "Saudi Arabia": "ٱلْمَمْلَكَة ٱلْعَرَبِيَّة ٱلسُّعُوْدِيَّة",
  "Kuwait": "دولة الكويت",
  "Khaybar": "خَيْبَر",
  "King Abdullah Economic City": "مدينة الملك عبدالله الإقتصادية",
  "Khamis Mushait": "خميس مشيط",
  "Al-Saih": "الخرج",
  "Knowledge Economic City, Medina": "غير متوفر",
  "Khobar": "ٱلْخُبَر",
  "Al-Khutt": "غير متوفر",
  "Layla (town)": "لیلى",
  "Lihyan": "مملكة لحيان",
  "Al Lith": "الليث",
  "Al Majma'ah": "المجمعة",
  "Mastoorah": "غير متوفر",
  "Al-Mubarraz": "غير متوفر",
  "Medina": "مدينة النبي",
  "Islam": "الإسلام",
  "Al Madinah": "مدينة النبي",
  "Mecca": "العاصمة المقدسة",
  "Makkah Province": "مِنْطَقَة مَكَّة",
  "Muzahmiyya": "المزاحمية",
  "Najran": "نجران",
  "Najran Province": "نجران",
  "Al-Namas": "النماص",
  "Umluj": "أملج",
  "Al-Omran": "ٱلْحَسَا",
  "Al-Oyoon": "ٱلْحَسَا",
  "Qadeimah": "غير متوفر",
  "Qatif": "ٱلْقَطِيف",
  "Qaisumah": "القيصومة",
  "Al Qunfudhah": "القنفذة",
  "Qurayyat, Saudi Arabia": "القريات",
  "Al Jawf Province": "منطقة الجوف",
  "Rabigh": "رَابِغ",
  "Rafha": "رفحاء",
  "Ar Rass": "الرس",
  "Ras Tanura": "رأس تنورة",
  "Ranyah": "رنية",
  "Riyadh": "الرياض",
  "Ar Riyad Province": "منطقة الرياض",
  "Second Saudi State": "الدولة السعودية الثانية",
  "Rumailah, Saudi Arabia": "غير متوفر",
  "Al-Ahsa Governorate": "ٱلْحَسَا",
  "Sarat Abidah": "غير متوفر",
  "Saihat": "سيهات",
  "Safwa city": "صفوى",
  "Sakakah": "سَكَاكَا",
  "Sharurah": "شرورة",
  "Shaqraa": "شقراء",
  "Shaybah": "غير متوفر",
  "As Sulayyil": "السليل",
  "Taif": "الطائف",
  "Tabuk, Saudi Arabia": "تَبُوْك",
  "Tabuk Province": "مِنْطَقَة تَبُوْك",
  "Tanomah": "تنومة",
  "Tarout": "جزيرة تاروت",
  "Tayma": "تيماء",
  "Thadiq": "ثادق",
  "Thuwal": "ثُوَل",
  "Ath Thuqbah": "الثقبة",
  "Turaif": "طريف",
  "Tabarjal": "غير متوفر",
  "Udhailiyah": "غير متوفر",
  "Al-'Ula": "ٱلْعُلَا",
  "Um Al-Sahek": "غير متوفر",
  "Unaizah": "عنيزة",
  "Al-Qassim Province": "منطقة القصيم",
  "Uqair": "غير متوفر",
  "Uyayna": "العيينة",
  "Uyun AlJiwa": "محافظة عيون الجواء",
  "Wadi Al-Dawasir": "وادي الدواسر",
  "Najd": "نَجْدٌ",
  "Al Wajh": "الوجه",
  "Yanbu": "ينبع",
  "Al Madinah Province": "ٱلْمَدِيْنَة ٱلْمُنَوَّرَة",
  "Az Zaimah": "الزيمة",
  "Zulfi": "محافظة الزلفي",
  "Riyadh Province": "منطقة الرياض"
}

شيفرة بايثون:

# import required modules
from bs4 import BeautifulSoup
import requests
import json

# get URL
page = requests.get(
    "https://en.wikipedia.org/wiki/List_of_cities_and_towns_in_Saudi_Arabia")

# scrape webpage
soup = BeautifulSoup(page.content, 'html.parser')

# create object
cities_links = soup.table.find_all('a')

# قاموس بأسماء المدن و ترجمتها
dictionary = {}

for city_link in cities_links:
    city_name = city_link.get('title')

    city_page = requests.get(
        'https://en.wikipedia.org' + city_link.get('href'))
    city_soup = BeautifulSoup(city_page.content, 'html.parser')
    
    try:
        city_arabic_name = city_soup.find('span', {'lang': 'ar'}).text

        dictionary[city_name] = city_arabic_name
    except:
        dictionary[city_name] = 'غير متوفر'
        #print('...')

with open("List_of_cities_and_towns_in_Saudi_Arabia_En_Ar.json", "w",  encoding='utf-8') as outfile:
    json.dump(dictionary, outfile, ensure_ascii=False).encode('utf-8')
    

 

index.py

List_of_cities_and_towns_in_Saudi_Arabia_En_Ar.json

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

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

 

const translations = {
 SA: {
  "Najrān": "نجران",
  ..
 }
}

وتحول النتيجة كالتالي:

success: res => {
 const citiesAR = res.map(city => translations[data.iso2][city]);
 //..
}

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 2 دقائق مضت قال Hassan Hedr:

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

 


const translations = {
 SA: {
  "Najrān": "نجران",
  ..
 }
}

وتحول النتيجة كالتالي:


success: res => {
 const citiesAR = res.map(city => translations[data.iso2][city]);
 //..
}

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

هل هناك خدمة اخرى استطيع التعامل معها ؟ بحيث تدعم اللغة العربية  ؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 4 دقائق مضت قال Samer Alashqar:

هل هناك خدمة اخرى استطيع التعامل معها ؟ بحيث تدعم اللغة العربية  ؟

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

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...