API ஆவணமாக்கம்

எங்கள் எளிய REST API உடன் உங்கள் பயன்பாடுகளில் பலமான மொழிபெயர்ப்பை ஒருங்கிணைக்கவும்.

துவங்கு

TranslateAPI ஒரு எளிய REST இடைமுகத்தை 180+ மொழிகளுக்கு இடையே உரையை மொழிபெயர்ப்பதற்கு வழங்குகிறது. அனைத்து API முடிவு புள்ளிகளும் JSON பதில்களைத் தருகின்றன.

அடிப்படை URL: https://api.translateapi.ai/api/v1/
விரைவு துவக்கம்

உங்கள் முதல் மொழிபெயர்ப்பு கோரிக்கையை செய்யவும்:

curl -X POST https://api.translateapi.ai/api/v1/translate/ \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -d '{
    "text": "Hello, world!",
    "target_language": "es"
  }'
import requests

response = requests.post(
    "https://api.translateapi.ai/api/v1/translate/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    json={
        "text": "Hello, world!",
        "target_language": "es"
    }
)

result = response.json()
print(result["translated_text"])  # "Hola, mundo!"
const response = await fetch("https://api.translateapi.ai/api/v1/translate/", {
    method: "POST",
    headers: {
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
    },
    body: JSON.stringify({
        text: "Hello, world!",
        target_language: "es"
    })
});

const result = await response.json();
console.log(result.translated_text);  // "Hola, mundo!"
using System;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json;

class Program
{
    static async Task Main()
    {
        var client = new HttpClient();
        client.DefaultRequestHeaders.Add(
            "Authorization", "Bearer YOUR_API_KEY"
        );

        var content = new StringContent(
            JsonConvert.SerializeObject(new {
                text = "Hello, world!",
                target_language = "es"
            }),
            Encoding.UTF8,
            "application/json"
        );

        var response = await client.PostAsync(
            "https://api.translateapi.ai/api/v1/translate/",
            content
        );

        var result = await response.Content.ReadAsStringAsync();
        var data = JsonConvert.DeserializeObject<dynamic>(result);
        Console.WriteLine(data.translated_text);  // "Hola, mundo!"
    }
}

உரிமம்

ஒரு API விசை மூலம் உங்கள் கோரிக்கைகளை உறுதிசெய்யவும். நீங்கள் உங்கள் கணினியில் இருந்து API விசைகளை உருவாக்கலாம் கட்டுப்பாட்டுப்பலகை.

தலைப்பு உரிமம்( பரிந்துரைக்கப்படுகிறது)
Authorization: Bearer ta_your_api_key_here
கேள்வி அளபுரு
https://api.translateapi.ai/api/v1/translate/?api_key=ta_your_api_key_here
உங்கள் API விசைகளை பாதுகாப்பாக வைத்திருக்கவும்! அவற்றை வாடிக்கையாளர்-பக்கக் குறியீட்டில் அல்லது பொதுக் கிடங்குகளில் வெளிப்படுத்த வேண்டாம்.

உரையை மொழிபெயர்

ஒரு இலக்கு மொழிக்கு உரையை மொழிபெயர்க்கவும்.

POST https://api.translateapi.ai/api/v1/translate/
கோரிக்கை உடல்
அளபுரு வகை தேவைப்படும் விளக்கம்
text string ஆமாம் மொழிபெயர்க்க வேண்டிய உரை (அதிகபட்சம் 50, 000 எழுத்துக்கள்)
target_language string ஆம்* Target language code (e.g., "es", "fr", "de")
source_language string இல்லை Source language code. Default: "auto" (auto-detect)

* பயன்படுத்து target_language (சரம்) ஒற்றை மொழி அல்லது target_languages பல (அடுக்கு) க்கு. பார்க்க பல இலக்கு மொழிபெயர்ப்பு.

பதில்
{
    "translated_text": "Hola, mundo!",
    "source_language": "en",
    "target_language": "es",
    "translations": {
        "es": "Hola, mundo!"
    },
    "character_count": 13,
    "translation_time": 0.45
}

பல இலக்கு மொழிபெயர்ப்பு

