2009-09-02 14 views
23

Mam aplikację napisaną w języku Java, która jest kierowana na kilka krajów, z których wszystkie mówią w różnych językach (i najczęściej, w kilku językach - to Europa dla ciebie).Zarządzanie lokalizacją plików właściwości Java

Mamy kilka plików .properties, które przechowują zlokalizowane ciągi, a nasza obecna procedura polega na wysyłaniu pocztą e-mail plików specyficznych dla języka do naszych partnerów w celu aktualizacji przed wykonaniem większych aktualizacji.

Jednak proces ten jest raczej podatny na błędy, ponieważ czasami ludzie zapominają tłumaczyć nowe ciągi, a czasami nowe ciągi nie są dodawane do każdego pliku językowego, więc małe błędy przechodzą bardzo łatwo.

Czy ktoś wie o istniejącym oprogramowaniu, które może nam pomóc usunąć ten bałagan?

Myślę o czymś, co pozwoli na załadowanie pliku głównego (na przykład w języku angielskim), zlokalizowanego pliku, a następnie podświetli klucze, które zostały dodane lub usunięte z wzorca plik.

+0

To był mój pierwszy projekt jako stażysta ;-P! Niestety było to narzędzie wewnętrzne. –

Odpowiedz

9

Użyłem w tym celu Jinto, jak również EPFE (starsza wersja, nie próbowałem najnowszej).

Oba są wtyczkami Eclipse, obie są całkiem przyzwoite, jeśli można pominąć fakt, że będą zmieniać kolejność kluczy w pakietach zasobów. Jest też Babel - Nie próbowałem tego osobiście, więc nie wiem, jak dobrze jest.

+0

To są naprawdę ciekawe projekty, ale niestety nie wydają się być czymś odpowiednim dla nietechnicznych tłumaczy bez poważniejszej pracy. – andri

+0

@andri - co masz na myśli mówiąc "poważna praca"? Musisz zainstalować Eclipse i jedną z tych wtyczek - to wszystko; później nie ma nic "technicznego". Twoi tłumacze zobaczą ekran podobny do tego: http://www.guh-software.de/images/jinto1.gif, wykonajcie swoje zadanie, a otrzymacie swój pakiet zasobów. Jeśli czujesz się na siłach :-) możesz nawet pokazać im, jak to sprawdzić w Eclipse. – ChssPly76

+0

Mam na myśli, że użytkownicy są * nietechniczne * - instalacja Eclipse i wtyczki, nie wspominając o korzystaniu z SCM, jest daleko poza nimi. Musiałbym stworzyć pakiet z rozebranym Eclipsem (ponieważ nadmierna funkcjonalność musi je pomylić) z tylko tymi wtyczkami i mam nadzieję, że nie zepsują czegoś podczas instalacji. – andri

0

Celem projektu CAL10N jest zajęcie się tym problemem. Opiera się na pakunkach zasobów, dodając prymitywy weryfikacji. Jest również dość łatwy w użyciu.

3

Netbeans ma naprawdę doskonały edytor właściwości Java, który pokazuje każdy z ustawień lokalnych obok siebie. Możesz łatwo sprawdzić, które właściwości są nieobecne w różnych językach.

+0

