Tafsiri faili za eneo la JSON bila kugusa funguo zako.
Funguo hubaki funguo. Uingizaji hubaki kama ulivyo. Thamani za maandishi pekee ndizo zinazotafsiriwa — na ni thamani za maandishi pekee. Aina nyingine zote za mali hurudi kama zilivyotumwa.
Zana za kawaida za tafsiri hazielewi JSON.
API za tafsiri za kawaida huona JSON yako kama ukuta wa maandishi. Hutafsiri majina ya funguo pamoja na thamani. Huzibua vitu vilivyoingia ndani. Huchanganya mistari ambayo haipaswi kuchanganywa. Kinachorejea ni JSON iliyovunjika kiundani ambayo inahitaji marekebisho ya mkono kabla ya kutumika. Ikiwa unatunza faili za eneo kwa programu ya uzalishaji, unajua kuwa kuziingiza kwenye API ya kawaida ya tafsiri huleta kazi zaidi kuliko inavyookoa.
Tatizo ni kubwa zaidi kuliko majina ya funguo tu. API za kawaida za tafsiri pia huharibu vigezo vya uingizaji. Mstari 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 zinazotunza 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 urudia, hutambua thamani za maandishi 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 maandishi hupitishwa bila kubadilika. Matokeo ni JSON halali yenye muundo sawa — lakini na thamani za maandishi zilizotafsiriwa.
Vigezo vya uingizaji — {name}, {{count}}, %s, na mifumo kama hiyo — hutambuliwa na kuhifadhiwa wakati wote wa mchakato wa tafsiri. Hubadilishwa na viashiria kabla ya tafsiri, na kurejeshwa katika asili yao katika matokeo. Mfano wa tafsiri hauwahi kuiona kama maandishi ya kutafsiriwa.
Safu zinashughulikiwa kwa usahihi: kila kipengele cha maandishi hutafsiriwa, wakati viashiria vya nambari na muundo wa safu hubaki kama ulivyo. Safu mchanganyiko zenye maandishi na zisizo za maandishi (nambari, vitu) hupitiwa kwa usahihi na aina zisizo za maandishi 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 kinachodhamini kwa kila tafsiri ya JSON
- ✓Majina ya funguo hayabadilishiwi kamwe
- ✓Vitu vilivyoingia ndani na safu zinashughulikiwa kwa urudia
- ✓Nambari, boolean, thamani za null hupitishwa bila kubadilika
- ✓Lugha zote 43 kwa ombi moja
- ✓Inatambuliwa moja kwa moja kama JSON — hakuna bendera ya muundo inahitajika
- ✓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 simu 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 kwa 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 simu kwa 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 lako la chanzo, hivyo hakuna usindikaji zaidi unaohitajika.
Wapi tafsiri ya JSON inakuwa 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 maandishi huku ikihifadhi majina ya sehemu, aina za maudhui zilizoingia ndani, na thamani zisizo za maandishi kama tarehe, boolean, na vitambulisho.
Majibu ya API na faili za usanidi
Muundo wowote wa JSON wenye thamani za maandishi 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 maandishi — nambari, boolean, null?
Thamani zisizo za maandishi hupitishwa bila kubadilika kabisa. PolyLingo hutafsiri thamani za maandishi tu zenye maandishi ya lugha ya asili. Nambari, boolean, thamani za null, na safu za zisizo za maandishi huhifadhiwa kama zilivyo chanzo.
Je, PolyLingo inaweza kushughulikia miundo ya JSON iliyozama ndani sana?
Ndiyo. PolyLingo hupitia vitu vyenye uingizaji wowote kwa urudia. Tafsiri hutumika kwa thamani zote za maandishi katika muundo mzima, bila kujali uingizaji wao ni wa kina kiasi gani.
Je, vigezo vingine vinavyoweza kuwa na maudhui yasiyotafsiriwa kama slugs au nambari za msimbo vinashughulikiwa vipi?
PolyLingo hutafsiri thamani zote za maandishi kwa chaguo-msingi. Ikiwa una sehemu za maandishi ambazo hazipaswi kutafsiriwa — slugs, nambari za lugha, vitambulisho vya kiufundi — njia inayopendekezwa ni kuziondoa kutoka kwenye JSON unayotuma, au kutumia kipengele cha muundo maalum na kubainisha sehemu za kuepuka (inakuja hivi karibuni). Kwa faili nyingi za eneo, thamani zote za maandishi zinalengwa kutafsiriwa.
Je, inafanya kazi na JSON5 au JSONC (JSON yenye maoni)?
Kwa sasa PolyLingo inashughulikia JSON ya kawaida. JSON5 na JSONC (zenye maoni) zinapaswa kusafishwa kabla ya kutuma ili kuondoa maoni na kubadilisha kuwa JSON ya kawaida. Hii ni hatua ya kawaida katika mchakato wa kujenga na huongeza mzigo mdogo tu.
Naweza kulenga lugha ngapi kwa ombi moja?
Hadi lugha zote 30 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
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 inahitajika.