CMS mojoPortal локалізація, Hostinfo

Як стверджує розробник, mojoPortal пропонує великі можливості для локалізації. Веб-сайт, що працює під цією CMS, може бути адаптований під будь-яку мову та особливості будь-якої культури. Також mojoPortal частково підтримує використання кількох мов на одному веб-сайті.

Конфігурація мови/культури в mojoPortal

Первинна конфігурація культури встановлена ​​у файлі Web.config у кореневому каталозі сайту. Елемент globablization є стандартним налаштуванням ASP.NET. Більше інформації з цього питання можна знайти тут. У наведеному вище прикладі, взятому зі стандартного для mojoPortal файлу Web.config, "auto:en-US" означає спробу використовувати параметр Resources для визначення мови, вибраного користувачем у браузері. Однак, якщо не може бути знайдено коректне значення Resources, тоді йде повернення до мов/культури, вибраних за замовчуванням. В даному випадку це en-US ("американізована" англійська мова). Існує можливість визначити будь-яку культуру як значення за промовчанням. За необхідності використання певної культури та небажання застосування Resource Fallback можна просто видалити "auto:" з налаштувань і використовувати en-US або якусь іншу мову чи культуру.

Надіслані розробнику інші версії перекладу будуть включені до наступних релізів.

Resource Fallback в ASP.NET 2.0

Щоб зрозуміти, як працює Resource Fallback, необхідно встановити мовні налаштування браузера однією з вищезгаданих мов, але не англійською, зберегти налаштування та оновити веб-сторінку. Наприклад, якщо встановити переваги перською мовою, то посилання нагорі сторінки і кнопка пошуку будуть виглядати наступним чином.

В ASP.NET основна функція CultureInfo в обробці інформації полягає насамперед у тому, як саме вибрані ресурси та як оброблені речі, подібні до валюти та дат. Таким чином, у глобальних налаштуваннях властивості CultureInfo відображаються відповідно до настройок браузера. Тому кнопки на сайті розробника для нас відображаються українською мовою, хоча решта вмісту йде англійською. Це відбувається незалежно від того, чи є ресурсні файли для мови, виставленої в налаштуваннях уподобань. Наприклад, якщо в мовних налаштуваннях браузера виставити в перевагах основною мовою Chinese - Singapore (при тому, що mojoPortal його не підтримує), календар у блозі пристосовується до використання вбудованих ресурсів ASP.NET, як це відображено на малюнку.

Багатьом користувачам знайомий грегоріанський календар. Однак у світі існує безліч різних народів, які в силу своїх історичних традицій використовують інші види календарів, про які нам не завжди відомо. ASP.NET намагається робити подібні питання для розробників прозорими, завдяки чому їм не треба багато думати про підтримку різних календарних систем. На жаль, не всі календарі в ASP.NET зроблені повністю та коректно. Наприклад, перський календар був погано опрацьований в ASP.NET версії 2.0, а в ASP.NET версії 1.х він взагалі був відсутній.

Розміщення праворуч наліво

Особливості локалізації при встановленні декількох сайтів

Необхідно прописати у файлі Web.config:

Можна змінити це значення на true, для чого необхідно додати налаштування для кожного зі своїх сайтів:

Це встановлює необхідні настройки, що використовуються для позначення рядка з правильною культурою та назви параметрів відповідно до ідентифікатора сайту.

App_GlobalResources містить ресурсні файли, які заповнюють статичний текст та кнопки в mojoPortal. Необхідно скопіювати файли Resource.resx та ProfileResource.resx в іншу папку, а потім перейменувати їх для нової мови, використовуючи звідси одну з назв для культури. Наприклад, для перекладу французькою мовою треба назвати ці файли Resource.fr.resx і ProfileResource.fr.resx. За бажання використовувати певний діалект французької мови, що використовується в Бельгії, а також інші аспекти бельгійської культури, треба перейменувати ці файли в Resource.fr-BE.resx і ProfileResource.fr-BE.resx.

Локалізація часового поясу

CMS mojoPortal зберігає всі дати та час у базі даних як UTC (універсальний скоординований час). Також система забезпечує налаштування часового поясу користувача відповідно до даних його профайлу. Таким чином, коригується зміщення у часових поясах під час відображення часу. Для користувачів, у кого ці дані визначити не вдалося, час відображається при використанні параметра PreferredGreenwichMeantimeOffset, що береться з файлу Web.config.

Якщо на сервері час виставлений точно, то подібні "хитрощі" працюють досить добре. У Administration Menu > System Information screen можна побачити, який зараз час, на думку сервера, а також у якому часовому поясі він знаходиться відповідно до налаштувань PreferredGreenwichMeantimeOffset.

Однак такі "хитрощі" мають своє слабке місце. Це виявляється в тому, що такий механізм некоректно відображає час для користувачів, місцезнаходження яких знаходиться в іншому часовому поясі або мають різне зміщення протягом року. Так що в даний час вирішення цього питання в основному може сам користувача. Він має достовірновказувати правильні дані у своєму профайлі, щоб час, що відображається на сайті, був для нього адекватним.