- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用Delphi 6制作了一个应用程序。之后,我提取了一个 .pot 文件,其中包含所有要翻译的字符串。问题是有些字符串不需要翻译,如果翻译就会产生问题。
其中之一是 TDBGrid.Columns[x].FiedlName
我尝试将这些行放入 ggexclude.cfg 文件中,但它们不起作用。
# exclude all occurences of the specified class
# and property in all DFM files in or below the
# path where "ggexclude.cfg" is in
[exclude-form-class-property]
TDBGrid......FieldName
TDBGrid.....FieldName
TDBGrid....FieldName
TDBGrid...FieldName
TDBGrid..FieldName
TDBGrid.FieldName
item.FieldName
TDBGrid.Columns.FieldName
TDBGrid.Columns.TDBGridColumns
TDBGrid.Columns.TDBGridColumns.FieldName
TDBGrid.Columns.Item.FieldName
TColumn.FieldName
TDBGridColumns.FieldName
FieldName
*.FieldName
我认为问题在于 .dfm 文件中解析器不理解它们是 TColumn 对象的一部分
inherited DBGTable: TDBGrid
Height = 309
DataSource = DMUsers.DSUser
Columns = <
item
Expanded = False
FieldName = 'USER'
Visible = True
end
item
Expanded = False
FieldName = 'CODE'
Width = 31
Visible = True
end
item
Expanded = False
FieldName = 'NAME'
Width = 244
Visible = True
end>
end
有人有解决方法吗?
我不能信任自动ignore.pot,因为有些字符串会导致误报。
最佳答案
ggexinclude.cfg-File 的文档指出您无法访问属于集合一部分的项目:
A special case are collections in forms (like TDBGridColumns in a TDBGrid [...]) You can exclude only the whole collection, but not certain properties of a collection.
因此解决方法是排除整个列集合:
TDBGrid.Columns
但是这样你也会失去 Title.Caption。
我看到的唯一其他解决方法是修改 dxgettext。恕我直言,以下内容会很高兴:
[always-exclude-property]
FieldName
编辑:我想链接到 ggexclude.cfg 文档,但我现在无法在线找到它。因此,我可以随意发布文档,因为它保存在我自己的 ggexclude.cfg 文件中 - 但没有任何保证:
# Text in square brackets, like "[exclude-dir]", is called a "section".
# Each line that is not empty, not a comment and not a section holds
# exactly 1 "value".
# All lines below a section are scanned for values belonging to that
# section until the next section starts. You can use the same section
# several times. It will all be added up.
[exclude-dir]
# This section prevents a whole folder and all it's subfolder from being scanned.
# Each value is exactly one folder. On Windows, it's not case-sensitive.
# You can use relative or absolute paths. No wildcards allowed.
# example:
# subfolder
# these are valid values as well:
# another\folder
# another\folder\
# Windows: D:\yet\another\folder
# Linux: /home/zaphod/projects/subfolder/
# You don't have to worry about the path delimiters, both "/" and "\"
# can be used. They are converted to "/" internally
[exclude-file]
# This section prevents a whole file from being scanned.
# Each value is exactly one file. On Windows, it's not case-sensitive.
# You can use relative or absolute paths. Wildcards allowed.
# example:
# Unit4.dfm
# Using the wildcard ".*" for a file extension means that the following
# matching Delphi-files will be excluded: dfm, xfm, pas, inc, rc, dpr:
# Unit5.*
# If Unit3 is already excluded by the [exclude-dir] above, because it
# is located in a subfolder of "subfolder", listing it here therefore
# has not further effect:
# subfolder\subfolder\Unit3.dfm
# you can use absolute paths as well, like this:
# on Windows: D:\test\Unit.pas
# on Linux: /home/zaphod/projects/MainForm.*
[exclude-form-class-property]
# This section prevents a certain property of a class to
# be excluded from scanning in all forms of the folder and subfolders
# where "ggexclude.cfg" is located.
# The format for a value is "Classname.Properyname". It's not case-sensitive. No wildcards allowed.
# Classname is obvious, the propertyname has to be written the way it
# is written in the form file. If you're in doubt about how a certain property
# has to be stored here, just copy and paste the line from the DFM file here and
# put the classname before that.
# For simple strings the property name is one word:
# TLabel.Caption
# ...and for TStrings it's like this:
# TListbox.Items.Strings
# TMemo.Lines.Strings
# TQuery.SQL.Strings
# TEdit is listed in the [exclude-form-class]-section below which means
# that the whole class will be excluded. Listing TEdit.Text here therefore
# has no further effect
# TEdit.Text
# A special case are collections in forms (like TDBGridColumns in a TDBGrid,
# TParams in a TQuery or TActionManager.ActionBars). You can exclude only
# the whole collection, but not certain properties of a collection. That
# means as well that in the case of nested collections (see TActionManager.ActionBars
# in the sample unit "nestedcollections.dfm"), everything that appears below
# the collection with the highest level will be ignored.
# Note that some collections are saved with another name than their propertyname.
# For example: "TQuery.Params" will be saved as "ParamData" in the form file.
# TQuery.ParamData
# TDBGrid.Columns
# TActionManager.ActionBars
# these lines won't work:
# TDBGrid.Columns.Title.Caption
# TActionManager.ActionBars.ContextItems
# ("ContextItems" is a nested collection, which can hold another nested collection and so on)
[exclude-form-class]
# This section prevents a whole class to
# be excluded from scanning in all forms of the folder and subfolders
# where "ggexclude.cfg" is located.
# The format for a value is just "Classname". It's not case-sensitive.
# A wildcard "*" can be used optionally.
# A special case are collections, see [exclude-form-class-property] for that
# Here, everything of TEdit in DFM/XFM-files will be ignored. Remember:
# other classes derived from TEdit have to listed seperatly in order to
# exclude their properties as well. Inheritance is not recognized by dxgettext:
# TEdit
# Visual containers like TPanel or TScrollbox have to be treated slightly different.
# If you have a TPanel with a TLabel on it, writing "TPanel" would only
# exclude the properties of TPanel itself. If you want to exclude
# everything contained in a TPanel, use the wildcard "*" at the end, like this:
# TPanel*
# The following only excludes the properties of TScrollbox itself, but not the controls
# contained in Scrollboxes (except other classes explicitly listed here, like
# TEdit above):
# TScrollbox
[exclude-form-instance]
# This section prevents a certain instance (=object) of a class in a certain form file to
# be excluded from scanning.
# Each value is exactly one file with one instance. The format is
# "filename:instancename". On Windows, the "filename" part is not
# case-sensitive. You can use relative or absolute paths.
# Note that if the instance is something like a container or menu,
# everything belonging to that will be excluded.
# Note also that a frame on a form might contain a component with the
# same name as a component on the form. They would both be excluded.
# Unit6.dfm:Popupmenu
# Unit6.dfm:Label5
关于delphi - 如何在.pot文件中排除DBGrid.Column.FieldName,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6294173/
我正在对 python 程序进行国际化,但无法将复数形式添加到 .pot 文件中。我用 _pl() 标记了需要复数翻译的字符串,例如。 self.write_info(_pl("%(num)d tra
我继承了一个sample.pot文件。现在,我在 a1.c 和 a2.cpp 中添加了新消息。我可以使用 xgettext 并将内容输出到同一个 sample.pot 而不是创建一个新的吗?例如:-
这个问题在这里已经有了答案: 关闭 11 年前。 Possible Duplicates: Query about working out whether number is a power of
从 python3 应用程序中提取消息后,使用 pygettext.py --default-domain=po_typo_purifier po_typo_purifier.py 我得到一个带有此标
我希望有以下流程: 程序员将源代码中的一些条目标记为可翻译 程序员生成一个模板文件(如果我理解正确的话是.pot) 翻译人员使用模板文件翻译字符串。他永远不必获取代码的任何部分。 如果添加新字符串或更
蛋糕版本是2.x。我已使用 ./Console/cake i18n extract 命令提取了 __ 函数内的所有文本,将 default.pot 文件移至 app/Locale/[iso3]/LC_
我使用 cakePHP 2.0 并使用控制台工具创建一个 .../app/locale/default.pot 。现在,我想将我的网站翻译成多种语言。我在cakephp Cook书(http://bo
有没有简单直接的方法从静态 HTML 页面生成 *.pot 文件? 最佳答案 你可以试试 html2po使用 --pot 标志。 关于internationalization - 如何从静态 HTML
我正在尝试使用 iOS 和 GL ES1 对纹理进行全屏渲染。我已经使用带有附加纹理的 FBO 实现了这一点,并且工作正常。 但我不确定我的做法是否正确:iPhone 屏幕不是二次方,所以我所做的是将
我正在编写一个执行 IPC 的实现。用户调用,我获取所有这些参数并将它们传递给其他进程。 我已经为这些函数编写了一个基于逻辑的自动代码生成器,其工作原理如下: 获取所有参数并将它们放入一个结构中。 添
你好,我正在使用 PIC24H 微处理器,我编写了一个简单的程序,该程序使用模拟输入从 POT 获取输入,然后将其设置为延迟的模值。它似乎确实设置了延迟,但从左到右的进展似乎是随机且不一致的。帮助会很
我正在研究 Canvas 速度优化,并找到了这个答案:https://stackoverflow.com/a/7682200/999400 don't use images with odd widt
从不完整的 gettext .pot 文件开始,生成的 .po 翻译文件现在包含大量原本不在 中的翻译字符串>.pot 文件。 如何从已翻译的 .po 文件向后生成其他语言的 .pot 文件(带有空白
我正在拼命地为我的 php 新应用程序创建一个目录 (.in)。1) 我创建了一个文件“trans.php”,我把所有要翻译的值都放在这里 例如,这是我的文件: 2) 我打开 Poedit,在“路径
我以为我已经解决了这个问题,但我遇到了障碍。我想在客户注册表中添加一个“蜜 jar ”,对于那些不熟悉此技术的人来说,该技术涉及使用 CSS 隐藏文本输入并假设普通机器人会想要填写它。然而,人类不会看
我正在执行 i18n/l10n 大型项目文档的任务。该文档是使用现成的 Sphinx 完成的 basic support for i18n . 我的问题与this other question的问题类
使用时 xgettext生成 .pot文件,在生成的文件的顶部我得到这个: # SOME DESCRIPTIVE TITLE. ... #, fuzzy ... #, fuzzy有什么用意思? 我知道
我有以下情况: 我要翻译的一种产品有两个独立的网站,一个供管理员使用,一个供客户使用。 代码库是 CakePHP。 两个站点彼此完全独立,它们是完整的 CakePHP 站点。 他们都有很多共同点。 因
如何更新现有的 messages.pot 文件?比如我翻译了messages.pot文件: .... #: forms.py:11 msgid "Nickname" msgstr "Имя" #: f
我在地址为 /locale/nld_nld/LC_MESSAGES/ 的文件夹中有一个 .po 和一个 .mo 文件。这两个文件的名称都是消息。我一直在尝试使用以下代码: try.php: Loca
我是一名优秀的程序员,十分优秀!