编辑包含%的文本时出现问题

我们在编辑包含 % 符号的文本时遇到了问题。

包含该符号的文本无法修改。保存后,文本会消失,并且在网站上无法显示。

请协助解决此问题。

文本示例:
44

1 个赞

href= 内部使用时,% 是一个转义字符,用于通过数值显示字符。因此,%{ 并不是 % 后跟一个数字。

尝试将 % 改为 %25

参见:在 URL 中传递百分号 (%) 并使用 PHP 获取其确切值

3 个赞

谢谢!但问题并未通过这种方式解决。在这种情况下,虽然保存了更改,但遗憾的是链接无法工作……

1 个赞

你试图实现什么?你是想更改链接的 href 值吗?

2 个赞

@simon 不,我们需要编辑网站上的部分文本,但无法做到。包含 % 的文本无法修改。保存后,文本会消失,且不会在网站上显示。

例如,我们无法修改这段文本:
42

但是,当我们从这段文本中删除 % 后,更改就能完美保存。

1 个赞

@simon 您可以观看视频 Dropbox - Error - Simplify your life

3 个赞

该文本的第一部分 (## [欢迎使用 %{title}](#welcome)) 是 Markdown 语法,用于创建一个带有链接的 h2 元素。该链接的 href 属性设置为 #welcome%{title} 标签是一个占位符,Discourse 会用您网站的标题替换它。

您可以自定义此文本,但需要确保使用的是有效的 Markdown 语法。例如,以下写法有效:

## [欢迎使用我的演示站点](#welcome)
需要账户。请创建账户或登录以继续。

以下写法也有效,它会移除 h2 元素中的链接:

## 欢迎使用我的演示站点
需要账户。请创建账户或登录以继续。
4 个赞

@simon 是的,我知道这种可能性,谢谢。但我们需要翻译数百条文本,这是个大问题 :grinning:

1 个赞

感谢您发布该视频。我在我的开发站点上也遇到了类似的问题。

点击任一空白条目的编辑按钮后,会显示一个空文本区域。

点击“还原更改”按钮后,内容会恢复为默认文本,但文本区域中仅显示第一行文本。

刷新页面后,完整的默认文本内容会正常显示。

1 个赞

是的,谢谢,我知道如何返回原始文本,但我需要对其进行修改,却无法做到……

1 个赞

可能相关:

https://meta.discourse.org/t/changing-systems-welcome-message/128572/3?u=tshenry

3 个赞

感谢您的帖子。但问题不在于返回原始文本,而在于对其进行修改。请观看我上面的视频。

1 个赞

我已将此话题移至 bug 分类。在我托管的 Discourse 站点上,我发现当包含占位符的文本内容被编辑时,编辑后的文本会被保存到 TranslationOverride 表中,并在站点界面中显示。例如,如果我编辑 login_required.welcome_message 文本,编辑后的内容就会在登录页面上显示。

问题在于,编辑后的文本在“管理 / 自定义 / 文本”列表中显示不一致,并且在文本编辑页面上完全不显示:

如果勾选“仅显示已覆盖”复选框,或搜索特定的翻译键,编辑后的文本就会显示出来:

如果我点击该文本的编辑按钮,则会显示一个空的文本区域:

编辑:这似乎是 @tshenry 所链接问题的重复:https://meta.discourse.org/t/changing-systems-welcome-message/128572/3。我发现的区别是,在步骤 6 中点击“还原”按钮会还原为默认文本,而不是最近编辑的文本。该问题似乎仅出现在包含占位符的字符串中。我暂时将此话题作为重复话题关闭。

3 个赞