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 თარგმნებთან შედარებით, ისინი უზრუნველყოფენ სწრაფ საწყის პასუხს.
ერთდროულად, ვიწყებთ ასინქრონულ თარგმნის სამუშაოს, რათა თქვენს ტექსტს შევთავაზოთ მაღალი ხარისხის, უახლესი AI თარგმანი. როდესაც AI თარგმანი მზად იქნება, ის შეცვლის მანქანურ თარგმანს და გაიგზავნება ყოველ ჯერზე, როდესაც მოითხოვთ თქვენი ტექსტების თარგმნებს.
თუ სტრინგი ხელით გადათარგმნილია, ეს თარგმანები მიიღებენ უპირატესობას და სწორედ ისინი დაბრუნდება.
ორიგინების გამოყენება
TacoTranslate-ის პროექტები შეიცავენ იმას, რასაც ჩვენ ვუწოდებთ origins. განიხილეთ ისინი როგორც შესასვლელი წერტილები, საქაღალდეები ან ჯგუფები თქვენი სტრინგებისა და თარგმანებისთვის.
import {TacoTranslate} from 'tacotranslate/react';
function Menu() {
return (
<TacoTranslate origin="application-menu">
// ...
</TacoTranslate>
);
}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}
/>
);
}ზემოთ მოცემული მაგალითი ნაჩვენები იქნება როგორც უბრალო ტექსტი.