چندزبانه‌سازی


مجید مدیر فنی یک استارتآپ است. او در راستای افزایش تعداد مشتریان، می‌خواهد سایت‌شان را چندزبانه کند. او ساختار فایل‌های PO را نمی‌پسندد؛ بنابراین ساختار جدیدی ارائه داده تا با استفاده از آن بتوان سایت را چندزبانه کرد. از شما می‌خواهیم بخش ترجمه‌ی جملات بر اساس ساختاری که مجید ارائه داده است را پیاده‌سازی کنید.

جزئیات پروژه🔗

مجید برای متن ترجمه‌ها، یک آرایه‌ی انجمنی در نظر گرفته که کلیدهای آن، کد زبان‌های مختلف و مقادیر متناظر با آن‌ها، آرایه‌هایی انجمنی شامل نگاشتی از جملات با زبان مبدأ به زبان مقصد هستند. نمونه‌ای از یک آرایه شامل ترجمه‌ها به‌صورت زیر است:

$translations = [
    'fa' => [
        'Hello!' => 'درود!',
        'Hi!' => 'درود!'
    ],
    'fr' => [
        'Hello!' => 'Bonjour!'
    ]
];
PHP

تابعی با نام getTranslation پیاده‌سازی کنید که به ترتیب آرایه‌ی ترجمه‌ها، کد زبان و جمله‌ی ورودی را دریافت کرده و متن ترجمه‌شده را برگرداند. اگر جمله یا زبان ورودی در آرایه‌ی ترجمه‌ها موجود نبود، همان متن ورودی را برگردانید.

امضای تابع getTranslation به‌صورت زیر خواهد بود:

function getTranslation($translations, $lang, $statement)
{
    // TODO: Implement
}
PHP

مثال🔗

<?php

function getTranslation($translations, $lang, $statement)
{
    // TODO: Implement
}

$translations = [
    'fa' => [
        'Hello!' => 'درود!',
        'Hi!' => 'درود!'
    ],
    'fr' => [
        'Hello!' => 'Bonjour!'
    ]
];

echo getTranslation($translations, 'fa', 'Hello!');
echo PHP_EOL;
echo getTranslation($translations, 'fr', 'Hello!');
echo PHP_EOL;
echo getTranslation($translations, 'fr', 'Something');
PHP

خروجی مورد انتظار:

درود!
Bonjour!
Something
Plain text

آن‌چه باید آپلود کنید🔗

یک فایل PHP که تابع getTranslation در آن پیاده‌سازی شده است آپلود کنید.