Как сделать локализацию сайта для нетехнического специалиста

Введение

Основная часть работ по локализации не требует никаких технических навыков. В некоторых случаях потребуется вставлять в SQL простые функции iif() вместо текста.  

Основная документация по локализации - https://falcon.web-automation.ru/docs/falcon-space--lokalizaciya

Включение локализации

Работа по локализации выполняется из кабинета администратора.

Для включения локализации в GetLayout должен быть включен параметр "1 EnableLang"  в SELECT 1. 

Параметр DefaultLang='en-us'.  Ставим только тогда, когда нам нужно жестко установить конкретный язык для пользователя.

-- SELECT 1
select	1  enableLang,
	'en-us' defaultLang


Вверху появится панель переключения языка.

Перевод страницы

Для локализации тела страницы заходим под админом и переходим в редактирование страницы.

Для тела страницы и названия добавляем недостающие переводы через зеленые значки.

Примечание: При переводе тела страницы обязательно разметку копируйте через блокнот, без стилей. Проще все подготовить в блокноте, а затем просто скопировать большой блок текста в систему. 


Чтобы перевести строки в теге Title и хлебные крошки, идем в SQL страницы (справа наверху желтая кнопка в редактировании страницы) и добавляем переводы через такую конструкцию: 

--Добавляем в начало процедуры извлечение языка.  
declare @langID int    
select @langID = try_cast(Value as int) from @urlParameters where[Key]='langID'    

-- Пример перевода: 
select 'Главная', '/', '', 1
--Заменяется на:
select iif(@langID=1, 'Home','Главная'), '/', '', 1


Перевод таблиц и форм

Переходим в редактирование таблицы/формы (если форма недоступна под админом, т.е. нет возможности перейти по значку - то можно найти ее по коду через глобальный поиск).

Переводим колонки таблицы/формы через зеленые значки (делаем переход на Колонки): 

Текст для локализации может также встречаться в SQL коде. В этом случае используем тот же подход с iif(@langID=1, 'eng', 'other lang'). В случае если языков может быть больше 2, то необходимо использовать функцию dbo.as_lang()

Перевод HTML блоков

HTML блоки - это некая типовая разметка, которая может быть на страницах. 

Перевод блоков осуществляется через зеленые кнопки. 

При получении разметки блока могут быть использованы 2 режима:

  • сложный вариант - через хранимую процедуру as_block (в этом случае разметка генериуется через встроенную ХП для блока). Для работы языка, необходимо передать параметр langID на вход этой процедуре. 
  • простые статичные блоки извлекаются через функции as_htmlBlock. необходимо использовать функцию as_blockLang (а не функцию as_htmlBlock) и передавать ей параметр langID.

Важно!

1. Двигайтесь последовательно - проверяйте сразу результат. Так проще обнаружить проблему/ошибку.  Не меняйте наугад SQL. В сложных вариантах использования SQL попросите помощи у технического специалиста. 

2. Используйте два браузера, в одном выполняете управление страницами, в другом - просмотр результата. Это позволит избежать постоянного переключения языка.

3. В некоторых случаях может действовать кеш сервера. Если ваши изменения не приводят к результату, обратитесь к техническому специалисту (а лучше отметьте, пропустите сейчас и скопом потом обсудите все эти места).

4. Не зацикливайтесь на местах, где не можете найти как поменять текст. Некоторые моменты по локализации делаются через JS файлы. Просто отметьте момент и двигайтесь дальше. 

Платформа Falcon Space

Это снижение стоимости владения

за счет меньшего количества людей для поддержки

Это быстрое внесение изменений

по ходу эксплуатации программы

Это современный интерфейс

полная адаптация под мобильные устройства

Бесплатное обучение разработке на Falcon Space

Вы можете разрабатывать самостоятельно или сотрудничать с нами в плане веб-разработки на платформе Falcon Space.
Примечание