C# WPF Słownik branżowy w kilku językach

0

Cześć,
Kiedyś trochę pisałem w C++ i C#, jednak ostatnio nie miałem na to czasu i jestem praktycznie całkiem zielony. Teraz mam troszkę więcej czasu i chęci żeby się podszkolić.

Moim najbliższym celem jest stworzenie aplikacji WPF zawierającej słownik branżowy (konkretnie budowlany) w kilku językach.

I stąd moja prośba. Czy moglibyście mi podpowiedzieć w jaki sposób to zrobić i czego używać żeby było „najbardziej elegancko”? Wiem, że moje pytania są na poziomie podstawówki, ale mam nadzieję że znajdzie się ktoś kto pomoże początkującemu.

Słowa będę najprawdopodobniej wpisywał z palca, gdyż mam jakieś stare, ale bardzo dobre zeskanowane słowniki i ich okrojone wersje w Excelu. Jak zapisać i w jakim formacie te wszystkie dane, aby:

  • można było na bieżąco dodawać kolejne słowa, czy też całe języki;
  • wyszukiwanie było możliwie jak najszybsze i po wszystkich językach, a sam słownik nie zajmował za dużo pamięci;
  • jak rozwiązać problem, że np. słowo polskie może mieć 2 odpowiedniki w języku angielskim i np 3 w niemieckim i na odwrót?

Samych słów myślę, że będzie max 2000, a każde w max 8 językach, a na początku w 3.

Będę wdzięczny za pomoc i ewentualne wskazówki!

1

Najlepiej to zacząć pisać i potem szukać, dłubać w internecie. Z technologią WPF skojarzony jest wzorzec MVVM. Jednakże jeżeli to okaże się za trudne na start, to najlepiej napisać aplikację jakkolwiek, oddzielając chociażby warstwę modelu dziedziny. Dane przechowywane w relacyjnej bazie danych + zainteresuj się czymś takim jak ORM (NHibernate, FluentNHibernate). Jeżeli baza ma być przenośna bez potrzeby instalacji systemu do zarządzania bazą to użyj SQLite.

Wg mnie wystarczą dwie relacje w bazie danych. Pierwsza z nich przechowująca słowa - klucz główny, klucz obcy do tej samej tabeli, nazwa słowa, klucz obcy do tabeli z typami języków. Druga przechowująca informacje o językach - klucz główny, nazwa języka. W ten sposób masz wszystkie problemy załatwione związane z tym, że polskie słowo może mieć wiele odpowiedników w innych językach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1