사용자 맞춤 번역
From LimeSurvey Manual
소개
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');