问题标签 [messageformat]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
20 浏览

android - 静态字符串变量,包含在android中间切割的base 64编码位图

我有一个静态字符串变量,用于将数据从另一个类发送到服务器。

我要发送的消息包含由字符“|”分隔的 5 个字符串字段(其中一个是 base64 编码的位图字符串)。

我的问题是字符串刚刚从中间剪断。我看到的唯一部分是第一个字段和 base64 编码位图(可能甚至不是全部)。

我尝试使用 MessageFormat、String.format 和常规字符串连接创建字符串,但似乎都没有。

有谁知道为什么?

这是我当前的代码:

logcat 打印:

UPL|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 JvqSKfwNEFXVcbHckQYKspGJxSvv8​​opLkpxWkldyvoBNPdLzeMzNsGvVzq6aNheclEoGLpaopDOV AYO5J0gCyAkkbkyVAGsKupZCgCFX6XRLBVhSd1eV07bTDtTTvw7FwAm9QfZoe0mJKQIhp9Yx6GwM 4JDTt8zpI4Zpid2cGoLrozGDJuGQFLDEEDad+c25mIN3RAq0VO0+qmwE3oeWXBQhqmITqZpThwRF HLUaEUiW4WYWtbg6FkIUyHrlr6nTFCXYocm03QirTj+L5bRVZU8RbWGpHNykZ3wMfJXWVSTbZ1ExqpbB7rO+fK6VrKpQnT5CE+2sqqQZIWyfVAAeNadizgHeUAWcscVDenSLC0ERDlvzUSmyAShHrcED omxPL1JFEZ2sKiR9npLO7onUOXWHJLJtRQChZaKD4KxdkDcvKV3UxPWH3UrOMd6NIYVdtQl4Pr7t eJK4uH8jThJVxei40bXkHV00DFDQFAcxQBwM8h52B9cLhRsfJQjpDJsFYlC1AGru9+Ty4WFiXXhm QAmYr1wqUqyggTAaEG/3LoaTTpLSMQ/eZOjO+oy7SovV3ReG4/Cn2lVoLlp1TOL0iRD0NFPcrU4R ebZFrlVObCROzCrHA95sJyBYkPsM0olqnW5d9fUYpEcxOc+uquGU3B2g0wyeck4f5OIwsrhpffRT UehFns5uxJO2qbg9uLSSSpzU7777VBBZU5sGHd3rdhJvt/WIFdxVn7SyljyIoAJEsrNqrapfH4+QRRk4VGYOEmIcJtPOE2SQaKC7yJMRtUpEYhgplaRDlYTiDsfkNuU9c4bLCZA7NxImEFqY98aEHAIw r/jxYKF9AruL0ld6hIOLKBRrkjdRg1oYDXzQzrsXVNI+lZpPOnDFKZGiHSfTXJ7dIKumknDkDW36 pTBXfEhCgFAQIQssjUSBTH0aMpFcUncPDzqAYRoDTMRwwttVhYhD56sSa/pLaVohouaYq8rBmYAw 9/0CYIeq7IwxHwcLJGBsDLM5ZYJSt+e6DK09HfpWIRJWlbQ/JlksANIhYlWBjKenSpAUp8UqkuSt 1hNc0oKOVbtGrXrEEJZxAhR6E6rsIYVBBFXrbE9OmhRSv/1889wq4hf3QRJ8+nmvPM+nyNtAMSptayAHQRzFwQtnBiPmKAhx8lY604CW1MT0Fbzy1QRTJhkhdO+cDgACwoA03IfWGSNNcDgHCGmvqhGP do/VXVq4+i2AzjlEsomFIqeMyu62VYWpfZfM1GmVnOnxMbV5ULJeeTEpK

请注意,base64 的开头在“UPL|”之后 在字符串的开头

0 投票
1 回答
442 浏览

java - Spring restTemplate 不适用于 URL 中的单引号。与邮递员合作

用于 GET 请求的简单 restTemplate 交换。

标头信息

网址:

我尝试使用MessageFormat.format或构建此 URL URIBuilder。单引号是问题所在。到目前为止,我尝试将它们加倍,逃避它们或让它们保持原样。

