文档

Magic Translate vs. vue-i18n

vue-i18n 是 Vue 的标准 i18n 库,@nuxtjs/i18n 以此为基础构建 Nuxt。与大多数 i18n 库一样,它为每条消息使用一个密钥,每种语言使用一组消息。Magic Translate 直接翻译 Vue 模板中的文本,无需密钥或消息文件。

一目了然

Magic Translatevue-i18n
你如何写文字你自己的话,包裹在 <T> 中每条消息的密钥,例如 $t('cart.title')
翻译AI 翻译,自动创建你或你的翻译者写的
消息文件无每种语言一组消息
新语言更改 language 设置将每条消息翻译成新语言
切换语言在运行时,使用 useLanguageSwitcher在运行时,通过更改语言环境
复数和格式作为句子的一部分翻译内置,具有复数规则以及日期和数字格式
价格免费套餐,然后根据使用量订阅月度套餐开源且免费

代码有何不同

使用 vue-i18n,您可以为每种语言定义消息并按键引用它们:

// i18n.ts
import { createI18n } from 'vue-i18n';
export const i18n = createI18n({
locale: 'de',
messages: {
en: { cart: { title: 'Your shopping cart' } },
de: { cart: { title: 'Ihr Warenkorb' } }
}
});
<h2>{{ $t('cart.title') }}</h2>

使用 Magic Translate 时,文本将保留在模板中:

<h2><T>Your shopping cart</T></h2>

对于占位符等属性,请使用 useTranslate:

<input :placeholder="t('Search products')" />

何时选择 Magic Translate

  • 你希望你的 Vue 应用程序支持多种语言,而不必管理每种语言的消息。
  • 你没有译员,或者你想在不等待翻译的情况下发布更新。
  • 您的文本经常更改,并且您希望每种语言都保持最新状态。

何时选择 vue-i18n

  • 所有文本必须由一个人翻译或审阅。
  • 你需要搜索引擎才能看到从 Nuxt 服务器渲染中翻译过来的 HTML。Magic Translate for Vue 在浏览器中进行翻译。
  • 你想要一个没有外部服务的免费开源库。

从 vue-i18n 移至 Magic Translate

一次可以切换一个组件。将 $t('key') 替换为消息中的英文文本,用 <T> 包装,或使用 useTranslate 中的 t() 作为属性。迁移时,这两个库可以并行运行。Vue 指南显示了设置。

准备好试试了吗?按照入门指南在五分钟内翻译您的第一个组件。