Biorąc pod uwagę, że Jinto nie zostało zaktualizowane, a [MultiProperties] (http://code.google.com/a/eclipselabs.org/p/multiproperties/) działa, ale używa niestandardowego XML, NetBeans wydaje się najlepszym wyborem - nawet dla Użytkownicy Eclipse. –

1

Czasami ludzie zapominają tłumaczyć nowe struny, a czasem nowe ciągi nie są dodawane do każdego pliku językowego, przez co małe błędy przechodzą bardzo łatwo.

używam nieco inną podejście, że wysyłanie plików .Properties zawierające istniejące zlokalizowane ciągi połączone z nowymi nieprzetłumaczonych ciągów w porządku, że chcę je z powrotem.

Nowe ciągi są oznaczone znakami "pseudo-translacyjnymi", więc nieprzetłumaczone ciągi są łatwe do znalezienia za pomocą prostego wyszukiwania tekstu.

Tłumacze bardzo rzadko tracą właściwości lub zapominają tłumaczyć napisy. Najczęstszym błędem jest zapomnieć o usunięciu znaków pseudo-translacyjnych z nowo przetłumaczonych ciągów. Kontrola różnicy przed wprowadzeniem nowych tłumaczeń z powrotem do systemu kontroli wersji jest bardzo dobra w wychwytywaniu tych błędów.

Ten system działa naprawdę dobrze, a teraz, gdy jest on półautomatyczny, każda aktualizacja lokalizacji zajmuje około godziny, a nie 1-2 dni, które były używane, gdy proces był całkowicie ręczny.

Napisałem własne narzędzie do generowania scalonych plików i wykonałem trójstronne porównanie nowych masterów, starych zlokalizowanych plików i nowo wygenerowanych scalonych plików, ale każde narzędzie, które łączy zmiany w ten sam sposób, działałoby z ten proces.

3

Do importowania, zarządzania i potencjalnie nawet zamawiania tłumaczeń dla języków, dla których nie masz tłumaczy wewnętrznych, ciąg myGengo (http://mygengo.com/string/about) jest bezpłatnym rozwiązaniem hostowanym. Obsługuje importowanie różnych plików językowych dla różnych platform. (Pełne ujawnienie - jestem współzałożycielem myGengo)

+0

Twoje narzędzie wygląda bardzo ładnie. Czy istnieje jakiś zalecany lub nawet wdrożony proces łączenia z kontrolą wersji? Chcę, aby inni tłumaczyli moje pliki, ale muszę też zachować ostateczne wyniki kontroli wersji. – Lunikon

+0

+1 na tej jednej, jakichkolwiek działaniach związanych z przepływem pracy? –

1

Używałem JRC Editor do zarządzania paczkami zasobów. Podświetli klucze, których brakuje, jak pokazano poniżej: screen shot.

Umożliwia także pracę z pakietami w języku ojczystym (w związku z tym przyjaznym użytkownikowi końcowemu) i przekształca znaki w odpowiedniki "\ uxxx" za kulisami.

+0

Może być interesujący, ale czy przychodzi na dowolny system operacyjny oprócz Windows 3.1? –

3

Nawet jeśli jest to poza zakresem czasowym dla oryginalnego plakatu:

i18nBinder

jest mrówka zadanie do konwersji plików własności do pliku XLS Excel.

Ustawienia regionalne są umieszczone w kolumnach dla każdego klawisza (wiersza).

Następnie zapisuje zmiany w pliku xls z powrotem do oryginalnych plików. To bardzo przydatne i ponieważ używasz Excela do edycji, wszyscy to wiedzą.

poważaniem

0

Odpowiedź jest trochę późno, ale na przyszłość jest także Tongue-Tied. Jest to otwarta aplikacja internetowa do zarządzania statycznymi zasobami i tłumaczeniami. Tłumaczenia można wprowadzać za pośrednictwem interfejsu internetowego. Obsługuje importowanie/eksportowanie wielu formatów, takich jak pliki właściwości Java, plik Excel, CSV itp. Ma również mały przepływ pracy, jeśli jest to konieczne.

Oświadczenie: Jestem kierownikiem projektu.

5

używamy usługi https://webtranslateit.com/ jako usługa hostowana.

Nasz serwer ciągłej integracji ładuje nasz (angielski) plik właściwości Java, gdy pojawiają się zmiany. Użytkownicy różnych języków mogą następnie logować się i aktualizować swoje tłumaczenia.

Istnieje ładne API, które pozwala nam pobierać tłumaczenia "w locie" dla naszej aplikacji internetowej, ale jest to rozwiązanie wewnętrzne tylko w tej chwili.

W przypadku wydania pobieramy pliki, pakujemy je za pomocą naszej aplikacji i wdrażamy.

Rozwiązanie przedstawia, co jest tłumaczone, nieprzetłumaczone, wymaga weryfikacji, oferuje pamięć tłumaczeniową i integrację, np. Z Tłumaczem Google.

Pozdrawiamy, Alexander.

-1

Wow, jestem zaskoczony, jak szalone jest to, że ludzie nie badali oczywistego importu w Excelu.

Przejdź do Excela -> importuj -> wybierz plik właściwości (wybierz wszystkie pliki w otwartym typie pliku).

Pojawi się pytanie, czy chcesz, aby kolumny zostały rozdzielone, zaznacz tę opcję.

Na następnym ekranie procesu importu, byłoby zapytać, jaki rodzaj separatora chcesz wybrać inny i umieścić „=” w polu (bez cudzysłowów)

Wybierz obok i voila. Masz arkusz Excela z właściwościami gotowymi do działania.

+0

Co ma wspólnego pytanie z programem Excel? –

+1

Spowodowałoby to wiele problemów, począwszy od pytania o obsługę cytatów po pierwszym. Potem są ucieczki unicode. I prawdopodobnie kilka innych. –

+1

To brzmi nieźle, ale myślę, że będziesz mieć problemy z unicodami. A co powiesz na ponowne eksportowanie pliku właściwości. – OblongZebra

0

Próbowałem Everit - i18n Props XLS Converter i spełnia swoje zadanie.

Możesz określić lokalizację swoich właściwości .pop zawierających tłumaczenia, a otrzymasz plik .xls wypełniony wszystkimi zawartymi w nim wartościami.

W tym miejscu możesz wysłać xls do swoich tłumaczy, którzy wypełnią go odpowiednimi tłumaczeniami, a następnie przekonwertować je z powrotem do pliku .properties, aby użyć go w projekcie java.

Projekt jest hostowany w github i musi być zbudowany przy użyciu maven i jdk8.

Powiązane problemy