首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    gettext模块实现Python国际化

    后者允许你在一个python模块内进行本地化,非常适用于在应用程序运行时切换你的语言。...先在工程目录下创建存放mo文件的locale目录,目录结构要和系统的locale目录结构一样: ? 然后在对应目录下生成不同的mo文件 ? ok!...到目前为止所有准备工作完成 补充: 注:上面的步骤也可以用poedit这款软件完成,官网上有详细的使用教程 另外,一旦python代码中要翻译的字符串发生变化(修改、增删),需要重新生成po文件时,可以用...目录下搜索对应语言的二进制APP_NAME.mo文件 gettext.bindtextdomain(APP_NAME, LOCALE_DIR) # 声明使用现在的域,可以使用多个域,便可以为同一种语言提供多套翻译...可以看到,可以在程序中同时输出中文和英文。 到此为止,两种在python中添加国际化支持的方式介绍完毕。

    2.8K10

    python i18n实现

    10 Mar 2016 python i18n实现 本文简单介绍python实现i18n的方法。...指让产品(出版物,软件和硬件等)无需做大的改变就能够适应不同的语言和地区的需要,对软件来说,表示在不修改内部代码的情况下,能根据不同语言及地区显示相应的界面,本文以中文和英文作为例子,当系统默认语言是中文时...二进制文件,使用python的i18n工具msgfmt.py,且需在代码所在目录下提前创建以下目录: locale/cn/LC_MESSAGES/ locale/en/LC_MESSAGES/ 指定中文...mo文件输出路径到locale/cn/LC_MESSAGES/,英文的mo文件路径为locale/en/LC_MESSAGES/,mo文件名称必须相同,都是i18n_demo.mo。...创建中文mo文件: python msgfmt.py -o locale/cn/LC_MESSAGES/i18n_demo.mo cn.po 创建英文mo文件: python msgfmt.py -o

    2.1K70

    gettext安装及使用

    的bin目录路径:收起代码语言:TXTAI代码解释C:\ProgramFiles\gettext\bin点击"确定"保存所有更改验证安装安装完成后,验证gettext是否正常工作:收起代码语言:TXTAI...xgettext(GNUgettext-tools)0.21Copyright(C)1995-2020FreeSoftwareFoundation,Inc.在Python项目中使用创建测试文件test.py..."文件未找到"编译翻译文件收起代码语言:TXTAI代码解释#编译.po文件为.mo文件msgfmtzh_CN.po-ozh_CN.mo使用gettext实现多语言支持⁠gettext是一个用于国际化(i18n...:在源代码中,使用`gettext`函数标记需要翻译的字符串:`src/main.c`:收起代码语言:TXTAI代码解释#include#include#include...编译翻译文件:使用`msgfmt`将`.po`文件编译为机器可读的`.mo`文件。

    23910

    多语言中的 .POT .PO .MO 和 xgettext

    gettext() 替换为 _(),同样是可以被提取的,这个上面所谓的标识了,更多细节可以在参考链接中找到对于这个程序的参数解释。...模板文件中所有翻译字符串留空,一个 POT 文件本质上是一个没有翻译的空 PO 文件,只有原始字符串。....MO mo 代表 Machine Object,这是一个二进制数据文件,是 po 文件编译后的产物,通常我们汉化程序或者主题时,如果没有 pot 或者 po 文件的话,可以用 mo 文件反编译出 po...下图是 GNU gettext 程序在多语言中的协作关系。...如果没有 .POT 文件充当一个模板,原先翻译好的 .po 文件就会被改动,新的待翻译内容和已被翻译的内容掺杂在一个文件中,如何解析拆分?

    2.4K31

    Python操控Excel:使用Python在主文件中添加其他工作簿中的数据

    标签:Python与Excel,合并工作簿 本文介绍使用Python向Excel主文件添加新数据的最佳方法。该方法可以保存主数据格式和文件中的所有内容。...安装库 本文使用xlwings库,一个操控Excel文件的最好的Python库。...图2 可以看出: 1.主文件包含两个工作表,都含有数据。 2.每个工作表都有其格式。 3.想要在每个工作表的最后一行下面的空行开始添加数据。如图2所示,在“湖北”工作表中,是在第5行开始添加新数据。...使用Python很容易获取所有Excel工作表,如下图3所示。注意,它返回一个Sheets对象,是Excel工作表的集合,可以使用索引来访问每个单独的工作表。...要获取工作表名称,只需调用.name属性。 图3 接下来,要解决如何将新数据放置在想要的位置。 这里,要将新数据放置在紧邻工作表最后一行的下一行,例如上图2中的第5行。

    12.8K20

    Django 实战:I18N 国际化与本地化配置、翻译与切换一步到位

    惰性翻译:gettext_lazy会延迟翻译计算,直到实际渲染时才会根据当前请求语言动态加载,而 gettext 在模块加载时即固定翻译结果二、安装配置安装 gettext下载64位 share 安装包...安装后检查是否可识别:msguniq --version# 上述命令如果在VSCode的终端无法识别,可以在CMD中运行配置 settings.py在 Django 项目的 settings.py 文件中进行如下配置...默认情况下,脚本检查具有 .html、.txt 或 .py 文件扩展名的每个文件。可通过-e选项指定。...*.po的是消息文件,必须使用 UTF-8 编码msgid :显示在源代码中需要翻译的字符串。....po 文件内容,编译并创建对应的 .mo 文件。

    28700

    flask babel使用(flask 107)

    image 然后在 hello.py 的同一级目录下创建一个叫 templates 的文件夹,在其中写一个 index.html,内容如下: ?...首先我们将这个 app “国际化”,为模板和 .py 文件中的每一个字符串添加一个 gettext 函数,由于 gettext 函数被引用的次数太多了,为了方便手写,就将其 import 为 “_”:...设置 Babel 接下来我们要做的是 babel 的配置。在 hello.py 的同级目录创建一个叫 babel.cfg 的文件,内容如下: ?...注意结尾的点“.”,这个点表示当前目录,目录是 pybabel 必须的参数,官方文档中缺少这个点,所以命令是无法执行成功的。...编译翻译结果 翻译完后执行下面的命令,为其编译出 message.mo 文件: $ pybabel compile -d translations 如果上述命令无法生成 messages.mo 文件,那你需要将

    1.1K20

    混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该...

    今天在把以前写的代码生成工具从原来的.NET3.5升级到.NET4.0,同时准备进一步完善,将程序集都更新后,一运行程序在一处方法调用时报出了一个异常: 混合模式程序集是针对“v2.0.50727”版的运行时生成的...,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集 其调用的方法是从sqlite数据库中获取原来已经使用过的数据库连接,当时也没注意,就是准备设断点然后单步调试,结果竟然是断点无法进入方法体内...),而目前官方也没有给出最新的.NET4的数据访问支持。...既然出现这个问题,那肯定是上GOOGLE搜索解决方案,毕竟微软不可能因为升级到了.NET4.0的程序无法访问.NET2.0的程序集吧。...注意:由于config配置文件的特性,如果在config配置文件中存在configSections节点,则必须将configSections放在一个,否则会引发异常:配置系统未能初始化 在原来.NET2.0

    3.2K100

    带你认识 flask 国际化和本地化

    支持多语言的常规流程是在源代码中标记所有需要翻译的文本。文本标记后,Flask-Babel将扫描所有文件,并使用gettext工具将这些文本提取到单独的翻译文件中。...', username=username)) 还有更难处理的情况。有些字符串文字并非是在发生请求时分配的,比如在应用启动时。因此在评估这些文本时,无法知道要使用哪种语言。...在每个语言存储库中创建的messages.po文件使用的格式是语言翻译的事实标准,使用的格式为gettext。...,此文件当然也在其中,所以你不必担心这部分的翻译工作。....mo文件是Flask-Babel将用于为应用程序加载翻译的文件。 在为西班牙语或任何其他添加到项目中的语言创建messages.mo文件之后,可以在应用中使用这些语言。

    2.3K30

    掌握Linux Shell参数本地化(轻松实现多语言支持的脚本开发)

    在编写 Linux Shell 脚本时,你是否想过让你的脚本能自动适配不同语言环境?比如在中文系统中显示中文提示,在英文系统中显示英文提示?...为什么需要本地化?提升用户体验:用户看到自己熟悉的语言,操作更顺畅。增强脚本专业性:适用于国际团队或多语言部署环境。符合开源社区规范:很多开源项目都要求支持多语言。...它支持完整的翻译流程,包括提取字符串、生成 .po 文件、编译为 .mo 文件等。步骤简述:在脚本中用 gettext "字符串" 包裹所有需翻译的文本。...使用 xgettext 提取这些字符串生成 .pot 模板文件。为每种语言创建 .po 文件并翻译。用 msgfmt 编译 .po 为 .mo 文件,放入指定目录。运行脚本时自动加载对应语言的翻译。...虽然 gettext 学习曲线稍陡,但它是实现 Shell 脚本国际化 的标准方案,值得深入学习。小贴士:测试不同语言环境你可以在终端临时切换语言来测试脚本效果:LANG=zh_CN.UTF-8 .

    17710

    Hive在spark2.0.0启动时无法访问..libspark-assembly-*.jar: 没有那个文件或目录的解决办法

    无法访问/home/ndscbigdata/soft/spark-2.0.0/lib/spark-assembly-*.jar: 没有那个文件或目录。...而这一行究竟是怎么回事,网上没有任何有关的资料。 没办法,只好一步一步分析,终于找到问题的症结。...其主要的原因是:在hive.sh的文件中,发现了这样的命令,原来初始当spark存在的时候,进行spark中相关的JAR包的加载。...而自从spark升级到2.0.0之后,原有的lib的整个大JAR包已经被分散的小JAR包的替代,所以肯定没有办法找到这个spark-assembly的JAR包。这就是问题所在。...这也印证了各个软件升级过程中如何涉及到自动联运或者向下兼容的问题。

    3K80

    Typecho配置多国语支持,检查客户端语言自动切换翻译

    但是官方提供的翻译文件都是 .po 文件,Typecho 并不支持 .po 文件,可以将 .po 文件编译成 .mo 文件,参考这篇文章:gettext msgfmt安装及po/mo文件编译转换 我把转换好的文件也上传到我的项目仓库了...:GitHub / 我自己搭建的GitLab 直接下载:点击下载 下载完解压得到 .mo 文件,将这些文件放到 Typecho 根目录下的 /usr/langs/ 文件夹下,如果没有,需要手动创建。...在控制台 -> 设置 -> 基本 设置页面就可以看到语言选项了。 配置自动切换语言: 打开 Typecho 根目录下的 /var/Typecho/I18n.php 文件(注意是文件不是文件夹)。...找到如下内容: /**  * 初始化语言文件  *  * @access private  */ private static function init() {     /** GetText支持 *...$langConfig.".mo");          /** GetText支持 */     if (false === self::$_loaded && $langConfig && file_exists

    2.6K10
    领券