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

PolyLingo tukee nyt alueellisia kielikoodeja: fr-CA, pt-BR, es-MX ja muita

By Robert M

PolyLingo tukee nyt alueellisia kielikoodeja: fr-CA, pt-BR, es-MX ja muita

Voit nyt antaa alueellisia murrekoodit suoraan käännöskohteiksi PolyLingossa. fr-CA, pt-BR, es-MX, en-GB ja useat muut ovat nyt kelvollisia arvoja targets-taulukossasi, joko rinnakkain tai yleisten vastineidensa sijaan.

Mikään ei muutu API-kutsun tavassa. Sama päätepiste, sama pyyntörakenne. Sinulla on vain enemmän kelvollisia koodeja valittavana.


Mitä lisättiin

Seitsemän uutta alueellista koodia BCP-47-standardin mukaisesti:

KoodiKieli
en-GBEnglanti (UK)
fr-CARanska (Kanada)
es-ESEspanja (Espanja)
es-MXEspanja (Meksiko)
pt-PTPortugali (Portugali)
pt-BRPortugali (Brasilia)
zh-HKKiina (Hongkong)

Nämä ovat rinnakkain olemassa olevan zh-TW (perinteinen kiina) kanssa, joka käytti jo samaa BCP-47-konventiota. Kohdekoodien maksimimäärää on myös nostettu 36:sta 50:een, jotta tiimit voivat käyttää useita alueellisia variantteja yhdessä kutsussa.


Miksi alueelliset koodit ovat tärkeitä

Yleiset kielikoodit (fr, pt, es) sopivat, kun yleisö on laaja tai sekava. Mutta kun toimitat tuotetta tietylle maalle, yleinen ei usein riitä.

Brasilian portugali ja eurooppalainen portugali eroavat sanastoltaan, oikeinkirjoitukseltaan ja rekisteriltään tavoilla, jotka ovat merkityksellisiä äidinkielenään puhuville. Meksikon espanja ja kastilian espanja ovat tarpeeksi samankaltaisia, että yleinen käännös ei tunnu kummallekaan vieraalle, mutta ei myöskään täysin luonnolliselta. Kanadan ranskalla on omat käytäntönsä, jotka eroavat selvästi pariisilaisesta ranskasta ja ovat heti ilmeisiä quebeciläiselle.

Jos myyt tietylle markkinalle, kyseinen markkina ansaitsee käännöksen, joka on kirjoitettu juuri heille. Alueelliset koodit tekevät tämän mahdolliseksi ilman erillistä API-kutsua tai erillistä työnkulkua.


Sama kutsu, useita variantteja

Yleiset ja alueelliset koodit voivat olla samassa pyynnössä. Jokaisella on oma avaimensa vastauksessa:

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

Saat neljä avainta takaisin, yhden per koodi. Jos fr ja fr-CA tuottavat saman tuloksen tietylle merkkijonolle, se on odotettua — ne eroavat sanastossa ja rekisterissä siellä, missä ero on merkityksellinen.


Kohdistaminen vain tietylle markkinalle

Jos rakennat tunnetulle markkinalle etkä tarvitse yleistä versiota, anna vain alueellinen koodi:

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

Markkinakohtaisen kohdelistan rakentaminen Node.js:ssä

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']) // Meksikon espanja
console.log(result.translations['pt-BR']) // Brasilian portugali

Yksi pyyntö kattaa sekä Latinalaisen Amerikan että Iberian markkinat. Ei silmukoita, ei alueellista ryhmittelyä.


JSON-tiedostojen kääntäminen markkinoittain Pythonissa

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

Tuettujen koodien löytäminen ajon aikana

Jos rakennat kielivalitsinta tai dynaamista kohdelistaa, sinun ei tarvitse kovakoodata mitään. GET /languages palauttaa koko listan, mukaan lukien kaikki alueelliset variantit. Suodata koodit, jotka sisältävät yhdysmerkin, saadaksesi murteet:

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

Milloin käyttää yleistä vs. alueellista

Käytä yleistä koodia (pt, fr, es), kun yleisösi on maantieteellisesti sekava tai tuntematon, kun aloitat markkinalla ja haluat laajan kattavuuden, tai kun sisältö on teknistä ja alueelliset erot eivät todennäköisesti vaikuta.

Käytä alueellista koodia (pt-BR, fr-CA, es-MX), kun toimitat tietylle maalle, kun tuotteen käyttökokemus on lokalisoitu muilla tavoilla (hinnoittelu, valuutta, päivämäärämuodot), kun sisältö on keskustelevaa tai markkinointipainotteista ja rekisteri on tärkeä, tai kun tiedät käyttäjiesi huomaavan eron.

Kaksi lähestymistapaa voivat olla samassa pyynnössä. Yleinen koodi toimii usein varakoodina ja alueellinen koodi tietyn markkinan kokemukselle, molemmat palautetaan yhdessä vastauksessa.


Mikään ei rikkoudu nykyisille käyttäjille

Kaikki nykyiset kielikoodit toimivat kuten ennenkin. Uudet koodit ovat lisäyksiä. Jos annat tällä hetkellä fr, saat saman tuloksen. Jos haluat erityisesti Kanadan ranskan, lisää fr-CA kohteisiisi. Kaksi voi olla samassa kutsussa ilman ristiriitoja.


Hanki API-avaimesi osoitteesta usepolylingo.com — ilmainen taso sisältää 50 000 tokenia kuukaudessa.