پیش از Xcode 4.5 ، اینگونه مفهومی از base internationalization وجود نداشت. Xcode دسته storyboard ها را برای هر محلی سازی ، تکرار میکرد. یعنی ، در لحاظ بگیرید اپی که به 5 لهجه محلی سازی گردیده باشد. Xcode 5 تیم از storyboard ها را با هدف ها محلی سازی ، ساختوساز می کند. طراحی اپلیکیشن در مشهد یک گونه های عمده برای روند محلی سازی وجود دارااست. زمانی که نیاز به اضافه کردن یک عنصر UI نو در Storyboard ها داریم ، نیاز خواهیم داشت یک المان شبیه را برای هر محلی سازی ، اضافه کنیم. این یک پروسه خسته کننده میباشد. به همین برهان میباشد که اپل ، امکان base internationalization را در Xcode 4.5 معرفی کرده است.
با base storyboard تنظیمات گردیده ، فعلا استعداد داریم که عملیات محلی سازی به گویش فرانسوی را ایفا دهیم. آغاز ، view controller را در storyboard گزینش میکنیم . بعد ، به project info گشوده میگردیم. روی کلید + از نصیب Localization کلیک کرده و از لیست popup گویش French را تعیین میکنیم.
به دنبال ، از ما منظور میگردد که پوشه های منبع و گویش مرجع را برای تولید محلی سازی French گزینش نماییم. مورد ها را بر پایه ی تصویر تحت تعیین میکنیم. تک تک پوشه ها را گزینش کرده و کلید Finish را کلیک میکنیم.
پس از ایفا فعالیت ، می بایست اعتنا گردد که در navigator پروژه ، یک آرم مستطیلی صورت ، پس از MainStoryboard.storyboard ، وجود دارااست. آن را گسترش میدهیم و خوا هیم روءیت کرد که دو base storyboard و یک فولدر strings از storyboard فرانسوی در آن وجود داراست.
پوشه فرانسوی strings (یعنی MainStoryboard.strings (French)) را تعیین میکنیم. می بایست یک لیست از فن هایی با دو جفت key/value را بایستی ببینیم:
/* Class = \"IBUILabel\"; text = \"Stephane Mallat\"; ObjectID = \"0N3-up-Ts6\"; */
\"0N3-up-Ts6.text\" = \"Stephane Mallat\";
/* Class = \"IBUINavigationItem\"; title = \"Book Store\"; ObjectID = \"9EY-vY-nyh\"; */
\"9EY-vY-nyh.title\" = \"Book Store\";
/* Class = \"IBUILabel\"; text = \"This book is intended to serve as an invaluable reference for anyone concerned with the application of wavelets to signal processing. It has evolved from material used to teach \\\"wavelet signal processing\\\" courses in electrical engineering departments at Massachusetts Institute of Technology and Tel Aviv University, as well as applied mathematics departments at the Courant Institute of New York University and École Polytechnique in Paris. \"; ObjectID = \"gkh-KY-W1e\"; */
\"gkh-KY-W1e.text\" = \"This book is intended to serve as an invaluable reference for anyone concerned with the application of wavelets to signal processing. It has evolved from material used to teach \\\"wavelet signal processing\\\" courses in electrical engineering departments at Massachusetts Institute of Technology and Tel Aviv University, as well as applied mathematics departments at the Courant Institute of New York University and École Polytechnique in Paris. \";
/* Class = \"IBUIButton\"; normalTitle = \"Buy\"; ObjectID = \"jul-3l-6x7\"; */
\"jul-3l-6x7.normalTitle\" = \"Buy\";
/* Class = \"IBUILabel\"; text = \"A Wavelet Tour of Signal Processing\"; ObjectID = \"xi7-zh-v4N\"; */
\"xi7-zh-v4N.text\" = \"A Wavelet Tour of Signal Processing\";
زمانی که یک محلی سازی نو را اضافه میکنیم ، Xcode باطن base storyboard را نسخه برداری می نماید ، مورد های متنی آنها را برای اعمال محلی سازی ، دستیابی می کند و آنانرا در درون پوشه strings قرار میدهد. همانطور که در کدهای فوق میبینید ، حرفه های قابل مشاهده از storyboard ها همچون برچسب ، تیتر navigation bar و برچسب کلید در درون فولدر strings گذارده گردیده اند. مجموع موجودیت ها ، دارنده جفت مقادیر key/value میباشند. قسمت نخستین از key مرتبط با ID شیء از گزینه UI است. خواهیم توانست object ID از شیء UI را در پایین قسمت Identity Inspector پیدا کنیم. برای مثال ، object ID از کلید Buy بر اساس صورت ذیل میباشد:
با داشتن پوشه strings ایجاد گردیده ، شغل ما ترجمه تک تک مقادیر باطن این فولدر به لهجه فرانسوی میباشد. محتواها از فولدر MainStoryboard.strings برای اعمال محلی سازی به گویش فرانسوی مبنی بر محتوای پایین میباشد: