首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何转义 gettext .po 文件中的美元符号?

在gettext的.po文件中,美元符号($)通常用于表示变量。如果您需要在翻译文本中使用美元符号,而不是将其视为变量,您需要使用一种转义方法。以下是转义gettext .po文件中的美元符号的方法:

  1. 使用双美元符号($$):在需要显示美元符号的地方,使用两个美元符号来表示一个美元符号。例如,如果您需要翻译文本“价格:$10”,则可以在.po文件中编写如下内容:
代码语言:txt
复制
msgid "价格:$10"
msgstr "价格:$$10"
  1. 使用反斜杠(\):在需要显示美元符号的地方,使用反斜杠对其进行转义。例如,如果您需要翻译文本“价格:$10”,则可以在.po文件中编写如下内容:
代码语言:txt
复制
msgid "价格:$10"
msgstr "价格:\$10"

这两种方法都可以在gettext .po文件中转义美元符号,使其在翻译后的文本中正确显示。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何理解Power Query中的“#”转义字符?

我们平时所听说的ASCII就是其中的一部分,只是前128个字符,包括英文字符,数字及一些常用符号(不包括汉字)。...字符区间 16进制编码区间 0..9 0031-0039 A..Z 0041-005A a..z 0061-007A 一..龥 4E00-9FA5 在Power Query中,使用List生成列表,必须是升序的...(是根据Unicode编码进行的升序) 另外其中主要的3个符号类的,有自己的简称,我们记住简称即可。...例如我们需要日语的片假名,韩语字符,特殊的符号等都可以进行查找,查找到后就可以把对应的16位进制的编号记下,以后就可以方便转义了。...了解了Unicode编码,那我们看下,在Power Query中如何使用转义字符"#"进行转换。 例1:通过"#"直接进行16进制Unicode编码转义。

3.2K10

一日一技:批量转义正则表达式中的特殊符号

为了防止出现诈骗行为,我们会对游戏内的聊天记录进行监控。...我们发现最近出现了一批神秘的聊天消息,这些消息的特征为: 表情符号微信号好玩 例如: (^_^)加wei辛8五⑦久久二爸好玩~_>我的Q扣八七3玖二流好玩 这些聊天记录总是以表情符号开头,以 好玩结尾。...但在实际使用过程中,我们发现颜文字里面有非常多的小括号、中括号、大括号、星号、点号、问号之类的符号,这些符号在正则表达式里面有特殊用途,如果直接评价成一个pattern,就会导致正则表达式匹配出问题。...re.escape可以把传给他们的字符串里面,所有有特殊意义的符号前面加上反斜杠,但又不影响正常的字符。 例如: import reslogan = '你好,{产品经理*_*?'...特别注意:在Python 3.6或之前版本,除了Ascii字符之外的其他字符都会被加上反斜杠。 从Python 3.7开始,只有在正则表达式里面有特殊意义的符号才会被加上反斜杠。

