PDA

View Full Version : سایت چند زیانه



mr.noname
یک شنبه 15 آذر 1394, 14:16 عصر
درود
قصد نوشتن ی سایت چند زبانه با پی اچ پی رو دارم
چجوری میتونم این کار رو از روی ای پی بصورت خودکار انجام بدم؟
منظورم اینکه مثلا وقتی ی ایرانی وارد سایتم میشه بصورت خودکار زبان سایتم فارسی شه ممنون میشم کمکم کنید

H:Shojaei
یک شنبه 15 آذر 1394, 16:42 عصر
روشهای مختلفی داره یکیش اینه که واسه زبان های مختلف فایل های مختلف داشته باشید که مثلا متن تایتل منوها و... توش تعریف شده باشن حالا یا به وسیله آرایه یه define یا متغیر یا... و رنج آی پی رو بگیرید و بسته به اون یکی از فایلها رو اینکلود کنید...

m_r_1989
یک شنبه 15 آذر 1394, 22:40 عصر
سایت چند زبانه رو روش های زیادی دارد
ولی این بخش سوال که گفتی به صورت اتوماتیک باشه شما می تونی به راحتی آی پی کاربر رو بگیری بعد چک کنی ببینی از کدام کشور هست و بعد با زبان مورد نظر رو به کاربر نشون بدی



