Magic Translate vs. Lingui
Lingui 자바스크립트와 리액트를 위한 오픈소스 i18n 라이브러리야.Magic Translate 처럼, 컴포넌트에 키 대신 직접 단어를 쓸 수 있게 해줘.차이점은 다음에 일어날 일이야. Lingui 하면 메시지를 추출하고 번역하고 모든 언어에 맞게 컴파일해.Magic Translate 하면 번역이 자동으로 만들어.
한 눈에
| Magic Translate | Lingui | |
|---|---|---|
| 텍스트 쓰는 방법 | <T> 에 싸인 너의 말 | <Trans> 에 싸인 너의 말 |
| 번역들 | AI 번역, 자동으로 생성돼 | 메시지를 추출해서 번역하게 해. |
| 메시지 파일들 | 아무 것도 없어. | 언어당 카탈로그 하나, 예를 들어 PO 파일 |
| 빌드 스텝 | 아무 것도 없어. | 카탈로그 추출 및 컴파일해 |
| 새 언어들 | language 설정 변경해. | 모든 메시지를 새 언어로 번역해 |
| 복수형과 형식 | 문장의 일부로 번역돼. | 언어당 복수 규칙이 있는 ICU 메시지 |
| 가격 | 무료 요금제, 그 다음에 사용량에 따른 월간 요금제 | 오픈 소스이고 무료야. |
코드가 어떻게 다른지
Lingui 사용하면 텍스트는 구성 요소에 남아 있지만 모든 메시지는 카탈로그를 통과해.
import { Trans } from '@lingui/react/macro';const Cart = () => (<h2><Trans>Your shopping cart</Trans></h2>);// Then run `lingui extract`, translate the catalogs for every language,// run `lingui compile` and load the right catalog when the app starts.
Magic Translate 하면 구성 요소가 비슷해 보이고 번역이 자동으로 생성돼.
import { T } from '@magic-translate/react';const Cart = () => (<h2><T>Your shopping cart</T></h2>);
언제 고를까 Magic Translate
- 컴포넌트에 직접 글을 쓰는 건 좋아하고 카탈로그는 유지하고 싶지 않아.
- 번역자가 없거나 번역을 기다리지 않고 업데이트를 공개하고 싶은 거야.
- 번역 프로젝트를 관리하지 않고 언어를 추가하고 싶어.
언제 고를까 Lingui
- 모든 텍스트는 사람이 번역하거나 검토해야 해.
- 복수형하고 성별이 복잡한 경우 ICU 메시지가 필요해.
- 외부 서비스 없는 무료 오픈 소스 라이브러리가 필요해.
Lingui 에서 Magic Translate 으로 이동 중
두 라이브러리 모두 구성 요소에 텍스트를 보관하기 때문에 마이그레이션은 대부분 번역 구성 요소와 함수를 대체하는 문제야. <Trans> 는 <T>, t 매크로는 useT hook 가 돼.한 번에 구성 요소 하나씩만 마이그레이션할 수 있어.
해볼 준비가 됐어?시작 안내서에 따라 5분 만에 첫 번째 구성 요소를 번역해.