迁移到 gt-next
从其他 i18n 库迁移到 gt-next
概述
本指南将引导您使用 gt-next
作为独立的 i18n 库来国际化您现有的 Next.js 应用程序。
本指南也可以帮助您从其他 i18n 库迁移到 gt-next
。
所有翻译都存储在您项目的代码库中,并由您管理。 此外,您需要提供自己的翻译。这意味着您不需要添加 API 密钥。
如果您想为您的 JSON 文件自动生成翻译,请参考 CLI 工具。
工作原理
翻译可以存放在称为"字典"的 JSON 文件中(en.json
、fr.json
等)。
键用作引用,值是翻译后的内容:
然后在您的应用程序中使用 useDict()
钩子和 getDict()
函数引用翻译:
注意: 由于这些翻译由您管理,您需要在应用程序发展时手动更新它们。 这意味着每次添加或更改内容时,您都需要更新翻译文件。
如果您有兴趣自动化此过程,请考虑使用 CLI 工具
。
设置
1. 启用翻译
使用 withGTConfig()
插件来设置你的 Next.js 应用的 i18n 行为。
2. 添加字典加载器文件
这个 loadDictionary()
负责加载你的翻译。
所有翻译都存储在称为字典的嵌套 JSON 文件中。
在这里,我们指定我们的翻译文件存储在 /public/dictionaries/
目录中。
3. 用 <GTProvider>
包装你的应用
用 <GTProvider>
包装你的应用以启用翻译上下文。
这允许你在客户端组件中访问翻译。
4. 创建你的翻译文件
你的翻译文件应该存储在 ./public/dictionaries
目录中。
每个文件应该以它所代表的语言环境命名,例如 en.json
、fr.json
等。
然后添加相应的法语字典翻译文件:
5. 使用你的翻译!
你现在可以使用 useDict()
和 getDict()
访问你的翻译。
提示: 有关字典语法的更多信息,例如插入变量,请参阅字典参考。
兼容性
本指南帮助您从其他i18n库迁移到gt-next
。字典格式通常与其他库兼容。
我们的字典支持变量、日期和数字插值。有关更多信息,请参阅字典选项。
但是,如果您的项目使用复杂语法,如复数或分支,您需要将这些转换为gt-next
语法。
有关gt-next
语法的更多信息,请参阅分支组件页面。