กลับไปที่บล็อก
Four regional language code badges — fr-CA, pt-BR, es-MX, en-GB — connecting to a single API endpoint.

PolyLingo ตอนนี้รองรับรหัสภาษาท้องถิ่น: fr-CA, pt-BR, es-MX และอื่นๆ

By Robert M

PolyLingo รองรับรหัสภาษาท้องถิ่นแล้ว: fr-CA, pt-BR, es-MX และอื่นๆ

คุณสามารถส่งรหัสภาษาถิ่นโดยตรงเป็นเป้าหมายการแปลใน PolyLingo ได้แล้ว fr-CA, pt-BR, es-MX, en-GB และอื่นๆ อีกหลายรหัสเป็นค่าที่ถูกต้องในอาร์เรย์ targets ของคุณ พร้อมกับหรือแทนที่รหัสภาษาทั่วไป

ไม่มีการเปลี่ยนแปลงวิธีเรียก API จุดเชื่อมต่อเดียวกัน รูปแบบคำขอเดียวกัน คุณแค่มีรหัสที่ถูกต้องให้เลือกมากขึ้น


สิ่งที่เพิ่มเข้ามา

รหัสภาษาท้องถิ่นใหม่เจ็ดรหัสตามมาตรฐาน BCP-47:

รหัสภาษา
en-GBอังกฤษ (สหราชอาณาจักร)
fr-CAฝรั่งเศส (แคนาดา)
es-ESสเปน (สเปน)
es-MXสเปน (เม็กซิโก)
pt-PTโปรตุเกส (โปรตุเกส)
pt-BRโปรตุเกส (บราซิล)
zh-HKจีน (ฮ่องกง)

รหัสเหล่านี้อยู่เคียงข้าง zh-TW (จีนตัวเต็ม) ที่มีอยู่แล้วซึ่งใช้มาตรฐาน BCP-47 เดียวกัน ขีดจำกัดเป้าหมายก็ถูกเพิ่มจาก 36 เป็น 50 เพื่อรองรับทีมที่ต้องการแปลหลายภาษาท้องถิ่นในคำขอเดียว


ทำไมรหัสภาษาท้องถิ่นจึงสำคัญ

รหัสภาษาทั่วไป (fr, pt, es) ใช้ได้ดีเมื่อกลุ่มเป้าหมายกว้างหรือหลากหลาย แต่เมื่อคุณส่งมอบผลิตภัณฑ์ไปยังประเทศเฉพาะ รหัสทั่วไปมักไม่เพียงพอ

โปรตุเกสบราซิลและโปรตุเกสยุโรปแตกต่างกันในคำศัพท์ การสะกด และระดับภาษาที่สำคัญสำหรับเจ้าของภาษา สเปนเม็กซิโกและสเปนคาสติเลียนคล้ายกันมากจนการแปลทั่วไปไม่ดูแปลกสำหรับใครแต่ก็ไม่เป็นธรรมชาติสำหรับใครเช่นกัน ฝรั่งเศสแคนาดามีรูปแบบเฉพาะที่แตกต่างจากฝรั่งเศสปารีสอย่างชัดเจนสำหรับชาวควิเบก

ถ้าคุณขายในตลาดเฉพาะ ตลาดนั้นสมควรได้รับการแปลที่เขียนขึ้นสำหรับพวกเขา รหัสภาษาท้องถิ่นทำให้เป็นไปได้โดยไม่ต้องเรียก API แยกหรือกระบวนการแยก


เรียกใช้คำขอเดียว หลายรูปแบบ

รหัสทั่วไปและรหัสภาษาท้องถิ่นสามารถอยู่ร่วมกันในคำขอเดียวกันได้ แต่ละรหัสจะมีคีย์ของตัวเองในคำตอบ:

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Your order has been confirmed.",
    "targets": ["fr", "fr-CA", "pt", "pt-BR"]
  }'
{
  "translations": {
    "fr":    "Votre commande a été confirmée.",
    "fr-CA": "Votre commande a été confirmée.",
    "pt":    "O seu pedido foi confirmado.",
    "pt-BR": "O seu pedido foi confirmado."
  }
}

คุณจะได้รับคีย์สี่ตัวกลับมา ตัวละรหัส ถ้า fr และ fr-CA ให้ผลลัพธ์เหมือนกันสำหรับข้อความเดียวกัน นั่นเป็นเรื่องปกติ — พวกเขาจะแตกต่างกันในคำศัพท์และระดับภาษาที่มีความหมาย


กำหนดเป้าหมายตลาดเฉพาะเท่านั้น

ถ้าคุณสร้างสำหรับตลาดที่รู้จักและไม่ต้องการรหัสทั่วไป ให้ส่งรหัสภาษาท้องถิ่นแทน:

curl -sS -X POST "https://api.usepolylingo.com/v1/translate" \
  -H "Authorization: Bearer $POLYLINGO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "Sign in to your account.",
    "targets": ["en-GB", "es-MX", "pt-BR", "zh-HK"]
  }'

สร้างรายการเป้าหมายตลาดเฉพาะใน Node.js

import { PolyLingo } from '@polylingo/node'

