Tafsiri faili za eneo la JSON bila kugusa funguo zako.
Funguo hubaki funguo. Uingizaji hubaki kama ulivyo. Thamani za mfuatano pekee ndizo zinazotafsiriwa — na ni thamani za mfuatano pekee. Aina nyingine zote za mali hurudi kama zilivyo.
Zana za kawaida za tafsiri hazielewi JSON.
API za tafsiri za jumla huona JSON yako kama ukuta wa maandishi. Hutaafsiri majina ya funguo pamoja na thamani. Hupunguza vitu vilivyoingia ndani. Huchanganya mfuatano ambao haupaswi kuchanganywa. Kinachorudi ni JSON iliyovunjika kiundani ambayo inahitaji marekebisho ya mkono kabla ya kutumika. Ikiwa unahifadhi faili za eneo kwa programu ya uzalishaji, unajua kuwa kuziingiza kwenye API ya kawaida ya tafsiri huleta kazi zaidi kuliko kuokoa.
Tatizo ni kubwa zaidi kuliko majina ya funguo tu. API za kawaida za tafsiri pia hubomoa vigezo vya uingizaji. Mfuatano kama "Hello {name}, you have {count} messages" hurudi na majina ya vigezo yamebadilishwa — "Hola {nombre}, tienes {cuenta} mensajes" — ambayo huvunja kila wakati wa utekelezaji uliotarajia jina la asili la kigezo. Saa za kutatua matatizo hufuata.
Kwa timu zinazohifadhi faili za eneo kwa lugha nyingi kwa programu ya uzalishaji, hili si tatizo la nadharia. Tayari limetokea. Swali ni ni muda gani mchakato wa marekebisho ya mkono unachukua kila wakati.
PolyLingo hupitia JSON yako kabla ya kutafsiri.
PolyLingo inaelewa muundo wa JSON. Inapitia kitu chako kwa kurudia, hutambua thamani za mfuatano zenye maandishi ya kutafsiri, na hutuma thamani hizo pekee kwa mfano wa tafsiri. Majina ya funguo hayabadilishiwi kamwe. Nambari, boolean, thamani za null, na aina zisizo za mfuatano hupitishwa bila kubadilika. Matokeo ni JSON halali yenye muundo sawa — lakini na thamani za mfuatano zilizotafsiriwa.
Vigezo vya uingizaji — {name}, {{count}}, %s, na mifumo kama hiyo — hutambuliwa na kuhifadhiwa katika mchakato mzima wa tafsiri. Hubadilishwa na viashiria kabla ya tafsiri, na kurejeshwa katika asili yao katika matokeo. Mfano wa tafsiri hauwahi kuiona kama maandishi ya kutafsiri.
Safu zinashughulikiwa kwa usahihi: kila kipengele cha mfuatano hutafsiriwa, wakati viashiria vya nambari na muundo wa safu hubaki kama ulivyo. Safu mchanganyiko zenye mfuatano na zisizo za mfuatano (nambari, vitu) hupitiwa kwa usahihi na aina zisizo za mfuatano hupitishwa bila kubadilika.
{
"nav_home": "Home",
"nav_pricing": "Pricing",
"hero_title": "Grow your audience globally",
"hero_cta": "Get started for free",
"footer_rights": "All rights reserved."
}{
"nav_home": "Accueil",
"nav_pricing": "Tarifs",
"hero_title": "Développez votre audience mondiale",
"hero_cta": "Commencer gratuitement",
"footer_rights": "Tous droits réservés."
}{
"nav": {
"home": "Home",
"pricing": "Pricing",
"blog": "Blog"
},
"hero": {
"title": "Grow your audience globally",
"subtitle": "Translate in seconds.",
"cta": "Get started for free"
},
"errors": {
"notFound": "Page not found",
"serverError": "Something went wrong"
}
}{
"nav": {
"home": "Inicio",
"pricing": "Precios",
"blog": "Blog"
},
"hero": {
"title": "Expande tu audiencia globalmente",
"subtitle": "Traduce en segundos.",
"cta": "Comienza gratis"
},
"errors": {
"notFound": "Página no encontrada",
"serverError": "Algo salió mal"
}
}curl -X POST https://api.usepolylingo.com/v1/translate \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "{\"nav_home\": \"Home\", \"hero_title\": \"Get started\"}",
"format": "json",
"targets": ["es", "fr", "de", "ja", "zh"],
"model": "standard"
}'
# Response:
# {
# "translations": {
# "es": "{\"nav_home\": \"Inicio\", \"hero_title\": \"Empezar\"}",
# "fr": "{\"nav_home\": \"Accueil\", \"hero_title\": \"Commencer\"}",
# ...
# }
# }Kile PolyLingo kinachohakikisha kwa kila tafsiri ya JSON
- ✓Majina ya funguo hayabadilishiwi kamwe
- ✓Vitu vilivyoingia ndani na safu zinashughulikiwa kwa kurudia
- ✓Nambari, boolean, thamani za null hupitishwa bila kubadilika
- ✓Lugha 36 zote katika ombi moja
- ✓Inatambuliwa moja kwa moja kama JSON — hakuna bendera ya muundo inayohitajika
- ✓Inafanya kazi na faili za eneo zenye muundo wa kawaida na uliyoingia ndani sana
- ✓Vigezo vya uingizaji ({name}, {{count}}, %s) huhifadhiwa kwa usahihi
- ✓Matokeo ni JSON halali — yanaweza kusomwa bila marekebisho
Hatua tatu za faili za eneo zilizotafsiriwa
Bandika JSON yako au piga API
Tumia mtafsiri wa bila msimbo kwa tafsiri za mara moja: bandika JSON yako, chagua lugha zako, pakua faili zilizotafsiriwa. Kwa otomatiki, piga POST /v1/translate na maudhui ya JSON na misimbo ya lugha lengwa.
Pokea lugha zote katika jibu moja
API hurudisha kitu cha JSON chenye kipengele kimoja kwa kila lugha lengwa, kila kikiwa na faili kamili ya eneo iliyotafsiriwa na muundo sawa. Hakuna wito wa kila lugha. Hakuna mizunguko. Ombi moja kwa matokeo yote.
Weka matokeo kwenye saraka yako ya ujumbe
Andika kila faili iliyotafsiriwa kwenye messages/es.json, messages/fr.json, messages/de.json — au mahali popote maktaba yako ya i18n inavyotarajia. Muundo ni sawa na faili yako ya chanzo, hivyo hakuna usindikaji zaidi unaohitajika.
Wapi tafsiri ya JSON ni muhimu zaidi
i18n ya programu na next-intl au i18next
Tafsiri moja kwa moja faili zako za messages/*.json au locales/*.json. Funguo hubaki kama zilivyo, uingizaji huhifadhiwa, na vigezo vya uingizaji hupita bila kubadilika. Weka faili kwenye saraka yako ya ujumbe na tuma.
Usafirishaji wa maudhui ya CMS
Majukwaa ya CMS yasiyo na kichwa mara nyingi husafirisha maudhui yaliyopangwa kama JSON. PolyLingo hutafsiri thamani za mfuatano huku ikihifadhi majina ya sehemu, aina za maudhui zilizoingia ndani, na thamani zisizo za mfuatano kama tarehe, boolean, na vitambulisho.
Majibu ya API na faili za usanidi
Muundo wowote wa JSON wenye thamani za mfuatano zinazotafsiriwa — maelezo ya bidhaa, templeti za arifa, nakala za ndani ya programu zinazotolewa kupitia API — zinaweza kutafsiriwa bila kubadilisha muundo unaotegemea programu yako.
Maswali yanayoulizwa mara kwa mara kuhusu tafsiri ya JSON
Je, vigezo vya uingizaji kama {name} au {{count}} huhifadhiwa?
Ndiyo. PolyLingo hutambua mifumo ya kawaida ya uingizaji ikiwa ni pamoja na {variable}, {{variable}}, %(variable)s, na %s kabla ya tafsiri. Hizi hubadilishwa na viashiria thabiti, maandishi yanayozunguka hutafsiriwa, na majina ya asili ya vigezo hurudishwa kwenye matokeo. Mfano wa tafsiri hauwahi kuona majina ya vigezo kama maudhui ya kutafsiri.
Nini hutokea kwa thamani zisizo za mfuatano — nambari, boolean, null?
Thamani zisizo za mfuatano hupitishwa bila kubadilika kabisa. PolyLingo hutafsiri thamani za mfuatano tu zenye maandishi ya lugha ya asili. Nambari, boolean, thamani za null, na safu za zisizo za mfuatano huhifadhiwa kama zilivyo chanzo.
Je, PolyLingo inaweza kushughulikia miundo ya JSON iliyozama ndani sana?
Ndiyo. PolyLingo hupitia vitu vyenye uingizaji wowote kwa kurudia. Tafsiri hutumika kwa thamani zote za mfuatano katika muundo mzima, bila kujali kina cha uingizaji.
Je, vipi ikiwa baadhi ya funguo zina maudhui yasiyotafsiriwa kama slugs au nambari?
PolyLingo hutafsiri thamani zote za mfuatano kwa chaguo-msingi. Ikiwa una sehemu za mfuatano ambazo hazipaswi kutafsiriwa — slugs, misimbo ya lugha, vitambulisho vya kiufundi — njia inayopendekezwa ni kuziondoa kutoka JSON unayotuma, au tumia parameter ya muundo wazi na bainisha sehemu za kuruka (inakuja hivi karibuni). Kwa faili nyingi za eneo, thamani zote za mfuatano zinalengwa kutafsiriwa.
Je, inafanya kazi na JSON5 au JSONC (JSON yenye maoni)?
Kwa sasa PolyLingo inashughulikia JSON ya kawaida. JSON5 na JSONC (yenye maoni) zinapaswa kusafishwa kuondoa maoni na kubadilishwa kuwa JSON ya kawaida kabla ya kutuma. Hii ni hatua ya kawaida katika mchakato wa ujenzi na huongeza mzigo mdogo.
Naweza kulenga lugha ngapi kwa ombi moja?
Hadi lugha zote 36 zinazoungwa mkono kwa ombi moja. Jibu lina kitu kimoja cha JSON kilichotafsiriwa kwa kila msimbo wa lugha. Mipaka ya kiwango hutofautiana kulingana na mpango — kiwango cha bure huruhusu maombi 10 kwa dakika, wakati mipango ya Growth na Scale huruhusu maombi 200–600 kwa dakika.
Miongozo inayohusiana
Ongeza lugha nyingi kwa Next.js
Jinsi PolyLingo inavyofaa katika mtiririko wa next-intl au next-i18next.
Tafsiri Markdown bila kuvunja muundo
Kwa maudhui yanayoishi katika faili za .md badala ya JSON.
Lugha nyingi kwa CMS isiyo na kichwa
Kutafsiri maudhui ya Sanity, Contentful, na Webflow kwenye ngazi ya CMS.
Tafsiri faili zako za eneo kwa sekunde.
Bandika JSON yako, chagua lugha zako, upate faili halali za eneo kwa kila lugha lengwa.
Anza kutafsiri bureBandika JSON yako ya eneo na uone matokeo — bure, hakuna akaunti inayohitajika.