Meta:Language select/ko
언어 고르기은 사용자가 다국어 페이지에서 외국어를 숨길 수 있도록 합니다. 예를 들어 프랑스어 독자는 다국어 페이지에서 프랑스어 텍스트만 볼 수 있습니다.
참고 :
- 이 문서에 설명된 언어 고르기 기능은 번역이 매우 적고 몇 개의 문장을 번역할 때만 사용해야 합니다. 언어 고르기 기능은 번역이 거의 이루어지지 않는 문서(예: 생성된 활동 보고서 또는 사용자 문서)나 분류 문서(별도의 하위 분류를 만들거나 언어별로 번역된 문서 모음을 저장하는 것이 바람직하지 않거나 이미지 설명에서 불가능할 때)에만 사용하세요.
- 하위 문서가 있는 여러 단일 언어로 완전히 번역되도록 설계된 문서(자세한 것은 메타:번역 보기)는 언어 고르기가 아닌 언어 표시줄을 사용하여 이러한 페이지 간에 탐색할 수 있도록 하는 것이 바람직합니다.
- 또한 문서의 상태를 알려주는 일반 Message 상자는 언어 고르기을 사용하지 않고 사용자 언어를 직접 표시하기 위해 언어 전환(자세한 것은 틀:언어스위치 보기) 또는 최신 번역 확장 기능을 사용하는 틀에서 제외해야 합니다.
- 오른쪽은 틀:토막글(이전에 언어 고르기 방식을 사용했던)의 두 screenshot으로, CSS 방식을 사용하여 영어와 불어를 고르지 않은 경우와 고른 경우입니다(아래 참조). 이제 이 틀은 사용자 언어로 자동 번역되며 더 이상 모든 번역이 표시되지 않습니다.
구현
[edit]언어 고르기에는 두 가지 구현 방식이 있습니다. 언어 고르기를 위한 문서 준비는 두 방법 모두 동일합니다. 이전 CSS 방식은 여러 언어를 고를 수 있어 다국어 사용자에게 가장 유용합니다. 그러나 고른 언어가 없음인 경우 이를 인식할 수 없으므로 콘텐츠가 표시되지 않습니다. 새로운 JavaScript 방법는 Browser의 언어를 자동으로 감지하며(Browser 설정을 무시하도록 구성할 수 있음), 고른 언어가 없으면 아무 작업도 수행하지 않습니다. 그러나 한 번에 하나의 언어만 표시할 수 있습니다.
다국어 문서 식별
[edit]언어 고르기을 구현하는 문서에는 {{다국어}}를 사용하여 이 문서로 다시 연결되는 알림이 포함되도록 합니다. 이를 위해 사용할 logo에 대한 논의는 없었으며, 현재 현지화2.svg가 쓰이고 있습니다.
-
Zscout370 제안
-
Pathoschild 제안
-
“문자의 지구본” 제안
언어 구분
[edit]기술 세부 사항
[edit]다국어 문서는 CSS class "multilingual"에 포함되고, 모든 언어의 글은 class="lang-xx"
속성으로 tag된 HTML 요소에 포함됩니다. 여기서 xx는 소문자 BCP 47 언어 code(일반적으로 ISO 639에서 두세 글자, 변형 접미사가 뒤따를 수 있음; 두 글자 code가 없으면 소문자 세 글자 code가 사용됨)와 HTML lang
속성입니다. lang
속성은 class보다 문맥적으로 더 정확하지만, 이에 연결하는 데 필요한 CSS는 모든 browser에서 지원되지 않습니다. 기존 message를 번역하고 언어를 모르는 경우 코드 "und"를 사용하세요.
고대 영어, 영어, 불어, 키스와힐리어, 라틴어, 오크어, 루마니아어, 팔리어, 아랍어, 페르시아어 및 위구르어로 된 예시 페이지: (:commons: Module:다국어 설명/분류에 따라 정렬됨)
<div class="multilingual">
<div class="lang-ang" lang="ang">Þis wordu is Englisc.</div>
<div class="lang-en" lang="en">This text is English.</div>
<div class="lang-fr" lang="fr">Ce texte est Français.</div>
<div class="lang-ko" lang="ko">이 글은 한국말입니다.</div>
<div class="lang-sw" lang="sw">Maelezo haya ni ya Kiswahili.</div>
<div class="lang-la" lang="la">Haec verba latina sunt.</div>
<div class="lang-oc" lang="oc">Aqueste tèxt es en Occitan.</div>
<div class="lang-ro" lang="ro">Acest text este în română.</div>
<div class="lang-pa" lang="pa">ਇਹ ਟੈਕਸਟ ਪੰਜਾਬੀ ਵਿੱਚ ਹੈ।</div>
<div class="lang-ar" lang="ar">هذا النّص عربي.</div>
<div class="lang-fa" lang="fa">اين نوشته فارسي است.</div>
<div class="lang-ug" lang="ug">بۇ ئۇيغۇرچە</div>
</div>
Rendering된 모국어 이름을 시각적으로 정확하게 정렬하려면 해당 페이지 자체에서 목록을 수동으로 정렬해야 합니다(언어 code에 따라 정렬하면 안 됨). 그렇지 않으면 상대적 순서가 유지되어 결국에는 아무렇게나 되어 독자가 원하는 언어를 찾기 어려울 수 있습니다.
틀
[edit]{{Ls}}
틀은 언어 고르기의 구현을 간소화합니다. 예를 들어 다음 두 줄은 동일합니다(하지만 이 틀은 현재 사용자 언어로 언어 이름과 관련 언어 code를 보여주는 tooltip을 표시하거나 갱신이 필요한 불분명한 번역에 색을 입히는 등 다른 쓰암새 많은 서식 지정 option도 제공합니다):
{{Ls|en|This text is English.}}
<div class="lang-en" lang="en" dir="ltr">'''English:''' This text is English.</div>
이 {{Ls}}
틀은 다국어 section 안에서 같은 언어를 포함하여 여러 번 사용할 수 있습니다. section에 Ls 틀을 포함하는 상대적인 순서도 유지되지만, 대부분의 경우 언어를 일관된 순서로 정렬하고 싶을 것입니다. {{LangSelect}}
는 이 작업을 간소화합니다(단, 각 언어에 대해 한 가지 항목만 허용).
현재 단추가 있는 언어 고르기 양식은 현재 페이지의 각 다국어 section 아래의 다국어 section 아래에 JavaScript로 생성되며, 문서 위쪽에 추가 언어 고르기 상자도 표시됩니다(문서의 어느 곳에서나 다국어 section에 사용된 모든 언어 code 목록을 정렬 없이 표시하지만, 쉽게 고를 수 있도록 정렬하지 않음). 이 상자는 CSS(아래 보기)로 사용자 지정할 수 있습니다.
번역이 섞여 있고 찾기 어려운 경우(특히 script 방향이 번갈아 나타나는 경우)와 {{Ls}}
를 여러 개 포함할 때 처음에 언어 코드별로 정렬할 때(편집 및 유지 관리가 쉽도록) 번역을 시각적으로 script별로 정렬한 다음 언어 이름별로 alphabet순으로 정렬하여 모든 오른쪽에서 왼쪽 언어를 왼쪽에서 오른쪽 언어와 별도로 그룹화하는 방법을 비교하세요:
Wiki code | Rendering |
---|---|
<div class="multilingual">
{{Ls|ar|هذا النص باللغة العربية.}}
{{Ls|da|Denne tekst er på dansk.}}
{{Ls|en|This text is English.}}
{{Ls|fa|این متن به زبان فارسی است.}}
{{Ls|fi|Tämä teksti on suomeksi.}}
{{Ls|fr|Ce texte est en français.}}
{{Ls|frc|update=en|Ce texte devrait être en français cajun.}}
{{Ls|he|טקסט כתוב בעברית.}}
{{Ls|hi|यह पाठ हिन्दी में है।}}
{{Ls|ko|이 글은 한국말입니다.}}
{{Ls|pa|ਇਹ ਟੈਕਸਟ ਪੰਜਾਬੀ ਵਿੱਚ ਹੈ।}}
{{Ls|ru|Этот текст на русском языке.}}
{{Ls|sv|Denna text är på svenska.}}
{{Ls|th|ข้อความนี้อยู่ในไทย.}}
{{Ls|ur|یہ متن اردو ہے.}}
{{Ls|zh|这是中文。}}
{{Ls|zu|Lo mbhalo Zulu.}}
</div>
|
العربية: هذا النص باللغة العربية.
Dansk: Denne tekst er på dansk.
English: This text is English.
فارسی: این متن به زبان فارسی است.
Suomi: Tämä teksti on suomeksi.
Français : Ce texte est en français.
Français cadien: Ce texte devrait être en français cajun. [update needed: en]
עברית: טקסט כתוב בעברית.
हिन्दी: यह पाठ हिन्दी में है।
한국어: 이 글은 한국말입니다.
मराठी: हा मजकूर मराठीत आहे.
ਪੰਜਾਬੀ: ਇਹ ਟੈਕਸਟ ਪੰਜਾਬੀ ਵਿੱਚ ਹੈ।
Русский: Этот текст на русском языке.
Svenska: Denna text är på svenska.
ไทย: ข้อความนี้อยู่ในไทย.
اردو: یہ متن اردو ہے.
中文: 这是中文。
IsiZulu: Lo mbhalo Zulu.
|
{{LangSelect | update = en
| ar = هذا النص باللغة العربية.
| da = Denne tekst er på dansk.
| en = This text is English.
| fa = این متن به زبان فارسی است.
| fi = Tämä teksti on suomeksi.
| fr = Ce texte est en français.
| frc:FUZZY = Ce texte devrait être en français cajun.
| he = טקסט כתוב בעברית.
| hi = यह पाठ हिन्दी में है।
| ko = 이 글은 한국말입니다.
| mr = हा मजकूर मराठीत आहे.
| pa = ਇਹ ਟੈਕਸਟ ਪੰਜਾਬੀ ਵਿੱਚ ਹੈ।
| ru = Этот текст на русском языке.
| sv = Denna text är på svenska.
| th = ข้อความนี้อยู่ในไทย.
| ur = یہ متن اردو ہے.
| zh = 这是中文。
| zu = Lo mbhalo Zulu.
}}
|
Dansk: Denne tekst er på dansk. English: This text is English. Français : Ce texte est en français. Français cadien: Ce texte devrait être en français cajun. [update needed: en] IsiZulu: Lo mbhalo Zulu. Suomi: Tämä teksti on suomeksi. Svenska: Denna text är på svenska. Русский: Этот текст на русском языке. हिन्दी: यह पाठ हिन्दी में है। ਪੰਜਾਬੀ: ਇਹ ਟੈਕਸਟ ਪੰਜਾਬੀ ਵਿੱਚ ਹੈ। ไทย: ข้อความนี้อยู่ในไทย. 한국어: 이 글은 한국말입니다. 中文: 这是中文。 עברית: טקסט כתוב בעברית. اردو: یہ متن اردو ہے. العربية: هذا النص باللغة العربية. فارسی: این متن به زبان فارسی است. |
틀 {{LangSwitch}}
는 하나의 언어(지정된 언어 또는 현재 문서 내용의 언어)만 표시한다는 점을 제외하면 {{LangSelect}}
와 유사합니다.
사용법
[edit]두 구현은 서로 충돌하므로 한 번에 하나만 사용해야 한다는 점에 유의하세요.
아래 설명은 Monobook skin을 쓴다고 가정합니다.
Cascading StyleSheets
[edit]보고자 하는 언어에 맞게 적절하게 편집하여 당신의 stylesheet에 다음 줄을 추가합니다:
/* 모든 번역을 숨깁니다(원본 source 언어도 숨길 수 있으므로 피하세요) */.
.multilingual { display:none; }
/* 고른 언어만 숨기기 해제 */.
.multilingual>.lang-en,
.multilingual>.lang-fr { display:block; }
CSS를 잘 지원하는 브라우저(예: Mozilla Firefox(모질라 파이어폭스) 또는 Opera)를 쓰는 경우, 상황에 더 적합한 이 CSS를 사용해야 합니다:
.
.multilingual>*[lang] { display:none; }
.multilingual>*[lang|=en],
.multilingual>*[lang|=fr] { display:block; }
다국어 section 아래 언어 고르기 양식만 숨기고 문서 상단에 추가된 선택기 상자만 사용하려는 경우 이 CSS 코드를 사용할 수도 있습니다:
/* 다국어 section 아래 언어 고르기 양식 숨기기 */.
.multilingual>form.lang_info { display:none; }
대신 문서 상단의 언어 고르기 상자만 숨기고 언어 고르기 양식은 다국어 section 아래에 유지하려는 경우 이 CSS 코드를 사용할 수도 있습니다:
/* 다국어 페이지 상단의 언어 선택기 상자 숨기기 */.
.langselectorcontainer { display:none; }
JavaScript
[edit]JavaScript 방식은 Wikimedia Metawiki에서 기본적으로 활성화되어 있습니다. 비활성화하려면 당신의 스크립트 파일에 다음 줄을 추가하면 됩니다:
ls_enable = false;
아래에서 JavaScript가 작동하는 예를 확인할 수 있습니다. 언어 고르을 비활성화하면 모든 글이 표시됩니다.
언어를 지정할 때는 전체 이름이 아닌 코드를 사용하세요.
JavaScript 코드는 Commons:MediaWiki:다국어 설명에서 볼 수 있습니다.
변경 내역
[edit]이 code는 비공개 하위version 저장소에 관리되고 있습니다. 이 code를 Wikimedia의 하위version 저장소로 가져오는 방법에 대해 아직 Mediawiki 개발자에게 연락하지 못했습니다.
- Revision 1999 — --DieBuche 10:34, 7 November 2010 (UTC)
- Revision 1358 — Edward Z. Yang(Talk) 15:36, 19 February 2007 (UTC)
- If no cookie is present, code will sniff
wgUserLanguage
global variable - If language is set to blank, delete the cookie and switch to auto-detection.
- If no cookie is present, code will sniff
- Revision 1133 — Edward Z. Yang(Talk) 22:33, 2 September 2006 (UTC)
- Tweaked Show all behavior to be more user-friendly: instead of overwriting your cookie, it only temporarily shows all the language strings. You can switch back by pressing Select
- Renamed Save to Select
- Styled the Select button to be bold.
- Factored out language strings
같이보기
[edit]- ISO 639 code 목록
- 언어 고르기 기능이 있는 문서 목록
- commons:MediaWiki talk:Multilingual description.js
- Translate extension