如何在不打补丁的情况下本地化Python的argparse模块?

2024-01-12

当消息的某些部分是用户语言而其他部分是英语时,本地化的命令行应用程序看起来很奇怪。

我不知道当我从源代码安装 Python 3 时是否搞砸了任何东西,似乎没有*.mo文件,所以argparse(总体而言)没有本地化意识。

API 似乎也没有提供本地化方法。还是我错过了?

我可以修补argparse.py,但我不会,因为我希望它是可移植的,而且我不同意建议用户修补他们的 Python 安装。

Question简而言之:如何本地化argpase不修补Python标准库?

相关问题: 这可能吗?


默认情况下argparse使用gettext翻译消息的模块,以便您可以根据需要轻松翻译它们。

生成*.pot文件(您可以将其转换为*.mo翻译后的文件)您可以使用pygettext内置程序中可用gettextpython 中的模块。

Usage:

python pygettext.py argparse.py

这将生成一个messages.pot你可以翻译它,然后生成.mo(有很多方法可以做到这一点,只需谷歌)。

欲了解更多信息pygettext请参阅有关该主题的 Python 手册:国际化您的程序和模块 https://docs.python.org/3/library/gettext.html#internationalizing-your-programs-and-modules.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在不打补丁的情况下本地化Python的argparse模块? 的相关文章

随机推荐

  • Discord.py 时间表

    这就是我到目前为止所拥有的 确实适用于我想要的延迟秒数 但是如何添加时间模块或时间表模块以使其工作 以防万一我希望机器人每 24 小时发送一次消息 import discord import asyncio from discord ext
  • 什么是 git 上游

    当您创建了 github repo 并将 github repo 添加为远程时 git remote add origin https github com githubname reponame git 那么你需要推送你的第一次提交 gi
  • Firebase + 权限

    我刚刚将一款应用从 Firebase 9 0 0 更新到 Firebase 9 0 2 我使用消息 广告 compile com google firebase firebase messaging 9 0 2 compile com go
  • 将 Xml 解析为数组 (Swift)

    struct person var name var sex var age var personArray person 我的Xml字符串包含两组数据 a a
  • Bootstrap 菜单在单击时更改 li 活动类

    我通过引导程序有以下菜单 HTML div class navbar collapse collapse ul class nav navbar nav li class active a href Home Home a li li a
  • PHPExcel 导出不起作用:显示“无法访问该网站”

    我已经从服务器克隆了一个项目并安装在我的本地设置中 我正在尝试使用 PHPExcel 将 Excel 文件导出到浏览器 它在服务器中运行良好 但是本地设置有问题 我还检查了列和字段的数量 它们都很好 下面是代码
  • Rails gem Ransack -> 使用“is null”和特定值搜索“或条件”(field=x OR field IS NULL)

    我为我们的支持者制作了一个支持票系统 使用 ruby on Rails 进行编程 Ruby 1 9 3 Rails 3 2 有一个票证模型belongs to与用户 支持者 的关联 我使用 Ernie 的 gem Ransack 进行搜索
  • Intellij 尝试将 pom.xml 视为 jar 文件

    在尝试从 Intellij 运行测试 在 Maven 项目上 时 我不断收到下面提到的错误 my module Exception in parsing jar file for extract from jar path to pom x
  • WooCommerce:按产品类别划分的自定义购物车项目计数

    I found 这个脚本 https docs woothemes com document show cart contents total 这允许我在 WooCommerce 中的购物车图标上方显示购物车内容总数 a class car
  • 在 Windows 上使用 C++ 获取当前用户名

    我正在尝试创建一个程序 使用 C 在 Windows 上检索当前用户的用户名 我试过这个 char userName getenv LOGNAME stringstream ss string userNameString ss lt lt
  • 无法缩进 UITableViewCell 子类

    我对 UITableViewCell 进行了子类化 以创建带有一个按钮和 2 个标签的自定义单元格 使用 Dave Mark 的 Beginning iPhone Development 中概述的模式从 xib 加载单元格定义 这是基本代码
  • Entity Framework Core 是否支持 Union?

    我正在尝试使用 union 查询 EF Core 中的多个表 如下所示 但它不允许 请找到该查询 并附上 net core框架提供的错误提示上的图像 var query context Brand Select x gt new Brand
  • SWT 日期时间格式更改

    我正在使用 DateTime SWT 组件 它在显示时具有美国格式 mm dd yyyy 有什么方法可以将格式更改为 dd mm yyyy 吗 DateTime uses http dev eclipse org mhonarc lists
  • 使用 XPath 选择命名空间中的元素

    我想选择具有给定命名空间 前缀 的文档中最顶层的元素 更具体地说 我的 XML 文档要么以 html body 在 XHTML 命名空间中 开头 要么以特定命名空间中的多个元素之一开头 我实际上想删除 html body 并只返回正文内容或
  • jQuery 自动完成,将成功数据传递给 select 方法

    我有 json 响应 它有一些属性 我已经为列表创建了一个数组 当我单击列表项时 一些输入将由项目 ID 填充 为此 我正在考虑将完整的数据对象传递给 select 方法 然后如果单击列表中的某个项目 我将在数据对象中搜索 id 如果找到
  • beans 和 Jackson 库的问题

    HI 我正在使用 json 文件 如下所示 SourceFile videos KobeAlleyOop flv ExifTool ExifToolVersion 8 22 Warning Truncated mdat data Syste
  • 星号 (*) 在 VSCodestasks.json 中不起作用

    当我尝试运行具有多个模块的 C 项目时 它默认只编译选定的模块 我尝试编辑tasks json来编译文件夹中的每个C和头文件 但它只是将星号作为星号传递到我的命令行 我编辑了tasks json并尝试使用以下输出构建项目 Starting
  • Kotlin 的具体化类型对于 JVM 上的原语是否不正确?

    如果 Kotlin 函数调用具体化了一个原语 比如说Int 通过 类是装箱原语的类 而不是未装箱版本的类 inline fun
  • 使用 GCC 语句表达式的匿名函数

    这个问题并不是很具体 这确实是为了丰富我自己的 C 语言 我希望其他人也能发现它很有用 免责声明 我知道很多人都会有这样的冲动 如果你想尝试函数式编程 那么就使用函数式语言 我在需要链接到许多其他 C 库的嵌入式环境中工作 并且没有太多空间
  • 如何在不打补丁的情况下本地化Python的argparse模块?

    当消息的某些部分是用户语言而其他部分是英语时 本地化的命令行应用程序看起来很奇怪 我不知道当我从源代码安装 Python 3 时是否搞砸了任何东西 似乎没有 mo文件 所以argparse 总体而言 没有本地化意识 API 似乎也没有提供本