1.6K30
  • Unix系统中nm命令展示目标文件符号的方法

    nm:显示目标文件中的符号; objdump:打印目标文件中的详细信息; readelf:显示关于 ELF 目标文件的信息。...【GNU nm命令展示nm参数中的所有目标文件中的符号(默认目标文件是a.out)】 For each symbol, nm shows: o The symbol...【小目标文件中的未初始化的数据段的符号】 "i" For PE format files this indicates that the symbol is in a section...【未定义的符号,需要从其它对象文件中链接进来】 "u" The symbol is a unique global symbol....【对每个符号,使用调试信息(对象文件编译时增加-g选项)以便找到文件名和行号。对于已定义的符号,查找符号地址的行号。对于未定义符号,查找指向符号重定位入口的行号。

    16910

    Flask-Admin修改成中文显示

    但是关闭自动转义是一个很冒险的行为,渲染用户的输入并且不进行转义是很不安全的。 赋值给 when 占位符的文本是安全的,因为它是我们的 momentjs() 封装函数生成的文本。...在它里面有另一个名为 LC_MESSAGES 的目录,在它里面有一个messages.po 文件。...这一步会读取 .po 文件的内容并且会在相同的目录下生成一个名为 .mo 的编译的版本。...任何没有放入 gettext() 或者 _() 的字符串都不会在翻译文件中,因此 Babel 不会感知这些,它们依然保持英文。...一旦每一个语言文件夹的 messages.po 文件被更新了,我们可以运行 poedit 查看更新的文本,接着重复 pybabel compile 命令使得新的文本对应用程序可用。

    1.7K31

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

    (命令行中),其功能是抽取给定的文件中可供翻译的字符串。....PO po 是 portable object file 的缩写,.po 文件可以看做是 .pot 文件的子集,因为 pot 文件和 po 文件从语法上来看是一致的,只不过填充了翻译的内容。....MO mo 代表 Machine Object,这是一个二进制数据文件,是 po 文件编译后的产物,通常我们汉化程序或者主题时,如果没有 pot 或者 po 文件的话,可以用 mo 文件反编译出 po...如果没有 .POT 文件充当一个模板,原先翻译好的 .po 文件就会被改动,新的待翻译内容和已被翻译的内容掺杂在一个文件中,如何解析拆分?...如何开始 最简单的方式就是直接新建一个 .po 的文件,然后复制黏贴下面这段字符,即可使用 poedit 进行编辑,如果没有 msgid 和 msgstr 的话,将这个文件拖拽到 poeditor 是会报错的

    1.8K31

    软件本地化中的 10 个常见错误

    浅谈 web 前端开发中的国际化 一文中做过详细的介绍。如何避免误用本地化,可以注意以下 10 点: 1....以 Python 为例,在 .po 资源文件中保存了每种 locale 的翻译: # ....比较正确的方式是基于 locale 在资源文件中包含一个指示方向的字符串,并根据其调用不同的 CSS 样式。...尽可能在资源文件中使用可读性强的 key,比如 toContact 或 contactButton 通过 key 还难以说明的,应该在本地化文件中添加注释和说明 如果基于 Excel 工作表管理翻译字段...尽可能分离图片和文字,用独立的文本组件去实现效果 也要注意跨文化的区别,不是所有图像和符号在每种文化中表达的意思都相同 10.

    73910

    macOS下利用dSYM文件将crash文件中的内存地址转换为可读符号

    macOS下的symbolicatecrash也具备相应的功能。对应于Windows下的pdb文件,macOS下的crash文件解析需要用到dSYM文件。...当程序崩溃时,通过symbolicatecrash对crash文件和dSYM文件中的符号进行映射,即可将crash文件中的内存地址转换为可读的字符串。以前的博文中也进行过总结,但是并没有具体实践。...倒是发现了一些链接转而求其次使用了其他方法,就是不全文解析crash文件。而是解析我们感兴趣的内存地址的符号。其方法是:先找到Image的load address,如下: ?    ...这里我的程序在内存中的加载位置为0x10c680000(尖括号中的字符串是程序的UUID)。再次找到我们感兴趣的内存地址,如下: ?      再次运行命令: ?    ...至此即可分析出特定地址的符号了,调试的时候也可以确定大致的位置了。至于为什么不能全文解析crash文件暂时还不清楚。

    2.6K100

    gettext模块实现Python国际化

    ---- 2.通用步骤 (1)无论是使用哪一套API,都必须提取可以翻译的字符串并且生成一个翻译模板文件.pot (2)然后生成对应于不同语言翻译的文件.po (3)我们在应用程序中使用是的二进制格式的...(d)用msginit生成对应于不同语言翻译的文件.po,例如简体中文zh_CN和英文en: ? ?...注意过程中,可能会询问你的email地址,直接回车即可 (e)编辑po文件,填写需要翻译的字符串对应的译文字符串,例如zh_CN.po: ?...这里msgid后面的字符串就是需要翻译的字符串,msgstr后面就是译文字符串。对en.po重复(e)操作 (f)使用msgfmt命令从po生成二进制文件mo,也是应用程序需要使用的文件。...到目前为止所有准备工作完成 补充: 注:上面的步骤也可以用poedit这款软件完成,官网上有详细的使用教程 另外,一旦python代码中要翻译的字符串发生变化(修改、增删),需要重新生成po文件时,可以用

    2.5K10

    django2.2 国际化实践

    中查找 Template 源文件 'OPTIONS': { 'context_processors': [ "django.template.context_processors.i18n...= [ os.path.join(BASE_DIR, 'locale'), # 翻译文件所在目录,请手动创建目录 ] 安装 gettext Django 框架具有很好的 I18N 和 L10N...的支持,其实现是基于 GNU 的 gettext, 所以要想在 Django 中使用 I18N 还需要先安装配置 gettext。...文件( LOCALE_PATHS 对应语言目录下 - 具体看下图,这个里面就是我们手动写翻译的地方) django.po 文件: 如果执行命令:python manage.py makemessages...那么可能是:gettext 版本不对 或者 安装后没有加入到环境变量 手工翻译需要的 msgid 找到 settings 里面配置的 LOCALE_PATHS 下的 django.po 文件,开始你的编辑之路

    64840

    tornado with i18n

    tornado中使用i18n需要下面两个工具 两个工具:pygettext,msgfmt,两个相关文件:po文件和mo文件 pygetext和msgfmt的使用方法: 编写python代码文件 test.py...文件,更改文件后缀 mv messages.pot messages.po 配置msgstr值 生成一个名为messages.mo文件: msgfmt messages.po 建立目录locale/cn.../LC_MESSAGES/ mv messages.po locale/cn/LC_MESSAGES cn目录是所对应的语言,LC_MESSAGES是gettext.py文件里要求的 mo文件必须和所定义的域同名...-name \*.py) $(find template/ -name \*.html) 查找所有需要翻译的相关项生成 po 文件 $msgfmt openquant.po -o locale/zh_CN.../LC_MESSAGES/openquant.mo 生成mo文件 完成相关文件的生成后,需要在代码中加载: tornado.locale.load_gettext_translations(options.I18N_PATH

    1.1K10

    python gettext使用

    python中使用gettext进行语言国际化的方法 1.编辑源代码, 保存为gettextdemo.py import gettext catalogs = gettext.find("example...", fallback=True) _=t.ugettext print(_("this message")) 2.从源代码中抽取需要国际化的文本消息,并转换创建.pot文件, 可以使用的工具为pygettext.py.../local/en_US/LC_MESSAGES/example.po, 修改这个文件,替换要国际化的消息内容 如把 msgid "this message" msgstr "translated message...二进制文件,  cd locale/en_US/LC_MESSAGES/ msgfmt -o example.mo example.po可以看到转换后生成的mo是二进制文件,而po,pot都是文本文件...这一步很关键,我在弄的时候没注意到这一步, 直接把.po文件复制成.mo文件, 导致出现以下类似的情况, 掉到坑里,半天爬不出来,汗~ File "C:\env\lib\gettext.py", line

    1.6K20

    python国际化(i18n)和中英文切

    在主文件中引入gettext模块: # -*- coding: utf-8 -*- #!...编写并生成翻译文件,打开步骤1中编辑过的lang.po文件添加翻译文字,形成如下内容: # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR ORGANIZATION...上述实现的方法用在界面编程上可以实现中英文界面的切换,需要作个配置文件选择中/英文;或者在主文件开始时先获取操作系统本地语言然后根据获取结果再设置中/英文,这样就可以实现软件语言自适应;如果想实现软件语言在线切换...比如你在程序中是这样写的: gettext.install('i18ntest', '....cn目录是所对应的语言,LC_MESSAGES目录是gettext.py里要求的,mo文件必须和所定义的域同名,见 gettext.py的mofile = os.path.join(localedir

    1.2K10

    在xml中特殊符号处理<!]>

    在xml中,不能存在如下的特殊字符: 大于等于符号:>= 小于等于符号:<= 不等于符号: 大于符号:> 小于符号:< 且符号:& 英文双引号符号:" 英文单引号符号:' … 如果xml中需要写入特殊符号...例如:字符、>=字符、文件中并不能直接写上述列举的字符,否则就会报错。 因为在解析xml文件时,我们如果书写了特殊字符,在没有特殊处理的情况下。...书写规范 需要注意的问题就是,在我们的mybatis的映射文件中,以下、 等这些标签都不会被解析,所以,我们只把有特殊字符的语句放在的sql语句中,存在不等于符号(),那么,我可以进行如下修改: po.User...文末总结 不管怎么样,转义前的字符也好,转义后的字符也好,都会被xml解析器解析。 为了方便起见,使用来包含不被xml解析器解析的内容。

    2.1K60

    如何恢复Linux中的误删文件

    当我们使用窗口管理器来删除文件时,我们仅仅只是将文件从某个目录移动到了另一个目录中(回收站)。...你可以使用tune2fs(调整和查看ext2/ext3文件系统的文件系统参数)来查看文件系统的索引节点信息,在命令行工具中输入下列指令: sudo tune2fs -l /dev/sda1 |grep...所以最好的方法就是当你意识到你误删了某一份文件时,就立刻开始进行文件恢复工作。你等的时间越久,成功恢复误删文件的可能性也就越低。 如何恢复Linux平台下的误删文件?...PhotoRec-【点击阅读原文下载工具】 PhotoRec 是一款用于恢复硬盘和光盘中丢失的视频、文档、压缩包等文件的数据恢复工具。除此之外,它还可以从数码相机的SD存储卡中恢复丢失的图片。...通常情况下,在进行文件恢复工作的时候,我们要先将文件系统重新挂载,然后给它分配只读权限。完成之后,再将恢复的文件写入另外一个文件系统中,这样可以避免原始数据所在的存储区域被覆盖。

    6.6K80

    Java Unit 测试中如何获得 resources 中的文件

    假定我们有一个文件位于:src/test/resources/data/azure_storage.json 目录中。...azure_storage.json 为数据文件,我们希望将这个文件中的内容读取到测试类中。...在数据初始化的时候,我们使用下面的代码: InputStream inputStream = loader.getResourceAsStream(fileName); 先将资源文件中数据读取为 InputStream...,这个时候你的数据已经在内存中了,我们在上面的代码中使用代码 FileUtils.copyInputStreamToFile 来将内存中的数据写到一个临时目录中,然后你就可以对文件进行操作了。...使用这样的配置好处就是在测试的时候,因为不同的人使用的系统是不同的,不同的测试文件路径会导致没有办法进行路径的同步。

    2.6K30
    领券