473,471 Members | 2,089 Online
Bytes | Software Development & Data Engineering Community
Create Post

Home Posts Topics Members FAQ

Vb.Net Programming

129 New Member
Hi guys i need ur help to create a Dictionary software (Translation of Two Languages) .

I am using Vb.Net as a front end . Need your help for getting an idea how to impliment this?
Apr 6 '08 #1
2 955
nateraaaa
663 Recognized Expert Contributor
You will need a way to give the user the ability to change the language they want to see the definitions in. If there are only two languages you can use a checkbox or a radio button to allow the user to select the language.

As far as displaying the appropriate language you will need to use resource files (.resx).

See this msdn article for more details.
http://msdn2.microsoft.com/en-us/library/aa485313.aspx

Nathan
Apr 7 '08 #2
balabaster
797 Recognized Expert Contributor
You also need a way to convert sentences grammatically. i.e. How do you take the grammatical structure of a sentence, keeping its meaning intact and convert it to the grammatical structure in another language keeping that meaning intact? This is obviously a logical task to consider rather than a programmatic one. Once you figure out how to logically translate from one language to another, the code should be relatively easy.

Often words mean different things in different contexts so in one context a word may mean something completely different from another context. Also, you have to account for colloquialisms - for instance English to French, we have a lot of figures of speech in English that just don't work in French and vice versa. If you called your wife "My cabbage", what would she think? She'd likely think you were off your rocker. But in French, "Mon chou" is a perfectly acceptable pet name.

If it's just words, then a DataTable of words should suffice. Have as many columns as you need languages, each of the columns would be indexed to allow rapid searching in any language. When someone enters a word and selects a language, you just do a search to match the words.

You might want to account for the fact that some words have multiple types depending on their context. Think about the word text which for better or worse in today's English language is both a noun and a verb (which I personally think is ridiculous!). It can describe a bunch of words, or it can describe the act of sending a text message via SMS.

You could get more complex than single words, you could have a multi-table structure. The following structure would allow you to add languages without changing your database structure which would allow for future growth...however, it still doesn't account for grammar.

I would probably consider the following structure as a base, which catches all the basic vocabulary before going on to consider something more advanced for grammar translation.

Expand|Select|Wrap|Line Numbers
  1. /* This table contains a list of all your languages */
  2. TABLE Languages(
  3. Language_Key Int Identity(1, 1) PRIMARY KEY,
  4. Language_Name Varchar(24)
  5. )
  6.  
  7. /* This table contains all your types of words noun, pronoun, adjective, colloq. etc. */
  8. TABLE Word_TypeDefs(
  9. WTDef_Key Int Identity(1, 1) PRIMARY KEY,
  10. WTDef_Name Varchar
  11. )
  12.  
  13. /* This table contains all your words, in as many languages as you support */
  14. TABLE Words(
  15. Word_Key Int Identity(1, 1) PRIMARY KEY,
  16. Word_Language Int FOREIGN KEY REFERENCES Languages(Language_Key),
  17. Word Varchar(64),
  18. Word_Recording Varbinary,
  19. Word_Phonetic Varchar(64)
  20. )
  21.  
  22. /* Because a word can be of multiple type definitions, we should split these out to their own table. For instance, odd words that could be considered both noun and verb depending on their context or for words that are nouns and colloquialisms etc. */
  23. TABLE Word_Type(
  24. WType_Key Int Identity(1, 1) PRIMARY KEY,
  25. Word_Key Int FOREIGN KEY REFERENCES Words(Word_Key),
  26. Word_TypeDef Int FOREIGN KEY REFERENCES Word_TypeDefs (WTDef_Key)
  27. )
  28.  
  29. /* Allows you to have multiple language definitions i.e. you could take the word hippopotamus, there's little point in your user looking at the definition of the word in English if they only read Dutch. So you could display the definition in whatever their native language is...or they could choose to read it in the language that the word is from if they choose. */
  30. TABLE Word_Definition(
  31. WDef_Key Int Identity(1, 1) PRIMARY KEY,
  32. Word_Key Int FOREIGN KEY REFERENCES Words(Word_Key),
  33. WDef_Language Int FOREIGN KEY REFERENCES Languages(Language_Key),
  34. WDef_Text Text
  35. )
  36.  
  37. /* This table links words together by setting a parent word and a word that parent references in other languages. You probably want some mechanism when adding references to make sure that duplicate references don't get added, slowing your database down. For instance, if word 1 references word 2, you don't want two rows in your table where (Parent=1, Reference=2) and (Parent=2, Reference=1) even though this would satisfy a "unique" clause, it's still clearly a duplicate in this scenario. */
  38. TABLE Word_References(
  39. WRef_Key Int Identity(1, 1) PRIMARY KEY
  40. Parent_Word Int FOREIGN KEY REFERENCES Words(Word_Key)
  41. Reference_Word Int FOREIGN KEY REFERENCES Words(Word_Key)
  42. )
If I sit and think some more, I could probably add some more complexity for a more flexible model, but I think that is probably advanced enough for most scenarios.
Apr 7 '08 #3

Sign in to post your reply or Sign up for a free account.

Similar topics

5
by: Martin | last post by:
When was inheritance intruduced into object oriented programming? More generally, does anyone know or have any sources on when the different features were introduced into object oriented...
12
by: G. | last post by:
Hi all, During my degree, BEng (Hons) Electronics and Communications Engineering, we did C programming every year, but I never kept it up, as I had no interest and didn't see the point. But now...
3
by: user | last post by:
Hi all, At the outset, I regret having to post this slightly OT post here. However, I strongly feel that people in this group would be the best to advise me on my predicament. I am working as...
134
by: evolnet.regular | last post by:
I've been utilising C for lots of small and a few medium-sized personal projects over the course of the past decade, and I've realised lately just how little progress it's made since then. I've...
7
by: Robert Seacord | last post by:
The CERT/CC has just deployed a new web site dedicated to developing secure coding standards for the C programming language, C++, and eventually other programming language. We have already...
30
by: Jakle | last post by:
I have been googling, but can seem to find out about C GUI libraries. My main platform is Windows, but it would be nice to find a cross platform library. I've been programming with php, which...
47
by: Thierry Chappuis | last post by:
Hi, I'm interested in techniques used to program in an object-oriented way using the C ANSI language. I'm studying the GObject library and Laurent Deniau's OOPC framework published on his web...
111
by: Enteng | last post by:
Hi I'm thinking about learning C as my first programming language. Would you recommend it? Also how do you suggest that I learn it?What books/tutorials should I read for someone like me? Thanks...
14
by: deko | last post by:
For building Windows desktop apps, the clear favorite is C#. But my clients can't afford to buy Microsoft products. So I need to develop software for Linux users and web applications. In the...
17
by: CoreyWhite | last post by:
I bought this book years ago, when I was just learning C++. Since then I've gone through every math course offered at my college, taken courses on coding C & thinking in terms how how to make the...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
1
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
0
by: adsilva | last post by:
A Windows Forms form does not have the event Unload, like VB6. What one acts like?
0
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.