问题标签 [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 投票
1 回答
915 浏览

java - 使用 ICUTokenizer JAVA 标记泰语句子

我正在尝试下面的代码来获取泰语句子中的所有标记。它抛出异常。谁能指出我在 JAVA 中标记泰语?

例外如下

0 投票
1 回答
169 浏览

java - icu4j BreakIterator 在 Linux 上为中文返回不正确的单词边界

我的应用程序需要能够检测字符串中的单词数。我为此使用了 ICU4J 库,特别是 BreakIterator。此代码需要适用于英语、中文、日语和德语。我发现中文似乎在 Windows 上可以正常工作,但在 linux 上却不行。在 linux 上,它找不到分词符。我是 ICU4J 的新手,所以它可能是我的代码?

给定字符串、“地址”和从 zh_CN 创建的语言环境。在 Windows 上,上面的代码返回 2,但在 Linux 上,它返回 1。事实上,无论字符串中有多少个汉字,它都返回 1。它对 Windows 和 Linux 的英文都适用,但它不检测中文单词边界在 Linux 上。我在 icu 项目中将此作为Jira 发布: 根据他们的说法 Linux 是正确的,我的测试用例都是单个中文单词和多个字符。他们没有解决 Windows 和 Linux 上的不同行为

0 投票
2 回答
416 浏览

android - 如何从 Android Studio 中删除 ICU4J 库

创建 Android Studio 项目后,ICU4J 库将自动添加到项目中。它将 APK 文件大小增加到 15 MB。我不使用这个库,但我不能删除它。

您也可以在 APK Analyzer 内部看到: 用于 ICU4J 库的 APK 分析器

如何从项目中删除 ICU4J 库

0 投票
2 回答
387 浏览

java - HTML ASCII 不区分大小写的 ICU 整理器

我需要创建一个对应于https://www.w3.org/2005/xpath-functions/collat ​​ion/html-ascii-case-insensitive/ 的整理器,即在进行比较时它会忽略 ASCIIA-Z和字符的大小写敏感性。a-z

我尝试使用以下 ICU4j 进行此操作RuleBasedCollator

但是,以下比较似乎失败了,我希望它会成功(即 return true):

我的规则中缺少什么?

0 投票
1 回答
476 浏览

android - 在库中使用时从 ICU4J 中剥离数据文件

我有一个包含在不同 Android 应用程序中的内部库。这个库依赖于 ICU4J。这意味着我们在最终的 APK 中添加了 ~10MB。

该库使用 ICU4J 的子集,因此我想删除所有不必要的数据文件。

来自ICU 文档

目前 ICU4J 没有提供任何工具来揭示数据文件之间的这些依赖关系,因此直接在 ICU4J 项目中修剪数据是一件容易发生的事情。删除数据时的关键点是确保删除对该数据的所有依赖项。

我想在构建应用程序时删除数据文件。

StackOverflow 上的一个问题是相关的:从 aar dep 中排除特定资源。不幸的是,该exploded-aar目录不再存在。

您知道我可以在哪个步骤从 ICU4J 依赖项中删除文件吗?这是我尝试删除cjdict.dict文件的内容:

  • 问题1:我应该在哪个任务之前注入我的excludeTask
  • 问题 2:我应该从哪个目录中删除文件?

我知道 ICU4J 可以在 Android 7.0 中使用而无需所有这些开销,但我想让 APK 对于旧设备尽可能轻。

Proguard/shrinking 资源对此不起作用(除非我错过了什么?)

0 投票
1 回答
1145 浏览

java - spring boot 项目中的多元化问题

目前我正在使用 Spring-boot + Thymeleaf 和多种语言。我找不到任何简单的方法来使用 ICU4j。本质上,据我所知,所需要的只是 用 ICU4J 变体替换ResourceBundleMessageSource它。MessageFormat但我不能让它一起工作。

也许有一些此类项目的示例或 Spring 中的任何其他多元化功能示例(例如this)。

0 投票
1 回答
698 浏览

java - 应该使用哪个罗马化标准来改进阿拉伯语-拉丁语的 ICU4j 音译?

我们需要将阿拉伯文本音译为拉丁字符(不带变音符号)并将其显示给用户。

我们目前正在为此使用 IBM ICU4j。API 不能很好地将阿拉伯文本转译成适当的可读拉丁字符。请参考以下示例:

例子

  • 阿拉伯文字:

    صدام حسين التكريتي

  • 谷歌的音译输出

    Sadaam Hussein al-tikriti

  • ICU4J 的音译输出

    ṣdạm ḥsyn ạltkryty

我们如何改进 ICU4j 库的音译输出?

ICU4J 为我们提供了编写自己的规则的选项,但我们目前陷入困境,因为我们团队中没有人懂阿拉伯语并且无法找到任何可以遵循的适当标准。

0 投票
0 回答
184 浏览

java - 阿拉伯语到拉丁语转换失败?

由于实例存在问题,将阿拉伯语转换为拉丁语失败。您能找出正确的实例字符串吗?当你使用谷歌翻译器时,它会显示精确的转换。

0 投票
1 回答
65 浏览

java - Why is Locale final in Java?

The class java.util.Locale is declared as final, which means that nothing can extend it.

The ICU4J project have written an extension of this class - com.ibm.icu.util.ULocale (which is also final), but because of this it can't inherit or be used easily instead of Locale.

What would the reason for this be?

0 投票
1 回答
125 浏览

java - ICU4J - 相同的货币符号作为前缀或后缀,取决于语言环境

我想正确放置 $ 符号,作为前缀或后缀,具体取决于使用MessageFormat类的语言环境,但到目前为止没有成功。我需要本地化货币符号放置,而不是符号本身。

在我的消息中,我使用:

车费是 {0, number, currency}

我创建了一个 MessageFormat 调用实例:

结果是正确放置了货币符号,但它也已根据使用的区域设置进行了更改。对于语言环境 en_us,我得到 $,对于语言环境 pl_pl,我得到 zł。

所以问题是,如何告诉MessageFormat始终使用相同的货币符号(在我的情况下为 $)但根据语言环境放置它(作为前缀或后缀)?

基于MessageFormat 手册看起来{0, number, currency}是使用NumberFormat.getCurrencyInstance(getLocale())格式化的,所以我想知道这是否可能。

预先感谢您的帮助。