תרגם קבצי JSON מבלי לשנות את המפתחות שלך.
המפתחות נשארים מפתחות. ההיררכיה נשמרת שלמה. רק ערכי המחרוזות מתורגמים — ורק הם. כל סוג נכס אחר נשמר בדיוק כפי שנשלח.
כלי תרגום סטנדרטיים לא מבינים JSON.
ממשקי תרגום כלליים רואים את ה-JSON שלך כקיר טקסט. הם מתרגמים שמות מפתחות לצד הערכים. הם מפשטים אובייקטים מקוננים. הם מחברים מחרוזות שלא צריכים להיות מחוברות. מה שמתקבל הוא JSON שבור מבחינה מבנית ודורש תיקון ידני לפני שניתן להשתמש בו. אם אתה מנהל קבצי לוקליזציה לאפליקציה פרודקשן, אתה יודע שהזנתם לממשק תרגום סטנדרטי יוצרת יותר עבודה ממה שהיא חוסכת.
הבעיה עמוקה יותר משמות מפתחות בלבד. ממשקי תרגום סטנדרטיים גם משבשים משתני אינטרפולציה. מחרוזת כמו "Hello {name}, you have {count} messages" חוזרת עם שמות המשתנים מתורגמים — "Hola {nombre}, tienes {cuenta} mensajes" — מה ששובר כל זמן ריצה שציפה לשם המשתנה המקורי. שעות של איתור באגים עוקבות.
לצוותים שמנהלים קבצי לוקליזציה במספר שפות לאפליקציה פרודקשן, זו לא דאגה תיאורטית. זה כבר קרה. השאלה היא כמה זמן תהליך התיקון הידני לוקח בכל פעם.
PolyLingo סורק את ה-JSON שלך לפני התרגום.
PolyLingo מבין את מבנה ה-JSON. הוא סורק רקורסיבית את האובייקט שלך, מזהה ערכי מחרוזות המכילים טקסט לתרגום, ושולח רק את אותם ערכים למודל התרגום. שמות המפתחות לעולם אינם משתנים. מספרים, בוליאנים, ערכי null וסוגים שאינם מחרוזות עוברים ללא שינוי. הפלט הוא JSON תקין עם מבנה זהה — רק עם ערכי מחרוזות מתורגמים.
משתני אינטרפולציה — {name}, {{count}}, %s ודפוסים דומים — מזוהים ונשמרים לאורך כל תהליך התרגום. הם מוחלפים במקומות שמורים לפני התרגום, ומוחזרים לצורתם המקורית בפלט. מודל התרגום לעולם אינו רואה אותם כטקסט לתרגום.
מערכים מטופלים כראוי: כל אלמנט מחרוזת מתורגם, בעוד שמספרי אינדקס ומבנה המערך נשארים ללא שינוי. מערכים מעורבים המכילים מחרוזות וסוגים שאינם מחרוזות (מספרים, אובייקטים) מטופלים נכון כאשר סוגים שאינם מחרוזות עוברים ללא שינוי.
{
"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\"}",
# ...
# }
# }מה ש-PolyLingo מבטיח בכל תרגום JSON
- ✓שמות מפתחות לעולם אינם משתנים
- ✓אובייקטים ומערכים מקוננים מטופלים רקורסיבית
- ✓מספרים, בוליאנים ו-null עוברים ללא שינוי
- ✓כל 43 השפות בבקשה אחת
- ✓זוהה אוטומטית כ-JSON — אין צורך בדגל פורמט
- ✓עובד עם קבצי לוקליזציה שטוחים ועמוקים
- ✓משתני אינטרפולציה ({name}, {{count}}, %s) נשמרים בדיוק
- ✓הפלט הוא JSON תקין — ניתן לפרסר ללא שינוי
שלושה שלבים לקבצי לוקליזציה מתורגמים
הדבק את ה-JSON שלך או קרא ל-API
השתמש במתרגם ללא קוד לתרגומים חד-פעמיים: הדבק את ה-JSON שלך, בחר את השפות, הורד את הקבצים המתורגמים. לאוטומציה, קרא ל-POST /v1/translate עם תוכן ה-JSON וקודי השפות היעד.
קבל את כל השפות בתגובה אחת
ה-API מחזיר אובייקט JSON עם כניסה אחת לכל שפת יעד, שכל אחת מכילה את קובץ הלוקליזציה המתורגם במלואו עם מבנה זהה. אין קריאות נפרדות לכל שפה. אין לולאות. בקשה אחת לכל הפלטים.
הכנס את הפלטים לתיקיית ההודעות שלך
כתוב כל קובץ מתורגם ל-messages/es.json, messages/fr.json, messages/de.json — או לכל מקום שהספרייה i18n שלך מצפה להם. המבנה זהה לקובץ המקור, כך שאין צורך בעיבוד נוסף.
מתי תרגום JSON חשוב במיוחד
i18n לאפליקציות עם next-intl או i18next
תרגם ישירות את הקבצים messages/*.json או locales/*.json שלך. המפתחות נשארים שלמים, ההיררכיה נשמרת, ומשתני אינטרפולציה עוברים ללא שינוי. הכנס את הקבצים לתיקיית ההודעות ופרוס.
ייצוא תוכן מ-CMS
פלטפורמות CMS ללא ראש לרוב מייצאות תוכן מובנה כ-JSON. PolyLingo מתרגם את ערכי המחרוזות תוך שמירה על שמות השדות, סוגי התוכן המקוננים וערכים שאינם מחרוזות כמו תאריכים, בוליאנים ומזהים.
תגובות API וקבצי קונפיגורציה
כל מבנה JSON עם ערכי מחרוזות לתרגום — תיאורי מוצרים, תבניות התראות, טקסט באפליקציה המוגש דרך API — ניתן לתרגום מבלי לשנות את המבנה שהאפליקציה שלך תלויה בו.
שאלות נפוצות על תרגום JSON
האם משתני אינטרפולציה כמו {name} או {{count}} נשמרים?
כן. PolyLingo מזהה דפוסי אינטרפולציה נפוצים כולל {variable}, {{variable}}, %(variable)s, ו-%s לפני התרגום. אלה מוחלפים במקומות שמורים יציבים, הטקסט הסובב מתורגם, ושמות המשתנים המקוריים מוחזרים בפלט. מודל התרגום לעולם אינו רואה את שמות המשתנים כטקסט לתרגום.
מה קורה לערכים שאינם מחרוזות — מספרים, בוליאנים, null?
ערכים שאינם מחרוזות עוברים ללא שינוי מוחלט. PolyLingo מתרגם רק ערכי מחרוזות המכילים טקסט בשפה טבעית. מספרים, בוליאנים, ערכי null ומערכים של סוגים שאינם מחרוזות נשמרים בדיוק כפי שהם מופיעים במקור.
האם PolyLingo יכול לטפל במבני JSON מקוננים עמוקים?
כן. PolyLingo סורק רקורסיבית אובייקטים בכל עומק קוננות. התרגום חל על כל ערכי המחרוזות לאורך כל המבנה, ללא קשר לעומק הקוננות.
מה אם חלק מהמפתחות מכילים תוכן שאינו לתרגום כמו סלאגים או קודים?
PolyLingo מתרגם את כל ערכי המחרוזות כברירת מחדל. אם יש לך שדות מחרוזת שלא צריכים תרגום — סלאגים, קודי שפה, מזהים טכניים — הגישה המומלצת היא או לא לכלול אותם ב-JSON שאתה שולח, או להשתמש בפרמטר פורמט מפורש ולציין שדות לדילוג (בקרוב). ברוב קבצי הלוקליזציה, כל ערכי המחרוזות מיועדים לתרגום.
האם זה עובד עם JSON5 או JSONC (JSON עם הערות)?
כעת PolyLingo מעבד JSON סטנדרטי. JSON5 ו-JSONC (עם הערות) צריכים לעבור עיבוד מוקדם להסרת הערות ולהמרה ל-JSON סטנדרטי לפני השליחה. זהו שלב נפוץ בצנרת בנייה ומוסיף עומס מינימלי.
כמה שפות אפשר ליעד בבקשה אחת?
עד 30 שפות נתמכות בבקשה אחת. התגובה מכילה אובייקט JSON מתורגם אחד לכל קוד שפה. מגבלות קצב משתנות לפי התוכנית — השכבה החינמית מאפשרת 10 בקשות לדקה, בעוד שתוכניות Growth ו-Scale מאפשרות 200–600 בקשות לדקה.
תרגם את קבצי הלוקליזציה שלך בשניות.
הדבק את ה-JSON שלך, בחר את השפות, וקבל קבצי לוקליזציה תקינים לכל שפה יעד.
התחל לתרגם בחינםהדבק את JSON הלוקליזציה שלך וראה את הפלט — בחינם, ללא צורך בחשבון.