Help:Extension:Translate/ko



Translate extension 는 미디어위키 내에서 위키의 번역작업시 필요한 필수적인 기능을 제공하는 확장기능입니다. 이 기능을 통해 페이지를 번역하거나, 위키의 인터페이스 수정, 혹은 translatewiki.net 처럼 다른 소프트웨어의 번역작업에도 사용될 수 있습니다. 번역 확장기능은 번역자가 번역할 내용에 집중할 수 있도록 번역할 내용 원문에서 분리해 냄으로써 쉬운 번역 환경을 제공합니다. 이 기능을 통해 번역되는 글들은 번역할 최소 단위별로 수정이력이 추적되며, 번역자가 위키 전체, 혹은 특정 페이지 내에서 번역할 내용을 쉽게 파악할 수 있도록 도와줍니다.

번역 확장기능은 translatewiki.net 에서 매달 수백명의 번역자가 미디어위키의 사용자 인터페이스나 다른 오픈소스 소프트웨어를 번역할때 쓰였고, userbase.kde.org 에서도 거의 천개에 달하는 사용자 문서들을 번역하는데 쓰였습니다. 번역 확장기능으로 번역을 매우 쉽게 시작할수 있으며, 교정을 위한 고급 보고기능과 작업흐름 관련 기능을 제공하기 때문에 대규모의 번역작업에서도 편리합니다.

기능


인터페이스: 번역 확장기능의 특징은 간단하면서도 기능적인 인터페이스 입니다. 다른언어로 번역된 메세지의 정의나 문서와 같은 필수적인 정보를 함께 볼수 있으며, 만약 정의가 수정되었다면 수정된 내역을 바로 확인할 수도 있고, 확장기능에 포함되어 있는 확인기능을 통해, 괄호의 짝 확인이나 사용되지 않은 변수와 같은 실수를 확인할 수도 있습니다. 설정에 따라 이전 번역 내역을 참고하거나, 구글 번역, 마이크로소프트 Bing 번역, Apertium 과 같은 자동번역 서비스의 번역 제안을 받을 수도 있습니다.

번역 대화상자는 자바스크립트와 AJAX를 이용하여 사용성이 강화되었으나, 표준 편집창에서의 편집도 지원합니다. 모든 번역은 두개의 시점을 지원하도록 하여, 번역이 인터페이스에 구애받지 않도록 하였습니다. 또한 오프라인/온라인 환경에서 번역하기 위해 Gettext po 포맷으로 메세지들을 추출해낼 수도 있고, Web API를 제공하기 때문에 사용자가 직접 번역환경을 개발할 수도 있습니다.

메세지 그룹과 작업들(tasks): 많은 기능들이 '메세지 그룹'과 'task'라는 기본적인 개념에 포함됩니다

'메세지 그룹'은 메세지들의 집합을 나타냅니다. 하나의 문서가 하나의 메세지 그룹이 된다면, 문서의 각 문단이 메세지 그룹에서 하나의 메세지가 되는 것입니다. 메세지들은 translatewiki.net 에서 미디어위키 확장기능들의 메세지 그룹을 구성하는데 사용됩니다. - 규모가 큰 확장기능의 일부는, 다수의 메세지 그룹이 존재하는데, All newletters 나 'All Translate extension messages 같이 그룹내에 그룹을 생성할 수도 있습니다. 보통, 다수의 번역 현황이나 일감들이 메세지 그룹을 기준으로 동작합니다.

task는 메세지 그룹의 메세지를 다른 형태로 나열해놓은 것을 말합니다. 보통 번역가들은 선택된 메세지 그룹 내에서 아직 번역되지 않은 전체 메세지의 목록을 받지만, 단순히 메세지를 검토하거나, 전체 메세지의 목록을 조회할 수도 있습니다.



보고와 통계: 번역 확장기능에는 언어별 번역 통계부터 언어별 번역가들의 활동 상태에 이르기까지 광범위한 보고 기능들 이 있습니다.

