آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

چند زبانه کردن اپ

120931  10 سال پیش  9 سال پیش
0 0

سلام 

دوستان من می خوام اپلیکیشن من از چند زبان پشتیبانی کنه 

تو اولین جستجو فهمیدم که باید از localization استفاده کنم و این امکان و جود داره که هم به صورت داینامیک  با ایجاد resourse 

متن ها رو به زبان های مختلف ست کنیم هم در main.storyboard فایلی ایحاد می شه که با توجه به object ID هر لیبل متنش رو به زبان های مختلف ست کنیم 

اینکار خیلی خوبه اما یه مساله هست  اینکه در زبان فارسی چپ و راست می شن ویو ها نسبت به سایر زبان ها نیاز میشه که ما مجددا ویوی جدید بزنیم و عملا به نظرم اینکار دیگه نیازی نیست حداقل برای زبان فارسی و انگلیسی درسته ؟ 

و یه سوال دیگه اینکه  میشه کاری کرد لیبل ها مثل اندروید با توجه به اینکه متن توشون فارسی هست راست نویس بشن اتومات ؟ 

اگه باز این اتفاق بشه انجام داد میشه باز ویو ها رو طوری تا یه حدی دیزاین کرد که نیازی نباشه مجددا ساخته بشن و فقط بعضی ویو ها رو دو بار ساخت 

و در نهایت پیشنهاد اقای کاشی زاده برای چند زبانه کردن اپ چیه که به بهینه ترین حالت ممکن انجام بشه 

ممنون از راهنمایی هاتون به ویژه اقای کاشی زاده 

+1 0
از این لینک و لینک برای مطالعه این مبحث میتونید استفاده کنید . برای چپ چین و راست چین کردن اتوماتیک هم این لینک مفید هست . (10 سال پیش)
 برای این سوال 2 پاسخ وجود دارد.
پاسخ به سوال 
شهریار توکلی  10 سال پیش
0 0

درود . 

در راست چین کردن برای زبان فارسی ما فقط متن رو چپ و راست نمی کنیم بلکه یک مربع یا بلاک رو می بریم یک ور برای این راه  وجود داره ؟

پاسخ به سوال 
کاشی زاده  10 سال پیش
+1 0

خیلی ساده میتونید Design صفحات رو تفکیک کنید ، در زیر برای این موضوع مثالی زدم :








