6

私はブラジル人が使用する Python ライブラリで作業しています。ここで話す公式言語はポルトガル語です。基本的に、ポルトガル語で例外メッセージを取得したいです。次に例を示します。

得る代わりに...

>>> float('A')
ValueError: could not convert string to float: A

これを手に入れたい...

>>> float('A')
ValueError: não é possível converter a string para um float: A

それを行う方法はありますか?

4

3 に答える 3

5

CPython 実装は、エラー メッセージを自動的にローカライズする手段を提供しません。したがって、すべての python のエラー メッセージをポルトガル語で書き直し、多数のtry...exceptブロックを追加するかsys.excepthook、例外を処理するために置換する必要があります。

これを行う予定がある場合はgettext、ローカライズにモジュールを使用することを検討します。

他の Python 実装にはローカライズされたエラー メッセージがあります (IronPython など)。

私の意見では、あなたがやりたいことは良い習慣ではありません。これらのブラジルの開発者は、python/libraries のドキュメント (おそらくすべてがポルトガル語に翻訳されているわけではありません) を見たい場合、とにかく少し英語を知っている必要があります。

また、エラー メッセージをローカライズすると、Web 上でエラー メッセージを検索するのが非常に難しくなります。

于 2013-04-19T14:14:00.900 に答える
2

Python のデフォルト言語は英語であり、英語を使用することが常に推奨されます (PEP 8 に従って)。

したがって、私の知る限り、彼らはこのような異なる言語の使用をサポート/推奨していないため、すべてを自分で変更する必要があります。

于 2013-04-19T14:09:04.190 に答える
2

Python (実際には CPython) には現在、国際化されたエラー メッセージはありません。2012 年、 Mariano Reingartはバグ レポート #16344でこれを要求し、「 Traceback Internationalization Proposal 」と呼ばれました。多くの議論の後、彼らはこのPEP ドラフトをさらに議論する前に進める必要があることに同意したため、バグは 2015 年にクローズされました。

おそらく、このバグ レポートまたは Python Dev メーリング リストに飛び込んで意見を表明し、この件に関する関心を高めてください。また、Reingart に連絡して、この問題の現在の状況について質問することもできます。

于 2020-07-27T23:17:02.060 に答える