8

Mac OS X 10.7 の Python アプリで文字列を翻訳したいと考えています。モジュールをインポートgettextできますが、ツールpygettext.pyとが見つかりませんmsgfmt.py。Python ドキュメントによると、Python インストールのどこかにあるはずです。

Mac OS X 10.7 にプリインストールされている Python バージョンにはこれらのツールがありませんか? はいの場合、どうすれば入手できますか?

ありがとう。

4

5 に答える 5

14

Python 3 および MacOS >= 10.9 では、gettexthomebrew 経由でインストールしてもライブラリがリンクされず、エラーが発生しますCan't find msgfmt

これは次のことに役立ちます。

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

https://stackoverflow.com/a/8785138/621690に感謝

于 2015-09-28T11:23:16.933 に答える
8

これらのスクリプトは両方とも、Python ソースのその他の Tools ディレクトリにあります。このディレクトリは、多くの場合、Apple が OS X で提供するものなど、Python のバイナリ インストールには含まれていません。ただし、Python ソース リリースから個別にダウンロードするのは簡単です。ここで最新のリリースを参照してください。現在の Python 2.7.3 リリースでは、次のことができます。

$ 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*

Python 3.2 以降、Toolsディレクトリは python.org OS X バイナリ インストーラーによってインストールされます。次の Python フレームワーク内にあります。

/Library/Frameworks/Python.framework/Versions/3.2/share/doc/python3.2/examples/Tools
于 2012-07-12T17:22:52.680 に答える
1

シンボリックリンクを作成する

sudo ln -s /Library/Frameworks/Python.framework/Versions/3.7/share/doc/python3.7/examples/Tools/i18n/pygettext.py /usr/local/bin/pygettext
于 2019-03-29T20:36:52.263 に答える
0

Python が Linux に正しくインストールされている場合は、コマンド ラインからバイナリ バージョンにアクセスできるはずです。したがって、.pot ファイルを作成するには、次のように入力します。

    $> pygettext [options] source_file_list

2.7 用と 3.2 用の 2 つのバージョンの pygettext があることがわかりましたが、ほとんど同じように動作するようです。.po ファイルから .mo ファイルを作成するには:

    $> msgfmt [options] file.po

ただし、誤って gnu バージョンを使用しないようにする必要があります。msgfmt の Python バージョンは、はるかに単純です。どちらのコマンドにもヘルプがあるため、次のコマンドでオプション (およびバージョン) を確認できます。

    $> pygettext --help

    $> msgfmt --help

確信が持てない場合は、上記の方法で Python ソースをダウンロードするのが、ベルトとブレースのアプローチです。

私はまだ自分自身で i18n を回避する方法を見つけているので、誰かがよりよく知っている場合は、コメントを追加してください:)

于 2012-07-30T03:18:46.073 に答える