2013-03-19 10 views
5

OK, cel tego pytania nie jest ściśle związany z programowaniem, ale jest to pytanie, na które programiści mogą odpowiedzieć za pomocą narzędzi programistycznych, a programiści mogą znaleźć przydatne odpowiedzi tutaj. Niedźwiedź ze mną.W jaki sposób mogę dokonać inżynierii wstecznej plików lokalizacji w systemie Mac OS X w celu nauki języków naturalnych?

Uważam, że zmiana języka systemu w systemie Mac OS X jest użytecznym sposobem na zwiększenie mojej znajomości języków naturalnych, np. Francuskiego. Czasami jednak znajduję pozycję menu lub okno dialogowe w języku francuskim, którego nie rozumiem, a nudzenie tłumaczenia w języku angielskim lub zmiana języka systemu z powrotem na angielski. Ale wiem, że angielskie tłumaczenie jest ukryte gdzieś w pliku lokalizacyjnym i mapuje jakoś do francuskiej frazy. Tak więc chcę wyodrębnić cały tekst ze wszystkich plików lokalizacyjnych, aby opracować mapowanie tego wyrażenia w języku angielskim = to wyrażenie w języku francuskim, aby móc je łatwo wyszukać.

Wiem, że pliki lokalizacyjne są przechowywane w plikach Localizable.strings, lproj i nib, ale nie mogę odczytać, jak są przechowywane i jak z nimi pracować. Mogę programować, ale nigdy nie napisałem nic w Xcode. Wszystkie informacje, jakie mogę znaleźć, to dla programistów Mac OS/iOS zlokalizowanie ich oprogramowania, a nie dla hakerów do wyodrębniania już wykonanych informacji o lokalizacji.

Jak mogę wyodrębnić informacje o języku obcym jako zwykły tekst z systemu Mac OS X i plików lokalizacyjnych oprogramowania innej firmy? Dzięki!

Odpowiedz

1

Pliki tekstowe są łatwe. Są po prostu słownikami serializowanymi jako listy właściwości. Klawisze słownika są używane przez program do wyszukiwania podanego ciągu znaków dla określonej lokalizacji. Możesz zbudować mapowanie z języka angielskiego na inny, ładując oba słowniki, powtarzając klawisze i używając wartości ze słownika angielskiego jako klucza w danych wyjściowych, a wartość z innego słownika jako wartość wyjściową.

NIB są trudniejsze. Proces kompilacji "kompiluje" pliki NIB do postaci, która nie jest łatwa do edycji lub parsowania. Jeśli masz dostęp do nieskompilowanych plików NIB, możesz użyć ibtool --export-strings-file, aby zrzucić plik ciągów, który możesz następnie przetwarzać zgodnie z powyższym. Jeśli nie, to myślę, że możesz mieć ciężko.

+0

Dzięki za pomoc, rozumiem, co mówisz o przechowywaniu rzeczy na listach właściwości, ale nadal mam problem z ustaleniem, w jaki sposób różne pliki łańcuchów są powiązane i gdzie są zwykle przechowywane. – arandomlypickedname

+0

Czy możesz dokładnie wyjaśnić, z czym masz problem? – bdash

Powiązane problemy