Bloga geri dön
Four regional language code badges — fr-CA, pt-BR, es-MX, en-GB — connecting to a single API endpoint.

PolyLingo artık bölgesel dil kodlarını destekliyor: fr-CA, pt-BR, es-MX ve daha fazlası

By Robert M

PolyLingo artık bölgesel dil kodlarını destekliyor: fr-CA, pt-BR, es-MX ve daha fazlası

Artık PolyLingo'da hedef çeviriler olarak doğrudan bölgesel lehçe kodları gönderebilirsiniz. fr-CA, pt-BR, es-MX, en-GB ve diğer birkaç kod artık targets dizinizde geçerli değerlerdir, genel karşıtlarının yanında veya yerine.

API çağrısı yapma şeklinizde hiçbir değişiklik yok. Aynı uç nokta, aynı istek biçimi. Sadece seçebileceğiniz daha fazla geçerli kod var.


Neler eklendi

BCP-47 standardını takip eden yedi yeni bölgesel kod:

KodDil
en-GBİngilizce (Birleşik Krallık)
fr-CAFransızca (Kanada)
es-ESİspanyolca (İspanya)
es-MXİspanyolca (Meksika)
pt-PTPortekizce (Portekiz)
pt-BRPortekizce (Brezilya)
zh-HKÇince (Hong Kong)

Bunlar, zaten aynı BCP-47 konvansiyonunu kullanan mevcut zh-TW (Geleneksel Çince) ile birlikte yer alır. Hedef sayısı da 36'dan 50'ye çıkarıldı, böylece bir çağrıda birden fazla bölgesel varyant kullanan ekipler için yer açıldı.


Bölgesel kodlar neden önemli

Genel dil kodları (fr, pt, es) geniş veya karışık bir kitleye hitap ederken uygundur. Ancak bir ürünü belirli bir ülkeye gönderirken genel kodlar genellikle yeterli değildir.

Brezilya Portekizcesi ile Avrupa Portekizcesi, yerel konuşmacılar için önemli olan kelime dağarcığı, yazım ve dil seviyesi açısından farklılık gösterir. Meksika İspanyolcası ile Kastilya İspanyolcası o kadar benzerdir ki genel bir çeviri ne yabancı ne de tamamen doğal gelir. Kanada Fransızcası, Quebec'liler için hemen fark edilen Paris Fransızcasından farklı kendi kurallarına sahiptir.

Belirli bir pazara satış yapıyorsanız, o pazar için yazılmış bir çeviri hak eder. Bölgesel kodlar, ayrı bir API çağrısı veya ayrı bir iş akışı olmadan bunu mümkün kılar.


Aynı çağrı, birden fazla varyant

Genel ve bölgesel kodlar aynı istekte birlikte bulunabilir. Her biri yanıt içinde kendi anahtarına sahiptir:

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

Dört anahtar alırsınız, her biri bir koda karşılık gelir. Eğer fr ve fr-CA belirli bir metin için aynı çıktıyı veriyorsa, bu beklenen bir durumdur — anlamlı farkların olduğu kelime dağarcığı ve dil seviyesinde ayrışacaklardır.


Sadece belirli bir pazarı hedeflemek

Bilinen bir pazar için geliştiriyorsanız ve genel varyanta ihtiyacınız yoksa, sadece bölgesel kodu gönderin:

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'de pazar-spesifik hedef listesi oluşturma

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']) // Meksika İspanyolcası
console.log(result.translations['pt-BR']) // Brezilya Portekizcesi

Tek bir istek hem Latin Amerika hem de İber pazarlarını kapsar. Döngü yok, bölgeye göre toplu işlem yok.


Python'da pazara göre JSON dosyalarını çevirme

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

Çalışma zamanında desteklenen kodları keşfetme

Bir dil seçici veya dinamik hedef listesi oluşturuyorsanız, hiçbir şeyi sabit kodlamanıza gerek yoktur. GET /languages tüm listeyi, tüm bölgesel varyantlar dahil olmak üzere döner. Sadece lehçeleri almak için tire içeren kodlara göre filtreleyin:

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

Genel ve bölgesel kod ne zaman kullanılmalı

Genel kodu kullanın (pt, fr, es) kitleniz coğrafi olarak karışıksa veya bilinmiyorsa, bir pazara yeni başlıyorsanız ve geniş kapsama istiyorsanız ya da içerik teknikse ve bölgesel farklılıkların önemli olmayacağı durumlarda.

Bölgesel kodu kullanın (pt-BR, fr-CA, es-MX) belirli bir ülkeye gönderiyorsanız, ürün deneyimi başka şekillerde yerelleştirilmişse (fiyatlandırma, para birimi, tarih formatları), içeriğiniz konuşma dili veya pazarlama odaklıysa ve dil seviyesi önemliyse ya da kullanıcılarınız farkı fark edecekse.

İki yaklaşım aynı istekte bir arada bulunabilir. Yaygın bir model, genel kodu yedek olarak kullanmak ve bölgesel kodu belirli pazar deneyimi için kullanmak, her ikisi de tek bir yanıtta döner.


Mevcut kullanıcılar için hiçbir şey bozulmaz

Mevcut tüm dil kodları eskisi gibi çalışmaya devam eder. Yeni kodlar ekleyicidir. Şu anda fr gönderiyorsanız aynı çıktıyı almaya devam edersiniz. Kanada Fransızcası istiyorsanız, hedeflerinize fr-CA ekleyin. İkisi aynı çağrıda çakışma olmadan birlikte bulunabilir.


API anahtarınızı alın usepolylingo.com — ücretsiz katman ayda 50.000 token içerir.