전체 기록은 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 —
- 다중 공급업체: 하나의 통합 API 표면 뒤에 Azure AI Translator, AWS Translate, 또는 Google Cloud Translation 변환됩니다. 새로운
provider입력으로 매 실행당 단일 공급자를 선택; 이 동작은 공장 뒤에 있는 매칭 SDK에 위임되며, 벤더와 상관없이 동일하게 동작합니다. 완전 하위 호환 —provider기본적으로azure설정되어 기존 Azure 워크플로우가 변경되지 않고 계속 작동합니다. - 새로운 AWS 번역 제공업체 (
@aws-sdk/client-translate). AWS 기본 자격 증명 체인(권장: aws-actions/configure-aws-credentials 통한 OIDC) 또는 명시적awsAccessKeyId/awsSecretAccessKey로 인증하세요;awsRegion또는AWS_REGION를 통해 지역을 지정했습니다. - 새로운 구글 클라우드 번역 제공업체(
@google-cloud/translate, v2). 서비스 계정 JSON 인증 증명(googleCredentials) 또는 API 키(googleApiKey)로 인증; 선택googleProjectId. - 새로운 입력:
provider,awsAccessKeyId,awsSecretAccessKey,awsRegion,googleApiKey,googleCredentials,googleProjectId. - 의도-명세자 매핑:
textType구글의format에 매핑되고,profanityActionAWS 욕설 마스킹에 대응하며, 이에 상응하는 마스킹이 존재합니다. Azure만 사용하는 지정자(categoryId,apiVersion,profanityMarker,allowFallback)는 다른 제공자에 의해 무시됩니다. - Azure 요청 입력(
subscriptionKey,endpoint,region)은 더 이상action.yml에서 필수로 표시되지 않으므로 다른 공급자를 선택할 수 있으며,providerazure시 런타임 시 검증됩니다. - 새로운 번역 제공자 페이지, 시작 시작 탭, 입력 페이지에서 제공자 선택, 그리고 Azure, AWS, Google으로 시작하는 새로워진 홈페이지가 추가되었습니다.
3.0.2 —
- 수정: 번역기 요청은 이제
/translate와/languages모두에 대해api-version=3.0핀을 선에 붙입니다. Azure SDK는 자격 증명이 전달될 때만 클라이언트 수준의 API 버전 옵션을 존중합니다; 이 동작은 헤더를 통해 요청별로 인증하기 때문에 해당 옵션은 조용히 폐기되었고, 요청은 기본적으로 HTTP 400(오류 코드400074)으로 본문을 거부하는/translateAPI 버전으로 전환되었습니다. 3.0.1에서 시작된 수정을 완료했습니다.
3.0.1 —
- 수정:
/translate요청 본문은 이제 랩된{ inputs }객체 대신{ text }항목으로 이루어진 단순한 JSON 배열이 되었으며, 이는 v3.0 REST 계약과 일치합니다. 이 자체로는 번역을 복원하지 못했습니다 — 3.0.2 참조.
3.0.0 —
- 런타임이
node24(브레이크)로 올랐습니다. - 새로운 입력:
include,exclude,configPath,categoryId,apiVersion,dryRun,failOnError, 그리고 고급 번역기 노브textType,profanityAction,profanityMarker,allowFallback. - 소스 로케이션도
from=<locale>Translator로 전달되어 짧은 문자열이 자동 감지되지 않습니다. - Azure의
Retry-After헤더를 존중하는 일시적 HTTP 응답(408, 425, 429, 500, 502, 503, 504)에 대한 자동 재시도회복력: — 없을 때는 지터드 지수 백오프로 되돌아갑니다.maxRetries와retryBackoffMs를 통해 조절 가능합니다. 폐쇄 #46. {{name}},${var},{0},{0:N2},%s,%1$s, HTML 엔티티 같은 임시 보호: 토큰은 번역 전에 센티넬로 감싸지고 번역 후에는 복원되므로, 번역기가 i18next/Mustache/Handlebars/.NET/printf 자리 표시자를 망치는 것을 멈춥니다.protectPlaceholders토글;customPlaceholderPatterns확장하세요. #16을 조여.- 새로운
noTranslatePatterns입력키별 옵트아웃: 번역기 요청에서 일치하는 키를 완전히 삭제합니다(브랜드명, 오류 코드 등의 소스 값을 보존). 글롭 패턴을 파서 레벨 키(JSON 점선 경로, RESXname, POmsgid, XLIFF 단위id, 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섹션이 자동 생성 제목 ID와 충돌하지 않고, 세 개의 로컬 카드가 BCP-47 유효lang속성(nya→ny,lug→lg,run→rn)을 노출하고, 중복Documentation랜드마크 라벨은 사이드바와 풋 사이에 중복 명확화됨,inputs/configuration의 모든 데이터 테이블에는 스크린 리더 캡션이 포함되어 있습니다. - 인라인 코드 스타일링: Docs 산문
<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).