<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://taiwiki.nekoch18.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nekoch18</id>
	<title>TAIchannelWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://taiwiki.nekoch18.net/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nekoch18"/>
	<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Nekoch18"/>
	<updated>2026-06-03T23:37:15Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:TNT/config&amp;diff=2541</id>
		<title>モジュール:TNT/config</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:TNT/config&amp;diff=2541"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {};&lt;br /&gt;
&lt;br /&gt;
-- The tracking category name for global TemplateData pages located on Commons&lt;br /&gt;
-- under &amp;quot;Data:Templatedata/&amp;quot; instead of &amp;quot;Data:TemplateData/&amp;quot;,&lt;br /&gt;
-- defaults to `&amp;quot;Templates using legacy global TemplateData table name&amp;quot;`&lt;br /&gt;
-- when not set; set to `false` to disable all categorisation&lt;br /&gt;
p.legacyTemplateDataCategoryName = nil;&lt;br /&gt;
&lt;br /&gt;
-- Whether to add the language subtag to the template name using {{#translation:}},&lt;br /&gt;
-- defaults to `false`&lt;br /&gt;
p.translatableCategoryLink = true;&lt;br /&gt;
&lt;br /&gt;
return p;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Nmbox/doc&amp;diff=2539</id>
		<title>テンプレート:Nmbox/doc</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Nmbox/doc&amp;diff=2539"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Languages|Template:Nmbox/doc}}&lt;br /&gt;
{{Documentation subpage}}&lt;br /&gt;
{{Uses TemplateStyles|Template:Nmbox/styles.css}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;templatedata&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
	&amp;quot;description&amp;quot;: {&lt;br /&gt;
		&amp;quot;en&amp;quot;: &amp;quot;This is a meta-template for generating navigation boxes to go at the bottom of pages.&amp;quot;,&lt;br /&gt;
		&amp;quot;cs&amp;quot;: &amp;quot;Toto je meta-šablona pro generování navigačních polí, která se mají přesunout na konec stránek.&amp;quot;,&lt;br /&gt;
		&amp;quot;tr&amp;quot;: &amp;quot;Bu, sayfaların alt kısmına gitmek üzere gezinme kutuları oluşturmak için bir meta şablondur.&amp;quot;&lt;br /&gt;
	},&lt;br /&gt;
	&amp;quot;format&amp;quot;: &amp;quot;block&amp;quot;,&lt;br /&gt;
	&amp;quot;params&amp;quot;: {&lt;br /&gt;
		&amp;quot;image&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: {&lt;br /&gt;
				&amp;quot;en&amp;quot;: &amp;quot;Logo image&amp;quot;,&lt;br /&gt;
				&amp;quot;cs&amp;quot;: &amp;quot;Obrázek loga&amp;quot;,&lt;br /&gt;
				&amp;quot;tr&amp;quot;: &amp;quot;Logo resmi&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;description&amp;quot;: {&lt;br /&gt;
				&amp;quot;en&amp;quot;: &amp;quot;A logo image.&amp;quot;,&lt;br /&gt;
				&amp;quot;cs&amp;quot;: &amp;quot;Obrázek loga&amp;quot;,&lt;br /&gt;
				&amp;quot;tr&amp;quot;: &amp;quot;Bir logo resmi&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-file-name&amp;quot;&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;header&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: {&lt;br /&gt;
				&amp;quot;en&amp;quot;: &amp;quot;Header&amp;quot;,&lt;br /&gt;
				&amp;quot;cs&amp;quot;: &amp;quot;Záhlaví&amp;quot;,&lt;br /&gt;
				&amp;quot;tr&amp;quot;: &amp;quot;Başlık&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;description&amp;quot;: {&lt;br /&gt;
				&amp;quot;en&amp;quot;: &amp;quot;A header notice.&amp;quot;,&lt;br /&gt;
				&amp;quot;cs&amp;quot;: &amp;quot;Upozornění v záhlaví.&amp;quot;,&lt;br /&gt;
				&amp;quot;tr&amp;quot;: &amp;quot;Bir başlık uyarısı&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;wiki-page-name&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		},&lt;br /&gt;
		&amp;quot;text&amp;quot;: {&lt;br /&gt;
			&amp;quot;label&amp;quot;: {&lt;br /&gt;
				&amp;quot;en&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
				&amp;quot;cs&amp;quot;: &amp;quot;Text&amp;quot;,&lt;br /&gt;
				&amp;quot;tr&amp;quot;: &amp;quot;Metin&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;description&amp;quot;: {&lt;br /&gt;
				&amp;quot;en&amp;quot;: &amp;quot;Description notice.&amp;quot;,&lt;br /&gt;
				&amp;quot;cs&amp;quot;: &amp;quot;Upozornění s popisem.&amp;quot;,&lt;br /&gt;
				&amp;quot;tr&amp;quot;: &amp;quot;Açıklama uyarısı&amp;quot;&lt;br /&gt;
			},&lt;br /&gt;
			&amp;quot;type&amp;quot;: &amp;quot;content&amp;quot;,&lt;br /&gt;
			&amp;quot;required&amp;quot;: true&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/templatedata&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Examples ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{{nmbox&lt;br /&gt;
 | image = [[File:Geographylogo.png|25px|Languages|link=]]&lt;br /&gt;
 | header = [[Project:Language policy|{{Languages/Title|{{SUBPAGENAME}}}}]]&amp;amp;nbsp;&lt;br /&gt;
 | text = Languages code&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{nmbox&lt;br /&gt;
 | image = [[File:Geographylogo.png|25px|Languages|link=]]&lt;br /&gt;
 | header = [[Project:Language policy|{{Languages/Title|{{SUBPAGENAME}}}}]]&amp;amp;nbsp;&lt;br /&gt;
 | text = Languages code&lt;br /&gt;
}}&amp;lt;includeonly&amp;gt;&lt;br /&gt;
[[Category:Mbox templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Languages/Lang&amp;diff=2537</id>
		<title>テンプレート:Languages/Lang</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Languages/Lang&amp;diff=2537"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifexist: {{#if:{{{2|}}}|{{{2}}}|{{translatable}}}}/{{{1|}}}&lt;br /&gt;
|&amp;amp;nbsp;• &amp;lt;bdi lang=&amp;quot;{{{1|}}}&amp;quot;&amp;gt;{{#if:{{{2|}}}&lt;br /&gt;
  |&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{{2|}}}/{{{1|}}}}} {{#language:{{{1|}}}}}]&amp;lt;/span&amp;gt;&lt;br /&gt;
  |&amp;lt;span class=&amp;quot;plainlinks&amp;quot;&amp;gt;[{{fullurl:{{translatable}}/{{{1|}}}}} {{#language:{{{1|}}}}}]&amp;lt;/span&amp;gt;&lt;br /&gt;
  }}&amp;lt;/bdi&amp;gt;&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:GetFallback&amp;diff=2535</id>
		<title>テンプレート:GetFallback</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:GetFallback&amp;diff=2535"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch: {{Uselang|lang={{{1|}}}}}&lt;br /&gt;
| arz = ar&lt;br /&gt;
| be-x-old = be-tarask &amp;lt;!-- same language; be-x-old is used on be-x-old.wikipedia but be-tarask is the preferred code --&amp;gt;&lt;br /&gt;
| be-tarask = be-x-old&lt;br /&gt;
| crh-cyrl | crh-latn = crh&lt;br /&gt;
| als | bar | de-formal | de-at | de-ch | frr | ksh = de&lt;br /&gt;
| en-gb = en &lt;br /&gt;
| ckb | mzn | glk = fa&lt;br /&gt;
| mg | br | co | frp | ht | ty | wa = fr&lt;br /&gt;
| hif-deva | hif-latn = hif&lt;br /&gt;
| ike-cans | ike-latn = ike&lt;br /&gt;
| vec = it&lt;br /&gt;
| kk-arab | kk-cyrl | kk-latn | kk-cn | kk-kz | kk-tr = kk&lt;br /&gt;
| ku-latn | ku-arab = ku&lt;br /&gt;
| nds-nl | pdt = nds&lt;br /&gt;
| nds = nds-nl&lt;br /&gt;
| af | fy | li | nl-informal | vls | zea = nl&lt;br /&gt;
| szl | csb = pl&lt;br /&gt;
| pt-br = pt&lt;br /&gt;
| ruq-cyrl | ruq-grek | ruq-latn = ruq&lt;br /&gt;
| sr-ec | sr-el = sr&lt;br /&gt;
| tg-cyrl | tg-latn = tg&lt;br /&gt;
| tt-cyrl | tt-latn = tt&lt;br /&gt;
| gan | gan-hans | ii | wuu | za | zh | zh-cn | zh-my | zh-sg = zh-hans&lt;br /&gt;
| ami | cdo | gan-hant | hak | lzh | nan | pwn | szy | tay | trv | zh-classical | zh-hk | zh-min-nan | zh-mo | zh-tw = zh-hant&lt;br /&gt;
| #default = {{#if: {{{default|}}} | {{{default|}}} | en }}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Uselang&amp;diff=2533</id>
		<title>テンプレート:Uselang</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Uselang&amp;diff=2533"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#if: {{{lang|}}} | {{{lang|}}} | {{int:Lang}} }}&amp;lt;noinclude&amp;gt;{{documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:LangSwitch&amp;diff=2531</id>
		<title>テンプレート:LangSwitch</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:LangSwitch&amp;diff=2531"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{{ &lt;br /&gt;
  {{#switch: {{{ {{Uselang|lang={{{lang|}}}}} |}}} &lt;br /&gt;
  | ~ = empty&lt;br /&gt;
  |   = {{#switch: {{{ {{GetFallback| {{Uselang|lang={{{lang|}}}}} |default=default}} |}}}&lt;br /&gt;
    | ~ = empty&lt;br /&gt;
    |   = {{#switch: {{{ {{GetFallback2| {{Uselang|lang={{{lang|}}}}} |default=default}} |}}}&lt;br /&gt;
      | ~        = empty&lt;br /&gt;
      |          = {{#if: {{{default|}}} | default | en }}&lt;br /&gt;
      | #default = {{GetFallback2| {{Uselang|lang={{{lang|}}}}} |default=default}}&lt;br /&gt;
      }}&lt;br /&gt;
    | #default = {{GetFallback| {{Uselang|lang={{{lang|}}}}} |default=default}}&lt;br /&gt;
    }}&lt;br /&gt;
  | #default = {{Uselang|lang={{{lang|}}}}}&lt;br /&gt;
  }} &lt;br /&gt;
|}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Languages/Title&amp;diff=2529</id>
		<title>テンプレート:Languages/Title</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Languages/Title&amp;diff=2529"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{LangSwitch|lang={{{1|}}}&lt;br /&gt;
|default={{int:tpt-languages-legend{{#if:{{{1|}}}|/{{{1}}} }} }}&lt;br /&gt;
|aln=Gjuha:&lt;br /&gt;
|am=ቋምቋ፦&lt;br /&gt;
|an=Idioma:&lt;br /&gt;
|ang=Sprǣc:&lt;br /&gt;
|ar=:اللغة&lt;br /&gt;
|arc=ܠܫܢܐ:&lt;br /&gt;
|arn=Dungun:&lt;br /&gt;
|arz=:اللغة&lt;br /&gt;
|avk=Ava:&lt;br /&gt;
|ay=Aru:&lt;br /&gt;
|az=Dil:&lt;br /&gt;
|bat-smg=Kalba:&lt;br /&gt;
|bcc=زبان:&lt;br /&gt;
|bcl=Tataramon:&lt;br /&gt;
|cdo=Ngṳ̄-ngiòng:&lt;br /&gt;
|ceb=Pinulongan:&lt;br /&gt;
|ch=Lengguahe:&lt;br /&gt;
|ckb-arab=زمان:&lt;br /&gt;
|co=Lingua :&lt;br /&gt;
|crh-cyrl=Тиль:&lt;br /&gt;
|crh-latn=Til:&lt;br /&gt;
|cu=ѩꙁꙑ́къ :&lt;br /&gt;
|cv=Чĕлхе:&lt;br /&gt;
|ext=Palra:&lt;br /&gt;
|fa=زبان:&lt;br /&gt;
|fo=Mál:&lt;br /&gt;
|frc=Langue :&lt;br /&gt;
|fy=Taal:&lt;br /&gt;
|ga=Teanga:&lt;br /&gt;
|gag=Dil:&lt;br /&gt;
|gan-hans=语言:&lt;br /&gt;
|gan-hant=語言:&lt;br /&gt;
|gn=Ñe&#039;ẽ:&lt;br /&gt;
|got=Razda:&lt;br /&gt;
|grc=Γλῶσσα:&lt;br /&gt;
|gu=ભાષા:&lt;br /&gt;
|gv=Çhengey:&lt;br /&gt;
|hak=Ngî-ngièn:&lt;br /&gt;
|haw=Kou &#039;ōlelo:&lt;br /&gt;
|he=שפה:&lt;br /&gt;
|hi=भाषा:&lt;br /&gt;
|hif-latn=Bhasa:&lt;br /&gt;
|hy=Լեզու.&lt;br /&gt;
|ie=Lingue:&lt;br /&gt;
|ilo=Lengguahe:&lt;br /&gt;
|ja=言語:&lt;br /&gt;
|ka=ენა:&lt;br /&gt;
|kaa=Til:&lt;br /&gt;
|kg=Ndinga:&lt;br /&gt;
|kiu=Zon:&lt;br /&gt;
|kk-arab=:ٴتىل&lt;br /&gt;
|kk-latn=Til:&lt;br /&gt;
|km=ភាសា៖&lt;br /&gt;
|kn=ಭಾಷೆ:&lt;br /&gt;
|kv=Кыв:&lt;br /&gt;
|kw=Yeth:&lt;br /&gt;
|la=Lingua:&lt;br /&gt;
|li=Taol:&lt;br /&gt;
|lij=Lengoa:&lt;br /&gt;
|loz=Zwa Siselect:&lt;br /&gt;
|lzh=語：&lt;br /&gt;
|mdf=Кяль:&lt;br /&gt;
|mg=fiteny:&lt;br /&gt;
|mhr=Йылме:&lt;br /&gt;
|ml=ഭാഷ:&lt;br /&gt;
|mn=Хэл:&lt;br /&gt;
|mwl=Lhéngua:&lt;br /&gt;
|my=ဘာသာ:&lt;br /&gt;
|nah=Tlahtōlli:&lt;br /&gt;
|nap=Lengua:&lt;br /&gt;
|nds=Spraak:&lt;br /&gt;
|nds-nl=Taal:&lt;br /&gt;
|ne=भाषा:&lt;br /&gt;
|new=भाषा:&lt;br /&gt;
|nso=Polelo:&lt;br /&gt;
|os=Æвзаг:&lt;br /&gt;
|pa=ਭਾਸ਼ਾ:&lt;br /&gt;
|pam=Amanu:&lt;br /&gt;
|pdt=Sproak:&lt;br /&gt;
|pnb=بولی:&lt;br /&gt;
|pnt=Γλώσσαν:&lt;br /&gt;
|prg=Bilā:&lt;br /&gt;
|ps=ژبه:&lt;br /&gt;
|qu=Rimay:&lt;br /&gt;
|sa=भाषा:&lt;br /&gt;
|sah=Омугун тыла:&lt;br /&gt;
|sc=Limba:&lt;br /&gt;
|sdc=Linga:&lt;br /&gt;
|se=Giella:&lt;br /&gt;
|sei=Itom:&lt;br /&gt;
|shi=tutlayt:&lt;br /&gt;
|si=භාෂාව:&lt;br /&gt;
|sli=Sproache:&lt;br /&gt;
|so=Luqada:&lt;br /&gt;
|sq=Gjuha:&lt;br /&gt;
|srn=Tongo:&lt;br /&gt;
|ss=Lúlwîmi:&lt;br /&gt;
|stq=Sproake:&lt;br /&gt;
|su=Basa:&lt;br /&gt;
|szl=Godka:&lt;br /&gt;
|ta=மொழி:&lt;br /&gt;
|te=భాష:&lt;br /&gt;
|tet=Lian:&lt;br /&gt;
|tg-cyrl=Забон:&lt;br /&gt;
|th=ภาษา:&lt;br /&gt;
|ti=ቋንቋ:&lt;br /&gt;
|tk=Dil:&lt;br /&gt;
|to=Lea:&lt;br /&gt;
|tyv=Дыл:&lt;br /&gt;
|ug-latn=Til:&lt;br /&gt;
|vec=Łéngua:&lt;br /&gt;
|vro=Kiil:&lt;br /&gt;
|wa=Lingaedje:&lt;br /&gt;
|war=Yinaknan:&lt;br /&gt;
|wo=Làkk:&lt;br /&gt;
|wuu=语言:&lt;br /&gt;
|xal=Келн:&lt;br /&gt;
|xh=Ulwimi:&lt;br /&gt;
|xmf=ნინა:&lt;br /&gt;
|yo=Èdè:&lt;br /&gt;
|yue=語言:&lt;br /&gt;
|zea=Taele:&lt;br /&gt;
|zu=Ulimi:&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;{{Documentation}}&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Languages&amp;diff=2527</id>
		<title>テンプレート:Languages</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Languages&amp;diff=2527"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:&amp;lt;languages exists/&amp;gt;|&amp;lt;languages/&amp;gt;|&amp;lt;languages/&amp;gt;|&lt;br /&gt;
&amp;lt;div style=&amp;quot;display: flow-root;&amp;quot;&amp;gt;{{nmbox&lt;br /&gt;
 | header = {{ll|Project:Language policy|{{int:tpt-languages-legend}}}}&lt;br /&gt;
 | text = &lt;br /&gt;
&#039;&#039;&#039;[[{{{1|:{{translatable}}}}}|English]]&#039;&#039;&#039; {{Languages/Lang|af|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ar|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ast|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|az|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ba|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bcc|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|be|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|be-tarask|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bg|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|br|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bn|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bs|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ca|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ckb|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|cs|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|da|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|de|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|diq|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|el|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|eo|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|es|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|fa|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|fi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|fr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|gl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|gu|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|he|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hu|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hy|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ia|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|id|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|io|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|it|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ja|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|jv|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ka|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|kk|{{{1|}}}|&lt;br /&gt;
}}&amp;lt;span class=&amp;quot;autonym&amp;quot;&amp;gt;{{Languages/Lang|km|{{{1|}}}|&lt;br /&gt;
}}&amp;lt;/span&amp;gt;{{Languages/Lang|ko|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ko-kp|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ksh|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|kw|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|la|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|map-bms|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|min|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|mk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ml|{{{1|}}}|&lt;br /&gt;
}}&amp;lt;span class=&amp;quot;autonym&amp;quot;&amp;gt;{{Languages/Lang|mr|{{{1|}}}|&lt;br /&gt;
}}&amp;lt;/span&amp;gt;{{Languages/Lang|ms|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|mwl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|nl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|no|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|oc|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|or|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|pl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|pt|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|pt-br|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ro|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ru|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sc|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|si|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|so|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sq|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sv|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|syl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ta|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|th|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|tr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|uk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|vi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|yi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|yue|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh-hans|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh-hant|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh-tw|{{{1|}}}}}|&lt;br /&gt;
}}&amp;lt;/div&amp;gt;&amp;lt;!--/nmbox--&amp;gt;&amp;lt;includeonly&amp;gt;{{#if:{{Languages/Lang|af|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ar|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ast|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|az|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bcc|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|be|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|be-tarask|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bg|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|br|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bn|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|bs|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ca|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ckb|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|cs|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|da|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|de|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|diq|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|el|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|eo|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|es|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|fa|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|fi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|fr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|gl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|gu|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|he|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hu|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|hy|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ia|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|id|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|io|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|it|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ja|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|jv|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ka|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|kk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|km|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ko|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ko-kp|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ksh|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|kw|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|la|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|map-bms|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|min|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|mk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ml|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|mr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ms|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|mwl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|nl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|no|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|oc|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|or|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|pl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|pt|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|pt-br|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ro|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ru|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|si|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|so|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sq|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|sv|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|syl|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|ta|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|th|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|tr|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|uk|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|vi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|yi|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|yue|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh-hans|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh-hant|{{{1|}}}|&lt;br /&gt;
}}{{Languages/Lang|zh-tw|{{{1|}}}}}&lt;br /&gt;
||[[Category:Languages pages without translations]]}}&amp;lt;!--/#if--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;[[Category:Languages pages]]&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#switch:{{PAGELANGUAGE}}&lt;br /&gt;
|en=&amp;lt;!--empty--&amp;gt;&lt;br /&gt;
|ku-latn=[[Category:Languages pages/ku]]&lt;br /&gt;
|zh-hans|zh-hant=[[Category:Languages pages/zh]]&lt;br /&gt;
|#default=[[Category:Languages pages{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;!--/#switch--&amp;gt;&amp;lt;/includeonly&amp;gt;}}&amp;lt;!--/#ifeq--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Effective_protection_level&amp;diff=2525</id>
		<title>モジュール:Effective protection level</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Effective_protection_level&amp;diff=2525"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Returns the permission required to perform a given action on a given title.&lt;br /&gt;
-- If no title is specified, the title of the page being displayed is used.&lt;br /&gt;
function p._main(action, pagename)&lt;br /&gt;
	local title&lt;br /&gt;
	if type(pagename) == &#039;table&#039; and pagename.prefixedText then&lt;br /&gt;
		title = pagename&lt;br /&gt;
	elseif pagename then&lt;br /&gt;
		title = mw.title.new(pagename)&lt;br /&gt;
	else&lt;br /&gt;
		title = mw.title.getCurrentTitle()&lt;br /&gt;
	end&lt;br /&gt;
	pagename = title.prefixedText&lt;br /&gt;
	if action ~= &#039;edit&#039; and action ~= &#039;move&#039; and action ~= &#039;create&#039; and action ~= &#039;upload&#039; then&lt;br /&gt;
		error( &#039;First parameter must be one of edit, move, create, upload&#039;, 2 )&lt;br /&gt;
	end&lt;br /&gt;
	if title.namespace == 8 then -- MediaWiki namespace&lt;br /&gt;
		if title.contentModel == &#039;javascript&#039; or title.contentModel == &#039;css&#039; then -- site JS or CSS page&lt;br /&gt;
			return &#039;interfaceadmin&#039;&lt;br /&gt;
		else -- any non-JS/CSS MediaWiki page&lt;br /&gt;
			return &#039;sysop&#039;&lt;br /&gt;
		end&lt;br /&gt;
	elseif title.namespace == 2 and title.isSubpage then&lt;br /&gt;
		if title.contentModel == &#039;javascript&#039; or title.contentModel == &#039;css&#039; then -- user JS or CSS page&lt;br /&gt;
			return &#039;interfaceadmin&#039;&lt;br /&gt;
		elseif title.contentModel == &#039;json&#039; then -- user JSON page&lt;br /&gt;
			return &#039;sysop&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local level = title.protectionLevels[action] and title.protectionLevels[action][1]&lt;br /&gt;
	if level == &#039;sysop&#039; or level == &#039;editprotected&#039; then&lt;br /&gt;
		return &#039;sysop&#039;&lt;br /&gt;
	elseif title.cascadingProtection.restrictions[action] and title.cascadingProtection.restrictions[action][1] then -- used by a cascading-protected page&lt;br /&gt;
		return &#039;sysop&#039;&lt;br /&gt;
	elseif action == &#039;move&#039; then&lt;br /&gt;
		local blacklistentry = mw.ext.TitleBlacklist.test(&#039;edit&#039;, pagename) -- Testing action edit is correct, since this is for the source page. The target page name gets tested with action move.&lt;br /&gt;
		if blacklistentry and not blacklistentry.params.autoconfirmed then&lt;br /&gt;
			return &#039;sysop&#039;&lt;br /&gt;
		elseif title.namespace == 6 then&lt;br /&gt;
			return &#039;sysop&#039;&lt;br /&gt;
		else&lt;br /&gt;
			return &#039;autoconfirmed&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local blacklistentry = mw.ext.TitleBlacklist.test(action, pagename)&lt;br /&gt;
	if blacklistentry then&lt;br /&gt;
		if not blacklistentry.params.autoconfirmed then&lt;br /&gt;
			return &#039;sysop&#039;&lt;br /&gt;
		else&lt;br /&gt;
			return &#039;autoconfirmed&#039;&lt;br /&gt;
		end&lt;br /&gt;
	elseif level == &#039;editsemiprotected&#039; then -- create-semiprotected pages return this for some reason&lt;br /&gt;
		return &#039;autoconfirmed&#039;&lt;br /&gt;
	elseif level then&lt;br /&gt;
		return level&lt;br /&gt;
	elseif action == &#039;upload&#039; then&lt;br /&gt;
		return &#039;uploader&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;*&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
setmetatable(p, { __index = function(t, k)&lt;br /&gt;
	return function(frame)&lt;br /&gt;
		return t._main(k, frame.args[1])&lt;br /&gt;
	end&lt;br /&gt;
end })&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Module_other&amp;diff=2523</id>
		<title>テンプレート:Module other</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Module_other&amp;diff=2523"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#switch:&lt;br /&gt;
  &amp;lt;!--If no or empty &amp;quot;demospace&amp;quot; parameter then detect namespace--&amp;gt;&lt;br /&gt;
  {{#if:{{{demospace|}}}&lt;br /&gt;
  | {{lc: {{{demospace}}} }}    &amp;lt;!--Use lower case &amp;quot;demospace&amp;quot;--&amp;gt;&lt;br /&gt;
  | {{#ifeq:{{NAMESPACE}}|{{ns:Module}}&lt;br /&gt;
    | module&lt;br /&gt;
    | other&lt;br /&gt;
    }}&lt;br /&gt;
  }}&lt;br /&gt;
| module = {{{1|}}}&lt;br /&gt;
| other&lt;br /&gt;
| #default = {{{2|}}}&lt;br /&gt;
}}&amp;lt;!--End switch--&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories and interwikis to the /doc subpage, not here! --&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Pp-template&amp;diff=2521</id>
		<title>テンプレート:Pp-template</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Pp-template&amp;diff=2521"/>
		<updated>2026-06-03T10:21:43Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;includeonly&amp;gt;{{#switch:{{#invoke:Effective protection level|edit|{{FULLPAGENAME}}}}&lt;br /&gt;
|*=[[Category:Pages with incorrect protection templates]]&lt;br /&gt;
|autoconfirmed={{#tag:indicator|[[File:Semi-protection-shackle-keyhole.svg|20px|link=Project:Protected page|alt=Permanently protected {{module other|module|template}}|This high-risk {{module other|module|template}} is permanently semi-protected to prevent vandalism]]|name=&amp;quot;pp-default&amp;quot;}}[[Category:{{module other|Modules subject to page protection|Semi-protected templates}}|{{PAGENAME}}]]&lt;br /&gt;
|sysop={{#tag:indicator|[[File:Full-protection-shackle-keyhole.svg|20px|link=Project:Protected page|alt=Permanently protected {{module other|module|template}}|This high-risk {{module other|module|template}} is permanently protected to prevent vandalism]]|name=&amp;quot;pp-default&amp;quot;}}[[Category:{{module other|Modules subject to page protection|Fully protected templates}}|{{PAGENAME}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Nmbox/styles.css&amp;diff=2519</id>
		<title>テンプレート:Nmbox/styles.css</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Nmbox/styles.css&amp;diff=2519"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.nmbox {&lt;br /&gt;
	/* clear: both; */&lt;br /&gt;
	background: #f8f9fa;&lt;br /&gt;
	border: 1px solid var( --border-color-base, #a2a9b1 );&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	margin: 2px 0;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
}&lt;br /&gt;
.nmbox * {&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
.nmbox-header {&lt;br /&gt;
	background: #eaecf0;&lt;br /&gt;
	padding: 4px 0.5em;&lt;br /&gt;
	font-weight: bold;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	white-space: nowrap&lt;br /&gt;
}&lt;br /&gt;
.nmbox .mbox-image {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	padding-right: 1em;&lt;br /&gt;
}&lt;br /&gt;
.nmbox-text {&lt;br /&gt;
	border-top: 1px solid var( --border-color-base, #a2a9b1 );&lt;br /&gt;
	width: 100%;&lt;br /&gt;
	padding: 4px 0.5em;&lt;br /&gt;
}&lt;br /&gt;
@media screen and (min-width: 768px) {&lt;br /&gt;
	.nmbox-header {&lt;br /&gt;
		display: table-cell;&lt;br /&gt;
		border-right: 1px solid var( --border-color-base, #a2a9b1 );&lt;br /&gt;
		width: 1%;&lt;br /&gt;
	}&lt;br /&gt;
	.nmbox-text {&lt;br /&gt;
		border-top: none;&lt;br /&gt;
		display: table-cell;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night .nmbox-header,&lt;br /&gt;
	html.skin-theme-clientpref-night  .nmbox {&lt;br /&gt;
	    background: transparent;&lt;br /&gt;
	    color: inherit;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
    /* automatic mode */&lt;br /&gt;
    html.skin-theme-clientpref-os .nmbox-header,&lt;br /&gt;
    html.skin-theme-clientpref-os  .nmbox {&lt;br /&gt;
    	background: transparent;&lt;br /&gt;
    	color: inherit;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation/styles.css&amp;diff=2517</id>
		<title>モジュール:Documentation/styles.css</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation/styles.css&amp;diff=2517"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.ts-doc-sandbox .mbox-image	{&lt;br /&gt;
	padding:.75em 0 .75em .75em;&lt;br /&gt;
}&lt;br /&gt;
	&lt;br /&gt;
.ts-doc-doc {&lt;br /&gt;
	clear: both;&lt;br /&gt;
	background-color: #eaf3ff;&lt;br /&gt;
	color: var(--color-base, #202122);&lt;br /&gt;
	border: 1px solid #a3caff;&lt;br /&gt;
	margin-top: 1em;&lt;br /&gt;
	border-top-left-radius: 2px;&lt;br /&gt;
	border-top-right-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-header {&lt;br /&gt;
	background-color: #cbd6f6;&lt;br /&gt;
	color: var(--color-base, #202122);&lt;br /&gt;
	padding: .642857em 1em .5em;&lt;br /&gt;
	border-top-left-radius: 2px;&lt;br /&gt;
	border-top-right-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-heading {&lt;br /&gt;
	display: inline-block;&lt;br /&gt;
	padding-left: 30px;&lt;br /&gt;
	background: center left / 24px 24px no-repeat;&lt;br /&gt;
	/* @noflip */&lt;br /&gt;
	background-image: url( //upload.wikimedia.org/wikipedia/commons/3/32/Codex_icon_puzzle_color-base.svg );&lt;br /&gt;
	height: 24px;&lt;br /&gt;
	line-height: 24px;&lt;br /&gt;
	font-size: 13px;&lt;br /&gt;
	font-weight: 600;&lt;br /&gt;
	letter-spacing: 1px;&lt;br /&gt;
	text-transform: uppercase;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-header .ts-tlinks-tlinks {&lt;br /&gt;
	line-height: 24px;&lt;br /&gt;
	margin-left: 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-header .ts-tlinks-tlinks a {&lt;br /&gt;
	color: var(--color-progressive, #36c);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-header .ts-tlinks-tlinks a:active {&lt;br /&gt;
	color: var(--color-progressive--active, #233566);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-header .ts-tlinks-tlinks a:visited {&lt;br /&gt;
	color: var(--color-visited, #6a60b0);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-header .ts-tlinks-tlinks a:visited:active {&lt;br /&gt;
	color: var(--color-visited--active, #233566);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-content {&lt;br /&gt;
	padding: .214286em 1em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-content:after {&lt;br /&gt;
	content: &#039;&#039;;&lt;br /&gt;
	clear: both;&lt;br /&gt;
	display: block;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-content &amp;gt; :first-child {&lt;br /&gt;
	margin-top: .5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-content &amp;gt; :last-child {&lt;br /&gt;
	margin-bottom: .5em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
.ts-doc-footer {&lt;br /&gt;
	background-color: #eaf3ff;&lt;br /&gt;
	color: var(--color-base, #202122);&lt;br /&gt;
	border: 1px solid #a3caff;&lt;br /&gt;
	padding: .214286em 1em;&lt;br /&gt;
	margin-top: .214286em;&lt;br /&gt;
	font-style: italic;&lt;br /&gt;
	border-bottom-left-radius: 2px;&lt;br /&gt;
	border-bottom-right-radius: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media all and (min-width: 720px) { &lt;br /&gt;
	.ts-doc-header .ts-tlinks-tlinks {&lt;br /&gt;
		float: right;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
html.skin-theme-clientpref-night .ts-doc-header {&lt;br /&gt;
	background-color: #233566;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
html.skin-theme-clientpref-night .ts-doc-heading {&lt;br /&gt;
	background-image: url( &#039;//upload.wikimedia.org/wikipedia/commons/d/d3/OOjs_UI_icon_puzzle-ltr-invert.svg&#039; );	&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
html.skin-theme-clientpref-night .ts-doc-doc,&lt;br /&gt;
html.skin-theme-clientpref-night .ts-doc-footer {&lt;br /&gt;
	background-color: #1b223d;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
	html.skin-theme-clientpref-os .ts-doc-header {&lt;br /&gt;
		background-color: #233566;&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	html.skin-theme-clientpref-os .ts-doc-heading {&lt;br /&gt;
		background-image: url( &#039;//upload.wikimedia.org/wikipedia/commons/d/d3/OOjs_UI_icon_puzzle-ltr-invert.svg&#039; );	&lt;br /&gt;
	}&lt;br /&gt;
	&lt;br /&gt;
	html.skin-theme-clientpref-os .ts-doc-doc,&lt;br /&gt;
	html.skin-theme-clientpref-os .ts-doc-footer {&lt;br /&gt;
		background-color: #1b223d;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box/ombox.css&amp;diff=2515</id>
		<title>モジュール:Message box/ombox.css</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box/ombox.css&amp;diff=2515"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;/**&lt;br /&gt;
 * {{ombox}} (other pages message box) styles&lt;br /&gt;
 *&lt;br /&gt;
 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-enwp-boxes.css&lt;br /&gt;
 * @revision 2021-07-15&lt;br /&gt;
 */&lt;br /&gt;
table.ombox {&lt;br /&gt;
	margin: 4px 10%;&lt;br /&gt;
	border-collapse: collapse;&lt;br /&gt;
	/* Default &amp;quot;notice&amp;quot; gray */&lt;br /&gt;
	border: 1px solid #a2a9b1;&lt;br /&gt;
	background-color: #f8f9fa;&lt;br /&gt;
	color: #333;&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* An empty narrow cell */&lt;br /&gt;
.ombox td.mbox-empty-cell {&lt;br /&gt;
	border: none;&lt;br /&gt;
	padding: 0;&lt;br /&gt;
	width: 1px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* The message body cell(s) */&lt;br /&gt;
.ombox th.mbox-text,&lt;br /&gt;
.ombox td.mbox-text {&lt;br /&gt;
	border: none;&lt;br /&gt;
	/* 0.9em left/right */&lt;br /&gt;
	padding: 0.25em 0.9em;&lt;br /&gt;
	/* Make all mboxes the same width regardless of text length */&lt;br /&gt;
	width: 100%;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* The left image cell */&lt;br /&gt;
.ombox td.mbox-image {&lt;br /&gt;
	border: none;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 2px 0 2px 0.9em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* The right image cell */&lt;br /&gt;
.ombox td.mbox-imageright {&lt;br /&gt;
	border: none;&lt;br /&gt;
	text-align: center;&lt;br /&gt;
	padding: 2px 0.9em 2px 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-notice {&lt;br /&gt;
	/* Gray */&lt;br /&gt;
	border-color: #a2a9b1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-speedy {&lt;br /&gt;
	/* Pink */&lt;br /&gt;
	background-color: #fee7e6;&lt;br /&gt;
	color: #333;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-speedy,&lt;br /&gt;
table.ombox-delete {&lt;br /&gt;
	/* Red */&lt;br /&gt;
	border-color: #b32424;&lt;br /&gt;
	border-width: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-content {&lt;br /&gt;
	/* Orange */&lt;br /&gt;
	border-color: #f28500;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-style {&lt;br /&gt;
	/* Yellow */&lt;br /&gt;
	border-color: #fc3;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-move {&lt;br /&gt;
	/* Purple */&lt;br /&gt;
	border-color: #9932cc;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
table.ombox-protection {&lt;br /&gt;
	/* Gray-gold */&lt;br /&gt;
	border-color: #a2a9b1;&lt;br /&gt;
	border-width: 2px;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * {{ombox|small=1}} styles&lt;br /&gt;
 *&lt;br /&gt;
 * These &amp;quot;.mbox-small&amp;quot; classes must be placed after all other&lt;br /&gt;
 * &amp;quot;.ombox&amp;quot; classes. &amp;quot;html body.mediawiki .ombox&amp;quot;&lt;br /&gt;
 * is so they apply only to other page message boxes.&lt;br /&gt;
 *&lt;br /&gt;
 * @source https://www.mediawiki.org/wiki/MediaWiki:Gadget-enwp-boxes.css&lt;br /&gt;
 * @revision 2021-07-15&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
/* For the &amp;quot;small=yes&amp;quot; option. */&lt;br /&gt;
html body.mediawiki .ombox.mbox-small {&lt;br /&gt;
	clear: right;&lt;br /&gt;
	float: right;&lt;br /&gt;
	margin: 4px 0 4px 1em;&lt;br /&gt;
	box-sizing: border-box;&lt;br /&gt;
	width: 238px;&lt;br /&gt;
	font-size: 88%;&lt;br /&gt;
	line-height: 1.25em;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen {&lt;br /&gt;
	html.skin-theme-clientpref-night table.ombox {&lt;br /&gt;
	    background-color: transparent;&lt;br /&gt;
	    color: inherit;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (prefers-color-scheme: dark) {&lt;br /&gt;
    /* automatic mode */&lt;br /&gt;
    html.skin-theme-clientpref-os table.ombox {&lt;br /&gt;
    	background-color: transparent;&lt;br /&gt;
    	color: inherit;&lt;br /&gt;
    }&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
@media screen and (max-width: 720px) {&lt;br /&gt;
  table.ombox {&lt;br /&gt;
	margin: 4px auto;&lt;br /&gt;
  }&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Uses_TemplateStyles/config&amp;diff=2513</id>
		<title>モジュール:Uses TemplateStyles/config</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Uses_TemplateStyles/config&amp;diff=2513"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local cfg = {} -- Don’t touch this line.&lt;br /&gt;
&lt;br /&gt;
-- Subpage blacklist: these subpages will not be categorized (except for the&lt;br /&gt;
-- error category, which is always added if there is an error).&lt;br /&gt;
-- For example “Template:Foo/doc” matches the `doc = true` rule, so it will have&lt;br /&gt;
-- no categories. “Template:Foo” and “Template:Foo/documentation” match no rules,&lt;br /&gt;
-- so they *will* have categories. All rules should be in the&lt;br /&gt;
--   [&#039;&amp;lt;subpage name&amp;gt;&#039;] = true,&lt;br /&gt;
-- format.&lt;br /&gt;
cfg[&#039;subpage_blacklist&#039;] = {&lt;br /&gt;
	[&#039;doc&#039;] = true,&lt;br /&gt;
	[&#039;sandbox&#039;] = true,&lt;br /&gt;
	[&#039;sandbox2&#039;] = true,&lt;br /&gt;
	[&#039;testcases&#039;] = true,&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
-- Sandbox title: if the stylesheet’s title is &amp;lt;template&amp;gt;/&amp;lt;stylesheet&amp;gt;.css, the&lt;br /&gt;
-- stylesheet’s sandbox is expected to be at &amp;lt;template&amp;gt;/&amp;lt;sandbox_title&amp;gt;/&amp;lt;stylesheet&amp;gt;.css&lt;br /&gt;
-- Set to nil to disable sandbox links.&lt;br /&gt;
cfg[&#039;sandbox_title&#039;] = &#039;sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- Error category: this category is added if the module call contains errors&lt;br /&gt;
-- (e.g. no stylesheet listed). A category name without namespace, or nil&lt;br /&gt;
-- to disable categorization (not recommended).&lt;br /&gt;
cfg[&#039;error_category&#039;] = nil&lt;br /&gt;
&lt;br /&gt;
-- Default category: this category is added if no custom category is specified&lt;br /&gt;
-- in module/template call. A category name without namespace, or nil&lt;br /&gt;
-- to disable categorization.&lt;br /&gt;
cfg[&#039;default_category&#039;] = &#039;Templates using TemplateStyles&#039;&lt;br /&gt;
	.. mw.getCurrentFrame():callParserFunction(&amp;quot;#translation:&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
-- Protection conflict category: this category is added if the protection level&lt;br /&gt;
-- of any stylesheet differs from the one of the template. A category name&lt;br /&gt;
-- without namespace, or nil to disable categorization (not recommended).&lt;br /&gt;
cfg[&#039;protection_conflict_category&#039;] = nil&lt;br /&gt;
&lt;br /&gt;
-- Padlock pattern: Lua pattern to search on protected stylesheets for, or nil&lt;br /&gt;
-- to disable padlock check.&lt;br /&gt;
cfg[&#039;padlock_pattern&#039;] = nil&lt;br /&gt;
&lt;br /&gt;
-- Missing padlock category: this category is added if a protected stylesheet&lt;br /&gt;
-- doesn’t contain any padlock template (specified by the above Lua pattern).&lt;br /&gt;
-- A category name without namespace (no nil allowed) if the pattern is not nil,&lt;br /&gt;
-- unused (and thus may be nil) otherwise.&lt;br /&gt;
cfg[&#039;missing_padlock_category&#039;] = nil&lt;br /&gt;
&lt;br /&gt;
return cfg -- Don’t touch this line.&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:TableTools&amp;diff=2511</id>
		<title>モジュール:TableTools</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:TableTools&amp;diff=2511"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--                               TableTools                                       --&lt;br /&gt;
--                                                                                --&lt;br /&gt;
-- This module includes a number of functions for dealing with Lua tables.        --&lt;br /&gt;
-- It is a meta-module, meant to be called from other Lua modules, and should     --&lt;br /&gt;
-- not be called directly from #invoke.                                           --&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Define often-used variables and functions.&lt;br /&gt;
local floor = math.floor&lt;br /&gt;
local infinity = math.huge&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
local checkTypeMulti = libraryUtil.checkTypeMulti&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- isPositiveInteger&lt;br /&gt;
--&lt;br /&gt;
-- This function returns true if the given value is a positive integer, and false&lt;br /&gt;
-- if not. Although it doesn&#039;t operate on tables, it is included here as it is&lt;br /&gt;
-- useful for determining whether a given table key is in the array part or the&lt;br /&gt;
-- hash part of a table.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.isPositiveInteger(v)&lt;br /&gt;
	return type(v) == &#039;number&#039; and v &amp;gt;= 1 and floor(v) == v and v &amp;lt; infinity&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- isNan&lt;br /&gt;
--&lt;br /&gt;
-- This function returns true if the given number is a NaN value, and false&lt;br /&gt;
-- if not. Although it doesn&#039;t operate on tables, it is included here as it is&lt;br /&gt;
-- useful for determining whether a value can be a valid table key. Lua will&lt;br /&gt;
-- generate an error if a NaN is used as a table key.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.isNan(v)&lt;br /&gt;
	return type(v) == &#039;number&#039; and tostring(v) == &#039;-nan&#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- shallowClone&lt;br /&gt;
--&lt;br /&gt;
-- This returns a clone of a table. The value returned is a new table, but all&lt;br /&gt;
-- subtables and functions are shared. Metamethods are respected, but the returned&lt;br /&gt;
-- table will have no metatable of its own.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.shallowClone(t)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		ret[k] = v&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- removeDuplicates&lt;br /&gt;
--&lt;br /&gt;
-- This removes duplicate values from an array. Non-positive-integer keys are&lt;br /&gt;
-- ignored. The earliest value is kept, and all subsequent duplicate values are&lt;br /&gt;
-- removed, but otherwise the array order is unchanged.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.removeDuplicates(t)&lt;br /&gt;
	checkType(&#039;removeDuplicates&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local isNan = p.isNan&lt;br /&gt;
	local ret, exists = {}, {}&lt;br /&gt;
	for i, v in ipairs(t) do&lt;br /&gt;
		if isNan(v) then&lt;br /&gt;
			-- NaNs can&#039;t be table keys, and they are also unique, so we don&#039;t need to check existence.&lt;br /&gt;
			ret[#ret + 1] = v&lt;br /&gt;
		else&lt;br /&gt;
			if not exists[v] then&lt;br /&gt;
				ret[#ret + 1] = v&lt;br /&gt;
				exists[v] = true&lt;br /&gt;
			end&lt;br /&gt;
		end	&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end			&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- numKeys&lt;br /&gt;
--&lt;br /&gt;
-- This takes a table and returns an array containing the numbers of any numerical&lt;br /&gt;
-- keys that have non-nil values, sorted in numerical order.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.numKeys(t)&lt;br /&gt;
	checkType(&#039;numKeys&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local isPositiveInteger = p.isPositiveInteger&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		if isPositiveInteger(k) then&lt;br /&gt;
			nums[#nums + 1] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- affixNums&lt;br /&gt;
--&lt;br /&gt;
-- This takes a table and returns an array containing the numbers of keys with the&lt;br /&gt;
-- specified prefix and suffix. For example, for the table&lt;br /&gt;
-- {a1 = &#039;foo&#039;, a3 = &#039;bar&#039;, a6 = &#039;baz&#039;} and the prefix &amp;quot;a&amp;quot;, affixNums will&lt;br /&gt;
-- return {1, 3, 6}.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.affixNums(t, prefix, suffix)&lt;br /&gt;
	checkType(&#039;affixNums&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;affixNums&#039;, 2, prefix, &#039;string&#039;, true)&lt;br /&gt;
	checkType(&#039;affixNums&#039;, 3, suffix, &#039;string&#039;, true)&lt;br /&gt;
&lt;br /&gt;
	local function cleanPattern(s)&lt;br /&gt;
		-- Cleans a pattern so that the magic characters ()%.[]*+-?^$ are interpreted literally.&lt;br /&gt;
		return s:gsub(&#039;([%(%)%%%.%[%]%*%+%-%?%^%$])&#039;, &#039;%%%1&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	prefix = prefix or &#039;&#039;&lt;br /&gt;
	suffix = suffix or &#039;&#039;&lt;br /&gt;
	prefix = cleanPattern(prefix)&lt;br /&gt;
	suffix = cleanPattern(suffix)&lt;br /&gt;
	local pattern = &#039;^&#039; .. prefix .. &#039;([1-9]%d*)&#039; .. suffix .. &#039;$&#039;&lt;br /&gt;
&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		if type(k) == &#039;string&#039; then			&lt;br /&gt;
			local num = mw.ustring.match(k, pattern)&lt;br /&gt;
			if num then&lt;br /&gt;
				nums[#nums + 1] = tonumber(num)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- numData&lt;br /&gt;
--&lt;br /&gt;
-- Given a table with keys like (&amp;quot;foo1&amp;quot;, &amp;quot;bar1&amp;quot;, &amp;quot;foo2&amp;quot;, &amp;quot;baz2&amp;quot;), returns a table&lt;br /&gt;
-- of subtables in the format &lt;br /&gt;
-- { [1] = {foo = &#039;text&#039;, bar = &#039;text&#039;}, [2] = {foo = &#039;text&#039;, baz = &#039;text&#039;} }&lt;br /&gt;
-- Keys that don&#039;t end with an integer are stored in a subtable named &amp;quot;other&amp;quot;.&lt;br /&gt;
-- The compress option compresses the table so that it can be iterated over with&lt;br /&gt;
-- ipairs.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.numData(t, compress)&lt;br /&gt;
	checkType(&#039;numData&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;numData&#039;, 2, compress, &#039;boolean&#039;, true)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		local prefix, num = mw.ustring.match(tostring(k), &#039;^([^0-9]*)([1-9][0-9]*)$&#039;)&lt;br /&gt;
		if num then&lt;br /&gt;
			num = tonumber(num)&lt;br /&gt;
			local subtable = ret[num] or {}&lt;br /&gt;
			if prefix == &#039;&#039; then&lt;br /&gt;
				-- Positional parameters match the blank string; put them at the start of the subtable instead.&lt;br /&gt;
				prefix = 1&lt;br /&gt;
			end&lt;br /&gt;
			subtable[prefix] = v&lt;br /&gt;
			ret[num] = subtable&lt;br /&gt;
		else&lt;br /&gt;
			local subtable = ret.other or {}&lt;br /&gt;
			subtable[k] = v&lt;br /&gt;
			ret.other = subtable&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if compress then&lt;br /&gt;
		local other = ret.other&lt;br /&gt;
		ret = p.compressSparseArray(ret)&lt;br /&gt;
		ret.other = other&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- compressSparseArray&lt;br /&gt;
--&lt;br /&gt;
-- This takes an array with one or more nil values, and removes the nil values&lt;br /&gt;
-- while preserving the order, so that the array can be safely traversed with&lt;br /&gt;
-- ipairs.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.compressSparseArray(t)&lt;br /&gt;
	checkType(&#039;compressSparseArray&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local nums = p.numKeys(t)&lt;br /&gt;
	for _, num in ipairs(nums) do&lt;br /&gt;
		ret[#ret + 1] = t[num]&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- sparseIpairs&lt;br /&gt;
--&lt;br /&gt;
-- This is an iterator for sparse arrays. It can be used like ipairs, but can&lt;br /&gt;
-- handle nil values.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
function p.sparseIpairs(t)&lt;br /&gt;
	checkType(&#039;sparseIpairs&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local nums = p.numKeys(t)&lt;br /&gt;
	local i = 0&lt;br /&gt;
	local lim = #nums&lt;br /&gt;
	return function ()&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		if i &amp;lt;= lim then&lt;br /&gt;
			local key = nums[i]&lt;br /&gt;
			return key, t[key]&lt;br /&gt;
		else&lt;br /&gt;
			return nil, nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
-- size&lt;br /&gt;
--&lt;br /&gt;
-- This returns the size of a key/value pair table. It will also work on arrays,&lt;br /&gt;
-- but for arrays it is more efficient to use the # operator.&lt;br /&gt;
------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
function p.size(t)&lt;br /&gt;
	checkType(&#039;size&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for k in pairs(t) do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	return i&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
local function defaultKeySort(item1, item2)&lt;br /&gt;
	-- &amp;quot;number&amp;quot; &amp;lt; &amp;quot;string&amp;quot;, so numbers will be sorted before strings.&lt;br /&gt;
	local type1, type2 = type(item1), type(item2)&lt;br /&gt;
	if type1 ~= type2 then&lt;br /&gt;
		return type1 &amp;lt; type2&lt;br /&gt;
	else -- This will fail with table, boolean, function.&lt;br /&gt;
		return item1 &amp;lt; item2&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	Returns a list of the keys in a table, sorted using either a default&lt;br /&gt;
	comparison function or a custom keySort function.&lt;br /&gt;
]]&lt;br /&gt;
function p.keysToList(t, keySort, checked)&lt;br /&gt;
	if not checked then&lt;br /&gt;
		checkType(&#039;keysToList&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
		checkTypeMulti(&#039;keysToList&#039;, 2, keySort, { &#039;function&#039;, &#039;boolean&#039;, &#039;nil&#039; })&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local list = {}&lt;br /&gt;
	local index = 1&lt;br /&gt;
	for key, value in pairs(t) do&lt;br /&gt;
		list[index] = key&lt;br /&gt;
		index = index + 1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if keySort ~= false then&lt;br /&gt;
		keySort = type(keySort) == &#039;function&#039; and keySort or defaultKeySort&lt;br /&gt;
		&lt;br /&gt;
		table.sort(list, keySort)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return list&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	Iterates through a table, with the keys sorted using the keysToList function.&lt;br /&gt;
	If there are only numerical keys, sparseIpairs is probably more efficient.&lt;br /&gt;
]]&lt;br /&gt;
function p.sortedPairs(t, keySort)&lt;br /&gt;
	checkType(&#039;sortedPairs&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;sortedPairs&#039;, 2, keySort, &#039;function&#039;, true)&lt;br /&gt;
	&lt;br /&gt;
	local list = p.keysToList(t, keySort, true)&lt;br /&gt;
	&lt;br /&gt;
	local i = 0&lt;br /&gt;
	return function()&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		local key = list[i]&lt;br /&gt;
		if key ~= nil then&lt;br /&gt;
			return key, t[key]&lt;br /&gt;
		else&lt;br /&gt;
			return nil, nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	Returns true if all keys in the table are consecutive integers starting at 1.&lt;br /&gt;
--]]&lt;br /&gt;
function p.isArray(t)&lt;br /&gt;
	checkType(&amp;quot;isArray&amp;quot;, 1, t, &amp;quot;table&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local i = 0&lt;br /&gt;
	for k, v in pairs(t) do&lt;br /&gt;
		i = i + 1&lt;br /&gt;
		if t[i] == nil then&lt;br /&gt;
			return false&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return true&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- { &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot; } -&amp;gt; { a = 1, b = 2, c = 3 }&lt;br /&gt;
function p.invert(array)&lt;br /&gt;
	checkType(&amp;quot;invert&amp;quot;, 1, array, &amp;quot;table&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local map = {}&lt;br /&gt;
	for i, v in ipairs(array) do&lt;br /&gt;
		map[v] = i&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return map&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	{ &amp;quot;a&amp;quot;, &amp;quot;b&amp;quot;, &amp;quot;c&amp;quot; } -&amp;gt; { [&amp;quot;a&amp;quot;] = true, [&amp;quot;b&amp;quot;] = true, [&amp;quot;c&amp;quot;] = true }&lt;br /&gt;
--]]&lt;br /&gt;
function p.listToSet(t)&lt;br /&gt;
	checkType(&amp;quot;listToSet&amp;quot;, 1, t, &amp;quot;table&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	local set = {}&lt;br /&gt;
	for _, item in ipairs(t) do&lt;br /&gt;
		set[item] = true&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return set&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	Recursive deep copy function.&lt;br /&gt;
	Preserves identities of subtables.&lt;br /&gt;
	&lt;br /&gt;
]]&lt;br /&gt;
local function _deepCopy(orig, includeMetatable, already_seen)&lt;br /&gt;
	-- Stores copies of tables indexed by the original table.&lt;br /&gt;
	already_seen = already_seen or {}&lt;br /&gt;
	&lt;br /&gt;
	local copy = already_seen[orig]&lt;br /&gt;
	if copy ~= nil then&lt;br /&gt;
		return copy&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	if type(orig) == &#039;table&#039; then&lt;br /&gt;
		copy = {}&lt;br /&gt;
		for orig_key, orig_value in pairs(orig) do&lt;br /&gt;
			copy[deepcopy(orig_key, includeMetatable, already_seen)] = deepcopy(orig_value, includeMetatable, already_seen)&lt;br /&gt;
		end&lt;br /&gt;
		already_seen[orig] = copy&lt;br /&gt;
		&lt;br /&gt;
		if includeMetatable then&lt;br /&gt;
			local mt = getmetatable(orig)&lt;br /&gt;
			if mt ~= nil then&lt;br /&gt;
				local mt_copy = deepcopy(mt, includeMetatable, already_seen)&lt;br /&gt;
				setmetatable(copy, mt_copy)&lt;br /&gt;
				already_seen[mt] = mt_copy&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else -- number, string, boolean, etc&lt;br /&gt;
		copy = orig&lt;br /&gt;
	end&lt;br /&gt;
	return copy&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.deepCopy(orig, noMetatable, already_seen)&lt;br /&gt;
	checkType(&amp;quot;deepCopy&amp;quot;, 3, already_seen, &amp;quot;table&amp;quot;, true)&lt;br /&gt;
	&lt;br /&gt;
	return _deepCopy(orig, not noMetatable, already_seen)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
	Concatenates all values in the table that are indexed by a number, in order.&lt;br /&gt;
	sparseConcat{ a, nil, c, d }  =&amp;gt;  &amp;quot;acd&amp;quot;&lt;br /&gt;
	sparseConcat{ nil, b, c, d }  =&amp;gt;  &amp;quot;bcd&amp;quot;&lt;br /&gt;
]]&lt;br /&gt;
function p.sparseConcat(t, sep, i, j)&lt;br /&gt;
	local list = {}&lt;br /&gt;
	&lt;br /&gt;
	local list_i = 0&lt;br /&gt;
	for _, v in p.sparseIpairs(t) do&lt;br /&gt;
		list_i = list_i + 1&lt;br /&gt;
		list[list_i] = v&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return table.concat(list, sep, i, j)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- Finds the length of an array, or of a quasi-array with keys such&lt;br /&gt;
-- as &amp;quot;data1&amp;quot;, &amp;quot;data2&amp;quot;, etc., using an exponential search algorithm. &lt;br /&gt;
-- It is similar to the operator #, but may return&lt;br /&gt;
-- a different value when there are gaps in the array portion of the table.&lt;br /&gt;
-- Intended to be used on data loaded with mw.loadData. For other tables, use #.&lt;br /&gt;
-- Note: #frame.args in frame object always be set to 0, regardless of &lt;br /&gt;
-- the number of unnamed template parameters, so use this function for&lt;br /&gt;
-- frame.args.&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
function p.length(t, prefix)&lt;br /&gt;
	-- requiring module inline so that [[Module:Exponential search]]&lt;br /&gt;
	-- which is only needed by this one function&lt;br /&gt;
	-- doesn&#039;t get millions of transclusions&lt;br /&gt;
	local expSearch = require(&amp;quot;Module:Exponential search&amp;quot;)&lt;br /&gt;
	checkType(&#039;length&#039;, 1, t, &#039;table&#039;)&lt;br /&gt;
	checkType(&#039;length&#039;, 2, prefix, &#039;string&#039;, true)&lt;br /&gt;
	return expSearch(function(i)&lt;br /&gt;
		local key&lt;br /&gt;
		if prefix then&lt;br /&gt;
			key = prefix .. tostring(i)&lt;br /&gt;
		else&lt;br /&gt;
			key = i&lt;br /&gt;
		end&lt;br /&gt;
		return t[key] ~= nil&lt;br /&gt;
	end) or 0&lt;br /&gt;
end&lt;br /&gt;
function p.inArray(arr, valueToFind)&lt;br /&gt;
	checkType(&amp;quot;inArray&amp;quot;, 1, arr, &amp;quot;table&amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	-- if valueToFind is nil, error?&lt;br /&gt;
	&lt;br /&gt;
	for _, v in ipairs(arr) do&lt;br /&gt;
		if v == valueToFind then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return false&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:List&amp;diff=2509</id>
		<title>モジュール:List</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:List&amp;diff=2509"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local libUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libUtil.checkType&lt;br /&gt;
local mTableTools = require(&#039;Module:TableTools&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local listTypes = {&lt;br /&gt;
	[&#039;bulleted&#039;] = true,&lt;br /&gt;
	[&#039;unbulleted&#039;] = true,&lt;br /&gt;
	[&#039;horizontal&#039;] = true,&lt;br /&gt;
	[&#039;ordered&#039;] = true,&lt;br /&gt;
	[&#039;horizontal_ordered&#039;] = true&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
function p.makeListData(listType, args)&lt;br /&gt;
	-- Constructs a data table to be passed to p.renderList.&lt;br /&gt;
	local data = {}&lt;br /&gt;
&lt;br /&gt;
	-- Classes and TemplateStyles&lt;br /&gt;
	data.classes = {}&lt;br /&gt;
	data.templatestyles = &#039;&#039;&lt;br /&gt;
	if listType == &#039;horizontal&#039; or listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		table.insert(data.classes, &#039;hlist&#039;)&lt;br /&gt;
		data.templatestyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;, args = { src = &#039;Hlist/styles.css&#039; }&lt;br /&gt;
		}&lt;br /&gt;
	elseif listType == &#039;unbulleted&#039; then&lt;br /&gt;
		table.insert(data.classes, &#039;plainlist&#039;)&lt;br /&gt;
		data.templatestyles = mw.getCurrentFrame():extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;, args = { src = &#039;Plainlist/styles.css&#039; }&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(data.classes, args.class)&lt;br /&gt;
&lt;br /&gt;
	-- Main div style&lt;br /&gt;
	data.style = args.style&lt;br /&gt;
&lt;br /&gt;
	-- Indent for horizontal lists&lt;br /&gt;
	if listType == &#039;horizontal&#039; or listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		local indent = tonumber(args.indent)&lt;br /&gt;
		indent = indent and indent * 1.6 or 0&lt;br /&gt;
		if indent &amp;gt; 0 then&lt;br /&gt;
			data.marginLeft = indent .. &#039;em&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- List style types for ordered lists&lt;br /&gt;
	-- This could be &amp;quot;1, 2, 3&amp;quot;, &amp;quot;a, b, c&amp;quot;, or a number of others. The list style&lt;br /&gt;
	-- type is either set by the &amp;quot;type&amp;quot; attribute or the &amp;quot;list-style-type&amp;quot; CSS&lt;br /&gt;
	-- property.&lt;br /&gt;
	if listType == &#039;ordered&#039; or listType == &#039;horizontal_ordered&#039; then &lt;br /&gt;
		data.listStyleType = args.list_style_type or args[&#039;list-style-type&#039;]&lt;br /&gt;
		data.type = args[&#039;type&#039;]&lt;br /&gt;
&lt;br /&gt;
		-- Detect invalid type attributes and attempt to convert them to&lt;br /&gt;
		-- list-style-type CSS properties.&lt;br /&gt;
		if data.type &lt;br /&gt;
			and not data.listStyleType&lt;br /&gt;
			and not tostring(data.type):find(&#039;^%s*[1AaIi]%s*$&#039;)&lt;br /&gt;
		then&lt;br /&gt;
			data.listStyleType = data.type&lt;br /&gt;
			data.type = nil&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- List tag type&lt;br /&gt;
	if listType == &#039;ordered&#039; or listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		data.listTag = &#039;ol&#039;&lt;br /&gt;
	else&lt;br /&gt;
		data.listTag = &#039;ul&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Start number for ordered lists&lt;br /&gt;
	data.start = args.start&lt;br /&gt;
	if listType == &#039;horizontal_ordered&#039; then&lt;br /&gt;
		-- Apply fix to get start numbers working with horizontal ordered lists.&lt;br /&gt;
		local startNum = tonumber(data.start)&lt;br /&gt;
		if startNum then&lt;br /&gt;
			data.counterReset = &#039;listitem &#039; .. tostring(startNum)&lt;br /&gt;
			data.counterIncrement = &#039;listitem -1&#039;&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- List style&lt;br /&gt;
	 -- ul_style and ol_style are included for backwards compatibility. No&lt;br /&gt;
	 -- distinction is made for ordered or unordered lists.&lt;br /&gt;
	data.listStyle = args.list_style&lt;br /&gt;
&lt;br /&gt;
	-- List items&lt;br /&gt;
	-- li_style is included for backwards compatibility. item_style was included&lt;br /&gt;
	-- to be easier to understand for non-coders.&lt;br /&gt;
	data.itemStyle = args.item_style or args.li_style&lt;br /&gt;
	data.items = {}&lt;br /&gt;
	for _, num in ipairs(mTableTools.numKeys(args)) do&lt;br /&gt;
		local item = {}&lt;br /&gt;
		item.content = args[num]&lt;br /&gt;
		item.style = args[&#039;item&#039; .. tostring(num) .. &#039;_style&#039;]&lt;br /&gt;
			or args[&#039;item_style&#039; .. tostring(num)]&lt;br /&gt;
		item.value = args[&#039;item&#039; .. tostring(num) .. &#039;_value&#039;]&lt;br /&gt;
			or args[&#039;item_value&#039; .. tostring(num)]&lt;br /&gt;
		if item.value ~= nil then&lt;br /&gt;
			item.style = &#039;counter-reset: listitem &#039; .. item.value .. &#039;;counter-increment: none;&#039; .. ((item.style) or &#039;&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		table.insert(data.items, item)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderList(data)&lt;br /&gt;
	-- Renders the list HTML.&lt;br /&gt;
	&lt;br /&gt;
	-- Return the blank string if there are no list items.&lt;br /&gt;
	if type(data.items) ~= &#039;table&#039; or #data.items &amp;lt; 1 then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Render the main div tag.&lt;br /&gt;
	local root = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	for _, class in ipairs(data.classes or {}) do&lt;br /&gt;
		root:addClass(class)&lt;br /&gt;
	end&lt;br /&gt;
	root:css{[&#039;margin-left&#039;] = data.marginLeft}&lt;br /&gt;
	if data.style then&lt;br /&gt;
		root:cssText(data.style)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the list tag.&lt;br /&gt;
	local list = root:tag(data.listTag or &#039;ul&#039;)&lt;br /&gt;
	list&lt;br /&gt;
		:attr{start = data.start, type = data.type}&lt;br /&gt;
		:css{&lt;br /&gt;
			[&#039;counter-reset&#039;] = data.counterReset,&lt;br /&gt;
			[&#039;counter-increment&#039;] = data.counterIncrement,&lt;br /&gt;
			[&#039;list-style-type&#039;] = data.listStyleType&lt;br /&gt;
		}&lt;br /&gt;
	if data.listStyle then&lt;br /&gt;
		list:cssText(data.listStyle)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Render the list items&lt;br /&gt;
	for _, t in ipairs(data.items or {}) do&lt;br /&gt;
		local item = list:tag(&#039;li&#039;)&lt;br /&gt;
		if data.itemStyle then&lt;br /&gt;
			item:cssText(data.itemStyle)&lt;br /&gt;
		end&lt;br /&gt;
		if t.style then&lt;br /&gt;
			item:cssText(t.style)&lt;br /&gt;
		end&lt;br /&gt;
		item&lt;br /&gt;
			:attr{value = t.value}&lt;br /&gt;
			:wikitext(t.content)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return data.templatestyles .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderTrackingCategories(args)&lt;br /&gt;
	local isDeprecated = false -- Tracks deprecated parameters.&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		k = tostring(k)&lt;br /&gt;
		if k:find(&#039;^item_style%d+$&#039;) or k:find(&#039;^item_value%d+$&#039;) then&lt;br /&gt;
			isDeprecated = true&lt;br /&gt;
			break&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local ret = &#039;&#039;&lt;br /&gt;
	if isDeprecated then&lt;br /&gt;
		ret = ret .. &#039;[[Category:List templates with deprecated parameters]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeList(listType, args)&lt;br /&gt;
	if not listType or not listTypes[listType] then&lt;br /&gt;
		error(string.format(&lt;br /&gt;
			&amp;quot;bad argument #1 to &#039;makeList&#039; (&#039;%s&#039; is not a valid list type)&amp;quot;,&lt;br /&gt;
			tostring(listType)&lt;br /&gt;
		), 2)&lt;br /&gt;
	end&lt;br /&gt;
	checkType(&#039;makeList&#039;, 2, args, &#039;table&#039;)&lt;br /&gt;
	local data = p.makeListData(listType, args)&lt;br /&gt;
	local list = p.renderList(data)&lt;br /&gt;
	local trackingCategories = p.renderTrackingCategories(args)&lt;br /&gt;
	return list .. trackingCategories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
for listType in pairs(listTypes) do&lt;br /&gt;
	p[listType] = function (frame)&lt;br /&gt;
		local mArguments = require(&#039;Module:Arguments&#039;)&lt;br /&gt;
		local origArgs = mArguments.getArgs(frame, {&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
			if not value or not mw.ustring.find(value, &#039;%S&#039;) then return nil end&lt;br /&gt;
			if mw.ustring.find(value, &#039;^%s*[%*#;:]&#039;) then&lt;br /&gt;
				return value&lt;br /&gt;
			else&lt;br /&gt;
				return value:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		})&lt;br /&gt;
		-- Copy all the arguments to a new table, for faster indexing.&lt;br /&gt;
		local args = {}&lt;br /&gt;
		for k, v in pairs(origArgs) do&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
		return p.makeList(listType, args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Uses_TemplateStyles&amp;diff=2507</id>
		<title>モジュール:Uses TemplateStyles</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Uses_TemplateStyles&amp;diff=2507"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require(&amp;quot;strict&amp;quot;);&lt;br /&gt;
-- This module implements the {{Uses TemplateStyles}} template.&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
local mList = require(&#039;Module:List&#039;)&lt;br /&gt;
local mTableTools = require(&#039;Module:TableTools&#039;)&lt;br /&gt;
local mMessageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
local TNT = require(&#039;Module:TNT&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
local function format(msg, ...)&lt;br /&gt;
	-- Content sourced from [[commons:Data:I18n/Uses TemplateStyles.tab]]&lt;br /&gt;
	return TNT.format(&#039;I18n/Uses TemplateStyles&#039;, msg, ...)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getConfig()&lt;br /&gt;
	return mw.loadData(&#039;Module:Uses TemplateStyles/config&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	local origArgs = frame:getParent().args&lt;br /&gt;
	local args = {}&lt;br /&gt;
	for k, v in pairs(origArgs) do&lt;br /&gt;
		v = v:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
		if v ~= &#039;&#039; then&lt;br /&gt;
			args[k] = v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return p._main(args)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p._main(args, cfg)&lt;br /&gt;
	local tStyles = mTableTools.compressSparseArray(args)&lt;br /&gt;
	local box = p.renderBox(tStyles)&lt;br /&gt;
	local trackingCategories = p.renderTrackingCategories(args, tStyles)&lt;br /&gt;
	return box .. trackingCategories&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderBox(tStyles)&lt;br /&gt;
	local boxArgs = {}&lt;br /&gt;
	if #tStyles &amp;lt; 1 then&lt;br /&gt;
		boxArgs.text = string.format(&#039;&amp;lt;strong class=&amp;quot;error&amp;quot;&amp;gt;%s&amp;lt;/strong&amp;gt;&#039;, format(&#039;error-emptylist&#039;))&lt;br /&gt;
	else&lt;br /&gt;
		local cfg = getConfig()&lt;br /&gt;
		local tStylesLinks = {}&lt;br /&gt;
		for i, ts in ipairs(tStyles) do&lt;br /&gt;
			local link = string.format(&#039;[[:%s]]&#039;, ts)&lt;br /&gt;
			local sandboxLink = nil&lt;br /&gt;
			local tsTitle = mw.title.new(ts)&lt;br /&gt;
			if tsTitle and cfg[&#039;sandbox_title&#039;] then&lt;br /&gt;
				local tsSandboxTitle = mw.title.new(string.format(&lt;br /&gt;
					&#039;%s:%s/%s/%s&#039;, tsTitle.nsText, tsTitle.baseText, cfg[&#039;sandbox_title&#039;], tsTitle.subpageText))&lt;br /&gt;
				if tsSandboxTitle and tsSandboxTitle.exists then&lt;br /&gt;
					sandboxLink = format(&#039;sandboxlink&#039;, link, &#039;:&#039; .. tsSandboxTitle.prefixedText)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			tStylesLinks[i] = sandboxLink or link&lt;br /&gt;
		end&lt;br /&gt;
		local tStylesList = mList.makeList(&#039;bulleted&#039;, tStylesLinks)&lt;br /&gt;
		boxArgs.text = format(&lt;br /&gt;
			mw.title.getCurrentTitle():inNamespaces(828,829) and &#039;header-module&#039; or &#039;header-template&#039;) ..&lt;br /&gt;
			&#039;\n&#039; .. tStylesList&lt;br /&gt;
	end&lt;br /&gt;
	boxArgs.type = &#039;notice&#039;&lt;br /&gt;
	boxArgs.small = true&lt;br /&gt;
	boxArgs.image = string.format(&#039;[[File:Farm-Fresh css add.svg|32px|alt=%s]]&#039;, format(&#039;logo-alt&#039;))&lt;br /&gt;
	return mMessageBox.main(&#039;mbox&#039;, boxArgs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderTrackingCategories(args, tStyles, titleObj)&lt;br /&gt;
	if yesno(args.nocat) then&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local cfg = getConfig()&lt;br /&gt;
	&lt;br /&gt;
	local cats = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Error category&lt;br /&gt;
	if #tStyles &amp;lt; 1 and cfg[&#039;error_category&#039;] then&lt;br /&gt;
		cats[#cats + 1] = cfg[&#039;error_category&#039;]&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- TemplateStyles category&lt;br /&gt;
	titleObj = titleObj or mw.title.getCurrentTitle()&lt;br /&gt;
	if (titleObj.namespace == 10 or titleObj.namespace == 828)&lt;br /&gt;
		and not cfg[&#039;subpage_blacklist&#039;][titleObj.subpageText]&lt;br /&gt;
	then&lt;br /&gt;
		local category = args.category or cfg[&#039;default_category&#039;]&lt;br /&gt;
		if category then&lt;br /&gt;
			cats[#cats + 1] = category&lt;br /&gt;
		end&lt;br /&gt;
		if not yesno(args.noprotcat) and (cfg[&#039;protection_conflict_category&#039;] or cfg[&#039;padlock_pattern&#039;]) then&lt;br /&gt;
			local currentProt = titleObj.protectionLevels[&amp;quot;edit&amp;quot;] and titleObj.protectionLevels[&amp;quot;edit&amp;quot;][1] or nil&lt;br /&gt;
			local addedLevelCat = false&lt;br /&gt;
			local addedPadlockCat = false&lt;br /&gt;
			for i, ts in ipairs(tStyles) do&lt;br /&gt;
				local tsTitleObj = mw.title.new(ts)&lt;br /&gt;
				local tsProt = tsTitleObj.protectionLevels[&amp;quot;edit&amp;quot;] and tsTitleObj.protectionLevels[&amp;quot;edit&amp;quot;][1] or nil&lt;br /&gt;
				if cfg[&#039;protection_conflict_category&#039;] and tsProt ~= currentProt and not addedLevelCat then&lt;br /&gt;
					addedLevelCat = true&lt;br /&gt;
					cats[#cats + 1] = cfg[&#039;protection_conflict_category&#039;]&lt;br /&gt;
				end&lt;br /&gt;
				if cfg[&#039;padlock_pattern&#039;] and tsProt and not addedPadlockCat then&lt;br /&gt;
					local content = tsTitleObj:getContent()&lt;br /&gt;
					if not content:find(cfg[&#039;padlock_pattern&#039;]) then&lt;br /&gt;
						cats[#cats + 1] = cfg[&#039;missing_padlock_category&#039;]&lt;br /&gt;
						addedPadlockCat = true&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for i, cat in ipairs(cats) do&lt;br /&gt;
		cats[i] = string.format(&#039;[[Category:%s]]&#039;, cat)&lt;br /&gt;
	end&lt;br /&gt;
	return table.concat(cats)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation/i18n&amp;diff=2505</id>
		<title>モジュール:Documentation/i18n</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation/i18n&amp;diff=2505"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local format = require(&#039;Module:TNT&#039;).format&lt;br /&gt;
local i18n = {}&lt;br /&gt;
&lt;br /&gt;
i18n[&#039;cfg-error-msg-type&#039;] = format(&#039;I18n/Documentation&#039;, &#039;cfg-error-msg-type&#039;)&lt;br /&gt;
i18n[&#039;cfg-error-msg-empty&#039;] = format(&#039;I18n/Documentation&#039;, &#039;cfg-error-msg-empty&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
i18n[&#039;template-namespace-heading&#039;] = format(&#039;I18n/Documentation&#039;, &#039;template-namespace-heading&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
i18n[&#039;module-namespace-heading&#039;] = format(&#039;I18n/Documentation&#039;, &#039;module-namespace-heading&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
i18n[&#039;file-namespace-heading&#039;] = format(&#039;I18n/Documentation&#039;, &#039;file-namespace-heading&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
i18n[&#039;other-namespaces-heading&#039;] = format(&#039;I18n/Documentation&#039;, &#039;other-namespaces-heading&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
i18n[&#039;view-link-display&#039;] = format(&#039;I18n/Documentation&#039;, &#039;view-link-display&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
i18n[&#039;edit-link-display&#039;] = format(&#039;I18n/Documentation&#039;, &#039;edit-link-display&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
i18n[&#039;history-link-display&#039;] = format(&#039;I18n/Documentation&#039;, &#039;history-link-display&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
i18n[&#039;purge-link-display&#039;] = format(&#039;I18n/Documentation&#039;, &#039;purge-link-display&#039;)&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
i18n[&#039;create-link-display&#039;] = format(&#039;I18n/Documentation&#039;, &#039;create-link-display&#039;)&lt;br /&gt;
&lt;br /&gt;
return i18n&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:TNT&amp;diff=2503</id>
		<title>モジュール:TNT</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:TNT&amp;diff=2503"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--&lt;br /&gt;
-- INTRO:   (!!! DO NOT RENAME THIS PAGE !!!)&lt;br /&gt;
--    This module allows any template or module to be copy/pasted between&lt;br /&gt;
--    wikis without any translation changes. All translation text is stored&lt;br /&gt;
--    in the global  Data:*.tab  pages on Commons, and used everywhere.&lt;br /&gt;
--&lt;br /&gt;
-- SEE:   https://www.mediawiki.org/wiki/Multilingual_Templates_and_Modules&lt;br /&gt;
--&lt;br /&gt;
-- ATTENTION:&lt;br /&gt;
--    Please do NOT rename this module - it has to be identical on all wikis.&lt;br /&gt;
--    This code is maintained at https://www.mediawiki.org/wiki/Module:TNT&lt;br /&gt;
--    Please do not modify it anywhere else, as it may get copied and override your changes.&lt;br /&gt;
--    Suggestions can be made at https://www.mediawiki.org/wiki/Module_talk:TNT&lt;br /&gt;
--&lt;br /&gt;
-- DESCRIPTION:&lt;br /&gt;
--    The &amp;quot;msg&amp;quot; function uses a Commons dataset to translate a message&lt;br /&gt;
--    with a given key (e.g. source-table), plus optional arguments&lt;br /&gt;
--    to the wiki markup in the current content language.&lt;br /&gt;
--    Use lang=xx to set language.  Example:&lt;br /&gt;
--&lt;br /&gt;
--    {{#invoke:TNT | msg&lt;br /&gt;
--     | I18n/Template:Graphs.tab  &amp;lt;!-- https://commons.wikimedia.org/wiki/Data:I18n/Template:Graphs.tab --&amp;gt;&lt;br /&gt;
--     | source-table              &amp;lt;!-- uses a translation message with id = &amp;quot;source-table&amp;quot; --&amp;gt;&lt;br /&gt;
--     | param1 }}                 &amp;lt;!-- optional parameter --&amp;gt;&lt;br /&gt;
--&lt;br /&gt;
--&lt;br /&gt;
--    The &amp;quot;doc&amp;quot; function will generate the &amp;lt;templatedata&amp;gt; parameter documentation for templates.&lt;br /&gt;
--    This way all template parameters can be stored and localized in a single Commons dataset.&lt;br /&gt;
--    NOTE: &amp;quot;doc&amp;quot; assumes that all documentation is located in Data:Templatedata/* on Commons.&lt;br /&gt;
--&lt;br /&gt;
--    {{#invoke:TNT | doc | Graph:Lines }}&lt;br /&gt;
--        uses https://commons.wikimedia.org/wiki/Data:Templatedata/Graph:Lines.tab&lt;br /&gt;
--        if the current page is Template:Graph:Lines/doc&lt;br /&gt;
--&lt;br /&gt;
&lt;br /&gt;
local config = (function()&lt;br /&gt;
	local ok, res = pcall(mw.loadData, &amp;quot;Module:TNT/config&amp;quot;);&lt;br /&gt;
	return ok and res or {};&lt;br /&gt;
end)();&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
local i18nDataset = &#039;I18n/Module:TNT.tab&#039;&lt;br /&gt;
&lt;br /&gt;
-- Forward declaration of the local functions&lt;br /&gt;
local sanitizeDataset, loadData, link, formatMessage&lt;br /&gt;
&lt;br /&gt;
function p.msg(frame)&lt;br /&gt;
	local dataset, id&lt;br /&gt;
	local params = {}&lt;br /&gt;
	local lang = nil&lt;br /&gt;
	for k, v in pairs(frame.args) do&lt;br /&gt;
		if k == 1 then&lt;br /&gt;
			dataset = mw.text.trim(v)&lt;br /&gt;
		elseif k == 2 then&lt;br /&gt;
			id = mw.text.trim(v)&lt;br /&gt;
		elseif type(k) == &#039;number&#039; then&lt;br /&gt;
			params[k - 2] = mw.text.trim(v)&lt;br /&gt;
		elseif k == &#039;lang&#039; and v ~= &#039;_&#039; then&lt;br /&gt;
			lang = mw.text.trim(v)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return formatMessage(dataset, id, params, lang)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Identical to p.msg() above, but used from other lua modules&lt;br /&gt;
-- Parameters:  name of dataset, message key, optional arguments&lt;br /&gt;
-- Example with 2 params:  format(&#039;I18n/Module:TNT&#039;, &#039;error_bad_msgkey&#039;, &#039;my-key&#039;, &#039;my-dataset&#039;)&lt;br /&gt;
function p.format(dataset, key, ...)&lt;br /&gt;
	local checkType = require(&#039;libraryUtil&#039;).checkType&lt;br /&gt;
	checkType(&#039;format&#039;, 1, dataset, &#039;string&#039;)&lt;br /&gt;
	checkType(&#039;format&#039;, 2, key, &#039;string&#039;)&lt;br /&gt;
	return formatMessage(dataset, key, {...})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
-- Identical to p.msg() above, but used from other lua modules with the language param&lt;br /&gt;
-- Parameters:  language code, name of dataset, message key, optional arguments&lt;br /&gt;
-- Example with 2 params:  formatInLanguage(&#039;es&#039;, I18n/Module:TNT&#039;, &#039;error_bad_msgkey&#039;, &#039;my-key&#039;, &#039;my-dataset&#039;)&lt;br /&gt;
function p.formatInLanguage(lang, dataset, key, ...)&lt;br /&gt;
	local checkType = require(&#039;libraryUtil&#039;).checkType&lt;br /&gt;
	checkType(&#039;formatInLanguage&#039;, 1, lang, &#039;string&#039;)&lt;br /&gt;
	checkType(&#039;formatInLanguage&#039;, 2, dataset, &#039;string&#039;)&lt;br /&gt;
	checkType(&#039;formatInLanguage&#039;, 3, key, &#039;string&#039;)&lt;br /&gt;
	return formatMessage(dataset, key, {...}, lang)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Obsolete function that adds a &#039;c:&#039; prefix to the first param.&lt;br /&gt;
-- &amp;quot;Sandbox/Sample.tab&amp;quot; -&amp;gt; &#039;c:Data:Sandbox/Sample.tab&#039;&lt;br /&gt;
function p.link(frame)&lt;br /&gt;
	return link(frame.args[1])&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local implGetTemplateData;&lt;br /&gt;
function p.doc(frame)&lt;br /&gt;
	local dataset = sanitizeDataset(frame.args[1])&lt;br /&gt;
	local json, dataPage, categories = implGetTemplateData(nil, dataset, frame.args)&lt;br /&gt;
	return frame:extensionTag(&#039;templatedata&#039;, json) ..&lt;br /&gt;
		formatMessage(i18nDataset, &#039;edit_doc&#039;, {link(dataPage)}) ..&lt;br /&gt;
		(categories or &amp;quot;&amp;quot;);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getTemplateData(dataset)&lt;br /&gt;
	local data = implGetTemplateData(true, dataset);&lt;br /&gt;
	return data;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getTemplateDataNew(...)&lt;br /&gt;
	return implGetTemplateData(nil, ...);&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function implGetTemplateData(legacy, dataset, args)&lt;br /&gt;
	-- TODO: add &#039;_&#039; parameter once lua starts reindexing properly for &amp;quot;all&amp;quot; languages&lt;br /&gt;
	local data, dataPage, categories = loadData(&lt;br /&gt;
		dataset, nil, not legacy and &#039;TemplateData&#039; or nil);&lt;br /&gt;
	local names = {}&lt;br /&gt;
	for _, field in ipairs(data.schema.fields) do&lt;br /&gt;
		table.insert(names, field.name)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local numOnly = true&lt;br /&gt;
	local params = {}&lt;br /&gt;
	local paramOrder = {}&lt;br /&gt;
	for _, row in ipairs(data.data) do&lt;br /&gt;
		local newVal = {}&lt;br /&gt;
		local name = nil&lt;br /&gt;
		for pos, columnName in ipairs(names) do&lt;br /&gt;
			if columnName == &#039;name&#039; then&lt;br /&gt;
				name = row[pos]&lt;br /&gt;
			else&lt;br /&gt;
				newVal[columnName] = row[pos]&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if name then&lt;br /&gt;
			if (&lt;br /&gt;
				(type(name) ~= &amp;quot;number&amp;quot;)&lt;br /&gt;
				and (&lt;br /&gt;
					(type(name) ~= &amp;quot;string&amp;quot;)&lt;br /&gt;
					or not string.match(name, &amp;quot;^%d+$&amp;quot;)&lt;br /&gt;
				)&lt;br /&gt;
			) then&lt;br /&gt;
				numOnly = false&lt;br /&gt;
			end&lt;br /&gt;
			params[name] = newVal&lt;br /&gt;
			table.insert(paramOrder, name)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Work around json encoding treating {&amp;quot;1&amp;quot;:{...}} as an [{...}]&lt;br /&gt;
	if numOnly then&lt;br /&gt;
		params[&#039;zzz123&#039;]=&#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local json = mw.text.jsonEncode({&lt;br /&gt;
		params=params,&lt;br /&gt;
		paramOrder=paramOrder,&lt;br /&gt;
		description=data.description,&lt;br /&gt;
		-- TODO: Store this in a dataset:&lt;br /&gt;
		format = (args and args.format or nil),&lt;br /&gt;
	})&lt;br /&gt;
&lt;br /&gt;
	if numOnly then&lt;br /&gt;
		json = string.gsub(json,&#039;&amp;quot;zzz123&amp;quot;:&amp;quot;&amp;quot;,?&#039;, &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return json, dataPage, categories;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Local functions&lt;br /&gt;
&lt;br /&gt;
sanitizeDataset = function(dataset)&lt;br /&gt;
	if not dataset then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	dataset = mw.text.trim(dataset)&lt;br /&gt;
	if dataset == &#039;&#039; then&lt;br /&gt;
		return nil&lt;br /&gt;
	elseif string.sub(dataset,-4) ~= &#039;.tab&#039; then&lt;br /&gt;
		return dataset .. &#039;.tab&#039;&lt;br /&gt;
	else&lt;br /&gt;
		return dataset&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
loadData = function(dataset, lang, dataType)&lt;br /&gt;
	dataset = sanitizeDataset(dataset)&lt;br /&gt;
	if not dataset then&lt;br /&gt;
		error(formatMessage(i18nDataset, &#039;error_no_dataset&#039;, {}))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Give helpful error to thirdparties who try and copy this module.&lt;br /&gt;
	if not mw.ext or not mw.ext.data or not mw.ext.data.get then&lt;br /&gt;
		error(string.format([[&#039;&#039;&#039;Missing JsonConfig extension, or not properly configured;&lt;br /&gt;
Cannot load https://commons.wikimedia.org/wiki/Data:%s.&lt;br /&gt;
See https://www.mediawiki.org/wiki/Extension:JsonConfig#Supporting_Wikimedia_templates&#039;&#039;&#039;]], dataset))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local dataPage = dataset;&lt;br /&gt;
	local data, categories;&lt;br /&gt;
	if dataType == &#039;TemplateData&#039; then&lt;br /&gt;
		dataPage = &#039;TemplateData/&#039; .. dataset;&lt;br /&gt;
		data = mw.ext.data.get(dataPage, lang);&lt;br /&gt;
		if data == false then&lt;br /&gt;
			data = mw.ext.data.get(&#039;Templatedata/&#039; .. dataset, lang);&lt;br /&gt;
			if data ~= false then&lt;br /&gt;
				local legacyTemplateDataCategoryName = config.legacyTemplateDataCategoryName;&lt;br /&gt;
				if legacyTemplateDataCategoryName ~= false then&lt;br /&gt;
					categories = string.format(&lt;br /&gt;
						&#039;[[Category:%s%s]]&#039;,&lt;br /&gt;
						legacyTemplateDataCategoryName or &amp;quot;Templates using legacy global TemplateData table name&amp;quot;,&lt;br /&gt;
						config.translatableCategoryLink and mw.getCurrentFrame():callParserFunction(&amp;quot;#translation:&amp;quot;) or &amp;quot;&amp;quot;&lt;br /&gt;
					);&lt;br /&gt;
				end&lt;br /&gt;
				dataPage = &#039;Templatedata/&#039; .. dataset;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		data = mw.ext.data.get(dataset, lang)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if data == false then&lt;br /&gt;
		if dataset == i18nDataset then&lt;br /&gt;
			-- Prevent cyclical calls&lt;br /&gt;
			error(&#039;Missing Commons dataset &#039; .. i18nDataset)&lt;br /&gt;
		else&lt;br /&gt;
			error(formatMessage(i18nDataset, &#039;error_bad_dataset&#039;, {link(dataPage)}))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return data, dataPage, categories;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
-- Given a dataset name, convert it to a title with the &#039;commons:data:&#039; prefix&lt;br /&gt;
link = function(dataset)&lt;br /&gt;
	return &#039;c:Data:&#039; .. mw.text.trim(dataset or &#039;&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
formatMessage = function(dataset, key, params, lang)&lt;br /&gt;
	for _, row in pairs(loadData(dataset, lang).data) do&lt;br /&gt;
		local id, msg = unpack(row)&lt;br /&gt;
		if id == key then&lt;br /&gt;
			local result = mw.message.newRawMessage(msg, unpack(params or {}))&lt;br /&gt;
			return result:plain()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if dataset == i18nDataset then&lt;br /&gt;
		-- Prevent cyclical calls&lt;br /&gt;
		error(&#039;Invalid message key &amp;quot;&#039; .. key .. &#039;&amp;quot;&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		error(formatMessage(i18nDataset, &#039;error_bad_msgkey&#039;, {key, link(dataset)}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation/config&amp;diff=2501</id>
		<title>モジュール:Documentation/config</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation/config&amp;diff=2501"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;----------------------------------------------------------------------------------------------------&lt;br /&gt;
--&lt;br /&gt;
--                               Configuration for Module:Documentation&lt;br /&gt;
--&lt;br /&gt;
-- Here you can set the values of the parameters and messages used in Module:Documentation to&lt;br /&gt;
-- localise it to your wiki and your language. Unless specified otherwise, values given here&lt;br /&gt;
-- should be string values.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local cfg = {} -- Do not edit this line.&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Protection template configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;protection-reason-edit&#039;]&lt;br /&gt;
-- The protection reason for edit-protected templates to pass to&lt;br /&gt;
-- [[Module:Protection banner]].&lt;br /&gt;
cfg[&#039;protection-reason-edit&#039;] = &#039;template&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox notice configuration&lt;br /&gt;
--&lt;br /&gt;
-- On sandbox pages the module can display a template notifying users that the current page is a&lt;br /&gt;
-- sandbox, and the location of test cases pages, etc. The module decides whether the page is a&lt;br /&gt;
-- sandbox or not based on the value of cfg[&#039;sandbox-subpage&#039;]. The following settings configure the&lt;br /&gt;
-- messages that the notices contains.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-notice-image&#039;]&lt;br /&gt;
-- The image displayed in the sandbox notice.&lt;br /&gt;
cfg[&#039;sandbox-notice-image&#039;] = &#039;[[File:Sandbox.svg|50px|alt=|link=]]&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-template&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-other&#039;]&lt;br /&gt;
-- The page type of the sandbox page. The message that is displayed depends on the current subject&lt;br /&gt;
-- namespace. This message is used in either cfg[&#039;sandbox-notice-blurb&#039;] or&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-template&#039;] = &#039;[[Wikipedia:テンプレートのサンドボックスとテストケース|テンプレート・サンドボックス]]ページ&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-module&#039;] = &#039;[[Wikipedia:テンプレートのサンドボックスとテストケース|モジュール・サンドボックス]]ページ&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-pagetype-other&#039;] = &#039;サンドボックス・ページ&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-diff-display&#039;]&lt;br /&gt;
-- Either cfg[&#039;sandbox-notice-blurb&#039;] or cfg[&#039;sandbox-notice-diff-blurb&#039;] is the opening sentence&lt;br /&gt;
-- of the sandbox notice. The latter has a diff link, but the former does not. $1 is the page&lt;br /&gt;
-- type, which is either cfg[&#039;sandbox-notice-pagetype-template&#039;],&lt;br /&gt;
-- cfg[&#039;sandbox-notice-pagetype-module&#039;] or cfg[&#039;sandbox-notice-pagetype-other&#039;] depending what&lt;br /&gt;
-- namespace we are in. $2 is a link to the main template page, and $3 is a diff link between&lt;br /&gt;
-- the sandbox and the main template. The display value of the diff link is set by &lt;br /&gt;
-- cfg[&#039;sandbox-notice-compare-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-blurb&#039;] = &#039;これは$2の$1です。&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-diff-blurb&#039;] = &#039;これは$2 ($3)の$1です。&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-compare-link-display&#039;] = &#039;差分&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;]&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit. $1 is a link to the test cases page.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-link-display&#039;] is the display value for that link.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] is a sentence notifying the user that there is a test cases page&lt;br /&gt;
-- corresponding to this sandbox that they can edit, along with a link to run it. $1 is a link to the test&lt;br /&gt;
-- cases page, and $2 is a link to the page to run it.&lt;br /&gt;
-- cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] is the display value for the link to run the test&lt;br /&gt;
-- cases.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-blurb&#039;] = &#039;対応する$1・サブページもご確認ください。&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-link-display&#039;] = &#039;テストケース&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-blurb&#039;] = &#039;対応する$1・サブページ ($2) もご確認ください。&#039;&lt;br /&gt;
cfg[&#039;sandbox-notice-testcases-run-link-display&#039;] = &#039;実行&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-category&#039;]&lt;br /&gt;
-- A category to add to all template sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-category&#039;] = &#039;テンプレート・サンドボックス&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Start box configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;documentation-icon-wikitext&#039;]&lt;br /&gt;
-- The wikitext for the icon shown at the top of the template.&lt;br /&gt;
cfg[&#039;documentation-icon-wikitext&#039;] = &#039;[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the template namespace.&lt;br /&gt;
cfg[&#039;template-namespace-heading&#039;] = &#039;テンプレートの解説&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the module namespace.&lt;br /&gt;
cfg[&#039;module-namespace-heading&#039;] = &#039;モジュールの解説&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-namespace-heading&#039;]&lt;br /&gt;
-- The heading shown in the file namespace.&lt;br /&gt;
cfg[&#039;file-namespace-heading&#039;] = &#039;要約&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;other-namespaces-heading&#039;]&lt;br /&gt;
-- The heading shown in other namespaces.&lt;br /&gt;
cfg[&#039;other-namespaces-heading&#039;] = &#039;解説&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;view-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;view&amp;quot; links.&lt;br /&gt;
cfg[&#039;view-link-display&#039;] = &#039;表示&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;edit-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;edit-link-display&#039;] = &#039;編集&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;history-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;history&amp;quot; links.&lt;br /&gt;
cfg[&#039;history-link-display&#039;] = &#039;履歴&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;purge-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;purge&amp;quot; links.&lt;br /&gt;
cfg[&#039;purge-link-display&#039;] = &#039;キャッシュを破棄&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;create-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;create-link-display&#039;] = &#039;作成&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Link box (end box) configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;transcluded-from-blurb&#039;]&lt;br /&gt;
-- Notice displayed when the docs are transcluded from another page. $1 is a wikilink to that page.&lt;br /&gt;
cfg[&#039;transcluded-from-blurb&#039;] = &#039;この[[Help:テンプレートの説明文|解説]]は、$1から[[Help:テンプレート#テンプレートとは|呼び出されて]]います。&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;create-module-doc-blurb&#039;]&lt;br /&gt;
-- Notice displayed in the module namespace when the documentation subpage does not exist.&lt;br /&gt;
-- $1 is a link to create the documentation page with the preload cfg[&#039;module-preload&#039;] and the&lt;br /&gt;
-- display cfg[&#039;create-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;create-module-doc-blurb&#039;] = &#039;この[[Wikipedia:Lua|Scribuntoモジュール]]の解説ページを$1することができます。&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Experiment blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;experiment-blurb-template&#039;]&lt;br /&gt;
-- cfg[&#039;experiment-blurb-module&#039;]&lt;br /&gt;
-- The experiment blurb is the text inviting editors to experiment in sandbox and test cases pages.&lt;br /&gt;
-- It is only shown in the template and module namespaces. With the default English settings, it&lt;br /&gt;
-- might look like this:&lt;br /&gt;
--&lt;br /&gt;
-- Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&lt;br /&gt;
--&lt;br /&gt;
-- In this example, &amp;quot;sandbox&amp;quot;, &amp;quot;edit&amp;quot;, &amp;quot;diff&amp;quot;, &amp;quot;testcases&amp;quot;, and &amp;quot;edit&amp;quot; would all be links.&lt;br /&gt;
--&lt;br /&gt;
-- There are two versions, cfg[&#039;experiment-blurb-template&#039;] and cfg[&#039;experiment-blurb-module&#039;], depending&lt;br /&gt;
-- on what namespace we are in.&lt;br /&gt;
-- &lt;br /&gt;
-- Parameters:&lt;br /&gt;
--&lt;br /&gt;
-- $1 is a link to the sandbox page. If the sandbox exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-edit-link-display&#039;] | cfg[&#039;compare-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- If the sandbox doesn&#039;t exist, it is in the format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;sandbox-link-display&#039;] (cfg[&#039;sandbox-create-link-display&#039;] | cfg[&#039;mirror-link-display&#039;])&lt;br /&gt;
-- &lt;br /&gt;
-- The link for cfg[&#039;sandbox-create-link-display&#039;] link preloads the page with cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- or cfg[&#039;module-sandbox-preload&#039;], depending on the current namespace. The link for cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- loads a default edit summary of cfg[&#039;mirror-edit-summary&#039;].&lt;br /&gt;
--&lt;br /&gt;
-- $2 is a link to the test cases page. If the test cases page exists, it is in the following format:&lt;br /&gt;
--&lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-edit-link-display&#039;] | cfg[&#039;testcases-run-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, it is in the format:&lt;br /&gt;
-- &lt;br /&gt;
--     cfg[&#039;testcases-link-display&#039;] (cfg[&#039;testcases-create-link-display&#039;])&lt;br /&gt;
--&lt;br /&gt;
-- If the test cases page doesn&#039;t exist, the link for cfg[&#039;testcases-create-link-display&#039;] preloads the&lt;br /&gt;
-- page with cfg[&#039;template-testcases-preload&#039;] or cfg[&#039;module-testcases-preload&#039;], depending on the current&lt;br /&gt;
-- namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;experiment-blurb-template&#039;] = &amp;quot;編集者は、このテンプレートを$1と$2で試すことができます。（[[Wikipedia:テンプレートのサンドボックスとテストケース|解説]]）&amp;quot;&lt;br /&gt;
cfg[&#039;experiment-blurb-module&#039;] = &amp;quot;編集者は、このモジュールを$1と$2で試すことができます。（[[Wikipedia:テンプレートのサンドボックスとテストケース|解説]]）&amp;quot;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Sandbox link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for sandboxes.&lt;br /&gt;
cfg[&#039;sandbox-subpage&#039;] = &#039;sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for template sandbox pages.&lt;br /&gt;
cfg[&#039;template-sandbox-preload&#039;] = &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-sandbox-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module sandbox pages.&lt;br /&gt;
cfg[&#039;module-sandbox-preload&#039;] = &#039;Template:Documentation/preload-module-sandbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;sandbox&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-link-display&#039;] = &#039;サンドボックス&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-edit-link-display&#039;] = &#039;編集&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;sandbox-create-link-display&#039;]&lt;br /&gt;
-- The text to display for sandbox &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;sandbox-create-link-display&#039;] = &#039;作成&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;compare-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;compare&amp;quot; links.&lt;br /&gt;
cfg[&#039;compare-link-display&#039;] = &#039;差分&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-edit-summary&#039;]&lt;br /&gt;
-- The default edit summary to use when a user clicks the &amp;quot;mirror&amp;quot; link. $1 is a wikilink to the&lt;br /&gt;
-- template page.&lt;br /&gt;
cfg[&#039;mirror-edit-summary&#039;] = &#039;$1のサンドボックスバージョンを作成&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;mirror&amp;quot; links.&lt;br /&gt;
cfg[&#039;mirror-link-display&#039;] = &#039;複製&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;mirror-link-preload&#039;]&lt;br /&gt;
-- The page to preload when a user clicks the &amp;quot;mirror&amp;quot; link.&lt;br /&gt;
cfg[&#039;mirror-link-preload&#039;] = &#039;Template:Documentation/mirror&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Test cases link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage typically used for test cases.&lt;br /&gt;
cfg[&#039;testcases-subpage&#039;] = &#039;testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for template test cases pages.&lt;br /&gt;
cfg[&#039;template-testcases-preload&#039;] = &#039;Template:Documentation/preload-testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-testcases-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module test cases pages.&lt;br /&gt;
cfg[&#039;module-testcases-preload&#039;] = &#039;Template:Documentation/preload-module-testcases&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-link-display&#039;]&lt;br /&gt;
-- The text to display for &amp;quot;testcases&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-link-display&#039;] = &#039;テストケース&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-edit-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;edit&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-edit-link-display&#039;] = &#039;編集&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-run-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;run&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-run-link-display&#039;] = &#039;作動&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;testcases-create-link-display&#039;]&lt;br /&gt;
-- The text to display for test cases &amp;quot;create&amp;quot; links.&lt;br /&gt;
cfg[&#039;testcases-create-link-display&#039;] = &#039;作成&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Add categories blurb configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;add-categories-blurb&#039;]&lt;br /&gt;
-- Text to direct users to add categories to the /doc subpage. Not used if the &amp;quot;content&amp;quot; or&lt;br /&gt;
-- &amp;quot;docname fed&amp;quot; arguments are set, as then it is not clear where to add the categories. $1 is a&lt;br /&gt;
-- link to the /doc subpage with a display value of cfg[&#039;doc-link-display&#039;].&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;add-categories-blurb&#039;] = &#039;$1のサブページにカテゴリを追加してください。&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /doc subpage.&lt;br /&gt;
cfg[&#039;doc-link-display&#039;] = &#039;/doc&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Subpages link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-blurb&#039;]&lt;br /&gt;
-- The &amp;quot;Subpages of this template&amp;quot; blurb. $1 is a link to the main template&#039;s subpages with a&lt;br /&gt;
-- display value of cfg[&#039;subpages-link-display&#039;]. In the English version this blurb is simply&lt;br /&gt;
-- the link followed by a period, and the link display provides the actual text.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-blurb&#039;] = &#039;$1&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
-- cfg[&#039;subpages-link-display&#039;]&lt;br /&gt;
-- The text to display for the &amp;quot;subpages of this page&amp;quot; link. $1 is cfg[&#039;template-pagetype&#039;],&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;] or cfg[&#039;default-pagetype&#039;], depending on whether the current page is in&lt;br /&gt;
-- the template namespace, the module namespace, or another namespace.&lt;br /&gt;
--]]&lt;br /&gt;
cfg[&#039;subpages-link-display&#039;] = &#039;この$1のサブページ一覧。&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;template-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for template pages.&lt;br /&gt;
cfg[&#039;template-pagetype&#039;] = &#039;テンプレート&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for Lua module pages.&lt;br /&gt;
cfg[&#039;module-pagetype&#039;] = &#039;モジュール&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;default-pagetype&#039;]&lt;br /&gt;
-- The pagetype to display for pages other than templates or Lua modules.&lt;br /&gt;
cfg[&#039;default-pagetype&#039;] = &#039;ページ&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Doc link configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;doc-subpage&#039;]&lt;br /&gt;
-- The name of the subpage typically used for documentation pages.&lt;br /&gt;
cfg[&#039;doc-subpage&#039;] = &#039;doc&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;file-docpage-preload&#039;]&lt;br /&gt;
-- Preload file for documentation page in the file namespace.&lt;br /&gt;
cfg[&#039;file-docpage-preload&#039;] = &#039;Template:Documentation/preload-filespace&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;docpage-preload&#039;]&lt;br /&gt;
-- Preload file for template documentation pages in all namespaces.&lt;br /&gt;
cfg[&#039;docpage-preload&#039;] = &#039;Template:Documentation/preload&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;module-preload&#039;]&lt;br /&gt;
-- Preload file for Lua module documentation pages.&lt;br /&gt;
cfg[&#039;module-preload&#039;] = &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Print version configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-subpage&#039;]&lt;br /&gt;
-- The name of the template subpage used for print versions.&lt;br /&gt;
cfg[&#039;print-subpage&#039;] = &#039;Print&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-link-display&#039;]&lt;br /&gt;
-- The text to display when linking to the /Print subpage.&lt;br /&gt;
cfg[&#039;print-link-display&#039;] = &#039;/Print&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-blurb&#039;]&lt;br /&gt;
-- Text to display if a /Print subpage exists. $1 is a link to the subpage with&lt;br /&gt;
-- a display value of cfg[&#039;print-link-display&#039;].&lt;br /&gt;
cfg[&#039;print-blurb&#039;] = &#039;$1にこのテンプレートは[[:en:Help:Books/for experts#Improving the book layout|印刷用バージョンがあります]]。&#039;&lt;br /&gt;
	.. &#039;もしこのテンプレートを更新した時は、印刷用バージョンも更新してください。&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-print-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;print-category&#039;] if a /Print subpage exists.&lt;br /&gt;
-- This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-print-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;print-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-print-category&#039;] is set to true, and a /Print subpage exists.&lt;br /&gt;
cfg[&#039;print-category&#039;] = &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- HTML and CSS configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;templatestyles&#039;]&lt;br /&gt;
-- The name of the TemplateStyles page where CSS is kept.&lt;br /&gt;
-- Sandbox CSS will be at Module:Documentation/sandbox/styles.css when needed.&lt;br /&gt;
cfg[&#039;templatestyles&#039;] = &#039;Module:Documentation/styles.css&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;container&#039;]&lt;br /&gt;
-- Class which can be used to set flex or grid CSS on the&lt;br /&gt;
-- two child divs documentation and documentation-metadata&lt;br /&gt;
cfg[&#039;container&#039;] = &#039;documentation-container&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-classes&#039;]&lt;br /&gt;
-- Classes added to the main HTML &amp;quot;div&amp;quot; tag.&lt;br /&gt;
cfg[&#039;main-div-classes&#039;] = &#039;documentation&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;main-div-heading-class&#039;]&lt;br /&gt;
-- Class for the main heading for templates and modules and assoc. talk spaces&lt;br /&gt;
cfg[&#039;main-div-heading-class&#039;] = &#039;documentation-heading&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-class&#039;]&lt;br /&gt;
-- Class for the start box&lt;br /&gt;
cfg[&#039;start-box-class&#039;] = &#039;documentation-startbox&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;start-box-link-classes&#039;]&lt;br /&gt;
-- Classes used for the [view][edit][history] or [create] links in the start box.&lt;br /&gt;
-- mw-editsection-like is per [[Wikipedia:Village pump (technical)/Archive 117]]&lt;br /&gt;
cfg[&#039;start-box-link-classes&#039;] = &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;end-box-class&#039;]&lt;br /&gt;
-- Class for the end box.&lt;br /&gt;
cfg[&#039;end-box-class&#039;] = &#039;documentation-metadata&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;end-box-plainlinks&#039;]&lt;br /&gt;
-- Plainlinks&lt;br /&gt;
cfg[&#039;end-box-plainlinks&#039;] = &#039;plainlinks&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;toolbar-class&#039;]&lt;br /&gt;
-- Class added for toolbar links.&lt;br /&gt;
cfg[&#039;toolbar-class&#039;] = &#039;documentation-toolbar&#039;&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;clear&#039;]&lt;br /&gt;
-- Just used to clear things.&lt;br /&gt;
cfg[&#039;clear&#039;] = &#039;documentation-clear&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- Tracking category configuration&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;display-strange-usage-category&#039;]&lt;br /&gt;
-- Set to true to enable output of cfg[&#039;strange-usage-category&#039;] if the module is used on a /doc subpage&lt;br /&gt;
-- or a /testcases subpage. This should be a boolean value (either true or false).&lt;br /&gt;
cfg[&#039;display-strange-usage-category&#039;] = true&lt;br /&gt;
&lt;br /&gt;
-- cfg[&#039;strange-usage-category&#039;]&lt;br /&gt;
-- Category to output if cfg[&#039;display-strange-usage-category&#039;] is set to true and the module is used on a&lt;br /&gt;
-- /doc subpage or a /testcases subpage.&lt;br /&gt;
cfg[&#039;strange-usage-category&#039;] = &#039;((documentation))の異常な使用があるページ&#039;&lt;br /&gt;
&lt;br /&gt;
--[[&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
-- End configuration&lt;br /&gt;
--&lt;br /&gt;
-- Don&#039;t edit anything below this line.&lt;br /&gt;
----------------------------------------------------------------------------------------------------&lt;br /&gt;
--]]&lt;br /&gt;
&lt;br /&gt;
return cfg&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation&amp;diff=2499</id>
		<title>モジュール:Documentation</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Documentation&amp;diff=2499"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module implements {{documentation}}.&lt;br /&gt;
&lt;br /&gt;
-- Get required modules.&lt;br /&gt;
local getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
local messageBox = require(&#039;Module:Message box&#039;)&lt;br /&gt;
&lt;br /&gt;
-- Get the config table.&lt;br /&gt;
local cfg = mw.loadData(&#039;Module:Documentation/config&#039;)&lt;br /&gt;
&lt;br /&gt;
local p = {}&lt;br /&gt;
&lt;br /&gt;
-- Often-used functions.&lt;br /&gt;
local ugsub = mw.ustring.gsub&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--&lt;br /&gt;
-- These are defined as local functions, but are made available in the p&lt;br /&gt;
-- table for testing purposes.&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function message(cfgKey, valArray, expectType)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Gets a message from the cfg table and formats it if appropriate.&lt;br /&gt;
	-- The function raises an error if the value from the cfg table is not&lt;br /&gt;
	-- of the type expectType. The default type for expectType is &#039;string&#039;.&lt;br /&gt;
	-- If the table valArray is present, strings such as $1, $2 etc. in the&lt;br /&gt;
	-- message are substituted with values from the table keys [1], [2] etc.&lt;br /&gt;
	-- For example, if the message &amp;quot;foo-message&amp;quot; had the value &#039;Foo $2 bar $1.&#039;,&lt;br /&gt;
	-- message(&#039;foo-message&#039;, {&#039;baz&#039;, &#039;qux&#039;}) would return &amp;quot;Foo qux bar baz.&amp;quot;&lt;br /&gt;
	--]]&lt;br /&gt;
	local msg = cfg[cfgKey]&lt;br /&gt;
	expectType = expectType or &#039;string&#039;&lt;br /&gt;
	if type(msg) ~= expectType then&lt;br /&gt;
		error(&#039;メッセージ: cfg.&#039; .. cfgKey .. &#039;の入力エラー。（想定：&#039; .. expectType .. &#039;、実際：&#039; .. type(msg) .. &#039;）&#039;, 2)&lt;br /&gt;
	end&lt;br /&gt;
	if not valArray then&lt;br /&gt;
		return msg&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function getMessageVal(match)&lt;br /&gt;
		match = tonumber(match)&lt;br /&gt;
		return valArray[match] or error(&#039;メッセージ: メッセージ設定で$&#039; .. match .. &#039;キーの値が見つかりませんでした。&#039; .. cfgKey, 4)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return ugsub(msg, &#039;$([1-9][0-9]*)&#039;, getMessageVal)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.message = message&lt;br /&gt;
&lt;br /&gt;
local function makeWikilink(page, display)&lt;br /&gt;
	if display then&lt;br /&gt;
		return mw.ustring.format(&#039;[[%s|%s]]&#039;, page, display)&lt;br /&gt;
	else&lt;br /&gt;
		return mw.ustring.format(&#039;[[%s]]&#039;, page)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeWikilink = makeWikilink&lt;br /&gt;
&lt;br /&gt;
local function makeCategoryLink(cat, sort)&lt;br /&gt;
	local catns = mw.site.namespaces[14].name&lt;br /&gt;
	return makeWikilink(catns .. &#039;:&#039; .. cat, sort)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeCategoryLink = makeCategoryLink&lt;br /&gt;
&lt;br /&gt;
local function makeUrlLink(url, display)&lt;br /&gt;
	return mw.ustring.format(&#039;[%s %s]&#039;, url, display)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.makeUrlLink = makeUrlLink&lt;br /&gt;
&lt;br /&gt;
local function makeToolbar(...)&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	local lim = select(&#039;#&#039;, ...)&lt;br /&gt;
	if lim &amp;lt; 1 then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	for i = 1, lim do&lt;br /&gt;
		ret[#ret + 1] = select(i, ...)&lt;br /&gt;
	end&lt;br /&gt;
	-- &#039;documentation-toolbar&#039;&lt;br /&gt;
	return &#039;&amp;lt;span class=&amp;quot;&#039; .. message(&#039;toolbar-class&#039;) .. &#039;&amp;quot;&amp;gt;(&#039;&lt;br /&gt;
		.. table.concat(ret, &#039; &amp;amp;#124; &#039;) .. &#039;)&amp;lt;/span&amp;gt;&#039;&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
p.makeToolbar = makeToolbar&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Argument processing&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function makeInvokeFunc(funcName)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		local args = getArgs(frame, {&lt;br /&gt;
			valueFunc = function (key, value)&lt;br /&gt;
				if type(value) == &#039;string&#039; then&lt;br /&gt;
					value = value:match(&#039;^%s*(.-)%s*$&#039;) -- Remove whitespace.&lt;br /&gt;
					if key == &#039;heading&#039; or value ~= &#039;&#039; then&lt;br /&gt;
						return value&lt;br /&gt;
					else&lt;br /&gt;
						return nil&lt;br /&gt;
					end&lt;br /&gt;
				else&lt;br /&gt;
					return value&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
		return p[funcName](args)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Entry points&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.nonexistent(frame)&lt;br /&gt;
	if mw.title.getCurrentTitle().subpageText == &#039;testcases&#039; then&lt;br /&gt;
		return frame:expandTemplate{title = &#039;module test cases notice&#039;}&lt;br /&gt;
	else&lt;br /&gt;
		return p.main(frame)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.main = makeInvokeFunc(&#039;_main&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._main(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function defines logic flow for the module.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--]]&lt;br /&gt;
	local env = p.getEnvironment(args)&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
	root&lt;br /&gt;
		:wikitext(p._getModuleWikitext(args, env))&lt;br /&gt;
		:wikitext(p.protectionTemplate(env))&lt;br /&gt;
		:wikitext(p.sandboxNotice(args, env))&lt;br /&gt;
		:tag(&#039;div&#039;)&lt;br /&gt;
			-- &#039;documentation-container&#039;&lt;br /&gt;
			:addClass(message(&#039;container&#039;))&lt;br /&gt;
			:newline()&lt;br /&gt;
			:tag(&#039;div&#039;)&lt;br /&gt;
				-- &#039;documentation&#039;&lt;br /&gt;
				:addClass(message(&#039;main-div-classes&#039;))&lt;br /&gt;
				:newline()&lt;br /&gt;
				:wikitext(p._startBox(args, env))&lt;br /&gt;
				:wikitext(p._content(args, env))&lt;br /&gt;
				:tag(&#039;div&#039;)&lt;br /&gt;
					-- &#039;documentation-clear&#039;&lt;br /&gt;
					:addClass(message(&#039;clear&#039;))&lt;br /&gt;
					:done()&lt;br /&gt;
				:newline()&lt;br /&gt;
				:done()&lt;br /&gt;
			:wikitext(p._endBox(args, env))&lt;br /&gt;
			:done()&lt;br /&gt;
		:wikitext(p.addTrackingCategories(env))&lt;br /&gt;
	-- &#039;Module:Documentation/styles.css&#039;&lt;br /&gt;
	return mw.getCurrentFrame():extensionTag (&lt;br /&gt;
		&#039;templatestyles&#039;, &#039;&#039;, {src=cfg[&#039;templatestyles&#039;]&lt;br /&gt;
	}) .. tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Environment settings&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.getEnvironment(args)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Returns a table with information about the environment, including title&lt;br /&gt;
	-- objects and other namespace- or path-related data.&lt;br /&gt;
	-- @args - table of arguments passed by the user&lt;br /&gt;
	--&lt;br /&gt;
	-- Title objects include:&lt;br /&gt;
	-- env.title - the page we are making documentation for (usually the current title)&lt;br /&gt;
	-- env.templateTitle - the template (or module, file, etc.)&lt;br /&gt;
	-- env.docTitle - the /doc subpage.&lt;br /&gt;
	-- env.sandboxTitle - the /sandbox subpage.&lt;br /&gt;
	-- env.testcasesTitle - the /testcases subpage.&lt;br /&gt;
	-- env.printTitle - the print version of the template, located at the /Print subpage.&lt;br /&gt;
	--&lt;br /&gt;
	-- Data includes:&lt;br /&gt;
	-- env.protectionLevels - the protection levels table of the title object.&lt;br /&gt;
	-- env.subjectSpace - the number of the title&#039;s subject namespace.&lt;br /&gt;
	-- env.docSpace - the number of the namespace the title puts its documentation in.&lt;br /&gt;
	-- env.docpageBase - the text of the base page of the /doc, /sandbox and /testcases pages, with namespace.&lt;br /&gt;
	-- env.compareUrl - URL of the Special:ComparePages page comparing the sandbox with the template.&lt;br /&gt;
	-- &lt;br /&gt;
	-- All table lookups are passed through pcall so that errors are caught. If an error occurs, the value&lt;br /&gt;
	-- returned will be nil.&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	local env, envFuncs = {}, {}&lt;br /&gt;
&lt;br /&gt;
	-- Set up the metatable. If triggered we call the corresponding function in the envFuncs table. The value&lt;br /&gt;
	-- returned by that function is memoized in the env table so that we don&#039;t call any of the functions&lt;br /&gt;
	-- more than once. (Nils won&#039;t be memoized.)&lt;br /&gt;
	setmetatable(env, {&lt;br /&gt;
		__index = function (t, key)&lt;br /&gt;
			local envFunc = envFuncs[key]&lt;br /&gt;
			if envFunc then&lt;br /&gt;
				local success, val = pcall(envFunc)&lt;br /&gt;
				if success then&lt;br /&gt;
					env[key] = val -- Memoise the value.&lt;br /&gt;
					return val&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	})	&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.title()&lt;br /&gt;
		-- The title object for the current page, or a test page passed with args.page.&lt;br /&gt;
		local title&lt;br /&gt;
		local titleArg = args.page&lt;br /&gt;
		if titleArg then&lt;br /&gt;
			title = mw.title.new(titleArg)&lt;br /&gt;
		else&lt;br /&gt;
			title = mw.title.getCurrentTitle()&lt;br /&gt;
		end&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.templateTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- The template (or module, etc.) title object.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local subpage = title.subpageText&lt;br /&gt;
		if subpage == message(&#039;sandbox-subpage&#039;) or subpage == message(&#039;testcases-subpage&#039;) then&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.baseText)&lt;br /&gt;
		else&lt;br /&gt;
			return mw.title.makeTitle(subjectSpace, title.text)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object of the /doc subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		local title = env.title&lt;br /&gt;
		local docname = args[1] -- User-specified doc page.&lt;br /&gt;
		local docpage&lt;br /&gt;
		if docname then&lt;br /&gt;
			docpage = docname&lt;br /&gt;
		else&lt;br /&gt;
			docpage = env.docpageBase .. &#039;/&#039; .. message(&#039;doc-subpage&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		return mw.title.new(docpage)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.sandboxTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /sandbox subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;sandbox-subpage&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;sandbox-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.testcasesTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /testcases subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return mw.title.new(env.docpageBase .. &#039;/&#039; .. message(&#039;testcases-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.printTitle()&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Title object for the /Print subpage.&lt;br /&gt;
		-- Messages:&lt;br /&gt;
		-- &#039;print-subpage&#039; --&amp;gt; &#039;Print&#039;&lt;br /&gt;
		--]]&lt;br /&gt;
		return env.templateTitle:subPageTitle(message(&#039;print-subpage&#039;))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.protectionLevels()&lt;br /&gt;
		-- The protection levels table of the title object.&lt;br /&gt;
		return env.title.protectionLevels&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.subjectSpace()&lt;br /&gt;
		-- The subject namespace number.&lt;br /&gt;
		return mw.site.namespaces[env.title.namespace].subject.id&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docSpace()&lt;br /&gt;
		-- The documentation namespace number. For most namespaces this is the&lt;br /&gt;
		-- same as the subject namespace. However, pages in the Article, File,&lt;br /&gt;
		-- MediaWiki or Category namespaces must have their /doc, /sandbox and&lt;br /&gt;
		-- /testcases pages in talk space.&lt;br /&gt;
		local subjectSpace = env.subjectSpace&lt;br /&gt;
		if subjectSpace == 0 or subjectSpace == 6 or subjectSpace == 8 or subjectSpace == 14 then&lt;br /&gt;
			return subjectSpace + 1&lt;br /&gt;
		else&lt;br /&gt;
			return subjectSpace&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	function envFuncs.docpageBase()&lt;br /&gt;
		-- The base page of the /doc, /sandbox, and /testcases subpages.&lt;br /&gt;
		-- For some namespaces this is the talk page, rather than the template page.&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local docSpace = env.docSpace&lt;br /&gt;
		local docSpaceText = mw.site.namespaces[docSpace].name&lt;br /&gt;
		-- Assemble the link. docSpace is never the main namespace, so we can hardcode the colon.&lt;br /&gt;
		return docSpaceText .. &#039;:&#039; .. templateTitle.text&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	function envFuncs.compareUrl()&lt;br /&gt;
		-- Diff link between the sandbox and the main template using [[Special:ComparePages]].&lt;br /&gt;
		local templateTitle = env.templateTitle&lt;br /&gt;
		local sandboxTitle = env.sandboxTitle&lt;br /&gt;
		if templateTitle.exists and sandboxTitle.exists then&lt;br /&gt;
			local compareUrl = mw.uri.fullUrl(&lt;br /&gt;
				&#039;Special:ComparePages&#039;,&lt;br /&gt;
				{ page1 = templateTitle.prefixedText, page2 = sandboxTitle.prefixedText}&lt;br /&gt;
			)&lt;br /&gt;
			return tostring(compareUrl)&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	end		&lt;br /&gt;
&lt;br /&gt;
	return env&lt;br /&gt;
end	&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Auxiliary templates&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.getModuleWikitext = makeInvokeFunc(&#039;_getModuleWikitext&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._getModuleWikitext(args, env)&lt;br /&gt;
	local currentTitle = mw.title.getCurrentTitle()&lt;br /&gt;
	if currentTitle.contentModel ~= &#039;Scribunto&#039; then return end&lt;br /&gt;
	pcall(require, currentTitle.prefixedText) -- if it fails, we don&#039;t care&lt;br /&gt;
	local moduleWikitext =  package.loaded[&amp;quot;Module:Module wikitext&amp;quot;]&lt;br /&gt;
	if moduleWikitext then&lt;br /&gt;
		return moduleWikitext.main()&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.sandboxNotice(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Generates a sandbox notice for display above sandbox pages.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-notice-image&#039; --&amp;gt; &#039;[[Image:Sandbox.svg|50px|alt=|link=]]&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-blurb&#039; --&amp;gt; &#039;This is the $1 for $2.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-diff-blurb&#039; --&amp;gt; &#039;This is the $1 for $2 ($3).&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-template&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|template sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-module&#039; --&amp;gt; &#039;[[Wikipedia:Template test cases|module sandbox]] page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-pagetype-other&#039; --&amp;gt; &#039;sandbox page&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-blurb&#039; --&amp;gt; &#039;See also the companion subpage for $1.&#039;&lt;br /&gt;
	-- &#039;sandbox-notice-testcases-link-display&#039; --&amp;gt; &#039;test cases&#039;&lt;br /&gt;
	-- &#039;sandbox-category&#039; --&amp;gt; &#039;Template sandboxes&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not (subjectSpace and title and sandboxTitle and templateTitle&lt;br /&gt;
		and mw.title.equals(title, sandboxTitle)) then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Build the table of arguments to pass to {{ombox}}. We need just two fields, &amp;quot;image&amp;quot; and &amp;quot;text&amp;quot;.&lt;br /&gt;
	local omargs = {}&lt;br /&gt;
	omargs.image = message(&#039;sandbox-notice-image&#039;)&lt;br /&gt;
	-- Get the text. We start with the opening blurb, which is something like&lt;br /&gt;
	-- &amp;quot;This is the template sandbox for [[Template:Foo]] (diff).&amp;quot;&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-template&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-module&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;sandbox-notice-pagetype-other&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local templateLink = makeWikilink(templateTitle.prefixedText)&lt;br /&gt;
	local compareUrl = env.compareUrl&lt;br /&gt;
	if compareUrl then&lt;br /&gt;
		local compareDisplay = message(&#039;sandbox-notice-compare-link-display&#039;)&lt;br /&gt;
		local compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-diff-blurb&#039;, {pagetype, templateLink, compareLink})&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. message(&#039;sandbox-notice-blurb&#039;, {pagetype, templateLink})&lt;br /&gt;
	end&lt;br /&gt;
	-- Get the test cases page blurb if the page exists. This is something like&lt;br /&gt;
	-- &amp;quot;See also the companion subpage for [[Template:Foo/testcases|test cases]].&amp;quot;&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	if testcasesTitle and testcasesTitle.exists then&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot; then&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;sandbox-notice-testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-run-blurb&#039;, {testcasesLink, testcasesRunLink})&lt;br /&gt;
		else&lt;br /&gt;
			local testcasesLinkDisplay = message(&#039;sandbox-notice-testcases-link-display&#039;)&lt;br /&gt;
			local testcasesLink = makeWikilink(testcasesTitle.prefixedText, testcasesLinkDisplay)&lt;br /&gt;
			text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. message(&#039;sandbox-notice-testcases-blurb&#039;, {testcasesLink})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Add the sandbox to the sandbox category.&lt;br /&gt;
	omargs.text = text .. makeCategoryLink(message(&#039;sandbox-category&#039;))&lt;br /&gt;
&lt;br /&gt;
	-- &#039;documentation-clear&#039;&lt;br /&gt;
	return &#039;&amp;lt;div class=&amp;quot;&#039; .. message(&#039;clear&#039;) .. &#039;&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;&#039;&lt;br /&gt;
		.. require(&#039;Module:Message box&#039;).main(&#039;ombox&#039;, omargs)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.protectionTemplate(env)&lt;br /&gt;
	-- Generates the padlock icon in the top right.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;protection-template&#039; --&amp;gt; &#039;pp-template&#039;&lt;br /&gt;
	-- &#039;protection-template-args&#039; --&amp;gt; {docusage = &#039;yes&#039;}&lt;br /&gt;
	local protectionLevels = env.protectionLevels&lt;br /&gt;
	if not protectionLevels then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local editProt = protectionLevels.edit and protectionLevels.edit[1]&lt;br /&gt;
	local moveProt = protectionLevels.move and protectionLevels.move[1]&lt;br /&gt;
	&lt;br /&gt;
	-- 日本語版独自仕様: 編集保護と移動保護で保護レベルが異なる場合に、両方のアイコンを表示する&lt;br /&gt;
	local ret = &#039;&#039;&lt;br /&gt;
	if editProt then&lt;br /&gt;
		-- The page is edit-protected.&lt;br /&gt;
		ret = ret .. require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			message(&#039;protection-reason-edit&#039;), small = true&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	if moveProt and moveProt ~= editProt and moveProt ~= &#039;autoconfirmed&#039; then&lt;br /&gt;
		-- The page is move-protected.&lt;br /&gt;
		ret = ret .. require(&#039;Module:Protection banner&#039;)._main{&lt;br /&gt;
			action = &#039;move&#039;, small = true&lt;br /&gt;
		}&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Start box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.startBox = makeInvokeFunc(&#039;_startBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._startBox(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- This function generates the start box.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- The actual work is done by p.makeStartBoxLinksData and p.renderStartBoxLinks which make&lt;br /&gt;
	-- the [view] [edit] [history] [purge] links, and by p.makeStartBoxData and p.renderStartBox&lt;br /&gt;
	-- which generate the box HTML.&lt;br /&gt;
	--]]&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local links&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content or args[1] then&lt;br /&gt;
		-- No need to include the links if the documentation is on the template page itself.&lt;br /&gt;
		local linksData = p.makeStartBoxLinksData(args, env)&lt;br /&gt;
		if linksData then&lt;br /&gt;
			links = p.renderStartBoxLinks(linksData)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	-- Generate the start box html.&lt;br /&gt;
	local data = p.makeStartBoxData(args, env, links)&lt;br /&gt;
	if data then&lt;br /&gt;
		return p.renderStartBox(data)&lt;br /&gt;
	else&lt;br /&gt;
		-- User specified no heading.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxLinksData(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Does initial processing of data to make the [view] [edit] [history] [purge] links.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;view-link-display&#039; --&amp;gt; &#039;view&#039;&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;purge-link-display&#039; --&amp;gt; &#039;purge&#039;&lt;br /&gt;
	-- &#039;file-docpage-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-filespace&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;docpage-preload&#039; --&amp;gt; &#039;Template:Documentation/preload&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not title or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if docTitle.isRedirect then&lt;br /&gt;
		docTitle = docTitle.redirectTarget&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local data = {}&lt;br /&gt;
	data.title = title&lt;br /&gt;
	data.docTitle = docTitle&lt;br /&gt;
	-- View, display, edit, and purge links if /doc exists.&lt;br /&gt;
	data.viewLinkDisplay = message(&#039;view-link-display&#039;)&lt;br /&gt;
	data.editLinkDisplay = message(&#039;edit-link-display&#039;)&lt;br /&gt;
	data.historyLinkDisplay = message(&#039;history-link-display&#039;)&lt;br /&gt;
	data.purgeLinkDisplay = message(&#039;purge-link-display&#039;)&lt;br /&gt;
	-- Create link if /doc doesn&#039;t exist.&lt;br /&gt;
	local preload = args.preload&lt;br /&gt;
	if not preload then&lt;br /&gt;
		if subjectSpace == 6 then -- File namespace&lt;br /&gt;
			preload = message(&#039;file-docpage-preload&#039;)&lt;br /&gt;
		elseif subjectSpace == 828 then -- Module namespace&lt;br /&gt;
			preload = message(&#039;module-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			preload = message(&#039;docpage-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	data.preload = preload&lt;br /&gt;
	data.createLinkDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBoxLinks(data)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the [view][edit][history][purge] or [create] links from the data table.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxLinksData&lt;br /&gt;
	--]]&lt;br /&gt;
	&lt;br /&gt;
	local function escapeBrackets(s)&lt;br /&gt;
		-- Escapes square brackets with HTML entities.&lt;br /&gt;
		s = s:gsub(&#039;%[&#039;, &#039;&amp;amp;#91;&#039;) -- Replace square brackets with HTML entities.&lt;br /&gt;
		s = s:gsub(&#039;%]&#039;, &#039;&amp;amp;#93;&#039;)&lt;br /&gt;
		return s&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local ret&lt;br /&gt;
	local docTitle = data.docTitle&lt;br /&gt;
	local title = data.title&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		local viewLink = makeWikilink(docTitle.prefixedText, data.viewLinkDisplay)&lt;br /&gt;
		local editLink = makeUrlLink(docTitle:fullUrl{action = &#039;edit&#039;}, data.editLinkDisplay)&lt;br /&gt;
		local historyLink = makeUrlLink(docTitle:fullUrl{action = &#039;history&#039;}, data.historyLinkDisplay)&lt;br /&gt;
		local purgeLink = makeUrlLink(title:fullUrl{action = &#039;purge&#039;}, data.purgeLinkDisplay)&lt;br /&gt;
		ret = &#039;[%s] [%s] [%s] [%s]&#039;&lt;br /&gt;
		ret = escapeBrackets(ret)&lt;br /&gt;
		ret = mw.ustring.format(ret, viewLink, editLink, historyLink, purgeLink)&lt;br /&gt;
	else&lt;br /&gt;
		local createLink = makeUrlLink(docTitle:fullUrl{action = &#039;edit&#039;, preload = data.preload}, data.createLinkDisplay)&lt;br /&gt;
		ret = &#039;[%s]&#039;&lt;br /&gt;
		ret = escapeBrackets(ret)&lt;br /&gt;
		ret = mw.ustring.format(ret, createLink)&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeStartBoxData(args, env, links)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Does initial processing of data to pass to the start-box render function, p.renderStartBox.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- @links - a string containing the [view][edit][history][purge] links - could be nil if there&#039;s an error.&lt;br /&gt;
	--&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;documentation-icon-wikitext&#039; --&amp;gt; &#039;[[File:Test Template Info-Icon - Version (2).svg|50px|link=|alt=]]&#039;&lt;br /&gt;
	-- &#039;template-namespace-heading&#039; --&amp;gt; &#039;Template documentation&#039;&lt;br /&gt;
	-- &#039;module-namespace-heading&#039; --&amp;gt; &#039;Module documentation&#039;&lt;br /&gt;
	-- &#039;file-namespace-heading&#039; --&amp;gt; &#039;Summary&#039;&lt;br /&gt;
	-- &#039;other-namespaces-heading&#039; --&amp;gt; &#039;Documentation&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not subjectSpace then&lt;br /&gt;
		-- Default to an &amp;quot;other namespaces&amp;quot; namespace, so that we get at least some output&lt;br /&gt;
		-- if an error occurs.&lt;br /&gt;
		subjectSpace = 2&lt;br /&gt;
	end&lt;br /&gt;
	local data = {}&lt;br /&gt;
	&lt;br /&gt;
	-- Heading&lt;br /&gt;
	local heading = args.heading -- Blank values are not removed.&lt;br /&gt;
	if heading == &#039;&#039; then&lt;br /&gt;
		-- Don&#039;t display the start box if the heading arg is defined but blank.&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if heading then&lt;br /&gt;
		data.heading = heading&lt;br /&gt;
	elseif subjectSpace == 10 then -- Template namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;template-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then -- Module namespace&lt;br /&gt;
		data.heading = message(&#039;documentation-icon-wikitext&#039;) .. &#039; &#039; .. message(&#039;module-namespace-heading&#039;)&lt;br /&gt;
	elseif subjectSpace == 6 then -- File namespace&lt;br /&gt;
		data.heading = message(&#039;file-namespace-heading&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		data.heading = message(&#039;other-namespaces-heading&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Heading CSS&lt;br /&gt;
	local headingStyle = args[&#039;heading-style&#039;]&lt;br /&gt;
	if headingStyle then&lt;br /&gt;
		data.headingStyleText = headingStyle&lt;br /&gt;
	else&lt;br /&gt;
		-- &#039;documentation-heading&#039;&lt;br /&gt;
		data.headingClass = message(&#039;main-div-heading-class&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Data for the [view][edit][history][purge] or [create] links.&lt;br /&gt;
	if links then&lt;br /&gt;
		-- &#039;mw-editsection-like plainlinks&#039;&lt;br /&gt;
		data.linksClass = message(&#039;start-box-link-classes&#039;)&lt;br /&gt;
		data.links = links&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return data&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.renderStartBox(data)&lt;br /&gt;
	-- Renders the start box html.&lt;br /&gt;
	-- @data - a table of data generated by p.makeStartBoxData.&lt;br /&gt;
	local sbox = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	sbox&lt;br /&gt;
		-- &#039;documentation-startbox&#039;&lt;br /&gt;
		:addClass(message(&#039;start-box-class&#039;))&lt;br /&gt;
		:newline()&lt;br /&gt;
		:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.headingClass)&lt;br /&gt;
			:cssText(data.headingStyleText)&lt;br /&gt;
			:wikitext(data.heading)&lt;br /&gt;
	local links = data.links&lt;br /&gt;
	if links then&lt;br /&gt;
		sbox:tag(&#039;span&#039;)&lt;br /&gt;
			:addClass(data.linksClass)&lt;br /&gt;
			:attr(&#039;id&#039;, data.linksId)&lt;br /&gt;
			:wikitext(links)&lt;br /&gt;
	end&lt;br /&gt;
	return tostring(sbox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Documentation content&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.content = makeInvokeFunc(&#039;_content&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._content(args, env)&lt;br /&gt;
	-- Displays the documentation contents&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	local content = args.content&lt;br /&gt;
	if not content and docTitle and docTitle.exists then&lt;br /&gt;
		content = args._content or mw.getCurrentFrame():expandTemplate{title = docTitle.prefixedText}&lt;br /&gt;
	end&lt;br /&gt;
	-- The line breaks below are necessary so that &amp;quot;=== Headings ===&amp;quot; at the start and end&lt;br /&gt;
	-- of docs are interpreted correctly.&lt;br /&gt;
	return &#039;\n&#039; .. (content or &#039;&#039;) .. &#039;\n&#039; &lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
p.contentTitle = makeInvokeFunc(&#039;_contentTitle&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._contentTitle(args, env)&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not args.content and docTitle and docTitle.exists then&lt;br /&gt;
		return docTitle.prefixedText&lt;br /&gt;
	else&lt;br /&gt;
		return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- End box&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
p.endBox = makeInvokeFunc(&#039;_endBox&#039;)&lt;br /&gt;
&lt;br /&gt;
function p._endBox(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- This function generates the end box (also known as the link box).&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	--]=]&lt;br /&gt;
	&lt;br /&gt;
	-- Get environment data.&lt;br /&gt;
	env = env or p.getEnvironment(args)&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not subjectSpace or not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
		&lt;br /&gt;
	-- Check whether we should output the end box at all. Add the end&lt;br /&gt;
	-- box by default if the documentation exists or if we are in the&lt;br /&gt;
	-- user, module or template namespaces.&lt;br /&gt;
	local linkBox = args[&#039;link box&#039;]&lt;br /&gt;
	if linkBox == &#039;off&#039;&lt;br /&gt;
		or not (&lt;br /&gt;
			docTitle.exists&lt;br /&gt;
			or subjectSpace == 2&lt;br /&gt;
			or subjectSpace == 828&lt;br /&gt;
			or subjectSpace == 10&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Assemble the link box.&lt;br /&gt;
	local text = &#039;&#039;&lt;br /&gt;
	if linkBox then&lt;br /&gt;
		text = text .. linkBox&lt;br /&gt;
	else&lt;br /&gt;
		text = text .. (p.makeDocPageBlurb(args, env) or &#039;&#039;) -- &amp;quot;This documentation is transcluded from [[Foo]].&amp;quot; &lt;br /&gt;
		if subjectSpace == 2 or subjectSpace == 10 or subjectSpace == 828 then&lt;br /&gt;
			-- We are in the user, template or module namespaces.&lt;br /&gt;
			-- Add sandbox and testcases links.&lt;br /&gt;
			-- &amp;quot;Editors can experiment in this template&#039;s sandbox and testcases pages.&amp;quot;&lt;br /&gt;
			text = text .. (p.makeExperimentBlurb(args, env) or &#039;&#039;) .. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
			if not args.content and not args[1] then&lt;br /&gt;
				-- &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
				-- Don&#039;t show this message with inline docs or with an explicitly specified doc page,&lt;br /&gt;
				-- as then it is unclear where to add the categories.&lt;br /&gt;
				text = text .. (p.makeCategoriesBlurb(args, env) or &#039;&#039;)&lt;br /&gt;
			end&lt;br /&gt;
			text = text .. &#039; &#039; .. (p.makeSubpagesBlurb(args, env) or &#039;&#039;) --&amp;quot;Subpages of this template&amp;quot;&lt;br /&gt;
			local printBlurb = p.makePrintBlurb(args, env) -- Two-line blurb about print versions of templates.&lt;br /&gt;
			if printBlurb then&lt;br /&gt;
				text = text .. &#039;&amp;lt;br /&amp;gt;&#039; .. printBlurb&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local box = mw.html.create(&#039;div&#039;)&lt;br /&gt;
	box:attr(&#039;role&#039;, &#039;note&#039;)&lt;br /&gt;
		-- &#039;documentation-metadata&#039;&lt;br /&gt;
		:addClass(message(&#039;end-box-class&#039;))&lt;br /&gt;
		-- &#039;plainlinks&#039;&lt;br /&gt;
		:addClass(message(&#039;end-box-plainlinks&#039;))&lt;br /&gt;
		:wikitext(text)&lt;br /&gt;
		:done()&lt;br /&gt;
&lt;br /&gt;
	return &#039;\n&#039; .. tostring(box)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeDocPageBlurb(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Makes the blurb &amp;quot;This documentation is transcluded from [[Template:Foo]] (edit, history)&amp;quot;.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;history-link-display&#039; --&amp;gt; &#039;history&#039;&lt;br /&gt;
	-- &#039;transcluded-from-blurb&#039; --&amp;gt; &lt;br /&gt;
	-- &#039;The above [[Wikipedia:Template documentation|documentation]] &lt;br /&gt;
	-- is [[Help:Transclusion|transcluded]] from $1.&#039;&lt;br /&gt;
	-- &#039;module-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-doc&#039;&lt;br /&gt;
	-- &#039;create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;create-module-doc-blurb&#039; --&amp;gt;&lt;br /&gt;
	-- &#039;You might want to $1 a documentation page for this [[Wikipedia:Lua|Scribunto module]].&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local ret&lt;br /&gt;
	if docTitle.exists then&lt;br /&gt;
		-- /doc exists; link to it.&lt;br /&gt;
		local docLink = makeWikilink(docTitle.prefixedText)&lt;br /&gt;
		local editUrl = docTitle:fullUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local editDisplay = message(&#039;edit-link-display&#039;)&lt;br /&gt;
		local editLink = makeUrlLink(editUrl, editDisplay)&lt;br /&gt;
		local historyUrl = docTitle:fullUrl{action = &#039;history&#039;}&lt;br /&gt;
		local historyDisplay = message(&#039;history-link-display&#039;)&lt;br /&gt;
		local historyLink = makeUrlLink(historyUrl, historyDisplay)&lt;br /&gt;
		ret = message(&#039;transcluded-from-blurb&#039;, {docLink})&lt;br /&gt;
			.. &#039; &#039;&lt;br /&gt;
			.. makeToolbar(editLink, historyLink)&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	elseif env.subjectSpace == 828 then&lt;br /&gt;
		-- /doc does not exist; ask to create it.&lt;br /&gt;
		local createUrl = docTitle:fullUrl{action = &#039;edit&#039;, preload = message(&#039;module-preload&#039;)}&lt;br /&gt;
		local createDisplay = message(&#039;create-link-display&#039;)&lt;br /&gt;
		local createLink = makeUrlLink(createUrl, createDisplay)&lt;br /&gt;
		ret = message(&#039;create-module-doc-blurb&#039;, {createLink})&lt;br /&gt;
			.. &#039;&amp;lt;br /&amp;gt;&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeExperimentBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Renders the text &amp;quot;Editors can experiment in this template&#039;s sandbox (edit | diff) and testcases (edit) pages.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- &lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;compare-link-display&#039; --&amp;gt; &#039;diff&#039;&lt;br /&gt;
	-- &#039;module-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-sandbox&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;sandbox-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;mirror-edit-summary&#039; --&amp;gt; &#039;Create sandbox version of $1&#039;&lt;br /&gt;
	-- &#039;mirror-link-display&#039; --&amp;gt; &#039;mirror&#039;&lt;br /&gt;
	-- &#039;mirror-link-preload&#039; --&amp;gt; &#039;Template:Documentation/mirror&#039;&lt;br /&gt;
	-- &#039;sandbox-link-display&#039; --&amp;gt; &#039;sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039;--&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;template-sandbox-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-sandbox&#039;&lt;br /&gt;
	-- &#039;testcases-create-link-display&#039; --&amp;gt; &#039;create&#039;&lt;br /&gt;
	-- &#039;testcases-link-display&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;testcases-edit-link-display&#039; --&amp;gt; &#039;edit&#039;&lt;br /&gt;
	-- &#039;module-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-module-testcases&#039;&lt;br /&gt;
	-- &#039;template-testcases-preload&#039; --&amp;gt; &#039;Template:Documentation/preload-testcases&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-module&#039; --&amp;gt; &#039;Editors can experiment in this module&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	-- &#039;experiment-blurb-template&#039; --&amp;gt; &#039;Editors can experiment in this template&#039;s $1 and $2 pages.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	local sandboxTitle = env.sandboxTitle&lt;br /&gt;
	local testcasesTitle = env.testcasesTitle&lt;br /&gt;
	local templatePage = templateTitle.prefixedText&lt;br /&gt;
	if not subjectSpace or not templateTitle or not sandboxTitle or not testcasesTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	-- Make links.&lt;br /&gt;
	local sandboxLinks, testcasesLinks&lt;br /&gt;
	if sandboxTitle.exists then&lt;br /&gt;
		local sandboxPage = sandboxTitle.prefixedText&lt;br /&gt;
		local sandboxDisplay = message(&#039;sandbox-link-display&#039;)&lt;br /&gt;
		local sandboxLink = makeWikilink(sandboxPage, sandboxDisplay)&lt;br /&gt;
		local sandboxEditUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local sandboxEditDisplay = message(&#039;sandbox-edit-link-display&#039;)&lt;br /&gt;
		local sandboxEditLink = makeUrlLink(sandboxEditUrl, sandboxEditDisplay)&lt;br /&gt;
		local compareUrl = env.compareUrl&lt;br /&gt;
		local compareLink&lt;br /&gt;
		if compareUrl then&lt;br /&gt;
			local compareDisplay = message(&#039;compare-link-display&#039;)&lt;br /&gt;
			compareLink = makeUrlLink(compareUrl, compareDisplay)&lt;br /&gt;
		end&lt;br /&gt;
		sandboxLinks = sandboxLink .. &#039; &#039; .. makeToolbar(sandboxEditLink, compareLink)&lt;br /&gt;
	else&lt;br /&gt;
		local sandboxPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			sandboxPreload = message(&#039;module-sandbox-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			sandboxPreload = message(&#039;template-sandbox-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local sandboxCreateUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;, preload = sandboxPreload}&lt;br /&gt;
		local sandboxCreateDisplay = message(&#039;sandbox-create-link-display&#039;)&lt;br /&gt;
		local sandboxCreateLink = makeUrlLink(sandboxCreateUrl, sandboxCreateDisplay)&lt;br /&gt;
		local mirrorSummary = message(&#039;mirror-edit-summary&#039;, {makeWikilink(templatePage)})&lt;br /&gt;
		local mirrorPreload = message(&#039;mirror-link-preload&#039;)&lt;br /&gt;
		local mirrorUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;, preload = mirrorPreload, summary = mirrorSummary}&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			mirrorUrl = sandboxTitle:fullUrl{action = &#039;edit&#039;, preload = templateTitle.prefixedText, summary = mirrorSummary}&lt;br /&gt;
		end&lt;br /&gt;
		local mirrorDisplay = message(&#039;mirror-link-display&#039;)&lt;br /&gt;
		local mirrorLink = makeUrlLink(mirrorUrl, mirrorDisplay)&lt;br /&gt;
		sandboxLinks = message(&#039;sandbox-link-display&#039;) .. &#039; &#039; .. makeToolbar(sandboxCreateLink, mirrorLink)&lt;br /&gt;
	end&lt;br /&gt;
	if testcasesTitle.exists then&lt;br /&gt;
		local testcasesPage = testcasesTitle.prefixedText&lt;br /&gt;
		local testcasesDisplay = message(&#039;testcases-link-display&#039;)&lt;br /&gt;
		local testcasesLink = makeWikilink(testcasesPage, testcasesDisplay)&lt;br /&gt;
		local testcasesEditUrl = testcasesTitle:fullUrl{action = &#039;edit&#039;}&lt;br /&gt;
		local testcasesEditDisplay = message(&#039;testcases-edit-link-display&#039;)&lt;br /&gt;
		local testcasesEditLink = makeUrlLink(testcasesEditUrl, testcasesEditDisplay)&lt;br /&gt;
		-- for Modules, add testcases run link if exists&lt;br /&gt;
		if testcasesTitle.contentModel == &amp;quot;Scribunto&amp;quot; and testcasesTitle.talkPageTitle and testcasesTitle.talkPageTitle.exists then&lt;br /&gt;
			local testcasesRunLinkDisplay = message(&#039;testcases-run-link-display&#039;)&lt;br /&gt;
			local testcasesRunLink = makeWikilink(testcasesTitle.talkPageTitle.prefixedText, testcasesRunLinkDisplay)&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink, testcasesRunLink)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesLinks = testcasesLink .. &#039; &#039; .. makeToolbar(testcasesEditLink)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		local testcasesPreload&lt;br /&gt;
		if subjectSpace == 828 then&lt;br /&gt;
			testcasesPreload = message(&#039;module-testcases-preload&#039;)&lt;br /&gt;
		else&lt;br /&gt;
			testcasesPreload = message(&#039;template-testcases-preload&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		local testcasesCreateUrl = testcasesTitle:fullUrl{action = &#039;edit&#039;, preload = testcasesPreload}&lt;br /&gt;
		local testcasesCreateDisplay = message(&#039;testcases-create-link-display&#039;)&lt;br /&gt;
		local testcasesCreateLink = makeUrlLink(testcasesCreateUrl, testcasesCreateDisplay)&lt;br /&gt;
		testcasesLinks = message(&#039;testcases-link-display&#039;) .. &#039; &#039; .. makeToolbar(testcasesCreateLink)&lt;br /&gt;
	end&lt;br /&gt;
	local messageName&lt;br /&gt;
	if subjectSpace == 828 then&lt;br /&gt;
		messageName = &#039;experiment-blurb-module&#039;&lt;br /&gt;
	else&lt;br /&gt;
		messageName = &#039;experiment-blurb-template&#039;&lt;br /&gt;
	end&lt;br /&gt;
	return message(messageName, {sandboxLinks, testcasesLinks})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeCategoriesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the text &amp;quot;Please add categories to the /doc subpage.&amp;quot;&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;doc-link-display&#039; --&amp;gt; &#039;/doc&#039;&lt;br /&gt;
	-- &#039;add-categories-blurb&#039; --&amp;gt; &#039;Please add categories to the $1 subpage.&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local docTitle = env.docTitle&lt;br /&gt;
	if not docTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local docPathLink = makeWikilink(docTitle.prefixedText, message(&#039;doc-link-display&#039;))&lt;br /&gt;
	return message(&#039;add-categories-blurb&#039;, {docPathLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makeSubpagesBlurb(args, env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generates the &amp;quot;Subpages of this template&amp;quot; link.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;template-pagetype&#039; --&amp;gt; &#039;template&#039;&lt;br /&gt;
	-- &#039;module-pagetype&#039; --&amp;gt; &#039;module&#039;&lt;br /&gt;
	-- &#039;default-pagetype&#039; --&amp;gt; &#039;page&#039;&lt;br /&gt;
	-- &#039;subpages-link-display&#039; --&amp;gt; &#039;Subpages of this $1&#039;&lt;br /&gt;
	--]]&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	local templateTitle = env.templateTitle&lt;br /&gt;
	if not subjectSpace or not templateTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local pagetype&lt;br /&gt;
	if subjectSpace == 10 then&lt;br /&gt;
		pagetype = message(&#039;template-pagetype&#039;)&lt;br /&gt;
	elseif subjectSpace == 828 then&lt;br /&gt;
		pagetype = message(&#039;module-pagetype&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		pagetype = message(&#039;default-pagetype&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	local subpagesLink = makeWikilink(&lt;br /&gt;
		&#039;Special:PrefixIndex/&#039; .. templateTitle.prefixedText .. &#039;/&#039;,&lt;br /&gt;
		message(&#039;subpages-link-display&#039;, {pagetype})&lt;br /&gt;
	)&lt;br /&gt;
	return message(&#039;subpages-blurb&#039;, {subpagesLink})&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.makePrintBlurb(args, env)&lt;br /&gt;
	--[=[&lt;br /&gt;
	-- Generates the blurb displayed when there is a print version of the template available.&lt;br /&gt;
	-- @args - a table of arguments passed by the user&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	--&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;print-link-display&#039; --&amp;gt; &#039;/Print&#039;&lt;br /&gt;
	-- &#039;print-blurb&#039; --&amp;gt; &#039;A [[Help:Books/for experts#Improving the book layout|print version]]&#039;&lt;br /&gt;
	--		.. &#039; of this template exists at $1.&#039;&lt;br /&gt;
	--		.. &#039; If you make a change to this template, please update the print version as well.&#039;&lt;br /&gt;
	-- &#039;display-print-category&#039; --&amp;gt; true&lt;br /&gt;
	-- &#039;print-category&#039; --&amp;gt; &#039;Templates with print versions&#039;&lt;br /&gt;
	--]=]&lt;br /&gt;
	local printTitle = env.printTitle&lt;br /&gt;
	if not printTitle then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local ret&lt;br /&gt;
	if printTitle.exists then&lt;br /&gt;
		local printLink = makeWikilink(printTitle.prefixedText, message(&#039;print-link-display&#039;))&lt;br /&gt;
		ret = message(&#039;print-blurb&#039;, {printLink})&lt;br /&gt;
		local displayPrintCategory = message(&#039;display-print-category&#039;, nil, &#039;boolean&#039;)&lt;br /&gt;
		if displayPrintCategory then&lt;br /&gt;
			ret = ret .. makeCategoryLink(message(&#039;print-category&#039;))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
-- Tracking categories&lt;br /&gt;
----------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
function p.addTrackingCategories(env)&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Check if {{documentation}} is transcluded on a /doc or /testcases page.&lt;br /&gt;
	-- @env - environment table containing title objects, etc., generated with p.getEnvironment&lt;br /&gt;
	&lt;br /&gt;
	-- Messages:&lt;br /&gt;
	-- &#039;display-strange-usage-category&#039; --&amp;gt; true&lt;br /&gt;
	-- &#039;doc-subpage&#039; --&amp;gt; &#039;doc&#039;&lt;br /&gt;
	-- &#039;testcases-subpage&#039; --&amp;gt; &#039;testcases&#039;&lt;br /&gt;
	-- &#039;strange-usage-category&#039; --&amp;gt; &#039;Wikipedia pages with strange ((documentation)) usage&#039;&lt;br /&gt;
	-- &lt;br /&gt;
	-- /testcases pages in the module namespace are not categorised, as they may have&lt;br /&gt;
	-- {{documentation}} transcluded automatically.&lt;br /&gt;
	--]]&lt;br /&gt;
	local title = env.title&lt;br /&gt;
	local subjectSpace = env.subjectSpace&lt;br /&gt;
	if not title or not subjectSpace then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	local ret = &#039;&#039;&lt;br /&gt;
	if message(&#039;display-strange-usage-category&#039;, nil, &#039;boolean&#039;)&lt;br /&gt;
		and (&lt;br /&gt;
			subpage == message(&#039;doc-subpage&#039;)&lt;br /&gt;
			or subjectSpace ~= 828 and subpage == message(&#039;testcases-subpage&#039;)&lt;br /&gt;
		)&lt;br /&gt;
	then&lt;br /&gt;
		ret = ret .. makeCategoryLink(message(&#039;strange-usage-category&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:IsDocSubpage&amp;diff=2497</id>
		<title>テンプレート:IsDocSubpage</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:IsDocSubpage&amp;diff=2497"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#ifexpr: (&lt;br /&gt;
	{{#ifeq:{{lc:{{SUBPAGENAME}}}}|{{lc:{{{override|doc}}}}}|1|0}} or (&lt;br /&gt;
		{{#ifeq:{{lc:{{#titleparts:{{FULLPAGENAME}}|-1|-2}}}}|{{lc:{{{override|doc}}}}}|1|0}}&lt;br /&gt;
		and {{#if:{{#translation:}}|1|0}}&lt;br /&gt;
	)&lt;br /&gt;
)&amp;lt;!--&lt;br /&gt;
	--&amp;gt;|{{{true|1}}}&amp;lt;!--&lt;br /&gt;
	--&amp;gt;|{{{false|}}}&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;/includeonly&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage and interwikis in Wikidata, not here! --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation_subpage/en&amp;diff=2495</id>
		<title>テンプレート:Documentation subpage/en</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation_subpage/en&amp;diff=2495"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#switch:&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#if:{{IsDocSubpage|override={{{override|doc}}}|false=}}&lt;br /&gt;
     | &amp;lt;!--(this template has been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#ifeq:{{{doc-notice|show}}} |show&lt;br /&gt;
          | {{Mbox&lt;br /&gt;
             | type = notice&lt;br /&gt;
             | style = margin-bottom:1.0em;&lt;br /&gt;
             | image = [[File:Codex icon book color-base.svg|40px|alt=|class=skin-invert]]&lt;br /&gt;
             | text =&lt;br /&gt;
&#039;&#039;&#039;This is a [[w:Wikipedia:Template documentation|documentation]] [[Special:MyLanguage/Help:Subpages|subpage]] for {{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}.&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{text2|}}}{{{text1|}}}&lt;br /&gt;
  |It contains usage information, [[Special:MyLanguage/Help:Categories|categories]] and other content that is not part of the original {{{text2|{{{text1}}}}}}.&lt;br /&gt;
  |It contains usage information, [[Special:MyLanguage/Help:Categories|categories]] and other content that is not part of the original {{SUBJECTSPACE}} page.&lt;br /&gt;
  }}&lt;br /&gt;
            }}&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#if:{{{inhibit|}}} |&amp;lt;!--(don&#039;t categorize)--&amp;gt;&lt;br /&gt;
          |   &amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
               --&amp;gt;{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}&lt;br /&gt;
                   | [[Category:{{#switch:{{SUBJECTSPACE}}&lt;br /&gt;
                           | Template | Project = Template&lt;br /&gt;
                           | Module   = Module&lt;br /&gt;
                           | User     = User&lt;br /&gt;
                           | #default = MediaWiki&lt;br /&gt;
                       }} documentation pages{{#translation:}}]]&lt;br /&gt;
                   | [[Category:Documentation subpages without corresponding pages{{#translation:}}]]&lt;br /&gt;
                  }}&amp;lt;!--&lt;br /&gt;
           --&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
(completing initial #ifeq: at start of template:)&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
     | &amp;lt;!--(this template has not been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Documentation subpage|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
Use this template on Template Documentation subpage (/doc).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
*{{tl|Documentation}}&lt;br /&gt;
*{{tl|tl}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation_subpage&amp;diff=2493</id>
		<title>テンプレート:Documentation subpage</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation_subpage&amp;diff=2493"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#switch:&amp;lt;translate&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
| =&lt;br /&gt;
&amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
 --&amp;gt;{{#if:{{IsDocSubpage|override={{{override|doc}}}|false=}}&lt;br /&gt;
     | &amp;lt;!--(this template has been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
&amp;lt;/includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#ifeq:{{{doc-notice|show}}} |show&lt;br /&gt;
          | {{Mbox&lt;br /&gt;
             | type = notice&lt;br /&gt;
             | style = margin-bottom:1.0em;&lt;br /&gt;
             | image = [[File:Codex icon book color-base.svg|40px|alt=|class=skin-invert]]&lt;br /&gt;
             | text =&lt;br /&gt;
&#039;&#039;&#039;&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; This is a [[w:Wikipedia:Template documentation|documentation]] [[&amp;lt;tvar name=2&amp;gt;Special:MyLanguage/Help:Subpages&amp;lt;/tvar&amp;gt;|subpage]] for &amp;lt;tvar name=1&amp;gt;{{{1|[[:{{SUBJECTSPACE}}:{{BASEPAGENAME}}]]}}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&#039;&#039;&#039;&amp;lt;br /&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#if:{{{text2|}}}{{{text1|}}}&lt;br /&gt;
  |&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; It contains usage information, [[&amp;lt;tvar name=7&amp;gt;Special:MyLanguage/Help:Categories&amp;lt;/tvar&amp;gt;|categories]] and other content that is not part of the original &amp;lt;tvar name=1&amp;gt;{{{text2|{{{text1}}}}}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
  |&amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; It contains usage information, [[&amp;lt;tvar name=7&amp;gt;Special:MyLanguage/Help:Categories&amp;lt;/tvar&amp;gt;|categories]] and other content that is not part of the original &amp;lt;tvar name=1&amp;gt;{{SUBJECTSPACE}}&amp;lt;/tvar&amp;gt; page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
  }}&lt;br /&gt;
            }}&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{DEFAULTSORT:{{{defaultsort|{{PAGENAME}}}}}}}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
      --&amp;gt;{{#if:{{{inhibit|}}} |&amp;lt;!--(don&#039;t categorize)--&amp;gt;&lt;br /&gt;
          |   &amp;lt;includeonly&amp;gt;&amp;lt;!--&lt;br /&gt;
               --&amp;gt;{{#ifexist:{{NAMESPACE}}:{{BASEPAGENAME}}&lt;br /&gt;
                   | [[Category:{{#switch:{{SUBJECTSPACE}}&lt;br /&gt;
                           | Template | Project = Template&lt;br /&gt;
                           | Module   = Module&lt;br /&gt;
                           | User     = User&lt;br /&gt;
                           | #default = MediaWiki&lt;br /&gt;
                       }} documentation pages{{#translation:}}]]&lt;br /&gt;
                   | [[Category:Documentation subpages without corresponding pages{{#translation:}}]]&lt;br /&gt;
                  }}&amp;lt;!--&lt;br /&gt;
           --&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
         }}&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
(completing initial #ifeq: at start of template:)&lt;br /&gt;
--&amp;gt;&amp;lt;includeonly&amp;gt;&lt;br /&gt;
     | &amp;lt;!--(this template has not been transcluded on a /doc or /{{{override}}} page)--&amp;gt;&lt;br /&gt;
    }}&amp;lt;!--&lt;br /&gt;
--&amp;gt;&amp;lt;/includeonly&amp;gt;&lt;br /&gt;
| #default=&lt;br /&gt;
  {{#invoke:Template translation|renderTranslatedTemplate|template=Template:Documentation subpage|noshift=1|uselang={{int:lang}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
Use this template on Template Documentation subpage (/doc).&lt;br /&gt;
&lt;br /&gt;
== See also == &amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
*{{tl|Documentation}}&lt;br /&gt;
*{{tl|tl}}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Translatable/en&amp;diff=2491</id>
		<title>テンプレート:Translatable/en</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Translatable/en&amp;diff=2491"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#ifeq:{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}|&lt;br /&gt;
|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
|{{#invoke:String|sub|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
  |1&lt;br /&gt;
  |{{#expr:{{#invoke:String|len|{{{1|{{FULLPAGENAME}}}}}}}-{{#invoke:String|len|{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}}}-1}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
{{Lua|Module:String}}&lt;br /&gt;
&lt;br /&gt;
== Examples ==&lt;br /&gt;
* {{tlx|translatable}}&lt;br /&gt;
{{translatable}}&lt;br /&gt;
* {{tlx|translatable|2=Page name}}&lt;br /&gt;
{{translatable|1=Page name}}&lt;br /&gt;
* {{tlx|translatable|2=Page name/{{PAGELANGUAGE}} }}&lt;br /&gt;
{{translatable|1=Page name/{{PAGELANGUAGE}} }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Internationalization templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Uses_TemplateStyles&amp;diff=2489</id>
		<title>テンプレート:Uses TemplateStyles</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Uses_TemplateStyles&amp;diff=2489"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;onlyinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#invoke:Uses TemplateStyles|main}}&amp;lt;/includeonly&amp;gt;&amp;lt;/onlyinclude&amp;gt;&lt;br /&gt;
{{Uses TemplateStyles|Template:Uses TemplateStyles/example.css|nocat=true}}&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;!-- Add categories to the /doc subpage and interwikis in Wikidata, not here! --&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation/en&amp;diff=2487</id>
		<title>テンプレート:Documentation/en</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation/en&amp;diff=2487"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation|content=&lt;br /&gt;
&lt;br /&gt;
{{Lua|Module:Documentation}}&lt;br /&gt;
This template automatically displays a documentation box like the one you are seeing now, of which the content is sometimes transcluded from another page.&lt;br /&gt;
It is intended for pages which are [[Special:MyLanguage/Help:Transclusion|transcluded]] in other pages, i.e. templates, whether in the template namespace or not.&lt;br /&gt;
&lt;br /&gt;
== Usage ==&lt;br /&gt;
&lt;br /&gt;
=== Customising display ===&lt;br /&gt;
&lt;br /&gt;
Overrides exist to customise the output in special cases:&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;documentation{{!}}&#039;&#039;&#039;heading&#039;&#039;&#039;=&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt; - change the text of the &amp;quot;documentation&amp;quot; heading. If this is set to blank, the entire heading line (including the first [edit] link) will also disappear.&lt;br /&gt;
&lt;br /&gt;
== Rationale ==&lt;br /&gt;
This template allows any page to use any documentation page, and makes it possible to protect templates while allowing anyone to edit the template&#039;s documentation and categories.&lt;br /&gt;
It also reduces server resources by circumventing a [[w:Wikipedia:Template limits|technical limitation of templates]] (see a [[:en:Special:Diff/69888944|developer&#039;s explanation]]).&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
* [[w:Template:Documentation subpage]]&lt;br /&gt;
* {{tim|Documentation}}&lt;br /&gt;
* [[w:Wikipedia:Template documentation]]&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Formatting templates{{#translation:}}|Template documentation]]&lt;br /&gt;
[[Category:Template documentation{{#translation:}}| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#if:{{{content|}}}|&lt;br /&gt;
[[Category:Template documentation pages{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation&amp;diff=2485</id>
		<title>テンプレート:Documentation</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Documentation&amp;diff=2485"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#invoke:documentation|main|_content={{ {{#invoke:documentation|contentTitle}}}}}}&amp;lt;/includeonly&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation|content=&lt;br /&gt;
&lt;br /&gt;
{{Lua|Module:Documentation}}&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:12--&amp;gt; This template automatically displays a documentation box like the one you are seeing now, of which the content is sometimes transcluded from another page.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; It is intended for pages which are [[&amp;lt;tvar name=1&amp;gt;Special:MyLanguage/Help:Transclusion&amp;lt;/tvar&amp;gt;|transcluded]] in other pages, i.e. templates, whether in the template namespace or not.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Customising display === &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
Overrides exist to customise the output in special cases:&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;nowiki&amp;gt;{{&amp;lt;/nowiki&amp;gt;documentation{{!}}&#039;&#039;&#039;heading&#039;&#039;&#039;=&amp;lt;nowiki&amp;gt;}}&amp;lt;/nowiki&amp;gt; - &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; change the text of the &amp;quot;documentation&amp;quot; heading.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:10--&amp;gt; If this is set to blank, the entire heading line (including the first [edit] link) will also disappear.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Rationale == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:7--&amp;gt; This template allows any page to use any documentation page, and makes it possible to protect templates while allowing anyone to edit the template&#039;s documentation and categories.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; It also reduces server resources by circumventing a [[w:Wikipedia:Template limits|technical limitation of templates]] (see a [[&amp;lt;tvar name=1&amp;gt;:en:Special:Diff/69888944&amp;lt;/tvar&amp;gt;|developer&#039;s explanation]]).&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:14--&amp;gt; [[w:Template:Documentation subpage]]&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tim|Documentation}}&lt;br /&gt;
* &amp;lt;translate&amp;gt;&amp;lt;!--T:11--&amp;gt; [[w:Wikipedia:Template documentation]]&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Formatting templates{{#translation:}}|Template documentation]]&lt;br /&gt;
[[Category:Template documentation{{#translation:}}| ]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;includeonly&amp;gt;{{#if:{{{content|}}}|&lt;br /&gt;
[[Category:Template documentation pages{{#translation:}}]]&lt;br /&gt;
}}&amp;lt;/includeonly&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box/configuration&amp;diff=2483</id>
		<title>モジュール:Message box/configuration</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box/configuration&amp;diff=2483"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;--------------------------------------------------------------------------------&lt;br /&gt;
--                          Message box configuration                         --&lt;br /&gt;
--                                                                            --&lt;br /&gt;
-- This module contains configuration data for [[Module:Message box]].        --&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	ambox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ambox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ambox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ambox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ambox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ambox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ambox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ambox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default                     = &#039;notice&#039;,&lt;br /&gt;
		allowBlankParams            = {&#039;talk&#039;, &#039;sect&#039;, &#039;date&#039;, &#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;, &#039;hidden&#039;},&lt;br /&gt;
		allowSmall                  = true,&lt;br /&gt;
		smallParam                  = &#039;left&#039;,&lt;br /&gt;
		smallClass                  = &#039;mbox-small-left&#039;,&lt;br /&gt;
		substCheck                  = true,&lt;br /&gt;
		classes                     = {--[[&#039;metadata&#039;,]] &#039;ambox&#039;},&lt;br /&gt;
		imageEmptyCell              = true,&lt;br /&gt;
		imageCheckBlank             = true,&lt;br /&gt;
		imageSmallSize              = &#039;20x20px&#039;,&lt;br /&gt;
		imageCellDiv                = true,&lt;br /&gt;
		useCollapsibleTextFields    = true,&lt;br /&gt;
		imageRightNone              = true,&lt;br /&gt;
		sectionDefault              = &#039;記事&#039;,&lt;br /&gt;
		allowMainspaceCategories    = true,&lt;br /&gt;
		templateCategory            = &#039;記事メッセージボックス&#039;,&lt;br /&gt;
	        templateCategoryRequireName = true,&lt;br /&gt;
		templateErrorCategory       = &#039;パラメータ指定の無い記事メッセージボックス&#039;,&lt;br /&gt;
		templateErrorParamsToCheck  = {&#039;issue&#039;, &#039;fix&#039;, &#039;subst&#039;},&lt;br /&gt;
		templatestyles              = &#039;Module:Message box/ambox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	cmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;cmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;cmbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;cmbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;cmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;cmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;cmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;cmbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;cmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/cmbox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	fmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			warning = {&lt;br /&gt;
				class = &#039;fmbox-warning&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			editnotice = {&lt;br /&gt;
				class = &#039;fmbox-editnotice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			system = {&lt;br /&gt;
				class = &#039;fmbox-system&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;system&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;fmbox&#039;},&lt;br /&gt;
		imageEmptyCell       = false,&lt;br /&gt;
		imageRightNone       = false,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/fmbox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	imbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;imbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;imbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;imbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;imbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;imbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;imbox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			license = {&lt;br /&gt;
				class = &#039;imbox-license licensetpl&#039;,&lt;br /&gt;
				image = &#039;Imbox license.png&#039; -- @todo We need an SVG version of this&lt;br /&gt;
			},&lt;br /&gt;
			featured = {&lt;br /&gt;
				class = &#039;imbox-featured&#039;,&lt;br /&gt;
				image = &#039;Cscr-featured.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;imbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;imbox&#039;},&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		below                = true,&lt;br /&gt;
		templateCategory     = &#039;ファイルメッセージボックス&#039;,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/imbox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	ombox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;ombox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;ombox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;ombox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;ombox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;ombox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;ombox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;ombox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;ombox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		imageRightNone       = true,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/ombox.css&#039;&lt;br /&gt;
	},&lt;br /&gt;
	&lt;br /&gt;
	tmbox = {&lt;br /&gt;
		types = {&lt;br /&gt;
			speedy = {&lt;br /&gt;
				class = &#039;tmbox-speedy&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			delete = {&lt;br /&gt;
				class = &#039;tmbox-delete&#039;,&lt;br /&gt;
				image = &#039;Ambox warning pn.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			content = {&lt;br /&gt;
				class = &#039;tmbox-content&#039;,&lt;br /&gt;
				image = &#039;Ambox important.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			style = {&lt;br /&gt;
				class = &#039;tmbox-style&#039;,&lt;br /&gt;
				image = &#039;Edit-clear.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			move = {&lt;br /&gt;
				class = &#039;tmbox-move&#039;,&lt;br /&gt;
				image = &#039;Merge-split-transwiki default.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			protection = {&lt;br /&gt;
				class = &#039;tmbox-protection&#039;,&lt;br /&gt;
				image = &#039;Padlock-silver-medium.svg&#039;&lt;br /&gt;
			},&lt;br /&gt;
			notice = {&lt;br /&gt;
				class = &#039;tmbox-notice&#039;,&lt;br /&gt;
				image = &#039;Information icon4.svg&#039;&lt;br /&gt;
			}&lt;br /&gt;
		},&lt;br /&gt;
		default              = &#039;notice&#039;,&lt;br /&gt;
		showInvalidTypeError = true,&lt;br /&gt;
		classes              = {&#039;tmbox&#039;},&lt;br /&gt;
		allowSmall           = true,&lt;br /&gt;
		imageRightNone       = true,&lt;br /&gt;
		imageEmptyCell       = true,&lt;br /&gt;
		templateCategory     = &#039;ノートページメッセージボックス&#039;,&lt;br /&gt;
		templatestyles       = &#039;Module:Message box/tmbox.css&#039;&lt;br /&gt;
	}&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Arguments&amp;diff=2481</id>
		<title>モジュール:Arguments</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Arguments&amp;diff=2481"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- This module provides easy processing of arguments passed to Scribunto from&lt;br /&gt;
-- #invoke. It is intended for use by other Lua modules, and should not be&lt;br /&gt;
-- called from #invoke directly.&lt;br /&gt;
&lt;br /&gt;
local libraryUtil = require(&#039;libraryUtil&#039;)&lt;br /&gt;
local checkType = libraryUtil.checkType&lt;br /&gt;
&lt;br /&gt;
local arguments = {}&lt;br /&gt;
&lt;br /&gt;
-- Generate four different tidyVal functions, so that we don&#039;t have to check the&lt;br /&gt;
-- options every time we call it.&lt;br /&gt;
&lt;br /&gt;
local function tidyValDefault(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		val = val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
		if val == &#039;&#039; then&lt;br /&gt;
			return nil&lt;br /&gt;
		else&lt;br /&gt;
			return val&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValTrimOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		return val:match(&#039;^%s*(.-)%s*$&#039;)&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValRemoveBlanksOnly(key, val)&lt;br /&gt;
	if type(val) == &#039;string&#039; then&lt;br /&gt;
		if val:find(&#039;%S&#039;) then&lt;br /&gt;
			return val&lt;br /&gt;
		else&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		return val&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function tidyValNoChange(key, val)&lt;br /&gt;
	return val&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function matchesTitle(given, title)&lt;br /&gt;
	local tp = type( given )&lt;br /&gt;
	return (tp == &#039;string&#039; or tp == &#039;number&#039;) and mw.title.new( given ).prefixedText == title&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local translate_mt = { __index = function(t, k) return k end }&lt;br /&gt;
&lt;br /&gt;
function arguments.getArgs(frame, options)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 1, frame, &#039;table&#039;, true)&lt;br /&gt;
	checkType(&#039;getArgs&#039;, 2, options, &#039;table&#039;, true)&lt;br /&gt;
	frame = frame or {}&lt;br /&gt;
	options = options or {}&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up argument translation.&lt;br /&gt;
	--]]&lt;br /&gt;
	options.translate = options.translate or {}&lt;br /&gt;
	if getmetatable(options.translate) == nil then&lt;br /&gt;
		setmetatable(options.translate, translate_mt)&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate == nil then&lt;br /&gt;
		options.backtranslate = {}&lt;br /&gt;
		for k,v in pairs(options.translate) do&lt;br /&gt;
			options.backtranslate[v] = k&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if options.backtranslate and getmetatable(options.backtranslate) == nil then&lt;br /&gt;
		setmetatable(options.backtranslate, {&lt;br /&gt;
			__index = function(t, k)&lt;br /&gt;
				if options.translate[k] ~= k then&lt;br /&gt;
					return nil&lt;br /&gt;
				else&lt;br /&gt;
					return k&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Get the argument tables. If we were passed a valid frame object, get the&lt;br /&gt;
	-- frame arguments (fargs) and the parent frame arguments (pargs), depending&lt;br /&gt;
	-- on the options set and on the parent frame&#039;s availability. If we weren&#039;t&lt;br /&gt;
	-- passed a valid frame object, we are being called from another Lua module&lt;br /&gt;
	-- or from the debug console, so assume that we were passed a table of args&lt;br /&gt;
	-- directly, and assign it to a new variable (luaArgs).&lt;br /&gt;
	--]]&lt;br /&gt;
	local fargs, pargs, luaArgs&lt;br /&gt;
	if type(frame.args) == &#039;table&#039; and type(frame.getParent) == &#039;function&#039; then&lt;br /&gt;
		if options.wrappers then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- The wrappers option makes Module:Arguments look up arguments in&lt;br /&gt;
			-- either the frame argument table or the parent argument table, but&lt;br /&gt;
			-- not both. This means that users can use either the #invoke syntax&lt;br /&gt;
			-- or a wrapper template without the loss of performance associated&lt;br /&gt;
			-- with looking arguments up in both the frame and the parent frame.&lt;br /&gt;
			-- Module:Arguments will look up arguments in the parent frame&lt;br /&gt;
			-- if it finds the parent frame&#039;s title in options.wrapper;&lt;br /&gt;
			-- otherwise it will look up arguments in the frame object passed&lt;br /&gt;
			-- to getArgs.&lt;br /&gt;
			--]]&lt;br /&gt;
			local parent = frame:getParent()&lt;br /&gt;
			if not parent then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			else&lt;br /&gt;
				local title = parent:getTitle():gsub(&#039;/sandbox$&#039;, &#039;&#039;)&lt;br /&gt;
				local found = false&lt;br /&gt;
				if matchesTitle(options.wrappers, title) then&lt;br /&gt;
					found = true&lt;br /&gt;
				elseif type(options.wrappers) == &#039;table&#039; then&lt;br /&gt;
					for _,v in pairs(options.wrappers) do&lt;br /&gt;
						if matchesTitle(v, title) then&lt;br /&gt;
							found = true&lt;br /&gt;
							break&lt;br /&gt;
						end&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
&lt;br /&gt;
				-- We test for false specifically here so that nil (the default) acts like true.&lt;br /&gt;
				if found or options.frameOnly == false then&lt;br /&gt;
					pargs = parent.args&lt;br /&gt;
				end&lt;br /&gt;
				if not found or options.parentOnly == false then&lt;br /&gt;
					fargs = frame.args&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		else&lt;br /&gt;
			-- options.wrapper isn&#039;t set, so check the other options.&lt;br /&gt;
			if not options.parentOnly then&lt;br /&gt;
				fargs = frame.args&lt;br /&gt;
			end&lt;br /&gt;
			if not options.frameOnly then&lt;br /&gt;
				local parent = frame:getParent()&lt;br /&gt;
				pargs = parent and parent.args or nil&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		if options.parentFirst then&lt;br /&gt;
			fargs, pargs = pargs, fargs&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		luaArgs = frame&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the order of precedence of the argument tables. If the variables are&lt;br /&gt;
	-- nil, nothing will be added to the table, which is how we avoid clashes&lt;br /&gt;
	-- between the frame/parent args and the Lua args.&lt;br /&gt;
	local argTables = {fargs}&lt;br /&gt;
	argTables[#argTables + 1] = pargs&lt;br /&gt;
	argTables[#argTables + 1] = luaArgs&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Generate the tidyVal function. If it has been specified by the user, we&lt;br /&gt;
	-- use that; if not, we choose one of four functions depending on the&lt;br /&gt;
	-- options chosen. This is so that we don&#039;t have to call the options table&lt;br /&gt;
	-- every time the function is called.&lt;br /&gt;
	--]]&lt;br /&gt;
	local tidyVal = options.valueFunc&lt;br /&gt;
	if tidyVal then&lt;br /&gt;
		if type(tidyVal) ~= &#039;function&#039; then&lt;br /&gt;
			error(&lt;br /&gt;
				&amp;quot;bad value assigned to option &#039;valueFunc&#039;&amp;quot;&lt;br /&gt;
					.. &#039;(function expected, got &#039;&lt;br /&gt;
					.. type(tidyVal)&lt;br /&gt;
					.. &#039;)&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		end&lt;br /&gt;
	elseif options.trim ~= false then&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValDefault&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValTrimOnly&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		if options.removeBlanks ~= false then&lt;br /&gt;
			tidyVal = tidyValRemoveBlanksOnly&lt;br /&gt;
		else&lt;br /&gt;
			tidyVal = tidyValNoChange&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Set up the args, metaArgs and nilArgs tables. args will be the one&lt;br /&gt;
	-- accessed from functions, and metaArgs will hold the actual arguments. Nil&lt;br /&gt;
	-- arguments are memoized in nilArgs, and the metatable connects all of them&lt;br /&gt;
	-- together.&lt;br /&gt;
	--]]&lt;br /&gt;
	local args, metaArgs, nilArgs, metatable = {}, {}, {}, {}&lt;br /&gt;
	setmetatable(args, metatable)&lt;br /&gt;
&lt;br /&gt;
	local function mergeArgs(tables)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Accepts multiple tables as input and merges their keys and values&lt;br /&gt;
		-- into one table. If a value is already present it is not overwritten;&lt;br /&gt;
		-- tables listed earlier have precedence. We are also memoizing nil&lt;br /&gt;
		-- values, which can be overwritten if they are &#039;s&#039; (soft).&lt;br /&gt;
		--]]&lt;br /&gt;
		for _, t in ipairs(tables) do&lt;br /&gt;
			for key, val in pairs(t) do&lt;br /&gt;
				if metaArgs[key] == nil and nilArgs[key] ~= &#039;h&#039; then&lt;br /&gt;
					local tidiedVal = tidyVal(key, val)&lt;br /&gt;
					if tidiedVal == nil then&lt;br /&gt;
						nilArgs[key] = &#039;s&#039;&lt;br /&gt;
					else&lt;br /&gt;
						metaArgs[key] = tidiedVal&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	--[[&lt;br /&gt;
	-- Define metatable behaviour. Arguments are memoized in the metaArgs table,&lt;br /&gt;
	-- and are only fetched from the argument tables once. Fetching arguments&lt;br /&gt;
	-- from the argument tables is the most resource-intensive step in this&lt;br /&gt;
	-- module, so we try and avoid it where possible. For this reason, nil&lt;br /&gt;
	-- arguments are also memoized, in the nilArgs table. Also, we keep a record&lt;br /&gt;
	-- in the metatable of when pairs and ipairs have been called, so we do not&lt;br /&gt;
	-- run pairs and ipairs on the argument tables more than once. We also do&lt;br /&gt;
	-- not run ipairs on fargs and pargs if pairs has already been run, as all&lt;br /&gt;
	-- the arguments will already have been copied over.&lt;br /&gt;
	--]]&lt;br /&gt;
&lt;br /&gt;
	metatable.__index = function (t, key)&lt;br /&gt;
		--[[&lt;br /&gt;
		-- Fetches an argument when the args table is indexed. First we check&lt;br /&gt;
		-- to see if the value is memoized, and if not we try and fetch it from&lt;br /&gt;
		-- the argument tables. When we check memoization, we need to check&lt;br /&gt;
		-- metaArgs before nilArgs, as both can be non-nil at the same time.&lt;br /&gt;
		-- If the argument is not present in metaArgs, we also check whether&lt;br /&gt;
		-- pairs has been run yet. If pairs has already been run, we return nil.&lt;br /&gt;
		-- This is because all the arguments will have already been copied into&lt;br /&gt;
		-- metaArgs by the mergeArgs function, meaning that any other arguments&lt;br /&gt;
		-- must be nil.&lt;br /&gt;
		--]]&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		local val = metaArgs[key]&lt;br /&gt;
		if val ~= nil then&lt;br /&gt;
			return val&lt;br /&gt;
		elseif metatable.donePairs or nilArgs[key] then&lt;br /&gt;
			return nil&lt;br /&gt;
		end&lt;br /&gt;
		for _, argTable in ipairs(argTables) do&lt;br /&gt;
			local argTableVal = tidyVal(key, argTable[key])&lt;br /&gt;
			if argTableVal ~= nil then&lt;br /&gt;
				metaArgs[key] = argTableVal&lt;br /&gt;
				return argTableVal&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__newindex = function (t, key, val)&lt;br /&gt;
		-- This function is called when a module tries to add a new value to the&lt;br /&gt;
		-- args table, or tries to change an existing value.&lt;br /&gt;
		if type(key) == &#039;string&#039; then&lt;br /&gt;
			key = options.translate[key]&lt;br /&gt;
		end&lt;br /&gt;
		if options.readOnly then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; the table is read-only&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif options.noOverwrite and args[key] ~= nil then&lt;br /&gt;
			error(&lt;br /&gt;
				&#039;could not write to argument table key &amp;quot;&#039;&lt;br /&gt;
					.. tostring(key)&lt;br /&gt;
					.. &#039;&amp;quot;; overwriting existing arguments is not permitted&#039;,&lt;br /&gt;
				2&lt;br /&gt;
			)&lt;br /&gt;
		elseif val == nil then&lt;br /&gt;
			--[[&lt;br /&gt;
			-- If the argument is to be overwritten with nil, we need to erase&lt;br /&gt;
			-- the value in metaArgs, so that __index, __pairs and __ipairs do&lt;br /&gt;
			-- not use a previous existing value, if present; and we also need&lt;br /&gt;
			-- to memoize the nil in nilArgs, so that the value isn&#039;t looked&lt;br /&gt;
			-- up in the argument tables if it is accessed again.&lt;br /&gt;
			--]]&lt;br /&gt;
			metaArgs[key] = nil&lt;br /&gt;
			nilArgs[key] = &#039;h&#039;&lt;br /&gt;
		else&lt;br /&gt;
			metaArgs[key] = val&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function translatenext(invariant)&lt;br /&gt;
		local k, v = next(invariant.t, invariant.k)&lt;br /&gt;
		invariant.k = k&lt;br /&gt;
		if k == nil then&lt;br /&gt;
			return nil&lt;br /&gt;
		elseif type(k) ~= &#039;string&#039; or not options.backtranslate then&lt;br /&gt;
			return k, v&lt;br /&gt;
		else&lt;br /&gt;
			local backtranslate = options.backtranslate[k]&lt;br /&gt;
			if backtranslate == nil then&lt;br /&gt;
				-- Skip this one. This is a tail call, so this won&#039;t cause stack overflow&lt;br /&gt;
				return translatenext(invariant)&lt;br /&gt;
			else&lt;br /&gt;
				return backtranslate, v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__pairs = function ()&lt;br /&gt;
		-- Called when pairs is run on the args table.&lt;br /&gt;
		if not metatable.donePairs then&lt;br /&gt;
			mergeArgs(argTables)&lt;br /&gt;
			metatable.donePairs = true&lt;br /&gt;
		end&lt;br /&gt;
		return translatenext, { t = metaArgs }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function inext(t, i)&lt;br /&gt;
		-- This uses our __index metamethod&lt;br /&gt;
		local v = t[i + 1]&lt;br /&gt;
		if v ~= nil then&lt;br /&gt;
			return i + 1, v&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	metatable.__ipairs = function (t)&lt;br /&gt;
		-- Called when ipairs is run on the args table.&lt;br /&gt;
		return inext, t, 0&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	return args&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return arguments&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Yesno&amp;diff=2479</id>
		<title>モジュール:Yesno</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Yesno&amp;diff=2479"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;-- Function allowing for consistent treatment of boolean-like wikitext input.&lt;br /&gt;
-- It works similarly to the template {{yesno}}.&lt;br /&gt;
&lt;br /&gt;
return function (val, default)&lt;br /&gt;
	-- If your wiki uses non-ascii characters for any of &amp;quot;yes&amp;quot;, &amp;quot;no&amp;quot;, etc., you&lt;br /&gt;
	-- should replace &amp;quot;val:lower()&amp;quot; with &amp;quot;mw.ustring.lower(val)&amp;quot; in the&lt;br /&gt;
	-- following line.&lt;br /&gt;
	val = type(val) == &#039;string&#039; and val:lower() or val&lt;br /&gt;
	if val == nil then&lt;br /&gt;
		return nil&lt;br /&gt;
	elseif val == true &lt;br /&gt;
		or val == &#039;yes&#039;&lt;br /&gt;
		or val == &#039;y&#039;&lt;br /&gt;
		or val == &#039;true&#039;&lt;br /&gt;
		or val == &#039;t&#039;&lt;br /&gt;
		or val == &#039;on&#039;&lt;br /&gt;
		or tonumber(val) == 1&lt;br /&gt;
	then&lt;br /&gt;
		return true&lt;br /&gt;
	elseif val == false&lt;br /&gt;
		or val == &#039;no&#039;&lt;br /&gt;
		or val == &#039;n&#039;&lt;br /&gt;
		or val == &#039;false&#039;&lt;br /&gt;
		or val == &#039;f&#039;&lt;br /&gt;
		or val == &#039;off&#039;&lt;br /&gt;
		or tonumber(val) == 0&lt;br /&gt;
	then&lt;br /&gt;
		return false&lt;br /&gt;
	else&lt;br /&gt;
		return default&lt;br /&gt;
	end&lt;br /&gt;
end&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box&amp;diff=2477</id>
		<title>モジュール:Message box</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Message_box&amp;diff=2477"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;require(&#039;strict&#039;)&lt;br /&gt;
local getArgs&lt;br /&gt;
local yesno = require(&#039;Module:Yesno&#039;)&lt;br /&gt;
local lang = mw.language.getContentLanguage()&lt;br /&gt;
&lt;br /&gt;
local CONFIG_MODULE = &#039;Module:Message box/configuration&#039;&lt;br /&gt;
local DEMOSPACES = {talk = &#039;tmbox&#039;, image = &#039;imbox&#039;, file = &#039;imbox&#039;, category = &#039;cmbox&#039;, article = &#039;ambox&#039;, main = &#039;ambox&#039;}&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Helper functions&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local function getTitleObject(...)&lt;br /&gt;
	-- Get the title object, passing the function through pcall&lt;br /&gt;
	-- in case we are over the expensive function count limit.&lt;br /&gt;
	local success, title = pcall(mw.title.new, ...)&lt;br /&gt;
	if success then&lt;br /&gt;
		return title&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function union(t1, t2)&lt;br /&gt;
	-- Returns the union of two arrays.&lt;br /&gt;
	local vals = {}&lt;br /&gt;
	for i, v in ipairs(t1) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	for i, v in ipairs(t2) do&lt;br /&gt;
		vals[v] = true&lt;br /&gt;
	end&lt;br /&gt;
	local ret = {}&lt;br /&gt;
	for k in pairs(vals) do&lt;br /&gt;
		table.insert(ret, k)&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(ret)&lt;br /&gt;
	return ret&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getArgNums(args, prefix)&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for k, v in pairs(args) do&lt;br /&gt;
		local num = mw.ustring.match(tostring(k), &#039;^&#039; .. prefix .. &#039;([1-9]%d*)$&#039;)&lt;br /&gt;
		if num then&lt;br /&gt;
			table.insert(nums, tonumber(num))&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	table.sort(nums)&lt;br /&gt;
	return nums&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Box class definition&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local MessageBox = {}&lt;br /&gt;
MessageBox.__index = MessageBox&lt;br /&gt;
&lt;br /&gt;
function MessageBox.new(boxType, args, cfg)&lt;br /&gt;
	args = args or {}&lt;br /&gt;
	local obj = {}&lt;br /&gt;
&lt;br /&gt;
	-- Set the title object and the namespace.&lt;br /&gt;
	obj.title = getTitleObject(args.page) or mw.title.getCurrentTitle()&lt;br /&gt;
&lt;br /&gt;
	-- Set the config for our box type.&lt;br /&gt;
	obj.cfg = cfg[boxType]&lt;br /&gt;
	if not obj.cfg then&lt;br /&gt;
		local ns = obj.title.namespace&lt;br /&gt;
		-- boxType is &amp;quot;mbox&amp;quot; or invalid input&lt;br /&gt;
		if args.demospace and args.demospace ~= &#039;&#039; then&lt;br /&gt;
			-- implement demospace parameter of mbox&lt;br /&gt;
			local demospace = string.lower(args.demospace)&lt;br /&gt;
			if DEMOSPACES[demospace] then&lt;br /&gt;
				-- use template from DEMOSPACES&lt;br /&gt;
				obj.cfg = cfg[DEMOSPACES[demospace]]&lt;br /&gt;
			elseif string.find( demospace, &#039;talk&#039; ) then&lt;br /&gt;
				-- demo as a talk page&lt;br /&gt;
				obj.cfg = cfg.tmbox&lt;br /&gt;
			else&lt;br /&gt;
				-- default to ombox&lt;br /&gt;
				obj.cfg = cfg.ombox&lt;br /&gt;
			end&lt;br /&gt;
		elseif ns == 0 then&lt;br /&gt;
			obj.cfg = cfg.ambox -- main namespace&lt;br /&gt;
		elseif ns == 6 then&lt;br /&gt;
			obj.cfg = cfg.imbox -- file namespace&lt;br /&gt;
		elseif ns == 14 then&lt;br /&gt;
			obj.cfg = cfg.cmbox -- category namespace&lt;br /&gt;
		else&lt;br /&gt;
			local nsTable = mw.site.namespaces[ns]&lt;br /&gt;
			if nsTable and nsTable.isTalk then&lt;br /&gt;
				obj.cfg = cfg.tmbox -- any talk namespace&lt;br /&gt;
			else&lt;br /&gt;
				obj.cfg = cfg.ombox -- other namespaces or invalid input&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the arguments, and remove all blank arguments except for the ones&lt;br /&gt;
	-- listed in cfg.allowBlankParams.&lt;br /&gt;
	do&lt;br /&gt;
		local newArgs = {}&lt;br /&gt;
		for k, v in pairs(args) do&lt;br /&gt;
			if v ~= &#039;&#039; then&lt;br /&gt;
				newArgs[k] = v&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		for i, param in ipairs(obj.cfg.allowBlankParams or {}) do&lt;br /&gt;
			newArgs[param] = args[param]&lt;br /&gt;
		end&lt;br /&gt;
		obj.args = newArgs&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Define internal data structure.&lt;br /&gt;
	obj.categories = {}&lt;br /&gt;
	obj.classes = {}&lt;br /&gt;
	-- For lazy loading of [[Module:Category handler]].&lt;br /&gt;
	obj.hasCategories = false&lt;br /&gt;
&lt;br /&gt;
	return setmetatable(obj, MessageBox)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:addCat(ns, cat, sort)&lt;br /&gt;
	if not cat then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	if sort then&lt;br /&gt;
		cat = string.format(&#039;[[Category:%s|%s]]&#039;, cat, sort)&lt;br /&gt;
	else&lt;br /&gt;
		cat = string.format(&#039;[[Category:%s]]&#039;, cat)&lt;br /&gt;
	end&lt;br /&gt;
	self.hasCategories = true&lt;br /&gt;
	self.categories[ns] = self.categories[ns] or {}&lt;br /&gt;
	table.insert(self.categories[ns], cat)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:addClass(class)&lt;br /&gt;
	if not class then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	table.insert(self.classes, class)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setParameters()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	-- Get type data.&lt;br /&gt;
	self.type = args.type&lt;br /&gt;
	local typeData = cfg.types[self.type]&lt;br /&gt;
	self.invalidTypeError = cfg.showInvalidTypeError&lt;br /&gt;
		and self.type&lt;br /&gt;
		and not typeData&lt;br /&gt;
	typeData = typeData or cfg.types[cfg.default]&lt;br /&gt;
	self.typeClass = typeData.class&lt;br /&gt;
	self.typeImage = typeData.image&lt;br /&gt;
	self.typeImageNeedsLink = typeData.imageNeedsLink&lt;br /&gt;
&lt;br /&gt;
	-- Find if the box has been wrongly substituted.&lt;br /&gt;
	self.isSubstituted = cfg.substCheck and args.subst == &#039;SUBST&#039;&lt;br /&gt;
&lt;br /&gt;
	-- Find whether we are using a small message box.&lt;br /&gt;
	self.isSmall = cfg.allowSmall and (&lt;br /&gt;
		cfg.smallParam and args.small == cfg.smallParam&lt;br /&gt;
		or not cfg.smallParam and yesno(args.small)&lt;br /&gt;
	)&lt;br /&gt;
&lt;br /&gt;
	-- Add attributes, classes and styles.&lt;br /&gt;
	self.id = args.id&lt;br /&gt;
	self.name = args.name&lt;br /&gt;
	if self.name then&lt;br /&gt;
		self:addClass(&#039;box-&#039; .. string.gsub(self.name,&#039; &#039;,&#039;_&#039;))&lt;br /&gt;
	end&lt;br /&gt;
	if yesno(args.plainlinks) ~= false then&lt;br /&gt;
		self:addClass(&#039;plainlinks&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	for _, class in ipairs(cfg.classes or {}) do&lt;br /&gt;
		self:addClass(class)&lt;br /&gt;
	end&lt;br /&gt;
	if self.isSmall then&lt;br /&gt;
		self:addClass(cfg.smallClass or &#039;mbox-small&#039;)&lt;br /&gt;
	end&lt;br /&gt;
	self:addClass(self.typeClass)&lt;br /&gt;
	self:addClass(args.class)&lt;br /&gt;
	self.style = args.style&lt;br /&gt;
	self.attrs = args.attrs&lt;br /&gt;
&lt;br /&gt;
	-- Set text style.&lt;br /&gt;
	self.textstyle = args.textstyle&lt;br /&gt;
&lt;br /&gt;
	-- Find if we are on the template page or not. This functionality is only&lt;br /&gt;
	-- used if useCollapsibleTextFields is set, or if both cfg.templateCategory&lt;br /&gt;
	-- and cfg.templateCategoryRequireName are set.&lt;br /&gt;
	self.useCollapsibleTextFields = cfg.useCollapsibleTextFields&lt;br /&gt;
	if self.useCollapsibleTextFields&lt;br /&gt;
		or cfg.templateCategory&lt;br /&gt;
		and cfg.templateCategoryRequireName&lt;br /&gt;
	then&lt;br /&gt;
		if self.name then&lt;br /&gt;
			local templateName = mw.ustring.match(&lt;br /&gt;
				self.name,&lt;br /&gt;
				&#039;^[tT][eE][mM][pP][lL][aA][tT][eE][%s_]*:[%s_]*(.*)$&#039;&lt;br /&gt;
			) or self.name&lt;br /&gt;
			templateName = &#039;Template:&#039; .. templateName&lt;br /&gt;
			self.templateTitle = getTitleObject(templateName)&lt;br /&gt;
		end&lt;br /&gt;
		self.isTemplatePage = self.templateTitle&lt;br /&gt;
			and mw.title.equals(self.title, self.templateTitle)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- Process data for collapsible text fields. At the moment these are only&lt;br /&gt;
	-- used in {{ambox}}.&lt;br /&gt;
	if self.useCollapsibleTextFields then&lt;br /&gt;
		-- Get the self.issue value.&lt;br /&gt;
		if self.isSmall and args.smalltext then&lt;br /&gt;
			self.issue = args.smalltext&lt;br /&gt;
		else&lt;br /&gt;
			local sect&lt;br /&gt;
			if args.sect == &#039;&#039; then&lt;br /&gt;
				sect = &#039;This &#039; .. (cfg.sectionDefault or &#039;page&#039;)&lt;br /&gt;
			elseif type(args.sect) == &#039;string&#039; then&lt;br /&gt;
				sect = &#039;This &#039; .. args.sect&lt;br /&gt;
			end&lt;br /&gt;
			local issue = args.issue&lt;br /&gt;
			issue = type(issue) == &#039;string&#039; and issue ~= &#039;&#039; and issue or nil&lt;br /&gt;
			local text = args.text&lt;br /&gt;
			text = type(text) == &#039;string&#039; and text or nil&lt;br /&gt;
			local issues = {}&lt;br /&gt;
			table.insert(issues, sect)&lt;br /&gt;
			table.insert(issues, issue)&lt;br /&gt;
			table.insert(issues, text)&lt;br /&gt;
			self.issue = table.concat(issues, &#039; &#039;)&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Get the self.talk value.&lt;br /&gt;
		local talk = args.talk&lt;br /&gt;
		-- Show talk links on the template page or template subpages if the talk&lt;br /&gt;
		-- parameter is blank.&lt;br /&gt;
		if talk == &#039;&#039;&lt;br /&gt;
			and self.templateTitle&lt;br /&gt;
			and (&lt;br /&gt;
				mw.title.equals(self.templateTitle, self.title)&lt;br /&gt;
				or self.title:isSubpageOf(self.templateTitle)&lt;br /&gt;
			)&lt;br /&gt;
		then&lt;br /&gt;
			talk = &#039;#&#039;&lt;br /&gt;
		elseif talk == &#039;&#039; then&lt;br /&gt;
			talk = nil&lt;br /&gt;
		end&lt;br /&gt;
		if talk then&lt;br /&gt;
			-- If the talk value is a talk page, make a link to that page. Else&lt;br /&gt;
			-- assume that it&#039;s a section heading, and make a link to the talk&lt;br /&gt;
			-- page of the current page with that section heading.&lt;br /&gt;
			local talkTitle = getTitleObject(talk)&lt;br /&gt;
			local talkArgIsTalkPage = true&lt;br /&gt;
			if not talkTitle or not talkTitle.isTalkPage then&lt;br /&gt;
				talkArgIsTalkPage = false&lt;br /&gt;
				talkTitle = getTitleObject(&lt;br /&gt;
					self.title.text,&lt;br /&gt;
					mw.site.namespaces[self.title.namespace].talk.id&lt;br /&gt;
				)&lt;br /&gt;
			end&lt;br /&gt;
			if talkTitle and talkTitle.exists then&lt;br /&gt;
                local talkText&lt;br /&gt;
                if self.isSmall then&lt;br /&gt;
                    local talkLink = talkArgIsTalkPage and talk or (talkTitle.prefixedText .. &#039;#&#039; .. talk)&lt;br /&gt;
                    talkText = string.format(&#039;([[%s|ノート]])&#039;, talkLink)&lt;br /&gt;
                else&lt;br /&gt;
                    talkText = &#039;関連議論は&#039;&lt;br /&gt;
                    if talkArgIsTalkPage then&lt;br /&gt;
                        talkText = string.format(&lt;br /&gt;
                            &#039;%s [[%s|%s]]に存在するかもしれません。&#039;,&lt;br /&gt;
                            talkText,&lt;br /&gt;
                            talk,&lt;br /&gt;
                            talkTitle.prefixedText&lt;br /&gt;
                        )&lt;br /&gt;
                    else&lt;br /&gt;
                        talkText = string.format(&lt;br /&gt;
                            &#039;%s[[%s#%s|ノートページ]]に存在するかもしれません。&#039;,&lt;br /&gt;
                            talkText,&lt;br /&gt;
                            talkTitle.prefixedText,&lt;br /&gt;
                            talk&lt;br /&gt;
                        )&lt;br /&gt;
                    end&lt;br /&gt;
                end&lt;br /&gt;
				self.talk = talkText&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		-- Get other values.&lt;br /&gt;
		self.fix = args.fix ~= &#039;&#039; and args.fix or nil&lt;br /&gt;
		local date&lt;br /&gt;
		if args.date and args.date ~= &#039;&#039; then&lt;br /&gt;
			date = args.date&lt;br /&gt;
		elseif args.date == &#039;&#039; and self.isTemplatePage then&lt;br /&gt;
			date = lang:formatDate(&#039;Y年F&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		if date then&lt;br /&gt;
			self.date = string.format(&amp;quot; &amp;lt;span class=&#039;date-container&#039;&amp;gt;&amp;lt;i&amp;gt;(&amp;lt;span class=&#039;date&#039;&amp;gt;%s&amp;lt;/span&amp;gt;)&amp;lt;/i&amp;gt;&amp;lt;/span&amp;gt;&amp;quot;, date)&lt;br /&gt;
		end&lt;br /&gt;
		self.info = args.info&lt;br /&gt;
		if yesno(args.removalnotice) then&lt;br /&gt;
			self.removalNotice = cfg.removalNotice&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the non-collapsible text field. At the moment this is used by all box&lt;br /&gt;
	-- types other than ambox, and also by ambox when small=yes.&lt;br /&gt;
	if self.isSmall then&lt;br /&gt;
		self.text = args.smalltext or args.text&lt;br /&gt;
	else&lt;br /&gt;
		self.text = args.text&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Set the below row.&lt;br /&gt;
	self.below = cfg.below and args.below&lt;br /&gt;
&lt;br /&gt;
	-- General image settings.&lt;br /&gt;
	self.imageCellDiv = not self.isSmall and cfg.imageCellDiv&lt;br /&gt;
	self.imageEmptyCell = cfg.imageEmptyCell&lt;br /&gt;
&lt;br /&gt;
	-- Left image settings.&lt;br /&gt;
	local imageLeft = self.isSmall and args.smallimage or args.image&lt;br /&gt;
	if cfg.imageCheckBlank and imageLeft ~= &#039;blank&#039; and imageLeft ~= &#039;none&#039;&lt;br /&gt;
		or not cfg.imageCheckBlank and imageLeft ~= &#039;none&#039;&lt;br /&gt;
	then&lt;br /&gt;
		self.imageLeft = imageLeft&lt;br /&gt;
		if not imageLeft then&lt;br /&gt;
			local imageSize = self.isSmall&lt;br /&gt;
				and (cfg.imageSmallSize or &#039;30x30px&#039;)&lt;br /&gt;
				or &#039;40x40px&#039;&lt;br /&gt;
			self.imageLeft = string.format(&#039;[[File:%s|%s%s|alt=]]&#039;, self.typeImage&lt;br /&gt;
				or &#039;Information icon4.svg&#039;, imageSize, self.typeImageNeedsLink and &amp;quot;&amp;quot; or &amp;quot;|link=&amp;quot; )&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Right image settings.&lt;br /&gt;
	local imageRight = self.isSmall and args.smallimageright or args.imageright&lt;br /&gt;
	if not (cfg.imageRightNone and imageRight == &#039;none&#039;) then&lt;br /&gt;
		self.imageRight = imageRight&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	-- set templatestyles&lt;br /&gt;
	self.base_templatestyles = cfg.templatestyles&lt;br /&gt;
	self.templatestyles = args.templatestyles&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setMainspaceCategories()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	if not cfg.allowMainspaceCategories then&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local nums = {}&lt;br /&gt;
	for _, prefix in ipairs{&#039;cat&#039;, &#039;category&#039;, &#039;all&#039;} do&lt;br /&gt;
		args[prefix .. &#039;1&#039;] = args[prefix]&lt;br /&gt;
		nums = union(nums, getArgNums(args, prefix))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- The following is roughly equivalent to the old {{Ambox/category}}.&lt;br /&gt;
	local date = args.date&lt;br /&gt;
	date = type(date) == &#039;string&#039; and date&lt;br /&gt;
	local preposition = &#039;/&#039;&lt;br /&gt;
	for _, num in ipairs(nums) do&lt;br /&gt;
		local mainCat = args[&#039;cat&#039; .. tostring(num)]&lt;br /&gt;
			or args[&#039;category&#039; .. tostring(num)]&lt;br /&gt;
		local allCat = args[&#039;all&#039; .. tostring(num)]&lt;br /&gt;
		mainCat = type(mainCat) == &#039;string&#039; and mainCat&lt;br /&gt;
		allCat = type(allCat) == &#039;string&#039; and allCat&lt;br /&gt;
		if mainCat and date and date ~= &#039;&#039; then&lt;br /&gt;
			local catTitle = string.format(&#039;%s%s%s&#039;, mainCat, preposition, date)&lt;br /&gt;
			self:addCat(0, catTitle)&lt;br /&gt;
			catTitle = getTitleObject(&#039;Category:&#039; .. catTitle)&lt;br /&gt;
			if not catTitle or not catTitle.exists then&lt;br /&gt;
				self:addCat(0, &#039;貼り付け日が正しくないテンプレートのある記事&#039;)&lt;br /&gt;
			end&lt;br /&gt;
		elseif mainCat and (not date or date == &#039;&#039;) then&lt;br /&gt;
			self:addCat(0, mainCat)&lt;br /&gt;
		end&lt;br /&gt;
		if allCat then&lt;br /&gt;
			self:addCat(0, allCat)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setTemplateCategories()&lt;br /&gt;
	local args = self.args&lt;br /&gt;
	local cfg = self.cfg&lt;br /&gt;
&lt;br /&gt;
	-- Add template categories.&lt;br /&gt;
	if cfg.templateCategory then&lt;br /&gt;
		if cfg.templateCategoryRequireName then&lt;br /&gt;
			if self.isTemplatePage then&lt;br /&gt;
				self:addCat(10, cfg.templateCategory)&lt;br /&gt;
			end&lt;br /&gt;
		elseif not self.title.isSubpage then&lt;br /&gt;
			self:addCat(10, cfg.templateCategory)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add template error categories.&lt;br /&gt;
	if cfg.templateErrorCategory then&lt;br /&gt;
		local templateErrorCategory = cfg.templateErrorCategory&lt;br /&gt;
		local templateCat, templateSort&lt;br /&gt;
		if not self.name and not self.title.isSubpage then&lt;br /&gt;
			templateCat = templateErrorCategory&lt;br /&gt;
		elseif self.isTemplatePage then&lt;br /&gt;
			local paramsToCheck = cfg.templateErrorParamsToCheck or {}&lt;br /&gt;
			local count = 0&lt;br /&gt;
			for i, param in ipairs(paramsToCheck) do&lt;br /&gt;
				if not args[param] then&lt;br /&gt;
					count = count + 1&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if count &amp;gt; 0 then&lt;br /&gt;
				templateCat = templateErrorCategory&lt;br /&gt;
				templateSort = tostring(count)&lt;br /&gt;
			end&lt;br /&gt;
			if self.categoryNums and #self.categoryNums &amp;gt; 0 then&lt;br /&gt;
				templateCat = templateErrorCategory&lt;br /&gt;
				templateSort = &#039;C&#039;&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
		self:addCat(10, templateCat, templateSort)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setAllNamespaceCategories()&lt;br /&gt;
	-- Set categories for all namespaces.&lt;br /&gt;
	if self.invalidTypeError then&lt;br /&gt;
		local allSort = (self.title.namespace == 0 and &#039;Main:&#039; or &#039;&#039;) .. self.title.prefixedText&lt;br /&gt;
		self:addCat(&#039;all&#039;, &#039;パラメータの修正が必要なメッセージボックス&#039;, allSort)&lt;br /&gt;
	end&lt;br /&gt;
	if self.isSubstituted then&lt;br /&gt;
		self:addCat(&#039;all&#039;, &#039;正しく置き換えられていないテンプレートがあるページ&#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:setCategories()&lt;br /&gt;
	if self.title.namespace == 0 then&lt;br /&gt;
		self:setMainspaceCategories()&lt;br /&gt;
	elseif self.title.namespace == 10 then&lt;br /&gt;
		self:setTemplateCategories()&lt;br /&gt;
	end&lt;br /&gt;
	self:setAllNamespaceCategories()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:renderCategories()&lt;br /&gt;
	if not self.hasCategories then&lt;br /&gt;
		-- No categories added, no need to pass them to Category handler so,&lt;br /&gt;
		-- if it was invoked, it would return the empty string.&lt;br /&gt;
		-- So we shortcut and return the empty string.&lt;br /&gt;
		return &amp;quot;&amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	-- Convert category tables to strings and pass them through&lt;br /&gt;
	-- [[Module:Category handler]].&lt;br /&gt;
	return require(&#039;Module:Category handler&#039;)._main{&lt;br /&gt;
		main = table.concat(self.categories[0] or {}),&lt;br /&gt;
		template = table.concat(self.categories[10] or {}),&lt;br /&gt;
		all = table.concat(self.categories.all or {}),&lt;br /&gt;
		nocat = self.args.nocat,&lt;br /&gt;
		page = self.args.page&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function MessageBox:export()&lt;br /&gt;
	local root = mw.html.create()&lt;br /&gt;
&lt;br /&gt;
	-- Add the subst check error.&lt;br /&gt;
	if self.isSubstituted and self.name then&lt;br /&gt;
		root:tag(&#039;b&#039;)&lt;br /&gt;
			:addClass(&#039;error&#039;)&lt;br /&gt;
			:wikitext(string.format(&lt;br /&gt;
				&#039;テンプレート&amp;lt;code&amp;gt;%s[[Template:%s|%s]]%s&amp;lt;/code&amp;gt;が正しく置き換えられませんでした。&#039;,&lt;br /&gt;
				mw.text.nowiki(&#039;{{&#039;), self.name, self.name, mw.text.nowiki(&#039;}}&#039;)&lt;br /&gt;
			))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local frame = mw.getCurrentFrame()&lt;br /&gt;
	root:wikitext(frame:extensionTag{&lt;br /&gt;
		name = &#039;templatestyles&#039;,&lt;br /&gt;
		args = { src = self.base_templatestyles },&lt;br /&gt;
	})&lt;br /&gt;
	-- Add support for a single custom templatestyles sheet. Undocumented as&lt;br /&gt;
	-- need should be limited and many templates using mbox are substed; we&lt;br /&gt;
	-- don&#039;t want to spread templatestyles sheets around to arbitrary places&lt;br /&gt;
	if self.templatestyles then&lt;br /&gt;
		root:wikitext(frame:extensionTag{&lt;br /&gt;
			name = &#039;templatestyles&#039;,&lt;br /&gt;
			args = { src = self.templatestyles },&lt;br /&gt;
		})&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Create the box table.&lt;br /&gt;
	local boxTable = root:tag(&#039;table&#039;)&lt;br /&gt;
	boxTable:attr(&#039;id&#039;, self.id or nil)&lt;br /&gt;
	for i, class in ipairs(self.classes or {}) do&lt;br /&gt;
		boxTable:addClass(class or nil)&lt;br /&gt;
	end&lt;br /&gt;
	boxTable&lt;br /&gt;
		:cssText(self.style or nil)&lt;br /&gt;
		:attr(&#039;role&#039;, &#039;presentation&#039;)&lt;br /&gt;
&lt;br /&gt;
	if self.attrs then&lt;br /&gt;
		boxTable:attr(self.attrs)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the left-hand image.&lt;br /&gt;
	local row = boxTable:tag(&#039;tr&#039;)&lt;br /&gt;
	if self.imageLeft then&lt;br /&gt;
		local imageLeftCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-image&#039;)&lt;br /&gt;
		if self.imageCellDiv then&lt;br /&gt;
			-- If we are using a div, redefine imageLeftCell so that the image&lt;br /&gt;
			-- is inside it. Divs use style=&amp;quot;width: 52px;&amp;quot;, which limits the&lt;br /&gt;
			-- image width to 52px. If any images in a div are wider than that,&lt;br /&gt;
			-- they may overlap with the text or cause other display problems.&lt;br /&gt;
			imageLeftCell = imageLeftCell:tag(&#039;div&#039;):addClass(&#039;mbox-image-div&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		imageLeftCell:wikitext(self.imageLeft or nil)&lt;br /&gt;
	elseif self.imageEmptyCell then&lt;br /&gt;
		-- Some message boxes define an empty cell if no image is specified, and&lt;br /&gt;
		-- some don&#039;t. The old template code in templates where empty cells are&lt;br /&gt;
		-- specified gives the following hint: &amp;quot;No image. Cell with some width&lt;br /&gt;
		-- or padding necessary for text cell to have 100% width.&amp;quot;&lt;br /&gt;
		row:tag(&#039;td&#039;)&lt;br /&gt;
			:addClass(&#039;mbox-empty-cell&#039;)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the text.&lt;br /&gt;
	local textCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-text&#039;)&lt;br /&gt;
	if self.useCollapsibleTextFields then&lt;br /&gt;
		-- The message box uses advanced text parameters that allow things to be&lt;br /&gt;
		-- collapsible. At the moment, only ambox uses this.&lt;br /&gt;
		textCell:cssText(self.textstyle or nil)&lt;br /&gt;
		local textCellDiv = textCell:tag(&#039;div&#039;)&lt;br /&gt;
		textCellDiv&lt;br /&gt;
			:addClass(&#039;mbox-text-span&#039;)&lt;br /&gt;
			:wikitext(self.issue or nil)&lt;br /&gt;
		if (self.talk or self.fix) then&lt;br /&gt;
			textCellDiv:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:wikitext(self.talk and (&#039; &#039; .. self.talk) or nil)&lt;br /&gt;
				:wikitext(self.fix and (&#039; &#039; .. self.fix) or nil)&lt;br /&gt;
		end&lt;br /&gt;
		textCellDiv:wikitext(self.date and (&#039; &#039; .. self.date) or nil)&lt;br /&gt;
		if self.info and not self.isSmall then&lt;br /&gt;
			textCellDiv&lt;br /&gt;
				:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:wikitext(self.info and (&#039; &#039; .. self.info) or nil)&lt;br /&gt;
		end&lt;br /&gt;
		if self.removalNotice then&lt;br /&gt;
			textCellDiv:tag(&#039;span&#039;)&lt;br /&gt;
				:addClass(&#039;hide-when-compact&#039;)&lt;br /&gt;
				:tag(&#039;i&#039;)&lt;br /&gt;
					:wikitext(string.format(&amp;quot; (%s)&amp;quot;, self.removalNotice))&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		-- Default text formatting - anything goes.&lt;br /&gt;
		textCell&lt;br /&gt;
			:cssText(self.textstyle or nil)&lt;br /&gt;
			:wikitext(self.text or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the right-hand image.&lt;br /&gt;
	if self.imageRight then&lt;br /&gt;
		local imageRightCell = row:tag(&#039;td&#039;):addClass(&#039;mbox-imageright&#039;)&lt;br /&gt;
		if self.imageCellDiv then&lt;br /&gt;
			-- If we are using a div, redefine imageRightCell so that the image&lt;br /&gt;
			-- is inside it.&lt;br /&gt;
			imageRightCell = imageRightCell:tag(&#039;div&#039;):addClass(&#039;mbox-image-div&#039;)&lt;br /&gt;
		end&lt;br /&gt;
		imageRightCell&lt;br /&gt;
			:wikitext(self.imageRight or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add the below row.&lt;br /&gt;
	if self.below then&lt;br /&gt;
		boxTable:tag(&#039;tr&#039;)&lt;br /&gt;
			:tag(&#039;td&#039;)&lt;br /&gt;
				:attr(&#039;colspan&#039;, self.imageRight and &#039;3&#039; or &#039;2&#039;)&lt;br /&gt;
				:addClass(&#039;mbox-text&#039;)&lt;br /&gt;
				:cssText(self.textstyle or nil)&lt;br /&gt;
				:wikitext(self.below or nil)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add error message for invalid type parameters.&lt;br /&gt;
	if self.invalidTypeError then&lt;br /&gt;
		root:tag(&#039;div&#039;)&lt;br /&gt;
			:addClass(&#039;mbox-invalid-type&#039;)&lt;br /&gt;
			:wikitext(string.format(&lt;br /&gt;
				&#039;このメッセージボックスには無効な&amp;quot;type=%s&amp;quot;というパラメータが指定されているため修正が必要です。&#039;,&lt;br /&gt;
				self.type or &#039;&#039;&lt;br /&gt;
			))&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	-- Add categories.&lt;br /&gt;
	root:wikitext(self:renderCategories() or nil)&lt;br /&gt;
&lt;br /&gt;
	return tostring(root)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
-- Exports&lt;br /&gt;
--------------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
local p, mt = {}, {}&lt;br /&gt;
&lt;br /&gt;
function p._exportClasses()&lt;br /&gt;
	-- For testing.&lt;br /&gt;
	return {&lt;br /&gt;
		MessageBox = MessageBox&lt;br /&gt;
	}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(boxType, args, cfgTables)&lt;br /&gt;
	local box = MessageBox.new(boxType, args, cfgTables or mw.loadData(CONFIG_MODULE))&lt;br /&gt;
	box:setParameters()&lt;br /&gt;
	box:setCategories()&lt;br /&gt;
	return box:export()&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function mt.__index(t, k)&lt;br /&gt;
	return function (frame)&lt;br /&gt;
		if not getArgs then&lt;br /&gt;
			getArgs = require(&#039;Module:Arguments&#039;).getArgs&lt;br /&gt;
		end&lt;br /&gt;
		return t.main(k, getArgs(frame, {trim = false, removeBlanks = false}))&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return setmetatable(p, mt)&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Template_translation&amp;diff=2475</id>
		<title>モジュール:Template translation</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB:Template_translation&amp;diff=2475"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;local this = {}&lt;br /&gt;
&lt;br /&gt;
function this.checkLanguage(subpage, default)&lt;br /&gt;
    --[[Check first if there&#039;s an any invalid character that would cause the&lt;br /&gt;
        mw.language.isKnownLanguageTag function() to throw an exception:&lt;br /&gt;
        - all ASCII controls in [\000-\031\127],&lt;br /&gt;
        - double quote (&amp;quot;), sharp sign (#), ampersand (&amp;amp;), apostrophe (&#039;),&lt;br /&gt;
        - slash (/), colon (:), semicolon (;), lower than (&amp;lt;), greater than (&amp;gt;),&lt;br /&gt;
        - brackets and braces ([, ], {, }), pipe (|), backslash (\\)&lt;br /&gt;
        All other characters are accepted, including space and all non-ASCII&lt;br /&gt;
        characters (including \192, which is invalid in UTF-8).&lt;br /&gt;
    --]]&lt;br /&gt;
    if mw.language.isValidCode(subpage) and mw.language.isKnownLanguageTag(subpage)&lt;br /&gt;
    --[[However &amp;quot;SupportedLanguages&amp;quot; are too restrictive, as they discard many&lt;br /&gt;
        valid BCP47 script variants (only because MediaWiki still does not&lt;br /&gt;
        define automatic transliterators for them, e.g. &amp;quot;en-dsrt&amp;quot; or&lt;br /&gt;
        &amp;quot;fr-brai&amp;quot; for French transliteration in Braille), and country variants,&lt;br /&gt;
        (useful in localized data, even if they are no longer used for&lt;br /&gt;
        translations, such as zh-cn, also useful for legacy codes).&lt;br /&gt;
        We want to avoid matching subpagenames containing any uppercase letter,&lt;br /&gt;
        (even if they are considered valid in BCP 47, in which they are&lt;br /&gt;
        case-insensitive; they are not &amp;quot;SupportedLanguages&amp;quot; for MediaWiki, so&lt;br /&gt;
        they are not &amp;quot;KnownLanguageTags&amp;quot; for MediaWiki).&lt;br /&gt;
        To be more restrictive, we exclude tags&lt;br /&gt;
        * for specific uses in template subpages and unusable as language tags;&lt;br /&gt;
        * that is not ASCII and not a lowercase letter, minus-hyphen, or digit,&lt;br /&gt;
          or does not start by a letter or does not finish by a letter or digit;&lt;br /&gt;
        * or that has subtags with more than 8 characters between hyphens;&lt;br /&gt;
        * or that has two hyphens.&lt;br /&gt;
    --]]&lt;br /&gt;
    or  subpage ~= &amp;quot;doc&amp;quot;&lt;br /&gt;
    and subpage ~= &amp;quot;layout&amp;quot;&lt;br /&gt;
    and subpage ~= &amp;quot;button&amp;quot;&lt;br /&gt;
    and subpage ~= &amp;quot;buttons&amp;quot;&lt;br /&gt;
    and subpage ~= &amp;quot;sandbox&amp;quot;&lt;br /&gt;
    and subpage ~= &amp;quot;testcase&amp;quot;&lt;br /&gt;
    and subpage ~= &amp;quot;testcases&amp;quot;&lt;br /&gt;
    and string.find(subpage, &amp;quot;^[%l][%-%d%l]*[%d%l]$&amp;quot;) ~= nil&lt;br /&gt;
    and string.find(subpage, &amp;quot;[%d%l][%d%l][%d%l][%d%l][%d%l][%d%l][%d%l][%d%l][%d%l]&amp;quot;) == nil&lt;br /&gt;
    and string.find(subpage, &amp;quot;%-%-&amp;quot;) == nil then&lt;br /&gt;
        return subpage&lt;br /&gt;
    end&lt;br /&gt;
    -- Otherwise there&#039;s currently no known language subpage&lt;br /&gt;
    return default&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the last subpage of an arbitrary page if it is a translation.&lt;br /&gt;
    To be used from templates.&lt;br /&gt;
    ]]&lt;br /&gt;
function this.getLanguageSubpage(frame)&lt;br /&gt;
	local title = frame and frame.args[1]&lt;br /&gt;
	if not title or title == &#039;&#039; then&lt;br /&gt;
		title = mw.title.getCurrentTitle()&lt;br /&gt;
	end&lt;br /&gt;
	return this._getLanguageSubpage(title)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the last subpage of an arbitrary page if it is a translation.&lt;br /&gt;
    To be used from Lua.&lt;br /&gt;
    ]]&lt;br /&gt;
function this._getLanguageSubpage(title)&lt;br /&gt;
	if type(title) == &#039;string&#039; then&lt;br /&gt;
		title = mw.title.new(title)&lt;br /&gt;
	end&lt;br /&gt;
	if not title then&lt;br /&gt;
		-- invalid title&lt;br /&gt;
		return nil&lt;br /&gt;
	end&lt;br /&gt;
	--[[This code does not work in all namespaces where the Translate tool works.&lt;br /&gt;
	--  It works in the main namespace on Meta because it allows subpages there&lt;br /&gt;
	--  It would not work in the main namespace of English Wikipedia (but the&lt;br /&gt;
	--  articles are monolignual on that wiki).&lt;br /&gt;
	--  On Meta-Wiki the main space uses subpages and its pages are translated.&lt;br /&gt;
	--  The Translate tool allows translatng pages in all namespaces, even if&lt;br /&gt;
	--  the namespace officially does not have subpages.&lt;br /&gt;
	--  On Meta-Wiki the Category namespace still does not have subpages enabled,&lt;br /&gt;
	--  even if they would be very useful for categorizing templates, that DO have&lt;br /&gt;
	--  subpages (for documentatio and tstboxes pages). This is a misconfiguration&lt;br /&gt;
	--  bug of Meta-Wiki. The work-around is to split the full title and then&lt;br /&gt;
	--  get the last titlepart.&lt;br /&gt;
	local subpage = title.subpageText&lt;br /&gt;
	--]]&lt;br /&gt;
	local titleparts = mw.text.split(title.fullText, &#039;/&#039;)&lt;br /&gt;
	local subpage = titleparts[#titleparts]&lt;br /&gt;
	return this.checkLanguage(subpage, &#039;&#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the last subpage of the current page if it is a translation.&lt;br /&gt;
    ]]&lt;br /&gt;
function this.getCurrentLanguageSubpage()&lt;br /&gt;
	return this._getLanguageSubpage(mw.title.getCurrentTitle())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the first part of the language code of the subpage, before the &#039;-&#039;.&lt;br /&gt;
--]]&lt;br /&gt;
function this.getMainLanguageSubpage()&lt;br /&gt;
	parts = mw.text.split(this.getCurrentLanguageSubpage(), &#039;-&#039;)&lt;br /&gt;
	return parts[1]&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the last subpage of the current frame if it is a translation.&lt;br /&gt;
    Not used locally.&lt;br /&gt;
--]]&lt;br /&gt;
function this.getFrameLanguageSubpage(frame)&lt;br /&gt;
	return this._getLanguageSubpage(frame:getParent():getTitle())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the language of the current page. Not used locally.&lt;br /&gt;
--]]&lt;br /&gt;
function this.getLanguage()&lt;br /&gt;
    local subpage = mw.title.getCurrentTitle().subpageText&lt;br /&gt;
    return this.checkLanguage(subpage, mw.language.getContentLanguage():getCode())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[Get the language of the current frame. Not used locally.&lt;br /&gt;
--]]&lt;br /&gt;
function this.getFrameLanguage(frame)&lt;br /&gt;
    local titleparts = mw.text.split(frame:getParent():getTitle(), &#039;/&#039;)&lt;br /&gt;
    local subpage = titleparts[#titleparts]&lt;br /&gt;
    return this.checkLanguage(subpage, mw.language.getContentLanguage():getCode())&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function this.title(namespace, basepagename, subpage)&lt;br /&gt;
    local message, title&lt;br /&gt;
    local pagename = basepagename&lt;br /&gt;
    if (subpage or &#039;&#039;) ~= &#039;&#039; then&lt;br /&gt;
        pagename = pagename .. &#039;/&#039; .. subpage&lt;br /&gt;
    end&lt;br /&gt;
    local valid, title = xpcall(function()&lt;br /&gt;
            return mw.title.new(pagename, namespace) -- costly&lt;br /&gt;
        end, function(msg) -- catch undocumented exception (!?)&lt;br /&gt;
            -- thrown when namespace does not exist. The doc still&lt;br /&gt;
            -- says it should return a title, even in that case...&lt;br /&gt;
            message = msg&lt;br /&gt;
        end)&lt;br /&gt;
    if valid and title ~= nil and (title.id or 0) ~= 0 then&lt;br /&gt;
        return title&lt;br /&gt;
    end&lt;br /&gt;
    return { -- &amp;quot;pseudo&amp;quot; mw.title object with id = nil in case of error&lt;br /&gt;
        prefixedText = pagename, -- the only property we need below&lt;br /&gt;
        message = message -- only for debugging&lt;br /&gt;
    }&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[If on a translation subpage (like Foobar/de), this function returns&lt;br /&gt;
    a given template in the same language, if the translation is available.&lt;br /&gt;
    Otherwise, the template is returned in its default language, without&lt;br /&gt;
    modification.&lt;br /&gt;
    This is aimed at replacing the current implementation of Template:TNTN.&lt;br /&gt;
&lt;br /&gt;
    This version does not expand the returned template name: this solves the&lt;br /&gt;
    problem of self-recursion in TNT when translatable templates need themselves&lt;br /&gt;
    to transclude other translable templates (such as Tnavbar).&lt;br /&gt;
--]]&lt;br /&gt;
function this.getTranslatedTemplate(frame, withStatus)&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local pagename = args[&#039;template&#039;]&lt;br /&gt;
    --[[Check whether the pagename is actually in the Template namespace, or&lt;br /&gt;
        if we&#039;re transcluding a main-namespace page.&lt;br /&gt;
        (added for backward compatibility of Template:TNT)&lt;br /&gt;
        ]]&lt;br /&gt;
    local namespace, title = args[&#039;tntns&#039;] or &#039;&#039;&lt;br /&gt;
    if namespace ~= &#039;&#039; then -- Checks for tntns parameter for custom ns.&lt;br /&gt;
        title = this.title(namespace, pagename) -- Costly&lt;br /&gt;
    else -- Supposes that set page is in ns10.&lt;br /&gt;
    	namespace = &#039;Template&#039;&lt;br /&gt;
        title = this.title(namespace, pagename) -- Costly&lt;br /&gt;
        if title.id == nil then -- not found in the Template namespace, assume the main namespace (for backward compatibility)&lt;br /&gt;
    	    namespace = &#039;&#039;&lt;br /&gt;
            title = this.title(namespace, pagename) -- Costly&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- Get the last subpage and check if it matches a known language code.&lt;br /&gt;
    local subpage = args[&#039;uselang&#039;] or &#039;&#039;&lt;br /&gt;
    if subpage == &#039;&#039; then&lt;br /&gt;
        subpage = this.getCurrentLanguageSubpage()&lt;br /&gt;
    end&lt;br /&gt;
    if subpage == &#039;&#039; then&lt;br /&gt;
        -- Check if a translation of the pagename exists in English&lt;br /&gt;
        local newtitle = this.title(namespace, pagename, &#039;en&#039;) -- Costly&lt;br /&gt;
        -- Use the translation when it exists&lt;br /&gt;
        if newtitle.id ~= nil then&lt;br /&gt;
            title = newtitle&lt;br /&gt;
        end&lt;br /&gt;
    else&lt;br /&gt;
        -- Check if a translation of the pagename exists in that language&lt;br /&gt;
        local newtitle = this.title(namespace, pagename, subpage) -- Costly&lt;br /&gt;
        if newtitle.id == nil then&lt;br /&gt;
            -- Check if a translation of the pagename exists in English&lt;br /&gt;
            newtitle = this.title(namespace, pagename, &#039;en&#039;) -- Costly&lt;br /&gt;
        end&lt;br /&gt;
        -- Use the translation when it exists&lt;br /&gt;
        if newtitle.id ~= nil then&lt;br /&gt;
            title = newtitle&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    -- At this point the title should exist&lt;br /&gt;
    if withStatus then&lt;br /&gt;
    	-- status returned to Lua function below&lt;br /&gt;
        return title.prefixedText, title.id ~= nil&lt;br /&gt;
    else&lt;br /&gt;
    	-- returned directly to MediaWiki&lt;br /&gt;
        return title.prefixedText&lt;br /&gt;
    end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[If on a translation subpage (like Foobar/de), this function renders&lt;br /&gt;
    a given template in the same language, if the translation is available.&lt;br /&gt;
    Otherwise, the template is rendered in its default language, without&lt;br /&gt;
    modification.&lt;br /&gt;
    This is aimed at replacing the current implementation of Template:TNT.&lt;br /&gt;
    &lt;br /&gt;
    Note that translatable templates cannot transclude themselves other&lt;br /&gt;
    translatable templates, as it will recurse on TNT. Use TNTN instead&lt;br /&gt;
    to return only the effective template name to expand externally, with&lt;br /&gt;
    template parameters also provided externally.&lt;br /&gt;
--]]&lt;br /&gt;
function this.renderTranslatedTemplate(frame)&lt;br /&gt;
	local title, found = this.getTranslatedTemplate(frame, true)&lt;br /&gt;
    -- At this point the title should exist prior to performing the expansion&lt;br /&gt;
    -- of the template, otherwise render a red link to the missing page&lt;br /&gt;
    -- (resolved in its assumed namespace). If we don&#039;t tet this here, a&lt;br /&gt;
    -- script error would be thrown. Returning a red link is consistant with&lt;br /&gt;
    -- MediaWiki behavior when attempting to transclude inexistant templates.&lt;br /&gt;
	if not found then&lt;br /&gt;
		return &#039;[[&#039; .. title .. &#039;]]&#039;&lt;br /&gt;
	end&lt;br /&gt;
    -- Copy args pseudo-table to a proper table so we can feed it to expandTemplate.&lt;br /&gt;
    -- Then render the pagename.&lt;br /&gt;
    local args = frame.args&lt;br /&gt;
    local pargs = (frame:getParent() or {}).args&lt;br /&gt;
    local arguments = {}&lt;br /&gt;
    if (args[&#039;noshift&#039;] or &#039;&#039;) == &#039;&#039; then&lt;br /&gt;
        for k, v in pairs(pargs) do&lt;br /&gt;
            local n = tonumber(k) or 0&lt;br /&gt;
            if n &amp;lt;= 0 then -- unnumbered args&lt;br /&gt;
                arguments[k] = v&lt;br /&gt;
            elseif n &amp;gt;= 2 then -- numbered args &amp;gt;= 2 need to be shifted&lt;br /&gt;
                arguments[n - 1] = v&lt;br /&gt;
            end&lt;br /&gt;
        end&lt;br /&gt;
    else -- special case where TNT is used as autotranslate&lt;br /&gt;
    	-- (don&#039;t shift again what is shifted in the invokation)&lt;br /&gt;
        for k, v in pairs(pargs) do&lt;br /&gt;
            arguments[k] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    arguments[&#039;template&#039;] = title -- override the existing parameter of the base template name supplied with the full name of the actual template expanded&lt;br /&gt;
    arguments[&#039;tntns&#039;] = nil -- discard the specified namespace override&lt;br /&gt;
    arguments[&#039;uselang&#039;] = args[&#039;uselang&#039;] -- argument forwarded into parent frame&lt;br /&gt;
    arguments[&#039;noshift&#039;] = args[&#039;noshift&#039;] -- argument forwarded into parent frame&lt;br /&gt;
    return frame:expandTemplate{title = &#039;:&#039; .. title, args = arguments}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
--[[A helper for mocking TNT in Special:TemplateSandbox. TNT breaks&lt;br /&gt;
    TemplateSandbox; mocking it with this method means templates won&#039;t be&lt;br /&gt;
    localized but at least TemplateSandbox substitutions will work properly.&lt;br /&gt;
    Won&#039;t work with complex uses.&lt;br /&gt;
--]]&lt;br /&gt;
function this.mockTNT(frame)&lt;br /&gt;
    local pargs = (frame:getParent() or {}).args&lt;br /&gt;
    local arguments = {}&lt;br /&gt;
    for k, v in pairs(pargs) do&lt;br /&gt;
        local n = tonumber(k) or 0&lt;br /&gt;
        if n &amp;lt;= 0 then -- unnumbered args&lt;br /&gt;
            arguments[k] = v&lt;br /&gt;
        elseif n &amp;gt;= 2 then -- numbered args &amp;gt;= 2 need to be shifted&lt;br /&gt;
            arguments[n - 1] = v&lt;br /&gt;
        end&lt;br /&gt;
    end&lt;br /&gt;
    if not pargs[1] then&lt;br /&gt;
    	return &#039;&#039;&lt;br /&gt;
	end&lt;br /&gt;
    return frame:expandTemplate{title = &#039;Template:&#039; .. pargs[1], args = arguments}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return this&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Dir&amp;diff=2473</id>
		<title>テンプレート:Dir</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Dir&amp;diff=2473"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{#dir:{{{lang|{{{1|{{int:lang}}}}}}}}}}|rtl|{{{2|{{{rtl|rtl}}}}}}|{{{3|{{{ltr|ltr}}}}}}}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Localized_link&amp;diff=2471</id>
		<title>テンプレート:Localized link</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Localized_link&amp;diff=2471"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages/&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}&amp;lt;!--self link (including translation pages)--&amp;gt;&lt;br /&gt;
  |&amp;lt;b&amp;gt;&lt;br /&gt;
}}&amp;lt;!----&amp;gt;[[Special:MyLanguage/{{{1}}}|{{#if:{{{2|}}}&lt;br /&gt;
|{{{2}}}&lt;br /&gt;
|{{{2|{{#ifexist:Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page display title/{{PAGELANGUAGE}}&amp;lt;!--if the source page, PAGELANGUAGE returns en--&amp;gt;&lt;br /&gt;
  |{{#ifexpr:{{#if:{{{nsp|}}}|1|0}} and {{NAMESPACENUMBER:{{{1}}}}}!=0&lt;br /&gt;
    |{{#ifeq:{{PAGELANGUAGE}}|en&lt;br /&gt;
      |{{PAGENAME:{{{1}}}}}&lt;br /&gt;
      |&amp;lt;!-- check whether the string is not empty --&amp;gt;&amp;lt;!--&lt;br /&gt;
    --&amp;gt;{{#if:{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}&lt;br /&gt;
         |{{#ifeq:{{#invoke:string|find|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}|:}}|0&lt;br /&gt;
           |{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}&lt;br /&gt;
           | {{#invoke:string|match|{{PAGENAME:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }} }}|:(.*)}}&lt;br /&gt;
         }}&lt;br /&gt;
         |&amp;lt;!-- pass parameter to, e.g., &amp;quot;Template:LC zh&amp;quot;; check whether the string is not empty --&amp;gt;&amp;lt;!--&lt;br /&gt;
       --&amp;gt;{{#if:{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }}&lt;br /&gt;
           |{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} | nsp = 0 }}&lt;br /&gt;
           |{{{1}}}&lt;br /&gt;
        }}&lt;br /&gt;
      }}&lt;br /&gt;
    }}&lt;br /&gt;
    |{{ {{TNTN|Translations:{{#if:{{NAMESPACE:{{{1}}}}}|{{NAMESPACE:{{{1}}}}}:}}{{PAGENAME:{{{1}}}}}/Page_display_title}} }}&lt;br /&gt;
  }}&lt;br /&gt;
  &amp;lt;!--if the translation page does not exist (or called from the source page), output as is--&amp;gt;&lt;br /&gt;
  |{{#if:{{{nsp|}}}&lt;br /&gt;
    |{{#if:{{PAGENAME:{{{1}}}}}&lt;br /&gt;
      |{{PAGENAME:{{{1}}}}}&lt;br /&gt;
      |{{{1}}}&lt;br /&gt;
    }}&lt;br /&gt;
    |{{{1}}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;!--#ifexist--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}}&amp;lt;!--{{{2|--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;}}&amp;lt;!--#if:{{{2|}}}--&amp;gt;&amp;lt;!--&lt;br /&gt;
--&amp;gt;]]&amp;lt;!--&lt;br /&gt;
--&amp;gt;{{#ifeq:{{FULLPAGENAME:{{{1}}}}}|{{FULLPAGENAME:{{translatable}}}}&amp;lt;!--self link (including translation pages)--&amp;gt;&lt;br /&gt;
  |&amp;lt;/b&amp;gt;&lt;br /&gt;
}}&amp;lt;span style=&amp;quot;display:none&amp;quot;&amp;gt;[[:{{{1}}}| ]]&amp;lt;/span&amp;gt;&amp;lt;!-- T63547 --&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation|content=&lt;br /&gt;
&lt;br /&gt;
{{tsh|ll|LL}}&lt;br /&gt;
{{High-use|35000}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Purpose == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:8--&amp;gt; This helper template can be used to link to [[&amp;lt;tvar name=1&amp;gt;Special:LanguageStats&amp;lt;/tvar&amp;gt;|translatable pages]] in the user&#039;s language.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&amp;lt;!--T:9--&amp;gt; It uses the special page prefix &amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;Special:MyLanguage/&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;, which checks if there is a translated version of a page in the user&#039;s language, and links to it if there is one, and links to a fallback language where available, or the default wiki language version (English in MediaWiki) if there isn&#039;t.&amp;lt;/translate&amp;gt;&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage == &amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{Localized link/doc}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
&amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
If the &amp;quot;&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nsp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; parameter is not defined, as link text this displays the full pagename (including the namespace); otherwise — if the &amp;quot;&amp;lt;tvar name=1&amp;gt;&amp;lt;code&amp;gt;nsp&amp;lt;/code&amp;gt;&amp;lt;/tvar&amp;gt;&amp;quot; parameter is defined to any value the link text displays the short pagename (without the namespace).&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
When linking to a section within a page, the section is not displayed in the link text.&lt;br /&gt;
&lt;br /&gt;
=== Examples of simple usage === &amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{(}}{{!}} class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
{{!}}-&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Use&amp;lt;/translate&amp;gt;&lt;br /&gt;
! &amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; Becomes&amp;lt;/translate&amp;gt;&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Communication}}&lt;br /&gt;
{{!}} {{ll|Communication}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Communication|コミュニケーション}}&lt;br /&gt;
{{!}} {{ll|Communication|コミュニケーション}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Project:About}}&lt;br /&gt;
{{!}} {{ll|Project:About}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Project:About#See_also}}&lt;br /&gt;
{{!}} {{ll|Project:About#See_also}}&lt;br /&gt;
{{!}}-&lt;br /&gt;
{{!}} {{Tlx|ll|Project:About|nsp{{=}}0}}&lt;br /&gt;
{{!}} {{ll|Project:About|nsp=0}}&lt;br /&gt;
{{!}}{{)}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Usage in translatable pages == &amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
On pages prepared for translation with the &amp;lt;tvar name=1&amp;gt;{{ll|Extension:Translate|nsp=0}}&amp;lt;/tvar&amp;gt; extension, this template may be used in three ways.&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:13--&amp;gt; Substitute this template, then embed the wikilink target in a &amp;lt;tvar name=1&amp;gt;{{#tag:syntaxhighlight|{{^(}}tvar name=id{{)^}}...{{^(}}/tvar{{)^}}|lang=html|inline=1}}&amp;lt;/tvar&amp;gt;, separate from the translatable text of the link.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:26--&amp;gt; For example:&amp;lt;/translate&amp;gt; {{#tag:syntaxhighlight|Learn more {{{{^(}}tvar name=1{{)^}}ll|Communication{{^(}}/tvar{{)^}}|about communication}}.|lang=html|inline=1}}&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:16--&amp;gt; If link text is the same as the name of the target page, all of the code could also be embedded into &amp;lt;tvar name=1&amp;gt;{{tag|tvar|open}}&amp;lt;/tvar&amp;gt;.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:27--&amp;gt; For example:&amp;lt;/translate&amp;gt; {{#tag:syntaxhighlight|Learn more about {{^(}}tvar name=1{{)^}}&amp;lt;nowiki&amp;gt;{{ll|Communication}}&amp;lt;/nowiki&amp;gt;{{^(}}/tvar{{)^}}.|lang=html|inline=1}}&lt;br /&gt;
# &amp;lt;translate&amp;gt;&amp;lt;!--T:28--&amp;gt; For standalone links, such as in a list or table, translate only the link text if it differs from the name of the target page.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:15--&amp;gt; This is useful for bulleted lists of links, e.g. in the &amp;quot;See also:&amp;quot; sections.&amp;lt;/translate&amp;gt; &amp;lt;translate&amp;gt;&amp;lt;!--T:29--&amp;gt; Make sure to include the parameter name when adding translate tags inside template syntax.&amp;lt;/translate&amp;gt;&lt;br /&gt;
#: &amp;lt;translate&amp;gt;&amp;lt;!--T:30--&amp;gt; For example:&amp;lt;/translate&amp;gt;&lt;br /&gt;
::: {{#tag:syntaxhighlight|* {{((}}ll{{!}}Project:About{{))}}|lang=html|inline=1}}&lt;br /&gt;
::: {{#tag:syntaxhighlight|* {{((}}ll{{!}}Communication{{!}}2={{^(}}translate{{)^}}About communication{{^(}}/translate{{)^}}{{))}}|lang=html|inline=1}}&lt;br /&gt;
&lt;br /&gt;
== Test cases ==&lt;br /&gt;
{{Localized link/testcases}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== See also == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* [[Template:Localized link/messagedoc]] — &amp;lt;translate&amp;gt;&amp;lt;!--T:17--&amp;gt; should be used for message documentation in translatable pages that use this template.&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tl|Translatable template}} - &amp;lt;translate&amp;gt;&amp;lt;!--T:18--&amp;gt; alias &amp;lt;tvar name=1&amp;gt;{{tl|TNT}}&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;{{tl|tnt}}&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tl|Translatable template name}} - &amp;lt;translate&amp;gt;&amp;lt;!--T:19--&amp;gt; alias &amp;lt;tvar name=1&amp;gt;{{tl|TNTN}}&amp;lt;/tvar&amp;gt; or &amp;lt;tvar name=2&amp;gt;{{tl|tntn}}&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tl|Page language link}} - &amp;lt;translate&amp;gt;&amp;lt;!--T:20--&amp;gt; alias &amp;lt;tvar name=1&amp;gt;{{tl|pll}}&amp;lt;/tvar&amp;gt;&amp;lt;/translate&amp;gt; - &amp;lt;translate&amp;gt;&amp;lt;!--T:21--&amp;gt; add a link from a translatable page to another translatable page in the same language&amp;lt;/translate&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
[[Category:Internationalization templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Ll&amp;diff=2469</id>
		<title>テンプレート:Ll</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Ll&amp;diff=2469"/>
		<updated>2026-06-03T10:21:42Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Template:Localized link]]&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Pagelang&amp;diff=2467</id>
		<title>テンプレート:Pagelang</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Pagelang&amp;diff=2467"/>
		<updated>2026-06-03T10:21:41Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{#ifeq:{{#invoke:Template translation|getLanguageSubpage|{{{1|}}}}}|en&lt;br /&gt;
|{{#ifeq:{{#titleparts:{{{1|{{PAGENAME}}}}}||-1}}|en&lt;br /&gt;
  |{{#invoke:Template translation|getLanguageSubpage|{{{1|}}}}}&lt;br /&gt;
  }}&lt;br /&gt;
|{{#invoke:Template translation|getLanguageSubpage|{{{1|}}}}}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Translatable&amp;diff=2465</id>
		<title>テンプレート:Translatable</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Translatable&amp;diff=2465"/>
		<updated>2026-06-03T10:21:41Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
&amp;lt;languages /&amp;gt;&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;{{#ifeq:{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}|&lt;br /&gt;
|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
|{{#invoke:String|sub|{{{1|{{FULLPAGENAME}}}}}&lt;br /&gt;
  |1&lt;br /&gt;
  |{{#expr:{{#invoke:String|len|{{{1|{{FULLPAGENAME}}}}}}}-{{#invoke:String|len|{{pagelang|{{{1|{{FULLPAGENAME}}}}}}}}}-1}}&lt;br /&gt;
  }}&lt;br /&gt;
}}&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{Documentation|content=&lt;br /&gt;
{{Lua|Module:String}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;translate&amp;gt;&lt;br /&gt;
== Examples == &amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
&amp;lt;/translate&amp;gt;&lt;br /&gt;
* {{tlx|translatable}}&lt;br /&gt;
{{translatable}}&lt;br /&gt;
* {{tlx|translatable|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:2--&amp;gt; Page name&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
{{translatable|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:3--&amp;gt; Page name&amp;lt;/translate&amp;gt;}}&lt;br /&gt;
* {{tlx|translatable|2=&amp;lt;translate&amp;gt;&amp;lt;!--T:4--&amp;gt; Page name&amp;lt;/translate&amp;gt;/{{PAGELANGUAGE}} }}&lt;br /&gt;
{{translatable|1=&amp;lt;translate&amp;gt;&amp;lt;!--T:5--&amp;gt; Page name&amp;lt;/translate&amp;gt;/{{PAGELANGUAGE}} }}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Internationalization templates{{#translation:}}]]&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Nmbox&amp;diff=2463</id>
		<title>テンプレート:Nmbox</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88:Nmbox&amp;diff=2463"/>
		<updated>2026-06-03T10:21:41Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: 1版をインポートしました&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;templatestyles src=&amp;quot;Template:Nmbox/styles.css&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;nmbox noprint {{dir|{{PAGELANGUAGE}}|mw-content-rtl|mw-content-ltr}}&amp;quot;&amp;gt;{{#if: {{{image|}}}{{{header|}}}&lt;br /&gt;
|&amp;lt;div class=&amp;quot;nmbox-header&amp;quot;&amp;gt;{{#if: {{{image|}}}|&amp;lt;div class=&amp;quot;nmbox-image mbox-image&amp;quot;&amp;gt;{{{image|}}}&amp;lt;/div&amp;gt;}}{{{header|}}}&lt;br /&gt;
&amp;lt;/div&amp;gt;}}&lt;br /&gt;
{{#if:{{{text|}}}|&amp;lt;div class=&amp;quot;nmbox-text mbox-text&amp;quot;&amp;gt;{{{text|}}}&amp;lt;/div&amp;gt;}}&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;noinclude&amp;gt;&lt;br /&gt;
{{documentation}}&lt;br /&gt;
&amp;lt;/noinclude&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannelWiki:%E8%87%AA%E5%8B%95%E6%89%BF%E8%AA%8D%E3%81%95%E3%82%8C%E3%81%9F%E5%88%A9%E7%94%A8%E8%80%85&amp;diff=2461</id>
		<title>TAIchannelWiki:自動承認された利用者</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannelWiki:%E8%87%AA%E5%8B%95%E6%89%BF%E8%AA%8D%E3%81%95%E3%82%8C%E3%81%9F%E5%88%A9%E7%94%A8%E8%80%85&amp;diff=2461"/>
		<updated>2026-06-03T10:11:36Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;10日以上経過したアカウントは、自動的に「 autoconfirmed 」(自動承認された利用者) グループに昇格されます。&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
自動承認された利用者は、ページの編集、ファイルのアップロードができるようになります。&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannelWiki:%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF_%E8%AA%BF%E3%81%B9%E3%82%8B%E3%83%BB%E8%AA%AD%E3%82%80&amp;diff=2460</id>
		<title>TAIchannelWiki:ガイドブック 調べる・読む</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannelWiki:%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF_%E8%AA%BF%E3%81%B9%E3%82%8B%E3%83%BB%E8%AA%AD%E3%82%80&amp;diff=2460"/>
		<updated>2026-04-08T11:41:46Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: /* Menu */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TAIchannelWiki:ガイドブック/ヘッダ|index=2}}&lt;br /&gt;
== &amp;lt;big&amp;gt;&#039;&#039;うぇるかむとぅ たいちゃんねる うぃき&amp;lt;sup&amp;gt;(非公式)&amp;lt;/sup&amp;gt;&#039;&#039;&amp;lt;/big&amp;gt;[[ファイル:TAIchannelWiki-rogo.png|200px|フレームなし]] ==&lt;br /&gt;
== TAIchannelWikiの使い方 ==&lt;br /&gt;
この章では、TAIchannelWikiを閲覧したり、調べ物をしたりするときの基本的なことがらを紹介します。&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;big&amp;gt;&lt;br /&gt;
== 知りたいことを調べるには？ ==&lt;br /&gt;
知りたいことを調べるには……みんな知ってるよね&lt;br /&gt;
まあまず検索を試してみてください。スマホの場合、画面の下側のバーに虫眼鏡のアイコン、デスクトップであれば左側のサイドバーに虫眼鏡のアイコンがあります。クリックするとテキストボックスが出ますので検索語を入力して決定すると、その記事が表示されます。一応キーボードの[　/　]を押すとテキストボックスが出ます&lt;br /&gt;
 詳しくはこちらの文書&lt;br /&gt;
 ● [https://ja.wikipedia.org/wiki/Wikipedia:%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF_%E8%AA%BF%E3%81%B9%E3%82%8B%E3%83%BB%E8%AA%AD%E3%82%80#%E7%9F%A5%E3%82%8A%E3%81%9F%E3%81%84%E3%81%93%E3%81%A8%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B%E3%81%AB%E3%81%AF%EF%BC%9F 知りたいことを調べるには？]&amp;lt;sub&amp;gt;(知りたいことを調べるには？～ページ上のタブの使い方)ただし相違するところがあります&amp;lt;/sub&amp;gt;&lt;br /&gt;
== サイドバー ==&lt;br /&gt;
----&lt;br /&gt;
画面の左上、TAIchannelWikiのロゴの下の部分を「サイドバー」と呼んでいます。（モバイル版等一部環境では、異なる機能が提供されている場合があります。以下、当節では、デスクトップ版を前提として説明します。）ここには検索などのコーナーにまとめられています。ここでは特によく使うものを紹介します。&lt;br /&gt;
=== Menu ===&lt;br /&gt;
ここにはTAIchannelWikiの情報を見れたり案内の項目には「[https://taiwiki.nekoch18.net/ メインページ]」などがあります&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannelWiki:%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF&amp;diff=2459</id>
		<title>TAIchannelWiki:ガイドブック</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannelWiki:%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF&amp;diff=2459"/>
		<updated>2026-04-08T11:41:05Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: /* 誰でも編集できる */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TAIchannelWiki:ガイドブック/ヘッダ|index=1}}&lt;br /&gt;
== &amp;lt;big&amp;gt;&#039;&#039;うぇるかむとぅ たいちゃんねる うぃき&amp;lt;sup&amp;gt;(非公式)&amp;lt;/sup&amp;gt;&#039;&#039;&amp;lt;/big&amp;gt; ==&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;big&amp;gt;[[TAIchannelWiki:TAIchannelWikiについて|TAIchannelWiki]]は、TAIchannelに特化した誰もが自由に利用できるWikipediaのような非公式Wikiです。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;ここでは「TAIchannelWiki」の基本的な利用方法を案内しています。&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
ここでは、ごく基本的な解説をしています。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sub&amp;gt;注意：このガイドブックでは、あなたがデフォルトの設定を使用していることを前提としています。あなたがログインをして、個人設定を変更している場合、リンクなどの位置が説明とは異なる場所にあるかもしれません。&amp;lt;/sub&amp;gt;&amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== &amp;lt;big&amp;gt;TAIchannelWikiはTAIchannelに特化した非公式Wikiです&amp;lt;small&amp;gt;&amp;lt;sub&amp;gt;視聴者に関するページもあるよ！！&amp;lt;/sub&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/big&amp;gt; ==&lt;br /&gt;
&amp;lt;big&amp;gt;活動者の情報はいろんなWikiや百科事典でいろんな形でまとめられたりしています。こういったサイトの情報は新規の視聴者がその活動者をしることができる情報元の一つでもあります。また、海外への情報発信ができる情報メディアでもあると&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;[[利用者:Nekoch18|Nekoch18]]が&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;思います、しかし活動者を始めた人は知名度がなかったり見てもらえる回数が少ないといった原因でそのまま投稿、配信プラットフォームに埋もれて活動やめてしまうかもしれない&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;それはもったいない！！&#039;&#039;&#039;　伸びる可能性を秘めているのに埋もれて消えるのは...、だから小規模活動者の面白いところ、素晴らしいことをまとめるWikiや百科事典があってもいいのではないかと思います。&amp;lt;br&amp;gt;&lt;br /&gt;
そういったWikiや百科事典の利点は今まであった活動者の記事のように知れる。また、誰も知らない可能性を秘めている活動者を知ることができます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
皆さんが今、見ている「TAIchannelWiki」もそういったWikiの一つです。&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;small&amp;gt;&amp;lt;sup&amp;gt;このWikiはTAIchannelに特化した非公式WikiなのでTAIchannel以外は基本的に無いよ&amp;lt;/sup&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
「TAIchannelWiki」は[https://www.wikipedia.org/ ウイキペディア]のような感じで　利用登録も任意で利用料も必要ない、無料の百科事典であること、ルールを守れば誰でもすぐに、編集に参加できることそしてライセンスの規定を守れば誰でも「TAIchannelWiki」の内容を引用できる　&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;皆さんも、このWiki「TAIchannelWiki」をぜひ利用してみてください。また編集に参加してみてください。&#039;&#039;&#039;&lt;br /&gt;
 詳しくはこちらの文書&lt;br /&gt;
 ● [[TAIchannelWiki:著作権]]&lt;br /&gt;
== 誰でも編集できる ==&lt;br /&gt;
----&lt;br /&gt;
「TAIchannelWiki」は「[https://ja.wikipedia.org/wiki/Wikipedia:%E8%91%97%E4%BD%9C%E6%A8%A9 著作権を侵害しない]」、「[https://ja.wikipedia.org/wiki/Wikipedia:%E6%A4%9C%E8%A8%BC%E5%8F%AF%E8%83%BD%E6%80%A7 検証可能性を満たす]」、「[https://ja.wikipedia.org/wiki/Wikipedia:%E7%8B%AC%E8%87%AA%E7%A0%94%E7%A9%B6%E3%81%AF%E8%BC%89%E3%81%9B%E3%81%AA%E3%81%84 独自研究は書かない]」、「[https://ja.wikipedia.org/wiki/Wikipedia:%E4%B8%AD%E7%AB%8B%E7%9A%84%E3%81%AA%E8%A6%B3%E7%82%B9 中立的な観点で書く]」などの「ウィキペディア」の[https://ja.wikipedia.org/wiki/Wikipedia:%E6%96%B9%E9%87%9D%E3%81%A8%E3%82%AC%E3%82%A4%E3%83%89%E3%83%A9%E3%82%A4%E3%83%B3 方針]を引用した形の「TAIchannelWiki」の[[TAIchannelWiki:TAIchannelWikiについて|方向性]]に賛同するならば、&#039;&#039;&#039;誰でも、その場で&#039;&#039;&#039;編集できます。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
誰でも簡単に編集できるのは、MediaWikiという「ウィキソフト」を使っているためです。編集作業は、記事中にある「編集」というタブやリンクをクリックするだけで、編集操作も従来のホームページ作成とくらべてずっと簡単に編集することができます。編集に際しては利用登録が推奨されていますが、ほとんどのページは登録をしないと編集出来ません。&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
誰でも編集できるというのは非常嬉しいことです。これは、例えばあなたが記事を読んでいて「ここ間違っている」「もう少し書き加えなきゃ」と思ったときには、誰かに頼まなくても自分で直すことができるということです。もしあなたが記事の編集などに興味を持ったら、是非、本Wikiや「ウィキペディア」の編集に参加してみてください。&lt;br /&gt;
&lt;br /&gt;
 詳しくはこちらの文書&lt;br /&gt;
 ● [https://ja.wikipedia.org/wiki/Help:MediaWiki Help:MediaWiki]&lt;br /&gt;
&lt;br /&gt;
== 誰でも編集できて問題はないの？ ==&lt;br /&gt;
「ウィキペディア」でのガイドブックにもありますが確かに記事がデタラメだらけにされてしまうと可能性があると思います....。&amp;lt;br&amp;gt;&lt;br /&gt;
もし誤りを発見した場合、ぜひ記事を編集して直してください。記事の編集はちょっと……と思われるようなら、その記事の議論ページで、ぜひ間違いの指摘をしてあげてください。&lt;br /&gt;
== 「TAIchannelWiki」は一応英語対応！ ==&lt;br /&gt;
TAIchannelWikiは日本語での記事を書いてます、ただ[http://TAIchannelWiki:%E3%82%AC%E3%82%A4%E3%83%89%E3%83%96%E3%83%83%E3%82%AF#TAIchannelWiki%E3%81%AFTAIchannel%E3%81%AB%E7%89%B9%E5%8C%96%E3%81%97%E3%81%9F%E9%9D%9E%E5%85%AC%E5%BC%8FWiki%E3%81%A7%E3%81%99%E8%A6%96%E8%81%B4% TAIchannelWikiはTAIchannelに特化した非公式Wikiです]のように「&#039;&#039;&#039;海外への情報発信ができる情報メディアでもあると」&#039;&#039;&#039;考えてるので英語対応しています。記事の上のところに言語の変更ボタンがあります&amp;lt;br&amp;gt;&lt;br /&gt;
ただいろんな言語対応されてない、また完全な英文ではないのでちゃんと英文にしたり多言語対応にもらえると助かります！。&lt;br /&gt;
&amp;lt;/big&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2458</id>
		<title>サンドボックス</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=%E3%82%B5%E3%83%B3%E3%83%89%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9&amp;diff=2458"/>
		<updated>2026-03-16T02:44:59Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== テスト ==&lt;br /&gt;
ｆ&lt;br /&gt;
== ここから書く ==&lt;br /&gt;
== トロール集 ==&lt;br /&gt;
=== &#039;&#039;&#039;お餅さん&#039;&#039;&#039; ===&lt;br /&gt;
&amp;lt;youtube&amp;gt;ZHMqW3vE3MI&amp;lt;/youtube&amp;gt;&lt;br /&gt;
=== noziのトロール集 ===&lt;br /&gt;
https://youtube.com/playlist?list=PLSwOyTDAZVs5V4SxYFtzXAkzmlWWOYr0R&amp;amp;si=aFEHVk1_bbPdGWsW&lt;br /&gt;
&amp;lt;youtube&amp;gt;ZJMmmnDswrk&amp;amp;list=PLSwOyTDAZVs5V4SxYFtzXAkzmlWWOYr0R&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
a&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2454</id>
		<title>TAIchannel</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2454"/>
		<updated>2025-12-31T13:38:28Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{Infobox 人物&lt;br /&gt;
|ふりがな=たいちゃんねる&lt;br /&gt;
|image = TAIchannel.jpg&lt;br /&gt;
|画像サイズ = 100px&lt;br /&gt;
|名前=TAIchannel&lt;br /&gt;
|生年月日={{生年月日と年齢|2022|7|1}}&lt;br /&gt;
|職業=[[Special:MyLanguage/YouTuber|YouTuber]]、[[Special:MyLanguage/実況プレイ|ストリーマー]]&lt;br /&gt;
|活動期間=[[Special:MyLanguage/2022年|2022年]]&lt;br /&gt;
|国籍={{JPN}}&lt;br /&gt;
|公式サイト = [https://wingmanprime.blogspot.com　TAIchannelBlog]&lt;br /&gt;
|現況=活動中&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
{{Infobox YouTube personality&lt;br /&gt;
| name = TAIchannel&lt;br /&gt;
| views = 3,530,804 回&lt;br /&gt;
| channel_direct_url = @TAI_APEX&lt;br /&gt;
| years_active = [[Special:MyLanguage/2022年|2022年]][[Special:MyLanguage/7月1日|7月1日]]&lt;br /&gt;
| genre = ゲーム実況&lt;br /&gt;
| subscribers = 6790人&lt;br /&gt;
| stats_update = {{dts|2025-9-12}}&lt;br /&gt;
| channel_display_name = TAIchannel&lt;br /&gt;
| gold_button = no&lt;br /&gt;
| silver_button = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
{{Infobox Twitch streamer&lt;br /&gt;
|name=TAIchannel_APEX&lt;br /&gt;
|logo_caption=&lt;br /&gt;
|channel_display_name=TAIchannel_APEX&lt;br /&gt;
|years_active=&lt;br /&gt;
|genre=ゲーム実況|games=&lt;br /&gt;
|teams=|followers=269人&lt;br /&gt;
|follower_date=&lt;br /&gt;
|views=&lt;br /&gt;
|view_date=&lt;br /&gt;
|associated_acts=&lt;br /&gt;
|catchphrase(s)=&lt;br /&gt;
|stats_update={{dts|2025-9-12}}&lt;br /&gt;
|channel_name=TAIchannel_APEX&lt;br /&gt;
|channel_url=https://www.twitch.tv/taichannel_apex&lt;br /&gt;
|years active=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAIchannel&#039;&#039;&#039;（ふりがな:たいちゃんねる ）は日本のYouTuber、ストリーマーである。&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 活動 == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
主にYouTubeでゲーム配信活動を行っており、Twitchでも活動をしている。&amp;lt;br&amp;gt;&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております&lt;br /&gt;
&lt;br /&gt;
== 略歴 == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
2022年7月8日、YouTubeを初め、同年7月13日に初動画。&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;[https://www.youtube.com/@TAI_APEX 概要&amp;amp;説明欄]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022年11月14日、総再生時間4000時間越え&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月4日登録者数1000人になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月13日：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023年9月18日、SUZURIにてグッズ販売。&amp;lt;br&amp;gt;&lt;br /&gt;
2024年4月7日：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024年6月26日：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月1日、TAIchannelの誕生日記念に専属絵師のSAIchannelさんからlive2Ⅾをプレゼントせれ、Vtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月31日、APEXでローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：Civ:Aとコラボ&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月28日：登録者4000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年3月26日：登録者5000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年4月27日：汎用ガラスソールを提供、レビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2025年5月29日：登録者6000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年10月31日：登録者7000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 人物 == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
教員免許を持っているほど頭が良く、トークの時は膨大なボキャブラリーを駆使して皆を笑いの渦へと巻きこんでいきます。&lt;br /&gt;
またTAIさんの声は皆を魅了し続け、現在でも古参勢がたくさん視聴している&amp;lt;ref&amp;gt;TAIchannel非公式サイトより引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://taichannel.web.fc2.com/index.html&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
配信開始時のあいさつなどは決まっていない。&lt;br /&gt;
彼の声は多くのリスナーを虜にしてきており、配信トークには一目置くものがある。&lt;br /&gt;
コメントをすれば大概対応をしてくれる心優しい配信者である。&lt;br /&gt;
両親、祖父母は超がつくほどお金持ちらしい。(本人談) 余談ではあるが、子供のころに高級寿司屋によく通っていたそう。&lt;br /&gt;
スマホの容量は16GB。&amp;lt;ref&amp;gt;Pixiv大百科 &amp;quot;TAIchannel&amp;quot; より引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://dic.pixiv.net/a/TAIchannel#h2_0&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
メインアカウントのツイートをサブ垢でリポストして、サブアカウントのアイコン可愛くて、メインアカウントでいいねを押しまくる2重人格プレイしてるそうです。&amp;lt;ref&amp;gt;TAIchannelの休日より引用&amp;lt;br&amp;gt;https://twitter.com/WingmanPrime/status/1762330650752045111?s=19&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの配信歴史 == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
2022/07/08：チャンネル作成&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/12: Xアカント開設&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/13：初動画&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/15:初の１人撮影動画を投稿&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/20 ～ 2022/08/29：雑談配信 in 訓練場&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/30 ～ 2023/02/14：参加型アリーナ（ウィングマン縛り）&amp;lt;ref group=&amp;quot;注釈&amp;quot;&amp;gt;アリーナはシーズン16で削除されてます&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022/11/14:総再生時間4000時間越え&amp;lt;br&amp;gt;&lt;br /&gt;
2023/02/15 ～ 2023/10/31：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/04：登録者1000人&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/13：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023/11/01 ～ 2024/05/04：参加型バトロワ（ピストル縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/04/07：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024/05/04 ～ 2024/09/13：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/06/26：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/07/01：TAIchannelの誕生日記念にVtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024/08/31：ローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/09/14 ～ 2024/10/25：APEX2時間、Valo 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/10/26 ～ 2024/11/17：APEX2時間、CoD 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/11/18 ～ ：APEX2時間&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26 ： 祝・同時同接数100人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/02：登録者4000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/26：登録者5000人&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== キャラクター == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ういちゃん === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
[[ファイル:uityann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式マスコットキャラクターの一人。でっかいはんぺんみたいな生き物で体に猫耳のようなものが頭についています。&lt;br /&gt;
擬人化するとショートショートボブの超絶美少女の元気な女の子になります。&lt;br /&gt;
ちなみにチャンネルアイコンのキャラはういちゃんの方です。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== いうちゃん === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
[[ファイル:iutyann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式キャラクターです。&lt;br /&gt;
はんぺんのような体に猫耳のようなものが頭についているキャラクターで、ういちゃんより小さい体が特徴です。&lt;br /&gt;
人になる魔法をかけると、ロングヘアのダウナーな女の子に変身します。口がへの字の美少女。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== レイちゃん === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
TAIchannelの公式キャラクターです。&lt;br /&gt;
レイちゃんはTAIchannelのメンバーシップで使えるようになるスタンプでTAIchannel公式絵師のSAIchannelさんが描いております&lt;br /&gt;
幽霊の姿をしていて頭に猫耳のようなものと天使の輪っかがあります&amp;lt;sub&amp;gt;※いつの間に擬人化してた&lt;br /&gt;
[[ファイル:レイちゃん初登場サムネ.jpg|94px|]]&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/V8QqcfNIrcg?si=TpBl-VZ5ozsHg98Y 【APEX】S19ピストル縛り『225時間目』「今日のサムネは、なんと！れいちゃん！？」&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2024年10月14日閲覧&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== コラボ === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日 || コラボ相手 || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/11/18  || りゅんさん：http://www.youtube.com/@RYUN_Usagi&amp;lt;br&amp;gt;きのこさん：https://www.youtube.com/channel/UCqJiTfO-azLO84DhPuM-VGw || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/I1G8Rv4OXxE?si=yqD59i5Z3ds1POwP&amp;lt;ref&amp;gt;[https://www.youtube.com/live/I1G8Rv4OXxE 430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2022/12/09 || 白猫さん：http://www.youtube.com/@sironekoneko_YT&amp;lt;br&amp;gt;パンダさん：http://www.youtube.com/@sunaipasuki_panda || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L&amp;lt;ref&amp;gt;[https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L 【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2025/02/26 || Civ:Aさん：&amp;lt;br&amp;gt;https://www.youtube.com/@civaCh ||ウィングマンを使ってタイマンして、真のウィングマン使いを決める || YouTube：&amp;lt;br&amp;gt;【ライバル？】おいなんか俺よりもウィングマンを使ってる奴がいるらしいから、タイマンでどっちが真のWM使いかをハッキリさせてきた-Apex Legends- https://www.youtube.com/watch?v=bKm1bhwEiFs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== センシ、デバイス、スキン&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt; == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== APEX感度設定 === &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
DPI：600&amp;lt;br&amp;gt;&lt;br /&gt;
ゲーム内感度：3.0&amp;lt;br&amp;gt;&lt;br /&gt;
感度（エイム時）：1.2&amp;lt;br&amp;gt;&lt;br /&gt;
視野角：110&amp;lt;br&amp;gt;&lt;br /&gt;
振り向き：11.55cm&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== デバイス === &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
メモリ：32GB&amp;lt;br&amp;gt;&lt;br /&gt;
GPU：NVIDIA GeForce RTX 4070SUPE&amp;lt;br&amp;gt;&lt;br /&gt;
CPU：Intel(R) Core(TM) i7-12700&amp;lt;br&amp;gt;&lt;br /&gt;
マウス：Razer Viper V2 Pro&amp;lt;br&amp;gt;&lt;br /&gt;
キーボード：REALFORCE R2TLSA-JP3-BK&amp;lt;br&amp;gt;&lt;br /&gt;
マイク：Kungber コンデンサーマイク（B0816DTW1M）&amp;lt;br&amp;gt;&lt;br /&gt;
イヤホン：final E500&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== スキン === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
ローバスキン：ライカンハンター（がのさんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
ダイブ起動：ローバプレステージスキン付属（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
スパレジェ：カタール（自身で購入）&amp;lt;br&amp;gt;&lt;br /&gt;
ウィングマン：アイアンドロー（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{#fab:youtube}}YouTube == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Special:MyLanguage/メンバーシップ|メンバーシップ]] === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
メンバー累計日数によりダイヤやプレデターなどのバッジが表示されます&amp;lt;br&amp;gt;&lt;br /&gt;
メンバーシップは「世界一安いメンバーシップ」月￥90円です&lt;br /&gt;
メンバーバッチ、スタンプ、メンバー限定の動画があります&amp;lt;br&amp;gt;&lt;br /&gt;
よくメンバーシップを配ってくださってる方がいます&lt;br /&gt;
&lt;br /&gt;
==== コメントとチャットでユーザー名の横に表示するメンバー用バッジ ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || 最初&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || １２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || ２４ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| マスター || ３６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プレデター || ４８ヶ月目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== スタンプ ===== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
スタンプは２１種類です&lt;br /&gt;
&lt;br /&gt;
== {{#fab:twitch}}Twitch == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* YouTubeでやらないような配信をやります&lt;br /&gt;
* 10分毎に30秒の広告を設定しています&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.twitch.tv/taichannel_apex/about TAIchannel_APEXさんについて]2024年8月2日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== サブスクライブ === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ３ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || ９ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || １年目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TAIchannelのイラスト == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
TAIさんへのファンアートはXで「&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;#TAIさんに届け&amp;lt;/span&amp;gt;」ポストをするとTAIさんが見たりしてくれます&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1901656993699643458&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAIchannelさん === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
[[ファイル:Saiicon.jpg|200px|サムネイル|右|SAIchan_nelのアイコン&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://x.com/SAIchan_nel/photo SAIchan_nelアイコン] 2024年6月4日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
[[SAIchannel]]さんはTAIchannelの専属絵師さんでイラスト･デザイン担当です&amp;lt;br&amp;gt;&lt;br /&gt;
主にういちゃん[https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%86%E3%81%84%E3%81%A1%E3%82%83%E3%82%93 *]、いうちゃん [https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%84%E3%81%86%E3%81%A1%E3%82%83%E3%82%93 *] の擬人化イラストやTAIchannelのサムネのイラストやLINEのスタンプを描いたり&amp;lt;br&amp;gt;&lt;br /&gt;
TAIchannelのグッズをSuzuriを販売しています。&lt;br /&gt;
XではTAIchannelのファンアート100日チャレンジやっており2023年12月31日に完走しています&lt;br /&gt;
今は長めのお休みをとっています&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
ファイル:Uityanngizinnka.jpg|サムネイル|ういちゃん擬人化バージョン&lt;br /&gt;
ファイル:Iutyanngizinnka.jpg|サムネイル|いうちゃん擬人化バージョン&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;ref name=&amp;quot;a&amp;quot;&amp;gt;[https://x.com/SAIchan_nel/status/1705923058517840146 ういちゃん擬人化バージョン][https://x.com/SAIchan_nel/status/1705538424458129729 いうちゃん擬人化バージョン]  2024年6月3日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの休日 == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
TAIchannelのX（旧Twitter）のサブアカウントです&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@WingmanPrime&amp;lt;/span&amp;gt;では&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@TAIchannel_APEX&lt;br /&gt;
&amp;lt;/span&amp;gt;のツイート見て笑って、リポストしたりたまにつぶやいてます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&lt;br /&gt;
&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;600&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの名言 == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
TAIchannelの配信内で視聴者や突撃してきた方が言った言葉です&lt;br /&gt;
&lt;br /&gt;
=== のじ吸い === &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
のじさんを猫吸いのようにすること&lt;br /&gt;
のじ吸いは吸うと精神安定試験対策、ご利益や無病息災等の9999億の効果があります&lt;br /&gt;
&lt;br /&gt;
=== これでチートじゃないって上手すぎだろ笑笑笑笑笑笑笑笑 === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
これでチートじゃないって上手すぎだろ笑笑笑笑笑笑は動画の切り抜きでやってきたへびたろってやつが言ってました。チート疑ってましたが最後はおもんなかったのでタイムアウトしました。笑は絶対偶数で揃えてました&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;派生&#039;&#039;&#039;&lt;br /&gt;
* これでコンバーターじゃないって上手すぎだろ笑笑笑笑笑笑&lt;br /&gt;
&lt;br /&gt;
=== DV === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
ある[[モデレーター]]が、あるリスナーに対してよくしています。&amp;lt;br&amp;gt;&lt;br /&gt;
たまにそのモデレーターがDVされた際には後に説明する「殺すなよ」の派生「KO RO SU NA YO」がコメント欄に流れてきます。&amp;lt;br&amp;gt;&lt;br /&gt;
APEX配信中にあまりにも強い人が無双状態になっている場合、また何度も同じプレーヤーからキルされた場合に「もうDVやん」、「この人DVしてくるのだが」といった感じで使われることがあります。&lt;br /&gt;
&lt;br /&gt;
=== でわまたの～ === &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
配信終わりの挨拶の言葉です&lt;br /&gt;
&lt;br /&gt;
=== うよい食う === &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
TAIさんの言い間違いです&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;うよい食う派生系&#039;&#039;&#039;&lt;br /&gt;
* TAI食う&lt;br /&gt;
&lt;br /&gt;
=== ほんまシバくぞw === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
感情が高ぶった際に放たれるありがたいお言葉です。&lt;br /&gt;
&lt;br /&gt;
=== ここから始まる俺のAPEX生活 === &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
APEX内にウィングマンというピストルの武器があります&lt;br /&gt;
それをゲットした時に言っている台詞&lt;br /&gt;
&lt;br /&gt;
=== 殺すなよ === &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Tようが配信中にチャット欄で「殺すなよ」と言いすぐにに[[モデレーター]]に削除されました&lt;br /&gt;
APEXのマッチでTAIさんに倒されて配信のチャットへ文句言い来たと思われる&lt;br /&gt;
その後謎のコメントしたりTAIchannelのDiscordサーバーで暴言を吐きましたが[[モデレーター]]に見つかりすぐに削除されました&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/OXlh9ctVzhU?si=u83E269UWCP5mWQ1&amp;amp;t=8246 【APEX】S19ピストル縛り『51時間目』【ローバピストルキル数PC世界10位】]2024年8月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== noziさん謝ってください&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※不完全&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
スシラプトルくんが参加型カスタムで「PCの人にジャイロで勝てる、switchにはジャイロがあるからPCとも戦える」的なニュアンス、&amp;lt;br&amp;gt;&lt;br /&gt;
言った言葉を違うんじゃないかと突っつかれ否定されている&lt;br /&gt;
自分が言った意と違う意で伝わっているから訂正させてくださいって言った後に&amp;lt;br&amp;gt;&lt;br /&gt;
訂正したらあなたが言っているのが間違っているんだから謝ってくださいと言い出した&lt;br /&gt;
PCプレーヤーが若干ピキル(イラつかせる)ことがことが起きたが&amp;lt;br&amp;gt;&lt;br /&gt;
みんな2000ダメ1000ダメを出す時に3桁ダメ出しており3桁ダメの人がPCと戦えるって言っているのはちょっとどうなんだとなり議論になった&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/mQE_P6THzl0?si=E9YEMDWzjOT3c_Z5&amp;amp;t=7692 【APEX】グレなしウィングマン一本縛り『1992時間目』][https://www.youtube.com/live/ViZhASwXXKw?si=y6O1J6u5SN6iY3gT&amp;amp;t=8865 【APEX】グレなしウィングマン一本縛り『2126時間目』]  2024年8月8日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APEX以外の参加型 == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* マイクラ&lt;br /&gt;
* 原神&lt;br /&gt;
* OW2&lt;br /&gt;
* パルワールド&lt;br /&gt;
* Valorant&lt;br /&gt;
* Phasmophobia&lt;br /&gt;
* CS2&lt;br /&gt;
* フォートナイト&lt;br /&gt;
* Warframe&lt;br /&gt;
* Hand Simulator&lt;br /&gt;
&lt;br /&gt;
=== Valorant === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
第一回目は&#039;&#039;&#039;2024/03/18&#039;&#039;&#039;に配信されました。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2024/09/24&#039;&#039;&#039;からTwitchで毎日21時～22時参加型Valorantしています&lt;br /&gt;
&lt;br /&gt;
== マイクラ == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
マイクラ参加型配信再生リスト&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtube.com/playlist?list=PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;amp;si=GM1HGfMT75oIas7I 再生リスト]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S0　シーズン0 === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
シーズン0は&#039;&#039;&#039;2023/01/21&#039;&#039;&#039;にスタート&amp;lt;ref name=&amp;quot;mcS0#1&amp;quot;&amp;gt;&lt;br /&gt;
[https://www.youtube.com/live/w8FZ2kWN4mI?si=2gv_uZ4h2tbSLVL7 【Minecraft】『参加型』統合版のマイクラで街を発展させていく！【Part. 1】&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;Part.(パート)65まで続きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(PA4f-Vx435U - 1280x720 - 1h52m36s).png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;シーズン0終了時の町の状態&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/PA4f-Vx435U?si=xkKJX5vMIBl79a5g&amp;amp;t=6755 【Minecraft】『参加型』雑談配信！ワールドへは、主からの招待か、参加者さんの紹介で参加OKです！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
共有倉庫や火薬トラップや経験値トラップなどの施設や地上絵、&amp;lt;br&amp;gt;&lt;br /&gt;
などがありエンドラ攻略も終わってました&amp;lt;br&amp;gt;&lt;br /&gt;
2023/08/20にエンドへ行けないバグが起きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回(HdZOoCNwWFo - 1280x720 - 22m54s).png|500px|フレームなし|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot;&amp;gt;[https://www.youtube.com/live/HdZOoCNwWFo?si=Vlx2jAk_FfwvHL66&amp;amp;t=1374 【Minecraft】参加型マイクラ最終回。常連さん、参加したことある方は、参加OK。 初期ワールド、現ワールド、そして次予定だったワールドを散歩します。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S1　シーズン1 === &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
シーズン1は、2023/08/26にスタートしました。&amp;lt;ref&amp;gt;[https://www.youtube.com/live/FtjWxLmzauM 【Minecraft】『統合版』マイクラ【シーズン１】]　2025年8月9日閲覧。&amp;lt;/ref&amp;gt;前シーズンのワールドがエンドへ行けないバグがあるため新しくするために始まりました&amp;lt;br&amp;gt;&lt;br /&gt;
S0より少し参加者減っているシーズンでした&amp;lt;br&amp;gt;&lt;br /&gt;
経験値トラップや無限マグマなどの施設がありました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回。syu1280x720 - 39m04s).png| フレームなし]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 === &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
マイクラ参加者が少なく、初見さんが入りにくいことで継続が厳しいためマイクラの参加型を一時的に辞めることになりました&lt;br /&gt;
&lt;br /&gt;
=== S3　シーズン3 === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型&lt;br /&gt;
シーズン3は2024/06/16&amp;lt;ref&amp;gt;[https://www.youtube.com/live/zbtIzYiPZJY?si=jS7pZX42qmO92Obi 【Minecraft】久々にマイクラ。新ワールドで開始。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2024/08/11&amp;lt;ref&amp;gt;[https://www.youtube.com/live/yWjlSe-Wmbk?si=xtd89A0CFh2nNGRI 『日曜朝9時～11時はTwitch限定』マイクラ！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月11日閲覧&amp;lt;/ref&amp;gt;に参加者が1～3人しか来なくなり必ず来る方がネコっちさん、LAIA(へびたろ)さんだけになり&amp;lt;!--本当に終わってる--&amp;gt;話し合いの結果APEX配信になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:Sukuriin2024-08-11.png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1822458463722856913&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S4　シーズン4 ===&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型 シーズン3は2025/08/09&amp;lt;ref name=&amp;quot;r19&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=YkpbRF_Oi3o 【統合版マイクラ】クソ高難易度シードでエンドラ倒しに行こうぜ『第1回：Part.1』【Minecraft】]2025年8月9日閲覧。&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
とりあえずRealmsで様子見で開始&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(YkpbRF Oi3o-1317x741-52m47s).png|フレームなし||500px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;リスポーン地点&amp;lt;ref name=&amp;quot;r19&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 (S5　シーズン5) ===&lt;br /&gt;
ワールドを新しくしRealmsで引き続き開始&lt;br /&gt;
[[ファイル:S5スクリーンショット.jpg|フレームなし||500px|]]&lt;br /&gt;
&lt;br /&gt;
== その他 == &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
=== 年越し配信 === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日  || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/12/31 にライブ配信 || 雑談しながら年越し || https://www.youtube.com/live/Xanb7Y8-QFo?si=nH2CijGv4GYj_xgZ&lt;br /&gt;
|-&lt;br /&gt;
| 2024/12/31 || 雑談しながら振り返り年越し || https://www.youtube.com/live/RFBSt-TCzuQ?si=JWZXFyno1XdYL2P_&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--概要欄_2024/12/31-1/1.txt--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 会話用コメント欄 === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;i8AyH5pdVDY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚注 == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
=== 注釈 === &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;references group=&amp;quot;注釈&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 出典 === &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部リンク == &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/@TAI_APEX YouTube|TAIchannel] &amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/TAIchannel_APEX X（旧Twitter）|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/WingmanPrime X（旧Twitter）|TAIchannelの休日]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.twitch.tv/taichannel_apex Twitch|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://wingmanprime.blogspot.com/ TAIchannelBlog|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/live/i8AyH5pdVDY?si=ndSBlShafE4FUuCj 会話用コメント欄|TAIchanne]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/SAIchan_nel X（旧Twitter)|SAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://suzuri.jp/SAIchannel/products 公式グッズ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 関連リンク === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
* [https://taichannel.web.fc2.com/index.html 非公式サイト]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://dic.pixiv.net/a/TAIchannel Pixiv大百科 &amp;quot;TAIchannel&amp;quot; ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;metadesc&amp;gt;TAIchanel（たいちゃんねる、 - ）は、日本のYouTuber、ストリーマーである。&amp;lt;br&amp;gt; 主にYouTubeでゲーム配信活動を行っており、&amp;lt;br&amp;gt;Twitchでも活動をしている。&amp;lt;/metadesc&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2453</id>
		<title>TAIchannel</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2453"/>
		<updated>2025-12-31T13:34:29Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{Infobox 人物&lt;br /&gt;
|ふりがな=たいちゃんねる&lt;br /&gt;
|image = TAIchannel.jpg&lt;br /&gt;
|画像サイズ = 100px&lt;br /&gt;
|名前=TAIchannel&lt;br /&gt;
|生年月日={{生年月日と年齢|2022|7|1}}&lt;br /&gt;
|職業=[[Special:MyLanguage/YouTuber|YouTuber]]、[[Special:MyLanguage/実況プレイ|ストリーマー]]&lt;br /&gt;
|活動期間=[[Special:MyLanguage/2022年|2022年]]&lt;br /&gt;
|国籍={{JPN}}&lt;br /&gt;
|公式サイト = [https://wingmanprime.blogspot.com　TAIchannelBlog]&lt;br /&gt;
|現況=活動中&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
{{Infobox YouTube personality&lt;br /&gt;
| name = TAIchannel&lt;br /&gt;
| views = 3,530,804 回&lt;br /&gt;
| channel_direct_url = @TAI_APEX&lt;br /&gt;
| years_active = [[Special:MyLanguage/2022年|2022年]][[Special:MyLanguage/7月1日|7月1日]]&lt;br /&gt;
| genre = ゲーム実況&lt;br /&gt;
| subscribers = 6790人&lt;br /&gt;
| stats_update = {{dts|2025-9-12}}&lt;br /&gt;
| channel_display_name = TAIchannel&lt;br /&gt;
| gold_button = no&lt;br /&gt;
| silver_button = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
{{Infobox Twitch streamer&lt;br /&gt;
|name=TAIchannel_APEX&lt;br /&gt;
|logo_caption=&lt;br /&gt;
|channel_display_name=TAIchannel_APEX&lt;br /&gt;
|years_active=&lt;br /&gt;
|genre=ゲーム実況|games=&lt;br /&gt;
|teams=|followers=269人&lt;br /&gt;
|follower_date=&lt;br /&gt;
|views=&lt;br /&gt;
|view_date=&lt;br /&gt;
|associated_acts=&lt;br /&gt;
|catchphrase(s)=&lt;br /&gt;
|stats_update={{dts|2025-9-12}}&lt;br /&gt;
|channel_name=TAIchannel_APEX&lt;br /&gt;
|channel_url=https://www.twitch.tv/taichannel_apex&lt;br /&gt;
|years active=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAIchannel&#039;&#039;&#039;（ふりがな:たいちゃんねる ）は日本のYouTuber、ストリーマーである。&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 活動 == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
主にYouTubeでゲーム配信活動を行っており、Twitchでも活動をしている。&amp;lt;br&amp;gt;&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております&lt;br /&gt;
&lt;br /&gt;
== 略歴 == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
2022年7月8日、YouTubeを初め、同年7月13日に初動画。&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;[https://www.youtube.com/@TAI_APEX 概要&amp;amp;説明欄]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022年11月14日、総再生時間4000時間越え&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月4日登録者数1000人になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月13日：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023年9月18日、SUZURIにてグッズ販売。&amp;lt;br&amp;gt;&lt;br /&gt;
2024年4月7日：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024年6月26日：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月1日、TAIchannelの誕生日記念に専属絵師のSAIchannelさんからlive2Ⅾをプレゼントせれ、Vtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月31日、APEXでローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：Civ:Aとコラボ&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月28日：登録者4000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年3月26日：登録者5000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年4月27日：汎用ガラスソールを提供、レビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2025年5月29日：登録者6000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年10月31日：登録者7000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 人物 == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
教員免許を持っているほど頭が良く、トークの時は膨大なボキャブラリーを駆使して皆を笑いの渦へと巻きこんでいきます。&lt;br /&gt;
またTAIさんの声は皆を魅了し続け、現在でも古参勢がたくさん視聴している&amp;lt;ref&amp;gt;TAIchannel非公式サイトより引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://taichannel.web.fc2.com/index.html&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
配信開始時のあいさつなどは決まっていない。&lt;br /&gt;
彼の声は多くのリスナーを虜にしてきており、配信トークには一目置くものがある。&lt;br /&gt;
コメントをすれば大概対応をしてくれる心優しい配信者である。&lt;br /&gt;
両親、祖父母は超がつくほどお金持ちらしい。(本人談) 余談ではあるが、子供のころに高級寿司屋によく通っていたそう。&lt;br /&gt;
スマホの容量は16GB。&amp;lt;ref&amp;gt;Pixiv大百科 &amp;quot;TAIchannel&amp;quot; より引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://dic.pixiv.net/a/TAIchannel#h2_0&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
メインアカウントのツイートをサブ垢でリポストして、サブアカウントのアイコン可愛くて、メインアカウントでいいねを押しまくる2重人格プレイしてるそうです。&amp;lt;ref&amp;gt;TAIchannelの休日より引用&amp;lt;br&amp;gt;https://twitter.com/WingmanPrime/status/1762330650752045111?s=19&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannel配信の歴史 == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
2022/07/08：チャンネル作成&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/12: Xアカント開設&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/13：初動画&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/15:初の１人撮影動画を投稿&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/20 ～ 2022/08/29：雑談配信 in 訓練場&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/30 ～ 2023/02/14：参加型アリーナ（ウィングマン縛り）&amp;lt;ref group=&amp;quot;注釈&amp;quot;&amp;gt;アリーナはシーズン16で削除されてます&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022/11/14:総再生時間4000時間越え&amp;lt;br&amp;gt;&lt;br /&gt;
2023/02/15 ～ 2023/10/31：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/04：登録者1000人&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/13：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023/11/01 ～ 2024/05/04：参加型バトロワ（ピストル縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/04/07：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024/05/04 ～ 2024/09/13：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/06/26：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/07/01：TAIchannelの誕生日記念にVtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024/08/31：ローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/09/14 ～ 2024/10/25：APEX2時間、Valo 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/10/26 ～ 2024/11/17：APEX2時間、CoD 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/11/18 ～ ：APEX2時間&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26 ： 祝・同時同接数100人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/02：登録者4000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/26：登録者5000人&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== キャラクター == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ういちゃん === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
[[ファイル:uityann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式マスコットキャラクターの一人。でっかいはんぺんみたいな生き物で体に猫耳のようなものが頭についています。&lt;br /&gt;
擬人化するとショートショートボブの超絶美少女の元気な女の子になります。&lt;br /&gt;
ちなみにチャンネルアイコンのキャラはういちゃんの方です。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== いうちゃん === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
[[ファイル:iutyann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式キャラクターです。&lt;br /&gt;
はんぺんのような体に猫耳のようなものが頭についているキャラクターで、ういちゃんより小さい体が特徴です。&lt;br /&gt;
人になる魔法をかけると、ロングヘアのダウナーな女の子に変身します。口がへの字の美少女。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== レイちゃん === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
TAIchannelの公式キャラクターです。&lt;br /&gt;
レイちゃんはTAIchannelのメンバーシップで使えるようになるスタンプでTAIchannel公式絵師のSAIchannelさんが描いております&lt;br /&gt;
幽霊の姿をしていて頭に猫耳のようなものと天使の輪っかがあります&amp;lt;sub&amp;gt;※いつの間に擬人化してた&lt;br /&gt;
[[ファイル:レイちゃん初登場サムネ.jpg|94px|]]&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/V8QqcfNIrcg?si=TpBl-VZ5ozsHg98Y 【APEX】S19ピストル縛り『225時間目』「今日のサムネは、なんと！れいちゃん！？」&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2024年10月14日閲覧&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== コラボ === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日 || コラボ相手 || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/11/18  || りゅんさん：http://www.youtube.com/@RYUN_Usagi&amp;lt;br&amp;gt;きのこさん：https://www.youtube.com/channel/UCqJiTfO-azLO84DhPuM-VGw || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/I1G8Rv4OXxE?si=yqD59i5Z3ds1POwP&amp;lt;ref&amp;gt;[https://www.youtube.com/live/I1G8Rv4OXxE 430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2022/12/09 || 白猫さん：http://www.youtube.com/@sironekoneko_YT&amp;lt;br&amp;gt;パンダさん：http://www.youtube.com/@sunaipasuki_panda || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L&amp;lt;ref&amp;gt;[https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L 【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2025/02/26 || Civ:Aさん：&amp;lt;br&amp;gt;https://www.youtube.com/@civaCh ||ウィングマンを使ってタイマンして、真のウィングマン使いを決める || YouTube：&amp;lt;br&amp;gt;【ライバル？】おいなんか俺よりもウィングマンを使ってる奴がいるらしいから、タイマンでどっちが真のWM使いかをハッキリさせてきた-Apex Legends- https://www.youtube.com/watch?v=bKm1bhwEiFs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== センシ、デバイス、スキン&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt; == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== APEX感度設定 === &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
DPI：600&amp;lt;br&amp;gt;&lt;br /&gt;
ゲーム内感度：3.0&amp;lt;br&amp;gt;&lt;br /&gt;
感度（エイム時）：1.2&amp;lt;br&amp;gt;&lt;br /&gt;
視野角：110&amp;lt;br&amp;gt;&lt;br /&gt;
振り向き：11.55cm&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== デバイス === &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
メモリ：32GB&amp;lt;br&amp;gt;&lt;br /&gt;
GPU：NVIDIA GeForce RTX 4070SUPE&amp;lt;br&amp;gt;&lt;br /&gt;
CPU：Intel(R) Core(TM) i7-12700&amp;lt;br&amp;gt;&lt;br /&gt;
マウス：Razer Viper V2 Pro&amp;lt;br&amp;gt;&lt;br /&gt;
キーボード：REALFORCE R2TLSA-JP3-BK&amp;lt;br&amp;gt;&lt;br /&gt;
マイク：Kungber コンデンサーマイク（B0816DTW1M）&amp;lt;br&amp;gt;&lt;br /&gt;
イヤホン：final E500&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== スキン === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
ローバスキン：ライカンハンター（がのさんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
ダイブ起動：ローバプレステージスキン付属（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
スパレジェ：カタール（自身で購入）&amp;lt;br&amp;gt;&lt;br /&gt;
ウィングマン：アイアンドロー（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{#fab:youtube}}YouTube == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Special:MyLanguage/メンバーシップ|メンバーシップ]] === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
メンバー累計日数によりダイヤやプレデターなどのバッジが表示されます&amp;lt;br&amp;gt;&lt;br /&gt;
メンバーシップは「世界一安いメンバーシップ」月￥90円です&lt;br /&gt;
メンバーバッチ、スタンプ、メンバー限定の動画があります&amp;lt;br&amp;gt;&lt;br /&gt;
よくメンバーシップを配ってくださってる方がいます&lt;br /&gt;
&lt;br /&gt;
==== コメントとチャットでユーザー名の横に表示するメンバー用バッジ ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || 最初&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || １２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || ２４ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| マスター || ３６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プレデター || ４８ヶ月目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== スタンプ ===== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
スタンプは２１種類です&lt;br /&gt;
&lt;br /&gt;
== {{#fab:twitch}}Twitch == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* YouTubeでやらないような配信をやります&lt;br /&gt;
* 10分毎に30秒の広告を設定しています&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.twitch.tv/taichannel_apex/about TAIchannel_APEXさんについて]2024年8月2日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== サブスクライブ === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ３ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || ９ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || １年目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TAIchannelのイラスト == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
TAIさんへのファンアートはXで「&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;#TAIさんに届け&amp;lt;/span&amp;gt;」ポストをするとTAIさんが見たりしてくれます&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1901656993699643458&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAIchannelさん === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
[[ファイル:Saiicon.jpg|200px|サムネイル|右|SAIchan_nelのアイコン&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://x.com/SAIchan_nel/photo SAIchan_nelアイコン] 2024年6月4日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
[[SAIchannel]]さんはTAIchannelの専属絵師さんでイラスト･デザイン担当です&amp;lt;br&amp;gt;&lt;br /&gt;
主にういちゃん[https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%86%E3%81%84%E3%81%A1%E3%82%83%E3%82%93 *]、いうちゃん [https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%84%E3%81%86%E3%81%A1%E3%82%83%E3%82%93 *] の擬人化イラストやTAIchannelのサムネのイラストやLINEのスタンプを描いたり&amp;lt;br&amp;gt;&lt;br /&gt;
TAIchannelのグッズをSuzuriを販売しています。&lt;br /&gt;
XではTAIchannelのファンアート100日チャレンジやっており2023年12月31日に完走しています&lt;br /&gt;
今は長めのお休みをとっています&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
ファイル:Uityanngizinnka.jpg|サムネイル|ういちゃん擬人化バージョン&lt;br /&gt;
ファイル:Iutyanngizinnka.jpg|サムネイル|いうちゃん擬人化バージョン&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;ref name=&amp;quot;a&amp;quot;&amp;gt;[https://x.com/SAIchan_nel/status/1705923058517840146 ういちゃん擬人化バージョン][https://x.com/SAIchan_nel/status/1705538424458129729 いうちゃん擬人化バージョン]  2024年6月3日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの休日 == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
TAIchannelのX（旧Twitter）のサブアカウントです&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@WingmanPrime&amp;lt;/span&amp;gt;では&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@TAIchannel_APEX&lt;br /&gt;
&amp;lt;/span&amp;gt;のツイート見て笑って、リポストしたりたまにつぶやいてます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&lt;br /&gt;
&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;600&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの名言 == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
TAIchannelの配信内で視聴者や突撃してきた方が言った言葉です&lt;br /&gt;
&lt;br /&gt;
=== のじ吸い === &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
のじさんを猫吸いのようにすること&lt;br /&gt;
のじ吸いは吸うと精神安定試験対策、ご利益や無病息災等の9999億の効果があります&lt;br /&gt;
&lt;br /&gt;
=== これでチートじゃないって上手すぎだろ笑笑笑笑笑笑笑笑 === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
これでチートじゃないって上手すぎだろ笑笑笑笑笑笑は動画の切り抜きでやってきたへびたろってやつが言ってました。チート疑ってましたが最後はおもんなかったのでタイムアウトしました。笑は絶対偶数で揃えてました&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;派生&#039;&#039;&#039;&lt;br /&gt;
* これでコンバーターじゃないって上手すぎだろ笑笑笑笑笑笑&lt;br /&gt;
&lt;br /&gt;
=== DV === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
ある[[モデレーター]]が、あるリスナーに対してよくしています。&amp;lt;br&amp;gt;&lt;br /&gt;
たまにそのモデレーターがDVされた際には後に説明する「殺すなよ」の派生「KO RO SU NA YO」がコメント欄に流れてきます。&amp;lt;br&amp;gt;&lt;br /&gt;
APEX配信中にあまりにも強い人が無双状態になっている場合、また何度も同じプレーヤーからキルされた場合に「もうDVやん」、「この人DVしてくるのだが」といった感じで使われることがあります。&lt;br /&gt;
&lt;br /&gt;
=== でわまたの～ === &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
配信終わりの挨拶の言葉です&lt;br /&gt;
&lt;br /&gt;
=== うよい食う === &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
TAIさんの言い間違いです&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;うよい食う派生系&#039;&#039;&#039;&lt;br /&gt;
* TAI食う&lt;br /&gt;
&lt;br /&gt;
=== ほんまシバくぞw === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
感情が高ぶった際に放たれるありがたいお言葉です。&lt;br /&gt;
&lt;br /&gt;
=== ここから始まる俺のAPEX生活 === &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
APEX内にウィングマンというピストルの武器があります&lt;br /&gt;
それをゲットした時に言っている台詞&lt;br /&gt;
&lt;br /&gt;
=== 殺すなよ === &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Tようが配信中にチャット欄で「殺すなよ」と言いすぐにに[[モデレーター]]に削除されました&lt;br /&gt;
APEXのマッチでTAIさんに倒されて配信のチャットへ文句言い来たと思われる&lt;br /&gt;
その後謎のコメントしたりTAIchannelのDiscordサーバーで暴言を吐きましたが[[モデレーター]]に見つかりすぐに削除されました&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/OXlh9ctVzhU?si=u83E269UWCP5mWQ1&amp;amp;t=8246 【APEX】S19ピストル縛り『51時間目』【ローバピストルキル数PC世界10位】]2024年8月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== noziさん謝ってください&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※不完全&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
スシラプトルくんが参加型カスタムで「PCの人にジャイロで勝てる、switchにはジャイロがあるからPCとも戦える」的なニュアンス、&amp;lt;br&amp;gt;&lt;br /&gt;
言った言葉を違うんじゃないかと突っつかれ否定されている&lt;br /&gt;
自分が言った意と違う意で伝わっているから訂正させてくださいって言った後に&amp;lt;br&amp;gt;&lt;br /&gt;
訂正したらあなたが言っているのが間違っているんだから謝ってくださいと言い出した&lt;br /&gt;
PCプレーヤーが若干ピキル(イラつかせる)ことがことが起きたが&amp;lt;br&amp;gt;&lt;br /&gt;
みんな2000ダメ1000ダメを出す時に3桁ダメ出しており3桁ダメの人がPCと戦えるって言っているのはちょっとどうなんだとなり議論になった&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/mQE_P6THzl0?si=E9YEMDWzjOT3c_Z5&amp;amp;t=7692 【APEX】グレなしウィングマン一本縛り『1992時間目』][https://www.youtube.com/live/ViZhASwXXKw?si=y6O1J6u5SN6iY3gT&amp;amp;t=8865 【APEX】グレなしウィングマン一本縛り『2126時間目』]  2024年8月8日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APEX以外の参加型 == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* マイクラ&lt;br /&gt;
* 原神&lt;br /&gt;
* OW2&lt;br /&gt;
* パルワールド&lt;br /&gt;
* Valorant&lt;br /&gt;
* Phasmophobia&lt;br /&gt;
* CS2&lt;br /&gt;
* フォートナイト&lt;br /&gt;
* Warframe&lt;br /&gt;
* Hand Simulator&lt;br /&gt;
&lt;br /&gt;
=== Valorant === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
第一回目は&#039;&#039;&#039;2024/03/18&#039;&#039;&#039;に配信されました。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2024/09/24&#039;&#039;&#039;からTwitchで毎日21時～22時参加型Valorantしています&lt;br /&gt;
&lt;br /&gt;
== マイクラ == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
マイクラ参加型配信再生リスト&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtube.com/playlist?list=PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;amp;si=GM1HGfMT75oIas7I 再生リスト]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S0　シーズン0 === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
シーズン0は&#039;&#039;&#039;2023/01/21&#039;&#039;&#039;にスタート&amp;lt;ref name=&amp;quot;mcS0#1&amp;quot;&amp;gt;&lt;br /&gt;
[https://www.youtube.com/live/w8FZ2kWN4mI?si=2gv_uZ4h2tbSLVL7 【Minecraft】『参加型』統合版のマイクラで街を発展させていく！【Part. 1】&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;Part.(パート)65まで続きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(PA4f-Vx435U - 1280x720 - 1h52m36s).png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;シーズン0終了時の町の状態&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/PA4f-Vx435U?si=xkKJX5vMIBl79a5g&amp;amp;t=6755 【Minecraft】『参加型』雑談配信！ワールドへは、主からの招待か、参加者さんの紹介で参加OKです！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
共有倉庫や火薬トラップや経験値トラップなどの施設や地上絵、&amp;lt;br&amp;gt;&lt;br /&gt;
などがありエンドラ攻略も終わってました&amp;lt;br&amp;gt;&lt;br /&gt;
2023/08/20にエンドへ行けないバグが起きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回(HdZOoCNwWFo - 1280x720 - 22m54s).png|500px|フレームなし|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot;&amp;gt;[https://www.youtube.com/live/HdZOoCNwWFo?si=Vlx2jAk_FfwvHL66&amp;amp;t=1374 【Minecraft】参加型マイクラ最終回。常連さん、参加したことある方は、参加OK。 初期ワールド、現ワールド、そして次予定だったワールドを散歩します。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S1　シーズン1 === &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
シーズン1は、2023/08/26にスタートしました。&amp;lt;ref&amp;gt;[https://www.youtube.com/live/FtjWxLmzauM 【Minecraft】『統合版』マイクラ【シーズン１】]　2025年8月9日閲覧。&amp;lt;/ref&amp;gt;前シーズンのワールドがエンドへ行けないバグがあるため新しくするために始まりました&amp;lt;br&amp;gt;&lt;br /&gt;
S0より少し参加者減っているシーズンでした&amp;lt;br&amp;gt;&lt;br /&gt;
経験値トラップや無限マグマなどの施設がありました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回。syu1280x720 - 39m04s).png| フレームなし]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 === &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
マイクラ参加者が少なく、初見さんが入りにくいことで継続が厳しいためマイクラの参加型を一時的に辞めることになりました&lt;br /&gt;
&lt;br /&gt;
=== S3　シーズン3 === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型&lt;br /&gt;
シーズン3は2024/06/16&amp;lt;ref&amp;gt;[https://www.youtube.com/live/zbtIzYiPZJY?si=jS7pZX42qmO92Obi 【Minecraft】久々にマイクラ。新ワールドで開始。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2024/08/11&amp;lt;ref&amp;gt;[https://www.youtube.com/live/yWjlSe-Wmbk?si=xtd89A0CFh2nNGRI 『日曜朝9時～11時はTwitch限定』マイクラ！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月11日閲覧&amp;lt;/ref&amp;gt;に参加者が1～3人しか来なくなり必ず来る方がネコっちさん、LAIA(へびたろ)さんだけになり&amp;lt;!--本当に終わってる--&amp;gt;話し合いの結果APEX配信になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:Sukuriin2024-08-11.png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1822458463722856913&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S4　シーズン4 ===&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型 シーズン3は2025/08/09&amp;lt;ref name=&amp;quot;r19&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=YkpbRF_Oi3o 【統合版マイクラ】クソ高難易度シードでエンドラ倒しに行こうぜ『第1回：Part.1』【Minecraft】]2025年8月9日閲覧。&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
とりあえずRealmsで様子見で開始&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(YkpbRF Oi3o-1317x741-52m47s).png|フレームなし||500px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;リスポーン地点&amp;lt;ref name=&amp;quot;r19&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 (S5　シーズン5) ===&lt;br /&gt;
ワールドを新しくしRealmsで引き続き開始&lt;br /&gt;
[[ファイル:S5スクリーンショット.jpg|フレームなし||500px|]]&lt;br /&gt;
&lt;br /&gt;
== その他 == &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
=== 年越し配信 === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日  || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/12/31 にライブ配信 || 雑談しながら年越し || https://www.youtube.com/live/Xanb7Y8-QFo?si=nH2CijGv4GYj_xgZ&lt;br /&gt;
|-&lt;br /&gt;
| 2024/12/31 || 雑談しながら振り返り年越し || https://www.youtube.com/live/RFBSt-TCzuQ?si=JWZXFyno1XdYL2P_&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--概要欄_2024/12/31-1/1.txt--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 会話用コメント欄 === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;i8AyH5pdVDY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚注 == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
=== 注釈 === &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;references group=&amp;quot;注釈&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 出典 === &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部リンク == &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/@TAI_APEX YouTube|TAIchannel] &amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/TAIchannel_APEX X（旧Twitter）|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/WingmanPrime X（旧Twitter）|TAIchannelの休日]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.twitch.tv/taichannel_apex Twitch|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://wingmanprime.blogspot.com/ TAIchannelBlog|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/live/i8AyH5pdVDY?si=ndSBlShafE4FUuCj 会話用コメント欄|TAIchanne]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/SAIchan_nel X（旧Twitter)|SAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://suzuri.jp/SAIchannel/products 公式グッズ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 関連リンク === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
* [https://taichannel.web.fc2.com/index.html 非公式サイト]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://dic.pixiv.net/a/TAIchannel Pixiv大百科 &amp;quot;TAIchannel&amp;quot; ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;metadesc&amp;gt;TAIchanel（たいちゃんねる、 - ）は、日本のYouTuber、ストリーマーである。&amp;lt;br&amp;gt; 主にYouTubeでゲーム配信活動を行っており、&amp;lt;br&amp;gt;Twitchでも活動をしている。&amp;lt;/metadesc&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2389</id>
		<title>TAIchannel</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2389"/>
		<updated>2025-09-13T02:23:46Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: /* S5　シーズン5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{Infobox 人物&lt;br /&gt;
|ふりがな=たいちゃんねる&lt;br /&gt;
|image = TAIchannel.jpg&lt;br /&gt;
|画像サイズ = 100px&lt;br /&gt;
|名前=TAIchannel&lt;br /&gt;
|生年月日={{生年月日と年齢|2022|7|1}}&lt;br /&gt;
|職業=[[Special:MyLanguage/YouTuber|YouTuber]]、[[Special:MyLanguage/実況プレイ|ストリーマー]]&lt;br /&gt;
|活動期間=[[Special:MyLanguage/2022年|2022年]]&lt;br /&gt;
|国籍={{JPN}}&lt;br /&gt;
|公式サイト = [https://wingmanprime.blogspot.com　TAIchannelBlog]&lt;br /&gt;
|現況=活動中&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
{{Infobox YouTube personality&lt;br /&gt;
| name = TAIchannel&lt;br /&gt;
| views = 3,530,804 回&lt;br /&gt;
| channel_direct_url = @TAI_APEX&lt;br /&gt;
| years_active = [[Special:MyLanguage/2022年|2022年]][[Special:MyLanguage/7月1日|7月1日]]&lt;br /&gt;
| genre = ゲーム実況&lt;br /&gt;
| subscribers = 6790人&lt;br /&gt;
| stats_update = {{dts|2025-9-12}}&lt;br /&gt;
| channel_display_name = TAIchannel&lt;br /&gt;
| gold_button = no&lt;br /&gt;
| silver_button = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
{{Infobox Twitch streamer&lt;br /&gt;
|name=TAIchannel_APEX&lt;br /&gt;
|logo_caption=&lt;br /&gt;
|channel_display_name=TAIchannel_APEX&lt;br /&gt;
|years_active=&lt;br /&gt;
|genre=ゲーム実況|games=&lt;br /&gt;
|teams=|followers=269人&lt;br /&gt;
|follower_date=&lt;br /&gt;
|views=&lt;br /&gt;
|view_date=&lt;br /&gt;
|associated_acts=&lt;br /&gt;
|catchphrase(s)=&lt;br /&gt;
|stats_update={{dts|2025-9-12}}&lt;br /&gt;
|channel_name=TAIchannel_APEX&lt;br /&gt;
|channel_url=https://www.twitch.tv/taichannel_apex&lt;br /&gt;
|years active=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAIchannel&#039;&#039;&#039;（ふりがな:たいちゃんねる ）は日本のYouTuber、ストリーマーである。&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 活動 == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
主にYouTubeでゲーム配信活動を行っており、Twitchでも活動をしている。&amp;lt;br&amp;gt;&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております&lt;br /&gt;
&lt;br /&gt;
== 略歴 == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
2022年7月8日、YouTubeを初め、同年7月13日に初動画。&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;[https://www.youtube.com/@TAI_APEX 概要&amp;amp;説明欄]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022年11月14日、総再生時間4000時間越え&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月4日登録者数1000人になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月13日：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023年9月18日、SUZURIにてグッズ販売。&amp;lt;br&amp;gt;&lt;br /&gt;
2024年4月7日：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024年6月26日：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月1日、TAIchannelの誕生日記念に専属絵師のSAIchannelさんからlive2Ⅾをプレゼントせれ、Vtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月31日、APEXでローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：Civ:Aとコラボ&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月28日：登録者4000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年3月26日：登録者5000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年4月27日：汎用ガラスソールを提供、レビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2025年5月29日：登録者6000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 人物 == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
教員免許を持っているほど頭が良く、トークの時は膨大なボキャブラリーを駆使して皆を笑いの渦へと巻きこんでいきます。&lt;br /&gt;
またTAIさんの声は皆を魅了し続け、現在でも古参勢がたくさん視聴している&amp;lt;ref&amp;gt;TAIchannel非公式サイトより引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://taichannel.web.fc2.com/index.html&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
配信開始時のあいさつなどは決まっていない。&lt;br /&gt;
彼の声は多くのリスナーを虜にしてきており、配信トークには一目置くものがある。&lt;br /&gt;
コメントをすれば大概対応をしてくれる心優しい配信者である。&lt;br /&gt;
両親、祖父母は超がつくほどお金持ちらしい。(本人談) 余談ではあるが、子供のころに高級寿司屋によく通っていたそう。&lt;br /&gt;
スマホの容量は16GB。&amp;lt;ref&amp;gt;Pixiv大百科 &amp;quot;TAIchannel&amp;quot; より引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://dic.pixiv.net/a/TAIchannel#h2_0&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
メインアカウントのツイートをサブ垢でリポストして、サブアカウントのアイコン可愛くて、メインアカウントでいいねを押しまくる2重人格プレイしてるそうです。&amp;lt;ref&amp;gt;TAIchannelの休日より引用&amp;lt;br&amp;gt;https://twitter.com/WingmanPrime/status/1762330650752045111?s=19&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannel配信の歴史 == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
2022/07/08：チャンネル作成&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/12: Xアカント開設&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/13：初動画&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/15:初の１人撮影動画を投稿&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/20 ～ 2022/08/29：雑談配信 in 訓練場&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/30 ～ 2023/02/14：参加型アリーナ（ウィングマン縛り）&amp;lt;ref group=&amp;quot;注釈&amp;quot;&amp;gt;アリーナはシーズン16で削除されてます&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022/11/14:総再生時間4000時間越え&amp;lt;br&amp;gt;&lt;br /&gt;
2023/02/15 ～ 2023/10/31：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/04：登録者1000人&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/13：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023/11/01 ～ 2024/05/04：参加型バトロワ（ピストル縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/04/07：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024/05/04 ～ 2024/09/13：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/06/26：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/07/01：TAIchannelの誕生日記念にVtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024/08/31：ローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/09/14 ～ 2024/10/25：APEX2時間、Valo 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/10/26 ～ 2024/11/17：APEX2時間、CoD 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/11/18 ～ ：APEX2時間&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26 ： 祝・同時同接数100人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/02：登録者4000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/26：登録者5000人&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== キャラクター == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ういちゃん === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
[[ファイル:uityann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式マスコットキャラクターの一人。でっかいはんぺんみたいな生き物で体に猫耳のようなものが頭についています。&lt;br /&gt;
擬人化するとショートショートボブの超絶美少女の元気な女の子になります。&lt;br /&gt;
ちなみにチャンネルアイコンのキャラはういちゃんの方です。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== いうちゃん === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
[[ファイル:iutyann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式キャラクターです。&lt;br /&gt;
はんぺんのような体に猫耳のようなものが頭についているキャラクターで、ういちゃんより小さい体が特徴です。&lt;br /&gt;
人になる魔法をかけると、ロングヘアのダウナーな女の子に変身します。口がへの字の美少女。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== レイちゃん === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
TAIchannelの公式キャラクターです。&lt;br /&gt;
レイちゃんはTAIchannelのメンバーシップで使えるようになるスタンプでTAIchannel公式絵師のSAIchannelさんが描いております&lt;br /&gt;
幽霊の姿をしていて頭に猫耳のようなものと天使の輪っかがあります&amp;lt;sub&amp;gt;※いつの間に擬人化してた&lt;br /&gt;
[[ファイル:レイちゃん初登場サムネ.jpg|94px|]]&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/V8QqcfNIrcg?si=TpBl-VZ5ozsHg98Y 【APEX】S19ピストル縛り『225時間目』「今日のサムネは、なんと！れいちゃん！？」&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2024年10月14日閲覧&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== コラボ === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日 || コラボ相手 || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/11/18  || りゅんさん：http://www.youtube.com/@RYUN_Usagi&amp;lt;br&amp;gt;きのこさん：https://www.youtube.com/channel/UCqJiTfO-azLO84DhPuM-VGw || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/I1G8Rv4OXxE?si=yqD59i5Z3ds1POwP&amp;lt;ref&amp;gt;[https://www.youtube.com/live/I1G8Rv4OXxE 430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2022/12/09 || 白猫さん：http://www.youtube.com/@sironekoneko_YT&amp;lt;br&amp;gt;パンダさん：http://www.youtube.com/@sunaipasuki_panda || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L&amp;lt;ref&amp;gt;[https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L 【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2025/02/26 || Civ:Aさん：&amp;lt;br&amp;gt;https://www.youtube.com/@civaCh ||ウィングマンを使ってタイマンして、真のウィングマン使いを決める || YouTube：&amp;lt;br&amp;gt;【ライバル？】おいなんか俺よりもウィングマンを使ってる奴がいるらしいから、タイマンでどっちが真のWM使いかをハッキリさせてきた-Apex Legends- https://www.youtube.com/watch?v=bKm1bhwEiFs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== センシ、デバイス、スキン&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt; == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== APEX感度設定 === &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
DPI：600&amp;lt;br&amp;gt;&lt;br /&gt;
ゲーム内感度：3.0&amp;lt;br&amp;gt;&lt;br /&gt;
感度（エイム時）：1.2&amp;lt;br&amp;gt;&lt;br /&gt;
視野角：110&amp;lt;br&amp;gt;&lt;br /&gt;
振り向き：11.55cm&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== デバイス === &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
メモリ：32GB&amp;lt;br&amp;gt;&lt;br /&gt;
GPU：NVIDIA GeForce RTX 4070SUPE&amp;lt;br&amp;gt;&lt;br /&gt;
CPU：Intel(R) Core(TM) i7-12700&amp;lt;br&amp;gt;&lt;br /&gt;
マウス：Razer Viper V2 Pro&amp;lt;br&amp;gt;&lt;br /&gt;
キーボード：REALFORCE R2TLSA-JP3-BK&amp;lt;br&amp;gt;&lt;br /&gt;
マイク：Kungber コンデンサーマイク（B0816DTW1M）&amp;lt;br&amp;gt;&lt;br /&gt;
イヤホン：final E500&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== スキン === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
ローバスキン：ライカンハンター（がのさんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
ダイブ起動：ローバプレステージスキン付属（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
スパレジェ：カタール（自身で購入）&amp;lt;br&amp;gt;&lt;br /&gt;
ウィングマン：アイアンドロー（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{#fab:youtube}}YouTube == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Special:MyLanguage/メンバーシップ|メンバーシップ]] === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
メンバー累計日数によりダイヤやプレデターなどのバッジが表示されます&amp;lt;br&amp;gt;&lt;br /&gt;
メンバーシップは「世界一安いメンバーシップ」月￥90円です&lt;br /&gt;
メンバーバッチ、スタンプ、メンバー限定の動画があります&amp;lt;br&amp;gt;&lt;br /&gt;
よくメンバーシップを配ってくださってる方がいます&lt;br /&gt;
&lt;br /&gt;
==== コメントとチャットでユーザー名の横に表示するメンバー用バッジ ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || 最初&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || １２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || ２４ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| マスター || ３６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プレデター || ４８ヶ月目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== スタンプ ===== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
スタンプは２１種類です&lt;br /&gt;
&lt;br /&gt;
== {{#fab:twitch}}Twitch == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* YouTubeでやらないような配信をやります&lt;br /&gt;
* 10分毎に30秒の広告を設定しています&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.twitch.tv/taichannel_apex/about TAIchannel_APEXさんについて]2024年8月2日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== サブスクライブ === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ３ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || ９ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || １年目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TAIchannelのイラスト == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
TAIさんへのファンアートはXで「&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;#TAIさんに届け&amp;lt;/span&amp;gt;」ポストをするとTAIさんが見たりしてくれます&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1901656993699643458&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAIchannelさん === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
[[ファイル:Saiicon.jpg|200px|サムネイル|右|SAIchan_nelのアイコン&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://x.com/SAIchan_nel/photo SAIchan_nelアイコン] 2024年6月4日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
[[SAIchannel]]さんはTAIchannelの専属絵師さんでイラスト･デザイン担当です&amp;lt;br&amp;gt;&lt;br /&gt;
主にういちゃん[https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%86%E3%81%84%E3%81%A1%E3%82%83%E3%82%93 *]、いうちゃん [https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%84%E3%81%86%E3%81%A1%E3%82%83%E3%82%93 *] の擬人化イラストやTAIchannelのサムネのイラストやLINEのスタンプを描いたり&amp;lt;br&amp;gt;&lt;br /&gt;
TAIchannelのグッズをSuzuriを販売しています。&lt;br /&gt;
XではTAIchannelのファンアート100日チャレンジやっており2023年12月31日に完走しています&lt;br /&gt;
今は長めのお休みをとっています&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
ファイル:Uityanngizinnka.jpg|サムネイル|ういちゃん擬人化バージョン&lt;br /&gt;
ファイル:Iutyanngizinnka.jpg|サムネイル|いうちゃん擬人化バージョン&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;ref name=&amp;quot;a&amp;quot;&amp;gt;[https://x.com/SAIchan_nel/status/1705923058517840146 ういちゃん擬人化バージョン][https://x.com/SAIchan_nel/status/1705538424458129729 いうちゃん擬人化バージョン]  2024年6月3日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの休日 == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
TAIchannelのX（旧Twitter）のサブアカウントです&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@WingmanPrime&amp;lt;/span&amp;gt;では&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@TAIchannel_APEX&lt;br /&gt;
&amp;lt;/span&amp;gt;のツイート見て笑って、リポストしたりたまにつぶやいてます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&lt;br /&gt;
&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;600&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの名言 == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
TAIchannelの配信内で視聴者や突撃してきた方が言った言葉です&lt;br /&gt;
&lt;br /&gt;
=== のじ吸い === &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
のじさんを猫吸いのようにすること&lt;br /&gt;
のじ吸いは吸うと精神安定試験対策、ご利益や無病息災等の9999億の効果があります&lt;br /&gt;
&lt;br /&gt;
=== これでチートじゃないって上手すぎだろ笑笑笑笑笑笑笑笑 === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
これでチートじゃないって上手すぎだろ笑笑笑笑笑笑は動画の切り抜きでやってきたへびたろってやつが言ってました。チート疑ってましたが最後はおもんなかったのでタイムアウトしました。笑は絶対偶数で揃えてました&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;派生&#039;&#039;&#039;&lt;br /&gt;
* これでコンバーターじゃないって上手すぎだろ笑笑笑笑笑笑&lt;br /&gt;
&lt;br /&gt;
=== DV === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
ある[[モデレーター]]が、あるリスナーに対してよくしています。&amp;lt;br&amp;gt;&lt;br /&gt;
たまにそのモデレーターがDVされた際には後に説明する「殺すなよ」の派生「KO RO SU NA YO」がコメント欄に流れてきます。&amp;lt;br&amp;gt;&lt;br /&gt;
APEX配信中にあまりにも強い人が無双状態になっている場合、また何度も同じプレーヤーからキルされた場合に「もうDVやん」、「この人DVしてくるのだが」といった感じで使われることがあります。&lt;br /&gt;
&lt;br /&gt;
=== でわまたの～ === &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
配信終わりの挨拶の言葉です&lt;br /&gt;
&lt;br /&gt;
=== うよい食う === &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
TAIさんの言い間違いです&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;うよい食う派生系&#039;&#039;&#039;&lt;br /&gt;
* TAI食う&lt;br /&gt;
&lt;br /&gt;
=== ほんまシバくぞw === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
感情が高ぶった際に放たれるありがたいお言葉です。&lt;br /&gt;
&lt;br /&gt;
=== ここから始まる俺のAPEX生活 === &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
APEX内にウィングマンというピストルの武器があります&lt;br /&gt;
それをゲットした時に言っている台詞&lt;br /&gt;
&lt;br /&gt;
=== 殺すなよ === &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Tようが配信中にチャット欄で「殺すなよ」と言いすぐにに[[モデレーター]]に削除されました&lt;br /&gt;
APEXのマッチでTAIさんに倒されて配信のチャットへ文句言い来たと思われる&lt;br /&gt;
その後謎のコメントしたりTAIchannelのDiscordサーバーで暴言を吐きましたが[[モデレーター]]に見つかりすぐに削除されました&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/OXlh9ctVzhU?si=u83E269UWCP5mWQ1&amp;amp;t=8246 【APEX】S19ピストル縛り『51時間目』【ローバピストルキル数PC世界10位】]2024年8月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== noziさん謝ってください&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※不完全&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
スシラプトルくんが参加型カスタムで「PCの人にジャイロで勝てる、switchにはジャイロがあるからPCとも戦える」的なニュアンス、&amp;lt;br&amp;gt;&lt;br /&gt;
言った言葉を違うんじゃないかと突っつかれ否定されている&lt;br /&gt;
自分が言った意と違う意で伝わっているから訂正させてくださいって言った後に&amp;lt;br&amp;gt;&lt;br /&gt;
訂正したらあなたが言っているのが間違っているんだから謝ってくださいと言い出した&lt;br /&gt;
PCプレーヤーが若干ピキル(イラつかせる)ことがことが起きたが&amp;lt;br&amp;gt;&lt;br /&gt;
みんな2000ダメ1000ダメを出す時に3桁ダメ出しており3桁ダメの人がPCと戦えるって言っているのはちょっとどうなんだとなり議論になった&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/mQE_P6THzl0?si=E9YEMDWzjOT3c_Z5&amp;amp;t=7692 【APEX】グレなしウィングマン一本縛り『1992時間目』][https://www.youtube.com/live/ViZhASwXXKw?si=y6O1J6u5SN6iY3gT&amp;amp;t=8865 【APEX】グレなしウィングマン一本縛り『2126時間目』]  2024年8月8日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APEX以外の参加型 == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* マイクラ&lt;br /&gt;
* 原神&lt;br /&gt;
* OW2&lt;br /&gt;
* パルワールド&lt;br /&gt;
* Valorant&lt;br /&gt;
* Phasmophobia&lt;br /&gt;
* CS2&lt;br /&gt;
* フォートナイト&lt;br /&gt;
* Warframe&lt;br /&gt;
* Hand Simulator&lt;br /&gt;
&lt;br /&gt;
=== Valorant === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
第一回目は&#039;&#039;&#039;2024/03/18&#039;&#039;&#039;に配信されました。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2024/09/24&#039;&#039;&#039;からTwitchで毎日21時～22時参加型Valorantしています&lt;br /&gt;
&lt;br /&gt;
== マイクラ == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
マイクラ参加型配信再生リスト&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtube.com/playlist?list=PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;amp;si=GM1HGfMT75oIas7I 再生リスト]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S0　シーズン0 === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
シーズン0は&#039;&#039;&#039;2023/01/21&#039;&#039;&#039;にスタート&amp;lt;ref name=&amp;quot;mcS0#1&amp;quot;&amp;gt;&lt;br /&gt;
[https://www.youtube.com/live/w8FZ2kWN4mI?si=2gv_uZ4h2tbSLVL7 【Minecraft】『参加型』統合版のマイクラで街を発展させていく！【Part. 1】&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;Part.(パート)65まで続きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(PA4f-Vx435U - 1280x720 - 1h52m36s).png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;シーズン0終了時の町の状態&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/PA4f-Vx435U?si=xkKJX5vMIBl79a5g&amp;amp;t=6755 【Minecraft】『参加型』雑談配信！ワールドへは、主からの招待か、参加者さんの紹介で参加OKです！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
共有倉庫や火薬トラップや経験値トラップなどの施設や地上絵、&amp;lt;br&amp;gt;&lt;br /&gt;
などがありエンドラ攻略も終わってました&amp;lt;br&amp;gt;&lt;br /&gt;
2023/08/20にエンドへ行けないバグが起きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回(HdZOoCNwWFo - 1280x720 - 22m54s).png|500px|フレームなし|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot;&amp;gt;[https://www.youtube.com/live/HdZOoCNwWFo?si=Vlx2jAk_FfwvHL66&amp;amp;t=1374 【Minecraft】参加型マイクラ最終回。常連さん、参加したことある方は、参加OK。 初期ワールド、現ワールド、そして次予定だったワールドを散歩します。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S1　シーズン1 === &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
シーズン1は、2023/08/26にスタートしました。&amp;lt;ref&amp;gt;[https://www.youtube.com/live/FtjWxLmzauM 【Minecraft】『統合版』マイクラ【シーズン１】]　2025年8月9日閲覧。&amp;lt;/ref&amp;gt;前シーズンのワールドがエンドへ行けないバグがあるため新しくするために始まりました&amp;lt;br&amp;gt;&lt;br /&gt;
S0より少し参加者減っているシーズンでした&amp;lt;br&amp;gt;&lt;br /&gt;
経験値トラップや無限マグマなどの施設がありました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回。syu1280x720 - 39m04s).png| フレームなし]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 === &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
マイクラ参加者が少なく、初見さんが入りにくいことで継続が厳しいためマイクラの参加型を一時的に辞めることになりました&lt;br /&gt;
&lt;br /&gt;
=== S3　シーズン3 === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型&lt;br /&gt;
シーズン3は2024/06/16&amp;lt;ref&amp;gt;[https://www.youtube.com/live/zbtIzYiPZJY?si=jS7pZX42qmO92Obi 【Minecraft】久々にマイクラ。新ワールドで開始。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2024/08/11&amp;lt;ref&amp;gt;[https://www.youtube.com/live/yWjlSe-Wmbk?si=xtd89A0CFh2nNGRI 『日曜朝9時～11時はTwitch限定』マイクラ！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月11日閲覧&amp;lt;/ref&amp;gt;に参加者が1～3人しか来なくなり必ず来る方がネコっちさん、LAIA(へびたろ)さんだけになり&amp;lt;!--本当に終わってる--&amp;gt;話し合いの結果APEX配信になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:Sukuriin2024-08-11.png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1822458463722856913&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S4　シーズン4 ===&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型 シーズン3は2025/08/09&amp;lt;ref name=&amp;quot;r19&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=YkpbRF_Oi3o 【統合版マイクラ】クソ高難易度シードでエンドラ倒しに行こうぜ『第1回：Part.1』【Minecraft】]2025年8月9日閲覧。&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
とりあえずRealmsで様子見で開始&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(YkpbRF Oi3o-1317x741-52m47s).png|フレームなし||500px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;リスポーン地点&amp;lt;ref name=&amp;quot;r19&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 (S5　シーズン5) ===&lt;br /&gt;
ワールドを新しくしRealmsで引き続き開始&lt;br /&gt;
[[ファイル:S5スクリーンショット.jpg|フレームなし||500px|]]&lt;br /&gt;
&lt;br /&gt;
== その他 == &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
=== 年越し配信 === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日  || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/12/31 にライブ配信 || 雑談しながら年越し || https://www.youtube.com/live/Xanb7Y8-QFo?si=nH2CijGv4GYj_xgZ&lt;br /&gt;
|-&lt;br /&gt;
| 2024/12/31 || 雑談しながら振り返り年越し || https://www.youtube.com/live/RFBSt-TCzuQ?si=JWZXFyno1XdYL2P_&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--概要欄_2024/12/31-1/1.txt--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 会話用コメント欄 === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;i8AyH5pdVDY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚注 == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
=== 注釈 === &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;references group=&amp;quot;注釈&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 出典 === &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部リンク == &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/@TAI_APEX YouTube|TAIchannel] &amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/TAIchannel_APEX X（旧Twitter）|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/WingmanPrime X（旧Twitter）|TAIchannelの休日]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.twitch.tv/taichannel_apex Twitch|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://wingmanprime.blogspot.com/ TAIchannelBlog|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/live/i8AyH5pdVDY?si=ndSBlShafE4FUuCj 会話用コメント欄|TAIchanne]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/SAIchan_nel X（旧Twitter)|SAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://suzuri.jp/SAIchannel/products 公式グッズ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 関連リンク === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
* [https://taichannel.web.fc2.com/index.html 非公式サイト]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://dic.pixiv.net/a/TAIchannel Pixiv大百科 &amp;quot;TAIchannel&amp;quot; ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;metadesc&amp;gt;TAIchanel（たいちゃんねる、 - ）は、日本のYouTuber、ストリーマーである。&amp;lt;br&amp;gt; 主にYouTubeでゲーム配信活動を行っており、&amp;lt;br&amp;gt;Twitchでも活動をしている。&amp;lt;/metadesc&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2387</id>
		<title>TAIchannel</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2387"/>
		<updated>2025-09-12T12:19:24Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{Infobox 人物&lt;br /&gt;
|ふりがな=たいちゃんねる&lt;br /&gt;
|image = TAIchannel.jpg&lt;br /&gt;
|画像サイズ = 100px&lt;br /&gt;
|名前=TAIchannel&lt;br /&gt;
|生年月日={{生年月日と年齢|2022|7|1}}&lt;br /&gt;
|職業=[[Special:MyLanguage/YouTuber|YouTuber]]、[[Special:MyLanguage/実況プレイ|ストリーマー]]&lt;br /&gt;
|活動期間=[[Special:MyLanguage/2022年|2022年]]&lt;br /&gt;
|国籍={{JPN}}&lt;br /&gt;
|公式サイト = [https://wingmanprime.blogspot.com　TAIchannelBlog]&lt;br /&gt;
|現況=活動中&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
{{Infobox YouTube personality&lt;br /&gt;
| name = TAIchannel&lt;br /&gt;
| views = 3,530,804 回&lt;br /&gt;
| channel_direct_url = @TAI_APEX&lt;br /&gt;
| years_active = [[Special:MyLanguage/2022年|2022年]][[Special:MyLanguage/7月1日|7月1日]]&lt;br /&gt;
| genre = ゲーム実況&lt;br /&gt;
| subscribers = 6790人&lt;br /&gt;
| stats_update = {{dts|2025-9-12}}&lt;br /&gt;
| channel_display_name = TAIchannel&lt;br /&gt;
| gold_button = no&lt;br /&gt;
| silver_button = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
{{Infobox Twitch streamer&lt;br /&gt;
|name=TAIchannel_APEX&lt;br /&gt;
|logo_caption=&lt;br /&gt;
|channel_display_name=TAIchannel_APEX&lt;br /&gt;
|years_active=&lt;br /&gt;
|genre=ゲーム実況|games=&lt;br /&gt;
|teams=|followers=269人&lt;br /&gt;
|follower_date=&lt;br /&gt;
|views=&lt;br /&gt;
|view_date=&lt;br /&gt;
|associated_acts=&lt;br /&gt;
|catchphrase(s)=&lt;br /&gt;
|stats_update={{dts|2025-9-12}}&lt;br /&gt;
|channel_name=TAIchannel_APEX&lt;br /&gt;
|channel_url=https://www.twitch.tv/taichannel_apex&lt;br /&gt;
|years active=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAIchannel&#039;&#039;&#039;（ふりがな:たいちゃんねる ）は日本のYouTuber、ストリーマーである。&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 活動 == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
主にYouTubeでゲーム配信活動を行っており、Twitchでも活動をしている。&amp;lt;br&amp;gt;&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております&lt;br /&gt;
&lt;br /&gt;
== 略歴 == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
2022年7月8日、YouTubeを初め、同年7月13日に初動画。&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;[https://www.youtube.com/@TAI_APEX 概要&amp;amp;説明欄]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022年11月14日、総再生時間4000時間越え&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月4日登録者数1000人になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月13日：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023年9月18日、SUZURIにてグッズ販売。&amp;lt;br&amp;gt;&lt;br /&gt;
2024年4月7日：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024年6月26日：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月1日、TAIchannelの誕生日記念に専属絵師のSAIchannelさんからlive2Ⅾをプレゼントせれ、Vtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月31日、APEXでローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：Civ:Aとコラボ&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月28日：登録者4000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年3月26日：登録者5000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年4月27日：汎用ガラスソールを提供、レビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2025年5月29日：登録者6000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 人物 == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
教員免許を持っているほど頭が良く、トークの時は膨大なボキャブラリーを駆使して皆を笑いの渦へと巻きこんでいきます。&lt;br /&gt;
またTAIさんの声は皆を魅了し続け、現在でも古参勢がたくさん視聴している&amp;lt;ref&amp;gt;TAIchannel非公式サイトより引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://taichannel.web.fc2.com/index.html&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
配信開始時のあいさつなどは決まっていない。&lt;br /&gt;
彼の声は多くのリスナーを虜にしてきており、配信トークには一目置くものがある。&lt;br /&gt;
コメントをすれば大概対応をしてくれる心優しい配信者である。&lt;br /&gt;
両親、祖父母は超がつくほどお金持ちらしい。(本人談) 余談ではあるが、子供のころに高級寿司屋によく通っていたそう。&lt;br /&gt;
スマホの容量は16GB。&amp;lt;ref&amp;gt;Pixiv大百科 &amp;quot;TAIchannel&amp;quot; より引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://dic.pixiv.net/a/TAIchannel#h2_0&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
メインアカウントのツイートをサブ垢でリポストして、サブアカウントのアイコン可愛くて、メインアカウントでいいねを押しまくる2重人格プレイしてるそうです。&amp;lt;ref&amp;gt;TAIchannelの休日より引用&amp;lt;br&amp;gt;https://twitter.com/WingmanPrime/status/1762330650752045111?s=19&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannel配信の歴史 == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
2022/07/08：チャンネル作成&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/12: Xアカント開設&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/13：初動画&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/15:初の１人撮影動画を投稿&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/20 ～ 2022/08/29：雑談配信 in 訓練場&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/30 ～ 2023/02/14：参加型アリーナ（ウィングマン縛り）&amp;lt;ref group=&amp;quot;注釈&amp;quot;&amp;gt;アリーナはシーズン16で削除されてます&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022/11/14:総再生時間4000時間越え&amp;lt;br&amp;gt;&lt;br /&gt;
2023/02/15 ～ 2023/10/31：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/04：登録者1000人&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/13：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023/11/01 ～ 2024/05/04：参加型バトロワ（ピストル縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/04/07：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024/05/04 ～ 2024/09/13：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/06/26：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/07/01：TAIchannelの誕生日記念にVtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024/08/31：ローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/09/14 ～ 2024/10/25：APEX2時間、Valo 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/10/26 ～ 2024/11/17：APEX2時間、CoD 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/11/18 ～ ：APEX2時間&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26 ： 祝・同時同接数100人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/02：登録者4000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/26：登録者5000人&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== キャラクター == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ういちゃん === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
[[ファイル:uityann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式マスコットキャラクターの一人。でっかいはんぺんみたいな生き物で体に猫耳のようなものが頭についています。&lt;br /&gt;
擬人化するとショートショートボブの超絶美少女の元気な女の子になります。&lt;br /&gt;
ちなみにチャンネルアイコンのキャラはういちゃんの方です。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== いうちゃん === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
[[ファイル:iutyann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式キャラクターです。&lt;br /&gt;
はんぺんのような体に猫耳のようなものが頭についているキャラクターで、ういちゃんより小さい体が特徴です。&lt;br /&gt;
人になる魔法をかけると、ロングヘアのダウナーな女の子に変身します。口がへの字の美少女。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== レイちゃん === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
TAIchannelの公式キャラクターです。&lt;br /&gt;
レイちゃんはTAIchannelのメンバーシップで使えるようになるスタンプでTAIchannel公式絵師のSAIchannelさんが描いております&lt;br /&gt;
幽霊の姿をしていて頭に猫耳のようなものと天使の輪っかがあります&amp;lt;sub&amp;gt;※いつの間に擬人化してた&lt;br /&gt;
[[ファイル:レイちゃん初登場サムネ.jpg|94px|]]&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/V8QqcfNIrcg?si=TpBl-VZ5ozsHg98Y 【APEX】S19ピストル縛り『225時間目』「今日のサムネは、なんと！れいちゃん！？」&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2024年10月14日閲覧&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== コラボ === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日 || コラボ相手 || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/11/18  || りゅんさん：http://www.youtube.com/@RYUN_Usagi&amp;lt;br&amp;gt;きのこさん：https://www.youtube.com/channel/UCqJiTfO-azLO84DhPuM-VGw || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/I1G8Rv4OXxE?si=yqD59i5Z3ds1POwP&amp;lt;ref&amp;gt;[https://www.youtube.com/live/I1G8Rv4OXxE 430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2022/12/09 || 白猫さん：http://www.youtube.com/@sironekoneko_YT&amp;lt;br&amp;gt;パンダさん：http://www.youtube.com/@sunaipasuki_panda || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L&amp;lt;ref&amp;gt;[https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L 【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2025/02/26 || Civ:Aさん：&amp;lt;br&amp;gt;https://www.youtube.com/@civaCh ||ウィングマンを使ってタイマンして、真のウィングマン使いを決める || YouTube：&amp;lt;br&amp;gt;【ライバル？】おいなんか俺よりもウィングマンを使ってる奴がいるらしいから、タイマンでどっちが真のWM使いかをハッキリさせてきた-Apex Legends- https://www.youtube.com/watch?v=bKm1bhwEiFs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== センシ、デバイス、スキン&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt; == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== APEX感度設定 === &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
DPI：600&amp;lt;br&amp;gt;&lt;br /&gt;
ゲーム内感度：3.0&amp;lt;br&amp;gt;&lt;br /&gt;
感度（エイム時）：1.2&amp;lt;br&amp;gt;&lt;br /&gt;
視野角：110&amp;lt;br&amp;gt;&lt;br /&gt;
振り向き：11.55cm&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== デバイス === &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
メモリ：32GB&amp;lt;br&amp;gt;&lt;br /&gt;
GPU：NVIDIA GeForce RTX 4070SUPE&amp;lt;br&amp;gt;&lt;br /&gt;
CPU：Intel(R) Core(TM) i7-12700&amp;lt;br&amp;gt;&lt;br /&gt;
マウス：Razer Viper V2 Pro&amp;lt;br&amp;gt;&lt;br /&gt;
キーボード：REALFORCE R2TLSA-JP3-BK&amp;lt;br&amp;gt;&lt;br /&gt;
マイク：Kungber コンデンサーマイク（B0816DTW1M）&amp;lt;br&amp;gt;&lt;br /&gt;
イヤホン：final E500&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== スキン === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
ローバスキン：ライカンハンター（がのさんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
ダイブ起動：ローバプレステージスキン付属（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
スパレジェ：カタール（自身で購入）&amp;lt;br&amp;gt;&lt;br /&gt;
ウィングマン：アイアンドロー（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{#fab:youtube}}YouTube == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Special:MyLanguage/メンバーシップ|メンバーシップ]] === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
メンバー累計日数によりダイヤやプレデターなどのバッジが表示されます&amp;lt;br&amp;gt;&lt;br /&gt;
メンバーシップは「世界一安いメンバーシップ」月￥90円です&lt;br /&gt;
メンバーバッチ、スタンプ、メンバー限定の動画があります&amp;lt;br&amp;gt;&lt;br /&gt;
よくメンバーシップを配ってくださってる方がいます&lt;br /&gt;
&lt;br /&gt;
==== コメントとチャットでユーザー名の横に表示するメンバー用バッジ ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || 最初&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || １２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || ２４ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| マスター || ３６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プレデター || ４８ヶ月目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== スタンプ ===== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
スタンプは２１種類です&lt;br /&gt;
&lt;br /&gt;
== {{#fab:twitch}}Twitch == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* YouTubeでやらないような配信をやります&lt;br /&gt;
* 10分毎に30秒の広告を設定しています&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.twitch.tv/taichannel_apex/about TAIchannel_APEXさんについて]2024年8月2日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== サブスクライブ === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ３ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || ９ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || １年目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TAIchannelのイラスト == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
TAIさんへのファンアートはXで「&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;#TAIさんに届け&amp;lt;/span&amp;gt;」ポストをするとTAIさんが見たりしてくれます&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1901656993699643458&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAIchannelさん === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
[[ファイル:Saiicon.jpg|200px|サムネイル|右|SAIchan_nelのアイコン&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://x.com/SAIchan_nel/photo SAIchan_nelアイコン] 2024年6月4日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
[[SAIchannel]]さんはTAIchannelの専属絵師さんでイラスト･デザイン担当です&amp;lt;br&amp;gt;&lt;br /&gt;
主にういちゃん[https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%86%E3%81%84%E3%81%A1%E3%82%83%E3%82%93 *]、いうちゃん [https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%84%E3%81%86%E3%81%A1%E3%82%83%E3%82%93 *] の擬人化イラストやTAIchannelのサムネのイラストやLINEのスタンプを描いたり&amp;lt;br&amp;gt;&lt;br /&gt;
TAIchannelのグッズをSuzuriを販売しています。&lt;br /&gt;
XではTAIchannelのファンアート100日チャレンジやっており2023年12月31日に完走しています&lt;br /&gt;
今は長めのお休みをとっています&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
ファイル:Uityanngizinnka.jpg|サムネイル|ういちゃん擬人化バージョン&lt;br /&gt;
ファイル:Iutyanngizinnka.jpg|サムネイル|いうちゃん擬人化バージョン&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;ref name=&amp;quot;a&amp;quot;&amp;gt;[https://x.com/SAIchan_nel/status/1705923058517840146 ういちゃん擬人化バージョン][https://x.com/SAIchan_nel/status/1705538424458129729 いうちゃん擬人化バージョン]  2024年6月3日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの休日 == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
TAIchannelのX（旧Twitter）のサブアカウントです&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@WingmanPrime&amp;lt;/span&amp;gt;では&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@TAIchannel_APEX&lt;br /&gt;
&amp;lt;/span&amp;gt;のツイート見て笑って、リポストしたりたまにつぶやいてます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&lt;br /&gt;
&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;600&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの名言 == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
TAIchannelの配信内で視聴者や突撃してきた方が言った言葉です&lt;br /&gt;
&lt;br /&gt;
=== のじ吸い === &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
のじさんを猫吸いのようにすること&lt;br /&gt;
のじ吸いは吸うと精神安定試験対策、ご利益や無病息災等の9999億の効果があります&lt;br /&gt;
&lt;br /&gt;
=== これでチートじゃないって上手すぎだろ笑笑笑笑笑笑笑笑 === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
これでチートじゃないって上手すぎだろ笑笑笑笑笑笑は動画の切り抜きでやってきたへびたろってやつが言ってました。チート疑ってましたが最後はおもんなかったのでタイムアウトしました。笑は絶対偶数で揃えてました&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;派生&#039;&#039;&#039;&lt;br /&gt;
* これでコンバーターじゃないって上手すぎだろ笑笑笑笑笑笑&lt;br /&gt;
&lt;br /&gt;
=== DV === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
ある[[モデレーター]]が、あるリスナーに対してよくしています。&amp;lt;br&amp;gt;&lt;br /&gt;
たまにそのモデレーターがDVされた際には後に説明する「殺すなよ」の派生「KO RO SU NA YO」がコメント欄に流れてきます。&amp;lt;br&amp;gt;&lt;br /&gt;
APEX配信中にあまりにも強い人が無双状態になっている場合、また何度も同じプレーヤーからキルされた場合に「もうDVやん」、「この人DVしてくるのだが」といった感じで使われることがあります。&lt;br /&gt;
&lt;br /&gt;
=== でわまたの～ === &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
配信終わりの挨拶の言葉です&lt;br /&gt;
&lt;br /&gt;
=== うよい食う === &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
TAIさんの言い間違いです&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;うよい食う派生系&#039;&#039;&#039;&lt;br /&gt;
* TAI食う&lt;br /&gt;
&lt;br /&gt;
=== ほんまシバくぞw === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
感情が高ぶった際に放たれるありがたいお言葉です。&lt;br /&gt;
&lt;br /&gt;
=== ここから始まる俺のAPEX生活 === &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
APEX内にウィングマンというピストルの武器があります&lt;br /&gt;
それをゲットした時に言っている台詞&lt;br /&gt;
&lt;br /&gt;
=== 殺すなよ === &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Tようが配信中にチャット欄で「殺すなよ」と言いすぐにに[[モデレーター]]に削除されました&lt;br /&gt;
APEXのマッチでTAIさんに倒されて配信のチャットへ文句言い来たと思われる&lt;br /&gt;
その後謎のコメントしたりTAIchannelのDiscordサーバーで暴言を吐きましたが[[モデレーター]]に見つかりすぐに削除されました&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/OXlh9ctVzhU?si=u83E269UWCP5mWQ1&amp;amp;t=8246 【APEX】S19ピストル縛り『51時間目』【ローバピストルキル数PC世界10位】]2024年8月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== noziさん謝ってください&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※不完全&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
スシラプトルくんが参加型カスタムで「PCの人にジャイロで勝てる、switchにはジャイロがあるからPCとも戦える」的なニュアンス、&amp;lt;br&amp;gt;&lt;br /&gt;
言った言葉を違うんじゃないかと突っつかれ否定されている&lt;br /&gt;
自分が言った意と違う意で伝わっているから訂正させてくださいって言った後に&amp;lt;br&amp;gt;&lt;br /&gt;
訂正したらあなたが言っているのが間違っているんだから謝ってくださいと言い出した&lt;br /&gt;
PCプレーヤーが若干ピキル(イラつかせる)ことがことが起きたが&amp;lt;br&amp;gt;&lt;br /&gt;
みんな2000ダメ1000ダメを出す時に3桁ダメ出しており3桁ダメの人がPCと戦えるって言っているのはちょっとどうなんだとなり議論になった&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/mQE_P6THzl0?si=E9YEMDWzjOT3c_Z5&amp;amp;t=7692 【APEX】グレなしウィングマン一本縛り『1992時間目』][https://www.youtube.com/live/ViZhASwXXKw?si=y6O1J6u5SN6iY3gT&amp;amp;t=8865 【APEX】グレなしウィングマン一本縛り『2126時間目』]  2024年8月8日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APEX以外の参加型 == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* マイクラ&lt;br /&gt;
* 原神&lt;br /&gt;
* OW2&lt;br /&gt;
* パルワールド&lt;br /&gt;
* Valorant&lt;br /&gt;
* Phasmophobia&lt;br /&gt;
* CS2&lt;br /&gt;
* フォートナイト&lt;br /&gt;
* Warframe&lt;br /&gt;
* Hand Simulator&lt;br /&gt;
&lt;br /&gt;
=== Valorant === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
第一回目は&#039;&#039;&#039;2024/03/18&#039;&#039;&#039;に配信されました。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2024/09/24&#039;&#039;&#039;からTwitchで毎日21時～22時参加型Valorantしています&lt;br /&gt;
&lt;br /&gt;
== マイクラ == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
マイクラ参加型配信再生リスト&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtube.com/playlist?list=PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;amp;si=GM1HGfMT75oIas7I 再生リスト]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S0　シーズン0 === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
シーズン0は&#039;&#039;&#039;2023/01/21&#039;&#039;&#039;にスタート&amp;lt;ref name=&amp;quot;mcS0#1&amp;quot;&amp;gt;&lt;br /&gt;
[https://www.youtube.com/live/w8FZ2kWN4mI?si=2gv_uZ4h2tbSLVL7 【Minecraft】『参加型』統合版のマイクラで街を発展させていく！【Part. 1】&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;Part.(パート)65まで続きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(PA4f-Vx435U - 1280x720 - 1h52m36s).png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;シーズン0終了時の町の状態&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/PA4f-Vx435U?si=xkKJX5vMIBl79a5g&amp;amp;t=6755 【Minecraft】『参加型』雑談配信！ワールドへは、主からの招待か、参加者さんの紹介で参加OKです！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
共有倉庫や火薬トラップや経験値トラップなどの施設や地上絵、&amp;lt;br&amp;gt;&lt;br /&gt;
などがありエンドラ攻略も終わってました&amp;lt;br&amp;gt;&lt;br /&gt;
2023/08/20にエンドへ行けないバグが起きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回(HdZOoCNwWFo - 1280x720 - 22m54s).png|500px|フレームなし|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot;&amp;gt;[https://www.youtube.com/live/HdZOoCNwWFo?si=Vlx2jAk_FfwvHL66&amp;amp;t=1374 【Minecraft】参加型マイクラ最終回。常連さん、参加したことある方は、参加OK。 初期ワールド、現ワールド、そして次予定だったワールドを散歩します。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S1　シーズン1 === &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
シーズン1は、2023/08/26にスタートしました。&amp;lt;ref&amp;gt;[https://www.youtube.com/live/FtjWxLmzauM 【Minecraft】『統合版』マイクラ【シーズン１】]　2025年8月9日閲覧。&amp;lt;/ref&amp;gt;前シーズンのワールドがエンドへ行けないバグがあるため新しくするために始まりました&amp;lt;br&amp;gt;&lt;br /&gt;
S0より少し参加者減っているシーズンでした&amp;lt;br&amp;gt;&lt;br /&gt;
経験値トラップや無限マグマなどの施設がありました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回。syu1280x720 - 39m04s).png| フレームなし]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 === &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
マイクラ参加者が少なく、初見さんが入りにくいことで継続が厳しいためマイクラの参加型を一時的に辞めることになりました&lt;br /&gt;
&lt;br /&gt;
=== S3　シーズン3 === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型&lt;br /&gt;
シーズン3は2024/06/16&amp;lt;ref&amp;gt;[https://www.youtube.com/live/zbtIzYiPZJY?si=jS7pZX42qmO92Obi 【Minecraft】久々にマイクラ。新ワールドで開始。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2024/08/11&amp;lt;ref&amp;gt;[https://www.youtube.com/live/yWjlSe-Wmbk?si=xtd89A0CFh2nNGRI 『日曜朝9時～11時はTwitch限定』マイクラ！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月11日閲覧&amp;lt;/ref&amp;gt;に参加者が1～3人しか来なくなり必ず来る方がネコっちさん、LAIA(へびたろ)さんだけになり&amp;lt;!--本当に終わってる--&amp;gt;話し合いの結果APEX配信になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:Sukuriin2024-08-11.png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1822458463722856913&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S4　シーズン4 ===&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型 シーズン3は2025/08/09&amp;lt;ref name=&amp;quot;r19&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=YkpbRF_Oi3o 【統合版マイクラ】クソ高難易度シードでエンドラ倒しに行こうぜ『第1回：Part.1』【Minecraft】]2025年8月9日閲覧。&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
とりあえずRealmsで様子見で開始&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(YkpbRF Oi3o-1317x741-52m47s).png|フレームなし||500px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;リスポーン地点&amp;lt;ref name=&amp;quot;r19&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S5　シーズン5 ===&lt;br /&gt;
ワールドを新しくしRealmsで引き続き開始&lt;br /&gt;
[[ファイル:S5スクリーンショット.jpg|フレームなし||500px|]]&lt;br /&gt;
&lt;br /&gt;
== その他 == &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
=== 年越し配信 === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日  || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/12/31 にライブ配信 || 雑談しながら年越し || https://www.youtube.com/live/Xanb7Y8-QFo?si=nH2CijGv4GYj_xgZ&lt;br /&gt;
|-&lt;br /&gt;
| 2024/12/31 || 雑談しながら振り返り年越し || https://www.youtube.com/live/RFBSt-TCzuQ?si=JWZXFyno1XdYL2P_&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--概要欄_2024/12/31-1/1.txt--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 会話用コメント欄 === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;i8AyH5pdVDY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚注 == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
=== 注釈 === &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;references group=&amp;quot;注釈&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 出典 === &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部リンク == &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/@TAI_APEX YouTube|TAIchannel] &amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/TAIchannel_APEX X（旧Twitter）|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/WingmanPrime X（旧Twitter）|TAIchannelの休日]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.twitch.tv/taichannel_apex Twitch|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://wingmanprime.blogspot.com/ TAIchannelBlog|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/live/i8AyH5pdVDY?si=ndSBlShafE4FUuCj 会話用コメント欄|TAIchanne]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/SAIchan_nel X（旧Twitter)|SAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://suzuri.jp/SAIchannel/products 公式グッズ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 関連リンク === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
* [https://taichannel.web.fc2.com/index.html 非公式サイト]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://dic.pixiv.net/a/TAIchannel Pixiv大百科 &amp;quot;TAIchannel&amp;quot; ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;metadesc&amp;gt;TAIchanel（たいちゃんねる、 - ）は、日本のYouTuber、ストリーマーである。&amp;lt;br&amp;gt; 主にYouTubeでゲーム配信活動を行っており、&amp;lt;br&amp;gt;Twitchでも活動をしている。&amp;lt;/metadesc&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2386</id>
		<title>TAIchannel</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2386"/>
		<updated>2025-09-12T12:18:40Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{Infobox 人物&lt;br /&gt;
|ふりがな=たいちゃんねる&lt;br /&gt;
|image = TAIchannel.jpg&lt;br /&gt;
|画像サイズ = 100px&lt;br /&gt;
|名前=TAIchannel&lt;br /&gt;
|生年月日={{生年月日と年齢|2022|7|1}}&lt;br /&gt;
|職業=[[Special:MyLanguage/YouTuber|YouTuber]]、[[Special:MyLanguage/実況プレイ|ストリーマー]]&lt;br /&gt;
|活動期間=[[Special:MyLanguage/2022年|2022年]]&lt;br /&gt;
|国籍={{JPN}}&lt;br /&gt;
|公式サイト = [https://wingmanprime.blogspot.com　TAIchannelBlog]&lt;br /&gt;
|現況=活動中&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
{{Infobox YouTube personality&lt;br /&gt;
| name = TAIchannel&lt;br /&gt;
| views = 3,530,804 回&lt;br /&gt;
| channel_direct_url = @TAI_APEX&lt;br /&gt;
| years_active = [[Special:MyLanguage/2022年|2022年]][[Special:MyLanguage/7月1日|7月1日]]&lt;br /&gt;
| genre = ゲーム実況&lt;br /&gt;
| subscribers = 6790人&lt;br /&gt;
| stats_update = {{dts|2025-9-12}}&lt;br /&gt;
| channel_display_name = TAIchannel&lt;br /&gt;
| gold_button = no&lt;br /&gt;
| silver_button = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
{{Infobox Twitch streamer&lt;br /&gt;
|name=TAIchannel_APEX&lt;br /&gt;
|logo_caption=&lt;br /&gt;
|channel_display_name=TAIchannel_APEX&lt;br /&gt;
|years_active=&lt;br /&gt;
|genre=ゲーム実況|games=&lt;br /&gt;
|teams=|followers=269人&lt;br /&gt;
|follower_date=&lt;br /&gt;
|views=&lt;br /&gt;
|view_date=&lt;br /&gt;
|associated_acts=&lt;br /&gt;
|catchphrase(s)=&lt;br /&gt;
|stats_update={{dts|2025-7-1}}&lt;br /&gt;
|channel_name=TAIchannel_APEX&lt;br /&gt;
|channel_url=https://www.twitch.tv/taichannel_apex&lt;br /&gt;
|years active=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAIchannel&#039;&#039;&#039;（ふりがな:たいちゃんねる ）は日本のYouTuber、ストリーマーである。&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 活動 == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
主にYouTubeでゲーム配信活動を行っており、Twitchでも活動をしている。&amp;lt;br&amp;gt;&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております&lt;br /&gt;
&lt;br /&gt;
== 略歴 == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
2022年7月8日、YouTubeを初め、同年7月13日に初動画。&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;[https://www.youtube.com/@TAI_APEX 概要&amp;amp;説明欄]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022年11月14日、総再生時間4000時間越え&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月4日登録者数1000人になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月13日：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023年9月18日、SUZURIにてグッズ販売。&amp;lt;br&amp;gt;&lt;br /&gt;
2024年4月7日：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024年6月26日：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月1日、TAIchannelの誕生日記念に専属絵師のSAIchannelさんからlive2Ⅾをプレゼントせれ、Vtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月31日、APEXでローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：Civ:Aとコラボ&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月28日：登録者4000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年3月26日：登録者5000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年4月27日：汎用ガラスソールを提供、レビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2025年5月29日：登録者6000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 人物 == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
教員免許を持っているほど頭が良く、トークの時は膨大なボキャブラリーを駆使して皆を笑いの渦へと巻きこんでいきます。&lt;br /&gt;
またTAIさんの声は皆を魅了し続け、現在でも古参勢がたくさん視聴している&amp;lt;ref&amp;gt;TAIchannel非公式サイトより引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://taichannel.web.fc2.com/index.html&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
配信開始時のあいさつなどは決まっていない。&lt;br /&gt;
彼の声は多くのリスナーを虜にしてきており、配信トークには一目置くものがある。&lt;br /&gt;
コメントをすれば大概対応をしてくれる心優しい配信者である。&lt;br /&gt;
両親、祖父母は超がつくほどお金持ちらしい。(本人談) 余談ではあるが、子供のころに高級寿司屋によく通っていたそう。&lt;br /&gt;
スマホの容量は16GB。&amp;lt;ref&amp;gt;Pixiv大百科 &amp;quot;TAIchannel&amp;quot; より引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://dic.pixiv.net/a/TAIchannel#h2_0&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
メインアカウントのツイートをサブ垢でリポストして、サブアカウントのアイコン可愛くて、メインアカウントでいいねを押しまくる2重人格プレイしてるそうです。&amp;lt;ref&amp;gt;TAIchannelの休日より引用&amp;lt;br&amp;gt;https://twitter.com/WingmanPrime/status/1762330650752045111?s=19&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannel配信の歴史 == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
2022/07/08：チャンネル作成&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/12: Xアカント開設&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/13：初動画&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/15:初の１人撮影動画を投稿&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/20 ～ 2022/08/29：雑談配信 in 訓練場&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/30 ～ 2023/02/14：参加型アリーナ（ウィングマン縛り）&amp;lt;ref group=&amp;quot;注釈&amp;quot;&amp;gt;アリーナはシーズン16で削除されてます&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022/11/14:総再生時間4000時間越え&amp;lt;br&amp;gt;&lt;br /&gt;
2023/02/15 ～ 2023/10/31：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/04：登録者1000人&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/13：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023/11/01 ～ 2024/05/04：参加型バトロワ（ピストル縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/04/07：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024/05/04 ～ 2024/09/13：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/06/26：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/07/01：TAIchannelの誕生日記念にVtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024/08/31：ローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/09/14 ～ 2024/10/25：APEX2時間、Valo 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/10/26 ～ 2024/11/17：APEX2時間、CoD 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/11/18 ～ ：APEX2時間&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26 ： 祝・同時同接数100人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/02：登録者4000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/26：登録者5000人&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== キャラクター == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ういちゃん === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
[[ファイル:uityann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式マスコットキャラクターの一人。でっかいはんぺんみたいな生き物で体に猫耳のようなものが頭についています。&lt;br /&gt;
擬人化するとショートショートボブの超絶美少女の元気な女の子になります。&lt;br /&gt;
ちなみにチャンネルアイコンのキャラはういちゃんの方です。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== いうちゃん === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
[[ファイル:iutyann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式キャラクターです。&lt;br /&gt;
はんぺんのような体に猫耳のようなものが頭についているキャラクターで、ういちゃんより小さい体が特徴です。&lt;br /&gt;
人になる魔法をかけると、ロングヘアのダウナーな女の子に変身します。口がへの字の美少女。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== レイちゃん === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
TAIchannelの公式キャラクターです。&lt;br /&gt;
レイちゃんはTAIchannelのメンバーシップで使えるようになるスタンプでTAIchannel公式絵師のSAIchannelさんが描いております&lt;br /&gt;
幽霊の姿をしていて頭に猫耳のようなものと天使の輪っかがあります&amp;lt;sub&amp;gt;※いつの間に擬人化してた&lt;br /&gt;
[[ファイル:レイちゃん初登場サムネ.jpg|94px|]]&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/V8QqcfNIrcg?si=TpBl-VZ5ozsHg98Y 【APEX】S19ピストル縛り『225時間目』「今日のサムネは、なんと！れいちゃん！？」&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2024年10月14日閲覧&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== コラボ === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日 || コラボ相手 || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/11/18  || りゅんさん：http://www.youtube.com/@RYUN_Usagi&amp;lt;br&amp;gt;きのこさん：https://www.youtube.com/channel/UCqJiTfO-azLO84DhPuM-VGw || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/I1G8Rv4OXxE?si=yqD59i5Z3ds1POwP&amp;lt;ref&amp;gt;[https://www.youtube.com/live/I1G8Rv4OXxE 430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2022/12/09 || 白猫さん：http://www.youtube.com/@sironekoneko_YT&amp;lt;br&amp;gt;パンダさん：http://www.youtube.com/@sunaipasuki_panda || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L&amp;lt;ref&amp;gt;[https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L 【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2025/02/26 || Civ:Aさん：&amp;lt;br&amp;gt;https://www.youtube.com/@civaCh ||ウィングマンを使ってタイマンして、真のウィングマン使いを決める || YouTube：&amp;lt;br&amp;gt;【ライバル？】おいなんか俺よりもウィングマンを使ってる奴がいるらしいから、タイマンでどっちが真のWM使いかをハッキリさせてきた-Apex Legends- https://www.youtube.com/watch?v=bKm1bhwEiFs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== センシ、デバイス、スキン&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt; == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== APEX感度設定 === &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
DPI：600&amp;lt;br&amp;gt;&lt;br /&gt;
ゲーム内感度：3.0&amp;lt;br&amp;gt;&lt;br /&gt;
感度（エイム時）：1.2&amp;lt;br&amp;gt;&lt;br /&gt;
視野角：110&amp;lt;br&amp;gt;&lt;br /&gt;
振り向き：11.55cm&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== デバイス === &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
メモリ：32GB&amp;lt;br&amp;gt;&lt;br /&gt;
GPU：NVIDIA GeForce RTX 4070SUPE&amp;lt;br&amp;gt;&lt;br /&gt;
CPU：Intel(R) Core(TM) i7-12700&amp;lt;br&amp;gt;&lt;br /&gt;
マウス：Razer Viper V2 Pro&amp;lt;br&amp;gt;&lt;br /&gt;
キーボード：REALFORCE R2TLSA-JP3-BK&amp;lt;br&amp;gt;&lt;br /&gt;
マイク：Kungber コンデンサーマイク（B0816DTW1M）&amp;lt;br&amp;gt;&lt;br /&gt;
イヤホン：final E500&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== スキン === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
ローバスキン：ライカンハンター（がのさんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
ダイブ起動：ローバプレステージスキン付属（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
スパレジェ：カタール（自身で購入）&amp;lt;br&amp;gt;&lt;br /&gt;
ウィングマン：アイアンドロー（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{#fab:youtube}}YouTube == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Special:MyLanguage/メンバーシップ|メンバーシップ]] === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
メンバー累計日数によりダイヤやプレデターなどのバッジが表示されます&amp;lt;br&amp;gt;&lt;br /&gt;
メンバーシップは「世界一安いメンバーシップ」月￥90円です&lt;br /&gt;
メンバーバッチ、スタンプ、メンバー限定の動画があります&amp;lt;br&amp;gt;&lt;br /&gt;
よくメンバーシップを配ってくださってる方がいます&lt;br /&gt;
&lt;br /&gt;
==== コメントとチャットでユーザー名の横に表示するメンバー用バッジ ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || 最初&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || １２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || ２４ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| マスター || ３６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プレデター || ４８ヶ月目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== スタンプ ===== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
スタンプは２１種類です&lt;br /&gt;
&lt;br /&gt;
== {{#fab:twitch}}Twitch == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* YouTubeでやらないような配信をやります&lt;br /&gt;
* 10分毎に30秒の広告を設定しています&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.twitch.tv/taichannel_apex/about TAIchannel_APEXさんについて]2024年8月2日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== サブスクライブ === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ３ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || ９ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || １年目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TAIchannelのイラスト == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
TAIさんへのファンアートはXで「&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;#TAIさんに届け&amp;lt;/span&amp;gt;」ポストをするとTAIさんが見たりしてくれます&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1901656993699643458&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAIchannelさん === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
[[ファイル:Saiicon.jpg|200px|サムネイル|右|SAIchan_nelのアイコン&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://x.com/SAIchan_nel/photo SAIchan_nelアイコン] 2024年6月4日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
[[SAIchannel]]さんはTAIchannelの専属絵師さんでイラスト･デザイン担当です&amp;lt;br&amp;gt;&lt;br /&gt;
主にういちゃん[https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%86%E3%81%84%E3%81%A1%E3%82%83%E3%82%93 *]、いうちゃん [https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%84%E3%81%86%E3%81%A1%E3%82%83%E3%82%93 *] の擬人化イラストやTAIchannelのサムネのイラストやLINEのスタンプを描いたり&amp;lt;br&amp;gt;&lt;br /&gt;
TAIchannelのグッズをSuzuriを販売しています。&lt;br /&gt;
XではTAIchannelのファンアート100日チャレンジやっており2023年12月31日に完走しています&lt;br /&gt;
今は長めのお休みをとっています&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
ファイル:Uityanngizinnka.jpg|サムネイル|ういちゃん擬人化バージョン&lt;br /&gt;
ファイル:Iutyanngizinnka.jpg|サムネイル|いうちゃん擬人化バージョン&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;ref name=&amp;quot;a&amp;quot;&amp;gt;[https://x.com/SAIchan_nel/status/1705923058517840146 ういちゃん擬人化バージョン][https://x.com/SAIchan_nel/status/1705538424458129729 いうちゃん擬人化バージョン]  2024年6月3日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの休日 == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
TAIchannelのX（旧Twitter）のサブアカウントです&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@WingmanPrime&amp;lt;/span&amp;gt;では&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@TAIchannel_APEX&lt;br /&gt;
&amp;lt;/span&amp;gt;のツイート見て笑って、リポストしたりたまにつぶやいてます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&lt;br /&gt;
&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;600&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの名言 == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
TAIchannelの配信内で視聴者や突撃してきた方が言った言葉です&lt;br /&gt;
&lt;br /&gt;
=== のじ吸い === &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
のじさんを猫吸いのようにすること&lt;br /&gt;
のじ吸いは吸うと精神安定試験対策、ご利益や無病息災等の9999億の効果があります&lt;br /&gt;
&lt;br /&gt;
=== これでチートじゃないって上手すぎだろ笑笑笑笑笑笑笑笑 === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
これでチートじゃないって上手すぎだろ笑笑笑笑笑笑は動画の切り抜きでやってきたへびたろってやつが言ってました。チート疑ってましたが最後はおもんなかったのでタイムアウトしました。笑は絶対偶数で揃えてました&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;派生&#039;&#039;&#039;&lt;br /&gt;
* これでコンバーターじゃないって上手すぎだろ笑笑笑笑笑笑&lt;br /&gt;
&lt;br /&gt;
=== DV === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
ある[[モデレーター]]が、あるリスナーに対してよくしています。&amp;lt;br&amp;gt;&lt;br /&gt;
たまにそのモデレーターがDVされた際には後に説明する「殺すなよ」の派生「KO RO SU NA YO」がコメント欄に流れてきます。&amp;lt;br&amp;gt;&lt;br /&gt;
APEX配信中にあまりにも強い人が無双状態になっている場合、また何度も同じプレーヤーからキルされた場合に「もうDVやん」、「この人DVしてくるのだが」といった感じで使われることがあります。&lt;br /&gt;
&lt;br /&gt;
=== でわまたの～ === &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
配信終わりの挨拶の言葉です&lt;br /&gt;
&lt;br /&gt;
=== うよい食う === &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
TAIさんの言い間違いです&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;うよい食う派生系&#039;&#039;&#039;&lt;br /&gt;
* TAI食う&lt;br /&gt;
&lt;br /&gt;
=== ほんまシバくぞw === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
感情が高ぶった際に放たれるありがたいお言葉です。&lt;br /&gt;
&lt;br /&gt;
=== ここから始まる俺のAPEX生活 === &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
APEX内にウィングマンというピストルの武器があります&lt;br /&gt;
それをゲットした時に言っている台詞&lt;br /&gt;
&lt;br /&gt;
=== 殺すなよ === &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Tようが配信中にチャット欄で「殺すなよ」と言いすぐにに[[モデレーター]]に削除されました&lt;br /&gt;
APEXのマッチでTAIさんに倒されて配信のチャットへ文句言い来たと思われる&lt;br /&gt;
その後謎のコメントしたりTAIchannelのDiscordサーバーで暴言を吐きましたが[[モデレーター]]に見つかりすぐに削除されました&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/OXlh9ctVzhU?si=u83E269UWCP5mWQ1&amp;amp;t=8246 【APEX】S19ピストル縛り『51時間目』【ローバピストルキル数PC世界10位】]2024年8月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== noziさん謝ってください&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※不完全&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
スシラプトルくんが参加型カスタムで「PCの人にジャイロで勝てる、switchにはジャイロがあるからPCとも戦える」的なニュアンス、&amp;lt;br&amp;gt;&lt;br /&gt;
言った言葉を違うんじゃないかと突っつかれ否定されている&lt;br /&gt;
自分が言った意と違う意で伝わっているから訂正させてくださいって言った後に&amp;lt;br&amp;gt;&lt;br /&gt;
訂正したらあなたが言っているのが間違っているんだから謝ってくださいと言い出した&lt;br /&gt;
PCプレーヤーが若干ピキル(イラつかせる)ことがことが起きたが&amp;lt;br&amp;gt;&lt;br /&gt;
みんな2000ダメ1000ダメを出す時に3桁ダメ出しており3桁ダメの人がPCと戦えるって言っているのはちょっとどうなんだとなり議論になった&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/mQE_P6THzl0?si=E9YEMDWzjOT3c_Z5&amp;amp;t=7692 【APEX】グレなしウィングマン一本縛り『1992時間目』][https://www.youtube.com/live/ViZhASwXXKw?si=y6O1J6u5SN6iY3gT&amp;amp;t=8865 【APEX】グレなしウィングマン一本縛り『2126時間目』]  2024年8月8日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APEX以外の参加型 == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* マイクラ&lt;br /&gt;
* 原神&lt;br /&gt;
* OW2&lt;br /&gt;
* パルワールド&lt;br /&gt;
* Valorant&lt;br /&gt;
* Phasmophobia&lt;br /&gt;
* CS2&lt;br /&gt;
* フォートナイト&lt;br /&gt;
* Warframe&lt;br /&gt;
* Hand Simulator&lt;br /&gt;
&lt;br /&gt;
=== Valorant === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
第一回目は&#039;&#039;&#039;2024/03/18&#039;&#039;&#039;に配信されました。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2024/09/24&#039;&#039;&#039;からTwitchで毎日21時～22時参加型Valorantしています&lt;br /&gt;
&lt;br /&gt;
== マイクラ == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
マイクラ参加型配信再生リスト&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtube.com/playlist?list=PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;amp;si=GM1HGfMT75oIas7I 再生リスト]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S0　シーズン0 === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
シーズン0は&#039;&#039;&#039;2023/01/21&#039;&#039;&#039;にスタート&amp;lt;ref name=&amp;quot;mcS0#1&amp;quot;&amp;gt;&lt;br /&gt;
[https://www.youtube.com/live/w8FZ2kWN4mI?si=2gv_uZ4h2tbSLVL7 【Minecraft】『参加型』統合版のマイクラで街を発展させていく！【Part. 1】&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;Part.(パート)65まで続きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(PA4f-Vx435U - 1280x720 - 1h52m36s).png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;シーズン0終了時の町の状態&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/PA4f-Vx435U?si=xkKJX5vMIBl79a5g&amp;amp;t=6755 【Minecraft】『参加型』雑談配信！ワールドへは、主からの招待か、参加者さんの紹介で参加OKです！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
共有倉庫や火薬トラップや経験値トラップなどの施設や地上絵、&amp;lt;br&amp;gt;&lt;br /&gt;
などがありエンドラ攻略も終わってました&amp;lt;br&amp;gt;&lt;br /&gt;
2023/08/20にエンドへ行けないバグが起きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回(HdZOoCNwWFo - 1280x720 - 22m54s).png|500px|フレームなし|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot;&amp;gt;[https://www.youtube.com/live/HdZOoCNwWFo?si=Vlx2jAk_FfwvHL66&amp;amp;t=1374 【Minecraft】参加型マイクラ最終回。常連さん、参加したことある方は、参加OK。 初期ワールド、現ワールド、そして次予定だったワールドを散歩します。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S1　シーズン1 === &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
シーズン1は、2023/08/26にスタートしました。&amp;lt;ref&amp;gt;[https://www.youtube.com/live/FtjWxLmzauM 【Minecraft】『統合版』マイクラ【シーズン１】]　2025年8月9日閲覧。&amp;lt;/ref&amp;gt;前シーズンのワールドがエンドへ行けないバグがあるため新しくするために始まりました&amp;lt;br&amp;gt;&lt;br /&gt;
S0より少し参加者減っているシーズンでした&amp;lt;br&amp;gt;&lt;br /&gt;
経験値トラップや無限マグマなどの施設がありました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回。syu1280x720 - 39m04s).png| フレームなし]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 === &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
マイクラ参加者が少なく、初見さんが入りにくいことで継続が厳しいためマイクラの参加型を一時的に辞めることになりました&lt;br /&gt;
&lt;br /&gt;
=== S3　シーズン3 === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型&lt;br /&gt;
シーズン3は2024/06/16&amp;lt;ref&amp;gt;[https://www.youtube.com/live/zbtIzYiPZJY?si=jS7pZX42qmO92Obi 【Minecraft】久々にマイクラ。新ワールドで開始。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2024/08/11&amp;lt;ref&amp;gt;[https://www.youtube.com/live/yWjlSe-Wmbk?si=xtd89A0CFh2nNGRI 『日曜朝9時～11時はTwitch限定』マイクラ！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月11日閲覧&amp;lt;/ref&amp;gt;に参加者が1～3人しか来なくなり必ず来る方がネコっちさん、LAIA(へびたろ)さんだけになり&amp;lt;!--本当に終わってる--&amp;gt;話し合いの結果APEX配信になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:Sukuriin2024-08-11.png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1822458463722856913&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S4　シーズン4 ===&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型 シーズン3は2025/08/09&amp;lt;ref name=&amp;quot;r19&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=YkpbRF_Oi3o 【統合版マイクラ】クソ高難易度シードでエンドラ倒しに行こうぜ『第1回：Part.1』【Minecraft】]2025年8月9日閲覧。&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
とりあえずRealmsで様子見で開始&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(YkpbRF Oi3o-1317x741-52m47s).png|フレームなし||500px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;リスポーン地点&amp;lt;ref name=&amp;quot;r19&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S5　シーズン5 ===&lt;br /&gt;
ワールドを新しくしRealmsで引き続き開始&lt;br /&gt;
[[ファイル:S5スクリーンショット.jpg|フレームなし||500px|]]&lt;br /&gt;
&lt;br /&gt;
== その他 == &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
=== 年越し配信 === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日  || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/12/31 にライブ配信 || 雑談しながら年越し || https://www.youtube.com/live/Xanb7Y8-QFo?si=nH2CijGv4GYj_xgZ&lt;br /&gt;
|-&lt;br /&gt;
| 2024/12/31 || 雑談しながら振り返り年越し || https://www.youtube.com/live/RFBSt-TCzuQ?si=JWZXFyno1XdYL2P_&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--概要欄_2024/12/31-1/1.txt--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 会話用コメント欄 === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;i8AyH5pdVDY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚注 == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
=== 注釈 === &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;references group=&amp;quot;注釈&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 出典 === &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部リンク == &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/@TAI_APEX YouTube|TAIchannel] &amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/TAIchannel_APEX X（旧Twitter）|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/WingmanPrime X（旧Twitter）|TAIchannelの休日]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.twitch.tv/taichannel_apex Twitch|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://wingmanprime.blogspot.com/ TAIchannelBlog|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/live/i8AyH5pdVDY?si=ndSBlShafE4FUuCj 会話用コメント欄|TAIchanne]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/SAIchan_nel X（旧Twitter)|SAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://suzuri.jp/SAIchannel/products 公式グッズ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 関連リンク === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
* [https://taichannel.web.fc2.com/index.html 非公式サイト]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://dic.pixiv.net/a/TAIchannel Pixiv大百科 &amp;quot;TAIchannel&amp;quot; ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;metadesc&amp;gt;TAIchanel（たいちゃんねる、 - ）は、日本のYouTuber、ストリーマーである。&amp;lt;br&amp;gt; 主にYouTubeでゲーム配信活動を行っており、&amp;lt;br&amp;gt;Twitchでも活動をしている。&amp;lt;/metadesc&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
	<entry>
		<id>https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2382</id>
		<title>TAIchannel</title>
		<link rel="alternate" type="text/html" href="https://taiwiki.nekoch18.net/index.php?title=TAIchannel&amp;diff=2382"/>
		<updated>2025-09-07T09:49:06Z</updated>

		<summary type="html">&lt;p&gt;Nekoch18: /* S5 シーズン5 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--T:1--&amp;gt;&lt;br /&gt;
{{Infobox 人物&lt;br /&gt;
|ふりがな=たいちゃんねる&lt;br /&gt;
|image = TAIchannel.jpg&lt;br /&gt;
|画像サイズ = 100px&lt;br /&gt;
|名前=TAIchannel&lt;br /&gt;
|生年月日={{生年月日と年齢|2022|7|1}}&lt;br /&gt;
|職業=[[Special:MyLanguage/YouTuber|YouTuber]]、[[Special:MyLanguage/実況プレイ|ストリーマー]]&lt;br /&gt;
|活動期間=[[Special:MyLanguage/2022年|2022年]]&lt;br /&gt;
|国籍={{JPN}}&lt;br /&gt;
|公式サイト = [https://wingmanprime.blogspot.com　TAIchannelBlog]&lt;br /&gt;
|現況=活動中&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:2--&amp;gt;&lt;br /&gt;
{{Infobox YouTube personality&lt;br /&gt;
| name = TAIchannel&lt;br /&gt;
| views = 3,144,015 回&lt;br /&gt;
| channel_direct_url = @TAI_APEX&lt;br /&gt;
| years_active = [[Special:MyLanguage/2022年|2022年]][[Special:MyLanguage/7月1日|7月1日]]&lt;br /&gt;
| genre = ゲーム実況&lt;br /&gt;
| subscribers = 6410人&lt;br /&gt;
| stats_update = {{dts|2025-7-23}}&lt;br /&gt;
| channel_display_name = TAIchannel&lt;br /&gt;
| gold_button = no&lt;br /&gt;
| silver_button = no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:3--&amp;gt;&lt;br /&gt;
{{Infobox Twitch streamer&lt;br /&gt;
|name=TAIchannel_APEX&lt;br /&gt;
|logo_caption=&lt;br /&gt;
|channel_display_name=TAIchannel_APEX&lt;br /&gt;
|years_active=&lt;br /&gt;
|genre=ゲーム実況|games=&lt;br /&gt;
|teams=|followers=260人&lt;br /&gt;
|follower_date=&lt;br /&gt;
|views=&lt;br /&gt;
|view_date=&lt;br /&gt;
|associated_acts=&lt;br /&gt;
|catchphrase(s)=&lt;br /&gt;
|stats_update={{dts|2025-7-1}}&lt;br /&gt;
|channel_name=TAIchannel_APEX&lt;br /&gt;
|channel_url=https://www.twitch.tv/taichannel_apex&lt;br /&gt;
|years active=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:4--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;TAIchannel&#039;&#039;&#039;（ふりがな:たいちゃんねる ）は日本のYouTuber、ストリーマーである。&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております。&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== 活動 == &amp;lt;!--T:5--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:6--&amp;gt;&lt;br /&gt;
主にYouTubeでゲーム配信活動を行っており、Twitchでも活動をしている。&amp;lt;br&amp;gt;&lt;br /&gt;
毎日、夜19時から21時までAPEX[[Special:MyLanguage/参加型|参加型]]配信をしております&lt;br /&gt;
&lt;br /&gt;
== 略歴 == &amp;lt;!--T:7--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:8--&amp;gt;&lt;br /&gt;
2022年7月8日、YouTubeを初め、同年7月13日に初動画。&amp;lt;ref name=&amp;quot;b&amp;quot;&amp;gt;[https://www.youtube.com/@TAI_APEX 概要&amp;amp;説明欄]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022年11月14日、総再生時間4000時間越え&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月4日登録者数1000人になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
2023年3月13日：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023年9月18日、SUZURIにてグッズ販売。&amp;lt;br&amp;gt;&lt;br /&gt;
2024年4月7日：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024年6月26日：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月1日、TAIchannelの誕生日記念に専属絵師のSAIchannelさんからlive2Ⅾをプレゼントせれ、Vtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月31日、APEXでローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：Civ:Aとコラボ&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月26日：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025年2月28日：登録者4000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年3月26日：登録者5000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
2025年4月27日：汎用ガラスソールを提供、レビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2025年5月29日：登録者6000人達成&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 人物 == &amp;lt;!--T:9--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:10--&amp;gt;&lt;br /&gt;
教員免許を持っているほど頭が良く、トークの時は膨大なボキャブラリーを駆使して皆を笑いの渦へと巻きこんでいきます。&lt;br /&gt;
またTAIさんの声は皆を魅了し続け、現在でも古参勢がたくさん視聴している&amp;lt;ref&amp;gt;TAIchannel非公式サイトより引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://taichannel.web.fc2.com/index.html&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
配信開始時のあいさつなどは決まっていない。&lt;br /&gt;
彼の声は多くのリスナーを虜にしてきており、配信トークには一目置くものがある。&lt;br /&gt;
コメントをすれば大概対応をしてくれる心優しい配信者である。&lt;br /&gt;
両親、祖父母は超がつくほどお金持ちらしい。(本人談) 余談ではあるが、子供のころに高級寿司屋によく通っていたそう。&lt;br /&gt;
スマホの容量は16GB。&amp;lt;ref&amp;gt;Pixiv大百科 &amp;quot;TAIchannel&amp;quot; より引用&amp;lt;br&amp;gt;&lt;br /&gt;
https://dic.pixiv.net/a/TAIchannel#h2_0&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
メインアカウントのツイートをサブ垢でリポストして、サブアカウントのアイコン可愛くて、メインアカウントでいいねを押しまくる2重人格プレイしてるそうです。&amp;lt;ref&amp;gt;TAIchannelの休日より引用&amp;lt;br&amp;gt;https://twitter.com/WingmanPrime/status/1762330650752045111?s=19&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannel配信の歴史 == &amp;lt;!--T:11--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:12--&amp;gt;&lt;br /&gt;
2022/07/08：チャンネル作成&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/12: Xアカント開設&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/13：初動画&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/15:初の１人撮影動画を投稿&amp;lt;br&amp;gt;&lt;br /&gt;
2022/07/20 ～ 2022/08/29：雑談配信 in 訓練場&amp;lt;br&amp;gt;&lt;br /&gt;
2022/08/30 ～ 2023/02/14：参加型アリーナ（ウィングマン縛り）&amp;lt;ref group=&amp;quot;注釈&amp;quot;&amp;gt;アリーナはシーズン16で削除されてます&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2022/11/14:総再生時間4000時間越え&amp;lt;br&amp;gt;&lt;br /&gt;
2023/02/15 ～ 2023/10/31：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/04：登録者1000人&amp;lt;br&amp;gt;&lt;br /&gt;
2023/03/13：ウィングマン縛り1000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2023/11/01 ～ 2024/05/04：参加型バトロワ（ピストル縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/04/07：登録者2000人&amp;lt;br&amp;gt;&lt;br /&gt;
2024/05/04 ～ 2024/09/13：参加型バトロワ（ウィングマン縛り）&amp;lt;br&amp;gt;&lt;br /&gt;
2024/06/26：ウィングマン縛り2000時間達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/07/01：TAIchannelの誕生日記念にVtuberデビュー&amp;lt;br&amp;gt;&lt;br /&gt;
2024/08/31：ローバ1万キル達成&amp;lt;br&amp;gt;&lt;br /&gt;
2024/09/14 ～ 2024/10/25：APEX2時間、Valo 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/10/26 ～ 2024/11/17：APEX2時間、CoD 1時間配信&amp;lt;br&amp;gt;&lt;br /&gt;
2024/11/18 ～ ：APEX2時間&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26 ： 祝・同時同接数100人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/02/26：登録者3000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/02：登録者4000人&amp;lt;br&amp;gt;&lt;br /&gt;
2025/03/26：登録者5000人&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== キャラクター == &amp;lt;!--T:13--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ういちゃん === &amp;lt;!--T:14--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:15--&amp;gt;&lt;br /&gt;
[[ファイル:uityann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式マスコットキャラクターの一人。でっかいはんぺんみたいな生き物で体に猫耳のようなものが頭についています。&lt;br /&gt;
擬人化するとショートショートボブの超絶美少女の元気な女の子になります。&lt;br /&gt;
ちなみにチャンネルアイコンのキャラはういちゃんの方です。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== いうちゃん === &amp;lt;!--T:16--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:17--&amp;gt;&lt;br /&gt;
[[ファイル:iutyann.png|100px|thumb|light|いうちゃん]]&lt;br /&gt;
TAI Channel公式キャラクターです。&lt;br /&gt;
はんぺんのような体に猫耳のようなものが頭についているキャラクターで、ういちゃんより小さい体が特徴です。&lt;br /&gt;
人になる魔法をかけると、ロングヘアのダウナーな女の子に変身します。口がへの字の美少女。&amp;lt;ref name=&amp;quot;a&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== レイちゃん === &amp;lt;!--T:18--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:19--&amp;gt;&lt;br /&gt;
TAIchannelの公式キャラクターです。&lt;br /&gt;
レイちゃんはTAIchannelのメンバーシップで使えるようになるスタンプでTAIchannel公式絵師のSAIchannelさんが描いております&lt;br /&gt;
幽霊の姿をしていて頭に猫耳のようなものと天使の輪っかがあります&amp;lt;sub&amp;gt;※いつの間に擬人化してた&lt;br /&gt;
[[ファイル:レイちゃん初登場サムネ.jpg|94px|]]&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/V8QqcfNIrcg?si=TpBl-VZ5ozsHg98Y 【APEX】S19ピストル縛り『225時間目』「今日のサムネは、なんと！れいちゃん！？」&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;]&amp;lt;/sup&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
2024年10月14日閲覧&amp;lt;/ref&amp;gt;&lt;br /&gt;
&amp;lt;/sub&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== コラボ === &amp;lt;!--T:20--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:21--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日 || コラボ相手 || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/11/18  || りゅんさん：http://www.youtube.com/@RYUN_Usagi&amp;lt;br&amp;gt;きのこさん：https://www.youtube.com/channel/UCqJiTfO-azLO84DhPuM-VGw || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/I1G8Rv4OXxE?si=yqD59i5Z3ds1POwP&amp;lt;ref&amp;gt;[https://www.youtube.com/live/I1G8Rv4OXxE 430時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2022/12/09 || 白猫さん：http://www.youtube.com/@sironekoneko_YT&amp;lt;br&amp;gt;パンダさん：http://www.youtube.com/@sunaipasuki_panda || 雑談しながらAPEXをする || YouTube:&amp;lt;br&amp;gt;【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L&amp;lt;ref&amp;gt;[https://www.youtube.com/live/pwkJYTa0aeY?si=fHCL9vOyw_lapV8L 【542時間目】グレなしウィングマン一本縛りでAPEX配信をする！【完全ウィング マン縛り】]2024年12月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|  2025/02/26 || Civ:Aさん：&amp;lt;br&amp;gt;https://www.youtube.com/@civaCh ||ウィングマンを使ってタイマンして、真のウィングマン使いを決める || YouTube：&amp;lt;br&amp;gt;【ライバル？】おいなんか俺よりもウィングマンを使ってる奴がいるらしいから、タイマンでどっちが真のWM使いかをハッキリさせてきた-Apex Legends- https://www.youtube.com/watch?v=bKm1bhwEiFs&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== センシ、デバイス、スキン&amp;lt;ref name=&amp;quot;b&amp;quot; /&amp;gt; == &amp;lt;!--T:22--&amp;gt;&lt;br /&gt;
=== APEX感度設定 === &amp;lt;!--T:23--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:24--&amp;gt;&lt;br /&gt;
DPI：600&amp;lt;br&amp;gt;&lt;br /&gt;
ゲーム内感度：3.0&amp;lt;br&amp;gt;&lt;br /&gt;
感度（エイム時）：1.2&amp;lt;br&amp;gt;&lt;br /&gt;
視野角：110&amp;lt;br&amp;gt;&lt;br /&gt;
振り向き：11.55cm&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== デバイス === &amp;lt;!--T:25--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:26--&amp;gt;&lt;br /&gt;
メモリ：32GB&amp;lt;br&amp;gt;&lt;br /&gt;
GPU：NVIDIA GeForce RTX 4070SUPE&amp;lt;br&amp;gt;&lt;br /&gt;
CPU：Intel(R) Core(TM) i7-12700&amp;lt;br&amp;gt;&lt;br /&gt;
マウス：Razer Viper V2 Pro&amp;lt;br&amp;gt;&lt;br /&gt;
キーボード：REALFORCE R2TLSA-JP3-BK&amp;lt;br&amp;gt;&lt;br /&gt;
マイク：Kungber コンデンサーマイク（B0816DTW1M）&amp;lt;br&amp;gt;&lt;br /&gt;
イヤホン：final E500&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== スキン === &amp;lt;!--T:27--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:28--&amp;gt;&lt;br /&gt;
ローバスキン：ライカンハンター（がのさんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
ダイブ起動：ローバプレステージスキン付属（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
スパレジェ：カタール（自身で購入）&amp;lt;br&amp;gt;&lt;br /&gt;
ウィングマン：アイアンドロー（線下さんギフト）&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== {{#fab:youtube}}YouTube == &amp;lt;!--T:29--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== [[Special:MyLanguage/メンバーシップ|メンバーシップ]] === &amp;lt;!--T:30--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:31--&amp;gt;&lt;br /&gt;
メンバー累計日数によりダイヤやプレデターなどのバッジが表示されます&amp;lt;br&amp;gt;&lt;br /&gt;
メンバーシップは「世界一安いメンバーシップ」月￥90円です&lt;br /&gt;
メンバーバッチ、スタンプ、メンバー限定の動画があります&amp;lt;br&amp;gt;&lt;br /&gt;
よくメンバーシップを配ってくださってる方がいます&lt;br /&gt;
&lt;br /&gt;
==== コメントとチャットでユーザー名の横に表示するメンバー用バッジ ==== &amp;lt;!--T:32--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:33--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || 最初&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || １２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || ２４ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| マスター || ３６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プレデター || ４８ヶ月目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===== スタンプ ===== &amp;lt;!--T:35--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:36--&amp;gt;&lt;br /&gt;
スタンプは２１種類です&lt;br /&gt;
&lt;br /&gt;
== {{#fab:twitch}}Twitch == &amp;lt;!--T:37--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:38--&amp;gt;&lt;br /&gt;
* YouTubeでやらないような配信をやります&lt;br /&gt;
* 10分毎に30秒の広告を設定しています&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.twitch.tv/taichannel_apex/about TAIchannel_APEXさんについて]2024年8月2日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== サブスクライブ === &amp;lt;!--T:39--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:40--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! バッチ !! 日数&lt;br /&gt;
|-&lt;br /&gt;
| ルーキー || １ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ブロンズ || ２ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| シルバー || ３ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ゴールド || ６ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| プラチナ || ９ヶ月目&lt;br /&gt;
|-&lt;br /&gt;
| ダイヤ || １年目&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== TAIchannelのイラスト == &amp;lt;!--T:41--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:42--&amp;gt;&lt;br /&gt;
TAIさんへのファンアートはXで「&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;#TAIさんに届け&amp;lt;/span&amp;gt;」ポストをするとTAIさんが見たりしてくれます&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1901656993699643458&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== SAIchannelさん === &amp;lt;!--T:43--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:44--&amp;gt;&lt;br /&gt;
[[ファイル:Saiicon.jpg|200px|サムネイル|右|SAIchan_nelのアイコン&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://x.com/SAIchan_nel/photo SAIchan_nelアイコン] 2024年6月4日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
]]&lt;br /&gt;
[[SAIchannel]]さんはTAIchannelの専属絵師さんでイラスト･デザイン担当です&amp;lt;br&amp;gt;&lt;br /&gt;
主にういちゃん[https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%86%E3%81%84%E3%81%A1%E3%82%83%E3%82%93 *]、いうちゃん [https://taiwiki.nekoch18.net/mediawiki/TAIchannel#%E3%81%84%E3%81%86%E3%81%A1%E3%82%83%E3%82%93 *] の擬人化イラストやTAIchannelのサムネのイラストやLINEのスタンプを描いたり&amp;lt;br&amp;gt;&lt;br /&gt;
TAIchannelのグッズをSuzuriを販売しています。&lt;br /&gt;
XではTAIchannelのファンアート100日チャレンジやっており2023年12月31日に完走しています&lt;br /&gt;
今は長めのお休みをとっています&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
ファイル:Uityanngizinnka.jpg|サムネイル|ういちゃん擬人化バージョン&lt;br /&gt;
ファイル:Iutyanngizinnka.jpg|サムネイル|いうちゃん擬人化バージョン&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&amp;lt;ref name=&amp;quot;a&amp;quot;&amp;gt;[https://x.com/SAIchan_nel/status/1705923058517840146 ういちゃん擬人化バージョン][https://x.com/SAIchan_nel/status/1705538424458129729 いうちゃん擬人化バージョン]  2024年6月3日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの休日 == &amp;lt;!--T:45--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:46--&amp;gt;&lt;br /&gt;
TAIchannelのX（旧Twitter）のサブアカウントです&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@WingmanPrime&amp;lt;/span&amp;gt;では&amp;lt;span style=&amp;quot;color:#1da1f2&amp;quot;&amp;gt;@TAIchannel_APEX&lt;br /&gt;
&amp;lt;/span&amp;gt;のツイート見て笑って、リポストしたりたまにつぶやいてます。&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&lt;br /&gt;
&amp;quot; width=&amp;quot;500&amp;quot; height=&amp;quot;600&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== TAIchannelの名言 == &amp;lt;!--T:47--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:48--&amp;gt;&lt;br /&gt;
TAIchannelの配信内で視聴者や突撃してきた方が言った言葉です&lt;br /&gt;
&lt;br /&gt;
=== のじ吸い === &amp;lt;!--T:49--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:50--&amp;gt;&lt;br /&gt;
のじさんを猫吸いのようにすること&lt;br /&gt;
のじ吸いは吸うと精神安定試験対策、ご利益や無病息災等の9999億の効果があります&lt;br /&gt;
&lt;br /&gt;
=== これでチートじゃないって上手すぎだろ笑笑笑笑笑笑笑笑 === &amp;lt;!--T:51--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:52--&amp;gt;&lt;br /&gt;
これでチートじゃないって上手すぎだろ笑笑笑笑笑笑は動画の切り抜きでやってきたへびたろってやつが言ってました。チート疑ってましたが最後はおもんなかったのでタイムアウトしました。笑は絶対偶数で揃えてました&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;派生&#039;&#039;&#039;&lt;br /&gt;
* これでコンバーターじゃないって上手すぎだろ笑笑笑笑笑笑&lt;br /&gt;
&lt;br /&gt;
=== DV === &amp;lt;!--T:53--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:54--&amp;gt;&lt;br /&gt;
ある[[モデレーター]]が、あるリスナーに対してよくしています。&amp;lt;br&amp;gt;&lt;br /&gt;
たまにそのモデレーターがDVされた際には後に説明する「殺すなよ」の派生「KO RO SU NA YO」がコメント欄に流れてきます。&amp;lt;br&amp;gt;&lt;br /&gt;
APEX配信中にあまりにも強い人が無双状態になっている場合、また何度も同じプレーヤーからキルされた場合に「もうDVやん」、「この人DVしてくるのだが」といった感じで使われることがあります。&lt;br /&gt;
&lt;br /&gt;
=== でわまたの～ === &amp;lt;!--T:55--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:56--&amp;gt;&lt;br /&gt;
配信終わりの挨拶の言葉です&lt;br /&gt;
&lt;br /&gt;
=== うよい食う === &amp;lt;!--T:57--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:58--&amp;gt;&lt;br /&gt;
TAIさんの言い間違いです&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;うよい食う派生系&#039;&#039;&#039;&lt;br /&gt;
* TAI食う&lt;br /&gt;
&lt;br /&gt;
=== ほんまシバくぞw === &amp;lt;!--T:59--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:60--&amp;gt;&lt;br /&gt;
感情が高ぶった際に放たれるありがたいお言葉です。&lt;br /&gt;
&lt;br /&gt;
=== ここから始まる俺のAPEX生活 === &amp;lt;!--T:61--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:62--&amp;gt;&lt;br /&gt;
APEX内にウィングマンというピストルの武器があります&lt;br /&gt;
それをゲットした時に言っている台詞&lt;br /&gt;
&lt;br /&gt;
=== 殺すなよ === &amp;lt;!--T:63--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:64--&amp;gt;&lt;br /&gt;
Tようが配信中にチャット欄で「殺すなよ」と言いすぐにに[[モデレーター]]に削除されました&lt;br /&gt;
APEXのマッチでTAIさんに倒されて配信のチャットへ文句言い来たと思われる&lt;br /&gt;
その後謎のコメントしたりTAIchannelのDiscordサーバーで暴言を吐きましたが[[モデレーター]]に見つかりすぐに削除されました&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/OXlh9ctVzhU?si=u83E269UWCP5mWQ1&amp;amp;t=8246 【APEX】S19ピストル縛り『51時間目』【ローバピストルキル数PC世界10位】]2024年8月24日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== noziさん謝ってください&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※不完全&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt; === &amp;lt;!--T:65--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:67--&amp;gt;&lt;br /&gt;
スシラプトルくんが参加型カスタムで「PCの人にジャイロで勝てる、switchにはジャイロがあるからPCとも戦える」的なニュアンス、&amp;lt;br&amp;gt;&lt;br /&gt;
言った言葉を違うんじゃないかと突っつかれ否定されている&lt;br /&gt;
自分が言った意と違う意で伝わっているから訂正させてくださいって言った後に&amp;lt;br&amp;gt;&lt;br /&gt;
訂正したらあなたが言っているのが間違っているんだから謝ってくださいと言い出した&lt;br /&gt;
PCプレーヤーが若干ピキル(イラつかせる)ことがことが起きたが&amp;lt;br&amp;gt;&lt;br /&gt;
みんな2000ダメ1000ダメを出す時に3桁ダメ出しており3桁ダメの人がPCと戦えるって言っているのはちょっとどうなんだとなり議論になった&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/mQE_P6THzl0?si=E9YEMDWzjOT3c_Z5&amp;amp;t=7692 【APEX】グレなしウィングマン一本縛り『1992時間目』][https://www.youtube.com/live/ViZhASwXXKw?si=y6O1J6u5SN6iY3gT&amp;amp;t=8865 【APEX】グレなしウィングマン一本縛り『2126時間目』]  2024年8月8日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== APEX以外の参加型 == &amp;lt;!--T:68--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:69--&amp;gt;&lt;br /&gt;
* マイクラ&lt;br /&gt;
* 原神&lt;br /&gt;
* OW2&lt;br /&gt;
* パルワールド&lt;br /&gt;
* Valorant&lt;br /&gt;
* Phasmophobia&lt;br /&gt;
* CS2&lt;br /&gt;
* フォートナイト&lt;br /&gt;
* Warframe&lt;br /&gt;
* Hand Simulator&lt;br /&gt;
&lt;br /&gt;
=== Valorant === &amp;lt;!--T:70--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:71--&amp;gt;&lt;br /&gt;
第一回目は&#039;&#039;&#039;2024/03/18&#039;&#039;&#039;に配信されました。&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;2024/09/24&#039;&#039;&#039;からTwitchで毎日21時～22時参加型Valorantしています&lt;br /&gt;
&lt;br /&gt;
== マイクラ == &amp;lt;!--T:72--&amp;gt;&lt;br /&gt;
マイクラ参加型配信再生リスト&amp;lt;br&amp;gt;&lt;br /&gt;
[https://youtube.com/playlist?list=PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;amp;si=GM1HGfMT75oIas7I 再生リスト]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;PLfqkK1oSKCzTzKtdjrdAtIyZKonSJMuYR&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S0　シーズン0 === &amp;lt;!--T:73--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:74--&amp;gt;&lt;br /&gt;
シーズン0は&#039;&#039;&#039;2023/01/21&#039;&#039;&#039;にスタート&amp;lt;ref name=&amp;quot;mcS0#1&amp;quot;&amp;gt;&lt;br /&gt;
[https://www.youtube.com/live/w8FZ2kWN4mI?si=2gv_uZ4h2tbSLVL7 【Minecraft】『参加型』統合版のマイクラで街を発展させていく！【Part. 1】&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;] &amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;Part.(パート)65まで続きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(PA4f-Vx435U - 1280x720 - 1h52m36s).png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;シーズン0終了時の町の状態&lt;br /&gt;
&amp;lt;ref&amp;gt;[https://www.youtube.com/live/PA4f-Vx435U?si=xkKJX5vMIBl79a5g&amp;amp;t=6755 【Minecraft】『参加型』雑談配信！ワールドへは、主からの招待か、参加者さんの紹介で参加OKです！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
共有倉庫や火薬トラップや経験値トラップなどの施設や地上絵、&amp;lt;br&amp;gt;&lt;br /&gt;
などがありエンドラ攻略も終わってました&amp;lt;br&amp;gt;&lt;br /&gt;
2023/08/20にエンドへ行けないバグが起きました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回(HdZOoCNwWFo - 1280x720 - 22m54s).png|500px|フレームなし|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot;&amp;gt;[https://www.youtube.com/live/HdZOoCNwWFo?si=Vlx2jAk_FfwvHL66&amp;amp;t=1374 【Minecraft】参加型マイクラ最終回。常連さん、参加したことある方は、参加OK。 初期ワールド、現ワールド、そして次予定だったワールドを散歩します。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧。&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S1　シーズン1 === &amp;lt;!--T:75--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:76--&amp;gt;&lt;br /&gt;
シーズン1は、2023/08/26にスタートしました。&amp;lt;ref&amp;gt;[https://www.youtube.com/live/FtjWxLmzauM 【Minecraft】『統合版』マイクラ【シーズン１】]　2025年8月9日閲覧。&amp;lt;/ref&amp;gt;前シーズンのワールドがエンドへ行けないバグがあるため新しくするために始まりました&amp;lt;br&amp;gt;&lt;br /&gt;
S0より少し参加者減っているシーズンでした&amp;lt;br&amp;gt;&lt;br /&gt;
経験値トラップや無限マグマなどの施設がありました&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:【Minecraft】参加型マイクラ最終回。syu1280x720 - 39m04s).png| フレームなし]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;ref name=&amp;quot;aa&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S2　シーズン2 === &amp;lt;!--T:77--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:78--&amp;gt;&lt;br /&gt;
マイクラ参加者が少なく、初見さんが入りにくいことで継続が厳しいためマイクラの参加型を一時的に辞めることになりました&lt;br /&gt;
&lt;br /&gt;
=== S3　シーズン3 === &amp;lt;!--T:79--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:80--&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型&lt;br /&gt;
シーズン3は2024/06/16&amp;lt;ref&amp;gt;[https://www.youtube.com/live/zbtIzYiPZJY?si=jS7pZX42qmO92Obi 【Minecraft】久々にマイクラ。新ワールドで開始。&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年7月7日閲覧&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2024/08/11&amp;lt;ref&amp;gt;[https://www.youtube.com/live/yWjlSe-Wmbk?si=xtd89A0CFh2nNGRI 『日曜朝9時～11時はTwitch限定』マイクラ！&amp;lt;sup&amp;gt;&amp;lt;span style=&amp;quot;color:#ff0000&amp;quot;&amp;gt;&#039;&#039;&#039;※メンバーシップ&#039;&#039;&#039;&amp;lt;/span&amp;gt;&amp;lt;/sup&amp;gt;]&amp;lt;br&amp;gt;&lt;br /&gt;
2024年8月11日閲覧&amp;lt;/ref&amp;gt;に参加者が1～3人しか来なくなり必ず来る方がネコっちさん、LAIA(へびたろ)さんだけになり&amp;lt;!--本当に終わってる--&amp;gt;話し合いの結果APEX配信になりました。&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:Sukuriin2024-08-11.png|フレームなし||500px|]]&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
‎&amp;lt;twitter screen-name=&amp;quot;WingmanPrime&amp;quot; tweet-id=&amp;quot;1822458463722856913&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S4　シーズン4 ===&lt;br /&gt;
&#039;&#039;&#039;久しぶりマイクラ参加型 シーズン3は2025/08/09&amp;lt;ref name=&amp;quot;r19&amp;quot;&amp;gt;[https://www.youtube.com/watch?v=YkpbRF_Oi3o 【統合版マイクラ】クソ高難易度シードでエンドラ倒しに行こうぜ『第1回：Part.1』【Minecraft】]2025年8月9日閲覧。&amp;lt;/ref&amp;gt;にスタート！！&#039;&#039;&#039;&amp;lt;br&amp;gt;&lt;br /&gt;
とりあえずRealmsで様子見で開始&amp;lt;br&amp;gt;&lt;br /&gt;
[[ファイル:(YkpbRF Oi3o-1317x741-52m47s).png|フレームなし||500px|]]&amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;sup&amp;gt;リスポーン地点&amp;lt;ref name=&amp;quot;r19&amp;quot; /&amp;gt;&amp;lt;/sup&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== S5　シーズン5 ===&lt;br /&gt;
ワールドを新しくしRealmsで引き続き開始&lt;br /&gt;
[[ファイル:S5スクリーンショット.jpg|フレームなし||500px|]]&lt;br /&gt;
&lt;br /&gt;
== その他 == &amp;lt;!--T:81--&amp;gt;&lt;br /&gt;
=== 年越し配信 === &amp;lt;!--T:82--&amp;gt;&lt;br /&gt;
&amp;lt;!--T:83--&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| 年月日  || 内容 || リンク&lt;br /&gt;
|-&lt;br /&gt;
| 2022/12/31 にライブ配信 || 雑談しながら年越し || https://www.youtube.com/live/Xanb7Y8-QFo?si=nH2CijGv4GYj_xgZ&lt;br /&gt;
|-&lt;br /&gt;
| 2024/12/31 || 雑談しながら振り返り年越し || https://www.youtube.com/live/RFBSt-TCzuQ?si=JWZXFyno1XdYL2P_&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;!--概要欄_2024/12/31-1/1.txt--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 会話用コメント欄 === &amp;lt;!--T:84--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:85--&amp;gt;&lt;br /&gt;
&amp;lt;youtube&amp;gt;i8AyH5pdVDY&amp;lt;/youtube&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 脚注 == &amp;lt;!--T:86--&amp;gt;&lt;br /&gt;
=== 注釈 === &amp;lt;!--T:87--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:88--&amp;gt;&lt;br /&gt;
&amp;lt;references group=&amp;quot;注釈&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 出典 === &amp;lt;!--T:89--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:90--&amp;gt;&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
== 外部リンク == &amp;lt;!--T:91--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:92--&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/@TAI_APEX YouTube|TAIchannel] &amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/TAIchannel_APEX X（旧Twitter）|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/WingmanPrime X（旧Twitter）|TAIchannelの休日]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.twitch.tv/taichannel_apex Twitch|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://wingmanprime.blogspot.com/ TAIchannelBlog|TAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://www.youtube.com/live/i8AyH5pdVDY?si=ndSBlShafE4FUuCj 会話用コメント欄|TAIchanne]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://x.com/SAIchan_nel X（旧Twitter)|SAIchannel]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://suzuri.jp/SAIchannel/products 公式グッズ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 関連リンク === &amp;lt;!--T:93--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:94--&amp;gt;&lt;br /&gt;
* [https://taichannel.web.fc2.com/index.html 非公式サイト]&amp;lt;br&amp;gt;&lt;br /&gt;
* [https://dic.pixiv.net/a/TAIchannel Pixiv大百科 &amp;quot;TAIchannel&amp;quot; ]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--T:95--&amp;gt;&lt;br /&gt;
&amp;lt;metadesc&amp;gt;TAIchanel（たいちゃんねる、 - ）は、日本のYouTuber、ストリーマーである。&amp;lt;br&amp;gt; 主にYouTubeでゲーム配信活動を行っており、&amp;lt;br&amp;gt;Twitchでも活動をしている。&amp;lt;/metadesc&amp;gt;&lt;/div&gt;</summary>
		<author><name>Nekoch18</name></author>
	</entry>
</feed>