ஒற்றை கோரிக்கையில் பல மொழிகளுக்கு உரையை மொழிபெயர்க்கவும். ஒற்றை மொழிபெயர்ப்பாக அதே முடிவு புள்ளியை பயன்படுத்துகிறது.

வகை: நீங்கள் ஒரே கோரிக்கையில் 50 மொழிகளுக்கும் மேல் மொழிபெயர்க்க முடியும்.
POST https://api.translateapi.ai/api/v1/translate/
கோரிக்கை உடல்
{
    "text": "Hello, world!",
    "target_languages": ["es", "fr", "de", "ja"],
    "source_language": "en"
}

பயன்படுத்து target_languages (அடுக்கு) க்கு பதிலாக target_language பல இலக்குகளுக்கான (சரம்).

பதில்
{
    "source_language": "en",
    "translations": {
        "es": "Hola, mundo!",
        "fr": "Bonjour, monde!",
        "de": "Hallo, Welt!",
        "ja": "こんにちは、世界!"
    },
    "character_count": 52,
    "translation_time": 2.31
}

தொகுப்பு மொழிபெயர்ப்பு

பல உரைகளை ஒரே நேரத்தில் அசைவற்ற செயலாக்கத்துடன் மொழிபெயர்க்கவும். ஒரு தொகுப்பு மற்றும் முடிவுகளுக்கான வாக்கெடுப்பை சமர்ப்பிக்கவும்.

வரம்புகள்: அதிகபட்சமாக 500 உரைகளுக்கு ஒரு தொகுப்பு, அதிகபட்சமாக 750 உருப்படிகள் (உரைகள் × இலக்கு மொழிகள்). பணிகள் செயல்படத் தொடங்கிய பிறகு 30 நிமிடங்கள் காலாவதியாகும் (வரிசை காத்திருக்கும் நேரம் கணக்கிடப்படாது).
செயலாக்க நேரம் மொழிக்கு மொழி மாறுபடும்: பொதுவான மொழிகள் (ஸ்பானிஷ், பிரெஞ்சு, ஜெர்மன், போன்றவை) வேகமான மாதிரிகளை பயன்படுத்துகின்றன (ஒவ்வொரு உரைக்கும் ~ 0. 1 விநாடிகள்), குறைவான பொதுவான மொழிகள் நமது பெரிய பன்மொழி மாதிரியை பயன்படுத்துகின்றன (ஒவ்வொரு உரைக்கும் ~ 1- 3 விநாடிகள்). ஒரு 100- உரை தொகுப்பு பொதுவாக பொதுவான மொழிகளுக்கு 10- 30 விநாடிகளில் அல்லது குறைவான பொதுவானவற்றிற்கு 2-5 நிமிடங்களில் முடிகிறது. சிறந்த முடிவுகளுக்கு, ஒவ்வொரு தொகுப்பு கோரிக்கைக்கும் 1 இலக்கு மொழியை அனுப்பவும் தொகுப்பு அளவுகளை 50 உரைகளுக்கு கீழே வைத்திருக்கவும்.
POST https://api.translateapi.ai/api/v1/translate/batch/
படி 1: தொகுப்பை அனுப்பு
curl -X POST https://api.translateapi.ai/api/v1/translate/batch/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "texts": ["Hello", "Goodbye", "Thank you"],
    "target_language": "es",
    "source_language": "en"
}'
பதில் (HTTP 202 ஏற்றுக்கொள்ளப்பட்டது)
{
    "job_id": "67535b2b-c9e3-4f82-9499-e237edbc1dd8",
    "status": "pending",
    "total_texts": 3,
    "queue_position": 1,
    "source_language": "en",
    "target_languages": ["es"],
    "character_count": 22,
    "credits_remaining": -1,
    "poll_url": "https://api.translateapi.ai/api/v1/jobs/67535b2b-c9e3-4f82-9499-e237edbc1dd8/"
}
படி 2: முடிவுகளுக்கான வாக்குப்பதிவு
GET https://api.translateapi.ai/api/v1/jobs/{job_id}/
பாலிங் உதாரணம் (பைத்தான்)
import time, requests

job_id = response.json()["job_id"]
total = response.json()["total_texts"]
headers = {"Authorization": "Bearer YOUR_API_KEY"}

