Как действието комуникира с Azure?
Чрез официалния SDK на Microsoft @azure-rest/ai-translation-text, наслагван върху @azure/core-rest-pipeline. Това ви осигурява автоматични повторни опити на 408/429/5xx, модели на написани заявки и отговори, както и безплатна обработка на заглавия за автентикация — всичко, което преди беше ръчно записано axios обаждане. Публичната повърхност за действие (входове, изходи, изходи на файлове) остава непроменена.
Защо преводите понякога са извън марката или не в тона?
Машинният превод по подразбиране се базира на модел с общо предназначение. Три копчета помагат: Речник за твърди терминни преписвания, Категория Custom Translator за прецизно настроени модели, обучени на твоя тон и речник, и profanityAction за премахване или маркиране на нецензурни думи.
Как да избегна превеждане на един и същ файл два пъти?
Задействай работния процес на paths, които съвпадат само с файловете на изходния ти код, например **/*.en.resx. Действието включва и собствен филтър за всеки тригър, когато GITHUB_TOKEN е зададен, като стеснява работата до файлове в последния комит.
Мога ли да пусна действието офлайн?
Не точно — Azure AI Translator е мозъкът по време на изпълнение. Но можеш да работиш с dryRun: true за валидиране на парсинг и конфигурация, без да правиш HTTP заявки за превод.
На коя версия на Node се изпълнява действието?
v3 работи в GitHub Actions node24 runtime. Включеният JavaScript е съвместим с Node 20, 22 и 24, което е това, което CI тества.
Откъде идва пакетният dist/?
Действията на GitHub JS изпращат компилирания си JS в хранилището. Работният процес на dist-build го преизгражда след всяко сливане, за да main дали ще се отклони, и dist-check блокира PR-и, които биха получили остарял изход.
А какво да кажем за други формати на ресурси?
Днес: .resx, .xliff, .po, .json, .ini, .restext. Отворете един брой ако ви трябва още един — интерфейсът на парсера е малък (парс → карти → прилагане на преводи → формат) и приносите са добре дошли.