메타:국제화 가이드라인
메타위키는 다국어 위키를 목표로 하기 때문에 대부분의 페이지는 번역이 가능하고 번역되어야 합니다. 번역 확장 프로그램을 통해 번역이 가능하려면 페이지가 <translate>...</translate>
(즉, "국제화")로 태그되어야 하며 번역 관리자가 "번역을 위해 표시"해야 합니다. 이 페이지는 메타위키에서 페이지 국제화에 대한 지침을 제시하는 것을 목표로 합니다.
일반 공지: 번역이 이미 완료된 경우, <translate> 태그가 이러한 지침을 따르지 않더라도 번역을 쓸모없게 만드는 편집을 수행하지 마십시오. |
일반 가이드라인
일반적으로 번역을 위해 페이지를 표시하는 것에 대한 번역 확장 프로그램의 지침을 따라야 합니다: 가능하다면 translate
태그를 닫아 수동으로 번역 단위를 분할하지 말고 대신 빈 줄이 작업을 수행하도록 해야 합니다.
2020년 주요 새로운 구문 요구 사항
- 목록을 여러 단위로 분할하려면 하나의 단위로 만들어야 하는 텍스트 안에 줄 바꿈을 넣지 마세요.
translate
태그에서 글머리 기호/번호 매기기 해시태그도 제외해야 합니다. - 템플릿 호출의 매개변수 값 내에
translate
태그를 삽입하는 경우 매개변수에 이름을 지정해야 합니다(그렇지 않은 경우1=
와 같이 숫자 이름을 추가합니다).
세분화의 예
잘못된 구문 | 좋은 구문 |
---|---|
== <translate>섹션 제목</translate> == <translate>이것은 문단입니다.</translate> <translate>이것은 또 다른 문단입니다.</translate> {{틀}} == <translate>다른 제목<translate> == |
<translate> == 섹션 제목 == 이것은 문단입니다. 이것은 또 다른 문단입니다. </translate> {{틀}} <translate> == 다른 제목 == </translate> |
<translate> * 긴 목록입니다: ** 이 목록에는 160개 이상의 단어가 있습니다. ** 또는 8개 이상의 항목이 있습니다. </translate> <translate> * 따라서 여러 개의 작은 단위로 나누는 것이 좋습니다. * 하지만 목록의 접근성을 유지하려면 번역 태그에서 글머리 기호를 제외해야 합니다. </translate> |
* <translate>이것은 긴 목록입니다:</translate> ** <translate>이 목록에는 160개 이상의 단어가 있습니다.</translate> ** <translate>또는 항목이 8개 이상입니다.</translate> * <translate>그러니 여러 개의 작은 단위로 나누는 것이 좋습니다.</translate> * <translate>하지만 목록의 접근성을 유지하려면 번역 태그에서 요점을 제외해야 합니다.</translate> |
특정 요소
링크
번역이 가능한 모든 페이지는 실제로 국제화되지 않았더라도 Special:MyLanguage/
접두사로 링크되어야 합니다. 이 접두사가 필요 없는 주요 페이지는 텍스트 콘텐츠가 없는 토론 페이지와 템플릿입니다. 번역을 더 쉽게 하려면 내부 링크의 대상을 <tvar name=1> … </tvar>
(tvar
이름은 숫자만 가능, 이것으로 충분함)로 감싸세요.
위키백과 문서에 대한 링크의 경우, 대상에 {{lwp}} 템플릿을 사용하고 tvar 안에 래핑해야 합니다. 예를 들어, [[{{lwp|Rosa Parks}}</tvar>]]
는 영어 페이지에서 en:Rosa Parks을 생성하고 프랑스어 페이지에서 fr:Rosa Parks를 생성합니다.
다른 크로스 위키 및 외부 링크의 경우 번역이 있는 경우 tvar
안에 링크 대상을 넣으면 안 됩니다. 물론 대상 웹사이트에 언어 감지 시스템(미디어위키의 Special:MyLanguage/
와 같은)이 있는 경우 이 시스템을 사용하여 전체 링크를 tvar
안에 넣을 수 있습니다.
잘못된 구문 | 좋은 구문 |
---|---|
<translate> 이것은 [[internal link|내부 링크]]와 [https://openstreetmap.org 외부 링크]가 있는 텍스트입니다. </translate> |
<translate> 이것은 [[<tvar name=1>Special:MyLanguage/internal link</tvar>|내부 링크]]와 [<tvar name="url">https://openstreetmap.org</tvar> 외부 링크]가 있는 텍스트입니다. </translate> |
분류
translate
태그에서 카테고리 선언을 제외해야 합니다. 대신 카테고리 이름 뒤에 {{#translation:}}
를 추가합니다: [[Category:Target category{{#translation:}}]]
. 이런 방법을 사용하면, 주요 영어 페이지만 대상 카테고리에 분류되고, 번역 페이지는 언어별 카테고리에 분류됩니다.
잘못된 구문 | 좋은 구문 |
---|---|
<translate>[[Category:Wikipedia]]</translate> |
[[Category:Wikipedia{{#translation:}}]] |
이미지
썸네일과 큰 이미지
이미지를 현지화할 수 있는 경우(예: 이미지에 일부 텍스트가 포함되어 있고 번역된 버전이 있는 경우) translate
태그에 전체적으로 포함되어야 합니다.
그렇지 않으면 alt=
값만 <translate nowrap>
태그로 묶고 캡션은 <translate>
태그로 묶어야 합니다.
left
또는 right
가 이미지 매개변수로 사용되는 경우: 쓸모없다면 제거하세요(축소판은 영어의 경우 오른쪽에 기본 설정됨). 또는 각각 {{dirstart}}
또는 {{dirend}}
로 바꾸세요.
잘못된 구문 | 좋은 구문 |
---|---|
<translate> [[File:풍경.jpg |thumb |left |alt=일몰 |아름다운 풍경의 사진]] </translate> |
[[File:풍경.jpg |thumb |{{dirleft}} |alt=<translate nowrap>일몰</translate> |<translate>아름다운 풍경의 사진</translate>]] |
[[File:영어 위키백과 스크린샷.png|thumb|right|<translate>위키백과 홈페이지</translate>]] |
<translate> [[File:영어 위키백과 스크린샷.png|thumb|위키백과 홈페이지]] </translate> |
아이콘
인라인 아이콘은 간단히 $태그로 묶을 수 있습니다.
잘못된 구문 | 좋은 구문 |
---|---|
<translate> [[File:예쁜 안녕 단어.png|alt=여러분, 안녕하십니까!]], [[File:스마일리.png|alt=🙂]] 어떻게 지내세요? </translate> |
<translate> [[File:예쁜 안녕 단어.png|alt=여러분, 안녕하십니까!]], <tvar name="icon">[[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="HelpLink">Special:MyLanguage/Help:Links|도움말 페이지를 참조하세요]] |
[[<tvar name="1">Special:MyLanguage/Help:Links</tvar>|도움말 페이지를 참조하세요]] |
회의는 <tvar name=1>{{dateT||9|24}}</tvar>에 <tvar name=2>{{int string|Zoom}}</tvar>에서 진행될 예정입니다. |
회의는 <tvar name="date">{{dateT||9|24}}</tvar>에 <tvar name="software">{{int string|Zoom}}</tvar>에서 진행될 예정입니다. |
tvar
이름에도 공백, 밑줄, 문자를 사용하지 마세요.
잘못된 구문 | 좋은 구문 |
---|---|
<tvar name="max_count of café">84</tvar> 카페 |
<tvar name="max-count">84</tvar> 카페 |
템플릿
모든 페이지와 마찬가지로 번역을 위한 템플릿을 준비할 수 있지만, 번역을 위해 페이지를 표시할 때 "Enable translation-aware transclusion for this page" 체크박스가 선택되어 있는지 확인해야 합니다.
템플릿이 번역 불가능한 페이지(예: 사용자 페이지)에 포함될 것으로 예상되고 이러한 페이지에서도 번역되어야 하는 경우 아래에 표시된 코드에서 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}} }}