המרת כתובות לאנגלית

כשמשתמשים ב-Address Validation API, אפשר לבקש שתגובת אימות תחזיר גם את הכתובת המומרת לאנגלית. כדאי להשתמש בתכונה הזו כאשר המערכת צריכה לספק פרטי כתובת בתווים לטיניים מבוססי אנגלית, כשמקבלים כתובת שמקורה בשפה שאינה אנגלית. לדוגמה:

  • יכול להיות שהחברה שלכם תמלא בקשות משלוח מכל רחבי העולם, ותשתמשו בתווים לטיניים באנגלית ואנגלית כדי לקבוע תקן לכל הכתובות.
  • יכול להיות שהעסק שלכם מטפל במשלוחים ממדינה שבה משתמשים בשפה שונה מהשפה של הכתובת שצוינה.

איך להחזיר כתובת באנגלית

כדי לבקש אימות כתובת עם רכיבים ששווים להם באנגלית, צריך להוסיף את הפרטים הבאים לגוף בקשת האימות:

languageOptions: { returnEnglishLatinAddress: "true" }.

בדוגמה הבאה אנחנו מבקשים רכיבים כתובים באנגלית תוך אימות הכתובת למוזיאון הפראדו:

curl -X POST -d '{
  "regionCode" : ["ES"],
  "addressLines": ["C. de Ruiz de Alarcón, 23, 28014 Madrid, Spain"],
  "languageOptions": {returnEnglishLatinAddress: true}
}' \
-H 'Content-Type: application/json' \
-H 'X-Goog-Api-Key: API_KEY' \
'https://addressvalidation.googleapis.com/v1:validateAddress'

התשובה מחזירה את הכתובת באנגלית בשדה englishLatinAddress. לפרטים נוספים, ראו דוגמה להמרה של כתובת שבהמשך. כל רכיב בכתובת השפה המקומית שמוחזרת מומר לאנגלית ככל האפשר. אי אפשר לעשות שימוש חוזר בכתובת שהומרה כקלט ל-API.

השדה englishLatinAddress משתמש באותו פרוטו כתובת כמו בשדה address, למעט כמה יוצאים מן הכלל:

איך עובדת המרת כתובת

ה-Address Validation API מחיל המרה באנגלית על כל רכיב בכתובת. כלומר, ההתייחסות ל-administrative_area, ל-locality ולרכיבים אחרים של הכתובת מתבצעת בנפרד. לרשימת רכיבי הכתובת, ראו AddressComponent במסמכי התיעוד.

התרשים הבא מדגים איך תיראה ההמרה באנגלית בכתובת Calle Dueñas, 5, 41003 Sevilla, España.

רכיבי הכתובת שתורגמו, כולל המסלול, המדינה והאזור

עבור כל רכיב שמוערך להמרה באנגלית, השירות משתמש בתהליך שמתואר בקטעים הבאים.

האתר משתמש בתרגום מלא לאנגלית, כשהדבר אפשרי

יכול להיות שלחלק מרכיבי הכתובת תהיה גרסה מתורגמת מלאה שזמינה לשימוש. לדוגמה, המדינה España בספרדית תתורגם לSpain. במקרה כזה, השירות משתמש בגרסה באנגלית. בדרך כלל זה המצב ברכיבי כתובת גדולים יותר, כמו country ו-administrative_area_level_1.

משתמש בלטיניזציה של השפה המקומית אם אנגלית אינה זמינה

המשמעות של לטיניזציה היא שהשפה המקומית מומרת לכתב לטיני באמצעות תמלול.

  • אם השפה המקומית של הכתובת משתמשת בערכת תווים לטינית, ולא קיימת מקבילה באנגלית לרכיב הכתובת, השירות יחליף תווים מהשפה המקומית שלא כתובים באנגלית. לדוגמה, Calle Dueñas הופך ל-Calle Duenas, כאשר ñ מוחלף ב-n.
  • אם השפה המקומית של הכתובת לא כוללת קבוצת תווים לטינית ולא קיימת מקבילה באנגלית לרכיב הכתובת, השירות ישתמש בגרסה לטינית של השפה המקומית, אם היא זמינה. לדוגמה, המרה ביפנית מחזירה את הטקסט לאותיות לטיניות של יפנית. כל התווים שאינם באנגלית ואינם לטיניים יוחלפו בתווים לטיניים שמבוססים על אנגלית. לדוגמה: 3丁目 יהפוך ל-3-chome.
    • לתשומת ליבכם: עדיין לא ניתן להשתמש בתצוגה המקדימה ביפנית
  • אם אין גרסה לטינית של השפה, הרכיבים יוחזרו בשפה המקומית.

