모듈:위키데이터
Module![]() | 모듈: Wikidata는 더 이상 사용되지 않습니다.모듈을 사용하십시오.위키데이터IB 또는 모듈:Wd 대신에. |
![]() | 이 모듈은 페이지 보호 대상입니다.매우 많은 페이지에서 사용하는 눈에 잘 띄는 모듈이거나 매우 자주 교체됩니다.파손이나 실수는 많은 페이지에 영향을 미치며 사소한 편집에도 서버에 상당한 부하가 걸릴 수 있기 때문에 편집으로부터 보호됩니다. |
![]() | 이 루아 모듈은 약 128,000 페이지에 사용됩니다. 중대한 중단과 서버 부하를 방지하기 위해 모듈의 /샌드박스 또는 /테스트 케이스 하위 페이지 또는 자체 모듈 샌드박스에서 변경 사항을 테스트해야 합니다.테스트된 변경 내용을 한 번의 편집으로 이 페이지에 추가할 수 있습니다.실행하기 전에 토크 페이지에서 변경 사항에 대해 논의하는 것을 고려합니다. |
방법들
"Wikidata" 모듈에는 다음과 같은 메서드가 포함되어 있습니다. 호출 스크립트는 속성 ID를 첫 번째 매개 변수로 제공하여 Wikidata에서 속성 값을 검색할 수 있습니다.
getValue
: 해당되는 경우 wiki-linked 값을 반환합니다.다른 모든 값은 다음과 유사하게 출력됩니다.{{#property:}}
, 우선 순위를 가진 값이 존재하는 경우만 반환됩니다.와는 달리formatStatements
w:ru에서:Модуль:위키데이터,getValue
아직 참조를 선택하지 않습니다(w:en:모듈 대화:Wikidata/Archive 1# Wikidata의 참조가 삭제되는 이유는 무엇입니까?)getRawValue
: 연결되지 않은 속성 값과 천 개의 구분 기호가 있는 숫자를 반환합니다.또한 수량인 속성의 일반 숫자 값을 반환합니다.다른 모든 값은 다음과 유사하게 출력됩니다.{{#property:}}
, 선호하는 값이 존재하더라도 정상 값을 포함합니다.getDateValue
: 포맷된 날짜를 반환하는 특별한 방법.기본 날짜 형식은 [day month year]이며, 다른 날짜 형식의 경우 선택적인 세 번째 매개 변수를 추가할 수 있습니다. [month day, year]의 경우 "mdy"를 추가하고, [month year]의 경우 "my"를 추가하고, 연도에만 "y"를 추가합니다.BCE와 같이 4번째인 선택적 매개변수를 추가하여 BC 날짜로 접미사가 붙은 기본 "BC"를 재정의할 수 있습니다.getImages
: 특정 속성의 모든 이미지(예: 이미지(P18), Gene Atlas Image(P692) 등)를 반환합니다.매개변수는propertyID value / FETCH_WIKIDATA / nil separator (default=space) size (default=220px)
. 반환되는 텍스트는 [[File:크기 및 구분 기호(html일 수 있음)를 선택할 수 있는 각 이미지의 파일 이름 크기].commonsMedia 유형이 아닌 속성을 제공하면 빈 텍스트를 반환합니다.getUnits
속성을 사용합니다.ID는 첫 번째 파라미터로 수량이며, 현재 페이지에서 속성이 사용하고 있는 유닛의 이름을 반환합니다.속성이 수량 유형이 아니거나 값이 설정되지 않은 경우에는 빈 값으로 반환됩니다.두 번째 매개 변수는 "FETCH_WIKIDATA"가 아닌 경우 Wikidata에서 가져오기를 재정의하는 데 사용될 수 있습니다.getUnitID
속성을 사용합니다.첫 번째 파라미터로 수량이며, 현재 페이지에서 속성이 사용하고 있는 유닛의 QID를 반환합니다.속성이 수량 유형이 아니거나 값이 설정되지 않은 경우에는 빈 값으로 반환됩니다.두 번째 매개 변수는 "FETCH_WIKIDATA"가 아닌 경우 Wikidata에서 가져오기를 재정의하는 데 사용될 수 있습니다.
위키데이터 한정자 값(있는 경우)은 다음과 같은 방법으로 검색할 수 있습니다.
getQualifierValue
: 적용 가능한 경우 wiki-linked 값만 반환합니다.getRawQualifierValue
: 링크되지 않은 값을 반환합니다.getQualifierDateValue
: 형식화된 날짜를 반환합니다.
이 코드를 호출하는 문서의 속성이 Wikidata에 정의되어 있지 않으면 빈 문자열("")이 반환됩니다.
기타 방법:
pageId
: 에서는 현재 페이지의 Wikidata ID(Q…)를 반환하거나 페이지가 Wikidata에 연결되어 있지 않은 경우에는 아무것도 반환하지 않습니다.다른 페이지의 Wikidata id를 가져오려면 {{#invoke:EntityId 페이지}}을(를) 해결합니다.getTAValue
: 속성 P1323에 대한 TA98(Termologia Anatomica first edition 1998) 값을 가져옵니다.매개 변수를 사용하지 않고 각 값이 외부 리소스에 연결된 상태에서 출력을 목록으로 구성합니다.이것은 외부 링크를 반환해야 하는 전화를 작성하는 예시입니다.ViewSomething
: 는 레이블, 설명, 참조 및 인터위키 링크를 포함하여 구조화된 데이터에 있는 모든 것을 가져옵니다.[1] 참조getSiteLink
: 는 인수 위키에 주어진 페이지의 이름을 가져옵니다. (영어 위키백과의 경우 enwikiquote, 아랍어 위키백과의 경우 arwiki와 같이).Dump
:{{#invoke:Wikidata Dump claims}}
구조화된 데이터를 염탐합니다.View Something과 동일한 인수를 사용합니다.결과를 보기 위해서만 미리 보기와 함께 시도합니다.그것은 데이터에 접근하는 Lua 스크립트를 개발하는 데 많은 도움이 됩니다.인수 없이 사용하면 레이블, 설명, 참조 및 인터위키 링크를 포함한 모든 것을 덤프합니다.래퍼 템플릿이 있습니다({Dump}} 참조).getImageLegend
: 이미지 범례를 반환합니다(이미지는 속성 P18, 이미지 범례는 속성 P2096).- 전화번호:
{{#invoke:Wikidata getImageLegend <PARAMETER> lang=<ISO-639code> id=<QID>}}
- 항목 QID(고가 호출)에서 "FETCH_WIKIDATA"와 동일하지 않은 경우 PARAMETAR를 반환합니다.QID가 생략되거나 공백인 경우 현재 기사가 사용됩니다(비싼 통화가 아님).lang이 생략되면 로컬 wiki 언어를 사용하고, 그렇지 않으면 제공된 ISO-639 언어 코드를 사용합니다.
- 레이블은 '선호' 순위의 첫 번째 이미지에서 반환되거나, 선호 순위가 없는 이미지의 경우 '보통' 순위의 첫 번째 이미지에서 반환됩니다.
- 전화번호:
getValueShortName
: getValue와 동일한 데이터를 반환하지만 사용 가능한 경우 속성 단축 이름을 레이블로 사용합니다.이를 통해 원하는 경우 파이프 연결에서 더 짧은 레이블을 사용할 수 있습니다.항목에 short name이 설정되어 있지 않으면 일반 레이블이 사용됩니다.
임의 접근
2015년 9월 16일 현재, QID를 사용하여 다른 기사의 데이터를 가져올 수 있습니다.다음 호출:
{{#invoke:Wikidata getValueFromID <QID> <Property> FETCH_WIKIDATA}}
는 getValue와 동일한 작업을 수행하지만 속성 값을 가져올 Wikidata 항목의 QID인 추가 매개 변수를 사용합니다.예를 들어,
{{#invoke:Wikidata getValueFromID {{Get QID Richard Burton (actor) }} P26 FETCH_WIKIDATA}}
는 영어 위키백과의 어느 곳에서든 리디렉션 페이지 제목 Richard Burton(배우)(Wikidata label Richard Burton(Q151973))에서 '배우자'(P26)에 대한 링크된 값 목록을 가져옵니다.
이는 테스트 환경이 사용자 공간에 설정될 수도 있지만 이러한 호출은 비용이 많이 드는 것으로 분류되므로 가능한 한 적게 사용하십시오.
매개변수
- 일반화된 경우(getValue)에는 이름이 없는 두 개의 매개 변수가 제공됩니다.첫 번째는 검색할 부동산의 ID입니다(예: 생가의 경우 P19 또는 배우자의 경우 P26).두 번째 값은 null, "FETCH_WIKIDATA" 또는 반환된 값이 되는 다른 문자열일 수 있습니다.
- 일반화된 연결 해제 사례(getRawValue)의 경우 이름 없는 매개 변수 두 개가 제공됩니다.첫 번째는 검색할 부동산의 ID입니다(예: 성별의 경우 P21).두 번째 값은 null, "FETCH_WIKIDATA" 또는 반환된 값이 되는 다른 문자열일 수 있습니다.
- 일반화된 날짜 케이스(getDateValue)의 경우 이름 없는 파라미터 3개가 제공됩니다.첫 번째는 검색할 부동산의 ID입니다(예: 생년월일의 경우 P569).두 번째 값은 null, "FETCH_WIKIDATA" 또는 반환된 값이 되는 다른 문자열일 수 있습니다.세 번째는 dmy, mdy, my, y 중 하나로 날짜를 반환해야 하는 형식입니다.
소문자 매개변수는 더 이상 wikibase call인 p123에서는 지원되지 않으므로 문제가 발생할 경우 p123과 같이 대문자가 사용되는지 확인하시기 바랍니다.
사용.
예: 배우자(P26)
{{#invoke:Wikidata getValue P26 }}
= 아무것도 반환하지 않으므로 정보 상자에 배우자 표시를 억제합니다.{{#invoke:Wikidata getValue P26 FETCH_WIKIDATA}}
= 해당 기사에 대해 위키데이터에 저장된 속성 P26(배우자)의 연결 값을 반환합니다(예: 기사 Bill Clinton의 경우 Hillary Clinton을 반환합니다).{{#invoke:Wikidata getValue P26 [[Hillary Rodham Clinton]]}}
= 는 Hillary Rodham Clinton을 반환하여 정보 상자가 Wikidata에 저장된 값이 아닌 로컬 값을 사용하도록 허용합니다.
인포박스 템플릿 예제
인포박스 정의 안에서는 다음과 같이 부를 수 있습니다.
data55 = {{#invoke:Wikidata getValue P26 {{{spouse FETCH_WIKIDATA}}} }}
이로 인해 인포박스는 다음을 수행하게 됩니다.
- infobox 매개변수인 경우 배우자를 표시하지 않음
spouse
공백으로 설정됩니다( 로 설정됨)." spouse ="
) - infobox 매개 변수인 경우 Wikidata에서 링크된 값 표시
spouse
제공되지 않음 - 로컬 정보 상자 매개 변수 표시
spouse
공급되는 경우(예:" spouse = Hillary Rodham Clinton"
)
선택적으로 다음과 같이 부를 수 있습니다.
data55 = {{#invoke:Wikidata getValue P26 {{{spouse }}} }}
이로 인해 인포박스는 다음을 수행하게 됩니다.
- infobox 매개변수인 경우 배우자를 표시하지 않음
spouse
공백으로 설정됩니다( 로 설정됨)." spouse ="
} - infobox 매개변수인 경우 배우자를 표시하지 않음
spouse
제공되지 않음 - 로컬 정보 상자 매개 변수 표시
spouse
공급되는 경우(예:" spouse = Hillary Rodham Clinton"
) - 인포박스 매개변수가 로컬로 FETCH_WIKIDATA로 설정된 경우 Wikidata에서 링크된 값을 표시합니다.
모듈 참조:위키데이터항목별로 필드가 블랙리스트에 표시되지 않도록 허용하는 수정을 위한 IB.또한 편집자가 로컬 매개변수를 제공할 때 Wikidata에서 자동으로 가져올 필드를 기사별로 지정할 수 있습니다. 기본값은 none이며, 기사에서 기능이 활성화될 때까지 infobox를 사용하여 기사의 변경 없이 Wikidata를 허용하도록 infobox를 수정할 수 있습니다.
예: 생가
이는 위의 통화와 동일한 방식으로 작동합니다.
{{#invoke:Wikidata getValue P19 }}
= 아무것도 반환하지 않으므로 정보 상자에 생년월일이 표시되지 않습니다.{{#invoke:Wikidata getValue P19 FETCH_WIKIDATA}}
= 해당 기사에 대한 위키데이터에 저장된 속성 P19(출생지)의 연결 값을 반환합니다(예: 기사 빌 클린턴의 경우 아칸소주 호프를 반환함).{{#invoke:Wikidata getValue P19 [[Hope, Arkansas Hope]]}}
= 희망을 반환하여 정보 상자에서 Wikidata에 저장된 값이 아닌 로컬 값을 사용할 수 있습니다.
예:성별
반환된 값이 연결되는 것을 원하지 않으므로 다음을 사용합니다.
- -
{{#invoke:Wikidata getRawValue P21 FETCH_WIKIDATA}}
예:생년월일
생년월일을 dmy 형식으로 원하는 경우 다음을 사용합니다.
- -
{{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATA dmy}}
생년월일을 mdy 형식으로 원하는 경우 다음을 사용합니다.
- -
{{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATA mdy}}
출생 연도를 원하는 경우 다음을 사용합니다.
- -
{{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATA y}}
BC일 수도 있지만 "BCE"라고 써야 하는 출생 연도를 원한다면 다음을 사용합니다.
- -
{{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATA y BCE}}
예: Wikidata 항목으로 링크하기
Q-ID를 검색하려면 다음 코드를 사용합니다.
- -
{{#invoke:Wikidata pageId}}
위키데이터에 대한 링크는 일반적인 위키 마크업(Wiki Markup:
- -
[[d:{{#invoke:Wikidata pageId}} Name of Link]]
예: 다른 위키 페이지로 링크
이와 같은 코드를 사용하여 다른 위키에 연결합니다.예제의 영어 Wikivoyage:
- -
[[voy:{{#invoke:Wikidata getSiteLink enwikivoyage}} Name of Link]]
테스트
배우자검사
다음을 아무 기사에나 복사하여 붙여넣고 미리 봅니다(저장하지 말아주세요!).
* -{#invoke:Wikidata getValue P26}}* - {{#invoke:Wikidata getValue P26 FETCH_WIKIDATA}* - {{#invoke:Wikidata get Value P26 [Hillary Rodham Clinton]}
빌 클린턴에서 당신은 다음과 같은 것을 얻어야 합니다.
- -
- - 힐러리 클린턴
- - 힐러리 로댐 클린턴
버락 오바마에서 당신은 다음과 같은 것을 얻어야 합니다.
- -
- - 미셸 오바마
- - 힐러리 로댐 클린턴
Richard Burton에서는 다음을 얻을 수 있습니다.
프란츠 카프카에서는 다음을 얻을 수 있습니다.
- -
- -
- - 힐러리 로댐 클린턴
시험생가
다음을 아무 기사에나 복사하여 붙여넣고 미리 봅니다(저장하지 말아주세요!).
* -{#invoke:Wikidata getValue P19}}* - {{#invoke:Wikidata getValue P19 FETCH_WIKIDATA}* - {{#invoke:Wikidata getValue P19 [Newport]}
William Elery를 시도해 보고 Wikidata 호출이 명확하지 않은지 확인합니다.
getValue, getRawValue 및 getDateValue 테스트
다음을 아무 기사에나 복사하여 붙여넣고 미리 봅니다(저장하지 말아주세요!).
* -{#invoke:Wikidata getValue P19 FETCH_WIKIDATA}* - {{#invoke:Wikidata getValue P26 FETCH_WIKIDATA}* - {{#invoke:Wikidata getValue P27 FETCH_WIKIDATA}* - {{#invoke:Wikidata getValue P140 FETCH_WIKIDATA}* - {{#invoke:위키데이터 getRawValue P21 FETCH_WIKIDATA}* - {{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATA dmy} * - {{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATAmdy}* - {{#invoke:Wikidata getDateValue P569 FETCH_WIKIDatay}
이렇게 하면 출생지, 배우자, 시민권, 종교, 성별, 생년월일(2회) 및 생년월일에 대한 Wikidata 값이 반환됩니다.도브는 먼저 dmy 형식이고 mdy 형식입니다.
시험일자 BC/BCE
다음 내용을 복사하여 Horace #참조 및 미리보기와 같은 기사의 짧은 섹션에 붙여넣습니다(저장하지 말아주세요!).
* -{#invoke:Wikidata getDateValue P569 FETCH_WIKIDatay}* - {{#invoke:Wikidata getDateValue P569 FETCH_WIKIData y BCE}
이것은 각각 기원전 65년과 기원전 65년을 반환해야 합니다.
참고 항목
- 모듈: Wikidata정보 상자에서 Wikidata를 처리하기 위한 IB
-- vim: noexpand 탭 ft=luats=4 sw=4 설정: 요구하다('strict') 현지의 p = {} 현지의 디버그하다 = 거짓의 ------------------------------------------------------------------------------ -- 모듈 로컬 변수 및 함수 현지의 위키 = { 랭코드 = mw.언어.getContentLanguage().코드를 } -- 국제화 현지의 i18n = { [errors] = { ["property를 찾을 수 없음"] = "속성을 찾을 수 없습니다.", ["entity를 찾을 수 없음"] = "Wikidata 개체를 찾을 수 없습니다.", ["unknown-claim형"] = "알 수 없는 클레임 유형", ["unknown-entity형"] = "알 수 없는 엔터티 유형"입니다., ["qualifier를 찾을 수 없음"] = "적격자를 찾을 수 없습니다.", ["사이트를 찾을 수 없음"] = "Wikimedia 프로젝트를 찾을 수 없습니다.", ["unknown-날짜-시간 형식] = "알 수 없는 날짜 시간 형식입니다.", ["로컬 기사를 찾을 수 없음"] = "이 위키에는 아직 기사가 없습니다." }, ["날짜 시간"] = { -- $1은 실제 숫자의 자리 표시자입니다. [0] = "10억년", -- 정밀도 : 10억년 [1] = "1억년", -- 정밀도 : 억년 [2] = "천만년", -- 정밀도 : 천만 년 [3] = "100만년", -- 정밀도 : 백만 년 [4] = "100,000년", -- 정밀도 : 십만년 [5] = "10,000년", -- 정밀도 : 만년 [6] = "100만 달러", -- 정밀도 : 밀레니엄 [7] = $1 century, -- 정밀도 : 세기 [8] = "$1s", -- 정밀도 : decade -- 다음은 #time parser 함수의 형식을 사용합니다. [9] = "Y", -- 정밀도: 연도, [10] = "FY", -- 정밀도 : 월 [11] = "FJ,Y", -- 정밀도 : 일 [12] = FJ,Yga, -- 정밀도 : 시간 [13] = "FJ, Yg:ia", -- 정밀도 : 분 [14] = "Fj, Yg:i:sa", -- 정밀도: 초 ["지금 전에"] = "$1 BCE", -- 0에서 5까지의 정밀도에 대한 음수의 형식을 지정하는 방법 ["지금부터"] = "$1 CE", -- 정확도 0에서 5까지의 양수를 포맷하는 방법 ["bc"] = $1 "BCE", -- 마이너스 연도를 인쇄하는 방법 ["광고"] = "$1", -- 양년을 인쇄하는 방법 -- 다음은 함수 getDateValue() 및 getQualifierDateValue()에 대한 것입니다. ["기본 형식"] = "dmy", -- #3(getDateValue)의 기본값 또는 -- #4 (getQualifierDateValue) 인수 ["기본 추가 기능"] = "BC", -- #4의 기본값(getDateValue) 또는 -- #5 (getQualifierDateValue) 인수 ["prefix애던"] = 거짓의, -- 언어에 대해 true로 설정하고 "BC"를 앞에 놓습니다. -- datetime 문자열. 그렇지 않으면 addon에 접미사가 붙습니다. ["sep 추가"] = " ", -- datetime 문자열과 addon(또는 역) 사이의 구분자 ["형식"] = -- 세 번째 논법의 선택 사항 { ["mdy"] = "FJ,Y", ["나의"] = "FY", ["y"] = "Y", ["dmy"] = "j FY", ["ymd"] = "Y-m-d", ["ym"] = "Y-m" } }, ["단일어 텍스트"] = '<span lang="%language">%text</span>', [워덤프] = "[카테고리:모듈 Wikidata]]에서 함수 'Dump' 호출", ["보통의"] = { [1] = "st", [2] = "nd", [3] = "rd", ["기본값"] = "th" } } 한다면 위키.랭코드 ~= en 그리고나서 --require("Module:i18n").load I18n("Module:Wikidata/i18n", i18n) -- [[:w:]에서 아이디어를 얻었습니다.모듈:Wd]] 현지의 모듈_; 한다면 ... == 0의 그리고나서 모듈_ = mw.getCurrentFrame():칭호를 얻다() 또 다른 모듈_ = ... 끝. 요구하다('모듈:i18n').load I18n(모듈_..'/i18n', i18n) 끝. -- 이 기능은 다음 사항과 함께 국제화되어야 합니다. -- 기수를 숫자로 사용하고 기수를 문자열로 반환합니다. -- 1등, 2등, 3등, 21등, 31등 3가지 예외가 필요합니다. 현지의 기능. 서수를 만들다 (기수의) 현지의 서픽스 = i18n.서수의.체납 한다면 기수의 % 10 == 1 그리고나서 서픽스 = i18n.서수의[1] 그 외의 경우에는 기수의 % 10 == 2 그리고나서 서픽스 = i18n.서수의[2] 그 외의 경우에는 기수의 % 10 == 3 그리고나서 서픽스 = i18n.서수의[3] 끝. -- 영어에서 1, 21, 31 등은 'st'를 사용하지만 11, 111 등은 'th'를 사용합니다. -- 12, 13 등에 대해서도 마찬가지입니다. 한다면 (기수의 % 100 == 11) 아니면 (기수의 % 100 == 12) 아니면 (기수의 % 100 == 13) 그리고나서 서픽스 = i18n.서수의.체납 끝. 돌아가다 끈을 매다(기수의) .. 서픽스 끝. 현지의 기능. 인쇄 오류(코드를) 돌아가다 '<span class="error">' .. (i18n.오류들[코드를] 아니면 코드를) .. '/span>' 끝. 현지의 기능. parseDateFormat(f, 타임스탬프, 추가로, 접두사_addon, 덧셈_) 현지의 년_ 현지의 tstr = "" 현지의 lang_obj = mw.언어.신규(위키.랭코드) 현지의 f_부품 = mw.본문.분열되다(f, 'Y', 진실의) 위해서 idx, f_파트 인에 쌍들(f_부품) 하다 년_ = '' 한다면 문자열.성냥(f_파트, "x[마이콧]$") 그리고나서 -- 그레고리력이 아닌 해에 f_파트 = f_파트 .. 'Y' 그 외의 경우에는 idx < #f_부품 그리고나서 -- 연도의 선두 0을 억제합니다. 년_ = lang_obj:형식날짜('Y', 타임스탬프) 년_ = string.gsub(년_, '^0+', '', 1) 끝. tstr = tstr .. lang_obj:형식날짜(f_파트, 타임스탬프) .. 년_ 끝. 한다면 추가로 ~= "" 그리고. 접두사_addon 그리고나서 돌아가다 추가로 .. 덧셈_ .. tstr 그 외의 경우에는 추가로 ~= "" 그리고나서 돌아가다 tstr .. 덧셈_ .. 추가로 또 다른 돌아가다 tstr 끝. 끝. 현지의 기능. parseDateValue(타임스탬프, date_format, date_addon) 현지의 접두사_addon = i18n["날짜 시간"]["prefix애던"] 현지의 덧셈_ = i18n["날짜 시간"]["sep 추가"] 현지의 추가로 = "" -- 마이너스 날짜를 확인합니다. 한다면 문자열.서브(타임스탬프, 1, 1) == '-' 그리고나서 타임스탬프 = '+' .. 문자열.서브(타임스탬프, 2) 추가로 = date_addon 끝. 현지의 _date_format = i18n["날짜 시간"]["형식"][date_format] 한다면 _date_format ~= 0의 그리고나서 돌아가다 parseDateFormat(_date_format, 타임스탬프, 추가로, 접두사_addon, 덧셈_) 또 다른 돌아가다 인쇄 오류("unknown-날짜-시간 형식) 끝. 끝. -- 이 로컬 기능은 parseDateValue{}의 연도/월/일/BCE 처리를 결합합니다. -- 형식을 천 년/세기/십 년 동안 취급한 날짜()와 함께. 현지의 기능. parseDateFull(타임스탬프, 정확, date_format, date_addon) 현지의 접두사_addon = i18n["날짜 시간"]["prefix애던"] 현지의 덧셈_ = i18n["날짜 시간"]["sep 추가"] 현지의 추가로 = "" -- 마이너스 날짜를 확인합니다. 한다면 문자열.서브(타임스탬프, 1, 1) == '-' 그리고나서 타임스탬프 = '+' .. 문자열.서브(타임스탬프, 2) 추가로 = date_addon 끝. -- + 뒤에 다음 4자를 얻습니다(모든 경우에 지금이 되어야 함). -- 그래요, 그럼 이건 더럽지만 일단 작동부터 시키죠 현지의 년중에 = 수적으로(문자열.서브(타임스탬프, 2, 5)) 한다면 년중에 == 0 그리고. 정확 <= 9 그리고나서 돌아가다 "" 끝. -- 정밀도는 10000년 또는 그 이상입니다. 한다면 정확 <= 5 그리고나서 현지의 요소를 = 10 ^ ((5 - 정확) + 4) 현지의 y2 = 수학.(수학.abs(년중에) / 요소를) 현지의 관련있는 = mw.utstring.gsub(i18n.날짜 시간[정확], "$1", 끈을 매다(y2)) 한다면 추가로 ~= "" 그리고나서 -- 마이너스 날짜 관련있는 = mw.utstring.gsub(i18n.날짜 시간.지금 전에, "$1", 관련있는) 또 다른 관련있는 = mw.utstring.gsub(i18n.날짜 시간.후에, "$1", 관련있는) 끝. 돌아가다 관련있는 끝. -- 정밀도는 수십 년 (8), 세기 (7) 및 천년 (6) 현지의 시대를, 카드를 한다면 정확 == 6 그리고나서 카드를 = 수학.바닥((년중에 - 1) / 1000) + 1 시대를 = mw.utstring.gsub(i18n.날짜 시간[6], "$1", 서수를 만들다(카드를)) 끝. 한다면 정확 == 7 그리고나서 카드를 = 수학.바닥((년중에 - 1) / 100) + 1 시대를 = mw.utstring.gsub(i18n.날짜 시간[7], "$1", 서수를 만들다(카드를)) 끝. 한다면 정확 == 8 그리고나서 시대를 = mw.utstring.gsub(i18n.날짜 시간[8], "$1", 끈을 매다(수학.바닥(수학.abs(년중에) / 10) * 10)) 끝. 한다면 시대를 그리고나서 한다면 추가로 ~= "" 그리고나서 시대를 = mw.utstring.gsub(mw.utstring.gsub(i18n.날짜 시간.bc, '"', ""), "$1", 시대를) 또 다른 시대를 = mw.utstring.gsub(mw.utstring.gsub(i18n.날짜 시간.광고를, '"', ""), "$1", 시대를) 끝. 돌아가다 시대를 끝. 현지의 _date_format = i18n["날짜 시간"]["형식"][date_format] 한다면 _date_format ~= 0의 그리고나서 -- 정밀도가 연도인지 확인하고 제공된 date_format을 재정의합니다. 한다면 정확 == 9 그리고나서 _date_format = i18n["날짜 시간"][9] 끝. 돌아가다 parseDateFormat(_date_format, 타임스탬프, 추가로, 접두사_addon, 덧셈_) 또 다른 돌아가다 인쇄 오류("unknown-날짜-시간 형식) 끝. 끝. -- "예선"과 "스낵" 필드는 각각의 "예선-순서"와 "스낵-순서" 필드를 갖습니다. -- 이것들을 두번째 매개변수로 사용하고 내장된 "pairs" 함수 대신에 이 함수를 사용합니다. -- 모든 예선전을 반복하고 의도된 순서대로 스니크를 합니다. 현지의 기능. 질서정연한 짝(배열하다, 주문) 한다면 것은 아니다. 주문 그리고나서 돌아가다 쌍들(배열하다) 끝. -- 반환 반복기 함수 현지의 i = 0 돌아가다 기능.() i = i + 1 한다면 주문[i] 그리고나서 돌아가다 주문[i], 배열하다[주문[i]] 끝. 끝. 끝. -- 정밀도: 0 - 억 년, 1 - 억 년, ..., 6 - 천년, 7 세기, 8 - 10 년, 9 년, 10 월, 11 일, 12 시간, 13 분, 14 초 현지의 기능. 정규화날짜(날짜.) 날짜. = mw.본문.다듬다(날짜., "+") -- 추출년도 현지의 years str = mw.utstring.경기(날짜., "^\-?%d+") 현지의 연도 = 수적으로(years str) -- 연도의 선행 0을 제거합니다. 돌아가다 연도 .. mw.utstring.후보선수(날짜., #years str + 1), 연도 끝. 현지의 기능. 형식날짜(날짜., 정확, 시간대) 정확 = 정확 아니면 11 현지의 날짜., 연도 = 정규화날짜(날짜.) 한다면 연도 == 0 그리고. 정확 <= 9 그리고나서 돌아가다 "" 끝. -- 정밀도는 10000년 또는 그 이상입니다. 한다면 정확 <= 5 그리고나서 현지의 요소를 = 10 ^ ((5 - 정확) + 4) 현지의 y2 = 수학.(수학.abs(연도) / 요소를) 현지의 관련있는 = mw.utstring.gsub(i18n.날짜 시간[정확], "$1", 끈을 매다(y2)) 한다면 연도 < 0 그리고나서 관련있는 = mw.utstring.gsub(i18n.날짜 시간.지금 전에, "$1", 관련있는) 또 다른 관련있는 = mw.utstring.gsub(i18n.날짜 시간.후에, "$1", 관련있는) 끝. 돌아가다 관련있는 끝. -- 정밀도는 수 십년, 수 세기 그리고 수 천년입니다. 현지의 시대를 한다면 정확 == 6 그리고나서 시대를 = mw.utstring.gsub(i18n.날짜 시간[6], "$1", 끈을 매다(수학.바닥((수학.abs(연도) - 1) / 1000) + 1)) 끝. 한다면 정확 == 7 그리고나서 시대를 = mw.utstring.gsub(i18n.날짜 시간[7], "$1", 끈을 매다(수학.바닥((수학.abs(연도) - 1) / 100) + 1)) 끝. 한다면 정확 == 8 그리고나서 시대를 = mw.utstring.gsub(i18n.날짜 시간[8], "$1", 끈을 매다(수학.바닥(수학.abs(연도) / 10) * 10)) 끝. 한다면 시대를 그리고나서 한다면 연도 < 0 그리고나서 시대를 = mw.utstring.gsub(mw.utstring.gsub(i18n.날짜 시간.bc, '"', ""), "$1", 시대를) 그 외의 경우에는 연도 > 0 그리고나서 시대를 = mw.utstring.gsub(mw.utstring.gsub(i18n.날짜 시간.광고를, '"', ""), "$1", 시대를) 끝. 돌아가다 시대를 끝. -- 정밀도는 년입니다. 한다면 정확 == 9 그리고나서 돌아가다 연도 끝. -- 정밀도가 연보다 작습니다. 한다면 정확 > 9 그리고나서 --[[ 다음 코드는 UTC 접미사를 주어진 부정된 시간대로 바꾸어 전역 시간을 주어진 현지 시간으로 변환합니다. 시간대 = to number(시간대) 시간대 및 시간대 ~= 0인 경우 시간대 = -시간대 시간대 = 문자열입니다.형식은 ("%.2d%.2d), 표준 시간대 / 60, 표준 시간대 % 60)입니다. timezone[1] ~= '-'인 경우, timezone = "+" ... timezone end date = mw.text. trim(date, "Z")..." " .. 시간대 끝. ]]-- 현지의 포맷스트r = i18n.날짜 시간[정확] 한다면 연도 == 0 그리고나서 포맷스트r = mw.utstring.gsub(포맷스트r, i18n.날짜 시간[9], "") 그 외의 경우에는 연도 < 0 그리고나서 -- Mediawiki 형식Date가 마이너스 연도를 지원하지 않습니다. 날짜. = mw.utstring.후보선수(날짜., 2) 포맷스트r = mw.utstring.gsub(포맷스트r, i18n.날짜 시간[9], mw.utstring.gsub(i18n.날짜 시간.bc, "$1", i18n.날짜 시간[9])) 그 외의 경우에는 연도 > 0 그리고. i18n.날짜 시간.광고를 ~= "$1" 그리고나서 포맷스트r = mw.utstring.gsub(포맷스트r, i18n.날짜 시간[9], mw.utstring.gsub(i18n.날짜 시간.광고를, "$1", i18n.날짜 시간[9])) 끝. 돌아가다 mw.언어.신규(위키.랭코드):형식날짜(포맷스트r, 날짜.) 끝. 끝. 현지의 기능. printDatavalueEntity(데이터., 매개변수) -- 데이터 필드: 엔티티 유형 [문자열], 숫자-id [int, Wikidata id] 현지의 이드 한다면 데이터.["entity형"] == "항목" 그리고나서 이드 = "Q" .. 데이터.["numeric-id"] 그 외의 경우에는 데이터.["entity형"] == property 그리고나서 이드 = "P" .. 데이터.["numeric-id"] 또 다른 돌아가다 인쇄 오류("unknown-entity형") 끝. 한다면 매개변수 그리고나서 한다면 매개변수 == "링크" 그리고나서 현지의 linkTarget = mw.위키베이스.getSitelink(이드) 현지의 linkName = mw.위키베이스.getLabel(이드) 한다면 linkTarget 그리고나서 -- 라벨 또는 기사 제목을 사용하여 로컬 위키백과 기사 링크가 있는 경우 돌아가다 "[[" .. linkTarget .. " " .. (linkName 아니면 linkTarget) .. "]]" 또 다른 -- 로컬 위키백과 기사가 없는 경우 사용자가 적절한 레이블을 입력할 수 있도록 위키데이터 객체에 대한 레이블 또는 링크를 출력합니다. 한다면 linkName 그리고나서 돌아가다 linkName 또 다른 돌아가다 "[:d:" .. 이드 .. " " .. 이드 .. "]]" 끝. 끝. 또 다른 돌아가다 데이터.[매개변수] 끝. 또 다른 돌아가다 mw.위키베이스.getLabel(이드) 아니면 이드 끝. 끝. 현지의 기능. 인쇄데이터 값시간(데이터., 매개변수) -- 데이터 필드: 시간 [ISO 8601 시간], 시간대 [분 단위], 이전 [int], 이후 [int], 정밀도 [int], 일정관리 모델 [wikidata URI] -- 정밀도: 0 - 억 년, 1 - 억 년, ..., 6 - 천년, 7 세기, 8 - 10 년, 9 년, 10 월, 11 일, 12 시간, 13 분, 14 초 -- 달력 모델: 예: 프롤레틱 그레고리안 달력의 경우 http://www.wikidata.org/entity/Q1985727 또는 율리우스력의 경우 http://www.wikidata.org/wiki/Q11184 ] 한다면 매개변수 그리고나서 한다면 매개변수 == "calend기 모델" 그리고나서 데이터..달력 모델 = mw.utstring.경기(데이터..달력 모델, "Q%d+") -- 캘린더 모델 URI에서 엔티티 ID 추출 그 외의 경우에는 매개변수 == "시간" 그리고나서 데이터..시간을 = 정규화날짜(데이터..시간을) 끝. 돌아가다 데이터.[매개변수] 또 다른 돌아가다 형식날짜(데이터..시간을, 데이터..정확, 데이터..시간대) 끝. 끝. 현지의 기능. printDatavalue단일어 텍스트(데이터., 매개변수) -- 데이터 필드: 언어 [문자열], 텍스트 [문자열] 한다면 매개변수 그리고나서 돌아가다 데이터.[매개변수] 또 다른 현지의 결과 = mw.utstring.gsub(mw.utstring.gsub(i18n.단일 언어 텍스트, "%% language", 데이터.["언어"]), "%% 텍스트", 데이터.["text"]) 돌아가다 결과 끝. 끝. 현지의 기능. 클레임 찾기(독립체, 소유물) 한다면 것은 아니다. 소유물 아니면 것은 아니다. 독립체 아니면 것은 아니다. 독립체.주장하다 그리고나서 돌아가다 끝. 한다면 mw.utstring.경기(소유물, "^P%d+$") 그리고나서 -- ID(P...)로 속성이 지정된 경우 이 ID로 클레임 목록에 액세스합니다. 돌아가다 독립체.주장하다[소유물] 또 다른 소유물 = mw.위키베이스.resolvePropertyId(소유물) 한다면 것은 아니다. 소유물 그리고나서 돌아가다 끝. 돌아가다 독립체.주장하다[소유물] 끝. 끝. 현지의 기능. 스내크 값을 가져옵니다.(잽싸게, 매개변수) 한다면 잽싸게.스네이크 타입 == "가치" 그리고나서 -- 해당 스네이크 파서를 호출합니다. 한다면 잽싸게.데이터 값.유형 == "스트링" 그리고나서 돌아가다 잽싸게.데이터 값.가치 그 외의 경우에는 잽싸게.데이터 값.유형 == "글로브 좌표" 그리고나서 돌아가다 인쇄 데이터 값좌표(잽싸게.데이터 값.가치, 매개변수) 그 외의 경우에는 잽싸게.데이터 값.유형 == quantity 그리고나서 돌아가다 인쇄 데이터 값수량(잽싸게.데이터 값.가치, 매개변수) 그 외의 경우에는 잽싸게.데이터 값.유형 == "시간" 그리고나서 돌아가다 인쇄데이터 값시간(잽싸게.데이터 값.가치, 매개변수) 그 외의 경우에는 잽싸게.데이터 값.유형 == "wikibase- entityid" 그리고나서 돌아가다 printDatavalueEntity(잽싸게.데이터 값.가치, 매개변수) 그 외의 경우에는 잽싸게.데이터 값.유형 == "단일어 텍스트" 그리고나서 돌아가다 printDatavalue단일어 텍스트(잽싸게.데이터 값.가치, 매개변수) 끝. 끝. 돌아가다 mw.위키베이스.스낙을 렌더하다(잽싸게) 끝. 현지의 기능. getQualifierSnak(주장하다, 예선전이드) -- "snak"는 타이핑된 키/값 쌍에 대한 위키데이터 용어입니다. -- 클레임은 이 클레임의 주요 정보를 보유한 메인 스낵으로 구성되어 있고, -- 속성 스네이크 목록과 참조 스네이크 목록 뿐만 아니라 한다면 예선전이드 그리고나서 -- 지정된 한정자를 키로 사용하여 속성 스내크 검색 한다면 주장하다.예선전 그리고나서 현지의 예선전 = 주장하다.예선전[예선전이드] 한다면 예선전 그리고나서 돌아가다 예선전[1] 끝. 끝. 돌아가다 0의, 인쇄 오류("qualifier를 찾을 수 없음") 또 다른 -- 그렇지 않으면 메인 스낵을 반환합니다. 돌아가다 주장하다.메인스네이크 끝. 끝. 현지의 기능. 클레임 값 가져오기(주장하다, 예선전이드, 매개변수) 현지의 오류를 현지의 잽싸게 잽싸게, 오류를 = getQualifierSnak(주장하다, 예선전이드) 한다면 잽싸게 그리고나서 돌아가다 스내크 값을 가져옵니다.(잽싸게, 매개변수) 또 다른 돌아가다 0의, 오류를 끝. 끝. 현지의 기능. 레퍼런스 받기(틀, 주장하다) 현지의 결과 = "" -- 모든 참고 문헌을 두루 조사합니다. 위해서 ref 인에 쌍들(주장하다.참고문헌 아니면 {}) 하다 현지의 레파츠 -- 현재 참조의 모든 부분을 횡단합니다. 위해서 스네키, 스네이크발 인에 질서정연한 짝(주장하다.참고문헌[ref].스네이크 아니면 {}, 주장하다.참고문헌[ref]["snak-order"]) 하다 한다면 레파츠 그리고나서 레파츠 = 레파츠 .. ", " 또 다른 레파츠 = "" 끝. -- P143에 대해 "imported from"과 같은 참조 부품의 속성 라벨을 출력합니다. 레파츠 = 레파츠 .. 끈을 매다(mw.위키베이스.getLabel(스네키)) .. ": " -- 두 사이트에서 참조된 주장을 가져온 경우 이 참조 부분의 모든 값을 출력합니다. 예를 들어 "독일어 위키백과"와 "영어 위키백과" 위해서 스나이키덱스 = 1, #스네이크발 하다 한다면 스나이키덱스 > 1 그리고나서 레파츠 = 레파츠 .. ", " 끝. 레파츠 = 레파츠 .. 스내크 값을 가져옵니다.(스네이크발[스나이키덱스]) 끝. 끝. 한다면 레파츠 그리고나서 결과 = 결과 .. 틀:확장 태그("ref", 레파츠) 끝. 끝. 돌아가다 결과 끝. 현지의 기능. 구문 분석 입력(틀) 현지의 qid = 틀.아그스.qid 한다면 qid 그리고. (#qid == 0) 그리고나서 qid = 0의 끝. 현지의 속성ID = mw.본문.다듬다(틀.아그스[1] 아니면 "") 현지의 입력_팜 = mw.본문.다듬다(틀.아그스[2] 아니면 "") 한다면 입력_팜 ~= "FETCH_WIKIDATA" 그리고나서 돌아가다 거짓의, 입력_팜, 0의, 0의 끝. 현지의 독립체 = mw.위키베이스.getEntity(qid) 현지의 주장하다 한다면 독립체 그리고. 독립체.주장하다 그리고나서 주장하다 = 독립체.주장하다[속성ID] 한다면 것은 아니다. 주장하다 그리고나서 돌아가다 거짓의, "", 0의, 0의 끝. 또 다른 돌아가다 거짓의, "", 0의, 0의 끝. 돌아가다 진실의, 독립체, 주장하다, 속성ID 끝. 현지의 기능. is타입(주장하다, 유형) 돌아가다 주장하다[1] 그리고. 주장하다[1].메인스네이크.스네이크 타입 == "가치" 그리고. 주장하다[1].메인스네이크.데이터 값.유형 == 유형 끝. 현지의 기능. getValue(독립체, 주장하다, 속성ID, 구분을 짓다, 라벨 후크) 한다면 라벨 후크 == 0의 그리고나서 라벨 후크 = 기능. (q수) 돌아가다 0의; 끝. 끝. 한다면 is타입(주장하다, "wikibase- entityid") 그리고나서 현지의 나가. = {} 위해서 k, v 인에 쌍들(주장하다) 하다 현지의 q수 = "Q" .. v.메인스네이크.데이터 값.가치["numeric-id"] 현지의 부지 링크 = mw.위키베이스.getSitelink(q수) 현지의 라벨. = 라벨 후크(q수) 아니면 mw.위키베이스.getLabel(q수) 아니면 q수 한다면 부지 링크 그리고나서 나가.[#나가. + 1] = "[[" .. 부지 링크 .. " " .. 라벨. .. "]]" 또 다른 나가.[#나가. + 1] = "[:d:" .. q수 .. " " .. 라벨. .. "]<abbr title='" .. i18n[errors]["로컬 기사를 찾을 수 없음"] .. "">[*]//abbr>" 끝. 끝. 돌아가다 테이블.콘캣(나가., 구분을 짓다) 또 다른 -- 최상의 값만 반환합니다. 돌아가다 독립체:formatPropertyValues(속성ID).가치 끝. 끝. ------------------------------------------------------------------------------ -- 모듈 전역 함수 한다면 디버그하다 그리고나서 기능. p.I18n을 조사(틀) 현지의 발의 = i18n 위해서 _, 열쇠 인에 쌍들(틀.아그스) 하다 열쇠 = mw.본문.다듬다(열쇠) 발의 = 발의[열쇠] 끝. 돌아가다 발의 끝. 끝. 기능. p.묘사인(틀) 현지의 랭코드 = 틀.아그스[1] 현지의 이드 = 틀.아그스[2] -- 지정된 언어 또는 이 위키백과 사이트의 기본 언어로 된 위키데이터 개체에 대한 설명을 반환합니다. 돌아가다 mw.위키베이스.getEntity(이드):getDescription(랭코드 아니면 위키.랭코드) 끝. 기능. p.라벨인(틀) 현지의 랭코드 = 틀.아그스[1] 현지의 이드 = 틀.아그스[2] -- 지정된 언어 또는 이 위키백과 사이트의 기본 언어로 된 위키데이터 개체의 반환 레이블 돌아가다 mw.위키베이스.getEntity(이드):getLabel(랭코드 아니면 위키.랭코드) 끝. -- 값을 가져오거나 값이 여러 개 존재할 경우 쉼표로 구분된 목록을 가져오는 데 사용됩니다. p.getValue = 기능.(틀) 현지의 구분 기본값 = ", " -- **나중에 국제화** 현지의 구분을 짓다 = 틀.아그스.구분 기호 아니면 "" 구분을 짓다 = string.gsub(구분을 짓다, '"', '') 한다면 #구분을 짓다 == 0 그리고나서 구분을 짓다 = 구분 기본값 끝. 현지의 가세요, errorOrentity, 주장하다, 속성ID = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 돌아가다 getValue(errorOrentity, 주장하다, 속성ID, 구분을 짓다) 끝. -- 위와 동일하지만 사용 가능한 경우 레이블에 짧은 이름 속성을 사용합니다. p.getValueShortName = 기능.(틀) 현지의 가세요, errorOrentity, 주장하다, 속성ID = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity -- wiki-linked value 출력이 가능한 경우. 현지의 기능. 라벨 후크 (q수) 현지의 라벨. 현지의 클레임엔티 = mw.위키베이스.getEntity(q수) 한다면 클레임엔티 ~= 0의 그리고나서 한다면 클레임엔티.주장하다.P1813 그리고나서 위해서 k2, v2 인에 쌍들(클레임엔티.주장하다.P1813) 하다 한다면 v2.메인스네이크.데이터 값.가치.언어 == en 그리고나서 라벨. = v2.메인스네이크.데이터 값.가치.본문 끝. 끝. 끝. 끝. 한다면 라벨. == 0의 아니면 라벨. == "" 그리고나서 돌아가다 0의 끝. 돌아가다 라벨. 끝. 돌아가다 getValue(errorOrentity, 주장하다, 속성ID, ", ", 라벨 후크); 끝. -- 값을 가져오거나 값이 여러 개 존재할 경우 쉼표로 구분된 목록을 가져오는 데 사용됩니다. -- QID를 사용한 임의의 엔트리로부터. -- 사용: {{#invoke:Wikidata get Value From아이디 <ID> <속성> FETCH_WIKIDATA}} -- 예:{{#invoke:Wikidata get Value FromID Q151973 P26 FETCH_WIKIDATA} - 'Richard Burton'(Q151973)에서 '배우자'(P26) 값을 가져옵니다. -- *비싼 통화입니다*. 사용을 아껴주세요. p.ID에서 값 가져오기 = 기능.(틀) 현지의 품명ID = mw.본문.다듬다(틀.아그스[1] 아니면 "") 현지의 속성ID = mw.본문.다듬다(틀.아그스[2] 아니면 "") 현지의 입력_팜 = mw.본문.다듬다(틀.아그스[3] 아니면 "") 한다면 입력_팜 == "FETCH_WIKIDATA" 그리고나서 현지의 독립체 = mw.위키베이스.getEntity(품명ID) 현지의 주장하다 한다면 독립체 그리고. 독립체.주장하다 그리고나서 주장하다 = 독립체.주장하다[속성ID] 끝. 한다면 주장하다 그리고나서 돌아가다 getValue(독립체, 주장하다, 속성ID, ", ") 또 다른 돌아가다 "" 끝. 또 다른 돌아가다 입력_팜 끝. 끝. 현지의 기능. getQualifier(틀, 출력 후크) 현지의 속성ID = mw.본문.다듬다(틀.아그스[1] 아니면 "") 현지의 한정자 ID = mw.본문.다듬다(틀.아그스[2] 아니면 "") 현지의 입력_팜 = mw.본문.다듬다(틀.아그스[3] 아니면 "") 한다면 입력_팜 == "FETCH_WIKIDATA" 그리고나서 현지의 독립체 = mw.위키베이스.getEntity() 한다면 독립체.주장하다[속성ID] ~= 0의 그리고나서 현지의 나가. = {} 위해서 k, v 인에 쌍들(독립체.주장하다[속성ID]) 하다 위해서 k2, v2 인에 쌍들(v.예선전[한정자 ID]) 하다 한다면 v2.스네이크 타입 == '가치' 그리고나서 나가.[#나가. + 1] = 출력 후크(v2); 끝. 끝. 끝. 돌아가다 테이블.콘캣(나가., ", "), 진실의 또 다른 돌아가다 "", 거짓의 끝. 또 다른 돌아가다 입력_팜, 거짓의 끝. 끝. p.한정자 값 가져오기 = 기능.(틀) 현지의 기능. outputValue(가치) 현지의 q수 = "Q" .. 가치.데이터 값.가치["numeric-id"] 한다면 (mw.위키베이스.getSitelink(q수)) 그리고나서 돌아가다 "[[" .. mw.위키베이스.getSitelink(q수) .. "]]" 또 다른 돌아가다 "[:d:" .. q수 .. " " ..q수 .. "]<abbr title='" .. i18n[errors]["로컬 기사를 찾을 수 없음"] .. "">[*]//abbr>" 끝. 끝. 돌아가다 (getQualifier(틀, outputValue)) 끝. -- 이것은 연결되지 않는 '수'(속성 p21의 경우)와 천 개의 구분자가 없는 숫자와 같은 값을 얻기 위해 사용됩니다. p.원시 값 가져오기 = 기능.(틀) 현지의 가세요, errorOrentity, 주장하다, 속성ID = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity 현지의 결과 = 독립체:formatPropertyValues(속성ID, mw.위키베이스.독립체.클레임 랭크).가치 -- if number type: 천 개의 구분자, 경계 및 단위 제거 한다면 is타입(주장하다, quantity) 그리고나서 결과 = mw.utstring.gsub(결과, "(%d),(%d)", "%1%2") 결과 = mw.utstring.gsub(결과, "(%d)±.*", "%1") 끝. 돌아가다 결과 끝. -- getRawValue에서 반환되는 숫자 값의 단위 이름을 가져오는 데 사용됩니다. p.유닛을 얻다 = 기능.(틀) 현지의 가세요, errorOrentity, 주장하다, 속성ID = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity 현지의 결과 = 독립체:formatPropertyValues(속성ID, mw.위키베이스.독립체.클레임 랭크).가치 한다면 is타입(주장하다, quantity) 그리고나서 결과 = mw.utstring.후보선수(결과, mw.utstring.찾아내다(결과, " ")+1, -1) 끝. 돌아가다 결과 끝. -- getRawValue에서 반환된 숫자 값과 함께 사용할 장치의 QID를 가져오는 데 사용됩니다. p.유닛ID를 가져옵니다. = 기능.(틀) 현지의 가세요, errorOrentity, 주장하다 = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity 현지의 결과 한다면 is타입(주장하다, quantity) 그리고나서 -- Wikidata에서 장치 항목의 URL을 가져옵니다. 결과 = 주장하다[1].메인스네이크.데이터 값.가치.구성 단위 -- 마지막 비트를 "Q"에서 끝(QID)으로 반환하면 됩니다. 결과 = mw.utstring.후보선수(결과, mw.utstring.찾아내다(결과, "Q"), -1) 끝. 돌아가다 결과 끝. p.원시 한정자 값 가져오기 = 기능.(틀) 현지의 기능. 출력 후크(가치) 한다면 가치.데이터 값.가치["numeric-id"] 그리고나서 돌아가다 mw.위키베이스.getLabel("Q" .. 가치.데이터 값.가치["numeric-id"]) 또 다른 돌아가다 가치.데이터 값.가치 끝. 끝. 현지의 레트, gotData = getQualifier(틀, 출력 후크) 한다면 gotData 그리고나서 레트 = 끈.상단(문자열.서브(레트, 1, 1)) .. 문자열.서브(레트, 2) 끝. 돌아가다 레트 끝. -- 링크되지 않는 Date_of_birth(P569) 등의 날짜 값을 구하는 데 사용됩니다. -- 날짜와 시간은 ISO 8601 형식으로 저장됩니다. -- 현재 로컬 형식Date(날짜, 정밀도, 시간대) 함수가 시간대를 처리하지 않습니다. -- 그래서 저는 아래의 날짜를 포맷할 통화에서 "Z"를 입력하겠습니다. p.getDateValue = 기능.(틀) 현지의 date_format = mw.본문.다듬다(틀.아그스[3] 아니면 i18n["날짜 시간"]["기본 형식"]) 현지의 date_addon = mw.본문.다듬다(틀.아그스[4] 아니면 i18n["날짜 시간"]["기본 추가 기능"]) 현지의 가세요, errorOrentity, 주장하다 = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity 현지의 나가. = {} 위해서 k, v 인에 쌍들(주장하다) 하다 한다면 v.메인스네이크.데이터 값.유형 == '시간' 그리고나서 현지의 타임스탬프 = v.메인스네이크.데이터 값.가치.시간을 현지의 날짜 정확도 = v.메인스네이크.데이터 값.가치.정확 -- 1년은 이렇게 저장할 수 있습니다: "+1872-00-00T00:00:00Z", -- 여기서 마치 "+1872-01-01T00:00:00Z" 전날처럼 처리가 됩니다. -- 1871년의 마지막 날이니까 해가 틀렸습니다 -- 월 0, 일 0 타임스탬프를 대신 1 January로 수정합니다. 타임스탬프 = 타임스탬프:gsub("%-00%-00T", "-01-01T") 나가.[#나가. + 1] = parseDateFull(타임스탬프, 날짜 정확도, date_format, date_addon) 끝. 끝. 돌아가다 테이블.콘캣(나가., ", ") 끝. p.getQualifierDateValue = 기능.(틀) 현지의 date_format = mw.본문.다듬다(틀.아그스[4] 아니면 i18n["날짜 시간"]["기본 형식"]) 현지의 date_addon = mw.본문.다듬다(틀.아그스[5] 아니면 i18n["날짜 시간"]["기본 추가 기능"]) 현지의 기능. 출력 후크(가치) 현지의 타임스탬프 = 가치.데이터 값.가치.시간을 돌아가다 parseDateValue(타임스탬프, date_format, date_addon) 끝. 돌아가다 (getQualifier(틀, 출력 후크)) 끝. -- 이미지(P18), Gene Atlas Image(P692) 등 특정 속성을 가진 모든 이미지를 가져오는 데 사용됩니다. -- 매개 변수는 속성입니다.ID 값 / FETCH_WIKIDATA / nil 구분자 (default=space) 크기 (default=frameless) -- 표준 위키 마크업 [파일:크기 및 구분 기호(html일 수 있음)를 선택할 수 있는 각 이미지에 대한 파일 이름 크기] -- 예: {{# invoke:Wikidata getImages P18 FETCH_WIKIDATA} -- 예: {{# invoke:위키데이터 getImages P18 FETCH_WIKIDATA <br> 250px} -- commonsMedia 유형이 아닌 속성을 선택하면 빈 텍스트가 반환됩니다. p.이미지 가져오기 = 기능.(틀) 현지의 셉 = mw.본문.다듬다(틀.아그스[3] 아니면 " ") 현지의 엠지사이즈 = mw.본문.다듬다(틀.아그스[4] 아니면 "테두리 없는") 현지의 가세요, errorOrentity, 주장하다 = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity 한다면 (주장하다[1] 그리고. 주장하다[1].메인스네이크.자료형 == "커먼 미디어") 그리고나서 현지의 나가. = {} 위해서 k, v 인에 쌍들(주장하다) 하다 현지의 파일명 = v.메인스네이크.데이터 값.가치 나가.[#나가. + 1] = "[파일:" .. 파일명 .. " " .. 엠지사이즈 .. "]]" 끝. 돌아가다 테이블.콘캣(나가., 셉) 또 다른 돌아가다 "" 끝. 끝. -- 이것은 'A01.1.00.005'(속성 P1323)와 같은 TA98(Termologia Anatomica first edition 1998) 값을 얻는 데 사용됩니다. -- 그런 다음 https://ifaa.unifr.ch/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/01.1.00.005%20Entity%20TA98%20EN.htm 에 링크됩니다. -- 새로운 mw를 사용합니다.snaks를 직접 사용하는 대신 wikibase 호출 -- formatPropertyValues는 ", "와 연결된 P1323 값을 가진 테이블을 반환하므로 반환 문자열을 구성하기 위해 테이블로 분할해야 합니다. p.TAV 값을 얻다 = 기능.(틀) 현지의 엔트 = mw.위키베이스.getEntity() 현지의 소품들 = 엔트:formatPropertyValues('P1323') 현지의 나가. = {} 현지의 t = {} 위해서 k, v 인에 쌍들(소품들) 하다 한다면 k == '가치' 그리고나서 t = mw.본문.분열되다( v, ", ") 위해서 k2, v2 인에 쌍들(t) 하다 나가.[#나가. + 1] = "[https://ifaa.unifr.ch/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/ ]" .. 문자열.서브(v2, 2) .. "%20 엔티티 %20TA98%20EN.htm" .. v2 .. "]" 끝. 끝. 끝. 현지의 레트 = 테이블.콘캣(나가., "<br>") 한다면 #레트 == 0 그리고나서 레트 = "잘못된 TA" 끝. 돌아가다 레트 끝. --[[ Wikidata에서 이미지 범례를 반환하는 데 사용됩니다. 이미지는 속성 P18입니다. 이미지 범례는 속성 P2096입니다. {{#invoke:Wikidata getImageLegend <PARAMETER> lang=<ISO-639code> id= <QID>} 항목 QID(고가 호출)에서 "FETCH_WIKIDATA"와 동일하지 않은 경우 PARAMER를 반환합니다. QID가 생략되거나 공백인 경우 현재 기사가 사용됩니다(고가 통화가 아님). lang이 생략되면 로컬 wiki 언어를 사용하고, 그렇지 않으면 제공된 ISO-639 언어 코드를 사용합니다. ISO-639: https://docs.oracle.com/cd/E13214_01/wli/docs92/xref/xqisocodes.html#wp1252447 순위: '선호' > '보통' 첫 번째 이미지에서 '선호' 순위의 레이블을 반환합니다. 또는 선호하는 경우 '보통' 순위를 가진 첫 번째 이미지의 라벨은 아무것도 반환하지 않습니다. 순위: https://www.mediawiki.org/wiki/Extension:Wikibase_Client/Lua ]] p.이미지레전드 가져오기 = 기능.(틀) -- 이름이 지정된 매개 변수 ID를 찾습니다. 공백이면 0으로 만듭니다. 현지의 이드 = 틀.아그스.이드 한다면 이드 그리고. (#이드 == 0) 그리고나서 이드 = 0의 끝. -- 명명된 매개 변수 언어를 찾습니다. -- 두 문자 ISO-639 언어 코드를 포함해야 합니다. -- 공백인 경우 로컬 위키의 언어를 가져옵니다. 현지의 랭 = 틀.아그스.랭 한다면 (것은 아니다. 랭) 아니면 (#랭 < 2) 그리고나서 랭 = mw.언어.getContentLanguage().코드를 끝. -- 이름이 없는 첫 번째 매개 변수는 로컬 매개 변수(제공된 경우)입니다. 현지의 입력_팜 = mw.본문.다듬다(틀.아그스[1] 아니면 "") 한다면 입력_팜 == "FETCH_WIKIDATA" 그리고나서 현지의 엔트 = mw.위키베이스.getEntity(이드) 현지의 igms 한다면 엔트 그리고. 엔트.주장하다 그리고나서 igms = 엔트.주장하다.P18 끝. 현지의 엉거주춤한 한다면 igms 그리고나서 -- 'preferred' 등급의 이미지를 찾습니다. 위해서 k1, v1 인에 쌍들(igms) 하다 한다면 v1.순위 == preferred 그리고. v1.예선전 그리고. v1.예선전.P2096 그리고나서 현지의 엉거주춤한 소리 = v1.예선전.P2096 위해서 k2, v2 인에 쌍들(엉거주춤한 소리) 하다 한다면 v2.데이터 값.가치.언어 == 랭 그리고나서 엉거주춤한 = v2.데이터 값.가치.본문 브레이크. 끝. 끝. 끝. 끝. -- 찾을 수 없는 경우 '보통' 순위의 이미지를 찾습니다. 한다면 (것은 아니다. 엉거주춤한) 그리고나서 위해서 k1, v1 인에 쌍들(igms) 하다 한다면 v1.순위 == "보통" 그리고. v1.예선전 그리고. v1.예선전.P2096 그리고나서 현지의 엉거주춤한 소리 = v1.예선전.P2096 위해서 k2, v2 인에 쌍들(엉거주춤한 소리) 하다 한다면 v2.데이터 값.가치.언어 == 랭 그리고나서 엉거주춤한 = v2.데이터 값.가치.본문 브레이크. 끝. 끝. 끝. 끝. 끝. 끝. 돌아가다 엉거주춤한 또 다른 돌아가다 입력_팜 끝. 끝. -- 값이 여러 개인 경우 쉼표로 구분된 목록으로 속성의 모든 값의 QID를 가져오는 데 사용됩니다. -- 사용량: {{# 호출:Wikidata get PropertyID <속성ID> FETCH_WIKIDATA}} -- 사용량: {{# 호출:Wikidata get PropertyID <속성ID> <입력파라미터> qid=<QID>}" p.get Property신분증 = 기능.(틀) 현지의 가세요, errorOrentity, 소구 사항 = 구문 분석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 errorOrentity 끝. 현지의 독립체 = errorOrentity -- wiki-linked 값이 테이블에 QID를 수집하는 경우 한다면 (소구 사항[1] 그리고. 소구 사항[1].메인스네이크.스네이크 타입 == "가치" 그리고. 소구 사항[1].메인스네이크.데이터 값.유형 == "wikibase- entityid") 그리고나서 현지의 나가. = {} 위해서 k, v 인에 쌍들(소구 사항) 하다 나가.[#나가. + 1] = "Q" .. v.메인스네이크.데이터 값.가치["numeric-id"] 끝. 돌아가다 테이블.콘캣(나가., ", ") 또 다른 -- wikibase- entityid가 아니므로 빈 상태로 반환합니다. 돌아가다 "" 끝. 끝. -- 현재 페이지의 페이지 ID(Q...)를 반환하거나 Wikidata에 연결되지 않은 페이지가 없습니다. 기능. p.pageId(틀) 돌아가다 mw.위키베이스.현재 페이지에 대한 getEntityId() 끝. 기능. p.주장하다(틀) 현지의 소유물 = 틀.아그스[1] 아니면 "" 현지의 이드 = 틀.아그스["id"] 현지의 예선전이드 = 틀.아그스[qualifier] 현지의 매개변수 = 틀.아그스["parameter"] 현지의 목록. = 틀.아그스["리스트"] 현지의 참고문헌 = 틀.아그스["refe 차이"] 현지의 소나기 오싹 = 틀.아그스["shower 오류"] 현지의 체납 = 틀.아그스["기본값"] 한다면 체납 그리고나서 소나기 오싹 = 0의 끝. -- wikidata 엔티티 가져오기 현지의 독립체 = mw.위키베이스.getEntity(이드) 한다면 것은 아니다. 독립체 그리고나서 한다면 소나기 오싹 그리고나서 돌아가다 인쇄 오류("entity를 찾을 수 없음") 또 다른 돌아가다 체납 끝. 끝. -- 주어진 재산을 만족시킨다는 최초의 요구를 들어내다. 현지의 주장하다 = 클레임 찾기(독립체, 소유물) 한다면 것은 아니다. 주장하다 아니면 것은 아니다. 주장하다[1] 그리고나서 한다면 소나기 오싹 그리고나서 돌아가다 인쇄 오류("property를 찾을 수 없음") 또 다른 돌아가다 체납 끝. 끝. -- 초기 정렬 인덱스 가져오기 현지의 지표를 분류하다 = {} 위해서 idx 인에 쌍들(주장하다) 하다 지표를 분류하다[#지표를 분류하다 + 1] = idx 끝. -- 클레임 순위에 따라 정렬합니다. 현지의 비교자 = 기능.(a, b) 현지의 순위표 = { 감가상각된 = 2, 보통의 = 1, 선호된 = 0 } 현지의 순위를 매기다 = 순위표[주장하다[a].순위 아니면 "보통"] .. 문자열.형식("%08d", a) 현지의 등수를 매기다 = 순위표[주장하다[b].순위 아니면 "보통"] .. 문자열.형식("%08d", b) 돌아가다 순위를 매기다 < 등수를 매기다 끝. 식탁에 앉히다(지표를 분류하다, 비교자) 현지의 결과 현지의 오류를 한다면 목록. 그리고나서 현지의 가치 -- 모든 요소에 대해 반복하고 값을 반환합니다(존재하는 경우). 결과 = {} 위해서 idx 인에 쌍들(주장하다) 하다 현지의 주장하다 = 주장하다[지표를 분류하다[idx]] 가치, 오류를 = 클레임 값 가져오기(주장하다, 예선전이드, 매개변수) 한다면 것은 아니다. 가치 그리고. 소나기 오싹 그리고나서 가치 = 오류를 끝. 한다면 가치 그리고. 참고문헌 그리고나서 가치 = 가치 .. 레퍼런스 받기(틀, 주장하다) 끝. 결과[#결과 + 1] = 가치 끝. 결과 = 테이블.콘캣(결과, 목록.) 또 다른 -- 첫번째 요소를 반환합니다. 현지의 주장하다 = 주장하다[지표를 분류하다[1]] 결과, 오류를 = 클레임 값 가져오기(주장하다, 예선전이드, 매개변수) 한다면 결과 그리고. 참고문헌 그리고나서 결과 = 결과 .. 레퍼런스 받기(틀, 주장하다) 끝. 끝. 한다면 결과 그리고나서 돌아가다 결과 또 다른 한다면 소나기 오싹 그리고나서 돌아가다 오류를 또 다른 돌아가다 체납 끝. 끝. 끝. -- 개체 개체를 조사합니다. 기능. p.보기Something(틀) 현지의 f = (틀.아그스[1] 아니면 틀.아그스.이드) 그리고. 틀 아니면 틀:부모님 가져오기() 현지의 이드 = f.아그스.이드 한다면 이드 그리고. (#이드 == 0) 그리고나서 이드 = 0의 끝. 현지의 데이터. = mw.위키베이스.getEntity(이드) 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 0의 끝. 현지의 i = 1 하는 동안에 진실의 하다 현지의 색인을 보다 = f.아그스[i] 한다면 것은 아니다. 색인을 보다 그리고나서 한다면 유형(데이터.) == "테이블" 그리고나서 돌아가다 mw.본문.jsonEncode(데이터., mw.본문.JSON_PRERSEVE_KEYS + mw.본문.JSON_예쁘다) 또 다른 돌아가다 끈을 매다(데이터.) 끝. 끝. 데이터. = 데이터.[색인을 보다] 아니면 데이터.[수적으로(색인을 보다)] 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 끝. i = i + 1 끝. 끝. -- 지정된 위키의 사이트 링크 가져오기 -- qid가 제공되지 않은 경우 현재 항목의 사이트 링크 가져오기 기능. p.getSiteLink(틀) 현지의 qid = 틀.아그스.qid 한다면 qid == "" 그리고나서 qid = 0의 끝. 현지의 f = mw.본문.다듬다( 틀.아그스[1] 아니면 "") 현지의 독립체 = mw.위키베이스.getEntity(qid) 한다면 것은 아니다. 독립체 그리고나서 돌아가다 끝. 현지의 연결고리 = 독립체:getSitelink( f ) 한다면 것은 아니다. 연결고리 그리고나서 돌아가다 끝. 돌아가다 연결고리 끝. 기능. p.버리다(틀) 현지의 f = (틀.아그스[1] 아니면 틀.아그스.이드) 그리고. 틀 아니면 틀:부모님 가져오기() 현지의 데이터. = mw.위키베이스.getEntity(f.아그스.이드) 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 i18n.경고 덤프 끝. 현지의 i = 1 하는 동안에 진실의 하다 현지의 색인을 보다 = f.아그스[i] 한다면 것은 아니다. 색인을 보다 그리고나서 돌아가다 "<pre>"..mw.dumpObject(데이터.).."/pre>".. i18n.경고 덤프 끝. 데이터. = 데이터.[색인을 보다] 아니면 데이터.[수적으로(색인을 보다)] 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 i18n.경고 덤프 끝. i = i + 1 끝. 끝. 돌아가다 p