A YET file is a plain-text source for a Bible translation or version. It contains version information, book names, and verse text. It can also include section headings (pericopes), parallel passages, footnotes, cross-references, and text formatting.
Convert .yet source into a .yes binary file before opening it in
Alkitab / Quick Bible. The app reads YES files; it does not import YET source
directly. See Binary Formats for the runtime format.
Use a plain-text editor such as Visual Studio Code,
Sublime Text, or Notepad++. A word-processing
document such as .docx is not a YET file. You need the Bible text you want
to process and permission to distribute it if you plan to share the result.
You can also use tools with Quick Bible YET export support, such as BibleMultiConverter or Bibledit.
Save the file with:
- UTF-8 encoding without a byte order mark (BOM).
- LF line endings (
\n, byte0x0a), rather than CRLF (\r\n). - One tab character (
\t, byte0x09) between fields. - The
.yetextension, rather than.txt.
If you prefer a spreadsheet, copy its cells into a plain-text editor. Check that the pasted columns are separated by tabs and that the editor saves UTF-8 with LF line endings.
The record types are:
| Record | Required? | Contents |
|---|---|---|
info |
Yes | Version metadata |
book_name |
Yes | Names of the books present in this version |
verse |
Yes | One record per verse |
pericope |
No | Section heading at the beginning of a verse |
parallel |
No | Parallel passage for the preceding heading |
footnote |
No | Footnote addressed from a verse |
xref |
No | Cross-reference addressed from a verse |
The examples in this guide use actual tabs in record lines. Angle-bracketed
fields in syntax diagrams, such as <book>, are placeholders.
Sample YET files:
- KJV with red letters.
- KJV without red letters.
- Indonesian TSI with footnotes and cross-references.
- The repository's dummy Bible, which exercises formatting without distributing a real translation.
Install a Java runtime, then obtain YetToYes2.jar from the
prebuilt converter folder.
Open a terminal in the directory containing the jar and run:
java -jar YetToYes2.jar ABCV.yet ABCV.yesThe second argument specifies the output path. If it is omitted, the tool
writes a .yes file next to the input .yet file:
java -jar YetToYes2.jar ABCV.yet
java -jar YetToYes2.jar --helpAfter a successful conversion, copy the YES file to the device and open it from the app's Versions screen. See Tools for converter options and the desktop source project.
A custom app build also needs a default Bible version. Use YetToInternal.jar
from the same converter folder to produce its internal assets:
java -jar YetToInternal.jar ABCV.yet
java -jar YetToInternal.jar --help
java -jar YetToInternal.jar --prefix xyz ABCV.yetBy default, this creates a directory named ABCV beside ABCV.yet. Without
--prefix (or -p), filenames use the prefix ddd.
For the open-source plain flavor, place the generated files in
Alkitab/src/plain/assets/internal/. If you change the prefix or version
metadata, update the <internal> declaration in
app_config.xml accordingly.
Production flavors use the proprietary asset overlay described in
Build System; their text does not come from the plain
flavor's assets.
Put the version metadata at the beginning of the file:
info <key> <value>
| Key | Required? | Meaning |
|---|---|---|
longName |
Yes | Full translation name, such as Terjemahan Baru or English Standard Version |
shortName |
No | Abbreviation, usually uppercase, such as TB, ESV, or KJV |
description |
No | Longer description, which can include copyright information |
locale |
No | Two-letter language code, or a three-letter code where needed |
Use in for Indonesian rather than id in the locale field.
info shortName KJV
info longName King James
info description King James Version (Authorized Version 1611)
info locale en
Name every book included in the version. Omit books that are unavailable:
book_name <book_id> <book_name>
The standard book numbers run from 1 (Genesis) to 66 (Revelation). Use
concise names, such as 1 Corinthians rather than First Letter of Paul to the Corinthians.
book_name 1 Genesis
book_name 2 Exodus
You can add an optional abbreviation, used in grid navigation and typed references. Aim for no more than three single-width characters (such as Latin letters), or two double-width characters (such as Chinese characters):
book_name <book_id> <book_name> <book_abbreviation>
book_name 1 创世纪 创
book_name 2 出埃及记 出
book_name 9 撒母耳记上 撒上
book_name 10 撒母耳记下 撒下
For additional books, use the book-number table.
For a book not listed there, the source format reserves numbers 201 through
255. These are one-based YET numbers. In ARI references, subtract one to
obtain the book ID.
Each verse occupies one physical line:
verse <book> <chapter> <verse> <verse_text>
Use the book numbers above. Chapter and verse numbers start at 1 and have
a maximum of 255. Keep chapters and verses in order. Start each included
book at chapter 1, verse 1, and do not skip or duplicate verse numbers.
Represent a missing verse with an empty final field, retaining its preceding
tab. The app skips blank verse text.
Use formatting tags for line breaks within a verse; a physical newline starts a new record. If the translation needs no headings, footnotes, cross-references, or formatting, the required records above are sufficient.
A pericope is a section heading addressed by book, chapter, and verse. It appears before that verse; headings in the middle of a verse are not supported.
pericope <book> <chapter> <verse> <title>
parallel <parallel_spec>
Use the same numbering as the verse records. A title may contain italic
tags (@9 and @7), but no other formatting tags. Put each optional
parallel record after the heading it belongs to. Several headings, each
with their parallel passages, can precede the same verse.
A parallel specification consists of a reference and its display text:
| Form | Example | Notes |
|---|---|---|
| Plain display text | Luk. 3:1 |
The app guesses the reference using the current version's book names |
| OSIS | @o:Luke.3.1 Luk. 3:1 |
Uses standard OSIS book names |
| ARI | @a:257 Gen. 1:1 |
Uses a zero-based book ID packed with chapter and verse |
| KJV LID | @lid:1 Gen. 1:1 |
Uses KJV sequential verse numbering, from 1 to 31102 |
Explicit references are more reliable than guessed display text. Ranges are also supported:
parallel @o:John.3.16-John.3.18 John 3:16-18
parallel @a:0x000101-0x000115 Gen. 1:1-21
parallel @lid:1-21 Gen. 1:1-21
Example heading with a parallel passage:
pericope 10 3 2 Para putrane kakung … Dawud
parallel @o:1Chr.3.1-1Chr.3.4 1Bb 3:1-4
See Opening verses for ARI and LID and Reading plans for standard OSIS names.
Store each footnote separately from the verse text:
footnote <book> <chapter> <verse> <index> <content>
The address identifies the verse containing the footnote marker. Within
each verse, number footnotes consecutively from 1; indices fit in the range
1 through 255. Content can include italics (@9 / @7), verse links
such as @<to:Gen.2.1@>Going to Gen 2:1@/, and URLs beginning with http://
or https://.
footnote 40 3 7 1 @@@9Pharisees@7 is a Jewish group that...
footnote 40 3 7 2 @@@9Sadducees@7 is a leader of the Jewish religion...
Insert @<f1@>@/, @<f2@>@/, and so on into the verse to refer to the
entries. Begin the verse text with @@ so the renderer processes the tags:
verse 40 3 7 @@But when he saw many of the Pharisees@<f1@>@/ and Sadducees@<f2@>@/ coming to where he was baptizing, he said to them: "You brood of vipers! Who warned you to flee from the coming wrath?
The app displays clickable footnote markers after “Pharisees” and “Sadducees”. Every marker must have a corresponding footnote record.
A cross-reference links a verse to a related passage, for example an Old Testament passage quoted in the New Testament:
xref <book> <chapter> <verse> <index> <content>
Number references consecutively from 1 within each verse, separately from
the footnote indices. Indices range from 1 through 255. Use italic tags
and the verse-link tags below in the content.
For Acts 1:20, the first reference points to Psalm 69:25 and the second to Psalm 109:8:
verse 44 1 20 @@@^Peter continued, "This was written in the book of Psalms, where it says, @1'Let his home become desolate, @2with no one living in it.'@<x1@>@/@0It also says, @1'Let someone else take his position.'@<x2@>@/
xref 44 1 20 1 @<ta:1197337@>Ps. 69:25@/
xref 44 1 20 2 Taken from @<ta:0x126d08@>Ps. 109:8@/
This renders as indented quotations with a clickable cross-reference marker
at each @<xN@>@/ location. Every marker needs a matching xref record.
The link syntax is @<t<target>@><display_text>@/, where the target uses
a:, o:, or lid:. For ARI, book IDs are zero-based:
1197337 = 18 * 65536 + 69 * 256 + 25 = Psalm 69:25
0x126d08 = 18 * 65536 + 109 * 256 + 8 = Psalm 109:8
You can use decimal or 0x hexadecimal ARI values, standard OSIS identifiers,
or KJV LIDs:
xref 44 1 20 1 @<to:Ps.69.25@>Ps. 69:25@/
xref 44 1 20 2 Taken from @<tlid:15764@>Ps. 109:8@/
Hyphens and commas specify ranges and separate passages:
xref 58 4 7 1 @<ta:1203975-1203976@>Ps. 95:7-8@/; @<ta:3736327-3736328,3736333,3736577@>Heb. 3:7-8, 13; 4:1@/
Plain verse text needs no tags. For formatted verse text, start with @@.
Tags use @ followed by a character, or an inline element of the form
@<...@>...@/. Formatting resets at the beginning of every verse.
| Tag | Effect |
|---|---|
@0 |
Start a new line with no indentation |
@1 |
Start a new line with one indentation level |
@2 |
Start a new line with two indentation levels |
@3 |
Start a new line with three indentation levels |
@4 |
Start a new line with four indentation levels |
@^ |
Start a new paragraph |
Each verse begins at indentation level zero, so an initial @0 is
unnecessary. Use it to return to zero after an indented line. Reserve the
deeper levels for text that needs them, such as poetry.
Use @^ at the start of a verse when it begins a new paragraph, including
verse 1 of a chapter, or in the middle of a verse for a paragraph break.
@@@1Lihatlah laut itu, besar dan luas wilayahnya, @2di situ bergerak, tidak terbilang banyaknya, @2binatang-binatang yang kecil dan besar.
This displays the first line at one indentation level and the next two lines at two levels:
Lihatlah laut itu, besar dan luas wilayahnya,
di situ bergerak, tidak terbilang banyaknya,
binatang-binatang yang kecil dan besar.
@@@^Teofilus yang mulia, @^Banyak orang telah berusaha menyusun suatu berita tentang peristiwa-peristiwa yang telah terjadi di antara kita,
This separates the greeting and the following sentence into two paragraphs.
| Start | End | Effect |
|---|---|---|
@6 |
@5 |
Words of Jesus, usually displayed in red |
@9 |
@7 |
Italics, for example words added by the translator |
@8 |
None | Force a line break |
Restart red-letter or italic formatting in each verse that needs it; a previous verse's formatting does not carry over.
Example verse text with poetry and line breaks:
@@@1Apabila Engkau mengirim roh-Mu, mereka tercipta, @2dan Engkau membaharui muka bumi. @8
@@@1Biarlah habis orang-orang berdosa dari bumi, @2dan biarlah orang-orang fasik tidak ada lagi! @8@1Pujilah TUHAN, hai jiwaku! @2Haleluya!
Rendered layout:
Apabila Engkau mengirim roh-Mu, mereka tercipta,
dan Engkau membaharui muka bumi.
Biarlah habis orang-orang berdosa dari bumi,
dan biarlah orang-orang fasik tidak ada lagi!
Pujilah TUHAN, hai jiwaku!
Haleluya!
Example with red-letter text in consecutive verses:
@@Dan kata-Nya lagi: @6"Aku berkata kepadamu, sesungguhnya tidak ada nabi yang dihargai di tempat asalnya.@5
@@@6Dan Aku berkata kepadamu, dan kata-Ku ini benar: Pada zaman Elia terdapat banyak perempuan janda di Israel ketika langit tertutup selama tiga tahun dan enam bulan dan ketika bahaya kelaparan yang hebat menimpa seluruh negeri.@5
Each verse starts its own red-letter span. The formatting tags are hidden in the rendered text. See Text Rendering for the rendering pipeline and the ruby design for additional annotations supported by the Compose renderer.
Old Testament:
Gen Exod Lev Num Deut Josh Judg Ruth 1Sam 2Sam 1Kgs 2Kgs 1Chr 2Chr Ezra Neh
Esth Job Ps Prov Eccl Song Isa Jer Lam Ezek Dan Hos Joel Amos Obad Jonah Mic
Nah Hab Zeph Hag Zech Mal
New Testament:
Matt Mark Luke John Acts Rom 1Cor 2Cor Gal Eph Phil Col 1Thess 2Thess 1Tim
2Tim Titus Phlm Heb Jas 1Pet 2Pet 1John 2John 3John Jude Rev
Send format questions or translations you are permitted to distribute to help@alkitab.app.