פונקציה זו מחליפה תווים לטיניים שאינם באנגלית

כל התווים הלטיניים שלא באנגלית יוחלפו בתווים המקבילים להם באנגלית. לדוגמה, כל אחד מהתווים הבאים יוחלף בתו "o": ọ, ổ, ổ, ỻ, ổ, או ỻ, ổ, ỻ, ö, ón , OC , ö, ̈, אמפי לדוגמה:

Calle de Ruiz de Alarcón הופך ל-Calle de Ruiz de Alarcon

דוגמה להמרה לכתובת

בדוגמה הבאה מוצגת תגובת אימות מבקשה ל-Palacio de las Dueñas בספרד, כאשר englishLatinAddress מופיע בהדגשה. בבקשה הזו נעשה שימוש בשדה returnEnglishLatinAddress בפרמטר languageOptions בקלט.

"result": {
  "verdict": {
    "inputGranularity": "PREMISE",
    "validationGranularity": "PREMISE",
    "geocodeGranularity": "PREMISE",
    "addressComplete": true,
    "hasInferredComponents": true
  },
  "address": {
    "formattedAddress": "Calle Dueñas, 5, 41003 Sevilla, España",
    "postalAddress": {
      "regionCode": "ES",
      "languageCode": "es",
      "postalCode": "41003",
      "administrativeArea": "Sevilla",
      "locality": "Sevilla",
      "addressLines": [
        "C. Dueñas, 5"
      ]
    },
    "addressComponents": [
      {
        "componentName": {
          "text": "Calle Dueñas",
          "languageCode": "es"
        },
        "componentType": "route",
        "confirmationLevel": "CONFIRMED"
      },
      {
        "componentName": {
          "text": "5",
          "languageCode": "es"
        },
        "componentType": "street_number",
        "confirmationLevel": "CONFIRMED"
      },
      {
        "componentName": {
          "text": "41003"
        },
        "componentType": "postal_code",
        "confirmationLevel": "CONFIRMED"
      },
      {
        "componentName": {
          "text": "Sevilla",
          "languageCode": "es"
        },
        "componentType": "locality",
        "confirmationLevel": "CONFIRMED"
      },
      {
        "componentName": {
          "text": "España",
          "languageCode": "es"
        },
        "componentType": "country",
        "confirmationLevel": "CONFIRMED"
      },
      {
        "componentName": {
          "text": "Sevilla",
          "languageCode": "es"
        },
        "componentType": "administrative_area_level_2",
        "confirmationLevel": "CONFIRMED",
        "inferred": true
      }
    ]
  },
  "geocode": {
    "location": {
      "latitude": 37.394849,
      "longitude": -5.9893604
    },
    "plusCode": {
      "globalCode": "8C9P92V6+W7"
    },
    "bounds": {
      "low": {
        "latitude": 37.3948098,
        "longitude": -5.9894249
      },
      "high": {
        "latitude": 37.3948882,
        "longitude": -5.9893025
      }
    },
    "featureSizeMeters": 7.174035,
    "placeId": "ChIJzRDYbgRsEg0RDDgHlF80UoI",
    "placeTypes": [
      "premise"
    ]
  },
  "metadata": {
    "business": true,
    "residential": false
  },
  "englishLatinAddress": {
    "formattedAddress": "Calle Duenas, 5, 41003 Seville, Spain",
    "postalAddress": {
      "regionCode": "ES",
      "languageCode": "en",
      "postalCode": "41003",
      "administrativeArea": "Seville",
      "locality": "Seville",
      "addressLines": [
        "C. Duenas, 5"
      ]
    },
    "addressComponents": [
      {
        "componentName": {
          "text": "Calle Duenas",
          "languageCode": "es"
        },
        "componentType": "route",
      },
      {
        "componentName": {
          "text": "5",
          "languageCode": "es"
        },
        "componentType": "street_number",
      },
      {
        "componentName": {
          "text": "41003"
        },
        "componentType": "postal_code",
      },
      {
        "componentName": {
          "text": "Seville",
          "languageCode": "en"
        },
        "componentType": "locality",
      },
      {
        "componentName": {
          "text": "Spain",
          "languageCode": "en"
        },
        "componentType": "country",
      },
      {
        "componentName": {
          "text": "Seville",
          "languageCode": "en"
        },
        "componentType": "administrative_area_level_2",
        "inferred": true
      }
    ]
  }
},
"responseId": "e874d263-7d0d-413f-9213-119a784765ed"