TacoTranslate-ის გამოყენება
სტრინგების თარგმნა
ამჟამად სტრიქონების თარგმნის სამი გზა არსებობს: Translate
კომპონენტი, useTranslation
ჰუკი, ან translateEntries
ინსტრუმენტი.
Translate
კომპონენტის გამოყენება.
თარგმანებს აჩვენებს span
ელემენტის შიგნით და მხარს უჭერს HTML-ის რენდერირებას.
import {Translate} from 'tacotranslate/react';
function Page() {
return <Translate string="Hello, world!" />;
}
ელემენტის ტიპი შეგიძლიათ შეცვალოთ, მაგალითად, as="p"
კომპონენტზე.
useTranslation
ჰუკის გამოყენება.
აბრუნებს თარგმანებს როგორც უბრალო სტრინგს. გამოადგება, მაგალითად, meta
ტეგებში.
import {useEffect} from 'react';
import {useTranslation} from 'tacotranslate/react';
function Page() {
const helloWorld = useTranslation('Hello, world!');
useEffect(() => {
alert(helloWorld);
}, [helloWorld]);
return (
<title>{useTranslation('My page title')}</title>
);
}
translateEntries
იუტილიტის გამოყენება.
ტექსტების თარგმნა სერვერზე. გააძლიერეთ თქვენი OpenGraph გამოსახულებები.
import {createEntry, translateEntries} from 'tacotranslate';
async function generateMetadata(locale = 'es') {
const title = createEntry({string: 'Hello, world!'});
const description = createEntry({string: 'TacoTranslate on the server'});
const translations = await translateEntries(
tacoTranslate,
{origin: 'opengraph', locale},
[title, description]
);
return {
title: translations(title),
description: translations(description)
};
}
როგორ ითარგმნება სტრინგები
როდესაც სტრინგები ჩვენს სერვერებზე აღწევს, ჩვენ ჯერ ვამოწმებთ და ვინახავთ მათ, შემდეგ კი დაუყოვნებლად ვაბრუნებთ მანქანურ თარგმანს. მიუხედავად того, რომ მანქანური თარგმანები ზოგადად ნაკლები ხარისხისაა ჩვენი AI თარგმანებისCompared to, ისინი უზრუნველყოფენ სწრაფ საწყის პასუხს.
იმავე დროს, ჩვენ ვიწყებთ ასინქრონულ თარგმანის სამუშაოს, რათა თქვენს სტრინგს მიეცეს მაღალი ხარისხის, მოწინავე AI თარგმანი. როდესაც AI თარგმანი მზად იქნება, ის შეცვლის მანქანურ თარგმანს და გაიგზავნება ყოველ ჯერზე, როცა თქვენ ითხოვთ თქვენი სტრინგების თარგმანს.
თუ სტრინგი ხელით გადათარგმნეთ, იმ თარგმანებს მიენიჭებათ უპირატესობა და სწორედ ისინი დაბრუნდება.
ორიგინების გამოყენება
TacoTranslate პროექტები შეიცავენ იმას, რასაც ჩვენ ვუწოდებთ წყაროებს. ჩათვალეთ ისინი როგორც შესასვლელ წერტილებს, ფოლდერებს ან ჯგუფებს თქვენი სტრინგებისა და თარგმანებისთვის.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}
Origins საშუალებას გაძლევთ განყოთ სტრინგები маңызды? Wait Georgian: "მნიშვნელოვანი" not "маңызды". Fix. I must produce final in Georgian without commentary. I'll correct. Final content: Origins საშუალებას გაძლევთ განყოთ სტრინგები მნიშვნელოვანი კონტეინერების მიხედვით. მაგალითად, შეგიძლიათ ჰქონდეთ ერთი origin დოკუმენტაციისთვის და სხვა — თქვენი მარკეტინგული გვერდისთვის.
უფრო დეტალური კონტროლისთვის, შეგიძლიათ origins კომპონენტის დონეზე დააყენოთ.
ამის მისაღწევად, გაითვალისწინეთ რამდენიმე TacoTranslate პროვაიდერის გამოყენება თქვენს პროექტში.
გთხოვთ გაითვალისწინოთ, რომ ერთი და იგივე სტრინგი შეიძლება სხვადასხვა წყაროებში განსხვავებული თარგმანი მიიღოს.
საბოლოო ჯამში, სტრინგების ორიგინებად გამოყოფა დამოკიდებულია თქვენზე და თქვენს საჭიროებებზე. თუმცა, გაითვალისწინეთ, რომ ერთი ორიგინის ფარგლებში სტრინგების დიდი რაოდენობა შესაძლოა გაზარდოს დატვირთვის დრო.
ცვლადების მართვა
დინამიური შინაარსისთვის ყოველთვის უნდა გამოიყენოთ ცვლადები, როგორიცაა მომხმარებლების სახელები, თარიღები, ელ.ფოსტის მისამართები და სხვა.
სტრინგებში ცვლადები აღნიშნულია ორმაგი ფრჩხილებით, როგორიცაა {{variable}}
.
import {Translate} from 'tacotranslate/react';
function Greeting() {
const name = 'Juan';
return <Translate string="Hello, {{name}}!" variables={{name}} />;
}
import {useTranslation} from 'tacotranslate/react';
function useGreeting() {
const name = 'Juan';
return useTranslation('Hello, {{name}}!', {variables: {name}});
}
HTML კონტენტის მართვა
ნაგულისხმევად, Translate
კომპონენტი მხარს უჭერს და აჩვენებს HTML შინაარსს. თუმცა ამ ქცევაზე უარის თქმა შეგიძლიათ — დააყენეთ useDangerouslySetInnerHTML
false
-ზე.
HTML-ის რენდერინგის გამორთვა ძლიერად რეკომენდებულია არასანდო კონტენტის, მაგალითად მომხმარებლების მიერ შექმნილი კონტენტის, თარგმნისას.
ყველა გამომავალი ყოველთვის გაიწმინდება sanitize-html რენდერირებამდე.
import {Translate} from 'tacotranslate/react';
function Page() {
return (
<Translate
string={`
Welcome to <strong>my</strong> website.
I’m using <a href="{{url}}">TacoTranslate</a> to translate text.
`}
variables={{url: 'https://tacotranslate.com'}}
useDangerouslySetInnerHTML={false}
/>
);
}
ზემოთ მოცემული მაგალითი გამოჩნდება უბრალო ტექსტის სახით.