한국어 위키백과의 틀:인용/설명문서에는 TemplateData가 비어 있어서 영어 위키백과의 내용을 복사해왔는데요, 전부 영어로 되어 있어 한국어로 바꿔야 할 것 같아서 다음 판들을 복사해 스크립트를 사용해서 변경하겠습니다.
- https://ko.wikipedia.org/w/index.php?title=틀:뉴스 인용/설명문서&oldid=28053525
- https://ko.wikipedia.org/w/index.php?title=틀:웹 인용/설명문서&oldid=28053510
- https://ko.wikipedia.org/w/index.php?title=틀:서적 인용/설명문서&oldid=28053513
- https://ko.wikipedia.org/w/index.php?title=틀:저널 인용/설명문서&oldid=28053516
const citeNews = {
description: '제목 등 주어진 정보를 이용하여 뉴스 인용을 만듭니다.',
params: '생략',
maps: '생략',
paramOrder: '생략',
};
const citeJournal = '생략';
const citeWeb = '생략';
const citeBook = '생략';
function replaceEn(target, source) {
const koenMap = {};
const enkoMap = {};
for (const param in source.params) {
if (!source.params[param].aliases) {
continue;
}
if (/^[a-z0-9-]+$/.test(param)) {
for (const alias of source.params[param].aliases) {
if (/가-힣-/.test(alias)) {
koenMap[alias] = param;
enkoMap[param] = alias;
}
}
} else {
for (const alias of source.params[param].aliases) {
if (/^[a-z0-9-]+/.test(alias)) {
koenMap[param] = alias;
enkoMap[alias] = param;
}
}
}
}
for (const param in target.params) {
if (enkoMap[param]) {
const ko = enkoMap[param];
if (source.params[param]) {
target.params[param].label = source.params[param].label;
target.params[param].description = source.params[param].description;
}
if (source.params[ko]) {
target.params[param].label = source.params[ko].label;
target.params[param].description = source.params[ko].description;
}
}
}
return target;
}
cite = replaceEn(cite, citeJournal);
cite = replaceEn(cite, citeNews);
cite = replaceEn(cite, citeBook);
cite = replaceEn(cite, citeWeb);
console.log(JSON.stringify(cite));
JSON을 Prettier로 한번 처리하는데 이건 위 코드에서 생략됐습니다.