Kembali ke blog
Four regional language code badges — fr-CA, pt-BR, es-MX, en-GB — connecting to a single API endpoint.

PolyLingo kini menyokong kod bahasa serantau: fr-CA, pt-BR, es-MX dan banyak lagi

By Robert M

PolyLingo kini menyokong kod bahasa serantau: fr-CA, pt-BR, es-MX dan banyak lagi

Anda kini boleh menggunakan kod dialek serantau secara langsung sebagai sasaran terjemahan dalam PolyLingo. fr-CA, pt-BR, es-MX, en-GB, dan beberapa lagi kini adalah nilai sah dalam tatasusunan targets anda, bersama atau sebagai pengganti kod generik mereka.

Tiada perubahan dalam cara anda memanggil API. Titik akhir yang sama, bentuk permintaan yang sama. Anda hanya mempunyai lebih banyak kod sah untuk dipilih.


Apa yang ditambah

Tujuh kod serantau baru mengikut piawaian BCP-47:

KodBahasa
en-GBBahasa Inggeris (UK)
fr-CABahasa Perancis (Kanada)
es-ESBahasa Sepanyol (Sepanyol)
es-MXBahasa Sepanyol (Mexico)
pt-PTBahasa Portugis (Portugal)
pt-BRBahasa Portugis (Brazil)
zh-HKBahasa Cina (Hong Kong)

Ini berdampingan dengan zh-TW (Cina Tradisional) yang sedia ada, yang sudah menggunakan konvensyen BCP-47 yang sama. Had sasaran juga telah dinaikkan dari 36 ke 50 untuk menampung pasukan yang menggunakan pelbagai varian serantau dalam satu panggilan.


Mengapa kod serantau penting

Kod bahasa generik (fr, pt, es) sesuai apabila audiens anda luas atau campuran. Tetapi apabila anda menghantar produk ke negara tertentu, kod generik sering tidak mencukupi.

Portugis Brazil dan Portugis Eropah berbeza dari segi perbendaharaan kata, ejaan, dan gaya bahasa yang penting bagi penutur asli. Sepanyol Mexico dan Sepanyol Kastilia cukup serupa sehingga terjemahan generik tidak kedengaran asing tetapi juga tidak sepenuhnya semula jadi. Perancis Kanada mempunyai konvensi tersendiri yang berbeza dari Perancis Paris dengan cara yang segera jelas kepada penduduk Quebec.

Jika anda menjual ke pasaran tertentu, pasaran itu layak mendapat terjemahan yang ditulis khusus untuk mereka. Kod serantau membolehkan itu tanpa perlu panggilan API berasingan atau aliran kerja berasingan.


Panggilan yang sama, pelbagai varian

Kod generik dan serantau boleh wujud bersama dalam permintaan yang sama. Setiap satu mendapat kunci sendiri dalam respons:

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."
  }
}

Anda mendapat empat kunci kembali, satu untuk setiap kod. Jika fr dan fr-CA menghasilkan output yang sama untuk satu string, itu dijangka — mereka akan berbeza dari segi perbendaharaan kata dan gaya bahasa apabila perbezaan itu bermakna.


Mensasarkan pasaran tertentu sahaja

Jika anda membina untuk pasaran yang diketahui dan tidak memerlukan varian generik, hanya gunakan kod serantau:

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"]
  }'

Membina senarai sasaran khusus pasaran dalam 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']) // Bahasa Sepanyol Mexico
console.log(result.translations['pt-BR']) // Bahasa Portugis Brazil

Satu permintaan merangkumi kedua-dua pasaran Amerika Latin dan Iberia. Tiada gelung, tiada pengelompokan mengikut wilayah.


Menterjemah fail JSON mengikut pasaran dalam 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}")

Menemui kod yang disokong semasa runtime

Jika anda membina pemilih bahasa atau senarai sasaran dinamik, anda tidak perlu menulis kod keras. GET /languages mengembalikan senarai penuh termasuk semua varian serantau. Tapis mengikut kod yang mengandungi tanda sempang untuk mendapatkan dialek secara khusus:

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 },
// ]

Bila guna generik vs serantau

Gunakan kod generik (pt, fr, es) apabila audiens anda secara geografi bercampur atau tidak diketahui, apabila anda baru memulakan pasaran dan mahukan liputan luas, atau apabila kandungan cukup teknikal sehingga perbezaan serantau tidak mungkin penting.

Gunakan kod serantau (pt-BR, fr-CA, es-MX) apabila anda menghantar ke negara tertentu, apabila pengalaman produk dilokalkan dalam cara lain (harga, mata wang, format tarikh), apabila kandungan anda bersifat perbualan atau pemasaran dan gaya bahasa penting, atau apabila anda tahu pengguna anda akan perasan perbezaannya.

Kedua-dua pendekatan boleh wujud bersama dalam permintaan yang sama. Corak biasa adalah menggunakan kod generik sebagai sandaran dan kod serantau untuk pengalaman pasaran tertentu, kedua-duanya dikembalikan dalam satu respons.


Tiada yang rosak untuk pengguna sedia ada

Semua kod bahasa sedia ada terus berfungsi seperti biasa. Kod baru adalah tambahan. Jika anda kini menggunakan fr anda akan terus mendapat output yang sama. Jika anda mahu Perancis Kanada secara khusus, tambah fr-CA ke sasaran anda. Kedua-duanya boleh wujud dalam panggilan yang sama tanpa konflik.


Dapatkan kunci API anda di usepolylingo.com — pelan percuma termasuk 50,000 token sebulan.