모듈:Wikidata/샌드박스
Module![]() | 모듈 샌드박스 페이지는 다음과 같습니다.Wikidata (diff) 테스트 케이스에 대해서는, 부속의 서브 페이지도 참조해 주세요(실행). |
![]() | 모듈: Wikidata는 사용되지 않습니다.모듈을 사용하세요.위키데이터IB 또는 모듈:대신 WD. |
![]() | 이 모듈은 페이지 보호 대상입니다.이 모듈은 매우 많은 페이지에서 사용 중이거나 매우 자주 교체됩니다.파손이나 실수는 많은 페이지에 영향을 미치고 사소한 편집이라도 서버에 큰 부하가 걸릴 수 있으므로 편집으로부터 보호됩니다. |
![]() | 이 Lua 모듈은 많은 페이지에서 사용되고 있으며, 변경은 널리 인식될 수 있습니다.모듈의 /sandbox 또는 /testcase 서브페이지 또는 자체 모듈 샌드박스에서 변경 내용을 테스트합니다.변경을 실장하기 전에 토크 페이지에서 변경에 대해 논의해 주십시오. |
방법들
모듈 "Wikidata"에는 다음 메서드가 포함되어 있습니다.이 메서드에서는 첫 번째 파라미터로 속성 ID를 지정함으로써 호출 스크립트가 Wikidata에서 속성 값을 취득할 수 있습니다.
getValue
: Wiki 링크된 값을 반환합니다(해당하는 경우).다른 모든 값은 다음과 같이 출력됩니다.{{#property:}}
단, 우선 순위 값이 존재하는 경우는 이들 값만 반환됩니다.와는 달리formatStatements
w:ru부터:Wikidata,getValue
는 아직 참조를 픽업하지 않습니다(w:en:모듈 토크:Wikidata/Archive 1#Wikidata에서 참조가 삭제되는 이유)getRawValue
: 연결되지 않은 속성 값과 천 구분 기호를 사용하여 숫자를 반환합니다.또한 속성의 일반 숫자 값(수량)도 반환합니다.다른 모든 값은 다음과 같이 출력됩니다.{{#property:}}
(기본값이 존재하는 경우에도 정상값 포함)getDateValue
: 포맷된 날짜를 반환하는 특별한 방법입니다.기본 날짜 형식은 [day month year]입니다.옵션의 세 번째 파라미터는 [month day, year]의 경우 "mdy"를 추가할 수 있습니다.[month year]의 경우 "my"를 추가합니다.연도의 경우만 "y"를 추가합니다.날짜 BC에 접미사가 붙은 기본 "BCE"를 재정의하기 위해 네 번째 옵션 매개 변수를 추가할 수 있습니다.getImages
: 특정 속성의 모든 이미지(예: 이미지(P18), Gene Atlas 이미지(P692))파라미터는propertyID value / FETCH_WIKIDATA / nil separator (default=space) size (default=220px)
반환되는 텍스트는 [[File:]] 형식입니다.선택 가능한 크기와 구분자(html)를 가진 각 이미지에 대해 파일 이름 크기]를 지정합니다."Commons Media" 유형이 아닌 속성이 제공된 경우 빈 텍스트를 반환합니다.getUnits
이 작업은 속성을 사용합니다.첫 번째 매개 변수로 수량이며 현재 페이지에서 속성이 사용 중인 단위 이름을 반환합니다.속성이 수량 유형이 아니거나 값이 설정되지 않은 경우 빈 상태로 반환됩니다.두 번째 파라미터는 "FETCH_WIKIDATA"가 아닌 경우 Wikidata에서 가져오기를 재정의하기 위해 사용할 수 있습니다.getUnitID
이 작업은 속성을 사용합니다.첫 번째 파라미터로 수량이며 속성이 현재 페이지에서 사용하고 있는 유닛의 QID를 반환합니다.속성이 수량 유형이 아니거나 값이 설정되지 않은 경우 빈 상태로 반환됩니다.두 번째 파라미터는 "FETCH_WIKIDATA"가 아닌 경우 Wikidata에서 가져오기를 재정의하기 위해 사용할 수 있습니다.
Wikidata 한정자 값(있는 경우)은 다음 방법으로 검색할 수 있습니다.
getQualifierValue
: 해당하는 경우 Wiki 링크된 값만 반환합니다.getRawQualifierValue
: 링크되지 않은 값을 반환합니다.getQualifierDateValue
: 포맷된 날짜를 반환합니다.
이 코드를 호출하는 문서에 대한 속성이 Wikidata에 정의되지 않은 경우 빈 문자열("")이 반환됩니다.
기타 방법:
pageId
: 현재 페이지의 Wikidata ID(Q…)를 반환합니다. 페이지가 Wikidata에 연결되어 있지 않으면 아무것도 반환하지 않습니다.다른 페이지의 Wikidata ID를 가져오려면 {{#invoke:ResolveEntityId 페이지}}.getTAValue
: 속성 P1323에 대한 TA98(Termologia Anatomica first edition 1998) 값을 가져옵니다.매개 변수를 사용하지 않고 각 값이 외부 리소스에 링크된 목록으로 출력을 구성합니다.이것은 외부 링크를 반환할 필요가 있는 콜의 기입의 예시입니다.ViewSomething
: 라벨, 설명, 레퍼런스, 인터위키 링크 등 구조화된 데이터 내의 모든 것을 가져옵니다.「1」을 참조getSiteLink
: 인수 Wiki에서 지정된 페이지의 이름을 가져옵니다(영어 Wikipedia의 경우 "enwikiquote", 아랍어 Wikipedia의 경우 "arwiki" 등).Dump
:{{#invoke:Wikidata Dump claims}}
는 구조화된 데이터를 감시합니다.ViewSomething과 동일한 인수를 사용합니다.결과를 보려면 미리 보기에서만 이 작업을 시도하십시오.이를 통해 데이터에 액세스하는 Lua 스크립트를 개발하는 데 많은 도움이 됩니다.인수 없이 사용하면 라벨, 설명, 참조 및 인터위키 링크를 포함한 모든 정보가 덤프됩니다.래퍼 템플릿이 있습니다. {{Dump}}을(를) 참조하십시오.getImageLegend
: 이미지 범례를 반환합니다(이미지는 속성 P18, 이미지 범례는 속성 P2096).- 로서 호출
{{#invoke:Wikidata getImageLegend <PARAMETER> lang=<ISO-639code> id=<QID>}}
- 항목 QID(비싼 호출)에서 "FETCH_WIKIDATA"와 동일한 경우를 제외하고 매개 변수를 반환합니다.QID가 생략되거나 공백인 경우 현재 문서가 사용됩니다(고가의 콜이 아님).lang을 생략하면 로컬 Wiki 언어가 사용되며, 그렇지 않으면 제공된 ISO-639 언어 코드가 사용됩니다.
- 라벨은 '우선' 순위의 첫 번째 이미지에서 반환됩니다.이미지에 선호 순위가 없는 경우 '보통' 순위의 첫 번째 이미지에서 반환됩니다.
- 로서 호출
getValueShortName
: getValue와 동일한 데이터를 반환하지만 속성 단축명을 라벨로 사용합니다(사용 가능한 경우).이를 통해 파이핑된 링크는 필요에 따라 더 짧은 라벨을 사용할 수 있습니다.항목에 단축 이름이 설정되지 않은 경우 일반 레이블이 사용됩니다.
임의 액세스
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}}
는, 리다이렉트 페이지 타이틀의 리처드 버튼(배우)(Wikidata 라벨의 리처드 버튼(Q151973)에 대응)로부터, 영어 위키피디아내의 임의의 장소에서 「배우」(P26)의 링크치 리스트를 취득합니다.
즉, 테스트 환경이 사용자 공간에 설정될 수 있지만, 이러한 콜은 고액으로 분류되므로 가능한 한 사용을 삼가해 주십시오.
파라미터
- Generalized Case(getValue)의 경우 이름 없는 파라미터 2개가 제공됩니다.첫 번째는 취득할 재산의 ID입니다(예: 출생지의 경우 P19, 배우자의 경우 P26).두 번째는 null, "FETCH_WIKIDATA" 또는 반환된 값이 되는 기타 문자열입니다.
- 일반화된 링크되지 않은 케이스(getRawValue)의 경우 이름 없는 파라미터 2개가 제공됩니다.첫 번째는 검색할 자산의 ID이다(예: 성별의 경우 P21).두 번째는 null, "FETCH_WIKIDATA" 또는 반환된 값이 되는 기타 문자열입니다.
- Generalized date case(getDateValue)의 경우 이름 없는 파라미터 3개가 제공됩니다.첫 번째는 취득할 자산의 ID입니다(생년월일의 경우 P569 등).두 번째는 null, "FETCH_WIKIDATA" 또는 반환된 값이 되는 기타 문자열입니다.세 번째는 dmy, mdy, my 또는 y 중 하나의 형식으로 날짜를 반환하는 형식입니다.
소문자 파라미터는 Wikibase 콜 p123에서 지원되지 않으므로 문제가 발생할 경우 P123과 같이 대문자가 사용되는지 확인하십시오.
사용.
예: 배우자(P26)
{{#invoke:Wikidata getValue P26 }}
=는 아무것도 반환하지 않으므로 정보 상자에 배우자를 표시하지 않습니다.{{#invoke:Wikidata getValue P26 FETCH_WIKIDATA}}
=는 해당 기사에 대해 위키데이터에 저장된 속성 P26(1900)의 링크된 값을 반환합니다(예: 기사 Bill Clinton의 경우 Hillary Clinton을 반환합니다).{{#invoke:Wikidata getValue P26 [[Hillary Rodham Clinton]]}}
=는 정보 상자에서 Wikidata에 저장된 값이 아닌 로컬 값을 사용할 수 있도록 Hillary Rodham Clinton을 반환합니다.
정보 상자 템플릿의 예
infobox 정의 내에서는 다음과 같이 불릴 수 있습니다.
data55 = {{#invoke:Wikidata getValue P26 {{{spouse FETCH_WIKIDATA}}} }}
그 때문에, 인포 박스는 다음과 같이 됩니다.
- 정보 상자 매개 변수인 경우 배우자를 표시하지 않음
spouse
공백으로 설정되어 있습니다(예:" spouse ="
) - infobox 파라미터의 경우 Wikidata에서 링크된 값 표시
spouse
제공되지 않음 - 로컬 정보 상자 매개 변수 표시
spouse
(예:" spouse = Hillary Rodham Clinton"
)
옵션으로, 다음과 같이 호출할 수 있습니다.
data55 = {{#invoke:Wikidata getValue P26 {{{spouse }}} }}
그 때문에, 인포 박스는 다음과 같이 됩니다.
- 정보 상자 매개 변수인 경우 배우자를 표시하지 않음
spouse
공백으로 설정되어 있습니다(예:" spouse ="
} - 정보 상자 매개 변수인 경우 배우자를 표시하지 않음
spouse
제공되지 않음 - 로컬 정보 상자 매개 변수 표시
spouse
(예:" spouse = Hillary Rodham Clinton"
) - 정보 상자 매개 변수가 로컬로 FETH_WIKIDATA로 설정된 경우 Wikidata에서 링크된 값 표시
'모듈'위키데이터IB는 필드를 기사별로 블랙리스트에 올릴 수 있도록 수정하여 표시되지 않도록 합니다.또한 편집자는 로컬 매개 변수가 제공될 때 Wikidata에서 자동으로 가져올 필드를 문서 단위로 지정할 수 있습니다. 기본값은 none 이며, 문서에서 기능이 활성화될 때까지 문서를 변경하지 않고 Wikidata를 받아들이도록 정보 상자를 수정할 수 있습니다.
예: 출생지
이것은, 상기의 콜과 같은 방법으로 동작합니다.
{{#invoke:Wikidata getValue P19 }}
=는 아무것도 반환하지 않으므로 정보 상자에 출생지를 표시하지 않습니다.{{#invoke:Wikidata getValue P19 FETCH_WIKIDATA}}
=는 해당 문서에 대해 위키데이터에 저장된 자산 P19(출생지)의 링크된 값을 반환합니다(예: 기사 Bill Clinton의 경우 아칸소주 Hope를 반환합니다).{{#invoke:Wikidata getValue P19 [[Hope, Arkansas Hope]]}}
=는 정보 상자에서 Wikidata에 저장된 값이 아닌 로컬 값을 사용할 수 있도록 Hope를 반환합니다.
예: 성별
반환된 값은 링크되지 않으므로 다음을 사용하십시오.
- -
{{#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}}
출생 연도가 BCE이지만 BCE라고 읽어야 하는 경우 다음을 사용합니다.
- -
{{#invoke:Wikidata getDateValue P569 FETCH_WIKIDATA y BCE}}
예: Wikidata 항목에 링크
Q-ID 를 취득하려면 , 다음의 코드를 사용합니다.
- -
{{#invoke:Wikidata pageId}}
Wikidata에 링크할 때 일반적인 Wiki 마크업을 사용했습니다.
- -
[[d:{{#invoke:Wikidata pageId}} Name of Link]]
예: 다른 Wiki 페이지 링크
다른 Wiki에 링크하려면 이 코드를 사용합니다.이 예에서는 영어 Wikivoyage를 참조해 주세요.
- -
[[voy:{{#invoke:Wikidata getSiteLink enwikivoyage}} Name of Link]]
테스트
시험 배우자
다음 항목을 복사하여 문서에 붙여넣고 미리 봅니다(저장하지 마십시오).
* - {{##filename:Wikidata getValue P26 }} * - {{# 호출:Wikidata getValue P26 FETCH_WIKIDATA}* - {{# 호출:Wikidata get Value P26 [힐러리 로드햄 클린턴]}}
Bill Clinton에서는 다음을 얻을 수 있습니다.
Barack Obama에서는 다음을 얻을 수 있습니다.
Richard Burton에서는 다음을 얻을 수 있습니다.
- -
- -
- - 힐러리 로드햄 클린턴
출생지 테스트
다음 항목을 복사하여 문서에 붙여넣고 미리 봅니다(저장하지 마십시오).
* - {{##filename:Wikidata getValue P19 }} * - {{# 호출:Wikidata getValue P19 FETCH_WIKIDATA}* - {{# 호출:Wikidata getValue P19 [Newport]}}
William Ellery 를 사용해, Wikidata 콜이 올바르게 불명확하게 되어 있는 것을 확인합니다.
getValue, getRawValue 및 getDateValue 테스트 중
다음 항목을 복사하여 문서에 붙여넣고 미리 봅니다(저장하지 마십시오).
* - {{##filename:Wikidata getValue P19 FETCH_WIKIDATA}* - {{# 호출:Wikidata getValue P26 FETCH_WIKIDATA}* - {{# 호출:Wikidata getValue P27 FETCH_WIKIDATA}* - {{# 호출:Wikidata getValue P140 FETCH_WIKIDATA}* - {{# 호출:Wikidata getRawValue P21 FETCH_WIKIDATA}* - {{# 호출:Wikidata getDateValue P569 FETCH_WIKIDATA dmy}* - {{# 호출:Wikidata getDateValue P569 FETCH_WIKIDATA mdy}* - {{# 호출:Wikidata getDateValue P569 FETCH_WIKIDATA y}
이것은 출생지, 배우자, 시민권, 종교, 성별, 생년월일(2회) 및 생년월일(존재하는 경우)에 대한 위키데이터 값을 반환해야 한다.DOB는 처음에 dmy 형식이고, 다음으로 mdy 형식입니다.
테스트일 BCE/BCE
Horace #도 참조해 주세요(저장하지 말아 주세요)와 같은 기사의 짧은 섹션에 다음 항목을 복사하여 붙여넣습니다.
* - {{##filename:Wikidata getDateValue P569 FETCH_WIKIDATA y}* - {{# 호출:Wikidata getDateValue P569 FETCH_WIKIDATA y BCE}
이것은 각각 기원전 65년과 기원전 65년을 반환할 것이다.
「 」를 참조해 주세요.
- 모듈: WikidataIB, 정보 상자에서 Wikidata를 처리합니다.
-- vim: noexpandtab ft=lua ts=4 sw=4 를 설정합니다. 요구하다('모듈:글로벌 없음) 현지의 p = {} 현지의 디버깅 = 거짓의 ------------------------------------------------------------------------------ -- 모듈 로컬 변수 및 함수 현지의 위키 = { 언어 코드 = 음.언어.get Content Language(get Content Language)().코드 } --국제화 현지의 18n = { ["실패"] = { ["오디오를 찾을 수 없습니다"] = "속성을 찾을 수 없습니다.", ["오디오를 찾을 수 없습니다"] = "Wikidata 엔티티를 찾을 수 없습니다.", ["contract-type"] = "알 수 없는 클레임 유형입니다.", ["contract-type"] = "알 수 없는 엔티티 유형입니다.", ["오디오를 찾을 수 없습니다"] = "적격자를 찾을 수 없습니다.", ["사이트를 찾을 수 없습니다"] = "Wikimedia 프로젝트를 찾을 수 없습니다.", ["filename-datetime-format"] = "알 수 없는 날짜/시간 형식입니다.", ["로컬 문서를 찾을 수 없습니다."] = 이 Wiki에서는 아직 기사를 이용할 수 없습니다. }, ["일시"] = { -- 1달러는 실제 숫자의 자리 표시자입니다. [0] = "10억달러", -- 정밀도: 10억 년 [1] = "1억달러", -- 정밀도: 1억 년 [2] = "1000만 년", -- 정밀도: 천만 년 [3] = "100만달러", -- 정밀도: 백만 년 [4] = "10만달러", -- 정밀도: 10만 년 [5] = "10,000년", -- 정밀도: 만 년 [6] = "1천년치", -- 정밀도: 밀레니엄 [7] = '1세기', -- 정밀도: 세기 [8] = "1달러", -- 정밀도: 10년 --다음은 #time parser 함수 형식을 사용합니다. [9] = 'Y', -- 정밀도: 년, [10] = 'F Y', -- precision : 월 [11] = "FJ, Y", -- precision : 일 [12] = "F J, Y ga", -- precision : [13] = "F J, Y g:ia", -- precision : 분 [14] = "FJ, Y g:i:sa", -- precision : ["지금까지"] = "기원전 1달러", -- 정밀도 0 ~5의 음수 형식을 지정하는 방법 ['아프터 나우] = "1 CE달러", -- 정밀도 0 ~5의 양수 형식을 지정하는 방법 ["bc"] = '1달러 BCE', -- 마이너스 연도를 인쇄하는 방법 [광고] = "$1", --양년도를 인쇄하는 방법 -- 다음은 getDateValue() 및 getQualifierDateValue() 함수의 경우입니다. ["기본 형식"] = "dmy", -- #3(getDateValue)의 디폴트값 또는 -- #4 ( get Qualifier Date Value )인수 ["디폴트 애드온"] = 'BC', -- #4(getDateValue)의 디폴트값 또는 -- #5 ( get Qualifier Date Value )인수 ["하이브리드 애드온"] = 거짓의, -- 언어의 경우 true로 설정됩니다. -- datetime 문자열. 그렇지 않으면 애드온은 접미사가 붙습니다. ['애드온'] = " ", -- datetime 문자열과 addon 사이의 구분자(또는 역) ["형식"] = -- 세 번째 인수 옵션 { ["mdy"] = "FJ, Y", ['내'] = 'F Y', ["y"] = 'Y', ["dmy"] = "j F Y", ["ymd"] = "Y-m-d", ["ym"] = "Y-m" } }, ["단일 언어 텍스트"] = '%text' </span> </span>, ["warndump"] = "[카테고리:모듈 Wikidata에서 호출된 함수 '덤프']", ["정상"] = { [1] = 「st」, [2] = "nd", [3] = "rd", ["디폴트"] = "th" } } 한다면 위키.언어 코드 ~= "en" 그리고나서 --require("Module:i18n").loadI18n("Module:Wikidata/i18n", i18n) --[:w:]에서 아이디어를 얻었습니다.모듈: WD]] 현지의 module_module_module_syslogs; 한다면 ... == 제로 그리고나서 module_module_module_syslogs = 음.get Current Frame(전류 프레임)():getTitle(제목)() 또 다른 module_module_module_syslogs = ... 끝. 요구하다('모듈:i18n').로드I18n(module_module_module_syslogs..'/i18n', 18n) 끝. -- 이 기능은 위와 같이 국제화해야 합니다. -- 기수를 수치로 하여 서수를 문자열로 반환한다. 1차, 2차, 3차, 21차, 31일 등 영어의 3가지 예외가 필요합니다. 현지의 기능. makeOrdinal (주요) 현지의 ordsuffix = 18n.서수의.체납 한다면 주요 % 10 == 1 그리고나서 ordsuffix = 18n.서수의[1] 그렇지 않으면 주요 % 10 == 2 그리고나서 ordsuffix = 18n.서수의[2] 그렇지 않으면 주요 % 10 == 3 그리고나서 ordsuffix = 18n.서수의[3] 끝. ·영어로 1, 21, 31 등은 'st'를 사용하지만 11, 111 등은 'th'를 사용한다. -- 12, 13 등에서도 마찬가지입니다. 한다면 (주요 % 100 == 11) 또는 (주요 % 100 == 12) 또는 (주요 % 100 == 13) 그리고나서 ordsuffix = 18n.서수의.체납 끝. 돌아가다 스트링(주요) .. ordsuffix 끝. 현지의 기능. print Error(인쇄 오류)(코드) 돌아가다 '<span class="error">' .. (18n.에러[코드] 또는 코드) .. '</span>' 끝. 현지의 기능. parseDateFormat(f, 타임스탬프, 애드온, prefix_addon, addon_displays(addon_displays)) 현지의 년도 현지의 동작하다 = "" 현지의 lang_obj = 음.언어.신규(위키.언어 코드) 현지의 f_parts(f_parts) = 음.본문.분열되다(f, 'Y', 진실의) 위해서 idx, f_parts 에서 쌍들(f_parts(f_parts)) 하다 년도 = '' 한다면 string.match(f_parts, "x[mijkot]$") 그리고나서 --그레고리우스 이외의 해 f_parts = f_parts .. 'Y' 그렇지 않으면 idx < > #f_parts(f_parts) 그리고나서 --연도의 선행 제로를 억제합니다. 년도 = lang_obj:포맷 날짜('Y', 타임스탬프) 년도 = string.gsub(년도, '^0+', '', 1) 끝. 동작하다 = 동작하다 .. lang_obj:포맷 날짜(f_parts, 타임스탬프) .. 년도 끝. 한다면 애드온 ~= "" 그리고. prefix_addon 그리고나서 돌아가다 애드온 .. addon_displays(addon_displays) .. 동작하다 그렇지 않으면 애드온 ~= "" 그리고나서 돌아가다 동작하다 .. addon_displays(addon_displays) .. 애드온 또 다른 돌아가다 동작하다 끝. 끝. 현지의 기능. parseDateValue 값(타임스탬프, date_format, date_addon) 현지의 prefix_addon = 18n["일시"]["하이브리드 애드온"] 현지의 addon_displays(addon_displays) = 18n["일시"]['애드온'] 현지의 애드온 = "" -- 마이너스 날짜를 확인합니다. 한다면 스트링.서브(타임스탬프, 1, 1) == '-' 그리고나서 타임스탬프 = '+' .. 스트링.서브(타임스탬프, 2) 애드온 = date_addon 끝. 현지의 _date_형식 = 18n["일시"]["형식"][date_format] 한다면 _date_형식 ~= 제로 그리고나서 돌아가다 parseDateFormat(_date_형식, 타임스탬프, 애드온, prefix_addon, addon_displays(addon_displays)) 또 다른 돌아가다 print Error(인쇄 오류)("filename-datetime-format") 끝. 끝. -- 이 로컬 함수는 parseDateValue{}의 년/월/일/BC/BCE 처리를 결합합니다. -- formatDate()의 밀레니엄/세기/10년 처리와 함께 현지의 기능. parseDateFull(타임스탬프, 정확, date_format, date_addon) 현지의 prefix_addon = 18n["일시"]["하이브리드 애드온"] 현지의 addon_displays(addon_displays) = 18n["일시"]['애드온'] 현지의 애드온 = "" -- 마이너스 날짜를 확인합니다. 한다면 스트링.서브(타임스탬프, 1, 1) == '-' 그리고나서 타임스탬프 = '+' .. 스트링.서브(타임스탬프, 2) 애드온 = date_addon 끝. -- + 뒤에 다음 4글자를 가져옵니다(모든 경우 현재 연도여야 합니다). --좋아요, 그럼 이건 더럽지만, 먼저 작동시키죠. 현지의 연내 = 톤수(스트링.서브(타임스탬프, 2, 5)) 한다면 연내 == 0 그리고. 정확 <=> 9 그리고나서 돌아가다 "" 끝. -- 정밀도는 10000년 이상 한다면 정확 <=> 5 그리고나서 현지의 인자 = 10 ^ ((5 - 정확) + 4) 현지의 y2 = math.matrix(math.abs(연내) / 인자) 현지의 관련있는 = 음.스트링.서브(18n.날짜[정확], "$1", 스트링(y2)) 한다면 애드온 ~= "" 그리고나서 -- 마이너스 날짜 관련있는 = 음.스트링.서브(18n.날짜.지금까지, "$1", 관련있는) 또 다른 관련있는 = 음.스트링.서브(18n.날짜.나중에, "$1", 관련있는) 끝. 돌아가다 관련있는 끝. --정밀도는 10년(8), 세기(7), 천년(6)이다. 현지의 시대, 카드 한다면 정확 == 6 그리고나서 카드 = math.floor((연내 - 1) / 1000) + 1 시대 = 음.스트링.서브(18n.날짜[6], "$1", makeOrdinal(카드)) 끝. 한다면 정확 == 7 그리고나서 카드 = math.floor((연내 - 1) / 100) + 1 시대 = 음.스트링.서브(18n.날짜[7], "$1", makeOrdinal(카드)) 끝. 한다면 정확 == 8 그리고나서 시대 = 음.스트링.서브(18n.날짜[8], "$1", 스트링(math.floor(math.abs(연내) / 10) * 10)) 끝. 한다면 시대 그리고나서 한다면 애드온 ~= "" 그리고나서 시대 = 음.스트링.서브(음.스트링.서브(18n.날짜.bc, '"', ""), "$1", 시대) 또 다른 시대 = 음.스트링.서브(음.스트링.서브(18n.날짜.광고, '"', ""), "$1", 시대) 끝. 돌아가다 시대 끝. 현지의 _date_형식 = 18n["일시"]["형식"][date_format] 한다면 _date_형식 ~= 제로 그리고나서 -- 정밀도가 year인지 확인하고 제공된 date_format을 덮어씁니다. 한다면 정확 == 9 그리고나서 _date_형식 = 18n["일시"][9] 끝. 돌아가다 parseDateFormat(_date_형식, 타임스탬프, 애드온, prefix_addon, addon_displays(addon_displays)) 또 다른 돌아가다 print Error(인쇄 오류)("filename-datetime-format") 끝. 끝. -- "qualifiers" 및 "snaks" 필드에는 각각 "qualifiers-order" 및 "snaks-order" 필드가 있습니다. --이러한 파라미터를두 번째 파라미터로사용하고내장된"필수"함수대신이함수를사용합니다. -- 모든 예선 및 스니크를 의도된 순서로 반복합니다. 현지의 기능. 순서쌍(배열, 주문) 한다면 것은 아니다. 주문 그리고나서 돌아가다 쌍들(배열) 끝. --반환 반복기 함수 현지의 i = 0 돌아가다 기능.() i = i + 1 한다면 주문[i] 그리고나서 돌아가다 주문[i], 배열[주문[i]] 끝. 끝. 끝. -- 정밀도: 0-억년, 1억년, ..., 6-천년, 7세기, 8년, 9년, 10개월, 11일, 12시간, 13분, 14초 현지의 기능. 정규화 날짜(날짜.) 날짜. = 음.본문.다듬다(날짜., "+") -- 추출년 현지의 연도 = 음.스트링.경기(날짜., "^\-? %d+") 현지의 연도 = 톤수(연도) --연도의 선행 제로를 삭제합니다. 돌아가다 연도 .. 음.스트링.후보선수(날짜., #연도 + 1), 연도 끝. 현지의 기능. 포맷 날짜(날짜., 정확, 시간대) 정확 = 정확 또는 11 현지의 날짜., 연도 = 정규화 날짜(날짜.) 한다면 연도 == 0 그리고. 정확 <=> 9 그리고나서 돌아가다 "" 끝. -- 정밀도는 10000년 이상 한다면 정확 <=> 5 그리고나서 현지의 인자 = 10 ^ ((5 - 정확) + 4) 현지의 y2 = math.matrix(math.abs(연도) / 인자) 현지의 관련있는 = 음.스트링.서브(18n.날짜[정확], "$1", 스트링(y2)) 한다면 연도 < > 0 그리고나서 관련있는 = 음.스트링.서브(18n.날짜.지금까지, "$1", 관련있는) 또 다른 관련있는 = 음.스트링.서브(18n.날짜.나중에, "$1", 관련있는) 끝. 돌아가다 관련있는 끝. - 정밀도는 수십 년, 세기, 천 년이다. 현지의 시대 한다면 정확 == 6 그리고나서 시대 = 음.스트링.서브(18n.날짜[6], "$1", 스트링(math.floor((math.abs(연도) - 1) / 1000) + 1)) 끝. 한다면 정확 == 7 그리고나서 시대 = 음.스트링.서브(18n.날짜[7], "$1", 스트링(math.floor((math.abs(연도) - 1) / 100) + 1)) 끝. 한다면 정확 == 8 그리고나서 시대 = 음.스트링.서브(18n.날짜[8], "$1", 스트링(math.floor(math.abs(연도) / 10) * 10)) 끝. 한다면 시대 그리고나서 한다면 연도 < > 0 그리고나서 시대 = 음.스트링.서브(음.스트링.서브(18n.날짜.bc, '"', ""), "$1", 시대) 그렇지 않으면 연도 > 0 그리고나서 시대 = 음.스트링.서브(음.스트링.서브(18n.날짜.광고, '"', ""), "$1", 시대) 끝. 돌아가다 시대 끝. -- 정밀도는 연도입니다. 한다면 정확 == 9 그리고나서 돌아가다 연도 끝. --정밀도가 년 미만입니다. 한다면 정확 > 9 그리고나서 --[[다음 코드는 UTC 서픽스를 지정된 부정 시간대로 대체하여 글로벌 시간을 지정된 현지 시간으로 변환합니다. timezone = tonumber(타임존) 표준 시간대 및 표준 시간대 ~= 0이면 timezone = -timezone timezone = 문자열.포맷 %.%. 。 2 d . 2 d " , timezone / 60 , timezone % 60 ) timezone[1] ~= '-'이면 timezone = "+" .. timezone이 종료됩니다. date = mw.text.date(날짜, "Z").." ..타임존 끝. ]]-- 현지의 포맷스트래 = 18n.날짜[정확] 한다면 연도 == 0 그리고나서 포맷스트래 = 음.스트링.서브(포맷스트래, 18n.날짜[9], "") 그렇지 않으면 연도 < > 0 그리고나서 -- Mediawiki 형식 날짜는 마이너스 연도를 지원하지 않습니다. 날짜. = 음.스트링.후보선수(날짜., 2) 포맷스트래 = 음.스트링.서브(포맷스트래, 18n.날짜[9], 음.스트링.서브(18n.날짜.bc, "$1", 18n.날짜[9])) 그렇지 않으면 연도 > 0 그리고. 18n.날짜.광고 ~= "$1" 그리고나서 포맷스트래 = 음.스트링.서브(포맷스트래, 18n.날짜[9], 음.스트링.서브(18n.날짜.광고, "$1", 18n.날짜[9])) 끝. 돌아가다 음.언어.신규(위키.언어 코드):포맷 날짜(포맷스트래, 날짜.) 끝. 끝. 현지의 기능. printDatavalueEntity(데이터., 파라미터) -- 데이터 필드: entity-type [string ], numeric-id [int, Wikidata id] 현지의 아이디 한다면 데이터.["유형"] == "항목" 그리고나서 아이디 = 'Q' .. 데이터.["contract-id"] 그렇지 않으면 데이터.["유형"] == "실패" 그리고나서 아이디 = 'P' .. 데이터.["contract-id"] 또 다른 돌아가다 print Error(인쇄 오류)("contract-type") 끝. 한다면 파라미터 그리고나서 한다면 파라미터 == 링크 그리고나서 현지의 link Target(링크 타깃) = 음.키보드.get Sitelink를 취득하다(아이디) 현지의 링크명 = 음.키보드.get Label(라벨)(아이디) 한다면 link Target(링크 타깃) 그리고나서 -- 라벨 또는 문서 제목을 사용하여 로컬 Wikipedia 문서가 있는 경우 링크 돌아가다 "[[" .. link Target(링크 타깃) .. " " .. (링크명 또는 link Target(링크 타깃)) .. "]]" 또 다른 -- 로컬 Wikipedia 문서가 없는 경우 사용자가 적절한 라벨을 입력할 수 있도록 Wikidata 오브젝트에 대한 라벨 또는 링크를 출력합니다. 한다면 링크명 그리고나서 돌아가다 링크명 또 다른 돌아가다 "[:d:] .. 아이디 .. " " .. 아이디 .. "]]" 끝. 끝. 또 다른 돌아가다 데이터.[파라미터] 끝. 또 다른 돌아가다 음.키보드.get Label(라벨)(아이디) 또는 아이디 끝. 끝. 현지의 기능. printDatavalue시간(데이터., 파라미터) -- 데이터 필드: time [ISO 8601 time], timezone [int in minutes], [int]전, [int]후, precision [int], calendarmodel [wikidata URI] -- 정밀도: 0-억년, 1억년, ..., 6-천년, 7세기, 8년, 9년, 10개월, 11일, 12시간, 13분, 14초 -- calendarmodel : 예: http://www.wikidata.org/entity/Q1985727 (전경 그레고리력) 또는 http://www.wikidata.org/wiki/Q11184 (율리우스력) 한다면 파라미터 그리고나서 한다면 파라미터 == "카모델" 그리고나서 데이터..캘린더 모델 = 음.스트링.경기(데이터..캘린더 모델, "Q%d+") -- 캘린더 모델 URI에서 엔티티 ID를 추출합니다. 그렇지 않으면 파라미터 == "시간" 그리고나서 데이터..시간을 = 정규화 날짜(데이터..시간을) 끝. 돌아가다 데이터.[파라미터] 또 다른 돌아가다 포맷 날짜(데이터..시간을, 데이터..정확, 데이터..시간대) 끝. 끝. 현지의 기능. printDatavalueMonualText(데이터., 파라미터) -- 데이터 필드: 언어 [문자열], 텍스트 [문자열] 한다면 파라미터 그리고나서 돌아가다 데이터.[파라미터] 또 다른 현지의 결과 = 음.스트링.서브(음.스트링.서브(18n.단일 언어 텍스트, %% 언어, 데이터.["언어"]), %%text, 데이터.["텍스트"]) 돌아가다 결과 끝. 끝. 현지의 기능. 클레임 검색(독립체, 소유물) 한다면 것은 아니다. 소유물 또는 것은 아니다. 독립체 또는 것은 아니다. 음.키보드.get Best Statements(베스트 스테이트먼트)(독립체, 소유물)[1] 그리고나서 돌아가다 끝. 한다면 음.스트링.경기(소유물, "^P%d+$") 그리고나서 -- 속성이 ID(P..)로 지정된 경우 이 ID로 클레임 목록에 액세스합니다. 돌아가다 음.키보드.get Best Statements(베스트 스테이트먼트)(독립체, 소유물) 또 다른 소유물 = 음.키보드.resolve PropertyId(소유물) 한다면 것은 아니다. 소유물 그리고나서 돌아가다 끝. 돌아가다 음.키보드.get Best Statements(베스트 스테이트먼트)(독립체, 소유물) 끝. 끝. 현지의 기능. snak Value를 취득하다(코딱지 않다, 파라미터) 한다면 코딱지 않다.스냅타이프 == "값" 그리고나서 -- 각 스낵파서를 호출합니다. 한다면 코딱지 않다.데이터.유형 == "문자열' 그리고나서 돌아가다 코딱지 않다.데이터.가치 그렇지 않으면 코딱지 않다.데이터.유형 == "불균등" 그리고나서 돌아가다 printDatavalueCoordinate(코딱지 않다.데이터.가치, 파라미터) 그렇지 않으면 코딱지 않다.데이터.유형 == "실패" 그리고나서 돌아가다 print Datavalue 수량(코딱지 않다.데이터.가치, 파라미터) 그렇지 않으면 코딱지 않다.데이터.유형 == "시간" 그리고나서 돌아가다 printDatavalue시간(코딱지 않다.데이터.가치, 파라미터) 그렇지 않으면 코딱지 않다.데이터.유형 == '아세틸화효소-아세틸화합물 그리고나서 돌아가다 printDatavalueEntity(코딱지 않다.데이터.가치, 파라미터) 그렇지 않으면 코딱지 않다.데이터.유형 == "단일 언어 텍스트" 그리고나서 돌아가다 printDatavalueMonualText(코딱지 않다.데이터.가치, 파라미터) 끝. 끝. 돌아가다 음.키보드.스낵을 렌더링하다(코딱지 않다) 끝. 현지의 기능. get Qualifier Snak(주장하다, 한정자아이디) -- "snak"는 Wikidata 용어로 입력된 키/값 쌍을 나타냅니다. -- 클레임은 이 클레임의 주요 정보를 보유하는 주요 스낵으로 구성됩니다. --아트리뷰트 스니크의 리스트와 참조 스니크의 리스트가 있습니다. 한다면 한정자아이디 그리고나서 -- 지정된 수식자를 키로 속성 snak을 검색합니다. 한다면 주장하다.수식자 그리고나서 현지의 한정자 = 주장하다.수식자[한정자아이디] 한다면 한정자 그리고나서 돌아가다 한정자[1] 끝. 끝. 돌아가다 제로, print Error(인쇄 오류)("오디오를 찾을 수 없습니다") 또 다른 --그렇지 않으면 메인 스낵을 반환합니다. 돌아가다 주장하다[1].메인음 끝. 끝. 현지의 기능. get Value Of Claim(가액 청구)(주장하다, 한정자아이디, 파라미터) 현지의 에러 현지의 코딱지 않다 코딱지 않다, 에러 = get Qualifier Snak(주장하다, 한정자아이디) 한다면 코딱지 않다 그리고나서 돌아가다 snak Value를 취득하다(코딱지 않다, 파라미터) 또 다른 돌아가다 제로, 에러 끝. 끝. 현지의 기능. 참조를 취득하다(틀, 주장하다) 현지의 결과 = "" -- 모든 참조를 트래버스 합니다. 위해서 레퍼런스 에서 쌍들(주장하다.레퍼런스 또는 {}) 하다 현지의 레퍼런스 -- 현재 참조의 모든 부분을 통과합니다. 위해서 스니키, 스나카루 에서 순서쌍(주장하다.레퍼런스[레퍼런스].스니크 또는 {}, 주장하다.레퍼런스[레퍼런스]["스낵스 오더']) 하다 한다면 레퍼런스 그리고나서 레퍼런스 = 레퍼런스 .. ", " 또 다른 레퍼런스 = "" 끝. -- 참조 부품의 속성 라벨을 출력합니다(예: P143의 경우 "imported from"). 레퍼런스 = 레퍼런스 .. 스트링(음.키보드.get Label(라벨)(스니키)) .. ": " -- 이 참조 파트의 모든 값(예를 들어 참조된 클레임이 양쪽 사이트에서 Import된 경우 "독일어 위키백과" 및 "영어 위키백과")을 출력합니다. 위해서 스나크 = 1, #스나카루 하다 한다면 스나크 > 1 그리고나서 레퍼런스 = 레퍼런스 .. ", " 끝. 레퍼런스 = 레퍼런스 .. snak Value를 취득하다(스나카루[스나크]) 끝. 끝. 한다면 레퍼런스 그리고나서 결과 = 결과 .. 틀:확장 태그("ref", 레퍼런스) 끝. 끝. 돌아가다 결과 끝. 현지의 기능. 해석 입력(틀) 현지의 qid = 틀.args.qid 또는 음.키보드.getEntityIdForCurrentPage() 또는 제로 한다면 qid 그리고. (#qid == 0) 그리고나서 qid = 제로 끝. 현지의 소유물아이디 = 음.본문.다듬다(틀.args[1] 또는 "") 현지의 input_parm = 음.본문.다듬다(틀.args[2] 또는 "") 한다면 input_parm ~= "페치_위키다타" 그리고나서 돌아가다 거짓의, input_parm, 제로, 제로 끝. 현지의 주장하다 한다면 qid 그리고. 음.키보드.entity Exists(엔티티 엑시스)(qid) 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(qid, 소유물아이디)[1] 그리고나서 주장하다 = 음.키보드.get Best Statements(베스트 스테이트먼트)(qid, 소유물아이디) 한다면 것은 아니다. 주장하다 그리고나서 돌아가다 거짓의, "", 제로, 제로 끝. 또 다른 돌아가다 거짓의, "", 제로, 제로 끝. 돌아가다 진실의, 주장하다 끝. 현지의 기능. is Type(isType)(주장하다, 유형) 돌아가다 주장하다 그리고. 주장하다.메인음.스냅타이프 == "값" 그리고. 주장하다.메인음.데이터.유형 == 유형 끝. 현지의 기능. 가치의 취득(주장하다, 구분하다, 라벨 훅) 한다면 라벨 훅 == 제로 그리고나서 라벨 훅 = 기능. (q번호) 돌아가다 제로; 끝. 끝. 현지의 나가. = {} 한다면 주장하다[1] 그리고나서 현지의 i = 1 하는 동안에 주장하다[i] ~= 제로 하다 한다면 is Type(isType)(주장하다[i], '아세틸화효소-아세틸화합물) 그리고나서 현지의 q번호 = 'Q' .. 주장하다[i].메인음.데이터.가치["contract-id"] 현지의 시트링크 = 음.키보드.get Sitelink를 취득하다(q번호) 현지의 라벨. = 라벨 훅(q번호) 또는 음.키보드.get Label(라벨)(q번호) 또는 q번호 한다면 시트링크 그리고나서 나가.[#나가. + 1] = "[[" .. 시트링크 .. " " .. 라벨. .. "]]" 또 다른 나가.[#나가. + 1] = "[:d:] .. q번호 .. " " .. 라벨. .. "]] <abbr title='" .. 18n["실패"]["로컬 문서를 찾을 수 없습니다."] .. "[*] </abbr>" 끝. 또 다른 나가.[#나가. + 1] = 음.키보드.스낵을 렌더링하다(주장하다[i].메인음) 끝. i = i + 1 끝. 끝. 돌아가다 table.concat(나가., 구분하다) 끝. ------------------------------------------------------------------------------ -- 모듈 글로벌 함수 한다면 디버깅 그리고나서 기능. p.검사I18n(틀) 현지의 값 = 18n 위해서 _, 열쇠 에서 쌍들(틀.args) 하다 열쇠 = 음.본문.다듬다(열쇠) 값 = 값[열쇠] 끝. 돌아가다 값 끝. 끝. 기능. p.묘사인(틀) 현지의 언어 코드 = 틀.args[1] 현지의 아이디 = 틀.args[2] -- 지정된 언어 또는 이 Wikipedia 사이트의 기본 언어로 된 Wikidata 엔티티에 대한 설명을 반환합니다. 돌아가다 음.키보드.엔티티(아이디):getDescription(설명)(언어 코드 또는 위키.언어 코드) 끝. 기능. p.라벨 입력(틀) 현지의 언어 코드 = 틀.args[1] 현지의 아이디 = 틀.args[2] -- 지정된 언어 또는 이 위키피디아 사이트의 기본 언어로 된 Wikidata 엔티티의 반환 라벨 돌아가다 음.키보드.엔티티(아이디):get Label(라벨)(언어 코드 또는 위키.언어 코드) 끝. -- 이것은 하나의 값 또는 여러 개의 값이 존재하는 경우 쉼표로 구분된 목록을 얻기 위해 사용됩니다. p.가치의 취득 = 기능.(틀) 현지의 디폴트 구분 = ", " -- **나중에 국제화** 현지의 구분하다 = 틀.args.구분자 또는 "" 구분하다 = string.gsub(구분하다, '"', '') 한다면 #구분하다 == 0 그리고나서 구분하다 = 디폴트 구분 끝. 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. 돌아가다 가치의 취득(주장하다, 구분하다) 끝. -- 위와 동일하지만, 사용 가능한 경우 레이블에 단축 이름 속성을 사용합니다. p.getValueShortName = 기능.(틀) 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. -- Wiki 링크된 값이 가능하면 링크로 출력되는 경우 현지의 기능. 라벨 훅 (q번호) 현지의 라벨. 현지의 i = 1 한다면 음.키보드.entity Exists(엔티티 엑시스)(q번호) 그리고나서 한다면 음.키보드.get Best Statements(베스트 스테이트먼트)(q번호, "P1813")[1] 그리고나서 하는 동안에 음.키보드.get Best Statements(베스트 스테이트먼트)(q번호, "P1813")[i] ~= 제로 하다 한다면 음.키보드.get Best Statements(베스트 스테이트먼트)(q번호, "P1813")[i].메인음.데이터.가치.언어 == "en" 그리고나서 라벨. = 음.키보드.get Best Statements(베스트 스테이트먼트)(q번호, "P1813")[i].메인음.데이터.가치.본문 끝. i = i + 1 끝. 끝. 끝. 한다면 라벨. == 제로 또는 라벨. == "" 그리고나서 돌아가다 제로 끝. 돌아가다 라벨. 끝. 돌아가다 가치의 취득(주장하다, ", ", 라벨 훅); 끝. -- 이것은 하나의 값 또는 여러 개의 값이 존재하는 경우 쉼표로 구분된 목록을 얻기 위해 사용됩니다. -- QID를 사용하여 임의의 엔트리에서 가져옵니다. -- 사용방법: {{#호출:Wikidata get Value FromID <ID> <프로퍼티> FETCH_WIKIDATA} -- 예:{{#제외:Wikidata get Value FromID Q151973 P26 FETCH_WIKIDATA} - '리처드 버튼'에서 '배우자'(P26) 값을 가져옵니다(Q151973) --사용은 삼가해 주세요.*비싼 콜입니다* p.값 취득원아이디 = 기능.(틀) 현지의 아이템 아이디 = 음.본문.다듬다(틀.args[1] 또는 "") 현지의 소유물아이디 = 음.본문.다듬다(틀.args[2] 또는 "") 현지의 input_parm = 음.본문.다듬다(틀.args[3] 또는 "") 한다면 input_parm == "페치_위키다타" 그리고나서 현지의 주장하다 한다면 틀.args[1] 그리고. 음.키보드.entity Exists(엔티티 엑시스)(아이템 아이디) 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(아이템 아이디, 소유물아이디)[1] 그리고나서 주장하다 = 음.키보드.get Best Statements(베스트 스테이트먼트)(아이템 아이디, 소유물아이디) 끝. 한다면 주장하다 그리고나서 돌아가다 가치의 취득(주장하다, ", ") 또 다른 돌아가다 "" 끝. 또 다른 돌아가다 input_parm 끝. 끝. 현지의 기능. get Qualifier(틀, 출력 훅) 현지의 소유물아이디 = 음.본문.다듬다(틀.args[1] 또는 "") 현지의 한정자아이디 = 음.본문.다듬다(틀.args[2] 또는 "") 현지의 input_parm = 음.본문.다듬다(틀.args[3] 또는 "") 한다면 input_parm == "페치_위키다타" 그리고나서 현지의 엔티티ID = 음.키보드.getEntityIdForCurrentPage() 한다면 음.키보드.entity Exists(엔티티 엑시스)(엔티티ID) ~= 제로 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(엔티티ID, 소유물아이디)[1] ~= 제로 그리고나서 현지의 나가. = {} 현지의 i = 1 하는 동안에 음.키보드.get Best Statements(베스트 스테이트먼트)(엔티티ID, 소유물아이디)[i] ~= 제로 하다 위해서 k2, v2 에서 쌍들(음.키보드.get Best Statements(베스트 스테이트먼트)(엔티티ID, 소유물아이디)[i].수식자[한정자아이디]) 하다 한다면 v2.스냅타이프 == '값' 그리고나서 나가.[#나가. + 1] = 출력 훅(v2); 끝. 끝. i = i + 1 끝. 돌아가다 table.concat(나가., ", "), 진실의 또 다른 돌아가다 "", 거짓의 끝. 또 다른 돌아가다 input_parm, 거짓의 끝. 끝. p.get Qualifier Value = 기능.(틀) 현지의 기능. 출력값(가치) 현지의 q번호 = 'Q' .. 가치.데이터.가치["contract-id"] 한다면 (음.키보드.get Sitelink를 취득하다(q번호)) 그리고나서 돌아가다 "[[" .. 음.키보드.get Sitelink를 취득하다(q번호) .. "]]" 또 다른 돌아가다 "[:d:] .. q번호 .. " " ..q번호 .. "]] <abbr title='" .. 18n["실패"]["로컬 문서를 찾을 수 없습니다."] .. "[*] </abbr>" 끝. 끝. 돌아가다 (get Qualifier(틀, 출력값)) 끝. -- 이것은 연결되지 않는 'male'(속성 p21)과 같은 값 및 천 개의 구분자가 없는 숫자를 얻기 위해 사용됩니다. p.취득 Raw Value = 기능.(틀) 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. 현지의 결과 = {} 현지의 i = 1 하는 동안에 주장하다[i] ~= 제로 하다 -- number type: 1,000개의 구분자, 경계 및 단위를 삭제합니다. 한다면 is Type(isType)(주장하다[i], "실패") 그리고나서 결과[#결과 +1] = 음.스트링.서브(음.키보드.스낵을 렌더링하다(주장하다[i].메인음), (%d), (%d)", "%1%2") 결과[#결과 +1] = 음.스트링.서브(음.키보드.스낵을 렌더링하다(주장하다[i].메인음), (%d)±.*", "%1") 또 다른 결과[#결과 + 1] = 음.키보드.스낵을 렌더링하다(주장하다[i].메인음) 끝. i = i + 1 끝. 돌아가다 table.concat(결과, ', ') 끝. -- getRawValue에 의해 반환된 숫자 값의 단위 이름을 가져오는 데 사용됩니다. p.유닛을 취득하다 = 기능.(틀) 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. 현지의 결과 = {} 현지의 i = 1 하는 동안에 주장하다[i] ~= 제로 하다 현지의 i = 1 한다면 is Type(isType)(주장하다[i], "실패") 그리고나서 결과[#결과 +1] = 음.스트링.후보선수(음.스낵을 렌더링하다(주장하다[i].메인음), 음.스트링.발견하다(결과, " ")+1, -1) 또 다른 결과[#결과 + 1] = 음.스낵을 렌더링하다(주장하다[i].메인음) 끝. i = i + 1 끝. 돌아가다 결과 끝. -- getRawValue에서 반환된 수치와 함께 장치의 QID를 사용하기 위해 사용됩니다. p.get Unit ID(유닛ID = 기능.(틀) 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. 현지의 결과 한다면 is Type(isType)(주장하다[1], "실패") 그리고나서 -- Wikidata에서 유닛 엔트리의 URL을 가져옵니다. 결과 = 주장하다[1].메인음.데이터.가치.구성 단위 -- "Q"에서 마지막 비트(QID)로 다시 입력합니다. 결과 = 음.스트링.후보선수(결과, 음.스트링.발견하다(결과, 'Q'), -1) 끝. 돌아가다 결과 끝. p.get Raw Qualifier Value = 기능.(틀) 현지의 기능. 출력 훅(가치) 한다면 가치.데이터.가치["contract-id"] 그리고나서 돌아가다 음.키보드.get Label(라벨)('Q' .. 가치.데이터.가치["contract-id"]) 또 다른 돌아가다 가치.데이터.가치 끝. 끝. 현지의 리트, 데이터 취득 = get Qualifier(틀, 출력 훅) 한다면 데이터 취득 그리고나서 리트 = string.uper(스트링.서브(리트, 1, 1)) .. 스트링.서브(리트, 2) 끝. 돌아가다 리트 끝. -- 링크되지 않는 date_of_birth(P569) 등의 날짜 값을 취득할 때 사용합니다. -- 날짜와 시간은 ISO 8601 형식(일부)으로 저장됩니다. 현재 로컬 포맷 날짜(날짜, 정밀도, 시간대) 함수는 시간대를 처리하지 않습니다. --그래서 아래 formatDate 호출에 "Z"를 입력합니다. p.get Date Value(날짜 값) = 기능.(틀) 현지의 date_format = 음.본문.다듬다(틀.args[3] 또는 18n["일시"]["기본 형식"]) 현지의 date_addon = 음.본문.다듬다(틀.args[4] 또는 18n["일시"]["디폴트 애드온"]) 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. 현지의 나가. = {} 현지의 i = 1 하는 동안에 주장하다[i] ~= 제로 하다 한다면 주장하다[i].메인음.데이터.유형 == '시간 그리고나서 현지의 타임스탬프 = 주장하다[i].메인음.데이터.가치.시간을 현지의 날짜 정밀도 = 주장하다[i].메인음.데이터.가치.정확 -- 1년은 다음과 같이 저장할 수 있습니다.+ 1872-00-00T00:00:00Z", -- "+1872-01-01T00:00:00Z" 전날처럼 여기서 처리됩니다. 그리고 그것이 1871년의 마지막 날이기 때문에 그 해는 틀렸다. -- 따라서 월 0, 일 0 타임스탬프를 1월 1일로 수정합니다. 타임스탬프 = 타임스탬프:서브("%-00%-00T", - 01-01T) 나가.[#나가. + 1] = parseDateFull(타임스탬프, 날짜 정밀도, date_format, date_addon) i = i + 1 끝. 끝. 돌아가다 table.concat(나가., ", ") 끝. p.get Qualifier Date Value = 기능.(틀) 현지의 date_format = 음.본문.다듬다(틀.args[4] 또는 18n["일시"]["기본 형식"]) 현지의 date_addon = 음.본문.다듬다(틀.args[5] 또는 18n["일시"]["디폴트 애드온"]) 현지의 기능. 출력 훅(가치) 현지의 타임스탬프 = 가치.데이터.가치.시간을 돌아가다 parseDateValue 값(타임스탬프, date_format, date_addon) 끝. 돌아가다 (get Qualifier(틀, 출력 훅)) 끝. --이미지(P18), Gene Atlas 이미지(P692) 등 특정 속성을 가진 모든 이미지를 가져오기 위해 사용합니다. -- 파라미터는 속성입니다.ID 값 / FETCH_WIKIDATA / 0 구분자(기본값=스페이스) 크기(기본값=프레임 없음) -- 표준 wiki-markup [[File:선택 가능한 크기와 구분자(html)를 가진 각 이미지의 파일 이름 크기] -- 예: {{##filename:Wikidata getImages P18 FETCH_WIKIDATA}} -- 예: {{##filename:Wikidata getImages P18 FETCH_WIKIDATA <br> 250px} -- "Commons Media" 유형이 아닌 속성을 선택하면 빈 텍스트가 반환됩니다. p.이미지 가져오기 = 기능.(틀) 현지의 세프 = 음.본문.다듬다(틀.args[3] 또는 " ") 현지의 imgsize를 하다 = 음.본문.다듬다(틀.args[4] 또는 "프레임 없음") 현지의 가세요, 주장하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 주장하다 끝. 한다면 (주장하다[1] 그리고. 주장하다[1].메인음.데이터형 == "Commons Media") 그리고나서 현지의 나가. = {} 현지의 i = 1 하는 동안에 주장하다[i] ~= 제로 하다 현지의 파일명 = 주장하다[i].메인음.데이터.가치 나가.[#나가. + 1] = "[파일:] .. 파일명 .. " " .. imgsize를 하다 .. "]]" i = i + 1 끝. 돌아가다 table.concat(나가., 세프) 또 다른 돌아가다 "" 끝. 끝. -- 이것은 'A01.1.00.005'(속성 P1323)와 같은 TA98(Termologia Anatomica 초판 1998) 값을 얻기 위해 사용됩니다. --이것들은 http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/01.1.00.005%20Entity%20TA98%20EN.htm에 링크됩니다. -- 새로운 mw를 사용합니다.직접 스낵을 사용하지 않고 Wikibase 호출을 실행하다 -- formatPropertyValues는 P1323 값이 ", "와 연결된 테이블을 반환하므로 반환 문자열을 작성하려면 테이블로 분할해야 합니다. p.취득하다 = 기능.(틀) 현지의 entid = 음.키보드.getEntityIdForCurrentPage() 현지의 소품 = 음.키보드.엔티티(entid):format Property Values('P1323') 현지의 나가. = {} 현지의 t = {} 위해서 k, v 에서 쌍들(소품) 하다 한다면 k == '값' 그리고나서 t = 음.본문.분열되다( v, ", ") 위해서 k2, v2 에서 쌍들(t) 하다 나가.[#나가. + 1] = [http://www.unifr.ch/ifaa/Public/EntryPage/TA98%20Tree/Entity%20TA98%20EN/] .. 스트링.서브(v2, 2) .. %20 엔티티 %20TA98%20EN.htm" .. v2 .. "]" 끝. 끝. 끝. 현지의 리트 = table.concat(나가., "<br>") 한다면 #리트 == 0 그리고나서 리트 = "잘못된 TA" 끝. 돌아가다 리트 끝. --[[ Wikidata에서 이미지 범례를 반환하는 데 사용됩니다. image는 속성 P18입니다. 이미지 범례는 속성 P2096입니다. 호출: {{#invoke:Wikidata get Image Legend <PARAMETER> lang=<ISO-639 코드> id=<QID >}}: 항목 QID(비용 호출)에서 "FETCH_WIKIDATA"와 동일한 경우를 제외하고 매개 변수를 반환합니다. 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.get Image Legend = 기능.(틀) -- 이름 있는 파라미터 ID를 찾습니다.이 ID가 공백일 경우 0으로 합니다. 현지의 아이디 = 틀.args.아이디 한다면 아이디 그리고. (#아이디 == 0) 그리고나서 아이디 = 제로 끝. -- 이름 있는 파라미터 lang을 찾습니다. -- 2글자의 ISO-639 언어 코드를 포함해야 합니다. -- 공백일 경우 로컬 Wiki 언어를 가져옵니다. 현지의 언어 = 틀.args.언어 한다면 (것은 아니다. 언어) 또는 (#언어 < > 2) 그리고나서 언어 = 음.언어.get Content Language(get Content Language)().코드 끝. -- first named 파라미터는 로컬파라미터입니다(지정된 경우). 현지의 input_parm = 음.본문.다듬다(틀.args[1] 또는 "") 한다면 input_parm == "페치_위키다타" 그리고나서 현지의 imgll 한다면 아이디 그리고. 음.키보드.entity Exists(엔티티 엑시스)(아이디) 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1] 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1].메인음.데이터 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1].순위 == "실패" 그리고나서 -- getBestStatements 에서는 우선값이 있는 경우 우선 순위가 매겨집니다. imgll = 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1].메인음.데이터.가치 그렇지 않으면 아이디 그리고. 음.키보드.entity Exists(엔티티 엑시스)(아이디) 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1] 그리고. 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1].메인음.데이터 그리고나서 -- best 스테이트먼트에서 출력되는 정상 및 우선 순위 값만 imgll = 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 'P18')[1].메인음.데이터.가치 끝. 돌아가다 imgll 또 다른 돌아가다 input_parm 끝. 끝. -- 이것은 여러 개의 값이 존재하는 경우 쉼표로 구분된 목록으로 속성의 모든 값의 QID를 가져오기 위해 사용됩니다. -- 사용방법: {{# 호출:Wikidata getPropertyID <프로퍼티>ID > FETCH_WIKIDATA}} -- 사용방법: {{# 호출:Wikidata getPropertyID <프로퍼티>ID > <Input Parameter> qid = <QID >}}: p.getProperty아이디 = 기능.(틀) 현지의 가세요, 청구하다 = 해석 입력(틀) 한다면 것은 아니다. 가세요 그리고나서 돌아가다 청구하다 끝. -- Wiki 링크된 값이 테이블 내의 QID를 수집하는 경우 한다면 (청구하다[1] 그리고. 청구하다[1].메인음.스냅타이프 == "값" 그리고. 청구하다[1].메인음.데이터.유형 == '아세틸화효소-아세틸화합물) 그리고나서 현지의 나가. = {} 현지의 i = 1 하는 동안에 주장하다[i] ~= 제로 하다 나가.[#나가. + 1] = 'Q' .. 주장하다[i].메인음.데이터.가치["contract-id"] i = i + 1 끝. 돌아가다 table.concat(나가., ", ") 또 다른 -- Wikibase-displayid가 아니므로 빈칸으로 되돌립니다. 돌아가다 "" 끝. 끝. -- 현재 페이지의 페이지 ID(Q...)를 반환하거나 Wikidata에 연결되지 않은 페이지가 없습니다. 기능. p.페이지 ID(틀) 돌아가다 음.키보드.getEntityIdForCurrentPage() 끝. 기능. p.주장하다(틀) 현지의 소유물 = 틀.args[1] 또는 "" 현지의 아이디 = 틀.args["id"] 또는 음.키보드.getEntityIdForCurrentPage() 현지의 한정자아이디 = 틀.args["실패"] 현지의 파라미터 = 틀.args["파라미터"] 현지의 목록. = 틀.args[리스트] 현지의 레퍼런스 = 틀.args["참고 자료"] 현지의 샤워기 = 틀.args["드라이브러"] 현지의 체납 = 틀.args["디폴트"] 한다면 체납 그리고나서 샤워기 = 제로 끝. -- Wikidata 엔티티를 확인합니다. 한다면 것은 아니다. 음.키보드.entity Exists(엔티티 엑시스)(아이디) 그리고나서 한다면 샤워기 그리고나서 돌아가다 print Error(인쇄 오류)("오디오를 찾을 수 없습니다") 또 다른 돌아가다 체납 끝. 끝. -- 지정된 속성을 만족시키는 첫 번째 클레임을 가져옵니다. 현지의 주장하다 = 음.키보드.get Best Statements(베스트 스테이트먼트)(아이디, 소유물) 또는 제로 한다면 것은 아니다. 주장하다 또는 것은 아니다. 주장하다[1] 그리고나서 한다면 샤워기 그리고나서 돌아가다 print Error(인쇄 오류)("오디오를 찾을 수 없습니다") 또 다른 돌아가다 체납 끝. 끝. -- 정렬할 필요가 없습니다.최고의 스테이트먼트는 우선 순위를 매긴다. 현지의 결과 현지의 에러 현지의 i = 1 한다면 목록. 그리고나서 현지의 가치 -- 모든 요소에 대해 반복하여 값을 반환합니다(존재하는 경우). 결과 = {} 위해서 idx 에서 쌍들(주장하다) 하다 현지의 주장하다 = 주장하다[i] 가치, 에러 = get Value Of Claim(가액 청구)(주장하다, 한정자아이디, 파라미터) 한다면 것은 아니다. 가치 그리고. 샤워기 그리고나서 가치 = 에러 끝. 한다면 가치 그리고. 레퍼런스 그리고나서 가치 = 가치 .. 참조를 취득하다(틀, 주장하다) 끝. 결과[#결과 + 1] = 가치 i = i + 1 끝. 결과 = table.concat(결과, 목록.) 또 다른 -- 첫 번째 요소를 반환합니다. 현지의 주장하다 = 주장하다[i] 결과, 에러 = get Value Of Claim(가액 청구)(주장하다, 한정자아이디, 파라미터) 한다면 결과 그리고. 레퍼런스 그리고나서 결과 = 결과 .. 참조를 취득하다(틀, 주장하다) 끝. 끝. 한다면 결과 그리고나서 돌아가다 결과 또 다른 한다면 샤워기 그리고나서 돌아가다 에러 또 다른 돌아가다 체납 끝. 끝. 끝. -- 엔티티 오브젝트를 조사합니다. 기능. p.보기(틀) 현지의 f = (틀.args[1] 또는 틀.args.아이디) 그리고. 틀 또는 틀:부모 취득() 현지의 아이디 = f.args.아이디 한다면 아이디 그리고. (#아이디 == 0) 그리고나서 아이디 = 제로 끝. 현지의 데이터. = 음.키보드.엔티티(아이디) 한다면 것은 아니다. 아이디 또는 것은 아니다. 음.키보드.entity Exists(엔티티 엑시스)(아이디) 그리고나서 돌아가다 제로 끝. 현지의 i = 1 하는 동안에 진실의 하다 현지의 색인 = f.args[i] 한다면 것은 아니다. 색인 그리고나서 한다면 유형(데이터.) == "테이블" 그리고나서 돌아가다 음.본문.json Encode(입력 코드)(데이터., 음.본문.JSON_PRESERVE_KEYS + 음.본문.JSON_예쁘다) 또 다른 돌아가다 스트링(데이터.) 끝. 끝. 데이터. = 데이터.[색인] 또는 데이터.[톤수(색인)] 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 끝. i = i + 1 끝. 끝. -- 특정 Wiki 사이트 링크 취득 --qid가 제공되지 않은 경우 현재 항목의 sitelink를 가져옵니다. 기능. p.get Site Link(틀) 현지의 qid = 틀.args.qid 한다면 qid == "" 그리고나서 qid = 제로 끝. 현지의 f = 음.본문.다듬다( 틀.args[1] 또는 "") 한다면 것은 아니다. quid 또는 것은 아니다. 음.키보드.entity Exists(엔티티 엑시스)(qid) 그리고나서 돌아가다 끝. 현지의 링크 = 음.키보드.get Sitelink를 취득하다( f ) 한다면 것은 아니다. 링크 그리고나서 돌아가다 끝. 돌아가다 링크 끝. 기능. p.버리다(틀) 현지의 f = (틀.args[1] 또는 틀.args.아이디) 그리고. 틀 또는 틀:부모 취득() 현지의 데이터. = 음.키보드.엔티티(f.args.아이디) 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 18n.경고 덤프 끝. 현지의 i = 1 하는 동안에 진실의 하다 현지의 색인 = f.args[i] 한다면 것은 아니다. 색인 그리고나서 돌아가다 "<pre>"..음.덤프 오브젝트(데이터.).."</pre>".. 18n.경고 덤프 끝. 데이터. = 데이터.[색인] 또는 데이터.[톤수(색인)] 한다면 것은 아니다. 데이터. 그리고나서 돌아가다 18n.경고 덤프 끝. i = i + 1 끝. 끝. 돌아가다 p