Μεταφράστε αρχεία τοπικών ρυθμίσεων JSON χωρίς να αγγίξετε τα κλειδιά σας.
Τα κλειδιά παραμένουν κλειδιά. Η εμφωλευση παραμένει ανέπαφη. Μεταφράζονται μόνο οι τιμές συμβολοσειρών — και μόνο αυτές. Κάθε άλλος τύπος ιδιότητας επιστρέφει ακριβώς όπως στάλθηκε.
Τα τυπικά εργαλεία μετάφρασης δεν καταλαβαίνουν το JSON.
Οι γενικές API μετάφρασης βλέπουν το JSON σας ως ένα μεγάλο κείμενο. Μεταφράζουν τα ονόματα κλειδιών μαζί με τις τιμές. Επίπεδωναν εμφωλευμένα αντικείμενα. Συγκολλούν συμβολοσειρές που δεν θα έπρεπε. Αυτό που επιστρέφει είναι JSON με σπασμένη δομή που απαιτεί χειροκίνητη διόρθωση πριν χρησιμοποιηθεί. Αν διαχειρίζεστε αρχεία τοπικών ρυθμίσεων για μια παραγωγική εφαρμογή, ξέρετε ότι η εισαγωγή τους σε μια τυπική API μετάφρασης δημιουργεί περισσότερη δουλειά από όση εξοικονομεί.
Το πρόβλημα είναι βαθύτερο από τα ονόματα κλειδιών. Οι τυπικές API μετάφρασης αλλοιώνουν επίσης τις μεταβλητές παρεμβολής. Μια συμβολοσειρά όπως "Γεια σου {name}, έχεις {count} μηνύματα" επιστρέφει με τα ονόματα μεταβλητών μεταφρασμένα — "Hola {nombre}, tienes {cuenta} mensajes" — κάτι που σπάει κάθε χρόνο εκτέλεσης που περίμενε το αρχικό όνομα μεταβλητής. Ακολουθούν ώρες αποσφαλμάτωσης.
Για ομάδες που διαχειρίζονται αρχεία τοπικών ρυθμίσεων σε πολλές γλώσσες για παραγωγική εφαρμογή, αυτό δεν είναι θεωρητικό ζήτημα. Έχει ήδη συμβεί. Το ερώτημα είναι πόσο διαρκεί η χειροκίνητη διαδικασία επιδιόρθωσης κάθε φορά.
Το PolyLingo διασχίζει το JSON σας πριν τη μετάφραση.
Το PolyLingo κατανοεί τη δομή JSON. Διασχίζει αναδρομικά το αντικείμενό σας, εντοπίζει τιμές συμβολοσειρών που περιέχουν μεταφράσιμο κείμενο και στέλνει μόνο αυτές τις τιμές στο μοντέλο μετάφρασης. Τα ονόματα κλειδιών δεν τροποποιούνται ποτέ. Αριθμοί, boolean, τιμές 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
- ✓Τα ονόματα κλειδιών δεν τροποποιούνται ποτέ
- ✓Τα εμφωλευμένα αντικείμενα και πίνακες διαχειρίζονται αναδρομικά
- ✓Αριθμοί, boolean, τιμές null περνούν ανέπαφοι
- ✓Όλες οι 36 γλώσσες σε ένα αίτημα
- ✓Αυτόματη ανίχνευση ως 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
Διεθνοποίηση εφαρμογών με next-intl ή i18next
Μεταφράστε απευθείας τα αρχεία messages/*.json ή locales/*.json. Τα κλειδιά παραμένουν ανέπαφα, η εμφωλευση διατηρείται και οι μεταβλητές παρεμβολής περνούν χωρίς αλλαγές. Τοποθετήστε τα αρχεία στον φάκελο μηνυμάτων και αναπτύξτε.
Εξαγωγές περιεχομένου CMS
Οι πλατφόρμες headless CMS συχνά εξάγουν δομημένο περιεχόμενο ως JSON. Το PolyLingo μεταφράζει τις τιμές συμβολοσειρών διατηρώντας τα ονόματα πεδίων, τους εμφωλευμένους τύπους περιεχομένου και τις μη-συμβολοσειρικές τιμές όπως ημερομηνίες, boolean και αναγνωριστικά.
Απαντήσεις API και αρχεία ρυθμίσεων
Οποιαδήποτε δομή JSON με μεταφράσιμες τιμές συμβολοσειρών — περιγραφές προϊόντων, πρότυπα ειδοποιήσεων, κείμενα εντός εφαρμογής μέσω API — μπορεί να μεταφραστεί χωρίς να τροποποιηθεί η δομή από την οποία εξαρτάται η εφαρμογή σας.
Συχνές ερωτήσεις για τη μετάφραση JSON
Διατηρούνται οι μεταβλητές παρεμβολής όπως {name} ή {{count}};
Ναι. Το PolyLingo εντοπίζει κοινά μοτίβα παρεμβολής όπως {variable}, {{variable}}, %(variable)s και %s πριν τη μετάφραση. Αυτά αντικαθίστανται με σταθερά κράτη-θέσεις, το περιβάλλον κείμενο μεταφράζεται και τα αρχικά ονόματα μεταβλητών επανέρχονται στην έξοδο. Το μοντέλο μετάφρασης δεν βλέπει ποτέ τα ονόματα μεταβλητών ως μεταφράσιμο περιεχόμενο.
Τι συμβαίνει με τις μη-συμβολοσειρικές τιμές — αριθμοί, boolean, null;
Οι μη-συμβολοσειρικές τιμές περνούν ανέπαφες. Το PolyLingo μεταφράζει μόνο τις τιμές συμβολοσειρών που περιέχουν φυσική γλώσσα. Αριθμοί, boolean, τιμές null και πίνακες μη-συμβολοσειρών διατηρούνται ακριβώς όπως εμφανίζονται στην πηγή.
Μπορεί το PolyLingo να χειριστεί βαθιά εμφωλευμένες δομές JSON;
Ναι. Το PolyLingo διασχίζει αναδρομικά αντικείμενα οποιουδήποτε βάθους εμφωλευσης. Η μετάφραση εφαρμόζεται σε όλες τις τιμές συμβολοσειρών σε όλη τη δομή, ανεξάρτητα από το πόσο βαθιά είναι εμφωλευμένες.
Τι γίνεται αν κάποια κλειδιά περιέχουν μη μεταφράσιμο περιεχόμενο όπως slugs ή κωδικούς;
Το PolyLingo μεταφράζει όλες τις τιμές συμβολοσειρών από προεπιλογή. Αν έχετε πεδία συμβολοσειρών που δεν πρέπει να μεταφραστούν — slugs, κωδικοί γλώσσας, τεχνικοί αναγνωριστές — η συνιστώμενη προσέγγιση είναι είτε να τα εξαιρέσετε από το JSON που στέλνετε, είτε να χρησιμοποιήσετε την παράμετρο μορφής και να ορίσετε πεδία προς παράλειψη (έρχεται σύντομα). Για τα περισσότερα αρχεία τοπικών ρυθμίσεων, όλες οι τιμές συμβολοσειρών προορίζονται για μετάφραση.
Λειτουργεί με JSON5 ή JSONC (JSON με σχόλια);
Προς το παρόν το PolyLingo επεξεργάζεται τυπικό JSON. Το JSON5 και JSONC (με σχόλια) πρέπει να προεπεξεργαστούν για να αφαιρεθούν τα σχόλια και να μετατραπούν σε τυπικό JSON πριν την αποστολή. Αυτό είναι ένα κοινό βήμα σε pipelines κατασκευής και προσθέτει ελάχιστο φόρτο.
Πόσες γλώσσες μπορώ να στοχεύσω σε ένα αίτημα;
Έως και όλες οι 36 υποστηριζόμενες γλώσσες σε ένα αίτημα. Η απάντηση περιέχει ένα μεταφρασμένο αντικείμενο JSON ανά κωδικό γλώσσας. Τα όρια ρυθμού διαφέρουν ανά πλάνο — το δωρεάν επίπεδο επιτρέπει 10 αιτήματα ανά λεπτό, ενώ τα πλάνα Growth και Scale επιτρέπουν 200–600 αιτήματα ανά λεπτό.
Σχετικοί οδηγοί
Προσθήκη πολυγλωσσικότητας στο Next.js
Πώς το PolyLingo εντάσσεται σε ροή εργασίας next-intl ή next-i18next.
Μετάφραση Markdown χωρίς να χαθεί η μορφοποίηση
Για περιεχόμενο που βρίσκεται σε αρχεία .md αντί για JSON.
Πολυγλωσσικότητα για headless CMS
Μετάφραση περιεχομένου Sanity, Contentful και Webflow σε επίπεδο CMS.
Μεταφράστε τα αρχεία τοπικών ρυθμίσεων σε δευτερόλεπτα.
Επικολλήστε το JSON σας, επιλέξτε τις γλώσσες σας, λάβετε έγκυρα αρχεία τοπικών ρυθμίσεων για κάθε γλώσσα στόχο.
Ξεκινήστε τη δωρεάν μετάφρασηΕπικολλήστε το JSON τοπικών ρυθμίσεων και δείτε το αποτέλεσμα — δωρεάν, χωρίς λογαριασμό.