似乎 Paratext 8 在迁移逐词对照(interlinear)注释时存在问题,如果您在 Paratext 7 中使用 Interlinearizer 并以新约希腊语(NT Greek)作为模型文本进行注释。一位用户在此情况下寻求帮助,我发现迁移后,lexicon.xml 和每卷书注释文件中的语言代码是 “el”,而新约希腊语的正确代码应该是 “grc”。(在一个测试项目中,我用希腊语注释了几个词,然后迁移,在这个迁移后的项目中,新约希腊语的代码变成了 “lbj”,这是印度某种语言的代码。我已将此问题报告给开发人员)。
语言代码在逐词对照数据中用于三个地方。
- 在 lexicon.xml 文件中,“Gloss Language”(注释语言)字段内。该字段出现在每个在该语言中给出注释的单词中。
- 在每卷书逐词对照文件的子文件夹名称和文件名称中。例如,“interlinearizer_el_MAT.xml” 是马太福音中 “el” 语言注释的文件。
- 在每个每卷书文件内部,在文件第二行的 glossLanguage 字段中。
我是如何知道 “grc” 是新约希腊语的正确代码的?我在 Paratext 8 中以希腊语为模型注释了一个词,保存更改后查看了文件。
因此,为了手动转换这些数据,我执行了以下操作:
0) 如果 Paratext 处于打开状态,请关闭它
-
对 lexicon.xml 进行搜索替换,将 “el” 替换为 “grc”,例如:
<Gloss Language="el">δέ</Gloss>
变为
<Gloss Language="grc">δέ</Gloss>
为了将更改仅限于代码,而不影响较大单词内部的任何 “el” 字符串,请在搜索字符串和替换字符串中包含引号(直双引号)。
2a) 将项目文件夹内的 “Interlinear_el” 文件夹名称更改为 “Interlinear_grc”。(如果您已经使用所需的代码创建了测试文件,请先删除该文件夹及其文件)。
2b) 将该文件夹内的文件名称从 "Interlinear_el_[Bookcode].xml 更改为 "Interlinear_grc_[Bookcode].xml
-
将每个每卷书文件第二行中的 Glosslanguage 代码更改为所需的代码。例如
<InterlinearData ScrTextName="MP8" GlossLanguage="el" BookId="MAT">
becomes
<InterlinearData ScrTextName="MP8" GlossLanguage="grc" BookId="MAT">
-
启动 Paratext,查看是否成功。
编辑 XML 文件时,请确保不要更改任何 < 或 > 或 </ 或 /> 代码,这些在 USFM 中类似于反斜杠。如果您出错,Paratext 可能会拒绝您编辑的 lexicon.xml,将其名称更改为 lexicon.xmlcorrupt,并开始创建一个新的。如果您在编辑前将 lexicon.xml 文件的副本保存在其他位置,当遇到此问题且无法确定编辑文件中哪里出错时,您可以恢复该副本。
It seems that Paratext 8 has a problem migrating interlinear glosses if you use the Interlinearizer in 7 to gloss text using the NT Greek as your model text. A user asked for help in this situation, and I saw that after migration, the language code in the lexicon.xml and in the per-book gloss files was “el” while the code for NT greek should be “grc”. (In a test project, I glossed a few words in Greek, then migrated, and in this migrated project, the code for NT Greek became “lbj”, the code for a language from India. I have reported this issue to the developers).
The language code is used in three places in the interlinearizer data.
- Inside the lexicon.xml file, in the “Gloss Language” field. This field occurs for every word that is given a gloss in that language.
- in the subfolder name and the file name of the per-book interlinearizer file. For example, “interlinearizer_el_MAT.xml” is the file for glosses in the “el” language for Matthew.
- Inside each per-book file, in the glossLanguage field in the second line of the file.
How did I find out that “grc” was the right code for NT greek? I glossed one word in Paratext 8 with Greek as the model, saved the change then looked at the files.
So to manually convert this data, I did:
0) close Paratext if it is open
-
a search-replace of lexicon.xml, and replaced “el” with “grc”, for example:
<Gloss Language="el">δέ</Gloss>
becomes
<Gloss Language="grc">δέ</Gloss>
To limit the change just to the codes and not any “el” strings inside a larger word, include the quote marks (straight double quotes) in the search string and in the replace string.
2a) change the name of the “Interlinear_el” folder inside the project folder to “Interlinear_grc”. (If you’ve created a test file in the desired code, you would delete the folder and its file first).
2b) change the file names inside this folder from "Interlinear_el_[Bookcode].xml to "Interlinear_grc_[Bookcode].xml
-
change the Glosslanguage code in the second line of each per-book file to the desired code. For instance
<InterlinearData ScrTextName="MP8" GlossLanguage="el" BookId="MAT">
becomes
<InterlinearData ScrTextName="MP8" GlossLanguage="grc" BookId="MAT">
-
Start Paratext and see if it worked.
When editing the XML files, make sure you don’t change any < or > or </ or /> codes, these are like backslashes in USFM. If you make a mistake, Paratext may reject your edited lexicon.xml and change its name to lexicon.xmlcorrupt, and start creating a new one. If you save a copy of your lexicon.xml file in another location before editing, you could bring that back if you hit this problem and cannot identify what went wrong in your edited file.
机器翻译自 English