MediaWiki:替换翻译中的标签
MediaWiki: replace a tag in transclusion
在基于 MediaWiki 安装 1.29 的自定义 wiki 中,我想在模板页面中包含一个示例。
为了包括这个例子,我想要打印模板的代码并显示它。所以我需要把文本写下来两次:一次用 <pre>
标签包围来显示文本,另一次用纯文本来显示解释的例子。
为了仅保留文本一次,我考虑过将示例插入这样的子页面中 <pre>{{SomeTemplate|SomeParameter}}</pre>
并嵌入此文本以在说明页面中显示它。
因此,对于代码,我只是嵌入了 {{/subpage}}
,而对于要显示的实际模板,我的计划是使用来自 https://www.mediawiki.org/wiki/Extension:ParserFunctions.
第一部分工作完美,第二部分我无法让它工作。我用于替换的代码是
{{#replace:{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}|<nowiki></pre></nowiki>|}}
但这总是 returns 一个空字符串。事实上,即使是部分
{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}
returns 相同的空字符串。
够意思了,连代码都
{{#replace:<nowiki><pre>{{SomeTemplate|SomeParameter}}</pre></nowiki>|<nowiki><pre></nowiki>|}}
returns 没有。
我的计划可行吗?我在语法上做错了什么,或者它在概念上是错误的并且永远行不通?
谢谢
卢卡
经过大量研究,我发现我是从错误的角度来解决问题的。
我发现(此处 https://www.mediawiki.org/wiki/Help:Templates#Usage)前缀 msgnw:
允许嵌入模板的 text 而无需调用它。
所以实现我的目标最简单的方法是创建一个只有代码的子页面,没有 <pre>
然后使用:
<code>{{msgnw:/Subpage}}</code>
显示底层代码,
{{/Subpage}}
显示示例。
在基于 MediaWiki 安装 1.29 的自定义 wiki 中,我想在模板页面中包含一个示例。
为了包括这个例子,我想要打印模板的代码并显示它。所以我需要把文本写下来两次:一次用 <pre>
标签包围来显示文本,另一次用纯文本来显示解释的例子。
为了仅保留文本一次,我考虑过将示例插入这样的子页面中 <pre>{{SomeTemplate|SomeParameter}}</pre>
并嵌入此文本以在说明页面中显示它。
因此,对于代码,我只是嵌入了 {{/subpage}}
,而对于要显示的实际模板,我的计划是使用来自 https://www.mediawiki.org/wiki/Extension:ParserFunctions.
第一部分工作完美,第二部分我无法让它工作。我用于替换的代码是
{{#replace:{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}|<nowiki></pre></nowiki>|}}
但这总是 returns 一个空字符串。事实上,即使是部分
{{#replace:{{/subpage}}|<nowiki><pre></nowiki>|}}
returns 相同的空字符串。
够意思了,连代码都
{{#replace:<nowiki><pre>{{SomeTemplate|SomeParameter}}</pre></nowiki>|<nowiki><pre></nowiki>|}}
returns 没有。
我的计划可行吗?我在语法上做错了什么,或者它在概念上是错误的并且永远行不通?
谢谢
卢卡
经过大量研究,我发现我是从错误的角度来解决问题的。
我发现(此处 https://www.mediawiki.org/wiki/Help:Templates#Usage)前缀 msgnw:
允许嵌入模板的 text 而无需调用它。
所以实现我的目标最简单的方法是创建一个只有代码的子页面,没有 <pre>
然后使用:
<code>{{msgnw:/Subpage}}</code>
显示底层代码,
{{/Subpage}}
显示示例。