2012-07-12 8 views
6

Chcę przetłumaczyć ciągi w mojej aplikacji Python na moim Mac OS X 10.7. Mogę zaimportować moduł gettext, ale nie mogę znaleźć narzędzi pygettext.py i msgfmt.py, które zgodnie z dokumentacją Pythona powinny znajdować się gdzieś w mojej instalacji Pythona.pygettext.py i msgfmt.py na Mac OS X

Czy w preinstalowanej wersji Pythona na Mac OS X 10.7 brakuje tych narzędzi, a jeśli tak, w jaki sposób mogę je uzyskać?

Dzięki.

Odpowiedz

7

Oba te skrypty znajdują się w różnych katalogach narzędzi źródłowych Pythona. Katalog ten często nie jest zawarty w binarnej instalacji Pythona, takiej jak te dostarczone przez Apple w OS X. Łatwo jest jednak pobrać je oddzielnie od wydania źródłowego w Pythonie; zobacz najnowsze wersje: here. Na obecnym wydaniu Python 2.7.3, można wykonać następujące czynności:

$ curl -O http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz 
$ tar -xf Python-2.7.3.tgz 
$ cd Python-2.7.3 
$ cd Tools/i18n/ 
$ ls 
makelocalealias.py msgfmt.py*   pygettext.py* 

Począwszy Pythonie 3.2, katalog Tools jest instalowany Python.org OS X instalatorów binarne. Znajdziesz go wewnątrz ram Pythona w:

/Library/Frameworks/Python.framework/Versions/3.2/share/doc/python3.2/examples/Tools 
+0

Dzięki, pobrałem Narzędzia oddzielnie. – verbit

+0

na Macu 10.8.5 curl nie działał dla mnie, ale 'wget http: // www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz' zrobił trik – jrgray

0

Jeśli Python prawidłowo zainstalowany w systemie Linux powinieneś być w stanie uzyskać dostęp do wersji binarnych z poziomu wiersza poleceń. Tak, aby plik .pot, można wpisać:

$> pygettext [options] source_file_list 

znalazłem miałem dwie wersje pygettext, po jednym dla 2,7, a drugi do 3.2, ale wydaje się działać bardzo podobnie. Aby utworzyć pliki .mo z plików .po:

$> msgfmt [options] file.po 

ale trzeba się upewnić, że nie przypadkowo użyć wersji GNU. Wersja msgfmt w języku Python jest znacznie prostsza. Oba polecenia mają pomocy, dzięki czemu można sprawdzić opcje (i wersje) z:

$> pygettext --help 

i

$> msgfmt --help 

W razie wątpliwości, pobierając źródła Pythona jak zasugerowano powyżej pasa-i-szelki podejście.

ja wciąż znalezienie mój odwrotnie i18n siebie, więc jeśli ktoś wie lepiej, proszę dodać komentarze :)

7

z Python 3 i MacOS> = 10,9, poprzez zainstalowanie gettext homebrew nie odwołują się do bibliotek i spowoduje to błąd Can't find msgfmt.

Pomaga:

$ brew install gettext # if not already done 
$ brew link gettext --force 

Dzięki https://stackoverflow.com/a/8785138/621690