Różne wersję językowe

0

Witam,
zastanawiam się nad zrobieniem różnych wersji językowych do swojej aplikacji...Macie może z tym jakieś doświadczenia?? Kombinuje zrobić to na zaszyfrowanych plikach XML, które podczas ładowania programu będą w locie odszyfrowywane i zawartość pliku XML będzie zapisywana w zmiennych/w tablicy... następnie podczas wywoływania poszczególnych form chce dawać labelX.text = [wartość_z_tablicy] - czy to dobry pomysł??

Northwest

0

Czemu zaszyfrowane?

Ja ostatnio robilem tak, ze dane zapisane byly w xmlu, kazdy jezyk w innym (zeby sie latwo dawalo tlumaczowi do tlumaczenia). Plik byl czytany do struktury drzewa indeksowanej nazwami tagow w xml'u (Translator["MainForm"]["TopLabel"], itp). Pozniej korzystalem z tego przy robieniu blizniaczej aplikacji w ASP.NET i tam dodalem jeszcze przy wywolaniu strony przegladanie elementow strony i podstawianie pod znalezione odpowiednich tekstow. Czyli jesli na stronie byl element o nazwie SubmitButton i w pliku xml znacznik o takiej nazwie (oczywiscie w danym zagniezdzeniu) to kod wywolywany na poczatku automatycznie podstawial dany tekst do kontrolki. Uniknalem dzieki temu recznego podstawiania konkretnych wartosci pod SPORA ilosc elementow.

0

Można jeszcze z zasobami w różnych kulturach. To chyba najwygodniejsze rozwiązanie.

0

czyli przy starcie aplikacja sprawdza w jakiej wersji językowej powinna być i potem wczytuje odpowiedni plik?? następnie wczytujesz zawartość XML do tablicy i wywołujesz na zasadzie: Translator["nazwa_formy"]["etykietka_numer"]??

wczytywałeś te wartości jakoś ręcznie, tzn. xxx= Translator["nazwa_formy"]["etykietka_numer"] - czy jakoś z automatu??

0

Z automatu, tak jak opisalem w czesci z ASP.NET ;)

0

Z automatu bardzo ladnie dziala lokalizacja :) Sam jej uzywam od jakiegos czasu... przy asp.net nalezy tylko pamietac, ze jest to ostatnia rzecz jaka robimy przy tworzeniu strony, a defaultowo tworzymy sobie w Angielskim :) Wowczas wygenerowanie pliku zasobow, to kwestia klikniecia + przetlumaczyc pozniej co trzeba.

Nieco inaczej jest jesli to jest dll'ka, wowczas trzeba recznie dodac plik zasobow i uzywac go w kodzie. Ale i tak to dziala calkiem prosto :)

0

ale asp.net to strony internetowe... nie??:)

macie może jakiś prosty przykład wykorzystania tego asp.net??:)

0

Tak, ASP.NET to strony, ale zrobienie tego samego dla aplikacji windowsowej nie robi roznicy.

0

a masz może jakiś przykład takiego czegoś??;)

0

W .NET masz gotowe mechanizmy na to. A tutaj tutorial jak coś takiego zrobić:

http://polishwords.com.pl/video_tutorials.php?cat_id=4&faq_id=33

0

Jednak wydaje mi sie, ze takie podejscie ma swoja wade. Ktos z zewnatrz nie dysponujacy kodem nie ma mozliwosci zmian (a tak jest najczesciej - w szczegolnosci w darmowych aplikacjach gdzie spolecznosci tworza wersje jezykowe). Teoretycznie moga byc formy jako satelity (dll).

Zaleta jest na pewno mozliwosc dostosowania rozmiarow komponentow wizualnie do wersji jezykowej.

0

Dzięki temu podejściu można wydzielić tak, oczywiście do oddzielnych dll i udostępnić wtedy użytkownikom info jak mają kompilować. Dlaczego formatki? Żeby mogli dopasować teksty do wielkości pól. Można też wydzielić to do bazy danych (w necie jest takie rozwiązanie gdzieś), do plików tekstowych i tak dalej. Wtedy kompilacja w ogóle nie jest potrzebna.

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