local err_msg = {
['nihongo'] = 'Japanese or romaji text required',
['hanyu'] = 'Chinese or pinyin text required',
}
local err_cat = {
['nihongo'] = '[[Category:Nihongo template errors]]',
['hanyu'] = '[[Category:Hanyu template errors]]',
}
err_msg = err_msg.nihongo,
err_cat = err_cat.nihongo,
},
['hanyu'] = {
tag = 'zh',
system = 'pinyin',
system_link = '[[Pinyin]]',
err_msg = err_msg.hanyu,
err_cat = err_cat.hanyu,
},
['hanyu3'] = {
tag = 'zh',
system = 'pinyin',
err_msg = err_msg.hanyu,
err_cat = err_cat.hanyu,
},
['hanyu hrt'] = {
tag = 'zh',
system = 'pinyin',
err_msg = err_msg.hanyu,
err_cat = err_cat.hanyu,
},
['hanyu foot'] = {
tag = 'zh',
system = 'pinyin',
system_link = '[[Pinyin]]',
err_msg = err_msg.hanyu,
err_cat = err_cat.hanyu,
},
}
--[[--------------------------< C O M M O N >------------------------------------------------------------------
Common support for {{nihongo}} and {{hanyu}}
render order: is translated (English), native, romanized
--[[--------------------------< C O M M O N _ R O M A N I Z E D _ N A T I V E _ T R A N S L A T E D >----------
Common support for {{nihongo3}} and {{hanyu3}}
render order: is romanized, native, translated (English)
--[[--------------------------< C O M M O N _ N A T I V E _ R O M A N I Z E D _ T R A N S L A T E D >----------
Common support for {{nihongo krt}} and {{hanyu krt}}
render order: is native, romanized, translated (English)
--[[--------------------------< C O M M O N _ F O O T >--------------------------------------------------------
Common support for {{nihongo foot}} and {{hanyu foot}}
render order: is English<ref>native, romanized</ref>
local function nihongo_foot (frame)
return common_foot (frame, 'nihongo foot')
end
--[=[-------------------------< H A N Y U >--------------------------------------------------------------------
Implement {{hanyu}} using Module:Lang for language and transliteration markup
{{hanyu|<English>|<chinese>|<pinyin>|<extra>|<extra2>|lead=yes}}
<English>, <chinese>, and <pinyin> are positional parameters
<English>: rendered as presented; purports to be English translation of <kanji/kana>
<chinese>: Chinese language text using Chinese script; TODO: require?
<pinyin>: Pinyin romanization (transliteration); TODO: in Module:Lang/data change tooltip text to 'Pinyin romanization'?
<extra> and <extra2> are positional or named: |extra= and |extra2=; mixing can be problematic
<extra> is rendered as presented preceeded with <comma><space>
<extra2> is rendered as presented preceeded with <space>
|lead=: takes one value 'yes'; renders language name same as {{lang-zh}} but also adds [[Pinyin]]:<space> ahead of the romanization; TODO: in Module:Lang, turnoff tooltip for transl when |lead=yes
]=]
local function hanyu (frame)
return common (frame, 'hanyu')
end
--[=[-------------------------< H A N Y U 3 >------------------------------------------------------------------
Implement {{hanyu3}} using Module:Lang for language and transliteration markup
Similar to {{hanyu}} but changes rendered order and does not support |lead=
{{hanyu3|<English>|<chinese>|<pinyin>|<extra>|<extra2>}}
<English>, <chinese>, and <pinyin> are positional parameters
<English>: rendered as presented; purports to be English translation of <kanji/kana>
<chinese>: Chinese language text using Chinese script; TODO: require?
<pinyin>: Pinyin romanization (transliteration); TODO: in Module:Lang/data change tooltip text to 'Pinyin romanization'?
<extra> and <extra2> are positional or named: |extra= and |extra2=; mixing can be problematic
<extra> is rendered as presented preceeded with <comma><space>
<extra2> is rendered as presented preceeded with <space>
]=]
local function hanyu3 (frame)
return common_romanized_native_translated (frame, 'hanyu3')
end
--[=[-------------------------< H A N Y U _ H R T >------------------------------------------------------------
Implement {{hanyu hrt}} using Module:Lang for language and transliteration markup
Similar to {{hanyu}} but changes rendered order and does not support |lead=
{{hanyu krt|<English>|<chinese>|<pinyin>|<extra>|<extra2>}}
<English>, <chinese>, and <pinyin> are positional parameters
<English>: rendered as presented; purports to be English translation of <kanji/kana>
<chinese>: Chinese language text using Chinese script; TODO: require?
<pinyin>: Pinyin romanization (transliteration); TODO: in Module:Lang/data change tooltip text to 'Pinyin romanization'?
<extra> and <extra2> are positional or named: |extra= and |extra2=; mixing can be problematic
<extra> is rendered as presented preceeded with <comma><space>
<extra2> is rendered as presented preceeded with <space>
]=]
local function hanyu_hrt (frame)
return common_native_romanized_translated (frame, 'hanyu hrt')
end
--[=[-------------------------< H A N Y U _ F O O T >----------------------------------------------------------
Implement {{hanyu_foot}} using Module:Lang for language and transliteration markup
{{hanyu foot|<English>|<chinese>|<pinyin>|<extra>|<extra2>|<post>|lead=yes|group}}
<English>, <chinese>, and <pinyin> are positional parameters
<English>: rendered as presented; purports to be English translation of <kanji/kana>
<chinese>: Chinese language text using Chinese script; TODO: require?
<pinyin>: Pinyin romanization (transliteration); TODO: in Module:Lang/data change tooltip text to 'Pinyin romanization'?
<extra> and <extra2> are positional or named: |extra= and |extra2=; mixing can be problematic
<extra> is rendered as presented preceeded with <comma><space>
<extra2> is rendered as presented preceeded with <space>
<post> is positional or named: |post= is a postscript character preceding the <ref>..</ref> tag (after <English>)
|lead=: takes one value 'yes'; renders language name same as {{lang-zh}} but also adds [[Pinyin]]:<space> ahead of the romanization;
TODO: in Module:Lang, turnoff tooltip for transl when |lead=yes
in the live template |lead= also adds the Help:Installing Chinese character sets link; this is not supported in this code (hanyu nor hanyu3 have this support)
|group=: the group attribute in <ref group="..."> and in {{reflist}}
]=]
local function hanyu_foot (frame)
return common_foot (frame, 'hanyu foot')
end
nihongo = nihongo,
nihongo3 = nihongo3,
nihongokrt = nihongo_krt, -- TODO: rename function name in {{#invoke}} to use nihongo_krt; delete this line
nihongo_krt = nihongo_krt,
nihongo_foot = nihongo_foot,
hanyu = hanyu,
hanyu3 = hanyu3,
hanyu_hrt = hanyu_hrt,
hanyu_foot = hanyu_foot,
}
|