2011-05-12 55 views
1


如何將英文字母轉換爲任何其他語言,因爲它可以輸入。
例如,如果我在文本框中鍵入「sekar」,它應該轉換爲「tamil」語言。如何使用vb.net將英文字母轉換爲其他語言

我如何在.net中做到這一點?謝謝

+0

.NET不是語言翻譯程序。這是不可能的。 – 2011-05-12 02:46:15

+2

你想要**翻譯**或**音譯**嗎?翻譯需要很多背景。例如。 「火」可能意味着解僱某人(如從工作中),焚燒東西或者射擊武器的結果。你無法進​​行單詞翻譯。音譯與使用一種語言的符號來表示外來單詞的發音有關。 – 2011-05-12 02:48:12

+0

@Joel Lee謝謝,我只需要音譯,是否有任何可能的方式在.net中完成? – VKGS 2011-05-12 05:45:53

回答

2

獲取大多數着名書寫系統的Unicode字體並不困難。音譯的難點在於將一個代表一個語言的單詞或短語的Unicode字符序列映射到代表另一種語言的相同序列的另一個Unicode字符序列。這需要一種算法來了解兩種語言的聲音,並將上下文考慮在內。這不是一個簡單的替換過程,可以通過表格來定義。例如,在英語中,有向圖「CH」做出了三種不同的聲音:

ch (ச) as in chin 
sh (ஷ்) as in chiffon 
k (கே) as in character 

以上音譯,谷歌的讚美。我不知道他們是否正確。不過,重點是你必須看整個英文單詞,以瞭解如何在每種情況下音譯前兩個字母。那麼Google的音譯服務一次只能說一個詞就不足爲奇了。每次輸入空格時,都會轉錄上一個單詞。它適用於包括泰米爾語在內的多種目標語言。你可以在這裏試試:http://www.google.com/transliterate/

他們也有一個API在http://code.google.com/apis/language/transliterate/overview.html,但我敢肯定,它使AJAX調用谷歌。

他們也有一個可下載的輸入法編輯器:http://www.google.com/ime/transliteration/ ,一旦安裝,可以脫機使用。但是,它不會成爲您的應用程序的組成部分,並且必須單獨安裝。

+0

感謝您的意見,我正在努力。 – VKGS 2011-05-16 10:07:07

1

使用翻譯服務,例如google language api

+0

謝謝jeroenh,但代碼似乎與谷歌回購交流。我們不可以單獨在客戶端做嗎?例如使用特定的語言字體的Unicode? – VKGS 2011-05-12 07:41:45

0

Yopu必須使用一個解析器來改變langugae,如果它是一個Web應用程序您可以輕鬆地的Javascript處理它(讓我知道,如果它是webbase)

如果窗口應用程序你必須編寫你的自己的解析器(或使用可用的像谷歌)。請注意,如果是Windows的基礎,用戶可以有鍵盤,讓你有強迫用戶使用一個單一的(英文)鍵盤,然後只要chagne的話作爲你的用戶按字(OnTextChanged事件

要寫你自己的解析器,你可以得到char(e.char),並在像這樣的開關中進行更改。

switch(yourchar) 
    Case 'a': '?'; break; // your desire char 
    Case 'b': '?'; break; // your desire char 
相關問題