Ko'p tili saytning baza strukturasi?

+5 ovoz
231 marta ko‘rilgan
so‘radi 24 mart, 17 Dilshod (467 bal)
Saytni ko'p tili qilishda bazani tuzishning eng optimal usuli qanday, Masalan eng oddiyi title_uz ....

3 Javoblar

+2 ovoz
javob berdi 24 mart, 17 ruslanmedia (177 bal)
tanlangan 03 aprel, 17 Dilshod
 
Eng yaxshi javob
Bu oson usul lekin keyinchalik yanada ko‘p tilli qilaman desangiz yana qo‘shimcha maydon yaratishingizga to‘g‘ri keladi. Yaxshisi 2 ta jadval (table) yarating. Misol uchun birinchisi  postlar bo‘lsa, ikkinchisi postlarLang bo‘lsin. Ikkinchi jadvalda id, title, post_id, lang bo‘lsin. post_id ga birinchi jadvaldagi ma’lumotni IDsini ko‘rsatasiz. MySQL da left join orqali bog‘lab olsangiz bo‘ladi.
izoh qoldirdi 24 mart, 17 Dilshod (467 bal)
Bu usul (title_uz ...)  judda soddaligini bilaman. A siz aytgan usul ham yaxshi lekin bir muamo qo'shimcha table va relationlar ko'payadi. Man odatda shunaqa muamolar bo'lmasligi uchun barcha tilni qiymatni bitta columnga json ko'rinishda tiqib  qilaman, Masalan manda bitta title degan ustun bo'ladi, Va uni ichida {"uz":"Salom Dunyo","en":"Hello Wold"} , Ma'lumot chiqarishda esa bitta custom funksiya yozish orqali yoki hozirda mysqlda json bilan ishlaydigan funksiyalar mavjud shulardan foydalanish mumkin....
izoh qoldirdi 25 mart, 17 ruslanmedia (177 bal)
json shaklida saqlanishni tavsiya qilmayman. Relation ko'payaversin. Juda katta zapros bo'lmaydi-ku bu. Avvallari man ham JSON shaklida saqlar edim. Keyin muammolar kelib chiqqani uchun 2 ta table qilgan edim.
izoh qoldirdi 29 mart, 17 Dilshod (467 bal)
Qanday muamolar bo'lishi mumkin?, Keyin har bitta tableda tarjimalar bo'lsa har biri uchun alohida table qilinadimi?
izoh qoldirdi 29 mart, 17 ruslanmedia (177 bal)
Ha. posts, pages tablelar uchun postsLang, pagesLang qilib qo‘shasiz. Muammoga kelsak aniq eslay olmayapman. Ko‘p yil bo‘ldi. Undan tashqari kirillcha yozuvlar jsonda juda ham katta bo‘lib ketadi.
+2 ovoz
javob berdi 30 mart, 17 vejon (2,954 bal)
jsonda saqlaganda ba'zida uni o'qish bilan muommo bo'ladi. tarjima so'zlarni tablelarda saqlagan yaxshi fikr(@ruslanmedia aytganlaridek). Unchalik katta bo'lmasa kerak. Ba'zi katta ko'p tillik CMS lar ham huddi shu usulda saqlaydi. title_uz, title_en lar yaxshi fikr emas(boshdan o'tgan). Search qilganda, o'zgartirmoqchi bo'lganizda, yangi til qo'shmoqchi bo'lganizda muommolar chiqishi mumkin. Agar, oldindan tillar soni ma'lum bo'lsa va  Bu bir martalik loyiha bo'lsa Siz aytgan yechim ham bo'laveradi(nisbatan tez qilinadi). Lekin agar loyiha doimiy ravishda yanglanib tursa va unga qo'shimcha funksiyalar qo'shilib tursa, unda alohida tableli qilganiz maqsadga muvofiq bo'ladi.
0 ovoz
javob berdi 24 may, 17 Muhammadjavohir (67 bal)
Javobim ma'lumotlar bazasiga tegishli emaskuya, lekin PHPning Laravel freymvorkida ko'p tilli sayt qilish uchun qulay yechim bor ekan.
izoh qoldirdi 25 may, 17 Dilshod (467 bal)
Qanday ekan?
izoh qoldirdi 25 may, 17 Muhammadjavohir (67 bal)
https://laravel.com/docs/5.4/localization
Misollari berilgan.
Bir papkada ingliz, ikkinchisida o'zbek tili uchun qiymatlar beriladi.
izoh qoldirdi 25 may, 17 Dilshod (467 bal)
Bu usul yii2 da ham va boshqalarda ham bor. Yuqoridagi gaplar sayni kontent jihatdan ko'p tilli qilish haqida edi...

Assalomu alaykum, yordam.uz saytimizga xush kelibsiz.

Bu saytda o`zingizni qiziqtirgan savollarga javob olishingiz va o`z sohangiz bo`yicha savollarga javob berishingiz mumkin.

Bizning Oilamizga a'zo bo`lganingiz uchun chuqur Minnatdorchilik bildiramiz !!!

Telegram kanal YordamUzRss

...