Перейти к основному содержимому

translate

Multi language. Loyiha kattalashishi bilan foydalanuvchilar soni ko'payib boradi va online bo'lganligi sababli bir biridan uzoq hududlardagi foydalanuvchini ham o'z ichiga oladi. Tabiiyki foydalanuvchilarni tillari farq qilishi mumkin. Loyihada multi_language hususiyatini ishlatishga zarurat paydo bo'ladi. Ko'plab usullar va yechimlar majvud.

Bir nechtasini ko'rib chiqamiz:

  • Multi column

  • Json column

  • Translatable

Multi column

{
"data": [
{
"id": 24,
"slug": "nitro-g3-15",
"title": "Nitro G3 15",
"title_uz": "Nitro G3 15",
"title_ez": "Nitro G3 15",
"title_ru": "Нитро G3 15",
"price": "20000000",
"thumbnail": "https://api.markt.circle.uz/storage/35/conversions/mitro-thumbnail.jpg"
},
]
}

Json column

{
"data": [
{
"id": 24,
"title": {
"uz": "Nitro G3 15",
"ez": "Nitro G3 15",
"ru": "Нитро G3 15",
}
"slug": "nitro-g3-15",
"price": "20000000",
"thumbnail": "https://api.markt.circle.uz/storage/35/conversions/mitro-thumbnail.jpg"
},
]
}

Translatable

{
"data": [
{
"id": 24,
"title": "Nitro G3 15",
"slug": "nitro-g3-15",
"price": "20000000",
"thumbnail": "https://api.markt.circle.uz/storage/35/conversions/mitro-thumbnail.jpg"
},
]
}

Bu tanlov backend dan ma'lum ishlarni talab qiladi. Bizda berilgan misolda shu usuldan foydalanilgan. Qaysi tilda javob olishni hohlasangiz headers ga language belgilab olishingiz mumkin. Default o'zbek tili.

Database design boshqattan ko'rib chiqiladi. Barcha text lar tablelardan olib tashlanadi, va hamma textlar Translatable(id, langugage_code, title, body, model_di, model_type) tableda saqlaymiz. Slug dan boshqa title, text yoki description hammasi translatable da saqlanadi. va olib beriladi.