const client = new PolyLingo(process.env.POLYLINGO_API_KEY)

const result = await client.translate({
  content: 'Free shipping on orders over $50.',
  targets: ['es', 'es-MX', 'es-ES', 'pt', 'pt-BR', 'pt-PT'],
})

console.log(result.translations['es-MX']) // สเปนเม็กซิโก
console.log(result.translations['pt-BR']) // โปรตุเกสบราซิล

คำขอเดียวครอบคลุมทั้งตลาดละตินอเมริกาและไอบีเรีย ไม่มีการวนลูปหรือแบ่งกลุ่มตามภูมิภาค


แปลไฟล์ JSON ต่อแต่ละตลาดใน Python

import os, requests

client = requests.Session()
client.headers['Authorization'] = f"Bearer {os.environ['POLYLINGO_API_KEY']}"

markets = {
    'latam':  ['es-MX', 'pt-BR'],
    'europe': ['en-GB', 'fr', 'es-ES', 'pt-PT', 'de', 'it'],
    'asia':   ['zh-HK', 'zh-TW', 'zh', 'ja', 'ko'],
}

content = '{"cta": "Start your free trial"}'

for region, targets in markets.items():
    r = client.post(
        'https://api.usepolylingo.com/v1/translate',
        json={'content': content, 'format': 'json', 'targets': targets},
        timeout=120,
    )
    r.raise_for_status()
    print(f"\n{region.upper()}")
    for code, text in r.json()['translations'].items():
        print(f"  {code}: {text}")

ค้นหารหัสที่รองรับในขณะรัน

ถ้าคุณสร้างตัวเลือกภาษา หรือรายการเป้าหมายแบบไดนามิก คุณไม่จำเป็นต้องเขียนรหัสคงที่ GET /languages จะส่งรายการทั้งหมดรวมถึงภาษาท้องถิ่น กรองรหัสที่มีขีดกลางเพื่อรับเฉพาะภาษาถิ่น:

const res = await fetch('https://api.usepolylingo.com/v1/languages')
const { languages } = await res.json()

const dialects = languages.filter(l => l.code.includes('-'))
console.log(dialects)
// [
//   { code: 'en-GB', name: 'English (UK)',           rtl: false },
//   { code: 'fr-CA', name: 'French (Canada)',         rtl: false },
//   { code: 'es-ES', name: 'Spanish (Spain)',         rtl: false },
//   { code: 'es-MX', name: 'Spanish (Mexico)',        rtl: false },
//   { code: 'pt-PT', name: 'Portuguese (Portugal)',   rtl: false },
//   { code: 'pt-BR', name: 'Portuguese (Brazil)',     rtl: false },
//   { code: 'zh-TW', name: 'Chinese (Traditional)',  rtl: false },
//   { code: 'zh-HK', name: 'Chinese (Hong Kong)',     rtl: false },
// ]

เมื่อใดควรใช้รหัสทั่วไปกับรหัสภาษาท้องถิ่น

ใช้รหัสทั่วไป (pt, fr, es) เมื่อกลุ่มเป้าหมายของคุณกระจายทางภูมิศาสตร์หรือไม่ทราบ เมื่อคุณเพิ่งเริ่มต้นกับตลาดและต้องการครอบคลุมกว้าง หรือเมื่อเนื้อหามีลักษณะทางเทคนิคที่ความแตกต่างของภาษาท้องถิ่นไม่น่าจะมีผล

ใช้รหัสภาษาท้องถิ่น (pt-BR, fr-CA, es-MX) เมื่อคุณส่งมอบไปยังประเทศเฉพาะ เมื่อประสบการณ์ผลิตภัณฑ์ถูกปรับให้เหมาะสมในด้านอื่นๆ (ราคา สกุลเงิน รูปแบบวันที่) เมื่อเนื้อหาของคุณเป็นการสนทนาหรือเน้นการตลาดและระดับภาษามีความสำคัญ หรือเมื่อคุณรู้ว่าผู้ใช้จะสังเกตเห็นความแตกต่าง

ทั้งสองวิธีสามารถอยู่ร่วมกันในคำขอเดียว รูปแบบทั่วไปคือใช้รหัสทั่วไปเป็นตัวสำรอง และรหัสภาษาท้องถิ่นสำหรับประสบการณ์ตลาดเฉพาะ ทั้งสองจะถูกส่งกลับในคำตอบเดียว


ไม่มีอะไรเสียหายสำหรับผู้ใช้เดิม

รหัสภาษาที่มีอยู่ทั้งหมดยังคงทำงานเหมือนเดิม รหัสใหม่เป็นการเพิ่มเข้ามา ถ้าคุณส่ง fr อยู่แล้ว คุณจะยังได้รับผลลัพธ์เดิม ถ้าคุณต้องการฝรั่งเศสแคนาดาโดยเฉพาะ ให้เพิ่ม fr-CA ในเป้าหมาย ทั้งสองสามารถอยู่ในคำขอเดียวกันโดยไม่มีปัญหา


รับคีย์ API ของคุณที่ usepolylingo.com — แผนฟรีรวม 50,000 โทเค็นต่อเดือน