BusinessHotel 1.1 - Soft - Dimbovita - 2011 Nationala

Informatii generale

  • Categorie: Soft
  • Judetul: Dimbovita

Descriere

BusinessHotel 1.1 ofera posibilitatea de administrare a unui complex hotelier.

Tehnologii

.NET C#

Cerinte sistem

WINDOWS XP>= + FRAMEWORK 4.0 + SQL 2008

Realizatori

Balaceanu Sergiu-Denis

  • Scoala: C.N. Ienachita Vacarescu
  • Clasa: XII
  • Judet: Dimbovita

Screenshots


Cum ai realizat traducerile? Un utilizator din China doreste sa iti faca un serviciu si vrea sa traduca aplicatia ta chineza si automat sa fie integrata de catre aplicatie si daca ar putea sa modifice traducerile curente? Traducerile pot utiliza UTF-8 sau doar Ansi?

Salut
Momentan exista traducere doar in 3 limbi (Engleza,Franceza si Germana) . Traducerea se poate adapta , corecta eventualele greseli, etc. Pentru a putea fi disponibile si alte traduceri , momentan se poate inlocui o traducere existenta cu una noua . Dar o sa incerc sa rezolv problema asta.

Pentru a putea personaliza limbiile si pentru a putea adauga limbi noi sa inteleg ca exista un fisier pentru fiecare limba, fisierul acela este in format xml?

Am folosit o baza de date locala pentru traducere.

Acuma sa inteleg ca dl chinez nu va reusi foarte usor sa personalizeze aplicatia cu o limba noua? Va trebui sa deschida baza de date sa se prinda cum se lucreaza cu mediul Microsoft Visual, sa se prinda cum ai codificat tu, si dupa aceea sa modifice.

“Standardul” aplicatiilor pentru limba este: sa creeze un fisier .ini sau .xml si sa il parseze si sa faca traducerea.
<tform1>
<tcontrol1>
<caption>Informatii</caption>
</tcontrol1>
</tform1>
Iar recursiv se parcurg toate obiectele iar cele care indeplinesc structura atunci se redenumesc. Ar fi de folos sa se foloaseasc Reflection pentru a putea determina proprietatile si field-urile ca sa nu definesti la fiecare control proprietatile si campurile care pot fi traduse si sa scrii cod pentru fiecare in parte.

Ionuț, din câte știu eu, standardul NU e un fișier .ini (care a fost inventat de MS pentru Windows - în linux/mac nu se folosește așa ceva) sau .xml. Asta pentru că (probabil) e degeaba să re-implementezi sisteme i18n pentru fiecare aplicație a cuiva, doar pentru a avea propriul format de i18n.

În mod normal, cel puțin la aplicațiile open-source, se folosește deobicei gettext.

@Denis:
Ai aici niște informații cum să implementezi gettext foarte ușor în C#: http://www.gnu.org/s/hello/manual/gettext/C_0023.html

Și atunci ca un string să fie translatabil va trebui doar prefixat cu _ . E.g: Console.WriteLine( _ (“salut”) )

Baftă.

Din cate stiam Microsoft Visual C# are niste clase gata facute pentru localizari de exemplu daca vei folosi System.Globalization care prezinta o clasa CultreInfo pe care o poti folosi pentru a putea afla configuratia curenta a sistemului de operare si pe ce limba este selectat iar apoi folosind System.Resources in care sa ai stocata echivalenta unor stringuri in mai multe limbi si sa selectezi limba curenta.

Am specificat “standard”-ul cu xml se foloseste din cauza ca nu scrii mai nici o linie si poti face o traducere completa a tuturor controalelor si obiectelor. Deoarece face o parcurgere a tuturor obiectelor recursiv iar cu reflexion poti sa vezi proprietatile si campurile de tipul string si poti sa le editezi run - time.

Prima metoda prezinta dezavantajul ca trebuie specificate proprietatilor pe care doresti sa le poti traduce, si cu ce valoare, pecand prin metoda a doua se traduc automat

Dar nici acela nu este un standard.

Edit: Din ce in ce mai multa lume foloseste metoda a doua deoarece este mult mai practica