피드로 돌아가기
Migrando um YMS de 5 anos: Do Angular 16 ao 21 (Parte 8) - i18n Enterprise e por que escolhemos o Transloco
Dev.toDev.to
Frontend

CI/CD 빌드 시간 단축을 위한 Runtime i18n 및 Lazy Load Scope 도입

Migrando um YMS de 5 anos: Do Angular 16 ao 21 (Parte 8) - i18n Enterprise e por que escolhemos o Transloco

Erick Gabriel dos Santos Alves2026년 6월 4일4intermediate

Context

대규모 물류 시스템(YMS)의 글로벌 확장으로 인한 i18n 요구사항 발생. 기존 @angular/localize의 Build-time 방식 채택 시 언어별 빌드 결과물 생성으로 인해 CI/CD 파이프라인 부하가 증가하고 페이지 리로드 없는 언어 전환이 불가능한 한계 직면.

Technical Solution

  • Build-time 방식에서 Runtime 방식으로 전환하여 단일 빌드 아티팩트 생성 구조 설계
  • @jsverse/transloco 도입을 통한 JSON 기반 번역 파일 동적 로드 메커니즘 구현
  • Lazy Load Scopes 설계를 통한 페이지별 마이크로 JSON(약 2KB) 단위 분할 로딩으로 네트워크 오버헤드 최소화
  • *transloco 구조적 디렉티브 활용으로 개별 Pipe 구독으로 인한 Angular 변경 감지 횟수 최적화
  • LOCALE_ID 주입과 DecimalPipe/DatePipe 결합을 통한 국가별 숫자 및 날짜 포맷팅 자동화
  • TranslocoService 주입을 통한 API 응답 및 동적 알림 메시지의 런타임 번역 처리

- 다국어 지원 시 언어 수가 많고 빌드 시간이 병목이라면 Build-time보다 Runtime i18n 검토 - 전체 번역 사전의 크기가 클 경우 Lazy Load Scope를 적용하여 초기 로딩 속도 개선 - 런타임 번역 시 Pipe 남용보다는 구조적 디렉티브를 사용하여 렌더링 성능 최적화 - 국가별 숫자/날짜 표기법 차이로 인한 데이터 오류 방지를 위해 프레임워크 표준 LOCALE_ID 설정 확인

원문 읽기