问题标签 [icu4j]

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 回答
59 浏览

java - 并非所有扩展 Ascii 字符都被转换为 ASCII

使用 icu4j-63.1 库,我们将本机文本音译为项目的 ascii 字符。在少数情况下,音译没有按预期工作。

如果我在这里遗漏了什么,请告诉我。

下面的代码用于音译

以下是无法进行音译的示例文本列表,即输入和输出字符串都相同。

  • THE L±NFANT TRUST(预计将±音译为+/-。但输出与给定字符串相同)。
  • 唐¢A
  • 詹姆·卡斯塔隆
  • ENGº JOSE BARATA
  • TERRY STUARDCB¬NEWTONRAY¬
  • ¥YOUNG© (此处,© 已成功转换为 (C) 但不是日元符号。日元符号保持相同的后音译)
0 投票
1 回答
1882 浏览

java - Java的音译

我需要Transliterate使用谷歌直译器或任何其他替代工具将任何语言的任何给定单词翻译成英语。我已经尝试为此寻找解决方案,但找不到任何解决方案。Google Translate API 有很多解决方案,但我需要的是Transliteration.

我只需要提供一个字符串(例如:阿拉伯语)作为输入,Google Transliterator API 然后它应该将其转换为英语作为输出。

找到了这个可能的重复项,但无法让它工作,并且大多数链接都不再工作了......找到了这个,但我需要在 java 控制台应用程序中使用它。

请问有什么建议吗?我需要在 JAVA 程序中使用它。

0 投票
0 回答
65 浏览

java - 忽略 ICU4J 音译的日语字符

有没有办法使用 ICU4J 库忽略所有用于音译的日文字符?

参加日语音译的音译员的ID是什么?

生成所有可用音译的代码是:

我对第一个问题非常感兴趣,即仅忽略日语字符的音译过程并允许对其余字符(非日语)进行音译。

0 投票
1 回答
275 浏览

java - 我在 ICU4J 库中得到错误的输出

我想将日期从波斯历转换为公历。为此,我使用 ICU4J 库(版本 65.1)。问题是这个库在某些日期给出了错误的输出。

这是我的代码:

波斯历中的这个日期(1398/11/16)等于公历中的 2020-02-05 星期三

但它给了我 6 作为输出(虽然它应该给 5)

我的代码有问题导致输出错误吗?

0 投票
1 回答
51 浏览

java - 如何使用 icu4j Charset 实现和 CharsetDecoderICU?

所以,我知道如何让你的平均Charset确定,StandardCharsets.UTF_8甚至Charset.forName("UTF-32LE")是非标准的,但我得到的是哪种实现?我想使用这些解码器,将其CharsetDecoderICU与外观漂亮的Callback设置一起使用(我还没有找到这种用法的任何示例),但我只是不知道如何访问它。

例如,我试图显式调用 icu4j CharsetUTF32LE,但它似乎是,它是包特权吗?虽然源代码显然在那里并且我可以查看它,但我似乎无法直接在我的代码中导入它,尽管它位于公共类的构建路径中。是否有某种需要注册的提供者,例如加密提供者?

拜托,尽管该项目非常活跃并且一些文档很好,但我只是不知道入口点在哪里,或者包可见性这里发生了什么!谢谢。

0 投票
0 回答
124 浏览

java - 将常量值添加到时间戳以将日期转换为公历

我需要将波斯(Shamsi)日期转换为公历日期。我搜索了很多并找到了不同的解决方案。最可靠的答案似乎是 ibm 库;icu4j。因此,我开始使用它来更改日期,但是所提供的示例对我不起作用。当我在日历中设置波斯日期并获取时间戳时,对于 1399/04/16,它将是 -18009228344000。但是当我使用公历时,2020/07/06 的时间戳是:1593977400000。所以,我找到了方法!我找到了差异并将其添加到波斯时间戳。现在我可以将任何波斯日期转换为公历。但我想知道这个解决方案是否可靠。这是代码:

输出是Mon Jul 06 00:00:00 IRDT 2020波斯日期的正确转换。

0 投票
0 回答
10 浏览

icu4j - 将 ICU4j 源代码 v61.xy 与来自 v55.1 的数据一起使用

是否有任何简单的方法可以使用 v55.1 中的数据文件来 ICU4J v61.xy,而不会出现欺骗错误异常?由于存在漏洞,我需要升级源代码,但目前还不能迁移到最新数据。

0 投票
0 回答
93 浏览

java - ICU4j - 如何使用 Numberformatter 覆盖货币符号或添加自定义货币

我想覆盖货币符号。例如,ICU 只返回BGN 0.67currencyCodeBGN无论我使用哪个选项(NarrowShortVARIANT此处)作为en语言环境,但我想获得лв 0.67. 我们还有其他用例来覆盖货币符号。

com.ibm.icu.util.Currency不提供任何设置函数来进行覆盖。将Numberformatter货币符号附加到数字时,会调用getNameCurrency.java 中获取货币符号的方法

CurrencyDisplayNames具有预定义的数据,并且不提供任何方法来进行覆盖。

我发现Numberformat可以通过 覆盖货币符号Numberformat.getCurrencyInstance(),但 ICU 建议新用户使用Numberformatter,那么如何进行符号覆盖,或其他覆盖,如在某个区域设置的数字右侧放置美元符号?(大多数输出​​的 ICU 格式对我们来说都很好,但是我们想为某个语言环境下的货币进行自定义)

0 投票
0 回答
38 浏览

android - MissingResourceException:找不到捆绑包 com/ibm/icu/impl/data/icudt57b/en_EN'

将com.android.tools.build:gradle:3.4.3更新为com.android.tools.build:gradle:4.1.3

并在 gradle-wrapper.properties 中,将gradle-6.3-all.zip 转换gradle-6.5.1-all.zip

icu4j 开始出现错误(检查版本 com.ibm.icu:icu4j:57.2 和 com.ibm.icu:icu4j:66.1)

en_EN.res 不在路径 com/ibm/icu/impl/data/icudt57b/ 中,但它在 en、en_US 或任何其他包中给出相同的错误。

使用的代码错误:

0 投票
0 回答
15 浏览

java - 无法解析icu4j

在我的 pom.xml 中,我有许多依赖项,但其中一个没有解决:

产生错误:

无法解析 com.ibm.icu:icu4j:70.1

我已经检查过 icu4j 版本 70.1 存在于 maven 上。

我试图刷新 maven 并重建,但没有帮助。

任何想法?