ऐसा लगता है कि Paratext 8 में इंटरलिनियर ग्लॉस (interlinear glosses) को मिग्रेट करने में एक समस्या है, यदि आप NT Greek को अपने मॉडल टेक्स्ट के रूप में उपयोग करते हुए 7 में Interlinearizer का उपयोग करके टेक्स्ट को ग्लॉस करते हैं। एक उपयोगकर्ता ने इस स्थिति में मदद मांगी, और मैंने देखा कि मिग्रेशन के बाद, lexicon.xml और प्रति-पुस्तक ग्लॉस फ़ाइलों में भाषा कोड “el” था, जबकि NT Greek के लिए कोड “grc” होना चाहिए। (एक टेस्ट प्रोजेक्ट में, मैंने कुछ शब्दों को Greek में ग्लॉस किया, फिर मिग्रेट किया, और इस मिग्रेटेड प्रोजेक्ट में, NT Greek का कोड “lbj” हो गया, जो भारत की एक भाषा का कोड है। मैंने इस समस्या को डेवलपर्स को रिपोर्ट कर दिया है)।
भाषा कोड इंटरलिनियर डेटा में तीन स्थानों पर उपयोग किया जाता है।
- lexicon.xml फ़ाइल के अंदर, “Gloss Language” फ़ील्ड में। यह फ़ील्ड हर उस शब्द के लिए होती है जिसके लिए उस भाषा में ग्लॉस दिया गया है।
- प्रति-पुस्तक इंटरलिनियर फ़ाइल के सबफ़ोल्डर नाम और फ़ाइल नाम में। उदाहरण के लिए, “interlinearizer_el_MAT.xml” Matthew के लिए “el” भाषा में ग्लॉस की फ़ाइल है।
- प्रत्येक प्रति-पुस्तक फ़ाइल के अंदर, फ़ाइल की दूसरी पंक्ति में glossLanguage फ़ील्ड में।
मैंने कैसे जाना कि “grc” NT Greek के लिए सही कोड था? मैंने Paratext 8 में Greek को मॉडल के रूप में एक शब्द को ग्लॉस किया, परिवर्तन सहेजा और फिर फ़ाइलों को देखा।
तो इस डेटा को मैनुअल रूप से कन्वर्ट करने के लिए, मैंने यह किया:
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 से मशीन-अनुवादित