返回

发布 gt-next

Archie McKenzie avatarArchie McKenzie
guideinternationalizationnextjsgt-next

国际化 (i18n) 很麻烦。我们正在开发一个 Next.js 库 gt-next,让这件事变得更简单。 今天,我们正式推出它的公开测试版。

npm i gt-next

使用 gt-next,翻译 JSX 内容的写法如下:

import { T } from 'gt-next'

export default function Page() {
  return (
    <T id="my_id">
      <p>就这样!用它包裹你的 JSX,内容就会被翻译!</p>
    </T>
  )
}

这意味着:

  • 无需痛苦地重写代码库
  • 无需苦等数天才能拿到翻译
  • 翻译结果可直接交付到你的开发环境中

只需添加一些环境变量,运行 npx gt translate,就大功告成。

gt-next 的目标,是让你不再把翻译当成稀缺资源。Web 默认就应该是多语言的。而多语言网站也应该支持 50 种语言,而不是 5 种。

gt-next 能做什么

格式化变量和复数形式

import { T } from 'gt-next'

export default function Page() {
  const count = 2

  return (
    <T id="my_id">
      <Plural
        n={count}
        one={
          <>
            I have <Num /> book
          </>
        }
      >
        I have <Num /> books
      </Plural>
    </T>
  )
}

使用开发者 API 密钥在本地查看翻译

GT_API_KEY="gtx-dev-cae62d6fe1e33bda603c9a2926ab0fb8"
GT_PROJECT_ID="abcdef12-3456-789a-bcd4-ef123456789a"

开箱即用,支持 100 多种语言,并可按需翻译。

landing

使用交互式 JSX 翻译编辑器管理你的译文。

editor