繁体   English   中英

文本到语音区域印地文印地文

[英]Text to Speech Locale Hindi Indian

我为Android创建了一个支持多种语言的文本到语音引擎,其中一种语言是印地语。

在Android文本到语音设置中,当用户选择默认语言环境时,Android会执行多项检查,包括发送意图ACTION_GET_SAMPLE_TEXT

这是我支持的语言环境列表:

private static final String[] SUPPORTED_LANGUAGES = { "eng-GBR", "eng-USA", "fra-FRA", "spa-ESP", "deu-DEU", "ita-ITA",
        "kor-KOR", "nld-NLD", "dan-DNK", "fin-FIN", "jpn-JPN", "nor-NOR", "pol-POL", "por-PRT", "por-BRA", "rus-RUS",
        "swe-SWE", "zho-CHN", "zho-HKG", "zho-TWN", "ara-SAU", "hi-IN", "ces-CZE", "ell-GRC", "hun-HUN", "ron-ROU",
        "slk-SVK", "tha-THA", "tur-TUR", "cym-GBR", "isl-ISL", "in-IDN" };

对于“hi-IN”以外的每个区域设置,Android都会发送此意图,我会回复示例文本并显示“收听示例”按钮。

我成功地返回LANG_COUNTRY_AVAILABLE从呼叫onIsLanguageAvailable ,但按键仍然呈灰色,并指出,语言不被支持。

我尝试了很多不同的语言环境ISO组合:

hin-IN,hi-IND,ind-HI等等,但Android不发送Intent,尽管它在Locale列表中被正确标记为印地语(印度语)或印地语。

logcat中没有错误表明失败的变体匹配。

我发布我的代码没什么意义,因为Android根本没有发送此Locale的Intent,因此它无法访问我的代码....

任何想法如何正确处理这种语言环境变体?

编辑:我刚刚意识到它也发生在印尼语(in-IDN)

TTS使用3个字母的代码*来表示语言语言环境 因此,根据以下语言/国家/地区代码:

Hindi         hin-IND
Indonesian    ind-IDN

希望这可以帮助。


* 这需要从来源获得适当的引用:我刚刚根据现有的TTS引擎实现做出了结论。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM