Как действието комуникира с 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. Отворете един брой ако ви трябва още един — интерфейсът на парсера е малък (парс → карти → прилагане на преводи → формат) и приносите са добре дошли.