Dokümantasyon

t pipe

Her şey bir bileşene sarılamaz. placeholder veya title gibi özellikler bir dize alır ve bazen TypeScript kodunuzda bir çeviriye ihtiyacınız vardır. Bunlar için MagicTranslate hizmetinin t pipe veya translate yöntemini kullanın.

t pipe

import { Component } from '@angular/core';
import { TranslatePipe } from '@magic-translate/angular';
@Component({
selector: 'app-search',
imports: [TranslatePipe],
template: `<input [placeholder]="'Search products' | t" />`
})
export class Search {}

pipe, çeviri yüklenene kadar orijinal metni döndürür. <t> bileşeni gibi, dili ve formaliteyi seçenek olarak alır:

<input [placeholder]="'Your name' | t: { lang: 'fr', formality: 'formal' }" />

Ayrıca metnin bu kullanımını kendi başına düzenlemek için bir id gerekir:

<button [title]="'Save' | t: { id: 'checkout-save' }"></button>

Değişkenler

v olarak çevrilmemesi gereken değerleri iletin ve <t> bileşeninde olduğu gibi $name olarak referans verin:

<input [placeholder]="'Search $count products' | t: { v: { count: products.length } }" />
<img [alt]="'Photo of $name' | t: { v: { name: user.name } }" [src]="user.photo" />

Metin bir kez Search {0} products olarak çevrilir ve count değiştiğinde önbelleğe alınan çeviri yeniden kullanılır.

Kodda çeviri

TypeScript'te bir dizeyi çevirmek için MagicTranslate hizmetinde translate öğesini arayın. Bir söz verir.

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

lang seçeneği olmadan metin geçerli dile çevrilir.

translate değişkenleri de alır:

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