我启用了一些额外的日志记录:logging.level.org.springframework.web.client.RestTemplate=DEBUG 这将显示 URL.. 如果我复制该 URL 并将其粘贴到 POSTMAN 中,我会收到结果,从 spring 我收到 400 Bad request .

我想这可能是要归咎于一些额外的编码。有任何想法吗?

0 投票
1 回答
1182 浏览

jsp - 如何在 JSTL 中使用 MessageFormat 格式化字符串

通过以下代码从 ENV 变量中获取字符串:

ENV 变量就像Copyright © {0} XXX.

如何替换{0}为当前年份并显示Copyright © 2018 XXX在jsp文件中?

谢谢

0 投票
0 回答
436 浏览

java - 在 Java 中使用 MessageFormat 将数字格式化为十六进制

如何使用MessageFormat十六进制格式化数字?我有一个现有MessageFormat模式,客户希望将其从十进制数更改为三位十六进制数。这可以使用MessageFormat吗?还是我必须切换到更强大的格式化程序?还是其他什么技巧?

0 投票
1 回答
1337 浏览

java - Java 的 MessageFormat 没有将葡萄牙语月份本地化为小写日期

月份名称以大写字母而不是小写字母开头,它们应该是.

我在本地机器上运行的一些示例代码:

这就是我得到的:

所以法语是正确的,但出于某种原因,两个葡萄牙语变体不是。

更奇怪的是,我尝试添加与IDEAONE 片段完全相同的代码,但它根本不会本地化。

我在这里有什么误解?

0 投票
3 回答
181 浏览

java - 如何为全球号码配置 MessageFormat

我想改变MessageFormat打印数字的方式。

观察值为“99,888”。

所需值为“99888”。

我能做的是:

问题是我必须在超过 10'000 的项目中更改它MessageFormat.format()。所以这不是我真正想要的方式。

你知道是否有办法改变MessageFormat.format()全球数字的格式?

0 投票
1 回答
282 浏览

java - 如何在没有 Android ICU 的情况下在 ChoiceFormat 中使用“{0,ordinal}”

我正在尝试通过选择格式获得在排行榜中使用的英文序数。

我目前的解决方案是有这样的东西:

并使用这是一个参数。

这很好用,但我发现你可以{0,ordinal}与 ICU 一起使用。

有没有简单的方法让它在没有 ICU 的情况下工作?

0 投票
1 回答
114 浏览

java - Java 类型化 i18n (java)

我想知道是否可以(以及使用哪种工具)在 Java 中执行类型安全 i18n。也许不清楚所以这里有一些细节,假设我们使用基于MessageFormat

1) 使用类型安全参数进行翻译

我想避免有一个接口,比如String translate(Object key,Object... values)没有类型的值。应该不可能使用错误的参数类型进行调用。

注意我可以指定所有键的类型。我正在寻找的解决方案应该是可扩展的,并且不应显着增加后端启动时间。

2)应该在编译时知道哪些键仍在使用

我不希望我的翻译键库像许多网站的 CSS 一样,永远增长和增长,每个人都害怕删除键,因为我们不容易知道它们是否仍然有用。

在 JS/React 领域有babel-plugin-react-intl允许在编译时提取仍然在代码中找到的翻译键。然后我们可以使用我们的翻译后端/SaaS 来区分这些密钥,并自动删除未使用的密钥。在 Java 领域有什么类似的经历吗?


我在找:

  • 关于我遇到的这两个问题,您拥有的任何可以使 i18n 在 Java 中更易于管理的技巧
  • 当前可能帮助我解决问题的工具
  • 如果工具不存在,如何实现自定义的提示

此外,Enum 是否适合存储大量固定的翻译键列表?

0 投票
1 回答
528 浏览

java - java中的消息格式以及如何在Golang中复制它

这是Java代码:

输出:

我在 Go 中试过这个:

哪个输出:

Go的意义是什么,{0,number,#}我怎样才能得到相同的含义?

0 投票
1 回答
81 浏览

java - 字符串格式 - java

使用 java- 从下面的字符串中替换 'gift' 和 'price' 的最佳方法是什么?

我们添加了价值 {price} 的 {gift} 优惠券。享受!

我也可以以任何方式使用 MessageFormat 来解决上述问题。