x

Основні розділи

  1. LimeSurvey Cloud проти LimeSurvey CE
  2. Короткий посібник із початку роботи - LimeSurvey 3.0+
  3. Встановлення - LimeSurvey CE
  4. Як створити хороше опитування (посібник)
  5. Початок роботи
  6. Адміністрування LimeSurvey
  7. Опитування - вступ
  8. Налаштування опитування
  9. Меню опитування
  10. Структура опитування
  11. Питання - вступ
  12. Групи питань - вступ
  13. Опитування - керування
  14. Параметри панелі інструментів опитування
  15. Багатомовне опитування
  16. ExpressionScript Engine - Короткий посібник
  17. Некатегоризовані та розширені функції
  18. Загальні поширені запитання
  19. Усунення несправностей
  20. Обхідні рішення
  21. Ліцензія
  22. Журнал змін версій
  23. Плагіни
 Actions

Користувацький переклад

From LimeSurvey Manual

Ця сторінка, можливо, перекладена машинним способом і може містити помилки. Показати англійський оригінал · Покращити цей переклад
This page is a translated version of the page Custom translation and the translation is 100% complete.

Вступ

Починаючи з LimeSurvey 5.4.0, ви можете мати власний переклад для всіх рядків на всіх доступних мовах завдяки прямому доступу до вашої бази даних.

Цю систему можна використовувати, якщо наявний переклад не відповідає потребам вашого бізнесу.

Її слід застосовувати лише у особливих випадках, оскільки зміни тексту в ядрі LimeSurvey знову потребуватимуть змін у вашій базі даних.

Крім того, цей метод можна використовувати для перекладу рядків, specific для теми опитування.

Як працюють переклади в базі даних

Для перекладів у базі даних LimeSurvey використовує метод, натхненний CDbMessageSource із фреймворку Yii.

  1. знайти рядок у таблиці SourceMessage lime_source_message->message, отримати id: lime_source_message->id
  2. якщо він існує, знайти відповідний переклад у таблиці Message lime_message->translation для поточної мови lime_message->language з поточним id lime_message->id

LimeSurvey створює масив із перекладами з po-файлу (інформацію про оновлення цього файлу див. у Переклад LimeSurvey), а потім об’єднує його з усіма перекладами з бази даних.

Після цього переклади з бази даних завжди повертаються, якщо вони існують.

Приклад для кнопки «Надіслати» англійською та французькою

Ви хочете, щоб на кнопці надсилання у всіх ваших опитуваннях (з певною темою) відображалося _Validate_, а не _Submit_. Якщо ви просто оновите тему та замін gT('Submit') на gT('Validate'), то _Validate_ відображатиметься завжди й усіма мовами.

Для всіх опитувань з усіма темами

  1. Створіть вихідне повідомлення INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Submit');
  2. Перевірте ID (якщо це перший запис, ID дорівнює 1) і використайте його в наступній інструкції
  3. Створіть відповідний переклад: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');

Не замінюйте рядок порожнім рядком, інакше переклад повернеться до початкового англійського речення. Потрібно вказати принаймні один пробіл.

Використання власної теми (рекомендоване рішення)

Цей метод використовує власний шаблон; він також оновлює рядок за замовчуванням для всіх інших мов.

  1. У Редакторі теми виберіть частину «Навігація»
  2. Знайдіть Template:GT("Submit") (у navigator.twig)
  3. Замініть на Template:GT("Validate")
  4. Створіть вихідне повідомлення INSERT INTO lime_source_message (id, category, message) VALUES (NULL, '', 'Validate');
  5. Перевірте ID (якщо це перший запис, ID дорівнює 1) і використайте його в наступній інструкції
  6. Створіть відповідний переклад: INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');

Зверніть увагу

Поле category у lime_source_message має бути порожнім рядком (''), а не NULL. Якщо категорія не збігається точно, gT() не знайде вихідне повідомлення, і ваш переклад не буде застосовано. Це особливо важливо під час додавання перекладів для рядків, специфічних для теми.