사용자 맞춤 번역
From LimeSurvey Manual
- English
- Nederlands
- 日本語
- 한국어
소개
LimeSurvey 5.4.0부터는 데이터베이스에 직접 접근하여 포함된 모든 언어의 모든 문자열에 대한 직접 번역을 할 수 있습니다.
기존 번역이 귀하의 비즈니스 요구 사항과 호환되지 않는 경우 이 시스템을 사용할 수 있습니다.
LimeSurvey의 중심부에서 텍스트를 수정하면 데이터베이스도 수정해야 하므로, 이는 특정한 경우에만 사용해야 합니다.
게다가, 이 방법을 사용하면 설문조사 테마에 맞는 문자열을 번역할 수 있습니다.
데이터베이스 번역 작동 방식
데이터베이스 번역의 경우, LimeSurvey는 Yii 프레임워크의 CDbMessageSource에서 영감을 받은 방법을 사용합니다.
- SourceMessage 테이블 lime_source_message->message에서 문자열을 찾고 id를 구함: lime_source_message->id
- 존재하는 경우 현재 id를 가진 lime_message->language 언어에 대한 Message 테이블 lime_message->translation에서 관련 번역을 찾음 lime_message->id
LimeSurvey는 po 파일로부터 번역 배열을 생성한 후(이 파일을 업데이트하는 방법에 대한 자세한 내용은 LimeSurvey 번역을 참조하세요) 데이터베이스의 모든 번역과 병합합니다.
그러면 데이터베이스에서 번역된 내용이 있으면 항상 반환됩니다.
영어와 프랑스어로 된 "제출" 버튼 샘플
모든 설문 조사(특정 테마 포함)에서 제출 버튼에 _Validate_를 표시하고 _Submit_를 표시하지 않으려면 테마를 업데이트하고 gT('Submit')를 gT('Validate')로 바꾸면 모든 언어에서 항상 _Validate_가 표시됩니다.
모든 테마의 모든 설문조사
- 소스 메시지 생성
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Submit'); - ID를 확인합니다(1번째이면 ID는 1입니다). 다음 명령어에 사용합니다
- 관련 번역 생성 :
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'en', 'Validate'), ('1', 'fr', 'Valider');
자신만의 테마 사용하기(추천 솔루션)
이 방법은 귀하 자신의 템플릿을 사용한 솔루션을 사용하며, 다른 모든 언어의 기본 문자열도 업데이트합니다.
- 테마 편집기에서 탐색 부분을 선택하세요
Template:GT("Submit")를 검색하세요(navigator.twig에서)Template:GT("Validate")로 바꾸세요- 소스 메시지를 생성하세요
INSERT INTO lime_source_message (id, category, message) VALUES (NULL, NULL, 'Validate'); - ID를 확인하세요(1번째인 경우: ID는 1) 다음 지침에 사용하세요
- 관련 번역을 생성하세요:
INSERT INTO lime_message (id, language, translation) VALUES ('1', 'fr', 'Valider');
Please Note
The category field in lime_source_message must be an empty string (``), not NULL. If the category does not match exactly, gT() will not find the source message, and your translation will not be applied. This is especially important when adding translations for theme-specific strings.