2009-04-30 12 views
18

Otrzymałem zadanie internacjonalizacji dużej aplikacji klient-serwer. Mając to na uwadze, tworzę aplikację "World Ready", a następnie skompilowana aplikacja i zasoby zostają przekazane kolegom z innego kraju w celu tłumaczenia i udostępnienia ich klientom. Będzie kilka krajów, a zatem kilka oddzielnych tłumaczeń.Czy pliki resx nadają się do internacjonalizacji?

Kluczową rzeczą jest to, że chcę prosty dwuetapowy proces wydaniu:

Krok 1: skompilować i zwolnić aplikację A „Świata gotowy” do moich kolegów w różnych coutries

Krok 2: oni lokalizację zasobów, a następnie zwolnić swoich klientów

ja nie chcesz dodać dodatkowe etapy Bądź App W. orld Gotowy ->Wysyłanie plików do tłumaczenia off ->Odczekaj tydzień do tłumaczenia wrócić ->kompilacji w App ->Release App.

Zajmuję się globalizacją .NET i korzystaniem z pliku resx. Z tego, co widziałem, plik resx jest kompilowany do aplikacji i dlatego nie może być zmieniony po kompilacji. Nawet zestawy satelitarne nie wydają się edytowalne. I nawet jeśli się mylę w tym punkcie, w jaki sposób zmiany w zestawach satelitarnych zostaną odzwierciedlone w plikach Resx w moim projekcie?

A teraz pytanie. Biorąc pod uwagę, że chcę najpierw skompilować aplikację i pozwolić na późniejsze przetworzenie tłumaczeń, czy pliki resx są właściwą drogą, czy powinienem je porzucić i napisać na zamówienie rozwiązanie bazujące na bazie danych, które można łatwo edytować po skompilowaniu aplikacji ?

Mam nadzieję, że wszystko ma sens. Czekamy na twoje myśli.

+1

Dziękuję za informacje. Nadal nie jestem przekonany do plików resx. Wiele z tych narzędzi wydaje się dość kosztownych i mam zastrzeżenia, że ​​oferowałyby one elastyczność dostosowanego rozwiązania bazodanowego. To, co naprawdę odsunęło mnie od plików resxowych, to jednak to, że WinRes.exe (aplikacja używana do lokalizacji układu formularza) nie działa z kontrolkami Infragistics, których używamy intensywnie. Bez zalet zmiany układu pliki resx tracą swoją atrakcyjność. Dlatego myślę, że pójdziemy na rozwiązanie oparte na bazie danych. Jeszcze raz dziękuję za wejście. –

+0

Większość narzędzi lokalizacyjnych ma interfejs API i jeśli kiedykolwiek pomyślisz o skorzystaniu z takiego narzędzia, będziesz mógł to zrobić także w przypadku rozwiązania opartego na bazie danych: po prostu publikuj lub wywołaj tłumaczenia na tej platformie lokalizacyjnej. Są bardzo przydatne, gdy tłumaczysz swoje tłumaczenia. – Awesome

Odpowiedz

16

Tak, pliki resx są najlepszym rozwiązaniem.

Aby przetłumaczyć zasoby, należy spojrzeć na narzędzie lokalizacyjne, na przykład Passolo. Czyni albo

  • wziąć oryginalny RESX jako wejścia i generuje przetłumaczony plik resx, które trzeba sprawdzić na swoim kodzie
  • wziąć skompilowany zespoły na wejściu i generuje zestawy satelitarne.

Tłumaczymy zespoły, ponieważ pozwala to na lokalizację układu GUI. Aby umożliwić zewnętrznemu narzędziu otwieranie edytora GUI, potrzebuje kodu, który znajduje się w zespole.

Jeśli koncentrujesz się tylko na tłumaczeniu testowym, tłumaczenie resx jest prawdopodobnie łatwiejsze w obsłudze.

Takie narzędzie zewnętrzna zapewnia To ważne funkcje:

  • zebrać wszystkie ciąg razem, nie trzeba obsłużyć setki plików RESX
  • zarządzać tekst tłumaczenia wielu języków, głównie ze projektant GUI.
  • rozpoznać, czy tekst źródłowy został zmieniony, czy też został dodany, więc teraz, które teksty mają zostać przetłumaczone.
  • tłumaczenie zduplikowanych tekstów tylko jeden raz.
  • Zazwyczaj ładne edytowanie tłumaczeń.
  • eksport/import do formatu CSV i podobnych formatów do przetworzenia przez inne narzędzia lub nawet inne firmy.
2

Tak, cała struktura globalizacyjna w .NET jest oparta na plikach RESX i tworzonych przez nie zespołach satelitów. Po skompilowaniu głównej aplikacji, pliki RESX można niezależnie skompilować w swoje zestawy satelitów.

Wiem, że są narzędzia, które pomagają w procesie tłumaczenia, ale nie jestem znany z tego, co im się podoba.

Powiązane problemy