내용 번역: 만약 미디어위키를 아무런 도구의 도움없이 번역해본적이 있다면, 확장하기 어렵다는것을 아실겁니다. 번역된 문서는 원문 문서가 갱신되더라도 변경사항을 알 수 없기때문에 금방 구식이 되버립니다. 때문에 수많은 문서들이 전체 상태의 명확한 개요 없이 절반만 번역되거나, 이미 구식이 되버린 문서들도 있습니다. 사용자는 오래된 정보로 인해 혼란스러워질 수 있으며, 번역가도 갱신해야할 문서들을 찾지 못해 번역 의지가 꺾이곤 합니다

번역할 문서가 번역 확장기능을 지원한다면, 이 문제를 해결할 수 있습니다. 번역에 필요한 부가적인 정보가 문서에 추가되는 부담이 있지만, 훨씬 이익입니다. 기본적으로는, 번역이 필요한 문서의 각 부분을 표시해주면 되는데, 번역 확장기능이 표시한 부분을 문단 크기로 분리해내고, 분리된 부분을 담을 메세지 그룹을 생성해냅니다. 이후에 번역자는 상기에 언급된 기능들을 활용할 수 있습니다. 또한, 태그를 붙여 언어 막대를 간단히 추가하거나 Special:MyLanguage/Pagename 과 같은 형태의 링크를 걸어주는 것으로, 사용자가 선호하는 언어의 문서가 존재할때만 자동으로 연결하도록 할 수 있습니다.

더 자세한 정보나 예제를 보려면 문서를 번역 대상으로 설정하는 예제 를 참고하거나 문서 번역 기능에 대한 상세 문서를 참고하세요.

개발자들: 번역 확장기능은 '자바 속성파일이나 Gettext po 서식같은 내장된 다양한 번역 파일형식이 존재하며, 위키내에서나 명령줄에서 번역물의 효율적인 추출을 위해 다양한 도구들이 있습니다.

사용례
번역 확장기능으로 대부분의 것들을 번역해낼 수 있습니다. 영상의 자막과 같이 특정 종류의 글에는 본래 그 목적에 특화된 툴을 사용하는게 좋습니다만, 일반적인 번역시에는 장문의 메세지일수록 다루기가 까다롭기 때문에 번역 확장기능을 이용해 작은 단위로 잘라내어 효과적으로 번역해낼 수 있습니다.

번역 확장기능을 활용한 예로 내용번역, 인터페이스 번역, 소프트웨어 번역 이 있습니다. 다음 설명에서 참고 자료와 따라하기 예시를 통해 설명하도록 하겠습니다.

내용 번역


대부분의 위키는 다양한 언어로 작성된 글을 가지려고 합니다. 몇페이지가 되는지는 그렇게 중요하지 않습니다. 번역가의 시간을 절약하기 위해서 문서가 완전히 번역된 경우에 한해 표시되어야 합니다. 각각의 변화는 추후 수십, 수백개의 다른 번역에도 영향을 줄 수 있고, 아귀에 맞게 갱신하기위해선 시간이 필요하게 됩니다. 특히, 자원봉사로 임하는 번역가들의 번역과 갱신에 걸리는 시간을 존중하고, 불필요한 작업을 행하지 않도록 이점을 주의해야 합니다. 만약 당신이 문서를 번역하기 위해 번역 확장기능을 사용하고 있다면, 번역가의 시간을 절약하기 위한 가장 효과적인 방법을 찾았다고 할 수 있습니다.

번역 확장기능은 한 페이지를 문단 크기의 단위로 나누는 방식을 씀으로써 번역가들이 내용을 지나치게 마음대로 변경하지 못하도록 합니다. 이는 일반적으로 좋은 방법이며, 여러 언어들에 걸쳐 내용의 연속성과 일관성이 필요한 경우에는 이상적입니다. 그러나, 위키백과의 항목처럼 처음에는 다른 언어판을 번역하는 것으로 시작했으나 독자적인 문서로 발전하는 경우에는 이런 번역 방식이 적합하지 않습니다. "번역" 확장기능에서는 원문이 항상 주 버전이며, 번역된 버전에서 새로운 내용을 만들수 없습니다.

이러한 제한을 생각하더라도 이 기능이 딱 들어맞는 경우는 아주 많습니다. 사용자 문서라든가, 한 번 작성되면 변경되지 않는 뉴스 같은 내용들이 여기에 속합니다. 번역 확장기능을 이미 설치해서 접근 권한을 설정했다면 문서를 하나 만들고 전체 텍스트를   로 감싼 다음 링크를 따라가거나, How to prepare a page for translation 튜토리얼을 따라 해 보세요.

Local interface translation in multilingual wikis
One thing almost every wiki has customized is the sidebar. It is possible to create a message group for the custom sidebar messages and also for other local interface customisations.

One interesting expansion is the multilingual pages or templates built with the magic word. The translatewiki.net main page and some Wikimedia Commons templates are good examples of this. The magic word is an alternative to the content translation feature and it is more suitable to mark-up heavy pages just like the translatewiki.net main page. Another nice feature is that the language of the page automatically follows the user interface language, so there is no need for a language bar, although you might want to have an interface language selector instead.

Setting this up is currently a bit more complicated than content translation and needs software configuration, but it is all covered in the tutorial How to make an interface message group.

소프트웨어 번역
번역 확장기능은 소프트웨어 인터페이스 메시지를 번역하는 데 잘 맞습니다. translatewiki.net에서 게임부터 웹 애플리케이션까지 수십 개의 소프트웨어 제품을 번역하는 데에 사용되었습니다. 번역 확장기능은 Java properties, Gettext, Yaml 파일 등 웹 개발에 사용되는 공통 포맷들 간에 번역 데이터를 읽고 업데이트하는 것을 지원합니다.

변화 추적 또한 외부 추적 파일로 가능합니다. 이 확장기능의 내부 처리 방식이 원문과 번역문이 담겨있는 지역화 파일을 직접 그 원래 포맷으로 사용하지 않고 캐쉬된 파생 버전을 사용하기 때문입니다. 번역 관리자는 웹 인터페이스나 명령행 인터페이스를 써서 새로운 메시지 정의, 업데이트가 필요한 "모호한" 번역을 확인할 수 있습니다. 이것은 파일 포맷이나 버전 컨트롤 시스템과 관계 없이 동작합니다.

간단한 명령행 도구를 쓰면 번역 관리자는 대량의 기존 번역을 불러들일 수도 있고, 명령 하나로 모든 번역을 정확한 포맷과 디렉토리 구조로 내보낼 수도 있습니다. VCS repository checkout으로 직접 내보낼 수 있고 거기에서 변경과 신규 파일이 쉽게 가능합니다.

For translators and translation administrators

 * How to translate [Tutorial]
 * Translation best practices
 * Statistics and reporting
 * Quality assurance
 * Message group states
 * Off-line translation
 * [In progress] Glossary

For translation administrators

 * How to prepare a page for translation [Tutorial]
 * Page translation administration
 * Interface message groups (localised sidebar, main page and templates) [Tutorial]
 * [In progress] Message group management
 * YAML configuration format
 * How to write YAML configuration for file based message groups [Tutorial]

Reference documents for developers

 * Installation and Configuration; MediaWiki Language Extension Bundle should be enough in most cases.
 * [In progress] Translate explained for developers
 * Hooks
 * [In progress] Message groups
 * [In progress] File format support
 * Translation aids
 * [Unwritten] Web API
 * Insertables
 * Translation memories

Related

 * Translation notifications
 * Localisation/Tutorial: General localisation tutorial for developers, for use at hackathons & trainings
 * Extension:TranslateSvg: Adds support for translating SVG files
 * Universal Language Selector: Provides webfonts and input methods

Todo

 * Implementation on Meta: m:Meta:Translate extension.
 * See translate-doc for specific tasks.