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

Введение

Основная часть работ по локализации не требует никаких технических навыков. В некоторых случаях потребуется вставлять в 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 режима:

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

Важно!

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

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

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

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

Falcon Space - функциональная веб-платформа разработки на узком стеке MS SQL/Bootstrap. Вводная по Falcon Space
Насколько полезной была статья?

Google поиск по нашей документации

Выгода от использования Falcon Space

В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Нужна бесплатная консультация?
Планируете делать веб-проект?
Сайт использует Cookie. Правила конфиденциальности OK