Для проекта, который мы делали пару лет назад и который требовал того же типа действий, мы помещали ссылки в обычный западный стиль, чтобы Paratext (и DBL) были довольны и могли выполнять все необходимые проверки. Но перед публикацией мы обрабатывали их с помощью скрипта на Python, чтобы преобразовать их в правильный формат. Вот соответствующие регулярные выражения из скрипта Python (обратите внимание, что для каждой формы ссылки есть отдельное выражение для преобразования, будь то несколько глав, с номерами стихов или без них и т. д.):
# turn cross references into their long forms
# Takwiin 2:1; 5:2 or Takwiin 2:1-5; 5:6-9
sText = re.sub(r'(\\\+xt (\d )?[A-Za-zʼ -]+) (\d+):(\d+(-\d+)?); (\d+):(\d+(-\d+)?\\\+xt\*)',
'\\1 fasul \\3 aaya \\4 wa fasul \\6 aaya \\7\\\+xt*', sText)
# Takwiin 2; 4
sText = re.sub(r'(\\\+xt (\d )?[A-Za-zʼ -]+) (\d+); (\d+\\\+xt\*)',
'\\1 fasul \\3 wa fasul \\4', sText)
# Takwiin 2:1
sText = re.sub(r'(\\\+xt (\d )?[A-Za-zʼ -]+) (\d+):(\d+\\\+xt\*)',
'\\1 fasul \\3 aaya \\4', sText)
# Takwiin 2:1-5
sText = re.sub(r'(\\\+xt (\d )?[A-Za-zʼ -]+) (\d+):(\d+-\d+\\\+xt\*)',
'\\1 fasul \\3 aaya \\4', sText)
# Takwiin 2 or Takwiin 1–2
sText = re.sub(r'(\\\+xt (\d )?[A-Za-zʼ -]+) (\d+(–\d+)?\\\+xt\*)',
'\\1 fasul \\3', sText)
Если бы я занимался такой же вёрсткой сегодня, я бы использовал PTXprint и поместил эти изменения в файл Changes.txt.
Обратите внимание, что могут быть выражения «глава/стих», которые не обрабатываются этими выражениями; это было для конкретного проекта, и я знал диапазон всех форматов выражений ссылок. Например, я не думаю, что это обработает три номера глав, например «bookname ch1; ch2; ch3». Если у вас в проекте есть такое, вам нужно будет добавить новое выражение или найти способ расширить существующие (вероятно, первое проще…).
Также обратите внимание, что когда вы смотрите на ваши ссылки в тексте, выходящем из DBL, например, в YouVersion, вы получите только западный формат ссылки, а не ваш «rukuh # ayat #». Это потому, что YouVersion не имеет никакой изощренности в обработке и форматировании текста — он просто вываливает его в HTML и надеется, что это будет выглядеть хорошо. Но если вы создаете библейские приложения с SAB, вы можете запустить аналогичные регулярные выражения, чтобы получить такое же желаемое поведение.
@anon175865 В некотором смысле эта проблема с YouVersion похожа на проблему с неправильными переносами строк, когда вокруг знаков препинания есть пробелы. Возможно, нам следует иметь файл «рекомендуемые правила вёрстки», который прикрепляется к проекту и хранится с проектом в DBL. Тогда, если YouVersion применял бы эти изменения при отображении текста, он мог бы делать свою работу лучше. Это в каком-то смысле позволило бы различать формат данных и формат представления текста. И тогда, в зависимости от типа представления, вам, возможно, нужно будет выбрать, какие правила применять. В любом случае, просто озвучиваю идеи…
Надеюсь, это поможет,
jeffh