+1 0
آقای کاشی زاده من روی این چند زبانه کردن یکم کار کردم با توجه به توضیحات شما و به چند تا نکته رسیدم که به نظرم اومد اضافه کنم به توضیحات شما و البته یه سوال هم داشتم : راجب بحث چپ چین و راست چین کردن خود اپل این امکان رو می ده که نیازی نیست به استفاده از کدی و اگه قید گذاری خوبی انجام بدیم خپ اپل وقتی زبان به حالت فارسی می ره کل قید ها رو از راست به چپ می کنه و مثلا عکسی که در سمت چپ بوده در ویوی لاتین با رفتن به زبان فارسی عکس اتو مات به راست می یاد . و عملا دیگه نیازی نیست حتی ویو ها رو دوباره ساخت و فقط کافیه استرینگ مین رو تغییر بدیم و نیازی به تغییر اینتر فیس نیست (9 سال پیش)
0 0
اما من یه مشکلی دارم الان اینکه وقتی توی اپ زبان رو تغییر می دم همون لحظه نمی تونم بگم بره از استرینگ مربوطه متن های اینترفیسم رو ست کنه یا به عبارتی صفحه رو رفرش کنم و باید حتما از اپ خارج بشم و بیام توی اپ مجددا تا ببینم زبان اپ تغییر کرده (9 سال پیش)
0 0
می خواستم ببینم دقیقا چه اتفاقی می افته با خارج شدن از برنامه که زبان اون موقع تغییر می کنه و چطور میشه این کار رو بدون خارج شدن از اپ هندل کرد و به عبارتی صفحه رو ریلود کرد ؟ (9 سال پیش)
0 0
در رابطه با تغییر اتوماتیک اولین مشکلی که وجود داره این هست که در سیستم عامل iOS از زبان فارسی به صورت کامل پشتیبانی نمیشه . دومین مشکل این هست که برخی از آیتم ها نیاز به تغییرات اساسی برای نمایش دارند و مطمئنا خود سیستم نمیتونه به درستی اونها رو مجددا چیدمان کنه . نکته بعدی این هست که امکان تنظیم خودکار حالت نمایش در نسخه جدید سیستم عامل معرفی شده و در نسخه های قدیمی تر وجود ندارد . (9 سال پیش)
+1 0
برای اینکه به صورت RealTime این کار انجام بشه روش های زیادی هست که باید در موردش تحقیق کنید ، من چند مثال رو براتون قرار میدم : لینک ، لینک ، لینک (9 سال پیش)
0 0
نه ببینید الان مساله من سر عوض شدن main.storyboard هستش به این صورت که می خوام توی اپ کاربر مثلا بگه زبان برنامه فرانسوی بشه و با انتخاب زبان فرانسوی توی خود اپ محتوای مربوط به باتن و تکست ها و ... از روی main.string(fr) خونده بشه و زبان صفحه تغییر کنه NSUserDefaults.standardUserDefaults().setObject([selectedLanguage], forKey: "AppleLanguages") NSUserDefaults.standardUserDefaults().synchronize() این دو خط کد زبان رو تغییر میدن ولی نه به صورت ران تایم بلکه باید از اپ خارج بشم و مجددا وارد بشم تا این تغییر زبان رو مشاهده کنم و می خوام ببینم راهی هست که وقتی کاربر زبان رو توی اپش تغیین کرد از storyboard مربوطش محتوای باتن و ... رو بخونه ؟ (9 سال پیش)
+1 0
اگر میخواید محتوا به صورت کامل تغییر کنه و مثلا Storyboard جدیدی لود بشه باید اپلیکیشن ریست بشه حتما ، اگر بخش مربوط به Life Cycle کنترلر هارو مطالعه کرده باشید میدونید که زمانی که متد View did load صدا زده میشه درواقع کنترلر ما با استفاده از فایل XML مربوطش ساخته میشه پس اگر قصد دارید که این فایل رو تغییر بدید باید یکبار برنامه ریست بشه . (9 سال پیش)
0 0
خب مگه نباید وقتی وارد یه ویو کنترلر دیگه میشیم عملا زبان تغییر کنه و محتوای استوری برد جدید رو بخونه من احساس می کنم وقتی داریم از یه ویو کنترلر به یه ویو کنترلر دیگه می ریم دستوری که نوشتیم باعث میشه همچنان از همون main.story(base) بخونه و درنتیجه علی رغم تغییر زبان همچنان محتوا ها تغییر نکنن ولی با خارج شدن از اپ و دوباره وارد شدن می ره و از همون ابتدا که می خواد از لانچ اسکرین وارد ویوی اپ بشه استوری برد مربوطه لود میشه (9 سال پیش)
0 0
قطعا برای تغییر زبان منطقی نیست کاربر رو از اپ بندازیم بیرون و مجددا اپ رو اجرا کنه (9 سال پیش)
0 0
زمانی که اپلیکیشن اجرا میشه یکبار Storyboard لود میشه و در حافظه نگهداری میشه و زمانی که ViewController لود میشه اطلاعات مربوط به View مربوطه لود میشه و نه تمامی Storyboard . (9 سال پیش)
0 0
شما باید ببنید تغییر زبان مد نظرتون هست یا تغییر کلی ساختار ، اگر قصد دارید کل ساختار تغییر کنه پس حداقل ویو فعلی باید مجددا لود بشه . در رابطه با استفاده از nib file به جای Strotyboard تحقیق کنید مطمئنا به نتیجه خوبی میرسید . (9 سال پیش)
0 0
مطالعه این لینک میتواند برای شما مفید باشد : لینک (9 سال پیش)
0 0
اوکی ... به هر حال باز مساله من با این موضوع حل نمی شه nib file فکر می کنم برای کاربرد ساخت ویوی های کاستومایز کاربرد داره و در نهایت نمی تونه جایگزین استوری برد و ویو کنترلر بشه می شه توی ویو کنترلر از یه نیب فایل استفاده کرد با این تفاسیر شما نظرتون اینه که اپ رو ببندیم و مجددا باز کنیم ؟ (9 سال پیش)
0 0
قبل از اینکه Storyboard معرفی بشه از nib file استفاده می شده . اگر لینکی که قرار دادم رو با دقت مطالعه کنید در این رابطه توضیحات لازم را داده اند . (9 سال پیش)
0 0
به هر حال الان storyboard مطرح شده و قابل استفاده است و از طرفی هم من بخش عمده ای ویو هام توی استوری برد ساخته شده و دارم استقاده می کنم و عملا انتقال و تبدیل به نیب فایل کردنشون کار زمان بری خواهد بود و کلی پروژه رو عقب می ندازه حالا نمی دونم راهی وجود داشته باشه که من ندونم ولی اونچیزی که من در مورد نیب فایل یاد گرفتم یه مقدار درد سر خواهم داشت برای اینکه تبدیل کنم ویو هام رو و ببرمشون در قالب یه نیب فایل (9 سال پیش)

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .