Δείτε CHANGELOG.md για την πλήρη ιστορία.
Κυκλοφορίες
3.2.0 —
- Smart change detection now defaults to
smart: a compact provider-neutral state manifest (.github/resource-translator-state.json) tracks parser keys, source hashes, target hashes, and translation-affecting settings so only changed or missing keys are sent to the selected provider. UsechangeDetection=disabledorfalsefor legacy always-translate behavior,statePathto relocate the manifest, andsnapshotOnlyto bootstrap the manifest from existing target files without calling a provider. The same release adds nested {provider} blocks, AWS/Google-native behavior knobs, narrow-friendly reference cards, and official provider-doc links. Key-level audit rule codes are logged for every decision.
3.1.0 —
- Πολλαπλοί προμηθευτές: μεταφράσετε με Azure AI Translator, AWS Translate ή Google Cloud Translation πίσω από μια ενοποιημένη επιφάνεια API. Επιλέξτε έναν μόνο πάροχο ανά εκτέλεση με τη νέα είσοδο
provider. η ενέργεια ανατίθεται στο αντίστοιχο SDK πίσω από ένα εργοστάσιο και συμπεριφέρεται πανομοιότυπα ανεξάρτητα από τον προμηθευτή. Πλήρως συμβατό με προηγούμενες εκδόσεις —providerπροεπιλογή σεazure, έτσι ώστε οι υπάρχουσες ροές εργασίας Azure να συνεχίζουν να λειτουργούν αμετάβλητες. - Νέος πάροχος AWS Translate (
@aws-sdk/client-translate). Έλεγχος ταυτότητας με την προεπιλεγμένη αλυσίδα διαπιστευτηρίων AWS (συνιστάται: OIDC μέσω aws-actions/configure-aws-credentials) ή ρητήawsAccessKeyId/awsSecretAccessKey. περιοχή μέσωawsRegionήAWS_REGION. - Νέος πάροχος μετάφρασης Google Cloud (
@google-cloud/translate, v2). Έλεγχος ταυτότητας με διαπιστευτήριο JSON λογαριασμού υπηρεσίας (googleCredentials) ή κλειδί API (googleApiKey). προαιρετικήgoogleProjectId. - Νέες είσοδοι:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - Αντιστοίχιση προσδιοριστή πρόθεσης:
textTypeχάρτες στοformatτης Google και χάρτεςprofanityActionσε απόκρυψη βωμολοχιών AWS όπου υπάρχει αντίστοιχο. Οι προσδιοριστές μόνο Azure (categoryId,apiVersion,profanityMarker,allowFallback) παραβλέπονται από άλλες υπηρεσίες παροχής. - Οι είσοδοι αιτήματος Azure (
subscriptionKey,endpoint,region) δεν επισημαίνονται πλέον ως απαραίτητες στοaction.yml, ώστε να μπορούν να επιλεγούν άλλοι πάροχοι — εξακολουθούν να επικυρώνονται κατά τον χρόνο εκτέλεσης ότανproviderείναιazure. - Νέα σελίδα υπηρεσιών παροχής μετάφρασης, καρτέλες υπηρεσιών παροχής στην επιλογή Γρήγορα αποτελέσματα, επιλογή παρόχου στη σελίδα Είσοδοι και μια ανανεωμένη αρχική σελίδα που οδηγεί με Azure, AWS και Google.
3.0.2 —
- Διορθώθηκε: Τα αιτήματα μεταφραστή τώρα καρφιτσώνουν
api-version=3.0στο καλώδιο τόσο για/translateόσο και για/languages. Το Azure SDK τιμά την επιλογή έκδοσης api σε επίπεδο προγράμματος-πελάτη μόνο όταν μεταβιβάζεται ένα διαπιστευτήριο. Η ενέργεια ελέγχει την ταυτότητα ανά αίτημα μέσω κεφαλίδων, έτσι ώστε η επιλογή να απορριφθεί σιωπηλά και τα αιτήματα να προεπιλεγούν σε μια έκδοση API προεπισκόπησης της οποίας η σύμβαση/translateαπέρριψε το σώμα με HTTP 400 (κωδικός σφάλματος400074). Ολοκληρώνει την επιδιόρθωση που ξεκίνησε στην έκδοση 3.0.1.
3.0.1 —
- Διορθώθηκε: Το σώμα αιτήματος
/translateείναι πλέον ένας γυμνός πίνακας JSON{ text }στοιχείων αντί για ένα τυλιγμένο αντικείμενο{ inputs }, που ταιριάζει με το συμβόλαιο REST v3.0. Από μόνο του αυτό δεν αποκατέστησε τις μεταφράσεις — βλέπε 3.0.2.
3.0.0 —
- Ανέβηκε στο χρόνο εκτέλεσης
node24(ΣΠΑΣΙΜΟ). - Νέες είσοδοι:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnError, καθώς και προηγμένα κουμπιά μεταφραστήtextType,profanityAction,profanityMarkerκαιallowFallback. - Οι τοπικές ρυθμίσεις προέλευσης προωθούνται τώρα και στον Μεταφραστή ως
from=<locale>έτσι ώστε οι σύντομες συμβολοσειρές να μην ανιχνεύονται αυτόματα. - Ανθεκτικότητα: αυτόματη επανάληψη σε παροδικές αποκρίσεις HTTP (
408, 425, 429, 500, 502, 503, 504) που τιμούν την κεφαλίδαRetry-Afterτου Azure — πέφτει πίσω στην εκθετική οπισθοδρόμηση όταν απουσιάζει. Ρυθμιζόμενο μέσωmaxRetriesκαιretryBackoffMs. Κλείνει το #46. - Προστασία κράτησης θέσης: διακριτικά όπως οι οντότητες
{{name}},${var},{0},{0:N2},%s,%1$sκαι HTML τυλίγονται σε φρουρούς πριν από τη μετάφραση και αποκαθίστανται στη συνέχεια, έτσι ώστε ο μεταφραστής να σταματήσει να παραμορφώνει τα σύμβολα κράτησης θέσης i18next/Mustache/Handlebars/.NET/printf. Εναλλαγή μέσωprotectPlaceholders. επεκτείνονται μεcustomPlaceholderPatterns. Σφίγγει #16. - Εξαίρεση ανά κλειδί: νέα εισαγωγή
noTranslatePatternsαπορρίπτει πλήρως τα ίδια κλειδιά από το αίτημα του Μεταφραστή (διατηρεί τις πηγαίες τιμές για εμπορικά ονόματα, κωδικούς σφάλματος, κ.λπ.). Αντιστοιχίζει μοτίβα σφαιρών με πλήκτρα επιπέδου αναλυτή (διακεκομμένη διαδρομή JSON,nameRESX,msgidPO,idμονάδας XLIFF, πλήκτρο INI/restext). Κλείνει #35. - Διαμόρφωση σε επίπεδο αποθετηρίου μέσω
.github/resource-translator.yml. - Υποστήριξη γλωσσαρίου, περίληψη βημάτων μέσω
core.summary. - esbuild bundler, ESLint 9 flat config, Prettier, EditorConfig.
- Έλεγχος NPM καθαρός (0 ευπάθειες).
- Ιστότοπος εγγράφων Astro + Tailwind v4 με μεταβάσεις προβολής και εκφραστικό κώδικα.
- Προσβασιμότητα εγγράφων: WCAG 2.1 AA πάσα. Οι γλυφές λογότυπων μετατρέπονται σε διαδρομές, ώστε να μην αποτυγχάνουν πλέον στην αντίθεση χρώματος σε σχέση με τις διαβαθμίσεις, το αιωρούμενο κουμπί
Back to topχρησιμοποιείinertενώ είναι κρυμμένο (αντί για μια εναλλαγήaria-hiddenπου το άφηνε με καρτέλες),formats.astroοι ενότητες δεν συγκρούονται πλέον με τα αναγνωριστικά επικεφαλίδων που δημιουργούνται αυτόματα, τρεις κάρτες τοπικών ρυθμίσεων εκθέτουν πλέον χαρακτηριστικάlangπου ισχύουν για το BCP-47 (nya→ny,lug→lg,run→rn), διπλότυπεςDocumentationετικέτες ορόσημων αποσαφηνίζονται μεταξύ πλευρικής γραμμής και υποσέλιδου, και κάθε πίνακας δεδομένων στοinputs/configurationαποστέλλεται με λεζάντα προγράμματος ανάγνωσης οθόνης. - Στυλ ενσωματωμένου κώδικα: Docs Prose
<code>φοράει πλέον τη ζεστή/πορτοκαλί θεματική προφορά — διαφορετική από την παλέτα επωνυμίας→προφοράς που χρησιμοποιείται για συνδέσμους και επικεφαλίδες. - Αυτόματη συγχώνευση Dependabot, σάρωση CodeQL, μήτρα CI.
2.2.1 —
- Security: bumped axios (1.4.0 → 1.6.0), @babel/traverse, semver, and tough-cookie/@azure/ms-rest-js to clear Dependabot alerts.
2.2.0 —
- Maintenance release (dependency and dist refresh).
2.1.9 —
- Dependency upgrades (including xml2js 0.4.23 → 0.5.0) and a refreshed dist build.
2.1.8 —
- Security: bumped follow-redirects, node-fetch, decode-uri-component, minimist, ansi-regex, jsdom, json5, minimatch, and @actions/core (1.2.6 → 1.9.1).
2.1.7 —
- Use a different delimiter when building the translation map so keys containing the previous separator are handled correctly (#36).
- Fixes #32.
2.1.6 —
- Assorted bug fixes and improved logging.
2.1.5 —
- Fix an issue with file names containing four segments.
2.1.4 —
- Added a JSON parser and .json file support.
- Fix batching bug (#18).
2.1.3 —
- Maintenance release.
2.1.2 —
- Fixes #15.
2.1.1 —
- Fix the generated step summary.
2.1.0 —
- Support for additional resource file formats beyond .resx: .ini, .po, .restext, and .xliff.
2.0.4 —
- Maintenance release.
2.0.3 —
- Fixes a batching bug and other related issues.
2.0.2 —
- File filtering to limit excessive translations.
- Batching of the translate API call to avoid rate limiting.
2.0.1 —
- New action outputs: has-new-translations, summary-title, and summary-details.
- Fix a bug where an error was logged but the action failure was not set.
2.0.0 —
- First official, fully functional and verified release.
1.0.1 —
- Build release.
1.0.0 —
- Initial release of the Azure AI Translator resource action (.resx support).
0.0.x —
- Initial prototype pre-releases (tags 0.01–0.09).