python - 如何在 python 中为多种语言编写文档字符串

标签 python internationalization multilingual docstring

我想为自己创建一个新模块,但我也希望一些同事能够使用它。我开始用英语编写我的文档字符串,但后来我意识到,对于那些不太了解这种语言的人来说,这会使该模块变得无用。

我的第一个想法是在同一个文档字符串上同时输入英语和西类牙语。但这似乎不太对,如果我想让一些俄罗斯 friend 也用它怎么办?如果我的 friend 在世界各地都有 friend ,但他们没有任何共同语言来阅读文档怎么办?

用多种语言编写和阅读文档字符串的最简单方法是什么?

最佳答案

我遇到了同样的问题;有点:cmd 模块使用 docstrings 向最终用户打印帮助,我真的需要一种方法来使用多种语言的 docstrings。这是我的做法:

看看这个awesome tutorial用于使用 gettext 模块。这使您能够翻译任何 Python 应用程序。我这样使用它:

import gettext
try:
    lang = gettext.translation('myawesomeapp', localedir='locale')
    lang.install()
except FileNotFoundError:
    _ = lambda x: x

现在,只要你想国际化文档字符串,请遵循以下模式:

class MyAwesomeClass:
    def incredible_method(with_fantastic_args):
        # Some marvellous code

    incredible_method.__doc__ = _('''\
Place here a fabulous docstrig for your incredible method.
This will be translated by the gettext module at runtime.''')

现在是时候阅读 that tutorial我之前提到过:在您的代码上调用 pygettext,使用 poedit 创建翻译,并享受乐趣。

再见,大家好。

关于python - 如何在 python 中为多种语言编写文档字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27214065/

相关文章:

python - 无法让 zinnia 在我的 django 应用程序中工作

php - 在 PHP 应用程序中支持多语言的最佳和最快方法是什么

google-app-engine - 可以从服务器使用 GWT 属性吗?

seo - 我需要 hreflang x-default 吗?我可以让多个 hreflang 指向同一个 URL 吗?

python - 管道代码跨越 Apache Beam/Dataflow 中的多个文件

python - 将 Flask 应用连接到 Websocket 服务器

java - StringResourceModel 仅适用于标签

php - Joomla、Falang集成组件... fatal error : Call to a member function getTable() on null

android - 多语言 Android 应用程序 : Display English keyboard in Email & Password fields

Python:使用 lambda 过滤列表