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.