Выгода от использования Falcon Space
В 2-3 раза экономнее и быстрее, чем заказная разработка
Более гибкая, чем коробочные решения и облачные сервисы
Используйте готовые решения и изменяйте под свои потребности
Как сделать перевод сайта на другой язык для нетехнического специалиста
Введение
Основная часть работ по локализации не требует никаких технических навыков. В некоторых случаях потребуется вставлять в 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 файлы. Просто отметьте момент и двигайтесь дальше.
Google поиск по нашей документации
- Шаг 1. Создать концепт проекта
- Шаг 2. Получить оценку бюджета (КП)
- Шаг 3. Заключить договор
- Шаг 4. Создать совместно техническое задание
- Шаг 5. Поэтапная реализация проекта