+1 मत
813 व्यूज़

Does anyone know of a command line tool to convert USFM format to USX (or any other xml flavor)?

I’d like to write a script to grab a few different .sfm files from different projects and mass-convert them… something quite difficult with the built-in Tools–>Advanced–>Export Project to USX.

Also, USX makes some strange design decisions that seem to be direct reflections of the USFM code instead of true xml. At least they seem strange to me who has very little background in this area… but I would have expected the tag to close at the end of the chapter and not immediately after the chapter number, e.g.
<chapter number=“1” style=“c”>
    all the verses
</chapter>

instead of
<chapter number=“1” style=“c” />

I have the exact same question about verse tags.

Can anyone explain why the xml works this way, or suggest other xml formats that are more logical? These files will be used internally in a publishing project and thus we’re not too concerned about external standards.

Note I’ve tried the Haiola usfm2usfx.exe tool and can’t get it to work, but if people say that’s the best option I can try to figure out what’s wrong.

पुराना पोस्ट - इसकी मूल भाषा में दिखाया जा रहा है
Paratext में द्वारा (1.9k अंक) | 813 व्यूज़

6 उत्तर

0 वोट
सर्वोत्तम उत्तर

माफ़ कीजिए, यह काम नहीं करेगा। आप एक पहले से सेट-अप किए गए मॉड्यूल के परिणाम को पढ़ सकते हैं जिस पर Paratext ने पहले ही मॉड्यूल जनरेशन चला दिया है, लेकिन आप Paratext में एक मॉड्यूल लिख नहीं सकते और उसे यह जानने के लिए नहीं कर सकते कि यह एक मॉड्यूल है और जनरेशन चलाए।

संपादन: प्रतीत होता है कि मैंने दो साल पहले के कुछ सवाल छूट गए थे: :grimacing:

हां, अब इसे 3.0 फ़ॉर्मेट में आउटपुट करना चाहिए।

दुर्भाग्यवश नहीं। rdwrtp8 को कच्ची फ़ाइलों को पढ़ने/लिखने के लिए डिज़ाइन किया गया है ताकि अन्य एप्लिकेशन Paratext डेटा को पढ़/लिख सकें। इसका मतलब है कि डेटा राउंड-ट्रिप-एबल (round-trip-able) होना चाहिए और PrintDraftChanges.txt में परिभाषित परिवर्तन राउंड-ट्रिप-एबल नहीं हैं।

English से मशीन-अनुवादित
द्वारा [Expert]
(16.7k अंक)

फिर से दिखाया गया
0 वोट

मुझे ऐसा कोई टूल नहीं पता। मुझे लगता है कि USX फ़ाइलों को निर्यात करने के लिए मानकीकृत स्थान योजना का उपयोग करना सबसे अच्छा तरीका है, जैसे C:\My Paratext 8 Projects\[project name]\local\USX और वहाँ से उन्हें प्राप्त करें।
अध्याय और श्लोक मार्करों के संबंध में, इन्हें माइलस्टोन कहा जाता है और ये ओवरलैपिंग मार्कअप को संभालने का एक तरीका हैं।
क्या यह प्रिंट प्रकाशन के लिए है या केवल डिजिटल?

English से मशीन-अनुवादित
द्वारा (872 अंक)
फिर से दिखाया गया

यह केवल प्रिंट के लिए प्रकाशन के लिए है। हम जो प्रकाशन कार्यक्रम उपयोग कर रहे हैं, SILE, xml इनपुट लेता है। यह वास्तव में TeX-जैसे इनपुट (अर्थात USFM) ले सकता है, लेकिन जिस प्रोग्रामर के साथ मैं काम कर रहा हूँ, वह xml का उपयोग करना पसंद करेगा।

मेरा मानना है कि USX का प्रारूप प्रोग्रामर के लिए पूरी तरह ठीक काम करेगा, इसलिए ये अन्य प्रश्न मेरी अपनी समझ के लिए हैं।

मुझे लगता है कि यह बस डिज़ाइन के निर्णय हैं, लेकिन मैं सोच रहा हूँ कि USX के निर्माता ने यह क्यों तय किया कि <chapter> का अर्थ “अध्याय की शुरुआत में आने वाली संख्या” है और “अध्याय” नहीं। xml की मेरी समझ यह है कि इसमें आमतौर पर इस तरह का फॉर्मेटिंग उपयोग होता है
<tag attributes=“aaa”>content</tag>

वर्तमान स्थिति में चीज़ें इस प्रकार हैं
<chapter number=“1” style=“c” > इसमें कोई कंटेंट नहीं है
जहाँ मैं यह अपेक्षा करता हूँ
<chapter number=“1” style=“c”>the actual content of the chapter<\chapter>

शायद मैं कुछ छूट रहा हूँ, लेकिन मुझे यह नहीं दिख रहा है कि यह ओवरलैपिंग मार्कअप समस्याओं के कारण क्यों हो रहा है।

