forked from WycliffeAssociates/en_ulb_tagged
Tagging ULB new regime
This commit is contained in:
parent
d6333336e4
commit
4985c2e6e0
15
Check_ULB.pl
15
Check_ULB.pl
|
@ -58,11 +58,14 @@ sub GetGist {
|
|||
|
||||
sub Untag {
|
||||
my ($pre, $txt) = ($_[0], $_[1]);
|
||||
#say LOG "\$pre: $pre\n\$txt: $txt";
|
||||
say LOG "<00>\t\$pre: $pre\n\$txt: $txt";
|
||||
if ($txt =~ /\[\d\]/) {
|
||||
$txt = Reorder($txt);
|
||||
say LOG "<0>\t$txt";
|
||||
}
|
||||
$txt =~ s/[\t\n]/ /g;
|
||||
$txt =~ s/(√|<[^<>]*>)//g;
|
||||
$txt = $pre . " " . $txt;
|
||||
# say LOG "<0>\t$txt";
|
||||
$txt =~ s/ {2,}/ /g;
|
||||
$txt =~ s/— /—/g;
|
||||
$txt =~ s/^(.+[^ ])(\\)/$1 $2/g;
|
||||
|
@ -71,6 +74,14 @@ sub Untag {
|
|||
return $txt;
|
||||
}
|
||||
|
||||
sub Reorder {
|
||||
my $txt = $_[0];
|
||||
say LOG "<R1>\t$txt";
|
||||
while ($txt =~ s/sub="\[(\d+)\]" ([^>]*>)([^<]*)(<(.|\n)*?>[^<]*)\[\1\]([^<]*<)/$2√$4$3$6/s) {}
|
||||
say LOG "<R2>\t$txt";
|
||||
return $txt
|
||||
}
|
||||
|
||||
sub GetBooksToCheck {
|
||||
while (<DATA>) {
|
||||
chomp;
|
||||
|
|
|
@ -1,411 +0,0 @@
|
|||
# Takes current tW entries and populates tagged OGNT XML
|
||||
#
|
||||
# This is the current best version
|
||||
# Requires ULB that includes USFMs.
|
||||
|
||||
|
||||
use 5.12.0;
|
||||
use File::Slurp;
|
||||
use File::Find ;
|
||||
use Cwd ;
|
||||
use utf8;
|
||||
#use open IN => ":utf8", OUT => ":utf8";
|
||||
use open IO => ":utf8";
|
||||
$" = "\n";
|
||||
|
||||
mkdir "Logs";
|
||||
open(LOG, ">Logs/tW_pairs.txt") or die "$!";
|
||||
my $ULBfile = "/Users/Henry/Documents/WACS/en_ulb_tagged/ULB_xml/ULB.xml";
|
||||
my $topDirOGNT = "/Users/Henry/Documents/WACS/OGNT";
|
||||
#my $topDirOGNT = "/Users/Henry/Documents/WACS/en_ulb_tagged/Tag_test";
|
||||
my $topDirtW = "/Users/Henry/Documents/WACS/en_tw/bible";
|
||||
my ($outDir, $outFile) = ("/Users/Henry/Documents/WACS/en_ulb_tagged/Auto-tagged", "");
|
||||
my ($ULBText, $workText, $language);
|
||||
my ($file);
|
||||
my (%ULBtextThisVerse, %ULBpreTextThisVerse, %SNsThisVerse, %entriesThisSN, %longName);
|
||||
|
||||
my @OGNTfilesToRun = ();
|
||||
#my $filePattern = '\.xml' ;
|
||||
my $filePattern = '41-MAT\.xml' ;
|
||||
find( sub { push @OGNTfilesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDirOGNT) ;
|
||||
|
||||
say LOG "\@OGNTfilesToRun:\n@OGNTfilesToRun\n";
|
||||
|
||||
my @tWfilesToRun = ();
|
||||
$filePattern = '.md' ;
|
||||
find( sub { push @tWfilesToRun, $File::Find::name if ( m/^(.*)$filePattern$/ ) }, $topDirtW) ;
|
||||
|
||||
Read_tW_Files();
|
||||
|
||||
close LOG;
|
||||
open(LOG, ">Logs/Log.txt") or die "$!";
|
||||
|
||||
LongBookNames();
|
||||
Prepare_ULB_file();
|
||||
say LOG "Prepare_ULB_file done.\n\@OGNTfilesToRun:\n@OGNTfilesToRun\n";
|
||||
|
||||
ProcessXML();
|
||||
# put unused SN at end of verse
|
||||
|
||||
close LOG;
|
||||
|
||||
say "\nDone.";
|
||||
# =====
|
||||
sub Read_tW_Files {
|
||||
foreach $file ( @tWfilesToRun ) {
|
||||
say LOG $file;
|
||||
my (@sns);
|
||||
my $entries;
|
||||
my $fileText = read_file("$file", binmode => 'utf8');
|
||||
if ($fileText =~ /\* Strong's: ([^\n]*)\n/) {
|
||||
my $sns = $1;
|
||||
#say LOG "\t$sns";
|
||||
@sns = split /, /, $sns;
|
||||
}
|
||||
if ($fileText =~ /Forms Found in the English ULB:\n\n([^\n]*)\n/) {
|
||||
$entries = $1;
|
||||
die "$fileText" if $entries eq "";
|
||||
#say LOG "\t\t$entries"
|
||||
}
|
||||
foreach my $sn (@sns) {
|
||||
$entriesThisSN{$sn} .= $entries . ", ";
|
||||
#say LOG "\t\t\t$sn: $entriesThisSN{$sn}"
|
||||
}
|
||||
}
|
||||
foreach my $sn (sort keys %entriesThisSN) {
|
||||
#say LOG "$sn: $entriesThisSN{$sn}";
|
||||
my @entries = split /, /, $entriesThisSN{$sn};
|
||||
@entries = reverse sort { substr($a,0,1) <=> substr($b,0,1)
|
||||
|| length($a) <=> length($b)
|
||||
|| $a <=> $b }
|
||||
@entries;
|
||||
$entriesThisSN{$sn} = "";
|
||||
foreach my $slice (@entries) {
|
||||
$entriesThisSN{$sn} .= "$slice, "
|
||||
}
|
||||
$entriesThisSN{$sn} =~ s/, $//;
|
||||
say LOG "$sn: $entriesThisSN{$sn}";
|
||||
}
|
||||
|
||||
}
|
||||
sub LongBookNames {
|
||||
while (<DATA>) {
|
||||
chomp;
|
||||
if (/([^\t]*)\t([^\t]*)\t([^\t]*)/) {
|
||||
$longName{$2} = $3
|
||||
}
|
||||
}
|
||||
}
|
||||
sub ProcessXML {
|
||||
foreach my $file (@OGNTfilesToRun) {
|
||||
my $greekText;
|
||||
my $fileGist;
|
||||
if ($file =~ /((..)....\.xml)/) {
|
||||
($fileGist, $language) = ($1, $2);
|
||||
if ($language > 40) {
|
||||
$language = "G"
|
||||
} else {$language = "H"}
|
||||
|
||||
}
|
||||
say LOG "<0>\t$file \t$fileGist";
|
||||
open(OUT, ">$outDir/$fileGist") or die "$outDir/$fileGist: $!";
|
||||
my ($pre, $gist, $post, $bk, $ch, $vs, $thisVerse, $staticText, $residueText, $matchedLines, $flag, $thisVerseForOutput,
|
||||
$linesWithRelevantSNs, $linesNotMatched, $orderedOutputLines, $linesToSkip, $thisPreText);
|
||||
open (my $thisFile, "<:utf8", "$file") or die "$file:\n$!";
|
||||
my ($originalLinesCount, $rsnCount, $skipCount, $noRSNCount, $outCount);
|
||||
while (my $thisLine = <$thisFile>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /<verse/) {say LOG "\n=========================="}
|
||||
if ($thisLine =~ /<\/verse>/) {
|
||||
say LOG "<0.1>\t$thisLine";
|
||||
say LOG "<11>\n\$linesWithRelevantSNs\n$linesWithRelevantSNs\n\$linesToSkip\n$linesToSkip\$residueText\n$residueText";
|
||||
|
||||
($matchedLines, $residueText, $linesNotMatched) = ProcessRelevantSNs($linesWithRelevantSNs, $staticText, $residueText);
|
||||
say LOG "<14>\t\$matchedLines\n$matchedLines\n\$linesNotMatched\n$linesNotMatched";
|
||||
my %orderedLine;
|
||||
$matchedLines =~ s/\n{2,}/\n/gs;
|
||||
say LOG "<15\tBefore sort of \$matchedLines:\n$matchedLines\n";
|
||||
while ($matchedLines =~ /([^◊]*)◊(\d*)\n/g) {
|
||||
$orderedLine{$2} = $1;
|
||||
say LOG "<5>\t\$2: $2\t\$1: $1";
|
||||
}
|
||||
$matchedLines = "";
|
||||
foreach my $line (sort {$a <=> $b} keys %orderedLine) {
|
||||
say LOG "<5.5>\t\$line: $line\t\$orderedLine{$line}: $orderedLine{$line}";
|
||||
$matchedLines .= "$orderedLine{$line}\n"
|
||||
}
|
||||
chomp $matchedLines;
|
||||
say LOG "<16>\tAfter sort of \$matchedLines:\n$matchedLines\n\$linesNotMatched\n$linesNotMatched";
|
||||
$residueText =~ s/<usfm>.*?<\/usfm>//g;
|
||||
$residueText =~ s/(^q | q$)//g;
|
||||
$residueText =~ s/ {3,}/ /g;
|
||||
$residueText =~ s/^ +//;
|
||||
$residueText =~ s/ +$/$1/;
|
||||
$greekText =~ s/^ +//;
|
||||
$greekText =~ s/ +$/$1/;
|
||||
$staticText =~ s/^ +//;
|
||||
$staticText =~ s/ +$/$1/;
|
||||
my $internalUSFM;
|
||||
$internalUSFM .= "\t\t\t\t\t$&\n" while ($staticText =~ /<usfm>.*?<\/usfm>/g);
|
||||
$linesNotMatched =~ s/\n+$//;
|
||||
$linesToSkip =~ s/\n+$//;
|
||||
$matchedLines =~ s/^\n+//;
|
||||
$internalUSFM =~ s/\n+$//;
|
||||
$internalUSFM =~ s/\t{5,}/\t\t\t\t/g;
|
||||
say LOG "<17>\tAfter pruning \$matchedLines:\n$matchedLines\n\$linesNotMatched\n$linesNotMatched";
|
||||
say OUT "\t\t\t\t<Greek>$greekText</Greek>";
|
||||
say OUT "\t\t\t\t<preText>$thisPreText</preText>";
|
||||
say OUT "\t\t\t\t<ULB>$staticText</ULB>";
|
||||
say OUT "\t\t\t\t<residue>$residueText</residue>";
|
||||
say OUT "$matchedLines" unless ($matchedLines eq "");
|
||||
say OUT "$linesNotMatched" unless ($linesNotMatched eq "");
|
||||
say OUT "$internalUSFM" unless ($internalUSFM eq "");
|
||||
say OUT "$linesToSkip" if ($linesToSkip);
|
||||
say OUT "$thisLine";
|
||||
($originalLinesCount, $rsnCount, $skipCount, $noRSNCount, $outCount) = ();
|
||||
($thisVerseForOutput, $flag, $workText, $greekText, $linesNotMatched, $linesToSkip, $residueText, $orderedOutputLines, $linesWithRelevantSNs) = ();
|
||||
($linesToSkip) = ("");
|
||||
}
|
||||
elsif ($thisLine =~ /<w /) {
|
||||
say LOG "<0.2>\t$thisLine";
|
||||
$originalLinesCount ++;
|
||||
if ($thisLine =~ />([^\n<>]*)</) {
|
||||
$greekText .= $1 . " "
|
||||
}
|
||||
$thisLine =~ s/\t(<w .*)>([^<]*)(<\/w>)/$1 text="$2">$3/;
|
||||
if ($thisLine =~ /lemma="(\d+)"/) {
|
||||
my $thisLemma = $language . $1;
|
||||
if (exists $entriesThisSN{$thisLemma}) {
|
||||
$rsnCount ++;
|
||||
$linesWithRelevantSNs .= $thisLine . "\n";
|
||||
say LOG "<0.2.1>\t\$thisLemma: $thisLemma; line pushed to \$linesWithRelevantSNs";
|
||||
}
|
||||
else {
|
||||
$skipCount ++;
|
||||
$thisLine =~ s/><\/w>/>√<\/w>/;
|
||||
$linesToSkip .= "$thisLine\n";
|
||||
#say LOG "<0.2.2>\t\$thisLemma: $thisLemma; line pushed to \@LinesToSkip";
|
||||
}
|
||||
}
|
||||
}
|
||||
elsif ($thisLine =~ /<verse osisID="(.*?)\.(.*?)\.(.*?)">/) {
|
||||
say LOG "<0.3>\t$thisLine";
|
||||
($bk, $ch, $vs) = ($1,$2,$3);
|
||||
($thisVerse, $greekText) = ("$longName{$bk} $ch:$vs", "");
|
||||
$staticText = $ULBtextThisVerse{$thisVerse};
|
||||
$residueText = "q $staticText q";
|
||||
$thisPreText = $ULBpreTextThisVerse{$thisVerse};
|
||||
say OUT "\t\t\t<verse name=\"$thisVerse\">";
|
||||
($flag) = (1);
|
||||
}
|
||||
else {say OUT $thisLine}
|
||||
}
|
||||
|
||||
close $thisFile;
|
||||
close OUT;
|
||||
}
|
||||
}
|
||||
sub ProcessRelevantSNs {
|
||||
my ($relevantLines, $staticText, $residueText, $linesNotMatched) = (@_);
|
||||
my ($matchedLines, $thisLine);
|
||||
my @relevantLines = split /\n/, $relevantLines;
|
||||
foreach my $line (@relevantLines) {
|
||||
if ($line =~ /lemma="(\d+)"/) {
|
||||
my $thisSN = $language . $1;
|
||||
say LOG "<12>\t\$line: $line, \$thisSN: $thisSN, \$entriesThisSN{$thisSN}\n$entriesThisSN{$thisSN}";
|
||||
($thisLine, $residueText, $linesNotMatched) = MatchAndPlace($line, $thisSN, $staticText, $residueText, $linesNotMatched);
|
||||
$thisLine =~ s/[ \t]+$//;
|
||||
$matchedLines .= $thisLine . "\n";
|
||||
$matchedLines =~ s/\n{2,}$/\n/s;
|
||||
say LOG "<13>\t\$matchedLines\n$matchedLines\n\$linesNotMatched\n$linesNotMatched+++"
|
||||
}
|
||||
}
|
||||
return ($matchedLines, $residueText, $linesNotMatched);
|
||||
}
|
||||
sub MatchAndPlace {
|
||||
my ($line, $sn, $staticText, $workText, $linesNotMatched) = @_;
|
||||
#say LOG "<8>\t\$line: $line \$sn: $sn \$workText\n$workText";
|
||||
my ($workEntry, $found, $matchedLines, $first, $second, $third, $firstLen, $secondLen, $thirdLen);
|
||||
my @entries = split /, /, $entriesThisSN{$sn};
|
||||
foreach my $entry (@entries) {
|
||||
my $entryType;
|
||||
if ($entry =~ /^(.*) \.\.\. (.*) \.\.\. (.*)$/) {
|
||||
($first, $second, $third) = ($1, $2, $3);
|
||||
($firstLen, $secondLen, $thirdLen) = (length $first, length $second, length $third);
|
||||
$workEntry = "\\b" . $first . "\\b" . ".*?" . "\\b" . $second . "\\b" . ".*?" . "\\b" . $third;
|
||||
say LOG "<1a>\t\$first: $first, \$second: $second, \$third: $third, \$firstLen: $firstLen, \$secondLen,: $secondLen, \$thirdLen: $thirdLen \$entry: |$entry|\t\$workEntry: |$workEntry|";
|
||||
$entryType = 1;
|
||||
}
|
||||
elsif ($entry =~ /^(.*) \.\.\. (.*)$/) {
|
||||
($first, $second) = ($1, $2);
|
||||
($firstLen, $secondLen) = (length $first, length $second);
|
||||
$workEntry = "\\b" . $first . "\\b" . ".*?" . "\\b" . $second . "\\b";
|
||||
say LOG "<2a>\t\$first: $first, \$second: $second, \$third: $third, \$firstLen: $firstLen, \$secondLen,: $secondLen, \$entry: |$entry|\t\$workEntry: |$workEntry|";
|
||||
$entryType = 2;
|
||||
}
|
||||
else {$workEntry = $entry;}
|
||||
|
||||
my $foundText;
|
||||
#say LOG "<8.1>\t\$entryType: $entryType\t\$entry: $entry\t\$workEntry: $workEntry";
|
||||
if ($workText =~ /\b$workEntry\b/p) {
|
||||
say LOG "<8.1>Found: \t\$entryType: $entryType\t\$entry: $entry\t\$workEntry: $workEntry";
|
||||
($foundText, $workText) = ($&, "${^PREMATCH}ı${^POSTMATCH}");
|
||||
my ($place, $foundTextLength, $replacementSpaces) = (length ${^PREMATCH}, length $foundText, "");
|
||||
$line =~ s/></>$entry</;
|
||||
while (length $replacementSpaces < $foundTextLength) {$replacementSpaces .= " "}
|
||||
|
||||
if ($entryType) {
|
||||
|
||||
say LOG "<8.2>\n\$workText,: $workText, \$matchedLines:\n$matchedLines ";
|
||||
|
||||
($workText) = FixWorkText($line, $workText, $workEntry, $foundText, $foundTextLength, $first, $firstLen, $second, $secondLen, $third, $thirdLen);
|
||||
|
||||
say LOG "<8.3>\n\$workText:\n$workText\n\$matchedLines:\n$matchedLines";
|
||||
|
||||
}
|
||||
|
||||
else {$workText =~ s/ı/$replacementSpaces/;}
|
||||
|
||||
$matchedLines .= "$line◊$place";
|
||||
|
||||
say LOG "<8.4>\tAfter found, new \$workText:\n$workText";
|
||||
$found = 1;
|
||||
}
|
||||
else {
|
||||
#say LOG "\$workEntry $workEntry not found"
|
||||
}
|
||||
if ($found) {
|
||||
last
|
||||
}
|
||||
}
|
||||
unless ($found) {
|
||||
$line =~ s/></>?</;
|
||||
$linesNotMatched .= "$line\n"
|
||||
}
|
||||
return ($matchedLines, $workText, $linesNotMatched)
|
||||
}
|
||||
sub FixWorkText {
|
||||
my ($thisLine, $text, $entry, $foundText, $foundTextLength, $first, $firstLen, $second, $secondLen, $third, $thirdLen) = @_;
|
||||
my ($firstSpace, $secondSpace, $thirdSpace);
|
||||
while (length $firstSpace < $firstLen) {$firstSpace .= " "}
|
||||
while (length $secondSpace < $secondLen) {$secondSpace .= " "}
|
||||
while (length $thirdSpace < $thirdLen) {$thirdSpace .= " "}
|
||||
|
||||
say LOG "<9>\$text:\n$text\n\t\t\$entry: $entry \$foundText: $foundText\t \$foundTextLength: $foundTextLength\t\$first: $first\t\$second: $second\t\$third: $third\n\$firstSpace: $firstSpace\t\$secondSpace: $secondSpace\t\$thirdSpace: $thirdSpace";
|
||||
if ($third) {
|
||||
if ($foundText =~ /$first(.*)$second(.*)$third/) {
|
||||
my ($firstGap, $secondGap) = ($1, $2);
|
||||
my $repText = "$firstSpace$firstGap$secondSpace$secondGap$thirdSpace";
|
||||
say LOG "<9.1> \$repText: $repText";
|
||||
$text =~ s/ı/$repText/;
|
||||
}
|
||||
}
|
||||
else {
|
||||
if ($foundText =~ /$first(.*)$second/) {
|
||||
my ($firstGap) = ($1);
|
||||
say LOG "<9.2>\t\$firstSpace: |$firstSpace|\t\$firstGap: |$firstGap|\t\$secondSpace: |$secondSpace|";
|
||||
my $repText ="$firstSpace$firstGap$secondSpace";
|
||||
say LOG "<9.3> \$repText: |$repText|";
|
||||
$text =~ s/ı/$repText/;
|
||||
}
|
||||
}
|
||||
return ($text)
|
||||
}
|
||||
sub Prepare_ULB_file {
|
||||
|
||||
my $thisVerse;
|
||||
#$ULBText = read_file($ULBfile, binmode => 'utf8');
|
||||
|
||||
#while ($ULBText =~ /<verse name="(.*?)">\n<preText>(.*?)<\/preText>\n.*<text>(.*?)<\/text>.*<\/verse>/sg) {
|
||||
# ($ULBtextThisVerse{$1}, $ULBpreTextThisVerse{$1}) = ($3, $2);
|
||||
#}
|
||||
#
|
||||
|
||||
open (my $file, "<:utf8", "$ULBfile") or die "$ULBfile:\n$!";
|
||||
|
||||
while (my $thisLine = <$file>) {
|
||||
chomp $thisLine;
|
||||
if ($thisLine =~ /verse name="(.*?)"/) {
|
||||
$thisVerse = $1;
|
||||
#say LOG "$thisVerse:\n$thisLine"
|
||||
}
|
||||
elsif ($thisLine =~ /<preText>(.*?)<\/preText>/) {
|
||||
$ULBpreTextThisVerse{$thisVerse} = $1;
|
||||
#say LOG "$thisVerse:\n$ULBpreTextThisVerse{$thisVerse}"
|
||||
}
|
||||
elsif ($thisLine =~ /<text>(.*?)<\/text>/) {
|
||||
$ULBtextThisVerse{$thisVerse} = $1;
|
||||
#say LOG "$thisVerse:\n$ULBtextThisVerse{$thisVerse}"
|
||||
}
|
||||
}
|
||||
|
||||
close $file;
|
||||
}
|
||||
|
||||
__DATA__
|
||||
01 gen Genesis
|
||||
02 exo Exodus
|
||||
03 lev Leviticus
|
||||
04 num Numbers
|
||||
05 deu Deuteronomy
|
||||
06 jos Joshua
|
||||
07 jdg Judges
|
||||
08 rut Ruth
|
||||
09 1sa 1 Samuel
|
||||
10 2sa 2 Samuel
|
||||
11 1ki 1 Kings
|
||||
12 2ki 2 Kings
|
||||
13 1ch 1 Chronicles
|
||||
14 2ch 2 Chronicles
|
||||
15 ezr Ezra
|
||||
16 neh Nehemiah
|
||||
17 est Esther
|
||||
18 job Job
|
||||
19 psa Psalms
|
||||
20 pro Proverbs
|
||||
21 ecc Ecclesiastes
|
||||
22 sng Song of Solomon
|
||||
23 isa Isaiah
|
||||
24 jer Jeremiah
|
||||
25 lam Lamentations
|
||||
26 ezk Ezekiel
|
||||
27 dan Daniel
|
||||
28 hos Hosea
|
||||
29 jol Joel
|
||||
30 amo Amos
|
||||
31 oba Obadiah
|
||||
32 jon Jonah
|
||||
33 mic Micah
|
||||
34 nam Nahum
|
||||
35 hab Habakkuk
|
||||
36 zep Zephaniah
|
||||
37 hag Haggai
|
||||
38 zec Zechariah
|
||||
39 mal Malachi
|
||||
41 mat Matthew
|
||||
42 mrk Mark
|
||||
43 luk Luke
|
||||
44 jhn John
|
||||
45 act Acts
|
||||
46 rom Romans
|
||||
47 1co 1 Corinthians
|
||||
48 2co 2 Corinthians
|
||||
49 gal Galatians
|
||||
50 eph Ephesians
|
||||
51 php Philippians
|
||||
52 col Colossians
|
||||
53 1th 1 Thessalonians
|
||||
54 2th 2 Thessalonians
|
||||
55 1ti 1 Timothy
|
||||
56 2ti 2 Timothy
|
||||
57 tit Titus
|
||||
58 phm Philemon
|
||||
59 heb Hebrews
|
||||
60 jas James
|
||||
61 1pe 1 Peter
|
||||
62 2pe 2 Peter
|
||||
63 1jn 1 John
|
||||
64 2jn 2 John
|
||||
65 3jn 3 John
|
||||
66 jud Jude
|
||||
67 rev Revelation
|
File diff suppressed because it is too large
Load Diff
|
@ -1,41 +0,0 @@
|
|||
\s5
|
||||
\p
|
||||
\v 5 Then \tag lemma="5119" morph="ADV" lexeme="τότε" OGNT="Τότε" \tag* the \tag lemma="3588" morph="T-NSM" lexeme="ὁ" OGNT="ὁ" \tag* devil \tag lemma="1228" morph="A-NSM" lexeme="διάβολος" OGNT="διάβολος" \tag* took \tag lemma="3880" morph="V-PAI-3S" lexeme="παραλαμβάνω" OGNT="παραλαμβάνει" \tag* him \tag lemma="846" morph="P-ASM" lexeme="αὐτός" OGNT="αὐτὸν" \tag* into \tag lemma="1519" morph="PREP" lexeme="εἰς" OGNT="εἰς" \tag* the \tag lemma="3588" morph="T-ASF" lexeme="ὁ" OGNT="τὴν" \tag*holy \tag lemma="40" morph="A-ASF" lexeme="ἅγιος" OGNT="ἁγίαν" \tag* city \tag lemma="4172" morph="N-ASF" lexeme="πόλις" OGNT="πόλιν" \tag* and \tag lemma="2532" morph="CONJ" lexeme="καί" OGNT="καὶ" \tag*set \tag lemma="2476" morph="V-2AAI-3S" lexeme="ἵστημι" OGNT="ἔστησεν" \tag* him on \tag lemma="1909" morph="PREP" lexeme="ἐπί" OGNT="ἐπὶ" \tag* the \tag lemma="3588" morph="T-ASN" lexeme="ὁ" OGNT="τὸ" \tag* highest point \tag lemma="4419" morph="N-ASN" lexeme="πτερύγιον" OGNT="πτερύγιον" \tag* of the \tag lemma="3588" morph="T-GSN" lexeme="ὁ" OGNT="τοῦ" \tag* temple building \tag lemma="2411" morph="N-GSN" lexeme="ἱερός" OGNT="ἱεροῦ" \tag*,
|
||||
|
||||
\v 5 Then \tag lemma="5119" morph="ADV" lexeme="τότε" OGNT="Τότε" \tag*
|
||||
the \tag lemma="3588" morph="T-NSM" lexeme="ὁ" OGNT="ὁ" \tag*
|
||||
devil \tag lemma="1228" morph="A-NSM" lexeme="διάβολος" OGNT="διάβολος" \tag*
|
||||
took \tag lemma="3880" morph="V-PAI-3S" lexeme="παραλαμβάνω" OGNT="παραλαμβάνει" \tag*
|
||||
him \tag lemma="846" morph="P-ASM" lexeme="αὐτός" OGNT="αὐτὸν" \tag*
|
||||
into \tag lemma="1519" morph="PREP" lexeme="εἰς" OGNT="εἰς" \tag*
|
||||
the \tag lemma="3588" morph="T-ASF" lexeme="ὁ" OGNT="τὴν" \tag*holy \tag lemma="40" morph="A-ASF" lexeme="ἅγιος" OGNT="ἁγίαν" \tag*
|
||||
city \tag lemma="4172" morph="N-ASF" lexeme="πόλις" OGNT="πόλιν" \tag*
|
||||
and \tag lemma="2532" morph="CONJ" lexeme="καί" OGNT="καὶ" \tag*set \tag lemma="2476" morph="V-2AAI-3S" lexeme="ἵστημι" OGNT="ἔστησεν" \tag*
|
||||
him on \tag lemma="1909" morph="PREP" lexeme="ἐπί" OGNT="ἐπὶ" \tag*
|
||||
the \tag lemma="3588" morph="T-ASN" lexeme="ὁ" OGNT="τὸ" \tag*
|
||||
highest point \tag lemma="4419" morph="N-ASN" lexeme="πτερύγιον" OGNT="πτερύγιον" \tag*
|
||||
of the \tag lemma="3588" morph="T-GSN" lexeme="ὁ" OGNT="τοῦ" \tag*
|
||||
temple building \tag lemma="2411" morph="N-GSN" lexeme="ἱερός" OGNT="ἱεροῦ" \tag*,
|
||||
|
||||
|
||||
|
||||
<verse osisID="mat.4.5">
|
||||
<w lemma="5119" morph="ADV" lexeme="τότε"OGNT="Τότε">Then</w>
|
||||
<w lemma="3588" morph="T-NSM" lexeme="ὁ"OGNT="ὁ">the</w>
|
||||
<w lemma="1228" morph="A-NSM" lexeme="διάβολος"OGNT="διάβολος">devil</w>
|
||||
<w lemma="3880" morph="V-PAI-3S" lexeme="παραλαμβάνω"OGNT="παραλαμβάνει">took</w>
|
||||
<w lemma="846" morph="P-ASM" lexeme="αὐτός"OGNT="αὐτὸν">him</w>
|
||||
<w lemma="1519" morph="PREP" lexeme="εἰς"OGNT="εἰς">into</w>
|
||||
<w lemma="3588" morph="T-ASF" lexeme="ὁ"OGNT="τὴν">the</w>
|
||||
<w lemma="40" morph="A-ASF" lexeme="ἅγιος"OGNT="ἁγίαν">holy</w>
|
||||
<w lemma="4172" morph="N-ASF" lexeme="πόλις"OGNT="πόλιν">city</w>
|
||||
<w lemma="2532" morph="CONJ" lexeme="καί"OGNT="καὶ">and</w>
|
||||
<w lemma="2476" morph="V-2AAI-3S" lexeme="ἵστημι"OGNT="ἔστησεν">se</w>
|
||||
<w lemma="846" morph="P-ASM" lexeme="αὐτός"OGNT="αὐτὸν">him</w>
|
||||
<w lemma="1909" morph="PREP" lexeme="ἐπί"OGNT="ἐπὶ">on</w>
|
||||
<w lemma="3588" morph="T-ASN" lexeme="ὁ"OGNT="τὸ">the</w>
|
||||
<w lemma="4419" morph="N-ASN" lexeme="πτερύγιον"OGNT="πτερύγιον">highest point</w>
|
||||
<w lemma="3588" morph="T-GSN" lexeme="ὁ"OGNT="τοῦ">of the</w>
|
||||
<w lemma="2411" morph="N-GSN" lexeme="ἱερός"OGNT="ἱεροῦ">temple building</w>
|
||||
</verse>
|
||||
|
|
@ -1,121 +0,0 @@
|
|||
|
||||
<xml>
|
||||
<book>
|
||||
<div type="book" osisID="tit">
|
||||
<chapter osisID="tit.1">
|
||||
<verse osisID="tit.1.1">
|
||||
<Greek>Παῦλος δοῦλος Θεοῦ ἀπόστολος δὲ Ἰησοῦ Χριστοῦ κατὰ πίστιν ἐκλεκτῶν Θεοῦ καὶ ἐπίγνωσιν ἀληθείας τῆς κατ᾽ εὐσέβειαν </Greek>
|
||||
<ULB> Paul, a servant of God and an apostle of Jesus Christ for the faith of God's chosen people and the knowledge of the truth that agrees with godliness,</ULB>
|
||||
<residue>q , a of and an of for the of and the of the , q</residue>
|
||||
<preText>\s5 \c 1 \p \v 1</preText>
|
||||
<w OGNTsort="114632" ULBorder="---" lemma="G3972" morph="N-NSM-P" lexeme="Παῦλος" text="Παῦλος">Paul,</w>
|
||||
<w OGNTsort="114633" ULBorder="---" lemma="G1401" morph="N-NSM" lexeme="δοῦλος" text="δοῦλος">a servant</w>
|
||||
<w OGNTsort="114642" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">of God</w>
|
||||
<w OGNTsort="114635" ULBorder="---" lemma="G652" morph="N-NSM" lexeme="ἀπόστολος" text="ἀπόστολος">apostle</w>
|
||||
<w OGNTsort="114636" ULBorder="---" lemma="G1161" morph="CONJ" lexeme="δέ" text="δὲ">√</w>
|
||||
<w OGNTsort="114637" ULBorder="---" lemma="G2424" morph="N-GSM-P" lexeme="Ἰησοῦς" text="Ἰησοῦ">of Jesus</w>
|
||||
<w OGNTsort="114638" ULBorder="---" lemma="G5547" morph="N-GSM-T" lexeme="Χριστός" text="Χριστοῦ">Christ</w>
|
||||
<w OGNTsort="114639" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατὰ">for</w>
|
||||
<w OGNTsort="114640" ULBorder="---" lemma="G4102" morph="N-ASF" lexeme="πίστις" text="πίστιν">the faith</w>
|
||||
<w OGNTsort="114634" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">of God's</w>
|
||||
<w OGNTsort="114641" ULBorder="---" lemma="G1588" morph="A-GPM" lexeme="ἐκλεκτός" text="ἐκλεκτῶν">chosen people</w>
|
||||
<w OGNTsort="114643" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
|
||||
<w OGNTsort="114644" ULBorder="---" lemma="G1922" morph="N-ASF" lexeme="ἐπίγνωσις" text="ἐπίγνωσιν">the knowledge</w>
|
||||
<w OGNTsort="114645" ULBorder="---" lemma="G225" morph="N-GSF" lexeme="ἀλήθεια" text="ἀληθείας">of the truth</w>
|
||||
<w OGNTsort="114646" ULBorder="---" lemma="G3588" morph="T-GSF" lexeme="ὁ" text="τῆς">that</w>
|
||||
<w OGNTsort="114647" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατ᾽">agrees with</w>
|
||||
<w OGNTsort="114648" ULBorder="---" lemma="G2150" morph="N-ASF" lexeme="εὐσέβεια" text="εὐσέβειαν">godliness,</w>
|
||||
</verse>
|
||||
<verse osisID="tit.1.2">
|
||||
<Greek>ἐπ᾽ ἐλπίδι ζωῆς αἰωνίου ἣν ἐπηγγείλατο ὁ ἀψευδὴς Θεὸς πρὸ χρόνων αἰωνίων </Greek>
|
||||
<ULB> with the hope of everlasting life that God, who does not lie, promised before all the ages of time.</ULB>
|
||||
<residue>q with the of everlasting that , who does not lie, before all the of . q</residue>
|
||||
<w OGNTsort="114649" ULBorder="---" lemma="G1909" morph="PREP" lexeme="ἐπί" text="ἐπ᾽">with</w>
|
||||
<w OGNTsort="114650" ULBorder="---" lemma="G1680" morph="N-DSF" lexeme="ἐλπίς" text="ἐλπίδι">the hope</w>
|
||||
<w OGNTsort="114660" ULBorder="---" lemma="G166" morph="A-GPM" lexeme="αἰώνιος" text="αἰωνίων">of everlasting</w>
|
||||
<w OGNTsort="114651" ULBorder="---" lemma="G2222" morph="N-GSF" lexeme="ζωή" text="ζωῆς">life</w>
|
||||
<w OGNTsort="114653" ULBorder="---" lemma="G3739" morph="R-ASF" lexeme="ὅς, ἥ" text="ἣν">that</w>
|
||||
<w OGNTsort="114657" ULBorder="---" lemma="G2316" morph="N-NSM" lexeme="θεός" text="Θεὸς">God,</w>
|
||||
<w OGNTsort="114655" ULBorder="---" lemma="G3588" morph="T-NSM" lexeme="ὁ" text="ὁ">who</w>
|
||||
<w OGNTsort="114656" ULBorder="---" lemma="G893" morph="A-NSM" lexeme="ἀψευδής" text="ἀψευδὴς">does not lie,</w>
|
||||
<w OGNTsort="114654" ULBorder="---" lemma="G1861" morph="V-ADI-3S" lexeme="ἐπαγγέλλω" text="ἐπηγγείλατο">promised</w>
|
||||
<w OGNTsort="114658" ULBorder="---" lemma="G4253" morph="PREP" lexeme="πρό" text="πρὸ">before</w>
|
||||
<w OGNTsort="114652" ULBorder="---" lemma="G166" morph="A-GSF" lexeme="αἰώνιος" text="αἰωνίου">all the ages</w>
|
||||
<w OGNTsort="114659" ULBorder="---" lemma="G5550" morph="N-GPM" lexeme="χρόνος" text="χρόνων">of time.</w>
|
||||
</verse>
|
||||
<verse osisID="tit.1.3">
|
||||
<Greek>ἐφανέρωσεν δὲ καιροῖς ἰδίοις τὸν λόγον αὐτοῦ ἐν κηρύγματι ὃ ἐπιστεύθην ἐγὼ κατ᾽ ἐπιταγὴν τοῦ Σωτῆρος ἡμῶν Θεοῦ </Greek>
|
||||
<ULB> At the right time he revealed his word through the preaching with which I have been entrusted according to the command of God our Savior.</ULB>
|
||||
<residue>q At the he his word through the with which I have been according to the of our . q</residue>
|
||||
<w OGNTsort="114662" ULBorder="---" lemma="G1161" morph="CONJ" lexeme="δέ" text="δὲ">√</w>
|
||||
<w OGNTsort="114664" ULBorder="---" lemma="G2398" morph="A-DPM" lexeme="ἴδιος" text="ἰδίοις">At the right</w>
|
||||
<w OGNTsort="114663" ULBorder="---" lemma="G2540" morph="N-DPM" lexeme="καιρός" text="καιροῖς">time</w>
|
||||
<w OGNTsort="114661" ULBorder="---" lemma="G5319" morph="V-AAI-3S" lexeme="φανερόω" text="ἐφανέρωσεν">he revealed</w>
|
||||
<w OGNTsort="114665" ULBorder="---" lemma="G3588" morph="T-ASM" lexeme="ὁ" text="τὸν">√</w>
|
||||
<w OGNTsort="114667" ULBorder="---" lemma="G846" morph="P-GSM" lexeme="αὐτός" text="αὐτοῦ">his</w>
|
||||
<w OGNTsort="114666" ULBorder="---" lemma="G3056" morph="N-ASM" lexeme="λόγος" text="λόγον">word</w>
|
||||
<w OGNTsort="114668" ULBorder="---" lemma="G1722" morph="PREP" lexeme="ἐν" text="ἐν">through</w>
|
||||
<w OGNTsort="114669" ULBorder="---" lemma="G2782" morph="N-DSN" lexeme="κήρυγμα" text="κηρύγματι">the preaching</w>
|
||||
<w OGNTsort="114670" ULBorder="---" lemma="G3739" morph="R-ASN" lexeme="ὅς, ἥ" text="ὃ">with which</w>
|
||||
<w OGNTsort="114672" ULBorder="---" lemma="G1473" morph="P-1NS" lexeme="ἐγώ" text="ἐγὼ">I</w>
|
||||
<w OGNTsort="114671" ULBorder="---" lemma="G4100" morph="V-API-1S" lexeme="πιστεύω" text="ἐπιστεύθην">have been entrusted</w>
|
||||
<w OGNTsort="114673" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατ᾽">according to</w>
|
||||
<w OGNTsort="114674" ULBorder="---" lemma="G2003" morph="N-ASF" lexeme="ἐπιταγή" text="ἐπιταγὴν">the command</w>
|
||||
<w OGNTsort="114675" ULBorder="---" lemma="G3588" morph="T-GSM" lexeme="ὁ" text="τοῦ">of</w>
|
||||
<w OGNTsort="114678" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">God</w>
|
||||
<w OGNTsort="114677" ULBorder="---" lemma="G1473" morph="P-1GP" lexeme="ἐγώ" text="ἡμῶν">our</w>
|
||||
<w OGNTsort="114676" ULBorder="---" lemma="G4990" morph="N-GSM" lexeme="σωτήρ" text="Σωτῆρος">Savior</w>
|
||||
</verse>
|
||||
<verse osisID="tit.1.4">
|
||||
<Greek>Τίτῳ γνησίῳ τέκνῳ κατὰ κοινὴν πίστιν Χάρις καὶ εἰρήνη ἀπὸ Θεοῦ Πατρὸς καὶ Χριστοῦ Ἰησοῦ τοῦ Σωτῆρος ἡμῶν </Greek>
|
||||
<ULB> To Titus, a true son in our common faith. Grace and peace from God the Father and Christ Jesus our Savior.</ULB>
|
||||
<residue>q To , a in our common . Grace and from the and our . q</residue>
|
||||
<preText>\p \v 4</preText>
|
||||
<w OGNTsort="114679" ULBorder="---" lemma="G5103" morph="N-DSM-P" lexeme="Τίτος" text="Τίτῳ">To Titus,</w>
|
||||
<w OGNTsort="114680" ULBorder="---" lemma="G1103" morph="A-DSN" lexeme="γνήσιος" text="γνησίῳ">a true</w>
|
||||
<w OGNTsort="114681" ULBorder="---" lemma="G5043" morph="N-DSN" lexeme="τέκνον" text="τέκνῳ">son</w>
|
||||
<w OGNTsort="114682" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατὰ">in</w>
|
||||
<w OGNTsort="114683" ULBorder="---" lemma="G2839" morph="A-ASF" lexeme="κοινός" text="κοινὴν">our common</w>
|
||||
<w OGNTsort="114684" ULBorder="---" lemma="G4102" morph="N-ASF" lexeme="πίστις" text="πίστιν">faith.</w>
|
||||
<w OGNTsort="114685" ULBorder="---" lemma="G5485" morph="N-NSF" lexeme="χάρις" text="Χάρις">Grace</w>
|
||||
<w OGNTsort="114686" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
|
||||
<w OGNTsort="114687" ULBorder="---" lemma="G1515" morph="N-NSF" lexeme="εἰρήνη" text="εἰρήνη">peace</w>
|
||||
<w OGNTsort="114688" ULBorder="---" lemma="G575" morph="PREP" lexeme="ἀπό" text="ἀπὸ">from</w>
|
||||
<w OGNTsort="114689" ULBorder="---" lemma="G2316" morph="N-GSM" lexeme="θεός" text="Θεοῦ">God</w>
|
||||
<w OGNTsort="114690" ULBorder="---" lemma="G3962" morph="N-GSM" lexeme="πατήρ" text="Πατρὸς">the Father</w>
|
||||
<w OGNTsort="114691" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
|
||||
<w OGNTsort="114692" ULBorder="---" lemma="G5547" morph="N-GSM-T" lexeme="Χριστός" text="Χριστοῦ">Christ</w>
|
||||
<w OGNTsort="114693" ULBorder="---" lemma="G2424" morph="N-GSM-P" lexeme="Ἰησοῦς" text="Ἰησοῦ">Jesus</w>
|
||||
<w OGNTsort="114694" ULBorder="---" lemma="G3588" morph="T-GSM" lexeme="ὁ" text="τοῦ">√</w>
|
||||
<w OGNTsort="114696" ULBorder="---" lemma="G1473" morph="P-1GP" lexeme="ἐγώ" text="ἡμῶν">our</w>
|
||||
<w OGNTsort="114695" ULBorder="---" lemma="G4990" morph="N-GSM" lexeme="σωτήρ" text="Σωτῆρος">Savior</w>
|
||||
</verse>
|
||||
<verse osisID="tit.1.5">
|
||||
<Greek>Τούτου χάριν ἀπέλιπόν σε ἐν Κρήτῃ ἵνα τὰ λείποντα ἐπιδιορθώσῃ καὶ καταστήσῃς κατὰ πόλιν πρεσβυτέρους ὡς ἐγώ σοι διεταξάμην </Greek>
|
||||
<ULB> For this purpose I left you in Crete, that you might set in order things not yet complete and ordain elders in every city as I directed you.</ULB>
|
||||
<residue>q For this purpose I left you in , that you might set in things not yet complete and ordain in every city as I you. q</residue>
|
||||
<preText>\p \v 5</preText>
|
||||
<w OGNTsort="114697" ULBorder="---" lemma="G3778" morph="D-GSN" lexeme="οὗτος" text="Τούτου">For this</w>
|
||||
<w OGNTsort="114698" ULBorder="---" lemma="G5484" morph="PREP" lexeme="χάριν" text="χάριν">reson</w>
|
||||
<w OGNTsort="114699" ULBorder="---" lemma="G620" morph="V-2AAI-1S" lexeme="ἀπολείπω" text="ἀπέλιπόν">I left</w>
|
||||
<w OGNTsort="114700" ULBorder="---" lemma="G4771" morph="P-2AS" lexeme="σύ" text="σε">you</w>
|
||||
<w OGNTsort="114701" ULBorder="---" lemma="G1722" morph="PREP" lexeme="ἐν" text="ἐν">in</w>
|
||||
<w OGNTsort="114702" ULBorder="---" lemma="G2914" morph="N-DSF-L" lexeme="Κρήτη" text="Κρήτῃ">Crete,</w>
|
||||
<w OGNTsort="114703" ULBorder="---" lemma="G2443" morph="CONJ" lexeme="ἵνα" text="ἵνα">that</w>
|
||||
<w OGNTsort="114706" ULBorder="---" lemma="G1930" morph="V-AMS-2S" lexeme="ἐπιδιορθόω" text="ἐπιδιορθώσῃ">you might set in order</w>
|
||||
<w OGNTsort="114704" ULBorder="---" lemma="G3588" morph="T-APN" lexeme="ὁ" text="τὰ">√</w>
|
||||
<w OGNTsort="114705" ULBorder="---" lemma="G3007" morph="V-PAP-APN" lexeme="λείπω" text="λείποντα">things not yet complete</w>
|
||||
<w OGNTsort="114707" ULBorder="---" lemma="G2532" morph="CONJ" lexeme="καί" text="καὶ">and</w>
|
||||
<w OGNTsort="114708" ULBorder="---" lemma="G2525" morph="V-AAS-2S" lexeme="καθίστημι" text="καταστήσῃς">ordain</w>
|
||||
<w OGNTsort="114711" ULBorder="---" lemma="G4245" morph="A-APM" lexeme="πρεσβύτερος" text="πρεσβυτέρους">elders</w>
|
||||
<w OGNTsort="114709" ULBorder="---" lemma="G2596" morph="PREP" lexeme="κατά" text="κατὰ">in every</w>
|
||||
<w OGNTsort="114710" ULBorder="---" lemma="G4172" morph="N-ASF" lexeme="πόλις" text="πόλιν">city</w>
|
||||
<w OGNTsort="114712" ULBorder="---" lemma="G5613" morph="CONJ" lexeme="ὡς" text="ὡς">as</w>
|
||||
<w OGNTsort="114713" ULBorder="---" lemma="G1473" morph="P-1NS" lexeme="ἐγώ" text="ἐγώ">I</w>
|
||||
<w OGNTsort="114715" ULBorder="---" lemma="G1299" morph="V-AMI-1S" lexeme="διατάσσω" text="διεταξάμην">directed</w>
|
||||
<w OGNTsort="114714" ULBorder="---" lemma="G4771" morph="P-2DS" lexeme="σύ" text="σοι">you.</w>
|
||||
</verse>
|
||||
</chapter>
|
||||
</div>
|
||||
</book>
|
||||
</xml>
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue