Click here to Skip to main content
15,892,746 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello friends
I want to develop software in marathi / hindi language.
for this i tried Google translator API, it works great, only drawback is you should be online.
Please tell any other offline translator or any other procedure to develop offline windows application in Hindi/Marathi.


Thanks for help
Nitin bhoyate
Posted
Updated 25-Apr-11 18:27pm

Hi Nitin,

One way to develop multilingual software is Globalization in .Net.
Please go through with this article.
Globalization in C# .NET Assemblies

Globalization of Windows Applications

For this method, you do not need to be online.

Regards
Ankit
 
Share this answer
 
v2
The most common approach is to do this via resource files.
Have separate language file, one each for Marathi / Hindi etc and use them based on the local language setup on the machine. You will need someone (fluent in those languages) to translate / create these files for you.
 
Share this answer
 
You would need to build your own offline directory/dictionary of the words.

Exact same discussion and details here: Language translation[^]
 
Share this answer
 
Comments
Sergey Alexandrovich Kryukov 26-Apr-11 0:26am    
Agree, a 5.
Please see some more detail in my answer.
--SA
Which language does not really matter. Both languages presently use Devanagari Script, see http://en.wikipedia.org/wiki/Devanagari_script[^].

All you need is Unicode font supporting the subset of Unicode code points: 0x900 to 0x970 for basic Devanagari, 0xA8E0 to 0xA8FB for Devanagari extended and 0x1CD0 to 0x1CF2 for Vedic extenstions.

Practically all Windows systems provide at least one font supporting basic Devanagari. Check it up using Microsoft Character Map utility (bundled with Windows). Most likely "Arial Unicode MS" will work. You can also consider installing the required font(s) with your software distribution.

All .NET components support Unicode, so support of the script is not a problem at all.

Translation is a big problem. I don't know if Microsoft provides a fully-fledged language pack for these languages (so you could use Microsoft Office software). You may need to supply your own dictionaries, which is not very easy. The fast search in a dictionary is also a significant problem (the one I'm well familiar with as I have done one implementation; it is really fast, but required really refined technique of streaming and indexing).

—SA
 
Share this answer
 
v2
Comments
Sandeep Mewara 26-Apr-11 0:35am    
Good point... but this would be secondary thing. First thing would be mapping of words used between English and new language. What say?
Sergey Alexandrovich Kryukov 26-Apr-11 0:58am    
You're right, of course. I answered about it in my last paragraph, please see.
If one needs to develop just the dictionary... It's just a hint. I've done such project: it takes essential effort (especially design, for good performance); cannot be explained in a quick answer.

Translation? Forget it. Extremely difficult, huge work.

Best project I know is Google Translate (I tried some more). Maybe for some languages (they say) it somehow works. If a language like Russian is involved -- even this translator is the epic fail. This topic is a permanent source of most funny jokes...

--SA
// I'm suggesting you to use your own dictionary. Like this.

C#
namespace ConsoleApplication1
{
    class LanguageDictionary
    {
        private System.Collections.Generic.Dictionary<int, string> LangDic = new System.Collections.Generic.Dictionary<int, string>();
        private string language;
        public LanguageDictionary()
        {
            this.SwitchToArmenian(); // default language I choose Armenian
        }
        public string Language
        {
            get
            {
                return this.language;
            }
        }
        public void SwitchToEnglish()
        {
            this.language = "English (English)";
            this.LangDic[0] = "open";
            this.LangDic[1] = "close";
            this.LangDic[2] = "delete";
            // ...
        }
        public void SwitchToArmenian()
        {
            this.language = "Հայերեն (Armenian)";
            this.LangDic[0] = "բացել";
            this.LangDic[1] = "փակել";
            this.LangDic[2] = "ջնջել";
            // ...
        }
        public void SwitchToHindi()
        {
            this.language = "हिन्दी (Hindi)";
            this.LangDic[0] = "खुला";
            this.LangDic[1] = "बंद";
            this.LangDic[2] = "हटाना";
            // ...
        }
    }
}
 
Share this answer
 
v2
Bumdle your strimgs in resx file and use this www.codeproject.com/KB/locale/DotNet_Resx_Translator.aspx
 
Share this answer
 
i want to implement this in java can i do it?
and how?
 
Share this answer
 
v2

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900