यहाँ एक और समस्या है–हमारे क्षेत्र के धार्मिक पुस्तकों के शैली का पालन करते हुए, हमारे प्रोजेक्ट की योजना है कि श्लोक नंबरों को श्लोकों की शुरुआत में नहीं, बल्कि अंत में चिह्नित किया जाए। <verse> मार्कर की वर्तमान कार्यप्रणाली के अनुसार, हमें प्लेन टेक्स्ट xml दस्तावेज़ में टैग को एक अलग स्थान पर ले जाने के लिए स्क्रिप्टिंग का उपयोग करना होगा, लेकिन यदि USX उस प्रारूप का उपयोग करता जिसका मुझे मानना चाहिए:
<verse number=“1” style=“v”>verse text</verse>
तो xml पढ़ने वाले कार्यक्रम को उस पंक्ति को व्याख्या करने और कहने में काफी सरलता होगी कि “‘verse text’ की शुरुआत में नहीं, बल्कि अंत में ‘number’ एट्रिब्यूट प्रिंट करें”।

English से मशीन-अनुवादित
0 वोट

एक और आधा साल बाद भी, मुझे अभी भी यह सुविधा चाहिए।

Paratext का बिल्ट-इन “export project to USX” बिल्कुल वही है जो मुझे चाहिए, लेकिन मैं इसे स्वचालित करना चाहता हूँ ताकि मैं इसे कमांड लाइन बिल्ड स्क्रिप्ट में शामिल कर सकूं। USFM–>USX कन्वर्ज़न कोड PT में होना चाहिए। क्या उस कोड को डेवलपर्स से प्राप्त करने का कोई तरीका है (हमारे द्वारा कुछ संशोधन आवश्यक होंगे ताकि यह उस भाषा में चले जिसका हम उपयोग करते हैं)? यदि हां, तो मैं इसे कैसे करूँगा?

English से मशीन-अनुवादित
द्वारा (1.9k अंक)
0 वोट

ऐसा लगता है कि आपको एक स्टैंड-अलोन टूल चाहिए, लेकिन अगर आपको केवल USX फ़ॉर्मेट में प्रोजेक्ट का टेक्स्ट चाहिए, तो Paratext 8+ एक छोटे कमांड-लाइन टूल के साथ आता है जो USX फ़ॉर्मेट में प्रोजेक्ट के टेक्स्ट को निकाल सकता है:
rdwrtp8 -r projectShortName bookCode chapterNum resultFileName -x

-x का उपयोग USFM फ़ॉर्मेट के बजाय USX फ़ॉर्मेट निर्दिष्ट करने के लिए है।
यदि chapterNum 0 (शून्य) है, तो पूरी पुस्तक लौटाई जाती है।

स्पष्ट कारणों से, इसे स्रोतों (resources) पर उपयोग नहीं किया जा सकता है।

Paratext से पार्सिंग कोड को अलग करना कठिन होगा क्योंकि USFM से USX बनाने के लिए यह प्रोजेक्ट सेटिंग्स और स्टाइलशीट जानकारी पर बहुत निर्भर करता है।

English से मशीन-अनुवादित
द्वारा [Expert]
(16.7k अंक)
0 वोट

जब मैंने आपका हालिया पोस्ट देखा, तो मैं Haiola का सुझाव देने वाला था, लेकिन मुझे पता चला कि आपने पहले ही उसे आज़माया है। स्वीकार करना होगा कि मैंने खुद इसका उपयोग नहीं किया है। यदि rdwrtp8 समाधान प्रदान नहीं करता है, तो मैं आपको किसी भी समस्या के बारे में लेखक से संपर्क करने का सुझाव दूंगा।

overlapping markup के बारे में, मैं अनुमान लगाता हूँ कि एक उदाहरण Nehemiah 8 होगा। मेरे प्रिंट किए गए NIV में, अध्याय 8 एक अनुच्छेद के बीच में शुरू होता है। और श्लोक संख्या (इस मामले में 1) अध्याय संख्या के पास प्रिंट की जाती है (जो ड्रॉप कैप्स में होती है)। अन्य अध्यायों में, यदि श्लोक संख्या 1 है, तो उसे छोड़ दिया जाता है।

Paratext में, स्टाइलशीट मार्करों की एक पदानुक्रम परिभाषित करता है, जैसे id > ide > c > p > v। और अधिकांश अध्यायों और अनुच्छेदों के लिए, यह XML में उस तरह मैप हो सकता है जैसा आप उम्मीद करते हैं (c तत्व में p तत्व शामिल होना, आदि)। लेकिन Nehemiah 8 के लिए, Paratext पदानुक्रम टूट जाता है, इसलिए मैं संदेह करता हूँ कि USX में c तत्व का कोई कंटेंट नहीं है।

