{"id":206852,"date":"2013-12-20T21:23:02","date_gmt":"2013-12-20T17:23:02","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=206852"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=206852","title":{"rendered":"<span class=\"post_title\">\u041f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u043d\u0430 Windows Phone 8<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043a\u0430\u043a <a href=\"http:\/\/habrahabr.ru\/post\/204922\/\">\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0443\u0434\u043e\u043a\u0443 \u0434\u043b\u044f windows 8.1<\/a>, \u0432 \u044d\u0442\u043e\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Windows Phone 8 \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f\u0437\u044b\u043a\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/loads.png\" alt=\"image\"\/><br \/>  <a name=\"habracut\"><\/a><br \/>  \u0414\u043b\u044f \u043d\u0430\u0447\u0430\u043b\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0440\u043e\u0435\u043a\u0442 \u0448\u0430\u0431\u043b\u043e\u043d\u0430 Windows Phone<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/new-proj.jpg\" alt=\"Windows Phone Application Template\"\/><\/p>\n<p>  \u0412 \u044d\u0442\u043e\u043c \u0440\u0435\u0448\u0435\u043d\u0438\u0438 \u044f \u0441\u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u043b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0435 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u044b \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0438\u0437 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 Windows 8.1 \u0432 \u043f\u0440\u043e\u0435\u043a\u0442 Windows Phone. \u042d\u0442\u043e \u0440\u0435\u0448\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043b\u0443\u0447\u0448\u0438\u043c, \u043d\u043e \u043e\u043d\u043e \u0441\u0430\u043c\u043e\u0435 \u0431\u044b\u0441\u0442\u0440\u043e\u0435. \u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0445 \u0441\u0442\u0430\u0442\u044c\u044f\u0445 \u044f \u043f\u043e\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u0434\u0435\u043b\u0430\u0442\u044c \u043a\u0440\u043e\u0441\u0441\u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435\u043d\u043d\u044b\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u044f.<br \/>  \u0421\u0435\u0439\u0447\u0430\u0441 \u0436\u0435 \u0432\u0435\u0440\u043d\u0435\u043c\u0441\u044f \u043a \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0412 \u0438\u0433\u0440\u0435 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435 \u0440\u0435\u0448\u0435\u043d\u043e \u0431\u044b\u043b\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u0441\u0442\u0440\u0430\u043d\u0438\u0447\u043d\u0443\u044e \u043d\u0430\u0432\u0438\u0433\u0430\u0446\u0438\u044e. \u0421\u043e\u0437\u0434\u0430\u043d\u043e 4 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/pages.jpg\" alt=\"\u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u0441\u0443\u0434\u043e\u043a\u0443\"\/><\/p>\n<p>  \u0418\u0433\u0440\u0430 \u043d\u0430\u0447\u0438\u043d\u0430\u0435\u0442\u0441\u044f \u0441\u043e \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b <strong>GamePage<\/strong>. \u0415\u0441\u043b\u0438 \u043d\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u043e\u0439 \u0438\u0433\u0440\u044b \u2014 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044f \u043d\u0430 \u044d\u043a\u0440\u0430\u043d \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043d\u043e\u0432\u043e\u0439 \u0438\u0433\u0440\u044b:<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">protected override void OnNavigatedTo(NavigationEventArgs e)         {             base.OnNavigatedTo(e);              GameState game = SettingsProvider.LoadSavedGame();             if (game == null)             {                 NavigationService.Navigate(new Uri(&quot;\/Pages\/NewGame.xaml&quot;, UriKind.Relative));             }             else             {                \/\/...             }         } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h3>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0438 \u0441\u0435\u0441\u0441\u0438\u044f\u043c \u0432 Windows 8.1<\/h3>\n<p>  \u0412 \u0448\u0430\u0431\u043b\u043e\u043d\u0435 Windows 8.1 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0431\u0443\u0434\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d \u043a\u043b\u0430\u0441\u0441&nbsp;<code>SuspensionManager<\/code>, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u0435\u0441\u0441\u0438\u0439. \u0422\u043e\u0433\u0434\u0430 \u0432 \u043a\u043b\u0430\u0441\u0441\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0438\u0442\u044c \u043c\u0435\u0442\u043e\u0434&nbsp;<code>NavigationHelperLoadState <\/code>\u0438&nbsp;<code>NavigationHelperSaveState<\/code>. \u041a\u043e\u0434&nbsp;<code>NavigationHelperLoadState <\/code>\u043f\u043e\u043a\u0430\u0437\u0430\u043d \u043d\u0438\u0436\u0435, \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u043f\u043e\u0445\u043e\u0436\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\"> private async void NavigationHelperLoadState(object sender, LoadStateEventArgs e)         {             try             {                 if (SuspensionManager.SessionState.ContainsKey(&quot;game-data&quot;))                 {                     string previousGame = SuspensionManager.SessionState[&quot;game-data&quot;] as string;                     if (!string.IsNullOrEmpty(previousGame))                     {                         GameStateModel game = GameStateModel.FromJson(previousGame);                         if (game != null)                         {                             LoadGameToBoard(game.ToGameState());                         }                     }                 }             }             catch (FileNotFoundException fileNotFound)             {             }             catch (Exception)             {             }         } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h3>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0438 \u0441\u0435\u0441\u0441\u0438\u044f\u043c \u0432 Windows Phone 8<\/h3>\n<p>  \u041d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u043d\u0435\u043c\u043d\u043e\u0433\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f. \u0415\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u044f, \u043a\u0430\u043a&nbsp;IsolatedStorageSettings.&nbsp;\u041f\u043e\u043d\u044f\u0442\u0438\u0435 \u044d\u0442\u043e \u043f\u0440\u0438\u0448\u043b\u043e \u0438\u0437 Silverlight \u0432\u0435\u0440\u0441\u0438\u0438 2. \u041a\u0430\u043a \u043f\u043e\u043d\u044f\u0442\u043d\u043e \u0438\u0437 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e\u0442 \u0442\u0438\u043f \u043f\u0440\u0435\u0434\u043d\u0430\u0437\u043d\u0430\u0447\u0435\u043d \u0434\u043b\u044f \u0445\u0440\u0430\u043d\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 \u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u0438\u0437\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u043e \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u0444\u0430\u0439\u043b\u043e\u0432\u043e\u0439 \u0441\u0438\u0441\u0442\u0435\u043c\u0435. \u042d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u0434\u0440\u0443\u0433\u043e\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043f\u043e\u043c\u0438\u043c\u043e \u0432\u0430\u0448\u0435\u0433\u043e \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u0442 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u044d\u0442\u0438\u043c \u0434\u0430\u043d\u043d\u044b\u043c.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041a\u043e\u0434 \u0437\u0430\u0433\u0440\u0443\u0437\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445 \u043e\u0431 \u0438\u0433\u0440\u0435<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\"> public static GameState LoadSavedGame()         {             try             {                 IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;                 if (settings.Contains(SavedGame))                 {                     string previousGame = settings[SavedGame] as string;                     if (!string.IsNullOrEmpty(previousGame))                     {                         GameStateModel game = GameStateModel.FromJson(previousGame);                         if (game != null)                         {                             return game.ToGameState();                         }                     }                 }              }             catch (Exception exception)             {              }              return null;         } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h3>\u041d\u0430\u0439\u0434\u0435\u043d\u043d\u044b\u0435 \u043e\u0441\u043e\u0431\u0435\u043d\u043d\u043e\u0441\u0442\u0438<\/h3>\n<p>  Windows Phone 8 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u0435\u0442 \u0441\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u0448\u0440\u0438\u0444\u0442\u044b \u0432 \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u0445 xaml. \u0422\u0430\u043a\u043e\u0439 \u043a\u043e\u0434 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 WP8 \u043d\u0435 \u0432\u0430\u043b\u0438\u0434\u0435\u043d:<\/p>\n<pre><code class=\"html\">&lt;!-- Fonts --&gt;     &lt;FontFamily x:Key=&quot;ThemeFontFamily&quot;&gt;Segoe UI Light&lt;\/FontFamily&gt;     &lt;FontWeight x:Key=&quot;ThemeFontWeight&quot;&gt;SemiLight&lt;\/FontWeight&gt; <\/code><\/pre>\n<p>  \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u044c \u0444\u0430\u0439\u043b\u044b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0438 \u043e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u043b\u0438\u0448\u043d\u0435\u0435 \u0438\u0437 WP8.&nbsp;<\/p>\n<h3>\u0420\u0430\u0431\u043e\u0442\u0430 \u0441 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439<\/h3>\n<p>  \u041e\u0447\u0435\u043d\u044c \u043f\u043e\u0440\u0430\u0434\u043e\u0432\u0430\u043b\u0430 \u0440\u0430\u0431\u043e\u0442\u0430 \u0441 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u043e\u0439. \u0412\u043e-\u043f\u0435\u0440\u0432\u044b\u0445 \u043d\u0435\u0442 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0435\u0440\u0441\u0442\u043a\u0443 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0434\u043b\u044f 3-\u0445 \u0432\u0438\u0434\u043e\u0432 \u043a\u0430\u043a \u0432 Win 8.1 (Full, Filled, Snapped). \u0412\u0430\u0436\u043d\u043e \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0432\u0435\u0440\u0441\u0442\u043a\u0443 \u0434\u043b\u044f \u044d\u043a\u0440\u0430\u043d\u0430 \u0432 \u0446\u0435\u043b\u043e\u043c. \u0412 \u0441\u0443\u0434\u043e\u043a\u0443 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u044d\u043a\u0440\u0430\u043d\u0430 (\u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0430 99% \u043d\u0435 \u0431\u0443\u0434\u0435\u0442).&nbsp;<br \/>  \u041f\u043e\u0441\u043b\u0435 \u0430\u0434\u0430\u043f\u0442\u0430\u0446\u0438\u0438 \u0432\u0435\u0440\u0441\u0442\u043a\u0438, \u0441\u0442\u0438\u043b\u0435\u0439 \u0438 \u0440\u0430\u0437\u043c\u0435\u0440\u043e\u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043f\u0440\u043e\u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043d\u0430 \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u0445 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430\u0445 \u0438 \u044d\u043a\u0440\u0430\u043d\u0430\u0445.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/device-view-1.jpg\" alt=\"Windows Phone 8\"\/><\/p>\n<h2>\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f<\/h2>\n<p>  \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 Windows 8.1, \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0441\u044f \u043d\u0430 \u0441\u0430\u0439\u0442\u0435&nbsp;https:\/\/dev.windowsphone.com \u043f\u0440\u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0443\u0431\u043b\u0438\u043a\u0430\u0446\u0438\u0438. \u0410 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0445\u0440\u0430\u043d\u0438\u0442\u0441\u044f \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438. \u041d\u043e \u043d\u0435 \u0432\u0441\u0435 \u0442\u0430\u043a \u043f\u0440\u043e\u0441\u0442\u043e \ud83d\ude42<\/p>\n<p>  \u0415\u0441\u0442\u044c \u0442\u0430\u043a\u043e\u0435 \u043f\u043e\u043d\u044f\u0442\u0438\u0435 \u043a\u0430\u043a <strong>Display Name<\/strong> \u0438 <strong>Tile Title<\/strong>. \u041f\u0435\u0440\u0432\u043e\u0435 \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u043c\u0430\u0440\u043a\u0435\u0442\u0435 \u0438 \u0441\u043f\u0438\u0441\u043a\u0435 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043d\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u0435. \u0412\u0442\u043e\u0440\u043e\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442\u0441\u044f \u043a\u0430\u043a \u043d\u0430\u0434\u043f\u0438\u0441\u044c \u043d\u0430 \u0442\u0430\u0439\u043b\u0435, \u0435\u0441\u043b\u0438 \u0442\u0430\u043a\u0430\u044f \u043e\u043f\u0446\u0438\u044f \u0432\u044b\u0431\u0440\u0430\u043d\u0430.<\/p>\n<p>  \u041a\u0430\u043a \u043e\u043f\u0438\u0441\u0430\u043d\u043e \u0432 MSDN&nbsp;How to localize an app title for Windows Phone (\u0441\u0441\u044b\u043b\u043a\u0438 \u0432 \u043a\u043e\u043d\u0446\u0435)&nbsp;&mdash; \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c C++ DLL, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0444\u0430\u0439\u043b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0439 2 \u043f\u043e\u043b\u044f: \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0434\u043b\u044f \u0442\u0430\u0439\u043b\u0430. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u044c \u0441\u0432\u043e\u044e dll. \u0414\u0430, \u044d\u0442\u043e \u0433\u0440\u0443\u0441\u0442\u043d\u043e. \u041d\u043e \u043d\u0430 \u043f\u043e\u043c\u043e\u0449\u044c \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u0442 \u043f\u0440\u043e\u0435\u043a\u0442&nbsp;<a href=\"http:\/\/patrickgetzmann.wordpress.com\/wp8-localize\/\">WP8 Localize<\/a>. \u0421\u043a\u0430\u0447\u0438\u0432\u0430\u0435\u043c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442, \u0437\u0430\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043f\u043e\u043b\u044f \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u0441\u043e\u0437\u0434\u0430\u0435\u043c dll \u0434\u043b\u044f \u0432\u0441\u0435\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432. \u041f\u0430\u0440\u0443 \u0447\u0430\u0441\u043e\u0432 \u044d\u0442\u0438\u043c \u043c\u044b \u0441\u044d\u043a\u043e\u043d\u043e\u043c\u0438\u043b\u0438 \u0442\u043e\u0447\u043d\u043e.<\/p>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0432\u0441\u0435\u0445 dll, \u0438\u0445 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u043f\u0440\u043e\u0435\u043a\u0442. \u041c\u043d\u0435 \u0443\u0434\u043e\u0431\u043d\u0435\u0435, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0432\u0441\u0435 \u0431\u044b\u043b\u0438 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u043f\u0430\u043f\u043a\u0435. \u042f \u043d\u0430\u0437\u0432\u0430\u043b \u0435\u0435 Langs \u0438 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u043b \u0438\u0445 \u0432\u0441\u0435 \u0442\u0443\u0434\u0430. \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0435\u043c \u0438\u0437\u043c\u0435\u043d\u0438\u0442\u044c <strong>BuildAction=Content<\/strong>.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/wp-langs-files.jpg\" alt=\"\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Windows Phone 8\"\/><\/p>\n<p>  \u0412 \u0444\u0430\u0439\u043b\u0435 WPAppManifest.xml \u0438\u0437\u043c\u0435\u043d\u044f\u0435\u043c \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u0435 \u0438 \u0442\u0430\u0439\u043b \u043d\u0430&nbsp;<strong>@Langs\/AppResLib.dll,-100<\/strong> \u0438&nbsp;<strong>@Langs\/AppResLib.dll,-200<\/strong> \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0435\u043d\u043d\u043e.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/wp-langs-app-name.jpg\" alt=\"\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f\"\/><\/p>\n<p>  \u041d\u0430 \u044d\u0442\u043e\u043c \u044d\u0442\u0430\u043f \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0438 \u0442\u0430\u0439\u043b\u0430 \u0437\u0430\u043a\u043e\u043d\u0447\u0435\u043d. \u041f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0435\u043c \u043a \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044e \u044f\u0437\u044b\u043a\u0430 \u0434\u043b\u044f \u043a\u043e\u043d\u0442\u0435\u043d\u0442\u0430 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<h2>\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f Xaml<\/h2>\n<p>  \u0412 Windows Phone 8 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b \u0434\u043b\u044f \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0441\u0442\u0430\u043b\u0438 \u0433\u043e\u0440\u0430\u0437\u0434\u043e \u043b\u0443\u0447\u0448\u0435 \u0447\u0435\u043c \u0432 7-\u0439 \u0432\u0435\u0440\u0441\u0438\u0438. \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u0438\u043b\u0438 \u043d\u0430\u0445\u043e\u0434\u0438\u043c \u043a\u043b\u0430\u0441\u0441&nbsp;LocalizedStrings.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">\/\/\/ &lt;summary&gt;     \/\/\/ Provides access to string resources.     \/\/\/ &lt;\/summary&gt;     public class LocalizedStrings     {         private static AppResources _localizedResources = new AppResources();          public AppResources LocalizedResources { get { return _localizedResources; } }     } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0421\u043e\u0437\u0434\u0430\u0435\u043c \u043f\u0430\u043f\u043a\u0443 Resources \u0432 \u043f\u0440\u043e\u0435\u043a\u0442\u0435. \u0414\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0444\u0430\u0439\u043b \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432&nbsp;AppResources.LOCALE.resx (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440&nbsp;<strong>AppResources.resx<\/strong> \u0438&nbsp;<strong>AppResources.ru.resx<\/strong>). \u0412\u0442\u043e\u0440\u043e\u0439 \u0448\u0430\u0433 \u2014 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u0432 \u0444\u0430\u0439\u043b\u0435 App.xaml:<\/p>\n<pre><code class=\"html\">&lt;Application.Resources&gt;         &lt;winPhone8:LocalizedStrings xmlns:local=&quot;clr-namespace:Oxozle.Sudoku.WinPhone8&quot; x:Key=&quot;LocalizedStrings&quot;\/&gt;     &lt;\/Application.Resources&gt; <\/code><\/pre>\n<p>  \u0422\u0435\u043c \u0441\u0430\u043c\u044b\u043c \u0434\u0430\u0435\u043c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0430 \u0432 xaml.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/wp8-localiation-resources.jpg\" alt=\"WP localization\"\/><\/p>\n<p>  \u0421\u0430\u043c \u0444\u0430\u0439\u043b \u0432\u044b\u0433\u043b\u044f\u0434\u0438\u0442 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u043c \u043e\u0431\u0440\u0430\u0437\u043e\u043c:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/wp-resource-file.jpg\" alt=\"\u0444\u0430\u0439\u043b \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438\"\/><\/p>\n<p>  \u0412\u0430\u0436\u043d\u043e\u0435 \u043e\u0442\u043b\u0438\u0447\u0438\u0435, \u0447\u0442\u043e \u0437\u0434\u0435\u0441\u044c \u044d\u0442\u043e \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e \u0444\u0430\u0439\u043b \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432, \u0430 \u043d\u0435 \u043e\u0431\u044a\u0435\u043a\u0442\u043e\u0432. \u0422.\u043a. \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0441\u0432\u044f\u0437\u044b\u0432\u0430\u043d\u0438\u0435 (\u0431\u0438\u043d\u0434\u0438\u043d\u0433) \u0438 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u043a\u043e\u0434\u0430 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u2014 \u0440\u0430\u0437\u0434\u0435\u043b\u0438\u0442\u0435\u043b\u044c \u0442\u043e\u0447\u043a\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u043d\u0435 \u043c\u043e\u0436\u0435\u0442. \u0414\u0430\u043b\u0435\u0435 \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u0442\u044c \u0441\u0432\u044f\u0437\u043a\u0443 \u0434\u043b\u044f \u0442\u0435\u043a\u0441\u0442\u043e\u0432\u044b\u0445 \u044d\u043b\u0435\u043c\u0435\u043d\u0442\u043e\u0432 \u043a \u0440\u0435\u0441\u0443\u0440\u0441\u0430\u043c.<\/p>\n<pre><code class=\"html\">&lt;TextBlock Text=&quot;{Binding LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}&quot; Style=&quot;{StaticResource PhoneTextNormalStyle}&quot;\/&gt; <\/code><\/pre>\n<p>  \u0414\u043b\u044f \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b \u041d\u043e\u0432\u0430\u044f \u0438\u0433\u0440\u0430:<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/wp-studio.jpg\" alt=\"\u0421\u043e\u0437\u0434\u0430\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439 \u0440\u0430\u0437\u043c\u0435\u0442\u043a\u0438\"\/><\/p>\n<p>  \u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442\u0441\u044f \u0438 \u0432 \u0440\u0435\u0436\u0438\u043c\u0435 \u0432\u0435\u0440\u0441\u0442\u043a\u0438 (\u0432 Expression Blend \u0432\u0441\u0435 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u043f\u043e\u0434\u0445\u0432\u0430\u0442\u044b\u0432\u0430\u0435\u0442\u0441\u044f)<\/p>\n<h2>\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0438\u0437 \u043a\u043e\u0434\u0430<\/h2>\n<p>  ApplicationBar \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0430 \u0431\u0438\u043d\u0434\u0438\u043d\u0433\u0430\u0445. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043f\u0440\u043e\u0435\u043a\u0442\u0430 \u0441\u043e\u0437\u0434\u0430\u0435\u0442\u0441\u044f \u0437\u0430\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434 \u043c\u0435\u0442\u043e\u0434\u0430&nbsp;<code>BuildLocalizedApplicationBar<\/code>. \u041d\u043e \u043d\u0435\u0442 \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u043d\u0430\u043f\u0438\u0441\u0430\u0442\u044c \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0442\u0440\u043e\u043a \u0434\u043b\u044f \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043c\u0435\u043d\u044e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">BuildLocalizedApplicationBar<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">private void BuildLocalizedApplicationBar()         {             \/\/ Set the page's ApplicationBar to a new instance of ApplicationBar.             ApplicationBar = new ApplicationBar();              \/\/\/\/ Create a new button and set the text value to the localized string from AppResources.             \/\/ApplicationBarIconButton appBarButton = new ApplicationBarIconButton(new Uri(&quot;\/Assets\/AppBar\/edit.png&quot;, UriKind.Relative));             \/\/appBarButton.Text = AppResources.GamePage_Pencil;             \/\/ApplicationBar.Buttons.Add(appBarButton);              \/\/ Create a new menu item with the localized string from AppResources.             ApplicationBarMenuItem appBarNewGame = new ApplicationBarMenuItem(AppResources.NewGameTitle);             appBarNewGame.Click += delegate             {                 NavigationService.Navigate(new Uri(&quot;\/Pages\/NewGame.xaml&quot;, UriKind.Relative));             };             ApplicationBar.MenuItems.Add(appBarNewGame);               ApplicationBarMenuItem appBarMenuItem = new ApplicationBarMenuItem(AppResources.GamePage_ButtonAbout);             appBarMenuItem.Click += delegate             {                 NavigationService.Navigate(new Uri(&quot;\/Pages\/AboutPage.xaml&quot;, UriKind.Relative));             };             ApplicationBar.MenuItems.Add(appBarMenuItem);               ApplicationBarMenuItem appBarRate = new ApplicationBarMenuItem(AppResources.WinGame_Rate);             appBarRate.Click += delegate             {                 MarketplaceReviewTask marketplaceReviewTask = new MarketplaceReviewTask();                 marketplaceReviewTask.Show();             };             ApplicationBar.MenuItems.Add(appBarRate);          } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  <\/p>\n<h2>\u0412\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438<\/h2>\n<p>  \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 Windows 8.1 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u043d\u0443\u0436\u043d\u043e \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0440\u0443\u0447\u043d\u0443\u044e. \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u0432 app.xaml.cs \u0432 \u043c\u0435\u0442\u043e\u0434 App \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u044b\u0437\u043e\u0432 \u043c\u0435\u0442\u043e\u0434\u0430&nbsp;<code>InitializeLanguage<\/code>.<\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">InitializeLanguage<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"cs\">\/\/ Language display initialization InitializeLanguage();&lt;\/code&gt;&lt;\/pre&gt; &lt;p&gt;\u0421\u0430\u043c \u043c\u0435\u0442\u043e\u0434 (\u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0443\u0436\u0435 \u0441\u043e\u0437\u0434\u0430\u043d \u0441\u0442\u0443\u0434\u0438\u0435\u0439).&lt;\/p&gt; &lt;pre&gt;&lt;code class=&quot;cs&quot;&gt;  private void InitializeLanguage()         {             try             {                 \/\/ Set the font to match the display language defined by the                 \/\/ ResourceLanguage resource string for each supported language.                 \/\/                 \/\/ Fall back to the font of the neutral language if the Display                 \/\/ language of the phone is not supported.                 \/\/                 \/\/ If a compiler error is hit then ResourceLanguage is missing from                 \/\/ the resource file.                 RootFrame.Language = XmlLanguage.GetLanguage(AppResources.ResourceLanguage);                  \/\/ Set the FlowDirection of all elements under the root frame based                 \/\/ on the ResourceFlowDirection resource string for each                 \/\/ supported language.                 \/\/                 \/\/ If a compiler error is hit then ResourceFlowDirection is missing from                 \/\/ the resource file.                 FlowDirection flow = (FlowDirection)Enum.Parse(typeof(FlowDirection), AppResources.ResourceFlowDirection);                 RootFrame.FlowDirection = flow;             }             catch             {                 \/\/ If an exception is caught here it is most likely due to either                 \/\/ ResourceLangauge not being correctly set to a supported language                 \/\/ code or ResourceFlowDirection is set to a value other than LeftToRight                 \/\/ or RightToLeft.                  if (Debugger.IsAttached)                 {                     Debugger.Break();                 }                  throw;             }         } <\/code><\/pre>\n<p>  <\/div>\n<\/div>\n<p>  \u0412 AssemblyInfo \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043a\u0443\u043b\u044c\u0442\u0443\u0440\u0443 \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e:<\/p>\n<pre><code class=\"cs\">[assembly: NeutralResourcesLanguageAttribute(&quot;en-US&quot;)] <\/code><\/pre>\n<p>  \u0412 \u0444\u0430\u0439\u043b\u0435 <strong>WPAppManifest.xml<\/strong> \u043d\u0430 \u0432\u043a\u043b\u0430\u0434\u043a\u0435 <strong>Packaging<\/strong> \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f: \u0441\u043f\u0438\u0441\u043e\u043a \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u0445 \u044f\u0437\u044b\u043a\u043e\u0432, \u044f\u0437\u044b\u043a \u043f\u043e \u0443\u043c\u043e\u043b\u0447\u0430\u043d\u0438\u044e.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/wp-package.jpg\" alt=\"\u0432\u044b\u0431\u043e\u0440 \u044f\u0437\u044b\u043a\u043e\u0432\"\/><\/p>\n<h2>\u0412\u044b\u0432\u043e\u0434\u044b<\/h2>\n<p>  \u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f Windows Phone 8 \u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u043a\u0430\u0440\u0434\u0438\u043d\u0430\u043b\u044c\u043d\u043e \u043e\u0442\u043b\u0438\u0447\u0430\u0435\u0442\u0441\u044f \u043e\u0442 \u0442\u043e\u0439 \u0436\u0435 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0432 Windows 8.1. \u041e\u0434\u043d\u0430\u043a\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u0441\u043b\u043e\u0436\u043d\u043e\u0433\u043e \u0432 \u044d\u0442\u043e\u043c \u043d\u0435\u0442. \u0412\u0430\u0436\u043d\u043e \u0438\u043c\u0435\u0442\u044c \u043f\u043e\u043b\u043d\u0443\u044e \u0438\u043d\u0441\u0442\u0440\u0443\u043a\u0446\u0438\u044e \u043f\u0435\u0440\u0435\u0434 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435\u043c \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u0438\u043b\u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0438 \u043d\u043e\u0432\u043e\u0433\u043e \u044f\u0437\u044b\u043a\u0430. \u041d\u0430\u0434\u0435\u044e\u0441\u044c \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u043f\u0440\u0438 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u043c\u0443\u043b\u044c\u0442\u0438\u044f\u0437\u044b\u0447\u043d\u043e\u0433\u043e \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u041f\u043e\u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u043c\u043e\u0436\u043d\u043e \u0437\u0434\u0435\u0441\u044c:<\/p>\n<p>  <a href=\"http:\/\/windowsphone.com\/s?appId=6bc0f236-da17-43a4-90c0-21e20ac51557\"><img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/apps\/windows-phone-store.png\" alt=\"\u0421\u0443\u0434\u043e\u043a\u0443+\"\/><\/a><\/p>\n<p>  \u041f\u0435\u0440\u0432\u044b\u0439 \u0431\u043b\u0438\u043d \u043d\u0435 \u0431\u044b\u0432\u0430\u0435\u0442 \u043d\u0435 \u043a\u043e\u043c\u043e\u043c \ud83d\ude42 \u0415\u0441\u0442\u044c \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043d\u0435\u0434\u043e\u0447\u0435\u0442\u044b \u0432 \u043b\u043e\u0433\u0438\u043a\u0435 \u0438\u0433\u0440\u044b, \u043d\u043e\u0432\u0430\u044f \u0432\u0435\u0440\u0441\u0438\u044f \u043d\u0430 \u043c\u043e\u0434\u0435\u0440\u0430\u0446\u0438\u0438, \u0435\u0441\u043b\u0438 \u0435\u0441\u0442\u044c \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u044c \u043c\u043e\u0436\u043d\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c 1.1 \u0432\u0435\u0440\u0441\u0438\u044e \u0438\u0437 xap \u0444\u0430\u0439\u043b\u0430: <a href=\"http:\/\/oxozle.com\/files\/apps\/sudoku\/wp8\/oxozle.sudoku.1.1.xap\">oxozle.sudoku.1.1.xap<\/a>.<\/p>\n<h2>\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438<\/h2>\n<p>  <\/p>\n<ul>\n<li><a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windowsphone\/develop\/ff967550(v=vs.105).aspx\">How to localize an app title for Windows Phone<\/a><\/li>\n<li><a href=\"http:\/\/patrickgetzmann.wordpress.com\/wp8-localize\/\">WP8 Localize<\/a><\/li>\n<li><a href=\"http:\/\/www.silverlightshow.net\/items\/Windows-Phone-8-Localization.aspx\">Windows Phone 8: Localization<\/a><\/li>\n<li><a href=\"http:\/\/oxozle.com\/2013\/12\/14\/lokalizaciya-prilozhenij-windows-8-1\">\u041b\u043e\u043a\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Windows 8.1<\/a><br \/>  <a href=\"http:\/\/msdn.microsoft.com\/en-us\/library\/windows\/apps\/hh965329.aspx\">Quickstart: Translating UI resources<\/a><br \/>  <a href=\"http:\/\/code.msdn.microsoft.com\/windowsapps\/Localization-for-and-Assets-4fac00c3\">Localization for Images and Assets<\/a>  <\/li>\n<\/ul>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/206852\/\"> http:\/\/habrahabr.ru\/post\/206852\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t\u0412 \u043f\u0440\u0435\u0434\u044b\u0434\u0443\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0437\u0430\u043b \u043a\u0430\u043a <a href=\"http:\/\/habrahabr.ru\/post\/204922\/\">\u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441\u0443\u0434\u043e\u043a\u0443 \u0434\u043b\u044f windows 8.1<\/a>, \u0432 \u044d\u0442\u043e\u0439 \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043a\u0430\u043a \u043f\u043e\u0440\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0430 Windows Phone 8 \u0438 \u043b\u043e\u043a\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u043d\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u044f\u0437\u044b\u043a\u043e\u0432.<\/p>\n<p>  <img decoding=\"async\" src=\"http:\/\/oxozle.com\/files\/2013\/12\/14\/loads.png\" alt=\"image\"\/>  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-206852","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/206852","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=206852"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/206852\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=206852"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=206852"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=206852"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}