print(f"Batch submitted: {total} texts (job {job_id})")

while True:
    result = requests.get(f"https://api.translateapi.ai/api/v1/jobs/{job_id}/", headers=headers).json()
    status = result["status"]
    processed = result.get("processed_texts", 0)
    progress = result.get("progress_percentage", 0)

    if status == "completed":
        print(f"Completed: {processed}/{total} texts in {result.get('processing_time', 0):.1f}s")
        translations = result["result_data"]["translations"]
        break
    elif status == "failed":
        print(f"Failed at {processed}/{total}: {result.get('error_message', 'unknown')}")
        raise Exception(result.get("error_message", "Translation failed"))
    elif status == "pending":
        queue_pos = result.get("queue_position", "?")
        print(f"Queued (position {queue_pos}) — waiting for GPU worker...")
    else:
        print(f"[{status}] {processed}/{total} ({progress:.0f}%)")

    time.sleep(3)
பதில் (நிறுத்தப்பட்டுள்ளது - வரிசையில் உள்ளது, ஜிபியுவிற்காக காத்திருக்கிறது)
{
    "job_id": "67535b2b-...",
    "status": "pending",
    "processed_texts": 0,
    "total_texts": 3,
    "progress_percentage": 0.0,
    "queue_position": 3
}
பதில் (செயல்படுத்தும் போது)
{
    "job_id": "67535b2b-...",
    "status": "processing",
    "processed_texts": 1,
    "total_texts": 3,
    "progress_percentage": 33.33,
    "queue_position": null
}
பதில் (முடிந்தது)
{
    "job_id": "67535b2b-...",
    "status": "completed",
    "processed_texts": 3,
    "total_texts": 3,
    "progress_percentage": 100.0,
    "processing_time": 10.65,
    "result_data": {
        "translations": ["Hola", "Adiós", "Gracias"],
        "source_language": "en",
        "target_language": "es",
        "character_count": 22,
        "processing_time": 10.65
    }
}
உண்மையான நேர முன்னேற்றம்

ஒவ்வொரு வாக்கெடுப்பு பதில்களும் உண்மையான நேர முன்னேற்ற புலங்களை உள்ளடக்கியுள்ளன, எனவே உங்கள் தொகுப்புடன் என்ன நடக்கிறது என்பதை நீங்கள் சரியாக கண்காணிக்கலாம்:

புலங்கள் விளக்கம்
status தற்போதைய பணி நிலை: pending (வரிசைப்படுத்தப்பட்டுள்ளது, GPU பணியாளருக்காக காத்திருக்கிறது), processing (செயல்படுகிறது மொழிபெயர்ப்பு), completed, failed
processed_texts இதுவரை நிறைவேற்றப்பட்ட தனிப்பட்ட மொழிபெயர்ப்புகளின் எண்ணிக்கை. ஒவ்வொரு உரையும் மொழிபெயர்க்கப்படும் போது உண்மையான நேரத்தில் புதுப்பிக்கப்படுகிறது.
total_texts இந்த தொகுப்பில் மொத்த மொழிபெயர்ப்புகளின் எண்ணிக்கை (உரைகள் × இலக்கு மொழிகள்).
progress_percentage முடிந்த விழுக்காடு (0- 100). processed_ texts / total_ texts ல் இருந்து கணக்கிடப்பட்டது.
queue_position நிலை "நிறுத்தப்பட்டுள்ளது" (1 = அடுத்தது) என்றால் வரிசையிலுள்ள உங்கள் இடம். செயலாக்கும்போது அல்லது முடிக்கும்போது புள்ளி. காத்திருக்கும் நேரம் மற்றும் வரிசை நிலையை உங்கள் பயனர்களுக்கு காட்ட இதை பயன்படுத்தவும்.
processing_time மொத்த செயலாக்க நேரம் நொடிகளில் (முடிந்தவுடன் கிடைக்கும்).
வகை: எப்போது status"pending", GPU பணியாளர்கள் மற்ற தொகுப்புகளில் பிஸியாக உள்ளனர். சரிபார்க்கவும் queue_position எத்தனை பணிகள் உங்கள் முன்னால் உள்ளன என்பதை பார்க்க (1 = நீங்கள் அடுத்தவர்). உங்கள் பணி தானாகவே துவங்கும் - எந்த செயல்களும் தேவையில்லை, வெறும் கேட்பதை தொடரவும்.
பெரிய பணிகளைச் செய்ய சிறந்த நடைமுறைகள்
  • ஒரு தொகுப்பு கோரிக்கைக்கு 1 இலக்கு மொழியை அனுப்பவும். இது ஒவ்வொரு தொகுப்பையும் வேகமாக வைத்திருக்கும் மற்றும் முன்னேற்றத்தை எளிதாகத் தொடர உதவும்.
  • 50- 100 உரைகளில் தொகுப்புகளை வைத்திருக்கவும். சிறிய தொகுப்புகள் விரைவாக முடிந்து, அதிக முன்னேற்ற அப்டேட்களை தரும்.
  • அதிகபட்சமாக2ஒரே நேரத்தில் செயல்படும் கூட்டு பணிகளை இயக்கவும். GPU இணையாக2கூட்டங்களை செயல்படுத்துகிறது - கூடுதல் பணிகள் வரிசைப்படுத்தப்படுகின்றன மற்றும் வேகமாகத் தொடங்கப்படுவதில்லை.
  • நேரம் முடிந்தவுடன், புதிய தொகுப்பை அனுப்புவதை விட அதே வேலை_ அடையாளத்தை மீண்டும் கேட்கவும். உண்மையான வேலை இன்னும் ஜிபியுவில் செயலாக்கப்படலாம்.
  • ஒவ்வொரு 3-5விநாடிகளுக்கும் ஒரு முறை கேட்கவும். அதிக நேரம் கேட்கும்போது செயல்பாடு வேகமாகாது.
