Shortcut:
WM:LS
이것은 틀:토막글 없는 언어 고름
이것은 틀:토막글 있는 언어 고름 (영어와 불어).

언어 고르기은 사용자가 다국어 페이지에서 외국어를 숨길 수 있도록 합니다. 예를 들어 프랑스어 독자는 다국어 페이지에서 프랑스어 텍스트만 볼 수 있습니다.

참고 :

  • 이 문서에 설명된 언어 고르기 기능은 번역이 매우 적고 몇 개의 문장을 번역할 때만 사용해야 합니다. 언어 고르기 기능은 번역이 거의 이루어지지 않는 문서(예: 생성된 활동 보고서 또는 사용자 문서)나 분류 문서(별도의 하위 분류를 만들거나 언어별로 번역된 문서 모음을 저장하는 것이 바람직하지 않거나 이미지 설명에서 불가능할 때)에만 사용하세요.
  • 하위 문서가 있는 여러 단일 언어로 완전히 번역되도록 설계된 문서(자세한 것은 메타:번역 보기)는 언어 고르기가 아닌 언어 표시줄을 사용하여 이러한 페이지 간에 탐색할 수 있도록 하는 것이 바람직합니다.
  • 또한 문서의 상태를 알려주는 일반 Message 상자는 언어 고르기을 사용하지 않고 사용자 언어를 직접 표시하기 위해 언어 전환(자세한 것은 틀:언어스위치 보기) 또는 최신 번역 확장 기능을 사용하는 틀에서 제외해야 합니다.
  • 오른쪽은 틀:토막글(이전에 언어 고르기 방식을 사용했던)의 두 screenshot으로, CSS 방식을 사용하여 영어와 불어를 고르지 않은 경우와 고른 경우입니다(아래 참조). 이제 이 틀은 사용자 언어로 자동 번역되며 더 이상 모든 번역이 표시되지 않습니다.

구현

edit

언어 고르기에는 두 가지 구현 방식이 있습니다. 언어 고르기를 위한 문서 준비는 두 방법 모두 동일합니다. 이전 CSS 방식은 여러 언어를 고를 수 있어 다국어 사용자에게 가장 유용합니다. 그러나 고른 언어가 없음인 경우 이를 인식할 수 없으므로 콘텐츠가 표시되지 않습니다. 새로운 JavaScript 방법는 Browser의 언어를 자동으로 감지하며(Browser 설정을 무시하도록 구성할 수 있음), 고른 언어가 없으면 아무 작업도 수행하지 않습니다. 그러나 한 번에 하나의 언어만 표시할 수 있습니다.

다국어 문서 식별

edit

언어 고르기을 구현하는 문서에는 {{다국어}}를 사용하여 이 문서로 다시 연결되는 알림이 포함되도록 합니다. 이를 위해 사용할 logo에 대한 논의는 없었으며, 현재 현지화2.svg가 쓰이고 있습니다.

언어 구분

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에 따라 정렬하면 안 됨). 그렇지 않으면 상대적 순서가 유지되어 결국에는 아무렇게나 되어 독자가 원하는 언어를 찾기 어려울 수 있습니다.

{{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가 작동하는 예를 확인할 수 있습니다. 언어 고르을 비활성화하면 모든 글이 표시됩니다.

Afrikaans: Hierdie teks is in Afrikaans.
Bahasa Indonesia: Ini adalah teks dalam bahasa Indonesia.
Bahasa Melayu: Teks ini ditulis dalam Bahasa Melayu.
Boarisch: Des is a boarischa Text.
Brezhoneg : Brezhoneg eo an destenn-mañ.
Català : Aquest text és en català.
Dansk: Denne tekst er på dansk.
Deutsch: Dieser Text ist Deutsch.
Eesti: See tekst on eesti keeles.
English: This text is English.
Español : Ese texto está en español.
Esperanto: Ĉi tiu teksto estas en Esperanto.
Français : Ce texte est en français.
Frysk: Dizze tekst is yn it Frysk.
Galego: Este texto está en galego.
Hrvatski: Ovaj tekst je na hrvatskom jeziku.
Interlingua: Iste texto es in interlingua.
Italiano: Questo testo è in Italiano.
Kiswahili: Haya ni maelezo ya Kiswahili.
Kurdî: Ev nivîs bi kurdî ye.
Latina: Haec nota latine scriptus est.
Lëtzebuergesch: Dësen Text ass op lëtzebuergesch
Lietuvių: Šis tekstas yra lietuviškas
Magyar: Ez a szöveg magyarul van
Nederlands: Deze tekst is in het Nederlands.
Norsk: Denne teksten er på norsk.
Occitan : Aqueste tèxt es en occitan.
Polski: Ten tekst jest po polsku.
Português : Este texto está em português.
Sardu: Custu testu est in sardu.
Suomi: Tämä teksti on suomeksi.
Svenska: Denna text är på svenska.
Türkçe: Bu tekst Türkçe'dir.
Ελληνικά: Αυτό το κείμενο είναι στα Ελληνικά
Беларуская: Гэты тэкст — на беларускай мове.
Беларуская (тарашкевіца): Гэты тэкст — на беларускай мове.
Български: Този текст е на български език.
Македонски: Ова е текст на македонски јазик.
Русский: Этот текст — на русском языке.
Українська: Цей текст написано українською мовою.
ქართული: ეს ტექსტი ქართულ ენაზეა.
हिन्दी: यह पाठ हिन्दी में है।
বাংলা: এই বার্তাটি বাংলায়।
ਪੰਜਾਬੀ: ਇਹ ਟੈਕਸਟ ਪੰਜਾਬੀ ਵਿੱਚ ਹੈ।
ଓଡ଼ିଆ: ଏହି ଲେଖାଟି ଓଡ଼ିଆ ଭାଷାରେ ଲେଖାଯାଇଛି ।
தமிழ்: இது தமிழ் மொழி
ភាសាខ្មែរ៖ ឃ្លានេះជាភាសាខ្មែរ។
한국어: 이 글은 한국어입니다.
中文: 这些文字是中文。 / 這些文字是中文。
日本語: この文章は日本語です。
עברית: הטקסט הזה בעברית.
العربية: هذا النّص عربي.
فارسی: این متن فارسی است.
ئۇيغۇرچە / Uyghurche: بۇلار ئۇيغۇرچە

언어를 지정할 때는 전체 이름이 아닌 코드를 사용하세요.

JavaScript 코드는 Commons:MediaWiki:다국어 설명에서 볼 수 있습니다.

변경 내역

edit

이 code는 비공개 하위version 저장소에 관리되고 있습니다. 이 code를 Wikimedia의 하위version 저장소로 가져오는 방법에 대해 아직 Mediawiki 개발자에게 연락하지 못했습니다.

같이보기

edit
edit