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

Введение

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

Основная документация по локализации - https://falconspace.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 режима:

Важно!

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

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

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

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

Страница-источник на сайте falconspace.ru