பல மொழி தொகுப்பு

பல உரைகளை பல மொழிகளுக்கு ஒரு நேரத்தில் மொழிபெயர்க்கவும்:

{
    "texts": ["Hello", "Goodbye"],
    "target_languages": ["es", "fr"],
    "source_language": "en"
}
முடிந்த முடிவு தரவு (_d)
{
    "translations": [
        {"es": "Hola", "fr": "Bonjour"},
        {"es": "Adiós", "fr": "Au revoir"}
    ],
    "source_language": "en",
    "target_languages": ["es", "fr"],
    "character_count": 24,
    "processing_time": 2.45
}
கோரிக்கை அளபுருக்கள்
அளபுரு வகை தேவைப்படும் விளக்கம்
texts array ஆமாம் மொழிபெயர்க்க வேண்டிய சரங்களின் அணி
target_language string ஆம்* ஒற்றை மொழிக்கு இலக்கு மொழி குறியீடு
target_languages array ஆம்* பல மொழிகளுக்கான இலக்கு மொழி குறியீடுகளின் அணி
source_language string இல்லை Source language code. Default: "auto"

* இருவரையும் வழங்கவும் target_language அல்லது target_languages, இரண்டும் இல்லை.

அசைவற்ற செயலாக்கம்: தொகுப்பு கோரிக்கைகள் உடனடியாக திரும்பும் job_id. துளை GET /api/v1/jobs/{job_id}/ வரை status உள்ளது "completed", பின்னர் படிக்க result_data மொழிபெயர்ப்புகளுக்கு. Use progress_percentage முன்னேற்றத்தை கண்காணிக்க.

ஆவண மொழிபெயர்ப்பு

முழு ஆவணத்தையும் வடிவமைப்புடன் மொழிபெயர்க்கவும். பல கோப்பு வடிவமைப்புகளை ஆதரிக்கிறது.

