2014-02-06 90 views
7

我創建了一個支持多種語言的文本到語音引擎,其中之一是印地語。文本到語音語言環境印地語印度語

在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組合:

欣-IN,HI-IND,IND-HI等等等等,但是Android不發送的意圖,儘管它被正確標記在印地語(印度語)或印地語的語言環境列表中。

logcat中沒有錯誤提示失敗的變體匹配。

有小點,我張貼我的代碼,由於Android根本不發送意向書此語言環境,所以它不會達到我的代碼....

任何想法如何正確處理這種區域設置變體?

編輯:我剛剛意識到它也發生了印尼(在-IDN)

+1

分別爲印度語和印度尼西亞語試用'hin-IND'和'ind-IDN'。 – ozbek

+0

@shoerat非常感謝你!我發誓盲目我嘗試了這些組合?無論如何,如果你把你的評論放在答案中,我會獎勵你的賞金。再次感謝。 – brandall

回答

5

TTS使用3個字母代碼*languagelocale。所以,基於該語言/國家代碼爲:

Hindi   hin-IND 
Indonesian ind-IDN 

希望這會有所幫助。


* 這需要一個適當的引用來源:我剛剛根據現有的TTS引擎實現做出了我的結論。

+0

謝謝。完美的作品。我確信我之前嘗試過這些!無論如何,問題解決和賞金頒發。 – brandall

+0

有沒有其他的印地文設置?..我試過這個代碼,但它沒有用印地文說話。:( –

+0

@KomalSorathiya,確保你測試的引擎實際上支持印地語TTS。 – ozbek