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

PolyLingo sekarang mendukung kode bahasa regional: fr-CA, pt-BR, es-MX dan lainnya

By Robert M

PolyLingo sekarang mendukung kode bahasa regional: fr-CA, pt-BR, es-MX dan lainnya

Anda sekarang dapat langsung menggunakan kode dialek regional sebagai target terjemahan di PolyLingo. fr-CA, pt-BR, es-MX, en-GB, dan beberapa lainnya sekarang adalah nilai valid dalam array targets Anda, berdampingan atau menggantikan padanan generiknya.

Tidak ada perubahan dalam cara Anda memanggil API. Endpoint yang sama, bentuk permintaan yang sama. Anda hanya memiliki lebih banyak kode valid untuk dipilih.


Apa yang ditambahkan

Tujuh kode regional baru mengikuti standar BCP-47:

KodeBahasa
en-GBInggris (UK)
fr-CAPrancis (Kanada)
es-ESSpanyol (Spanyol)
es-MXSpanyol (Meksiko)
pt-PTPortugis (Portugal)
pt-BRPortugis (Brasil)
zh-HKCina (Hong Kong)

Kode-kode ini berdampingan dengan zh-TW (Cina Tradisional) yang sudah menggunakan konvensi BCP-47 yang sama. Batas target juga dinaikkan dari 36 menjadi 50 untuk mengakomodasi tim yang menggunakan beberapa varian regional dalam satu panggilan.


Mengapa kode regional penting

Kode bahasa generik (fr, pt, es) cukup baik ketika audiens Anda luas atau campuran. Tapi ketika Anda mengirim produk ke negara tertentu, kode generik seringkali tidak cukup.

Portugis Brasil dan Portugis Eropa berbeda dalam kosakata, ejaan, dan register dengan cara yang penting bagi penutur asli. Spanyol Meksiko dan Spanyol Kastilia cukup mirip sehingga terjemahan generik terasa asing bagi keduanya, tapi juga tidak terasa alami bagi keduanya. Prancis Kanada memiliki konvensi sendiri yang berbeda dari Prancis Paris dengan cara yang langsung terlihat oleh orang Quebec.

Jika Anda menjual ke pasar tertentu, pasar itu pantas mendapatkan terjemahan yang ditulis untuk mereka. Kode regional memungkinkan itu tanpa perlu panggilan API terpisah atau alur kerja terpisah.


Panggilan yang sama, beberapa varian

Kode generik dan regional dapat berdampingan dalam permintaan yang sama. Masing-masing mendapatkan 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": "Pesanan Anda telah dikonfirmasi.",
    "targets": ["fr", "fr-CA", "pt", "pt-BR"]
  }'
{
  "translations": {
    "fr":    "Votre commande a été confirmée.",
    "fr-CA": "Votre commande a été confirmée.",
    "pt":    "Pesanan Anda telah dikonfirmasi.",
    "pt-BR": "Pesanan Anda telah dikonfirmasi."
  }
}

Anda mendapatkan empat kunci kembali, satu per kode. Jika fr dan fr-CA menghasilkan output yang sama untuk string tertentu, itu diharapkan — mereka akan berbeda dalam kosakata dan register di mana perbedaannya bermakna.


Menargetkan pasar tertentu saja

Jika Anda membangun untuk pasar yang diketahui dan tidak membutuhkan varian generik, cukup gunakan kode regional:

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

Membuat daftar target pasar spesifik di Node.js

import { PolyLingo } from '@polylingo/node'
 
const client = new PolyLingo(process.env.POLYLINGO_API_KEY)
 
const result = await client.translate({
  content: 'Pengiriman gratis untuk pesanan di atas $50.',
  targets: ['es', 'es-MX', 'es-ES', 'pt', 'pt-BR', 'pt-PT'],
})
 
console.log(result.translations['es-MX']) // Spanyol Meksiko
console.log(result.translations['pt-BR']) // Portugis Brasil

Satu permintaan mencakup pasar Amerika Latin dan Iberia. Tidak perlu loop atau batching berdasarkan wilayah.


Menerjemahkan file JSON per pasar di 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": "Mulai uji coba gratis Anda"}'
 
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}")

Menemukan kode yang didukung saat runtime

Jika Anda membangun pemilih bahasa atau daftar target dinamis, Anda tidak perlu meng-hardcode apa pun. GET /languages mengembalikan daftar lengkap termasuk semua varian regional. Saring berdasarkan kode yang mengandung tanda hubung untuk mendapatkan dialek secara spesifik:

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: 'Inggris (UK)',           rtl: false },
//   { code: 'fr-CA', name: 'Prancis (Kanada)',         rtl: false },
//   { code: 'es-ES', name: 'Spanyol (Spanyol)',         rtl: false },
//   { code: 'es-MX', name: 'Spanyol (Meksiko)',        rtl: false },
//   { code: 'pt-PT', name: 'Portugis (Portugal)',   rtl: false },
//   { code: 'pt-BR', name: 'Portugis (Brasil)',     rtl: false },
//   { code: 'zh-TW', name: 'Cina (Tradisional)',  rtl: false },
//   { code: 'zh-HK', name: 'Cina (Hong Kong)',     rtl: false },
// ]

Kapan menggunakan kode generik vs regional

Gunakan kode generik (pt, fr, es) ketika audiens Anda secara geografis campuran atau tidak diketahui, ketika Anda baru memulai dengan pasar dan ingin cakupan luas, atau ketika konten cukup teknis sehingga perbedaan regional tidak mungkin penting.

Gunakan kode regional (pt-BR, fr-CA, es-MX) ketika Anda mengirim ke negara tertentu, ketika pengalaman produk dilokalkan dengan cara lain (harga, mata uang, format tanggal), ketika konten Anda bersifat percakapan atau pemasaran dan register penting, atau ketika Anda tahu pengguna Anda akan memperhatikan perbedaannya.

Kedua pendekatan dapat berdampingan dalam permintaan yang sama. Pola umum adalah menggunakan kode generik sebagai cadangan dan kode regional untuk pengalaman pasar tertentu, keduanya dikembalikan dalam satu respons.


Tidak ada yang rusak untuk pengguna yang sudah ada

Semua kode bahasa yang ada terus berfungsi seperti sebelumnya. Kode baru bersifat tambahan. Jika Anda saat ini menggunakan fr Anda akan terus mendapatkan output yang sama. Jika Anda ingin Prancis Kanada secara spesifik, tambahkan fr-CA ke target Anda. Keduanya dapat berdampingan dalam panggilan yang sama tanpa konflik.


Dapatkan kunci API Anda di usepolylingo.com — paket gratis mencakup 50.000 token per bulan.