【问题标题】:Transliteration with Android用安卓音译
【发布时间】:2015-05-19 06:13:58
【问题描述】:

我想在 Android 应用中将任意(尽可能)语言的文本音译(而不是翻译!)文本。有内置的方法吗?

我找到了https://android.googlesource.com/platform/libcore/+/master/luni/src/main/java/libcore/icu/Transliterator.java,但它似乎默认不可用(至少 IDE 没有找到它)。我是否只需要按照Where can I get a JAR to import libcore.io? 中的评论建议添加此代码?

或者,我可以将 ICU4J 添加到依赖项并关注 icu4j cyrillic to latin。但这是一个非常大的依赖项(尽管 Proguard 应该有所帮助)。

最后,我可以自己轻松地添加西里尔语的音译,然后等到/如果有人真的需要其他语言(有明显的缺点)。

【问题讨论】:

    标签: java android unicode icu


    【解决方案1】:

    在底层,Android 在 android.icu 下提供了所有 ICU4J,但只有一个子集作为公共 API 公开。如果您想使用未公开的类,您可以编写使用该类的代码,它应该可以正常工作。但是,这样做在技术上不受支持,因此可能有某个版本的 Android 出于某种原因没有该类并导致您的代码中断。 (这在实践中不太可能发生,但仍有可能。)

    注意:命名空间 android.icu 是在 Android 7 Nougat 中添加的,因此它可能可用也可能不可用,具体取决于您所针对的 Android 版本。

    【讨论】:

      【解决方案2】:

      试试compile "org.robovm:robovm-rt:+"。

      robovm-rt 里面有 libcore。对我有用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-23
        • 1970-01-01
        相关资源
        最近更新 更多