GTranslate 번들 소개

발행: (2026년 1월 20일 오후 04:59 GMT+9)
8 min read
원문: Dev.to

Source: Dev.to

“언어는 문화의 로드맵이다. 그것은 그 문화의 사람들이 어디서 왔는지, 어디로 가고 있는지를 알려준다.” – Rita Mae Brown

소개

오늘날의 글로벌 웹에서는 다국어 접근성이 사치가 아니라 필수입니다. 현대 프레임워크에서 콘텐츠를 번역하는 일은 복잡한 API나 번역 파일을 다루지 않고 빠른 결과를 원할 때 특히 시간이 많이 소요될 수 있습니다.

AddWeb GTranslate Bundle은 Symfony 개발자를 위해 GTranslate.io 위젯을 가볍게 플러그‑인‑플레이 방식으로 통합해, Twig 템플릿에서 바로 즉시 다국어 지원을 가능하게 합니다.

GTranslate Bundle란?

addweb/gtranslate-bundle은 Symfony 6.4+/7.x와 호환되는 모듈로:

  • AI 기반 GTranslate.io 위젯을 통합합니다.
  • 사용자 정의 가능한 번역 위젯을 렌더링하는 Twig 함수 {{ gtranslate_widget() }}를 제공합니다.
  • 지원 언어, 기본 언어, UI 환경설정을 위한 간단한 YAML 구성을 사용합니다.
  • 백엔드 복잡성 없이 즉시 언어 전환을 위한 최적화된 JavaScript를 주입합니다.

설치

composer require addweb/gtranslate-bundle

기본 사용법

Twig 레이아웃 어디에든 위젯을 추가하세요:

{{ gtranslate_widget() }}

왜 중요한가?

  • 사용자 선호: 65 %의 사용자는 번역 품질이 낮더라도 자신의 언어로 된 콘텐츠를 선호합니다. (CSA Research)
  • 전환 영향: 40 %는 다른 언어 사이트에서 구매하지 않습니다.
  • 참여 증가: 다국어 사이트는 세션 지속 시간이 최대 50 % 더 길어지는 것을 확인합니다.
  • SEO 혜택: 다국어 지원 사이트는 Google 국제 검색 결과에서 23 % 더 높은 순위를 차지합니다.

이러한 통계는 언어 접근성이 참여도, 신뢰 및 수익에 직접적인 영향을 미친다는 것을 보여줍니다.

작동 방식

  1. Installation을 Composer를 사용해 설치합니다.
  2. Symfony Flex가 자동으로 config/packages/gtranslate.yaml을 생성합니다.
  3. 번들은 Twig 함수를 전역으로 등록합니다.
  4. {{ gtranslate_widget() }}가 렌더링될 때, 번들은 플로팅 위젯에 필요한 HTML 및 JavaScript를 삽입합니다.
  5. 설정 변경이 즉시 적용됩니다—캐시를 지우거나 재빌드할 필요가 없습니다.

기본 동작 – 즉시 설정

설치 후:

composer require addweb/gtranslate-bundle

Symfony Flex가 다음을 추가합니다:

# config/packages/gtranslate.yaml
# (자동으로 생성됨)

이제 위젯을 원하는 곳에 배치할 수 있습니다:

{{ gtranslate_widget() }}

위젯은 기본 설정이 적용된 떠다니는 GTranslate 컨트롤로 표시됩니다.

위젯 맞춤 설정

디자인에 맞게 config/packages/gtranslate.yaml 파일을 수정하세요:

gtranslate:
  script_src: 'https://cdn.gtranslate.net/widgets/latest/dwf.js'
  auto_wrapper: true
  settings:
    default_language: 'en'
    languages: ['en', 'fr', 'it', 'es']
    wrapper_selector: '.gtranslate_wrapper'
    switcher_horizontal_position: 'right'
    switcher_vertical_position: 'top'

맞춤 설정 옵션

  • 지원되는 언어를 추가하거나 제거합니다.
  • 위젯 색상 및 위치를 변경합니다.
  • 플로팅 위젯과 임베디드 위젯 중 선택합니다.
  • 자동 래퍼를 비활성화하고 스위처를 수동으로 배치합니다.

수동 배치 예시

특정 컨테이너 안에 위젯을 렌더링합니다:

{{ gtranslate_widget({ auto_wrapper: false }) }}

필요에 따라 컨테이너 스타일링을 위한 CSS를 직접 추가하세요.

통계

  • 다국어 웹사이트는 평균 세션 지속 시간이 최대 50 % 증가합니다.
  • 다국어 랜딩 페이지에서 14 % 높은 전환율을 보입니다.
  • 10명 중 7명 이상의 소비자는 자신의 언어로 소통하는 브랜드와 더 많이 교류합니다.

Key Takeaways

  • Zero configuration overhead: Install, configure YAML, and the widget works.
  • Supports 100+ languages via GTranslate.io.
  • No local translation files or databases required.
  • Fully extensible and open‑source – contributions welcome.

흥미로운 사실

  • 인터넷은 7,000개 이상의 언어로 콘텐츠를 호스팅합니다.
  • AI 번역 정확도는 2018년 이후 92 % 이상으로 향상되었습니다, 신경망 모델 덕분입니다.
  • GTranslate.io는 현재 100개 이상의 언어를 지원하며, 가장 폭넓은 커버리지 중 하나입니다.
  • GTranslate 위젯을 사용하는 웹사이트는 전체 i18n 설정 및 번역 카탈로그를 가진 사이트보다 1.8배 빠르게 로드됩니다.

FAQs

Q1: Symfony 번역 컴포넌트와는 어떻게 다른가요?
A: 이 번들은 GTranslate.io를 통해 즉시 클라이언트 측 번역을 제공하므로 번역 파일, 메시지 카탈로그, 백엔드 로케일 처리가 필요 없습니다.

Q2: GTranslate API 키가 필요합니까?
A: 필요 없습니다. 위젯은 공개 GTranslate 스크립트를 사용하여 바로 작동합니다.

Q3: Twig 테마와 호환됩니까?
A: 네. {{ gtranslate_widget() }} 함수를 모든 Twig 템플릿에 삽입할 수 있습니다.

Q4: 위젯의 위치나 색상을 커스터마이즈할 수 있나요?
A: 물론입니다. gtranslate.yamlsettings 섹션을 조정하거나 수동 배치 시 커스텀 CSS를 적용하세요.

“번역이란 모든 것을 변형시키면서도 아무것도 변하지 않게 하는 것이다.” – Günter Grass

결론

AddWeb GTranslate Bundle은 Symfony 애플리케이션을 전 세계 사용자와 연결하여 최소한의 노력으로 다국어 지원을 제공합니다. Packagist에서 패키지를 살펴보고 GitHub를 통해 기여하세요:

  • Packagist: addweb/gtranslate-bundle
  • GitHub:
Back to Blog

관련 글

더 보기 »

React에 다국어 지원 추가

React에서 국제화 (Internationalization) – react‑i18next 이미지: i18next 예시 React 프로젝트에 다국어 지원을 추가하려면 react‑i18next를 사용할 것입니다. 이는 …