POST https://api.translateapi.ai/api/v1/translate/document/
கோரிக்கை (பலபகுதி/வடிவம்-தகவல்)
அளபுரு வகை தேவைப்படும் விளக்கம்
file file ஆமாம் மொழிபெயர்க்க வேண்டிய ஆவணம் (max 10MB)
target_language string ஆமாம் Target language code (e.g., "es", "fr", "de")
source_language string இல்லை Source language code. Default: "auto" (auto-detect)
ஆதரவுள்ள கோப்பு வகைகள்
  • .txt - வெற்று உரை கோப்புகள்
  • .docx - வோர்ட் ஆவணங்கள்
  • .pdf - PDF ஆவணங்கள் (வருடப்பட்டவை உட்பட)
  • .json - JSON கோப்புகள் (சர மதிப்புகளை மொழிபெயர்க்கிறது)
  • .xml - XML கோப்புகள்
  • .srt - உரை கோப்புகள்
  • .po / .pot - Gettext மொழிபெயர்ப்பு கோப்புகள்
  • .jpg / .jpeg - JPEG படங்கள் (OCR)
  • .png - PNG பிம்பங்கள் (OCR)
  • .tiff / .tif - TIFF பிம்பங்கள் (OCR)
  • .bmp - BMP பிம்பங்கள் (OCR)
  • .webp - WebP பிம்பங்கள் (OCR)
OCR ஆதரவு: பிம்ப கோப்புகள் மற்றும் வருடப்பட்ட PDFகள் மொழிபெயர்ப்பிற்கு முன்னர் உரைகளை பிரித்தெடுக்க ஒளி எழுத்து அறிதல் (OCR) மூலம் செயலாக்கப்படுகின்றன. சிறந்த முடிவுகளுக்கு, தெளிவான, உயர் தெளிவுத்திறன் படங்களை பயன்படுத்தவும்.
உதாரணம் (cURL)
# Translate a Word document
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@document.docx" \
  -F "target_language=es" \
  -F "source_language=en"

# Translate text from an image (OCR)
curl -X POST https://api.translateapi.ai/api/v1/translate/document/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@scanned_page.jpg" \
  -F "target_language=es" \
  -F "source_language=en"
பிம்ப கோப்புகள் மொழிபெயர்ப்பிற்கு முன்னர் உரை வெளியேற்ற OCR உடன் செயலாக்கப்படுகின்றன. மொழிபெயர்க்கப்பட்ட வெளியீடு ஒரு கோப்பாக திரும்பும். .txt கோப்பு.
பதில்
{
    "id": 123,
    "original_filename": "document.docx",
    "file_type": "docx",
    "source_language": "en",
    "target_language": "es",
    "status": "completed",
    "character_count": 5420,
    "translated_file_url": "/media/translated/document_es.docx",
    "created_at": "2024-01-15T10:30:00Z",
    "completed_at": "2024-01-15T10:30:05Z"
}
நிலை மதிப்புகள்
pending கோப்பு ஏற்றப்பட்டது, செயலாக்கத்திற்காக காத்திருக்கிறது
processing மொழிபெயர்ப்பு நடைபெறுகிறது
completed மொழிபெயர்ப்பு முடிந்தது, பதிவிறக்கம் கிடைக்கும்
failed மொழிபெயர்ப்பு தோல்வியுற்றது (error_ message சரிபார்)
GET https://api.translateapi.ai/api/v1/translate/document/{id}/

ஆவண மொழிபெயர்ப்பின் நிலையை சரிபார்க்கவும் அல்லது பதிவிறக்க வலைமனை பெறவும்.

பதில்
{
    "id": 123,
    "original_filename": "document.docx",
    "status": "completed",
    "translated_file_url": "/media/translated/document_es.docx",
    "character_count": 5420
}

மொழி கண்டறிதல்

ஒவ்வொரு மொழிபெயர்ப்பு கோரிக்கையிலும் மொழி கண்டறிதல் உள்ளமைக்கப்பட்டுள்ளது. Set source_language to "auto" (அல்லது அதை தவிர்க்கவும்) மற்றும் கண்டறியப்பட்ட மொழி பதிலில் திரும்பும்.

POST https://api.translateapi.ai/api/v1/translate/
கோரிக்கை உடல்
{
    "text": "Bonjour, comment allez-vous?",
    "target_language": "en"
}
பதில்
{
    "translated_text": "Hello, how are you?",
    "source_language": "fr",
    "target_language": "en",
    "translations": {
        "en": "Hello, how are you?"
    },
    "character_count": 28,
    "translation_time": 0.52
}

source_language பதிலில் உள்ள புலத்தில் தானாகவே கண்டறியப்பட்ட மொழியை காட்டுகிறது.

ஆதரவுள்ள மொழிகள்