English से मशीन-अनुवादित
द्वारा (185 अंक)
0 वोट

धन्यवाद, @anon291708, मुझे लगता है कि rdwrtp8 बिल्कुल वही करेगा जो मुझे चाहिए। इस बारे में मेरे पास कुछ सवाल हैं, क्योंकि मैंने इसे अभी चलाया है।
यह USX को संस्करण 2.5 फ़ॉर्मेट में आउटपुट करता है, जो PT8 द्वारा उपयोग किया जाता था। क्या इसे कभी 3.0 फ़ॉर्मेट में आउटपुट करने के लिए अपडेट किया जाएगा, जैसे PT9 करता है?
यह प्रतीत नहीं होता कि यह निर्यात प्रक्रिया के दौरान PrintDraftChanges.txt फ़ाइल का उपयोग करता है, जबकि PT8/9 में “Export project to USX” मेनू विकल्प इसका उपयोग करता है। क्या उन परिवर्तनों को शामिल करने का कोई तरीका है?

@Bobby, Haiola सुझाने के लिए धन्यवाद। हां, मैंने इसे असफलतापूर्वक आज़माया था। overlapping मार्करों के बारे में, एक या दो साल पहले इस पोस्ट को पढ़ने और समस्याओं पर विचार करने के बाद, मुझे लगता है कि मैं इस बात की बेहतर समझ में आ गया हूँ कि यह महत्वपूर्ण क्यों है (और किसी भी प्रणाली में आंतरिक कमियां क्यों होंगी)।

English से मशीन-अनुवादित
द्वारा (1.9k अंक)

अब मैं एक स्क्रिप्ट लिखना चाहता हूँ जो एक बाइबल मॉड्यूल स्पेस फ़ाइल ले और उससे आउटपुट फ़ाइल बनाए। मुझे यहाँ बताया गया था कि rdwrtp8.exe यह काम करेगा, लेकिन मैं इसे काम नहीं कर पा रहा हूँ।

क्या यह करना चाहिए? क्या मैं बाइबल मॉड्यूल स्पेस फ़ाइल ले सकता हूँ, इसे PT में बाहरी रूप से XXA-XXG पुस्तक के रूप में लोड कर सकता हूँ, फिर उसे निर्यात कर सकता हूँ… और परिणामी फ़ाइल बाइबल मॉड्यूल का आउटपुट हो जिसमें सभी पवित्र ग्रंथ भरे हुए हों?

मेरे द्वारा उपयोग किए जा रहे कमांड हैं:
rdwrtp8 -w PROJ XXA 0 "D:\My-Modules\module1.sfm"
और
rdwrtp8 -r PROJ XXA 0 "D:\My-Expanded-Modules\module1.sfm"

English से मशीन-अनुवादित

संबंधित प्रश्न

0 वोट
2 उत्तर 45 व्यूज़
मुझे USX फ़ाइल को USFM में परिवर्तित करना है। मुझे Paratext में इसके उल्टे काम (USFM से USX) का विकल्प दिख रहा ... परिवर्तित करने से Proskomma के लिए उन्हें संभालना आसान हो जाएगा।
yeti 109 पूछा गया मार्च 19
0 वोट
2 उत्तर 360 व्यूज़
Hello, I am writing as a representative of a small task team assigned to review proposals for what becomes a ... necessary information with you. Thank you. jmkla [Email Removed]
[Expert]
jmkla
290
पूछा गया अक्टूबर 2, 2015
0 वोट
2 उत्तर 236 व्यूज़
In the USX export file from Paratext, for certain references, the transformation adds an extra - in the tag. ... bug in the USX transformation. Any help would be appreciated.
anon753074 109 पूछा गया अप्रैल 24, 2020
Paratext में
0 वोट
1 उत्तर 34 व्यूज़
हम फुटनोट क्रॉस-रिफरेंस में /xt का उपयोग कर रहे हैं, जिसे पुस्तक के 'छोटे नाम' का उपयोग करने के लिए सेट किया गया है। ... इसके लिए कोई अलग USFM कोड है जिसका मैं उपयोग कर सकता हूँ?
Lenice 180 पूछा गया अक्टूबर 7, 2025
0 वोट
1 उत्तर 425 व्यूज़
मैं प्रोजेक्ट को HTML में निर्यात करना चाहता/चाहती हूँ ताकि मैं लोगों के साथ ड्राफ्ट साझा कर सकूँ। मैं PDF में निर्यात नहीं ... गए HTML से USFM मार्कर को कैसे छिपा सकता/सकती हूँ?
bit 495 पूछा गया अप्रैल 14, 2022
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
Just as a body, though one, has many parts, but all its many parts form one body, so it is with Christ.
1 Corinthians 12:12
3,045 प्रश्न
6,005 उत्तर
5,671 टिप्पणियाँ
2,026 उपयोगकर्ता