1 / 13

Технологии разработки Internet -приложений

Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета. Технологии разработки Internet -приложений. ASP.NET приложения – локализация ресурсов приложения.

nhung
Download Presentation

Технологии разработки Internet -приложений

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Из цикла лекций «Технологии разработки Internet-приложений» для студентов 4-го курса кафедры Компьютерных технологий физического факультета Донецкого национального университета Технологии разработки Internet-приложений ASP.NET приложения – локализация ресурсов приложения проф. В.К.Толстых, www.tolstykh.com

  2. Что такое локализация культуры? Локализация — это процесс настройки приложения на работу в заданной региональной или языковой среде. Основной частью локализации является перевод пользовательского интерфейса на другой язык. Один способ сделать это состоит в том, чтобы создать несколько вариантов страницы на разных языках. Однако если исходная страница периодически меняется, то этот способ может оказаться весьма трудоемким, с высокой вероятностью ошибок и сложным в поддержке. ASP.NET позволяет создавать страницу, которая может получать содержимое и прочие данные, основываясь на языке, выбранном для браузера, или на явном выборе языка пользователем. К содержимому и другим данным страница обращается как к ресурсам, и такие данные могут храниться в файлах ресурсов или в других источниках. Файл ресурсов — это XML-файл, содержащий строки, которые требуется перевести на другие языки. Файл ресурсов содержит пары «ключ-значение». Регистр букв в именах ключей не учитывается. Далее рассмотрим пример поддержки культуры посредством сессий.

  3. 1. Определяем класс с нашими культурамиCulture.cs

  4. 2. Создаём базовый класс для всех страницПереопределяем методInitializeCultureбазового класса

  5. Теперь все страницы приложения должны быть производными от BasePage: В файл Global.asax в начале сессии устанавливаем начальное значение культуры :

  6. 3. Интерфейс выбора языка Для возврата дополнительного аргумента обработчику события с культурой страницы

  7. 4. При необходимости изменяем язык на странице Сохраняем в сессии новую культуру, полученную от щелчка на кнопке выбора языка

  8. Можем форматировать вид страницы в зависимости от культуры, например: Можем кэшировать вывод страницы в зависимости от культуры ( VaryByCustom="lang").Для этого в файл Global.asax добавляем:

  9. 5.  Создаём ресурсы локализации – .resx Существует понятие глобальных и локальных ресурсов. Глобальные ресурсы размещаются в корневом каталоге приложения App_GlobalResourcesв виде групп файлов, различных для каждой культуры, например: global.resx , global.uk.resx, global.en.resx… Доступ к глобальным ресурсам можно получить из любой страницы приложения и из любого отдельного класса, размещённого в папке App_Code или Bin. Культура по умолчанию Локальные ресурсы размещаются в каталогах App_LocalResources внутри каждой папки, где необходимо реализовать локализацию страниц приложения. Имя каждого файла-ресурса создаётся на основе имени той страницы, которую она локализует. Например, для двух культур (языков) страницы organization.aspx в её же каталоге должна быть папка App_LocalResources с двумя файлами:

  10. Пример файлов-ресурсов (русский, украинский) в редакторе Visual Studio 2012 для страницы organization.aspx

  11. 5.  Web-элементы локализации Для локализации только текста в .aspx-файлах можно использовать элементы Literal, Labelили Localize. Например, дляглобальныхресурсов: <asp:Literalrunat="server"Text="<%$ Resources:MasterPage,Authors%>"> </asp:Literal> ЗдесьтекслокализацииразмещаетсявфайлахMasterPage.resx, MasterPage.uk.resx, MasterPage.en.resxкаталогаApp_GlobalResourcesввиде Илидля локальных ресурсов (не указываем имя файла): <asp:Labelrunat="server"Text="<%$ Resources: Authors %>"> </asp:label> Или – специальный элемент VisualStudio для локализации текста: <asp:Localizerunat="server"meta:resourcekey="locText"Text="Текст…"> </asp:Localize> Здесьтекстфайла ресурсов локализации – Для визуализации в дизайнере

  12. Локализация свойств элементов, включая текст Для локализации текста в CSS-свойствеHTML-элемента, в случае локальных ресурсов, лучше всего использовать конструкцию типа: <h1runat="server"id="h1"meta:resourcekey="h1"class="myh1">h1</h1> Здесь текст для h1 размещается в виде InnerTextтегасid="h1": Для локализации нескольких свойств Web-элементов лучше всего использовать конструкции следующего типа, например, для свойств Text и NavigateUrlссылкиHyperLink: <asp:HyperLinkid="hlMyRef"runat="server"meta:resourcekey="hlMyRef"> hlMyRef</asp:HyperLink> где Для визуализации в дизайнере Для визуализации в дизайнере

  13. Пример локализации заголовка страницы – свойства TitleэлементаPage: • <%@Pagemeta:resourcekey="Page" ...%> • Или для глобальных ресурсов из файлов global– • <%@PageTitle="<%$ Resources: global, Page %>"... • Локализация на уровне кодов C# • Например, для .cs-файлов папки App_Codeпри глобальной локализации ресурсов из файлов global: • user = (String)HttpContext.GetGlobalResourceObject("global","notAuthorized"); • Можно также использовать следующие конструкции для глобальных ресурсов: • И для локальных:

More Related