அனைத்து ஆதரவு மொழிகளின் பட்டியலை பெறு.

GET https://api.translateapi.ai/api/v1/translate/languages/
பதில்
{
    "count": 186,
    "results": [
        {"iso": "en", "name": "English", "en_label": "English"},
        {"iso": "es", "name": "Español", "en_label": "Spanish"},
        {"iso": "fr", "name": "Français", "en_label": "French"},
        ...
    ]
}

மொழிபெயர்ப்பு மாதிரிகள்

நாங்கள் திறந்த மூல மொழிபெயர்ப்பு மாதிரிகளை பயன்படுத்துகிறோம். அனைத்து மாதிரிகளும் வர்த்தக ரீதியாக அனுமதிக்கப்பட்டுள்ளன (அப்பாச்சி 2.0).

மாதிரி மொழிகள் சிறந்த
Helsinki-NLP/opus-mt 50+ மொழி ஜோடி பொதுவான மொழிகள் (EN, ES, FR, DE, IT, PT, RU, ZH, JA, etc.)
Google MADLAD-400 400+ மொழிகள் அரிதான மொழிகள், விரிவான கட்டுரை

API தானாகவே உங்கள் மொழி ஜோடிக்கு சிறந்த மாதிரியை தேர்ந்தெடுக்கிறது. நீங்கள் விருப்பப்படி ஒரு குறிப்பிடலாம் engine அளபுரு:

இயந்திரம் விளக்கம்
"auto" முன்னிருப்பு. HuggingFace முதலில் முயற்சிக்கிறது, MADLAD- 400 க்கு திரும்புகிறது
"huggingface" Force HuggingFace/MarianMT (வேகமானது, 50+ மொழிகள்)
"madlad" Force MADLAD-400 (400+ மொழிகள்)

பிழை கையாளுதல்

இந்த API வெற்றி அல்லது தோல்வியை குறிக்க தரமான HTTP நிலை குறியீடுகளை பயன்படுத்துகிறது.

குறியீடு விளக்கம்
200 வெற்றி
400 தவறான கோரிக்கை - செல்லாத அளவுருக்கள்
401 அனுமதிக்கப்படாத - செல்லாத அல்லது காணப்படாத API விசை
402 கட்டணம் தேவைப்படுகிறது - தினசரி எழுத்து விகிதம் மீறிவிட்டது
429 அதிகமான கோரிக்கைகள் - விகித வரம்பு மீறப்பட்டது
503 சேவை கிடைக்கவில்லை - மொழிபெயர்ப்பு இயந்திரம் தற்காலிகமாக நிறுத்தப்பட்டுள்ளது
பிழை பதில் வடிவம்
{
    "error": "daily_limit_exceeded",
    "credits_remaining": 0,
    "daily_limit": 100000
}

விகித எல்லைகள்

திட்டத்தின்படி வரம்புகள் மாறுபடும். பார்க்கவும் விலை முழு விவரங்களுக்கு:

திட்டம் எழுத்துக்கள்/ மாதம் விலை
இலவசம் 250,000 $0 இலவச பதிவு
ஆரம்பம் 2,500,000 $9/மணிகள் உறுப்பினராக்கு
புரொ 10,000,000 $29/மணிகள் உறுப்பினராக்கு
வணிகம் 40,000,000 $79/மணிகள் உறுப்பினராக்கு
அளவுகோல் 125,000,000 $199/மணிகள் உறுப்பினராக்கு

நீங்கள் உங்கள் வரம்பு மீறும்போது, நீங்கள் ஒரு பெறுவீர்கள் 429 Too Many Requests அடுத்த மாதம் வரை பதில் அல்லது நீங்கள் மேம்படுத்த.

Auto-Scaling Cloud Infrastructure

TranslateAPI runs on dedicated NVIDIA A100 GPU instances with automatic horizontal scaling. When demand increases, additional GPU instances are launched within minutes to maintain fast response times. This means our API can handle virtually unlimited concurrent requests without degradation — from a single request to thousands per minute.

இந்த பக்கத்தை மதிப்பீடு செய்
உங்கள் மதிப்பீட்டிற்காக நன்றி!
/5 அடிப்படை மதிப்பீடு