簡體   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