메타:국제화 가이드라인
메타위키는 다국어 위키를 목표로 하기 때문에 대부분의 페이지는 번역이 가능하고 번역되어야 합니다. 번역 확장 프로그램을 통해 번역이 가능하려면 페이지가 <translate>...</translate>(즉, "국제화")로 태그되어야 하며 번역 관리자가 "번역을 위해 표시"해야 합니다. 이 페이지는 메타위키에서 페이지 국제화에 대한 지침을 제시하는 것을 목표로 합니다.
번역을 위해 페이지를 표시하는 단계별 가이드는 튜토리얼을 참조하세요.
일반 공지: 번역이 이미 완료된 경우, <translate> 태그가 이러한 지침을 따르지 않더라도 번역을 쓸모없게 만드는 편집을 수행하지 마십시오. 이는 이미 자발적으로 많은 업무량을 담당하고 있는 번역가들에게 불필요한 부담을 주게 될 것입니다. |
일반 가이드라인
일반적으로 번역을 위해 페이지를 표시하는 것에 대한 번역 확장 프로그램의 지침을 따라야 합니다: 가능하다면 </translate> 태그를 닫아 수동으로 번역 단위를 분할하지 말고 대신 빈 줄이 작업을 수행하도록 해야 합니다.
시각편집기를 사용하여 번역된 콘텐츠를 편집할 수는 있지만, 번역 마크업을 추가하거나 변경하려면 소스 편집기를 사용해야 합니다. 번역 마크업을 더 쉽게 추가하려면 편집 인터페이스 아래 상자에 있는 버튼을 사용하세요.
번역된 페이지를 편집할 때는 섹션 편집을 사용하지 마세요. 섹션 편집을 하면 페이지에 공백이 추가됩니다.[1] 항상 전체 페이지를 편집하는 옵션을 선택하세요.
세분화의 예
| 좋은 구문 | 잘못된 구문 |
|---|---|
제목과 문단 주위의 새 줄에 <translate> 태그를 추가합니다.
<translate>
== 섹션 제목 ==
이것은 문단입니다.
이것은 또 다른 문단입니다.
</translate>
{{틀}}
<translate>
== 다른 제목 ==
</translate>
|
제목 마크업(예: ==)은 번역 단위에 포함되어야 합니다.
== <translate>섹션 제목</translate> ==
<translate>이것은 문단입니다.</translate>
<translate>이것은 또 다른 문단입니다.</translate>
{{틀}}
== <translate>다른 제목<translate> ==
|
목록 항목을 줄 바꿈 없이 개별 번역 단위로 분할합니다. 번역 단위에서 목록 마크업을 제외합니다.
* <translate>이것은 긴 목록입니다:</translate> ** <translate>이 목록에는 160개 이상의 단어가 있습니다.</translate> ** <translate>또는 항목이 8개 이상입니다.</translate> * <translate>그러니 여러 개의 작은 단위로 나누는 것이 좋습니다.</translate> * <translate>하지만 목록의 접근성을 유지하려면 번역 태그에서 요점을 제외해야 합니다.</translate> |
목록 마크업(예: * 또는 #)은 번역 단위에서 '제외'되어야 합니다.
<translate> * 긴 목록입니다: ** 이 목록에는 160개 이상의 단어가 있습니다. ** 또는 8개 이상의 항목이 있습니다. </translate> <translate> * 따라서 여러 개의 작은 단위로 나누는 것이 좋습니다. * 하지만 목록의 접근성을 유지하려면 번역 태그에서 글머리 기호를 제외해야 합니다. </translate> |
특정 요소
링크
대상 페이지의 올바른 언어 변형으로 연결하려면 특별한 마크업이 필요합니다. 번역 가능한 모든 페이지에는 번역 표시가 되어 있지 않더라도 현지화된 링크 구문을 사용하세요. 현지화된 링크 구문이 필요하지 않은 페이지에는 토론 페이지와 텍스트 콘텐츠가 없는 템플릿이 포함됩니다.
다국어 위키의 페이지에 링크하려면 링크 앞에 Special:MyLanguage/을 붙입니다. 번역을 더 쉽게 하려면 링크 대상은 제외하고 링크 텍스트만 번역 단위에 포함하세요. 링크가 단락처럼 더 큰 번역 단위의 일부인 경우, 번역 변수(<tvar name=1> … </tvar>)로 감싸서 링크 대상을 번역 단위에서 제외할 수 있습니다.
목록이나 표처럼 같은 위키의 페이지에 대한 독립형 링크의 경우, 지역화된 링크 템플릿을 사용하여 구문을 간소화할 수 있습니다. 이 템플릿은 메타위키, mediawiki.org, 아웃리치 위키 및 이 템플릿을 사용할 수 있는 다른 위키에서 사용할 수 있습니다.
위키백과 문서에 대한 링크의 경우, 대상에 {{lwp}} 템플릿을 사용하고 tvar 안에 래핑해야 합니다. 예를 들어, [[{{lwp|Rosa Parks}}</tvar>]]는 영어 페이지에서 en:Rosa Parks을 생성하고 프랑스어 페이지에서 fr:Rosa Parks를 생성합니다.
다른 크로스 위키 및 외부 링크의 경우 번역이 있는 경우 tvar 안에 링크 대상을 넣으면 안 됩니다. 물론 대상 웹사이트에 언어 감지 시스템(미디어위키의 Special:MyLanguage/와 같은)이 있는 경우 이 시스템을 사용하여 전체 링크를 tvar 안에 넣을 수 있습니다.
| 좋은 구문 | 잘못된 구문 |
|---|---|
다국어 위키의 페이지에 링크하려면 링크 대상 앞에 Special:MyLanguage/을 접두사로 붙이고 링크 텍스트를 추가합니다. 번역 단위에 링크 텍스트만 포함되도록 하려면 번역 변수를 사용합니다.
<translate> [[[[<tvar name=1>Special:MyLanguage/Wikimedia projects</tvar>|위키미디어 프로젝트]]에 대해 알아보고 [[[[<tvar name=2>Special:MyLanguage/New project process</tvar>|새로운 프로젝트]]를 요청하는 방법을 알아보세요. </translate> |
번역 변수에는 링크 텍스트가 아닌 링크 대상만 포함되어야 합니다.
<translate> [[[[<tvar name=1>Special:MyLanguage/Wikimedia projects</tvar>|위키미디어 프로젝트]]에 대해 알아보고 [[[[<tvar name=2>Special:MyLanguage/New project process|새로운 프로젝트]]</tvar>를 요청하는 방법을 알아보세요. </translate> |
같은 위키의 페이지(예: 목록이나 표)에 대한 독립형 링크의 경우 Template:ll을 사용하고 사용자 지정 링크 텍스트만 번역합니다. |nsp=0를 사용하면 이름공간을 생략하여 링크 텍스트를 간소화할 수 있습니다.
<translate>
같이 보기:
</translate>
* {{ll|Help:Contents|2=<translate>Help pages</translate>}}
* {{ll|Meta:Discussion pages|nsp=0}}
|
템플릿 구문 내에 <translate> 태그를 추가하는 경우 매개변수 이름 (2=)이 필요합니다.
<translate>
같이 보기:
</translate>
* {{ll|Help:Contents|<translate>Help pages</translate>}}
* {{ll|Meta:Discussion pages|nsp=0}}
|
외부 링크의 경우 번역 변수를 사용하여 번역 단위에서 링크 대상을 제외합니다.
<translate> [<tvar name=url>https://openstreetmap.org</tvar> 외부 링크]가 포함된 텍스트입니다. </translate> |
외부 링크 대상을 번역 단위에서 제외하려면 번역 변수가 필요합니다.
<translate> [https://openstreetmap.org 외부 링크]가 포함된 텍스트입니다. </translate> |
분류
<translate> 태그에서 카테고리 선언을 제외해야 합니다. 대신 카테고리 이름 뒤에 {{#translation:}}를 추가합니다: [[Category:Target category{{#translation:}}]]. 이런 방법을 사용하면, 주요 영어 페이지만 대상 카테고리에 분류되고, 번역 페이지는 언어별 카테고리에 분류됩니다.
| 좋은 구문 | 잘못된 구문 |
|---|---|
[[Category:Wikipedia{{#translation:}}]]
|
<translate>[[Category:Wikipedia]]</translate> |
이미지
썸네일과 큰 이미지
이미지를 현지화할 수 있는 경우(예: 이미지에 일부 텍스트가 포함되어 있고 번역된 버전이 있는 경우) <translate> 태그에 전체적으로 포함되어야 합니다.
그렇지 않으면 alt= 값만 <translate nowrap> 태그로 묶고 캡션은 <translate> 태그로 묶어야 합니다.
left 또는 right가 이미지 매개변수로 사용되는 경우: 쓸모없다면 제거하세요(축소판은 영어의 경우 오른쪽에 기본 설정됨). 또는 각각 {{dirstart}} 또는 {{dirend}}로 바꾸세요.
| 좋은 구문 | 잘못된 구문 |
|---|---|
[[File:풍경.jpg |thumb |{{dirstart}} |alt=<translate nowrap>산 위로 지는 일몰</translate> |<translate>아름다운 풍경의 사진</translate>]]
|
<translate> [[File:풍경.jpg |thumb |left |alt=산 위로 지는 일몰 |아름다운 풍경의 사진]] </translate> |
<translate> [[File:영어 위키백과 스크린샷.png|thumb|alt=Homepage of English Wikipedia with featured article and news topics|위키백과 홈페이지]] </translate> |
[[File:영어 위키백과 스크린샷.png|thumb|right|alt=<translate nowrap>주요 문서와 뉴스 주제를 담은 영어 위키백과 홈페이지</translate>|<translate>위키백과 홈페이지</translate>]] |
아이콘
인라인 아이콘은 간단히 $태그로 묶을 수 있습니다.
| 좋은 구문 | 잘못된 구문 |
|---|---|
<translate> [[File:예쁜 안녕 단어.png|alt=여러분, 안녕하십니까!]], <tvar name="icon">[[File:스마일리.png|alt=🙂]] 어떻게 지내세요? </translate> |
<translate> [[File:예쁜 안녕 단어.png|alt=여러분, 안녕하십니까!]], [[File:스마일리.png|alt=🙂]] 어떻게 지내세요? </translate> |
번역 변수
번역 변수(<tvar name="name"></tvar> syntax)를 사용하면 번역자가 텍스트를 숨겨서 번역하지 못하도록 할 수 있습니다.
다음 예는 tvar 안에 넣어야 합니다:
- 자동으로 현지화되거나 현지화되지 않는 링크 대상.
- 사용자명,
- 변경될 가능성이 있는 숫자(이 숫자는
{{formatnum:}}안에 래핑한 다음tvar안에 넣어야 함) - 태그 속성(예:
<span class="css_class" style="background-color:blue"</tvar>>hello</span>) - 템플릿 이름 및 매개변수(예:
{{<tvar name=1>center|5px</tvar>|hello}}) - 복잡한 위키텍스트나 HTML의 일부(다만, 번역자를 위한 결과 위키텍스트가 균형을 이루어야 합니다).
다음 예는 tvar 안에 넣으면 안 됩니다:
- 사람과 장소 이름(거의 번역되지 않더라도 음역될 수 있음),
<code>와 같은 속성이 없는 XML 태그(번역 인터페이스가 처리),- 지역화 가능한 링크 대상(즉, 다국어 웹사이트로의 링크).
번역 변수 이름
번역가를 돕기 위해 $태그 이름을 가능한 한 짧고 읽기 쉽게 유지하세요. 번역가가 내용을 알 필요가 없다면 숫자가 매겨진 이름을 사용하는 것이 좋습니다. 숫자는 대부분 번역가에게 빠르게 입력할 수 있고 많은 언어에서 일반적이기 때문입니다(대부분 초보자가 실수로 번역하지 않도록).
하지만 tvar가 문장 안에 있는 경우 번역자가 그 내용을 이해하고 번역문에서 적절한 위치에 쉽게 작성할 수 있도록 명확한 이름이 있어야 합니다(이메일 주소, URL, 위키텍스트 태그 이름 등에 흔히 사용됩니다).
| 좋은 구문 | 잘못된 구문 |
|---|---|
[[<tvar name="1">Special:MyLanguage/Help:Links|도움말 페이지를 참조하세요]] |
[[Special:MyLanguage/Help:Links|도움말 페이지를 참조하세요]] |
회의는 <tvar name="date">{{dateT||9|24}}</tvar>에 <tvar name="software">{{int string|Zoom}}</tvar>에서 진행될 예정입니다.
|
회의는 <tvar name=1>{{dateT||9|24}}</tvar>에 <tvar name=2>{{int string|Zoom}}</tvar>에서 진행될 예정입니다.
|
tvar 이름에도 공백, 밑줄, 문자를 사용하지 마세요.
| 좋은 구문 | 잘못된 구문 |
|---|---|
<tvar name="max-count">84</tvar> 카페 |
<tvar name="max_count of café">84</tvar> 카페 |
템플릿
모든 페이지와 마찬가지로 번역을 위한 템플릿을 준비할 수 있지만, 번역을 위해 페이지를 표시할 때 "Enable translation-aware transclusion for this page" 체크박스가 선택되어 있는지 확인해야 합니다.
템플릿 호출의 매개변수 값 내에 <translate> 태그를 삽입하는 경우 매개변수에 이름을 지정해야 합니다(그렇지 않은 경우 1=와 같이 숫자 이름을 추가합니다).
템플릿이 번역 불가능한 페이지(예: 사용자 페이지)에 포함될 것으로 예상되고 이러한 페이지에서도 번역되어야 하는 경우 아래에 표시된 코드에서 uselang={{PAGELANGUAGE}}을 uselang={{int:lang}}로 바꿔서 switch와 함께 2021년 이전 해킹을 사용할 수 있습니다.
2021년 이전 해킹
미디어위키 1.36.0-wmf.32(2021-02-23) 이전에는 영어 페이지에 템플릿을 직접 포함하는 대신 템플릿의 하위 페이지 /en를 포함해야 했습니다.
한 가지 방법은 {{my translated template|param}} 나오는 모든 부분을 {{TNT|my translated template|param}}로 바꾸는 것입니다. 단, 템플릿이나 포함된 페이지에는 {{ {{TNTN|my translated template}} |param}}가 대신 포함되어야 합니다.
다른 방법은 템플릿을 편집하여 자신을 {{TNT}}이라고 부르는 것입니다. 이를 위해 전체 템플릿 코드를 {{TNT}}이라고 부르는 기본 케이스를 사용하여 빈 <translate> 태그를 평가하는 스위치 내부에 넣어야 합니다.
{{#switch:<translate></translate>
|=<full template code>
|#default={{#invoke:Template translation|renderTranslatedTemplate|template={{subst:FULLPAGENAME}}|uselang={{PAGELANGUAGE}}|noshift=1}}
}}
같이 보기