پکیج تصفیه فاضلاب
(http://campkrupp.net)ثبت شرکت (http://www.saadatandishan.ir/)

mr.noname
دوشنبه 16 آذر 1394, 12:43 عصر
ی مشکلی هست اونم اینکه اگر کاربری فارسی زبان با فیلتر شکن بیاد ای پیش مال ایران نیس دیگ
چجوری این مشکلو حل کنم؟

m_r_1989
دوشنبه 16 آذر 1394, 12:54 عصر
این کارو یکم سخت می کند احتمالا راهی هست ولی من در اطلاع نیستم ، ولی کم پیش میاد کسی با وی پی ان سایت های داخلی رو باز کند



پکیج تصفیه فاضلاب
(http://campkrupp.net)ثبت شرکت (http://www.saadatandishan.ir/)

mr.noname
دوشنبه 16 آذر 1394, 13:40 عصر
این کارو یکم سخت می کند احتمالا راهی هست ولی من در اطلاع نیستم ، ولی کم پیش میاد کسی با وی پی ان سایت های داخلی رو باز کند

به هرحال خیلی پیش میاد که وقتی شخصی وی پی ان اش روشن و وارد سایت های ایرانی میشه
خودم خیلی تو امار دهی سایت ها ایرانی ای پی های کشور های دیگر رو دیدم

Unique
دوشنبه 16 آذر 1394, 14:30 عصر
اینو بخون (http://www.geekfarsi.com/%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D9%86-%D8%A2%D8%AF%D8%B1%D8%B3-ip-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7-ip-%D9%88%D8%A7%D9%82%D8%B9%DB%8C%D8%B4%D9%88/447) ، ۹۰٪ چنین کاربرانی را میشه شناسایی کرد.

us1234
دوشنبه 16 آذر 1394, 17:18 عصر
اینو بخون (http://www.geekfarsi.com/%D8%A8%D8%AF%D8%B3%D8%AA-%D8%A2%D9%88%D8%B1%D9%86-%D8%A2%D8%AF%D8%B1%D8%B3-ip-%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%A7%D9%86%DB%8C-%DA%A9%D9%87-%D8%A8%D8%A7-ip-%D9%88%D8%A7%D9%82%D8%B9%DB%8C%D8%B4%D9%88/447) ، ۹۰٪ چنین کاربرانی را میشه شناسایی کرد.

جالب بود :)
ولی وقتی کانکشن pppoe را داخل مودم ست میکردم و از وی پی ان استفاده میکردم نمیتونست آی پی را پیدا کنه .

به نظرم مرورگر آی پی را از کانکشن ها میگیره و به نوعی دسترسی داشتن به سیستم عامل محصوب میشه .

البته وقت نکردن روی لینوکس تست کنم و فقط با ویندوز تست کردم ...

mr.noname
دوشنبه 16 آذر 1394, 18:34 عصر
روش خوبیه ولی صد در صد نیست من دنبال ی روش صددر صدیم

us1234
دوشنبه 16 آذر 1394, 19:27 عصر
روش خوبیه ولی صد در صد نیست من دنبال ی روش صددر صدیم

روش 100% وجود ندارد ...

آیکون تغییر زبان را در سایت قرار دهید هر کس احساس کرد اشتباه سایت لود شده زبانش را تغییر دهد .

mr.noname
دوشنبه 16 آذر 1394, 22:09 عصر
این مورد که شما میگید برای سایت های ساده هست
نظرتون در مورد ی پرسش در اولین بازدید کاربر درمورد زبانش چیه؟

H:Shojaei
سه شنبه 17 آذر 1394, 09:21 صبح
این مورد که شما میگید برای سایت های ساده هست
نظرتون در مورد ی پرسش در اولین بازدید کاربر درمورد زبانش چیه؟
این که دیگه کلا نیاز به هیچ الگوریتم و روش و ... نداره قطعا هم بهترین روشه... و در ضمن کلاس کاری هم داره وقتی شما خودکار لود کنید صفحه رو کاربر شاید اصلا ندونه شما چند تا زبون دارید ولی وقتی نمایش بدین قضیه فرق داره...

mr.noname
سه شنبه 17 آذر 1394, 15:26 عصر
انوقت چجوری این امکان رو فراهم کنم که وقتی کاربر زبانش رو انتخاب کرد ادرس در هر دو زبان یکی باشه
مثلا در نسخه فارسی namesite.ir/showthread.php
در نسخه انگلیسی namesite.ir/showthread.php

us1234
سه شنبه 17 آذر 1394, 15:38 عصر
انوقت چجوری این امکان رو فراهم کنم که وقتی کاربر زبانش رو انتخاب کرد ادرس در هر دو زبان یکی باشه
مثلا در نسخه فارسی namesite.ir/showthread.php
در نسخه انگلیسی namesite.ir/showthread.php

در دیتابیس زبان هر شخص را ذخیره کنید و برای هر کاربر سایت را با آن زبان لود کنید .

یا بهتر اینکه در کوکی زبان را ذخیره کنید که اگر کاربر لاگین هم نباشد با زبان ذخیره شده در کوکی سایت لود شود .

mr.noname
سه شنبه 17 آذر 1394, 18:09 عصر
یا بهتر اینکه در کوکی زبان را ذخیره کنید که اگر کاربر لاگین هم نباشد با زبان ذخیره شده در کوکی سایت لود شود .
کلا نظرم همینه از این روش استفاده کنم
اما زبان چی ؟

Unique
سه شنبه 17 آذر 1394, 21:55 عصر
انوقت چجوری این امکان رو فراهم کنم که وقتی کاربر زبانش رو انتخاب کرد ادرس در هر دو زبان یکی باشه
این روش اصلا درست نیست ! استفاده از Cookie یا Session برای زبان دردسر های زیادی داره ، مثلا فکر کن Google اگه Cookie شما را توی Crawler ش ست نکنه نمیتننه همه زبان های سایت شما را ایندکس کنه ! یا کسی که داره زبان عربی را میبینه اما پیش فرض شما فارسیه اگه لینکی را جایی توی سایتش بگذاره یا برای کسی بفرسته نسخه فارسی نمایش داده میشه چون مقدار session و Cookie ست نشده و بسیاری مشکلات و کاستی های دیکه !

درخواست زبان باید توی url به صورت query string یا با روش Url Rewriting باشه ، اینطوری :

forum.com/fa/thread.php?lang=fa&id=120
forum.com/fa/thread/120

mr.noname
سه شنبه 17 آذر 1394, 22:06 عصر
فرمایش شما متین ولی سایت که من میخوام بنویسم باید ادرس در هردو زبانش یکی باشه وگرنه به مشکلی میخوره
دنبال ی روشم که این کار رو عملی کنم ؟
اصلا بحثم درمورد این نیست که چجوری زبان روکه کاربر انتخاب کرده ذخیره کنم

Unique
چهارشنبه 18 آذر 1394, 16:41 عصر
ببینین ،‌ سایت های چند زبانه فرمت های شناخته شده ای دارن که همه از اونها استفاده میکنن.

کلا وقتی کاربر url اصلی سایت را فراخونی میکنه سه تا انتخاب هست :

۱ - به طور کلی اگه بیشتر کاربران سایت عموما از زبانی مثلا فارسی استفاده میکنن به صورت پیش فرض سایت با زبان فارسی نمایش داده میشه و در بخشی از سایت قابلیت تغییر به زبان دیگر مثل انگلیسی یا عربی وجود داره

۲ - اگه سایت بین المللی هست و از همه زبان ها بهش رجوع میشه. معمولا بیش از دو یا سه زبان برای انتخاب هست. یک صفحه ورودی داره که کاربر زبان را انتخاب میکنه و ادامه میده

۳ - یکی از متداول ترین کار ها هم اینه که از طریق ip کاربر کشورش شناسایی و زبان مرتبط نمایش داده بشه (اگه زبان کشورش باشه به زبان مورد نظر وگرنه به زبان پیش فرض)

برای این کار باید از سرویس های سایت هایی مثل https://www.ip2location.com/databases/db1-ip-country استفاده کنید.

اما در مورد بحث اینکه url برای همه زبان ها یکی باشه هنوز هم خدمتتون عرض میکنم کار اشتباهیه و هر کسی کلمه "باید" را میگذاره روش نمیدونه داره چیکار میکنه. من که تا حالا حتی یک نمونه سایت ندیدم به این شکل عمل کنه.

mr.noname
پنج شنبه 19 آذر 1394, 11:19 صبح
۳ - یکی از متداول ترین کار ها هم اینه که از طریق ip کاربر کشورش شناسایی و زبان مرتبط نمایش داده بشه (اگه زبان کشورش باشه به زبان مورد نظر وگرنه به زبان پیش فرض)


این روش که تو ایران 100 درصد جواب نمیده بنده هم نظرم اول همین بود




اما در مورد بحث اینکه url برای همه زبان ها یکی باشه هنوز هم خدمتتون عرض میکنم کار اشتباهیه و هر کسی کلمه "باید" را میگذاره روش نمیدونه داره چیکار میکنه. من که تا حالا حتی یک نمونه سایت ندیدم به این شکل عمل کنه.


اینی که من میگم "باید"چون سایت ی سرویس ساب دامین دهی مثل وبلاگدهی;
شما خودتون بگید چجوری وبلاگ هارو دو زبانه کنم؟
مطمئنا نمیشه در نسخه فارسی ادرس blog.subdomin.com باشه و در نسخه انگلیسی blog.subdomin.com/en باشه میشه؟؟؟؟؟

Unique
پنج شنبه 19 آذر 1394, 15:42 عصر
این روش که تو ایران 100 درصد جواب نمیده بنده هم نظرم اول همین بود
اگه منظورتون استفاده از ف*ی*ل*ت*ر هست خوب با اون روشی که گفتم تا ۹۰ درصد مشکل حله ،‌در ضمن مگه چند درصد از کاربران همیشه با تغییر IP میان !؟ این مشکل را همه سایت ها دارن ،‌مثلا چون من از یه سرور آلمانی میانبر میزنم سایت php.net بعضی وقت ها مطالب را برای من آلمانی میاره ! تقصیری هم نداره. کاربر ایراین برای سایت ایراین نیاز نداره از ف*ل*ت*ر شکن استفاده کنه ! در کل میخوام بگم بهترین روش همچنان همینه.


اینی که من میگم "باید"چون سایت ی سرویس ساب دامین دهی مثل وبلاگدهی;
شما خودتون بگید چجوری وبلاگ هارو دو زبانه کنم؟

مشکل از اینجاست که شما نمیاین بگین کل قضیه چیه و یک سوال ناقص میپرسین و جواب ناقص میگیرین. همینجا هم سوال مطرحه :

۱- سایت وبلاگدهی اصلی با دامنه example.com باید چند زبانه باشه !؟
توی این حالت همون استفاده از example.com/fa یا en یا هر چی مشکل را حل میکنه.

۲ - وبلاگ ها باید بر اساس زبانی که کاربر توی example.com انتخاب کرده شکل بگیرن ؟
در زمان ایجاد وبلاگ مشخص میکنیم زبان وبلاگ بر اساس query string توی دامنه example.com چیه و بر اساس اون زبان وبلاگ ایجاد میشه ۷ در زمان نمایش هم چک میکینم زبان وبلاگ چیه و به همون زبان نشون میدیم !

۳ - وبلاگ ها خودشون میتونن چند زبانه باشن ؟

مطمئنا نمیشه در نسخه فارسی ادرس blog.subdomin.com باشه و در نسخه انگلیسی blog.subdomin.com/en باشه میشه؟؟؟؟؟

چرا نمیشه !؟ البته بهتره چه فارسی و چه زبان دیگه وبلاگ با اون زبان مشخص بشه blog.example.com/fa یا blog.example.com/en.

همونطور که میبینین هنوز کل سناریو مشخص نیست و نمیشه جواب دقیق بهش داد

mr.noname
پنج شنبه 19 آذر 1394, 16:30 عصر
اگه منظورتون استفاده از ف*ی*ل*ت*ر هست خوب با اون روشی که گفتم تا ۹۰ درصد مشکل حله ،‌در ضمن مگه چند درصد از کاربران همیشه با تغییر IP میان !؟ این مشکل را همه سایت ها دارن ،‌مثلا چون من از یه سرور آلمانی میانبر میزنم سایت php.net بعضی وقت ها مطالب را برای من آلمانی میاره ! تقصیری هم نداره. کاربر ایراین برای سایت ایراین نیاز نداره از ف*ل*ت*ر شکن استفاده کنه ! در کل میخوام بگم بهترین روش همچنان همینه.



مشکل از اینجاست که شما نمیاین بگین کل قضیه چیه و یک سوال ناقص میپرسین و جواب ناقص میگیرین. همینجا هم سوال مطرحه :

۱- سایت وبلاگدهی اصلی با دامنه example.com باید چند زبانه باشه !؟
توی این حالت همون استفاده از example.com/fa یا en یا هر چی مشکل را حل میکنه.

۲ - وبلاگ ها باید بر اساس زبانی که کاربر توی example.com انتخاب کرده شکل بگیرن ؟
در زمان ایجاد وبلاگ مشخص میکنیم زبان وبلاگ بر اساس query string توی دامنه example.com چیه و بر اساس اون زبان وبلاگ ایجاد میشه ۷ در زمان نمایش هم چک میکینم زبان وبلاگ چیه و به همون زبان نشون میدیم !

۳ - وبلاگ ها خودشون میتونن چند زبانه باشن ؟


چرا نمیشه !؟ البته بهتره چه فارسی و چه زبان دیگه وبلاگ با اون زبان مشخص بشه blog.example.com/fa یا blog.example.com/en.

همونطور که میبینین هنوز کل سناریو مشخص نیست و نمیشه جواب دقیق بهش داد

پس یعنی از نظر شما url به این صورت باشه در ساب دامین مشکلی نداره؟
در نسخه فارسی blog.subdamin.com/fa
در نسخه انگلیسی blog.subdomin.com/en

Unique
پنج شنبه 19 آذر 1394, 23:28 عصر
خیر ، اگه وبلاگ بتونه چند زبانه باشه هیچ مشکلی نداره !