Dokumentasi

useTranslate composable

Tidak semuanya cocok dalam suatu komponen. Atribut seperti placeholder atau title mengambil string, dan terkadang Anda memerlukan terjemahan dalam skrip Anda. Untuk ini, gunakan metode useTranslate composable atau translate.

useTranslate composable

useTranslate mengembalikan fungsi, biasanya disebut t, yang menerjemahkan string:

<script setup lang="ts">
import { useTranslate } from '@magic-translate/vue';
const t = useTranslate();
</script>
<template>
<input :placeholder="t('Search products')" />
</template>

t mengembalikan teks asli saat terjemahan dimuat. Setelah siap, komponen akan di-render ulang. Seperti komponen <T>, ia menerima opsi bahasa dan formalitas:

<input :placeholder="t('Your name', { lang: 'fr', formality: 'formal' })" />

Ini juga menerima id, untuk mengedit penggunaan teks ini sendiri:

<button :title="t('Save', { id: 'checkout-save' })" />

Variabel

Luluskan nilai yang tidak boleh diterjemahkan dalam v, dan referensikan sebagai $name, sama seperti dengan komponen <T>:

<input :placeholder="t('Search $count products', { v: { count } })" />

Teks diterjemahkan sekali sebagai Search {0} products, dan terjemahan yang di-cache digunakan kembali ketika count berubah.

useT sama composable dengan useTranslate.

Menerjemahkan dalam kode

Untuk menerjemahkan string dalam skrip Anda, panggil translate. Ia mengembalikan sebuah janji.

import { useMagicTranslate } from '@magic-translate/vue';
const magicTranslate = useMagicTranslate();
const message = await magicTranslate.translate('Your order has been placed');
// with options
const formal = await magicTranslate.translate('How are you?', {
lang: 'fr',
formality: 'formal'
});

Tanpa opsi lang, teks diterjemahkan ke dalam bahasa saat ini.

translate mengambil variabel juga:

const message = await magicTranslate.translate('Your order $id has shipped', {
v: { id: order.id }
});

Komponen luar, misalnya di toko, gunakan objek yang dikembalikan oleh createMagicTranslate secara langsung. Ini menyediakan metode translate dan setLanguage yang sama dan properti language.