#9 Add macro to prepare XML files for xgettext

已合并
SlavekB 6 个月前 将 3 次代码提交从 feat/add-prepare-xml合并至 master
SlavekB 评论于 7 个月前

During the preparation of CMakeL10n rules in kiosktool I found out that here is the extractxml script, which is used to extract strings from xml file kiosk_data.xml. That’s why I was looking for a solution how to ensure this within CMakeL10n rules.

Using the extractxml script would have the result that location information in the POT file would refer to a non-existent temporary file – as it was in the case of extractrc. Furthermore, I could prepare CMake processing specifically for this one file. Or, I could prepare a generic XML extraction macro that will be useful for other cases as well.

That’s why I chose the generic macro. During the preparation of the macro, I found that the functionality of extractxml and extractrc scripts is largely the same. For this reason, I added several options in the new macro tde_l10n_prepare_xml to make this macro meet the needs for both uses.

By the way, just by testing this macro I noticed the wrong semicolon processing that is fixed in #8.

During the preparation of CMakeL10n rules in kiosktool I found out that here is the [`extractxml`](../kiosktool/src/branch/master/kiosktool/extractxml) script, which is used to extract strings from xml file [`kiosk_data.xml`](../kiosktool/src/branch/master/kiosktool/kiosk_data.xml). That's why I was looking for a solution how to ensure this within CMakeL10n rules. Using the `extractxml` script would have the result that location information in the POT file would refer to a non-existent temporary file – as it was in the case of `extractrc`. Furthermore, I could prepare CMake processing specifically for this one file. Or, I could prepare a generic XML extraction macro that will be useful for other cases as well. That's why I chose the generic macro. During the preparation of the macro, I found that the functionality of `extractxml` and `extractrc` scripts is largely the same. For this reason, I added several options in the new macro `tde_l10n_prepare_xml` to make this macro meet the needs for both uses. By the way, just by testing this macro I noticed the wrong semicolon processing that is fixed in #8.
MicheleC 已批准这些更改 7 个月前
I didn't really check the regex in fine details, but the rest of the PR seems ok.
SlavekB 评论于 7 个月前
所有者

During macro preparation I tested tde_l10n_prepare_xml on POT files generated in tdebase. This helped in revealing and resolving shortcomings. The 160 POT files generated in tdebase give good material to test that the result is the same :smiley:

During macro preparation I tested tde_l10n_prepare_xml on POT files generated in tdebase. This helped in revealing and resolving shortcomings. The 160 POT files generated in tdebase give good material to test that the result is the same :smiley:
SlavekB 评论于 7 个月前
所有者

By the way, here is another difference compared to extractrc. In extractrc is not expected to have multiple tags on one line. For example:

<label>First</label><label>Second</label>

With extractrc only i18n("First") will be generated and the rest will be ignored. With extractxml in kiosktool only i18n("Second") will be generated and the rest will be ignored. The tde_l10n_prepare_xml macro expect this situation and will generate i18n("First");i18n("Second");

By the way, here is another difference compared to extractrc. In extractrc is not expected to have multiple tags on one line. For example: ``` <label>First</label><label>Second</label> ``` With extractrc only `i18n("First")` will be generated and the rest will be ignored. With extractxml in kiosktool only `i18n("Second")` will be generated and the rest will be ignored. The tde_l10n_prepare_xml macro expect this situation and will generate `i18n("First");i18n("Second");`
SlavekB 评论于 7 个月前
所有者

When testing with tdelibs, it turned out that the extractrc script allows to override context using the tag attribute. Therefore, this ability was added to the tde_l10n_prepare_xml macro.

When testing with tdelibs, it turned out that the extractrc script allows to override context using the tag attribute. Therefore, this ability was added to the tde_l10n_prepare_xml macro.
MicheleC 已批准这些更改 7 个月前
looks good
SlavekB6 个月前 关闭
SlavekB6 个月前 删除了分支 feat/add-prepare-xml
SlavekB 6 个月前 添加了里程碑 R14.0.6 release

评审人

MicheleC 已批准这些更改 7 个月前
请求已合并。
登陆 并参与到对话中。
正在加载...
取消
保存
这个人很懒,什么都没留下。