NutzCN Logo
问答 本地化字符串含格式字符,但前端取不到
发布于 2231天前 作者 lrw124 2272 次浏览 复制 上一个帖子 下一个帖子
标签: nutzwk

我想有如下形式的本地化字符串:
addon %s no found=插件%s找不到
在前端页面只能取到 插件找不到 ,取不到%s这样的格式字符。
如果能获取到%s等格式字符,则可以在js里面灵活匹配,呈现不同的提示。

6 回复

多加一个百分号试试

1、如果properties中配置:addonnotfound=插件%s找不到
使用"${msg['addonnotfound']}"可以取到:插件找不到
2、如果properties中配置:addon not found=插件%s找不到
使用"${msg['addon not found']}"结果是:addon not found
3、如果properties中配置:addonnotfound=插件%%s找不到
使用"${msg['addonnotfound']}"可以取到:插件找不到
4、如果properties中配置:addon%%snotfound=插件%%s找不到
使用"${msg['addon%%snotfound']}"结果是:addon%%snotfound

看来走模板了,报个issue

多语言文件:

addon %s no found=插件%s找不到

页面:

${msg['addon %s no found']}

输出结果:

插件%s找不到

经测试,不存在你说的问题...

你要是想把%s替换成字符串,应该是新增需求,
https://github.com/nutzam/nutz/issues
到这里提需求

多语言msg是个Map对象,我觉得你可以写个字符串处理方法,比如,
StringUtil 里增加 :

    public String s(String a,String b){
        return a.replaceAll("%s",b);//不合理的写法,只是示例
    }

然后页面上写:

${@string.s(msg['addon %s no found'],"wizzer.cn")}

即可...测试OK

添加回复
请先登陆
回到顶部