diff --git a/node-usfm-parser/package.json b/node-usfm-parser/package.json index 1f59199f..3813f2a4 100644 --- a/node-usfm-parser/package.json +++ b/node-usfm-parser/package.json @@ -26,13 +26,13 @@ "Samuel JD (https://github.com/samueljd)" ], "dependencies": { + "ajv": "^8.17.1", "tree-sitter": "0.21.1", "tree-sitter-usfm3": "3.0.0-beta.9", "xmldom": "^0.6.0", "xpath": "^0.0.34" }, "devDependencies": { - "ajv": "^8.17.1", "glob": "^11.0.0", "mocha": "^10.7.3", "parcel": "^2.12.0" diff --git a/node-usfm-parser/src/index.js b/node-usfm-parser/src/index.js index 36f63372..29ae4ccf 100644 --- a/node-usfm-parser/src/index.js +++ b/node-usfm-parser/src/index.js @@ -1,5 +1,7 @@ const {USFMParser, Filter, Format } = require("./usfmParser"); +const {Validator} = require("./validator"); exports.USFMParser = USFMParser; exports.Filter = Filter; -exports.Format = Format; \ No newline at end of file +exports.Format = Format; +exports.Validator = Validator; diff --git a/node-usfm-parser/src/validator.js b/node-usfm-parser/src/validator.js new file mode 100644 index 00000000..86cc4c06 --- /dev/null +++ b/node-usfm-parser/src/validator.js @@ -0,0 +1,215 @@ +const Parser = require('tree-sitter'); +const USFM3 = require('tree-sitter-usfm3'); + +const fs = require('node:fs'); +const Ajv = require('ajv'); + +const { Query } = Parser; + +class Validator { + constructor(usjSchemaPath = '../schemas/usj.js') { + this.USFMParser = new Parser(); + this.USFMParser.setLanguage(USFM3); + this.parserOptions = Parser.Options = { + bufferSize: 1024 * 1024, + }; + + this.USFMErrors = []; + + // Load the schema for validation + this.USJValidator = null; + try { + const ajv = new Ajv(); + const schemaStr = fs.readFileSync("../schemas/usj.js", 'utf8'); + const schema = JSON.parse(schemaStr); + this.USJValidator = ajv.compile(schema); + } catch (error) { + console.error("Error loading schema:", error); + } + + this.message = ""; + this.modifiedUSFM = ""; + this.usfm = "" + } + + isValidUSJ(usj) { + this.message = ""; + + if (this.USJValidator(usj) === true) { + return true; + } else { + for (let err of this.USJValidator.errors) { + this.message += `Error at ${err.instancePath}: ${err.message}\n`; + } + return false; + } + } + + isValidUSFM(usfm) { + this.usfm = usfm; + this.USFMErrors = []; + let tree = null; + if (usfm.length > 25000) { + tree = this.USFMParser.parse(usfm, null, this.parserOptions); + } + else { + tree = this.USFMParser.parse(usfm); + } + const errorQuery = new Query(USFM3, "(ERROR) @errors"); + const errors = errorQuery.captures(tree.rootNode); + + for (let error of errors) { + // console.log(getAllProperties(error.node)); + this.USFMErrors.push(error.node); + } + + this.checkForMissing(tree.rootNode); + + if (this.USFMErrors.length > 0) { + this.message = this.formatErrors(); + return false; + } + return true; + } + + checkForMissing(node) { + for (let n of node.children) { + if (n.isMissing){ + this.USFMErrors.push(n); + } else { + this.checkForMissing(n); + } + + } + } + + formatErrors() { + const errLines = this.USFMErrors.map(err => { + if (err.isMissing) { + const start = Math.max(0, err.startIndex - 3); + const end = Math.min(this.usfm.length, err.startIndex + 10); + return `At ${err.startIndex}:Missing something here:${this.usfm.slice(start, end)}`; + } else { + return `At ${err.startPosition.row}:${err.startPosition.column}, Error: ${this.usfm.substring(err.startIndex, err.endIndex)}`; + } + }); + return `Errors present:\n\t${errLines.join('\n\t')}`; + } + + autoFixUSFM(usfm, fixed=false) { + if (this.isValidUSFM(usfm)) { + if (fixed) { + this.message = "Fixed Errors in USFM" + } else { + this.message = "No Errors in USFM"; + } + return usfm; + } + let modifiedUSFM = usfm; + let changed = false; + + for (let error of this.USFMErrors) { + const errorText = usfm.substring(error.startIndex, error.endIndex); + // No \P after \s5 + if (error.isError && errorText.startsWith("\\s5") && + !error.children.some(ch => ch.type === "paragraph")) { + // console.log("Match 1"); + modifiedUSFM = modifiedUSFM.replace(/\\s5[\s\n\r]*/g, '\\s5 \n\\p\n'); + changed = true; + } + // Missing space after \s5 + else if (error.isMissing && error.parent.type === "sTag" && error.toString() === '(MISSING " ")') { + // console.log("Match 2"); + modifiedUSFM = modifiedUSFM.replace(/\\s5\n/g, '\\s5 \n'); + changed = true; + } + // Book code is missing (empty id marker) + else if (bookCodeMissingPattern.test(modifiedUSFM)) { + // console.log("Match 3"); + modifiedUSFM = modifiedUSFM.replace(/\\id[\s\n\r]*\\/g, '\\id XXX xxx\n\\'); + changed = true; + } + // \p not given after section heading + else if (error.isError && errorText.startsWith("\\v") && error.parent.type === "s" && + !error.children.some(ch => ch.type === "paragraph")) { + // console.log("Match 4"); + const start = error.parent.startIndex; + const end = error.startIndex; + const toReplace = modifiedUSFM.slice(start, end); + modifiedUSFM = modifiedUSFM.replace(toReplace, `${toReplace}\\p\n`); + changed = true; + } + // Space missing between \v and number + else if (vWithoutSpacePattern.test(errorText)) { + // console.log("Match 5"); + modifiedUSFM = modifiedUSFM.replace(vWithoutSpacePattern, "$1 $2"); + changed = true; + } + // Space missing between \c and number + else if (cWithoutSpacePattern.test(errorText)) { + // console.log("Match 6"); + modifiedUSFM = modifiedUSFM.replace(cWithoutSpacePattern, "$1 $2"); + changed = true; + } + // \p not given at chapter start + else if (error.isError && errorText.startsWith("\\v") && error.previousSibling.type === "chapter" && + !error.children.some(ch => ch.type === "paragraph")) { + // console.log("Match 7"); + const start = error.previousSibling.startIndex; + const end = error.startIndex; + const toReplace = modifiedUSFM.slice(start, end); + modifiedUSFM = modifiedUSFM.replace(toReplace, `${toReplace}\\p\n`); + changed = true; + } + // Stray slash not with a valid marker + else if (errorText.startsWith("\\") && !validMarkersPattern.test(errorText)) { + // console.log("Match 8"); + modifiedUSFM = modifiedUSFM.replace(errorText, errorText.slice(1)); + changed = true; + } + // Just a single problematic marker (could be w/o text) + else if (errorText.startsWith("\\") && validMarkersPattern.test(errorText)) { + // console.log("Match 9"); + const start = Math.max(0, error.startIndex - 5); + const end = Math.min(modifiedUSFM.length, error.endIndex + 5); + const toReplace = modifiedUSFM.slice(start, end); + const replacement = toReplace.replace(errorText, ""); + modifiedUSFM = modifiedUSFM.replace(toReplace, replacement); + changed = true; + } + // Empty attribute + else if (errorText.trim() === "|") { + // console.log("Match 10"); + // console.log(errorText); + const start = Math.max(0, error.startIndex - 5); + const end = Math.min(modifiedUSFM.length, error.endIndex + 5); + const toReplace = modifiedUSFM.slice(start, end); + const replacement = toReplace.replace(errorText, ""); + modifiedUSFM = modifiedUSFM.replace(toReplace, replacement); + changed = true; + } + // Stray content in the chapter line + else if (error.parent.type === "chapter" && error.previousSibling.type === "c" && !errorText.includes("\\")) { + // console.log("Match 11"); + modifiedUSFM = modifiedUSFM.replace(errorText, ""); + changed = true; + } + } + + if (!changed || modifiedUSFM===usfm) { + const errStr = this.formatErrors(); + this.message = `Cannot fix these errors:\n\t${errStr}`; + return modifiedUSFM; + } + // return modifiedUSFM + + return this.autoFixUSFM(modifiedUSFM, true); + } +} + +const bookCodeMissingPattern = /\\id[\s\n\r]*\\/; +const vWithoutSpacePattern = /(\\v)(\d+)/; +const cWithoutSpacePattern = /(\\c)(\d+)/; +const validMarkersPattern = /(\\id|\\usfm|\\ide|\\ref|\\h|\\toc|\\toca|\\sts|\\rem|\\restore|\\lit|\\iqt|\\imt|\\imte|\\is|\\io|\\ior|\\iot|\\ip|\\im|\\ipi|\\imi|\\ili|\\ipq|\\imq|\\ipr|\\ib|\\iq|\\ie|\\iex|\\v|\\va|\\vp|\\c|\\cl|\\ca|\\cp|\\cd|\\mt|\\mte|\\ms|\\mr|\\s|\\sr|\\r|\\sp|\\d|\\sd|\\p|\\m|\\po|\\pr|\\cls|\\pmo|\\pm|\\pmc|\\pmr|\\pi|\\mi|\\nb|\\pc|\\ph|\\phi|\\b|\\q|\\qr|\\qc|\\qs|\\qa|\\qac|\\qm|\\qd|\\lh|\\lf|\\li|\\lim|\\liv|\\lik|\\litl|\\tr|\\th|\\thr|\\tc|\\tcr|\\f|\\fe|\\ef|\\fr|\\fq|\\fqa|\\fk|\\fl|\\fw|\\fp|\\ft|\\fdc|\\fv|\\fm|\\x|\\xo|\\xk|\\xq|\\xt|\\xta|\\xop|\\xot|\\xnt|\\xdc|\\rq|\\add|\\bk|\\dc|\\k|\\nd|\\ord|\\pn|\\png|\\addpn|\\qt|\\sig|\\sls|\\tl|\\wj|\\em|\\bd|\\it|\\bdit|\\no|\\sc|\\sup|\\ndx|\\pro|\\rb|\\w|\\wg|\\wh|\\wa|\\fig|\\jmp|\\pb|\\z|\\esb|\\esbe|\\cat)(\d|\s|\n|\r|$)/; + +exports.Validator = Validator; diff --git a/node-usfm-parser/test/test_auto_fix.js b/node-usfm-parser/test/test_auto_fix.js new file mode 100644 index 00000000..b84d11bc --- /dev/null +++ b/node-usfm-parser/test/test_auto_fix.js @@ -0,0 +1,54 @@ +const assert = require('assert'); +const fs = require('node:fs'); +const {glob} = require('glob'); +const {Validator} = require("../src/index"); + +const TEST_DIR = "../tests"; +const allUSFMFiles = glob.sync(TEST_DIR+'/autofix/*'); +const sampleUSJs = glob.sync(TEST_DIR+'/specExamples/*/origin.json') + +describe("Try autofixing errors in USFM", () => { + + allUSFMFiles.forEach(function(value) { + it(`Fix ${value}`, (inputUsfmPath=value) => { + //Tests if input parses without errors + const testVaidator = new Validator() + assert(testVaidator instanceof Validator) + const inputUsfm = fs.readFileSync(inputUsfmPath, 'utf8') + const firstTest = testVaidator.isValidUSFM(inputUsfm); + const fixedUsfm = testVaidator.autoFixUSFM(inputUsfm); + const secondTest = testVaidator.isValidUSFM(fixedUsfm); + // assert.ok(!firstTest); + assert.ok(secondTest); + }); + }); + +}); + +describe("Validate USJ", () => { + sampleUSJs.forEach(function(value) { + it(`Validate ${value}`, (inputUsjPath=value) => { + //Tests if input parses without errors + const testVaidator = new Validator() + assert(testVaidator instanceof Validator) + const inputUsj = fs.readFileSync(inputUsjPath, 'utf8') + const usj = JSON.parse(inputUsj); + // assert.ok(!firstTest); + assert.ok(testVaidator.isValidUSJ(usj)); + }); + }); + + sampleUSJs.forEach(function(value) { + it(`Validate ${value} and report error`, (inputUsjPath=value) => { + //Tests if input parses without errors + const testVaidator = new Validator() + assert(testVaidator instanceof Validator) + let inputUsj = fs.readFileSync(inputUsjPath, 'utf8') + inputUsj = inputUsj.replace("code", "cooode"); + inputUsj = inputUsj.replace("content", "contents"); + const usj = JSON.parse(inputUsj); + assert.ok(!testVaidator.isValidUSJ(usj)); + assert(testVaidator.message !== ""); + }); + }); +}); diff --git a/py-usfm-parser/src/usfm_grammar/__init__.py b/py-usfm-parser/src/usfm_grammar/__init__.py index 4aec9f70..c898bf9a 100755 --- a/py-usfm-parser/src/usfm_grammar/__init__.py +++ b/py-usfm-parser/src/usfm_grammar/__init__.py @@ -1,10 +1,12 @@ '''Entry point of the package with its public values''' from usfm_grammar import usfm_parser -from usfm_grammar import usfm_generator +from usfm_grammar import validator Filter = usfm_parser.Filter Format = usfm_parser.Format USFMParser = usfm_parser.USFMParser +Validator = validator.Validator + __version__ = "3.0.0-beta.10" diff --git a/py-usfm-parser/src/usfm_grammar/validator.py b/py-usfm-parser/src/usfm_grammar/validator.py new file mode 100644 index 00000000..90b04bbf --- /dev/null +++ b/py-usfm-parser/src/usfm_grammar/validator.py @@ -0,0 +1,223 @@ +'''Check the formats of USFM and USJ. Also tries to fixe common errors in USFM''' + +import re +import json +import jsonschema + +import tree_sitter_usfm3 as tsusfm +from tree_sitter import Language, Parser + +from usfm_grammar.usfm_parser import error_query + +class Validator: + '''Check validity of USJ and USFM. Also auto fix USFM''' + def __init__(self, tree_sitter_usfm=tsusfm, usj_schema_path='../schemas/usj.js'): + '''contrsuctor''' + usfm_language = Language(tree_sitter_usfm.language()) + self.usfm_parser = Parser(usfm_language) + self.usfm_errors = [] + + usj_schema = None + with open(usj_schema_path, 'r', encoding='utf-8') as json_file: + usj_schema = json.load(json_file) + self.usj_validator = jsonschema.validators.Draft7Validator(schema=usj_schema) + + self.message = "" + self.modified_usfm = "" + self.usfm_bytes = "" + + + def is_valid_usj(self, usj): + '''Inputs: USJ, Output: True/false, details in message''' + # validate(instance=usj, schema=self.usj_schema) + self.message = "" + try: + self.usj_validator.validate(usj) + except Exception as exce: #pylint: disable=W0703 + self.message = str(exce) + return False + return True + + def is_valid_usfm(self, usfm): + '''Inputs: USFM, Output: True/false, details in message''' + self.usfm_bytes = bytes(usfm, "utf8") + tree = self.usfm_parser.parse(self.usfm_bytes) + + # check for errors in the parse tree and raise them + errors = error_query.captures(tree.root_node) + self.usfm_errors = [] + self.message = "" + if len(errors) > 0: + self.usfm_errors = [err[0] for err in errors] + self.check_for_missing(tree.root_node) + + if len(self.usfm_errors) > 0: + self.message = self.format_errors() + return False + return True + + def check_for_missing(self, node): + '''Identify and report the MISSING nodes also as errors''' + for child in node.children: + if child.is_missing : + self.usfm_errors.append(child) + else: + self.check_for_missing(child) + + def format_errors(self): + '''Prettify error messages from parse tree, to print''' + err_lines = [] + for err in self.usfm_errors: + # print("---"*10) + # print(err.is_error) + # print(err.is_missing) + # print(err.text) + # print(err.parent.sexp()) + # print(err.prev_sibling) + # print(err.children[0].type) + # print(f">>>{err.sexp()}<<<") + # print("---"*10) + if err.is_missing: + start = max(0, err.start_byte-3) + end = min(len(self.usfm_bytes), err.start_byte+10) + err_lines.append((f"At {err.start_point}:Missing", + self.usfm_bytes[start:end].decode('utf-8'))) + else: + err_lines.append((f"At {err.start_point}", self.usfm_bytes[err.start_byte: + err.end_byte].decode('utf-8'))) + err_str = "\n\t".join([":".join(err) for err in err_lines]) + err_str = f"Errors present:\n\t{err_str}" + return err_str + + + + def auto_fix_usfm(self, usfm, fixed=False): #pylint: disable=R0912,R0915 + '''Iteratively tries to fix the errors found in usfm + input: usfm string + output: fixed usfm + details in message''' + if self.is_valid_usfm(usfm): + self.message = "Fixed Errors in USFM" if fixed else "No Errors in USFM" + return usfm + self.modified_usfm = usfm + changed = False + for error in self.usfm_errors: + error_text = error.text.decode('utf-8') + # No \P after \s5 + if error.is_error and \ + error_text.startswith("\\s5") and \ + "paragraph" not in [ch.type for ch in error.children]: + # print("match 1") + self.modified_usfm = re.sub(r'\\s5[\s\n\r]*', r'\\s5 \n\\p\n', self.modified_usfm) + changed = True + # Missing space after \s5 + elif error.is_missing and \ + error.parent.type == "sTag" and \ + error.sexp() == '(MISSING " ")': + # print("match 2") + self.modified_usfm = re.sub(r'\\s5\n', r'\\s5 \n', self.modified_usfm) + changed = True + # book code is missing(empty id marker) + elif re.match(book_code_missing_pattern, error_text): + # print("match 3") + self.modified_usfm = re.sub(r"\\id", r"\\id XXX", self.modified_usfm) + changed = True + # \p not given after section heading + elif error.is_error and \ + error_text.startswith("\\v") and \ + error.parent.type == "s" and \ + "paragraph" not in [ch.type for ch in error.children]: + # print("match 4") + start = error.parent.start_byte + end = error.start_byte + to_replace = self.usfm_bytes[start:end].decode('utf-8') + repalcement = to_replace+"\\p\n" + # self.modified_usfm = re.sub(to_replace, repalcement, self.modified_usfm) + self.modified_usfm = self.modified_usfm.replace(to_replace, repalcement) + changed = True + # space missing between \v and number + elif re.match(v_without_space_pattern, error_text): + # print("match 5") + self.modified_usfm = re.sub(v_without_space_pattern, r"\1 \2", self.modified_usfm) + changed=True + # space missing between \c and number + elif re.match(c_without_space_pattern, error_text): + # print("match 6") + self.modified_usfm = re.sub(c_without_space_pattern, r"\1 \2", self.modified_usfm) + changed=True + # \p not given at chapter start + elif error.is_error and \ + error_text.startswith("\\v") and \ + error.prev_sibling.type == "chapter" and \ + "paragraph" not in [ch.type for ch in error.children]: + # print("match 7") + start = error.prev_sibling.start_byte + end = error.start_byte + to_replace = self.usfm_bytes[start:end].decode('utf-8') + repalcement = to_replace+"\\p\n" + # self.modified_usfm = re.sub(to_replace, repalcement, self.modified_usfm) + self.modified_usfm = self.modified_usfm.replace(to_replace, repalcement) + changed = True + # Stray slash not with a valid marker + elif error_text.startswith("\\") and \ + (not re.match(valid_markers_pattern, error_text)): + # print("Match 8") + to_replace = error_text + self.modified_usfm = self.modified_usfm.replace(to_replace, to_replace[1:]) + changed=True + # Just a single problematic marker (could be w/o text) + elif error_text.startswith("\\") and \ + re.match(valid_markers_pattern, error_text): + # print("Match 9") + start = max(0, error.start_byte-5) + end = min(len(self.usfm_bytes), error.end_byte+5) + to_replace = self.usfm_bytes[start:end].decode('utf-8') + repalcement = to_replace.replace(error_text, "") + # print(to_replace) + self.modified_usfm = self.modified_usfm.replace(to_replace, repalcement) + changed=True + # empty attribute + elif error_text.strip() == "|": + # print("Match 10") + start = max(0, error.start_byte-5) + end = min(len(self.usfm_bytes), error.end_byte+5) + to_replace = self.usfm_bytes[start:end].decode('utf-8') + repalcement = to_replace.replace(error_text, "") + self.modified_usfm = self.modified_usfm.replace(to_replace, repalcement) + changed=True + # Stray content in the chapter line + elif error.parent.type == "chapter" and \ + error.prev_sibling.type == "c" and \ + "\\" not in error_text: + # print("Match 10") + self.modified_usfm = self.modified_usfm.replace(error_text, "") + changed=True + + + # print(f"{changed=}") + if not changed: + err_str = self.format_errors() + self.message = f"Cannot fix these errors:\n\t{err_str}" + return usfm + returned_usfm = self.auto_fix_usfm(self.modified_usfm, fixed=True) + return returned_usfm + + +book_code_missing_pattern = re.compile(r'\\id[\s\n\r]*\\') +v_without_space_pattern = re.compile(r'(\\v)(\d+)') +c_without_space_pattern = re.compile(r'(\\c)(\d+)') + +valid_markers_pattern = re.compile(r'(\\id|\\usfm|\\ide|\\ref|\\h|\\toc|\\toca|\\sts|\\rem|'+\ + r'\\restore|\\lit|\\iqt|\\iqt|\\imt|\\imte|\\is|\\io|\\ior|\\ior|\\iot|\\ip|\\im|\\ipi|'+\ + r'\\imi|\\ili|\\ipq|\\imq|\\ipr|\\ib|\\iq|\\ie|\\iex|\\v|\\va|\\va|\\vp|\\vp|\\c|\\cl|'+\ + r'\\ca|\\ca|\\cp|\\cd|\\mt|\\mte|\\ms|\\mr|\\s|\\sr|\\r|\\sp|\\d|\\sd|\\p|\\m|\\po|\\pr|'+\ + r'\\cls|\\pmo|\\pm|\\pmc|\\pmr|\\pi|\\mi|\\nb|\\pc|\\ph|\\phi|\\b|\\q|\\qr|\\qc|\\qs|'+\ + r'\\qs|\\qa|\\qac|\\qac|\\qm|\\qd|\\lh|\\lf|\\li|\\lim|\\liv|\\lik|\\lik|\\litl|\\litl|'+\ + r'\\tr|\\th|\\thr|\\tc|\\tcr|\\f|\\f|\\fe|\\fe|\\ef|\\ef|\\fr|\\fr|\\fq|\\fq|\\fqa|\\fqa|'+\ + r'\\fk|\\fk|\\fl|\\fl|\\fw|\\fw|\\fp|\\fp|\\ft|\\ft|\\fdc|\\fdc|\\fv|\\fv|\\fm|\\fm|\\x|'+\ + r'\\x|\\xo|\\xo|\\xk|\\xk|\\xq|\\xq|\\xt|\\xt|\\xt|\\xt|\\xta|\\xta|\\xop|\\xop|\\xot|'+\ + r'\\xot|\\xnt|\\xnt|\\xdc|\\xdc|\\rq|\\rq|\\add|\\add|\\bk|\\bk|\\dc|\\dc|\\k|\\k|\\nd|'+\ + r'\\nd|\\ord|\\ord|\\pn|\\pn|\\png|\\png|\\addpn|\\addpn|\\qt|\\qt|\\sig|\\sig|\\sls|'+\ + r'\\sls|\\tl|\\tl|\\wj|\\wj|\\em|\\em|\\bd|\\bd|\\it|\\it|\\bdit|\\bdit|\\no|\\no|\\sc|'+\ + r'\\sc|\\sup|\\sup|\\ndx|\\ndx|\\pro|\\pro|\\rb|\\rb|\\w|\\w|\\wg|\\wg|\\wh|\\wh|\\wa|'+\ + r'\\wa|\\fig|\\jmp|\\jmp|\\pb|\\z|\\z|\\esb|\\esbe|\\cat|\\cat)(\d|\s|\n|\r|$)') diff --git a/py-usfm-parser/tests/test_auto_fix.py b/py-usfm-parser/tests/test_auto_fix.py new file mode 100644 index 00000000..46c50515 --- /dev/null +++ b/py-usfm-parser/tests/test_auto_fix.py @@ -0,0 +1,33 @@ +import pytest +import glob +import json +from src.usfm_grammar import Validator + +test_files = glob.glob("../tests/autofix/*") +sample_usj_files = glob.glob("../tests/specExamples/*/origin.json") + +@pytest.mark.parametrize('file_path', test_files) +def test_auto_fix_erros(file_path): + '''Tests if input parses with or without errors, as expected''' + with open(file_path, 'r', encoding='utf-8') as usfm_file: + usfm_string = usfm_file.read() + + checker = Validator() + assert type(checker.is_valid_usfm(usfm_string)) == bool + fixed_usfm = checker.auto_fix_usfm(usfm_string) + assert checker.is_valid_usfm(fixed_usfm) == True, checker.message + + +@pytest.mark.parametrize('file_path', sample_usj_files) +def test_validate(file_path): + '''Tests if input parses with or without errors, as expected''' + with open(file_path, 'r', encoding='utf-8') as usfm_file: + usj_string = usfm_file.read() + + + checker = Validator() + correct_usj = json.loads(usj_string) + assert checker.is_valid_usj(correct_usj) == True + + incorrect_usj = json.loads(usj_string.replace('code', 'coooode').replace('content', 'contents')) + assert checker.is_valid_usj(incorrect_usj) == False diff --git a/tests/autofix/c_without_p.usfm b/tests/autofix/c_without_p.usfm new file mode 100644 index 00000000..f6aa51ee --- /dev/null +++ b/tests/autofix/c_without_p.usfm @@ -0,0 +1,11 @@ +\id GEN genesis Some desc +\c 1 +\v 1 test verse +\s5 +some more text +\v 2 more verse +\c 2 +\v 1 next chapter +\c 3 \ca 4 \ca* +\cp Three +\v 1 text \ No newline at end of file diff --git a/tests/autofix/empty_marker.usfm b/tests/autofix/empty_marker.usfm new file mode 100644 index 00000000..3ec5f1a6 --- /dev/null +++ b/tests/autofix/empty_marker.usfm @@ -0,0 +1,12 @@ +\id GEN genesis Some desc +\c 1 +\p +\v 1 test verse +\s3 test +\sp +\p +\v 2 more verse +\c 2 +\p +\v 1 text and +\v 2 more text \ No newline at end of file diff --git a/tests/autofix/fr-textTranslation-FR_TLX.txt b/tests/autofix/fr-textTranslation-FR_TLX.txt new file mode 100644 index 00000000..eacb243d --- /dev/null +++ b/tests/autofix/fr-textTranslation-FR_TLX.txt @@ -0,0 +1,112 @@ +\id TIT FR_TLX fr_French_ltr Wed Nov 08 2023 11:09:54 GMT+0100 (heure normale d’Europe centrale) tc +\usfm 3.0 +\ide UTF-8 +\h Tite +\toc1 Lettre à Tite +\toc2 Tite +\toc3 Tt +\mt1 Lettre à Tite +\c 1 +\p +\ts-s |\* +\v 1 +\zaln-s |x-strong="G39720" x-lemma="Παῦλος" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="Παῦλος" \*\w Paul|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G14010" x-lemma="δοῦλος" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="δοῦλος" \*\w serviteur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="2" x-content="Θεοῦ" \*\w de|x-occurrence="1" x-occurrences="4" \w* \w Dieu|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*, \zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G06520" x-lemma="ἀπόστολος" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ἀπόστολος" \*\w apôtre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24240" x-lemma="Ἰησοῦς" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Ἰησοῦ" \*\w de|x-occurrence="2" x-occurrences="4" \w* \w Jésus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G55470" x-lemma="χριστός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Χριστοῦ" \*\w Christ|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατὰ" \*\w selon|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πίστιν" \*\w la|x-occurrence="1" x-occurrences="4" \w* \w foi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15880" x-lemma="ἐκλεκτός" x-morph="Gr,NS,,,,GMP," x-occurrence="1" x-occurrences="1" x-content="ἐκλεκτῶν" \*\w des|x-occurrence="1" x-occurrences="1" \w* \w élus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="2" x-occurrences="2" x-content="Θεοῦ" \*\w de|x-occurrence="3" x-occurrences="4" \w* \w Dieu|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G19220" x-lemma="ἐπίγνωσις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἐπίγνωσιν" \*\w la|x-occurrence="2" x-occurrences="4" \w* \w connaissance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G02250" x-lemma="ἀλήθεια" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ἀληθείας" \*\w de|x-occurrence="4" x-occurrences="4" \w* \w la|x-occurrence="3" x-occurrences="4" \w* \w vérité|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="τῆς" \*\w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατ’" \*\w s|x-occurrence="1" x-occurrences="1" \w*'\w accorde|x-occurrence="1" x-occurrences="1" \w* \w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G21500" x-lemma="εὐσέβεια" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="εὐσέβειαν" \*\w la|x-occurrence="4" x-occurrences="4" \w* \w piété|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 2 +\zaln-s |x-strong="G19090" x-lemma="ἐπί" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐπ’" \*\w dans|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G16800" x-lemma="ἐλπίς" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="ἐλπίδι" \*\w l|x-occurrence="1" x-occurrences="1" \w*'\w espérance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22220" x-lemma="ζωή" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ζωῆς" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w vie|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01660" x-lemma="αἰώνιος" x-morph="Gr,AA,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="αἰωνίου" \*\w éternelle|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RR,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἣν" \*\w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="Θεὸς" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὁ" \*\w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G08930" x-lemma="ἀψευδής" x-morph="Gr,AA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ἀψευδὴς" \*\w ne|x-occurrence="1" x-occurrences="1" \w* \w ment|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G18610" x-lemma="ἐπαγγέλλω" x-morph="Gr,V,IAM3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐπηγγείλατο" \*\w a|x-occurrence="1" x-occurrences="1" \w* \w promise|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G42530" x-lemma="πρό" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="πρὸ" \*\w depuis|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01660" x-lemma="αἰώνιος" x-morph="Gr,AA,,,,GMP," x-occurrence="1" x-occurrences="1" x-content="αἰωνίων" \*\w les|x-occurrence="1" x-occurrences="1" \w* \w plus|x-occurrence="1" x-occurrences="1" \w* \w anciens|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G55500" x-lemma="χρόνος" x-morph="Gr,N,,,,,GMP," x-occurrence="1" x-occurrences="1" x-content="χρόνων" \*\w temps|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 3 +\zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w Mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25400" x-lemma="καιρός" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="καιροῖς" \*\w au|x-occurrence="1" x-occurrences="1" \w* \w moment|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23980" x-lemma="ἴδιος" x-morph="Gr,EF,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἰδίοις" \*\w opportun|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G53190" x-lemma="φανερόω" x-morph="Gr,V,IAA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐφανέρωσεν" \*\w il|x-occurrence="1" x-occurrences="1" \w* \w a|x-occurrence="1" x-occurrences="2" \w* \w révélé|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3GMS," x-occurrence="1" x-occurrences="1" x-content="αὐτοῦ" \*\w sa|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="τὸν" \*\zaln-s |x-strong="G30560" x-lemma="λόγος" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="λόγον" \*\w parole|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w par|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G27820" x-lemma="κήρυγμα" x-morph="Gr,N,,,,,DNS," x-occurrence="1" x-occurrences="1" x-content="κηρύγματι" \*\w la|x-occurrence="1" x-occurrences="1" \w* \w proclamation|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RR,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="ὃ" \*\w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1N,S," x-occurrence="1" x-occurrences="1" x-content="ἐγὼ" \*\w m|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G41000" x-lemma="πιστεύω" x-morph="Gr,V,IAP1,,S," x-occurrence="1" x-occurrences="1" x-content="ἐπιστεύθην" \*\w a|x-occurrence="2" x-occurrences="2" \w* \w été|x-occurrence="1" x-occurrences="1" \w* \w confiée|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατ’" \*\w par|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G20030" x-lemma="ἐπιταγή" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἐπιταγὴν" \*\w le|x-occurrence="1" x-occurrences="1" \w* \w commandement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w notre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G49900" x-lemma="σωτήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Σωτῆρος" \*\w Sauveur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 4 +\zaln-s |x-strong="G51030" x-lemma="Τίτος" x-morph="Gr,N,,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="Τίτῳ" \*\w À|x-occurrence="1" x-occurrences="1" \w* \w Tite|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G11030" x-lemma="γνήσιος" x-morph="Gr,AA,,,,DNS," x-occurrence="1" x-occurrences="1" x-content="γνησίῳ" \*\w un|x-occurrence="1" x-occurrences="1" \w* \w vrai|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G50430" x-lemma="τέκνον" x-morph="Gr,N,,,,,DNS," x-occurrence="1" x-occurrences="1" x-content="τέκνῳ" \*\w fils|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατὰ" \*\w dans|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πίστιν" \*\w la|x-occurrence="1" x-occurrences="2" \w* \w foi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G28390" x-lemma="κοινός" x-morph="Gr,AA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="κοινὴν" \*\w commune|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G54850" x-lemma="χάρις" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="χάρις" \*\w Grâce|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G15150" x-lemma="εἰρήνη" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="εἰρήνη" \*\w paix|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G05750" x-lemma="ἀπό" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ἀπὸ" \*\w de|x-occurrence="1" x-occurrences="3" \w* \w la|x-occurrence="2" x-occurrences="2" \w* \w part|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w de|x-occurrence="2" x-occurrences="3" \w* \w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39620" x-lemma="πατήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Πατρὸς" \*\w le|x-occurrence="1" x-occurrences="1" \w* \w Père|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G55470" x-lemma="χριστός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Χριστοῦ" \*\w de|x-occurrence="3" x-occurrences="3" \w*\zaln-e\* \zaln-s |x-strong="G24240" x-lemma="Ἰησοῦς" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Ἰησοῦ" \*\w Jésus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G55470" x-lemma="χριστός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Χριστοῦ" \*\w Christ|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w notre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\zaln-s |x-strong="G49900" x-lemma="σωτήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Σωτῆρος" \*\w Sauveur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\*. +\p +\v 5 +\zaln-s |x-strong="G37780" x-lemma="οὗτος" x-morph="Gr,RD,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="τούτου" \*\w Pour|x-occurrence="1" x-occurrences="1" \w* \w cette|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G54840" x-lemma="χάριν" x-morph="Gr,PI,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="χάριν" \*\w raison|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G06200" x-lemma="ἀπολίπω" x-morph="Gr,V,IAA1,,S," x-occurrence="1" x-occurrences="1" x-content="ἀπέλιπόν" \*\w je|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2A,S," x-occurrence="1" x-occurrences="1" x-content="σε" \*\w t|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G06200" x-lemma="ἀπολίπω" x-morph="Gr,V,IAA1,,S," x-occurrence="1" x-occurrences="1" x-content="ἀπέλιπόν" \*\w ai|x-occurrence="1" x-occurrences="2" \w* \w laissé|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w en|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G29140" x-lemma="Κρήτη" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="Κρήτῃ" \*\w Crète|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G19300" x-lemma="ἐπιδιορθόω" x-morph="Gr,V,SAM2,,S," x-occurrence="1" x-occurrences="1" x-content="ἐπιδιορθώσῃ" \*\w tu|x-occurrence="1" x-occurrences="2" \w* \w mettes|x-occurrence="1" x-occurrences="1" \w* \w en|x-occurrence="2" x-occurrences="2" \w* \w ordre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="τὰ" \*\w les|x-occurrence="1" x-occurrences="1" \w* \w choses|x-occurrence="1" x-occurrences="1" \w* \w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G30070" x-lemma="λείπω" x-morph="Gr,V,PPA,ANP," x-occurrence="1" x-occurrences="1" x-content="λείποντα" \*\w ne|x-occurrence="1" x-occurrences="1" \w* \w sont|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w* \w encore|x-occurrence="1" x-occurrences="1" \w* \w achevées|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G25250" x-lemma="καθίστημι" x-morph="Gr,V,SAA2,,S," x-occurrence="1" x-occurrences="1" x-content="καταστήσῃς" \*\w tu|x-occurrence="2" x-occurrences="2" \w* \w établisses|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G42450" x-lemma="πρεσβύτερος" x-morph="Gr,NS,,,,AMPC" x-occurrence="1" x-occurrences="1" x-content="πρεσβυτέρους" \*\w des|x-occurrence="1" x-occurrences="1" \w* \w anciens|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατὰ" \*\w dans|x-occurrence="1" x-occurrences="1" \w* \w chaque|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41720" x-lemma="πόλις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πόλιν" \*\w ville|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G56130" x-lemma="ὡς" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὡς" \*\w comme|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1N,S," x-occurrence="1" x-occurrences="1" x-content="ἐγώ" \*\w je|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2D,S," x-occurrence="1" x-occurrences="1" x-content="σοι" \*\w te|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12990" x-lemma="διατάσσω" x-morph="Gr,V,IAM1,,S," x-occurrence="1" x-occurrences="1" x-content="διεταξάμην" \*\w l|x-occurrence="1" x-occurrences="1" \w*’\w ai|x-occurrence="2" x-occurrences="2" \w* \w demandé|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* — \ts-s |\* +\v 6 +\zaln-s |x-strong="G14870" x-lemma="εἰ" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="εἴ" \*\w s|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐστιν" \*\w il|x-occurrence="1" x-occurrences="1" \w* \w se|x-occurrence="1" x-occurrences="1" \w* \w trouve|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G51000" x-lemma="τις" x-morph="Gr,RI,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="τίς" \*\w quelqu|x-occurrence="1" x-occurrences="1" \w*'\w un|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04100" x-lemma="ἀνέγκλητος" x-morph="Gr,NP,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ἀνέγκλητος" \*\w d|x-occurrence="1" x-occurrences="3" \w*'\w irréprochable|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G04350" x-lemma="ἀνήρ" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ἀνήρ" \*\w époux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G11350" x-lemma="γυνή" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="γυναικὸς" \*\w d|x-occurrence="2" x-occurrences="3" \w*'\w une|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15200" x-lemma="εἷς" x-morph="Gr,EN,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="μιᾶς" \*\w seule|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G11350" x-lemma="γυνή" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="γυναικὸς" \*\w femme|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G21920" x-lemma="ἔχω" x-morph="Gr,V,PPA,NMS," x-occurrence="1" x-occurrences="1" x-content="ἔχων" \*\w ayant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G50430" x-lemma="τέκνον" x-morph="Gr,N,,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="τέκνα" \*\w des|x-occurrence="1" x-occurrences="1" \w* \w enfants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41030" x-lemma="πιστός" x-morph="Gr,NS,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="πιστά" \*\w fidèles|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\zaln-s |x-strong="G27240" x-lemma="κατηγορία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="κατηγορίᾳ" \*\w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w ne|x-occurrence="1" x-occurrences="1" \w* \w soient|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\zaln-s |x-strong="G27240" x-lemma="κατηγορία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="κατηγορίᾳ" \*\w accusés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G08100" x-lemma="ἀσωτία" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ἀσωτίας" \*\w d|x-occurrence="3" x-occurrences="3" \w*'\w être|x-occurrence="1" x-occurrences="1" \w* \w méchants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22280" x-lemma="ἤ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἢ" \*\w ou|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G05060" x-lemma="ἀνυπότακτος" x-morph="Gr,NP,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="ἀνυπότακτα" \*\w indisciplinés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 7 +\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ" \*\w Car|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12100" x-lemma="δέω" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="1" x-content="δεῖ" \*\w il|x-occurrence="1" x-occurrences="2" \w* \w faut|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="τὸν" \*\w l|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G19850" x-lemma="ἐπίσκοπος" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ἐπίσκοπον" \*\w évêque|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G56130" x-lemma="ὡς" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὡς" \*\w en|x-occurrence="1" x-occurrences="1" \w* \w tant|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*’\zaln-s |x-strong="G36230" x-lemma="οἰκονόμος" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="οἰκονόμον" \*\w intendant|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="2" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w maison|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἶναι" \*\w soit|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04100" x-lemma="ἀνέγκλητος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ἀνέγκλητον" \*\w irréprochable|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* : \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="5" x-content="μὴ" \*\w il|x-occurrence="2" x-occurrences="2" \w* \w ne|x-occurrence="1" x-occurrences="1" \w* \w doit|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="2" x-occurrences="5" x-content="μὴ" \*\w ni|x-occurrence="1" x-occurrences="5" \w*\zaln-e\* \zaln-s |x-strong="G08290" x-lemma="αὐθάδης" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="αὐθάδη" \*\w arrogant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="3" x-occurrences="5" x-content="μὴ" \*\w ni|x-occurrence="2" x-occurrences="5" \w*\zaln-e\* \zaln-s |x-strong="G37110" x-lemma="ὀργίλος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ὀργίλον" \*\w colérique|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="5" x-content="μὴ" \*\w ni|x-occurrence="3" x-occurrences="5" \w*\zaln-e\* \zaln-s |x-strong="G39430" x-lemma="πάροινος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="πάροινον" \*\w adonné|x-occurrence="1" x-occurrences="1" \w* \w au|x-occurrence="1" x-occurrences="1" \w* \w vin|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="4" x-occurrences="5" x-content="μὴ" \*\w ni|x-occurrence="4" x-occurrences="5" \w*\zaln-e\* \zaln-s |x-strong="G41310" x-lemma="πλήκτης" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="πλήκτην" \*\w immodéré|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="5" x-occurrences="5" x-content="μὴ" \*\w ni|x-occurrence="5" x-occurrences="5" \w*\zaln-e\* \zaln-s |x-strong="G01460" x-lemma="αἰσχροκερδής" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="αἰσχροκερδῆ" \*\w un|x-occurrence="1" x-occurrences="1" \w* \w homme|x-occurrence="1" x-occurrences="1" \w* \w avide|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 8 +\zaln-s |x-strong="G02350" x-lemma="ἀλλά" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἀλλὰ" \*\w Au|x-occurrence="1" x-occurrences="1" \w* \w contraire|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G53820" x-lemma="φιλόξενος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="φιλόξενον" \*\w il|x-occurrence="1" x-occurrences="1" \w* \w doit|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="1" \w* \w hospitalier|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G53580" x-lemma="φιλάγαθος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="φιλάγαθον" \*\w un|x-occurrence="1" x-occurrences="1" \w* \w ami|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="2" \w* \w ce|x-occurrence="1" x-occurrences="1" \w* \w qui|x-occurrence="1" x-occurrences="1" \w* \w est|x-occurrence="1" x-occurrences="1" \w* \w bien|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G49980" x-lemma="σώφρων" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="σώφρονα" \*\w sensé|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G13420" x-lemma="δίκαιος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="δίκαιον" \*\w juste|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G37410" x-lemma="ὅσιος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ὅσιον" \*\w saint|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14680" x-lemma="ἐγκρατής" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ἐγκρατῆ" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w maître|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="2" x-occurrences="2" \w* \w lui|x-occurrence="1" x-occurrences="1" \w*-\w même|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 9 +\zaln-s |x-strong="G04720" x-lemma="ἀντέχω" x-morph="Gr,V,PPM,AMS," x-occurrence="1" x-occurrences="1" x-content="ἀντεχόμενον" \*\w Il|x-occurrence="1" x-occurrences="1" \w* \w doit|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="1" \w* \w attaché|x-occurrence="1" x-occurrences="1" \w* \w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\w la|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41030" x-lemma="πιστός" x-morph="Gr,AA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="πιστοῦ" \*\w vraie|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G30560" x-lemma="λόγος" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="λόγου" \*\w parole|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατὰ" \*\w telle|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*'\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="τὴν" \*\zaln-s |x-strong="G13220" x-lemma="διδαχή" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="διδαχὴν" \*\w elle|x-occurrence="1" x-occurrences="1" \w* \w a|x-occurrence="1" x-occurrences="1" \w* \w été|x-occurrence="1" x-occurrences="1" \w* \w enseignée|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="2" x-occurrences="2" \w*\zaln-e\*'\zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,SPA3,,S," x-occurrence="1" x-occurrences="1" x-content="ᾖ" \*\w il|x-occurrence="1" x-occurrences="1" \w* \w soit|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14150" x-lemma="δυνατός" x-morph="Gr,NS,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="δυνατὸς" \*\w capable|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G38700" x-lemma="παρακαλέω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="παρακαλεῖν" \*\w d|x-occurrence="1" x-occurrences="1" \w*'\w encourager|x-occurrence="1" x-occurrences="1" \w* \w les|x-occurrence="1" x-occurrences="1" \w* \w autres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w avec|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="1" x-occurrences="2" x-content="τῇ" \*\zaln-s |x-strong="G13190" x-lemma="διδασκαλία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="διδασκαλίᾳ" \*\w de|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,RD,,,,DFS," x-occurrence="2" x-occurrences="2" x-content="τῇ" \*\zaln-s |x-strong="G51980" x-lemma="ὑγιαίνω" x-morph="Gr,V,PPA,DFS," x-occurrence="1" x-occurrences="1" x-content="ὑγιαινούσῃ" \*\w bons|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="1" x-occurrences="2" x-content="τῇ" \*\zaln-s |x-strong="G13190" x-lemma="διδασκαλία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="διδασκαλίᾳ" \*\w enseignements|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CO,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G16510" x-lemma="ἐλέγχω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="ἐλέγχειν" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w corriger|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,RD,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="τοὺς" \*\w ceux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04830" x-lemma="ἀντιλέγω" x-morph="Gr,V,PPA,AMP," x-occurrence="1" x-occurrences="1" x-content="ἀντιλέγοντας" \*\w qui|x-occurrence="1" x-occurrences="1" \w* \w le|x-occurrence="1" x-occurrences="1" \w* \w contredisent|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*.\ts-s |\* +\p +\v 10 +\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ" \*\w Car|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IPA3,,P," x-occurrence="1" x-occurrences="1" x-content="εἰσὶν" \*\w il|x-occurrence="1" x-occurrences="1" \w* \w y|x-occurrence="1" x-occurrences="1" \w* \w a|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41830" x-lemma="πολλός" x-morph="Gr,RI,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="πολλοὶ" \*\w beaucoup|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G05060" x-lemma="ἀνυπότακτος" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀνυπότακτοι" \*\w gens|x-occurrence="1" x-occurrences="1" \w* \w rebelles|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G31510" x-lemma="ματαιολόγος" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ματαιολόγοι" \*\w bavards|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G54230" x-lemma="φρεναπάτης" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="φρεναπάται" \*\w séducteurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G31220" x-lemma="μάλιστα" x-morph="Gr,D,,,,,,,,S" x-occurrence="1" x-occurrences="1" x-content="μάλιστα" \*\w surtout|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15370" x-lemma="ἐκ" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ἐκ" \*\w parmi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="τῆς" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G40610" x-lemma="περιτομή" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="περιτομῆς" \*\w circoncis|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 11 +\zaln-s |x-strong="G12100" x-lemma="δέω" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="2" x-content="δεῖ" \*\w Il|x-occurrence="1" x-occurrences="1" \w* \w faut|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RR,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="οὓς" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G19930" x-lemma="ἐπιστομίζω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="ἐπιστομίζειν" \*\w faire|x-occurrence="1" x-occurrences="1" \w* \w taire|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G37480" x-lemma="ὅστις" x-morph="Gr,RR,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="οἵτινες" \*\w Ils|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G03960" x-lemma="ἀνατρέπω" x-morph="Gr,V,IPA3,,P," x-occurrence="1" x-occurrences="1" x-content="ἀνατρέπουσιν" \*\w bouleversent|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G36240" x-lemma="οἶκος" x-morph="Gr,N,,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="οἴκους" \*\w des|x-occurrence="1" x-occurrences="1" \w* \w familles|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G36500" x-lemma="ὅλος" x-morph="Gr,EQ,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="ὅλους" \*\w entières|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G13210" x-lemma="διδάσκω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="διδάσκοντες" \*\w enseignant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RD,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="ἃ" \*\w ce|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G12100" x-lemma="δέω" x-morph="Gr,V,IPA3,,S," x-occurrence="2" x-occurrences="2" x-content="δεῖ" \*\w il|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w ne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12100" x-lemma="δέω" x-morph="Gr,V,IPA3,,S," x-occurrence="2" x-occurrences="2" x-content="δεῖ" \*\w faut|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w pas|x-occurrence="1" x-occurrences="1" \w* \w enseigner|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G54840" x-lemma="χάριν" x-morph="Gr,PI,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="χάριν" \*\w pour|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G27710" x-lemma="κέρδος" x-morph="Gr,N,,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="κέρδους" \*\w un|x-occurrence="1" x-occurrences="1" \w* \w gain|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01500" x-lemma="αἰσχρός" x-morph="Gr,AA,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="αἰσχροῦ" \*\w honteux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 12 +\zaln-s |x-strong="G51000" x-lemma="τις" x-morph="Gr,RI,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="τις" \*\w L|x-occurrence="1" x-occurrences="1" \w*'\w un|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15370" x-lemma="ἐκ" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ἐξ" \*\w d|x-occurrence="1" x-occurrences="1" \w*'\w entre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3GMP," x-occurrence="1" x-occurrences="2" x-content="αὐτῶν" \*\w eux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3GMP," x-occurrence="2" x-occurrences="2" x-content="αὐτῶν" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w leurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23980" x-lemma="ἴδιος" x-morph="Gr,RD,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ἴδιος" \*\w propres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43960" x-lemma="προφήτης" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="προφήτης" \*\w prophètes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G30040" x-lemma="λέγω" x-morph="Gr,V,IAA3,,S," x-occurrence="1" x-occurrences="1" x-content="εἶπέν" \*\w a|x-occurrence="1" x-occurrences="1" \w* \w dit|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* : « \zaln-s |x-strong="G29120" x-lemma="Κρής" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="Κρῆτες" \*\w Les|x-occurrence="1" x-occurrences="1" \w* \w Crétois|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G55830" x-lemma="ψεύστης" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ψεῦσται" \*\w sont|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01040" x-lemma="ἀεί" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἀεὶ" \*\w toujours|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G55830" x-lemma="ψεύστης" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ψεῦσται" \*\w menteurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G23420" x-lemma="θηρίον" x-morph="Gr,N,,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="θηρία" \*\w des|x-occurrence="1" x-occurrences="2" \w* \w bêtes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25560" x-lemma="κακός" x-morph="Gr,AA,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="κακὰ" \*\w méchantes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G10640" x-lemma="γαστήρ" x-morph="Gr,N,,,,,NFP," x-occurrence="1" x-occurrences="1" x-content="γαστέρες" \*\w des|x-occurrence="2" x-occurrences="2" \w* \w ventres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G06920" x-lemma="ἀργός" x-morph="Gr,AA,,,,NFP," x-occurrence="1" x-occurrences="1" x-content="ἀργαί" \*\w paresseux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. » +\v 13 +\zaln-s |x-strong="G37780" x-lemma="οὗτος" x-morph="Gr,ED,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="αὕτη" \*\w Ce|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G31410" x-lemma="μαρτυρία" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="μαρτυρία" \*\w témoignage|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐστὶν" \*\w est|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G02270" x-lemma="ἀληθής" x-morph="Gr,NP,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="ἀληθής" \*\w vrai|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G12230" x-lemma="διά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="δι’" \*\w Pour|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,ER,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἣν" \*\w cette|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01560" x-lemma="αἰτία" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="αἰτίαν" \*\w raison|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G16510" x-lemma="ἐλέγχω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="ἔλεγχε" \*\w reprends|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*-\zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3AMP," x-occurrence="1" x-occurrences="1" x-content="αὐτοὺς" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G06640" x-lemma="ἀποτόμως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἀποτόμως" \*\w sévèrement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G51980" x-lemma="ὑγιαίνω" x-morph="Gr,V,SPA3,,P," x-occurrence="1" x-occurrences="1" x-content="ὑγιαίνωσιν" \*\w ils|x-occurrence="1" x-occurrences="1" \w* \w soient|x-occurrence="1" x-occurrences="1" \w* \w solides|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w dans|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="τῇ" \*\w leur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="πίστει" \*\w foi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \ts-s |\* +\v 14 +\zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w ne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43370" x-lemma="προσέχω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="προσέχοντες" \*\w payant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43370" x-lemma="προσέχω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="προσέχοντες" \*\w attention|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G34540" x-lemma="μῦθος" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="μύθοις" \*\w aux|x-occurrence="1" x-occurrences="2" \w* \w mythes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24510" x-lemma="Ἰουδαϊκός" x-morph="Gr,AA,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="Ἰουδαϊκοῖς" \*\w judaïques|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w ou|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17850" x-lemma="ἐντολή" x-morph="Gr,N,,,,,DFP," x-occurrence="1" x-occurrences="1" x-content="ἐντολαῖς" \*\w aux|x-occurrence="2" x-occurrences="2" \w* \w commandements|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04440" x-lemma="ἄνθρωπος" x-morph="Gr,N,,,,,GMP," x-occurrence="1" x-occurrences="1" x-content="ἀνθρώπων" \*\w d|x-occurrence="1" x-occurrences="1" \w*'\w hommes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G06540" x-lemma="ἀποστρέφω" x-morph="Gr,V,PPM,GMP," x-occurrence="1" x-occurrences="1" x-content="ἀποστρεφομένων" \*\w qui|x-occurrence="1" x-occurrences="1" \w* \w se|x-occurrence="1" x-occurrences="1" \w* \w détournent|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="τὴν" \*\w la|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G02250" x-lemma="ἀλήθεια" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἀλήθειαν" \*\w vérité|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 15 +\zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="πάντα" \*\w Tout|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25130" x-lemma="καθαρός" x-morph="Gr,NP,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="καθαρὰ" \*\w est|x-occurrence="1" x-occurrences="2" \w* \w pur|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*, \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DMP," x-occurrence="1" x-occurrences="2" x-content="τοῖς" \*\w pour|x-occurrence="1" x-occurrences="2" \w* \w ceux|x-occurrence="1" x-occurrences="2" \w* \w qui|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G25130" x-lemma="καθαρός" x-morph="Gr,NS,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="καθαροῖς" \*\w sont|x-occurrence="1" x-occurrences="2" \w* \w purs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w Mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37620" x-lemma="οὐδείς" x-morph="Gr,RI,,,,NNS," x-occurrence="1" x-occurrences="1" x-content="οὐδὲν" \*\w rien|x-occurrence="1" x-occurrences="1" \w* \w n|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G25130" x-lemma="καθαρός" x-morph="Gr,NP,,,,NNS," x-occurrence="1" x-occurrences="1" x-content="καθαρόν" \*\w est|x-occurrence="2" x-occurrences="2" \w* \w pur|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DMP," x-occurrence="2" x-occurrences="2" x-content="τοῖς" \*\w pour|x-occurrence="2" x-occurrences="2" \w* \w ceux|x-occurrence="2" x-occurrences="2" \w* \w qui|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G33920" x-lemma="μιαίνω" x-morph="Gr,V,PEP,DMP," x-occurrence="1" x-occurrences="1" x-content="μεμιαμμένοις" \*\w sont|x-occurrence="2" x-occurrences="2" \w* \w souillés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="3" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G05710" x-lemma="ἄπιστος" x-morph="Gr,NS,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἀπίστοις" \*\w incrédules|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* ; \zaln-s |x-strong="G02350" x-lemma="ἀλλά" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἀλλὰ" \*\w au|x-occurrence="1" x-occurrences="1" \w* \w contraire|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3GMP," x-occurrence="1" x-occurrences="1" x-content="αὐτῶν" \*\w leur|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὁ" \*\zaln-s |x-strong="G35630" x-lemma="νοῦς" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="νοῦς" \*\w pensée|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,DO,,,,,,,," x-occurrence="2" x-occurrences="3" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="ἡ" \*\w leur|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G48930" x-lemma="συνείδησις" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="συνείδησις" \*\w conscience|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33920" x-lemma="μιαίνω" x-morph="Gr,V,IEP3,,S," x-occurrence="1" x-occurrences="1" x-content="μεμίανται" \*\w ont|x-occurrence="1" x-occurrences="1" \w* \w été|x-occurrence="1" x-occurrences="1" \w* \w souillées|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 16 +\zaln-s |x-strong="G36700" x-lemma="ὁμολογέω" x-morph="Gr,V,IPA3,,P," x-occurrence="1" x-occurrences="1" x-content="ὁμολογοῦσιν" \*\w Ils|x-occurrence="1" x-occurrences="2" \w* \w font|x-occurrence="1" x-occurrences="1" \w* \w profession|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14920" x-lemma="εἴδω" x-morph="Gr,V,NEA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἰδέναι" \*\w connaître|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="Θεὸν" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G07200" x-lemma="ἀρνέομαι" x-morph="Gr,V,IPM3,,P," x-occurrence="1" x-occurrences="1" x-content="ἀρνοῦνται" \*\w ils|x-occurrence="1" x-occurrences="1" \w* \w le|x-occurrence="1" x-occurrences="1" \w* \w renient|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DNP," x-occurrence="1" x-occurrences="1" x-content="τοῖς" \*\w par|x-occurrence="1" x-occurrences="1" \w* \w leurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,DNP," x-occurrence="1" x-occurrences="1" x-content="ἔργοις" \*\w actions|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="ὄντες" \*\w Ils|x-occurrence="2" x-occurrences="2" \w* \w sont|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G09470" x-lemma="βδελυκτός" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="βδελυκτοὶ" \*\w détestables|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G05450" x-lemma="ἀπειθής" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀπειθεῖς" \*\w désobéissants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G00960" x-lemma="ἀδόκιμος" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀδόκιμοι" \*\w incapables|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43140" x-lemma="πρός" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="πρὸς" \*\w de|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="πᾶν" \*\w toute|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G00180" x-lemma="ἀγαθός" x-morph="Gr,AA,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="ἀγαθὸν" \*\w bonne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="ἔργον" \*\w action|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*.\ts-s |\* +\c 2 +\p +\v 1 +\zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w Mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2N,S," x-occurrence="1" x-occurrences="1" x-content="σὺ" \*\w toi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G29800" x-lemma="λαλέω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="λάλει" \*\w enseigne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RD,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="ἃ" \*\w ce|x-occurrence="1" x-occurrences="1" \w* \w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G42410" x-lemma="πρέπω" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="1" x-content="πρέπει" \*\w est|x-occurrence="1" x-occurrences="1" \w* \w conforme|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="τῇ" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w la|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G51980" x-lemma="ὑγιαίνω" x-morph="Gr,V,PPA,DFS," x-occurrence="1" x-occurrences="1" x-content="ὑγιαινούσῃ" \*\w bonne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G13190" x-lemma="διδασκαλία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="διδασκαλίᾳ" \*\w instruction|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 2 +\zaln-s |x-strong="G42460" x-lemma="πρεσβύτης" x-morph="Gr,N,,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="πρεσβύτας" \*\w Les|x-occurrence="1" x-occurrences="1" \w* \w hommes|x-occurrence="1" x-occurrences="1" \w* \w plus|x-occurrence="1" x-occurrences="1" \w* \w âgés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἶναι" \*\w doivent|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35240" x-lemma="νηφάλιος" x-morph="Gr,NS,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="νηφαλίους" \*\w tempérés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G45860" x-lemma="σεμνός" x-morph="Gr,NP,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="σεμνούς" \*\w respectables|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G49980" x-lemma="σώφρων" x-morph="Gr,NS,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="σώφρονας" \*\w raisonnables|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G51980" x-lemma="ὑγιαίνω" x-morph="Gr,V,PPA,AMP," x-occurrence="1" x-occurrences="1" x-content="ὑγιαίνοντας" \*\w accomplis|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="1" x-occurrences="3" x-content="τῇ" \*\w dans|x-occurrence="1" x-occurrences="3" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="πίστει" \*\w la|x-occurrence="1" x-occurrences="2" \w* \w foi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="2" x-occurrences="3" x-content="τῇ" \*\w dans|x-occurrence="2" x-occurrences="3" \w*\zaln-e\* \zaln-s |x-strong="G00260" x-lemma="ἀγάπη" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="ἀγάπῃ" \*\w l|x-occurrence="1" x-occurrences="1" \w*'\w amour|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="3" x-occurrences="3" x-content="τῇ" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w dans|x-occurrence="3" x-occurrences="3" \w*\zaln-e\* \zaln-s |x-strong="G52810" x-lemma="ὑπομονή" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="ὑπομονῇ" \*\w la|x-occurrence="2" x-occurrences="2" \w* \w persévérance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 3 +\zaln-s |x-strong="G56150" x-lemma="ὡσαύτως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὡσαύτως" \*\w De|x-occurrence="1" x-occurrences="1" \w* \w même|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G42470" x-lemma="πρεσβῦτις" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="πρεσβύτιδας" \*\w les|x-occurrence="1" x-occurrences="1" \w* \w femmes|x-occurrence="1" x-occurrences="1" \w* \w plus|x-occurrence="1" x-occurrences="1" \w* \w âgées|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24120" x-lemma="ἱεροπρεπής" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ἱεροπρεπεῖς" \*\w doivent|x-occurrence="1" x-occurrences="3" \w* \w être|x-occurrence="1" x-occurrences="2" \w* \w respectueuses|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w dans|x-occurrence="1" x-occurrences="1" \w* \w leur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G26880" x-lemma="κατάστημα" x-morph="Gr,N,,,,,DNS," x-occurrence="1" x-occurrences="1" x-content="καταστήματι" \*\w comportement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* ; \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w elles|x-occurrence="1" x-occurrences="2" \w* \w ne|x-occurrence="1" x-occurrences="1" \w* \w doivent|x-occurrence="2" x-occurrences="3" \w* \w être|x-occurrence="2" x-occurrences="2" \w* \w ni|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G12280" x-lemma="διάβολος" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="διαβόλους" \*\w médisantes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33660" x-lemma="μηδέ" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μηδὲ" \*\w ni|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14020" x-lemma="δουλόω" x-morph="Gr,V,PEP,AFP," x-occurrence="1" x-occurrences="1" x-content="δεδουλωμένας" \*\w asservies|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G36310" x-lemma="οἶνος" x-morph="Gr,N,,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="οἴνῳ" \*\w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41830" x-lemma="πολλός" x-morph="Gr,EQ,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="πολλῷ" \*\w trop|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G36310" x-lemma="οἶνος" x-morph="Gr,N,,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="οἴνῳ" \*\w vin|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G25670" x-lemma="καλοδιδάσκαλος" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="καλοδιδασκάλους" \*\w mais|x-occurrence="1" x-occurrences="1" \w* \w elles|x-occurrence="2" x-occurrences="2" \w* \w doivent|x-occurrence="3" x-occurrences="3" \w* \w enseigner|x-occurrence="1" x-occurrences="1" \w* \w ce|x-occurrence="1" x-occurrences="1" \w* \w qui|x-occurrence="1" x-occurrences="1" \w* \w est|x-occurrence="1" x-occurrences="1" \w* \w bon|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 4 +\zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w De|x-occurrence="1" x-occurrences="1" \w* \w cette|x-occurrence="1" x-occurrences="1" \w* \w manière|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G49940" x-lemma="σωφρονίζω" x-morph="Gr,V,SPA3,,P," x-occurrence="1" x-occurrences="1" x-content="σωφρονίζωσι" \*\w elles|x-occurrence="1" x-occurrences="1" \w* \w peuvent|x-occurrence="1" x-occurrences="1" \w* \w enseigner|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="τὰς" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35010" x-lemma="νέος" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="νέας" \*\w jeunes|x-occurrence="1" x-occurrences="1" \w* \w épouses|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G53620" x-lemma="φίλανδρος" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="φιλάνδρους" \*\zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἶναι" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w aimer|x-occurrence="1" x-occurrences="1" \w* \w leurs|x-occurrence="1" x-occurrences="2" \w* \w époux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G53880" x-lemma="φιλότεκνος" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="φιλοτέκνους" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w leurs|x-occurrence="2" x-occurrences="2" \w* \w enfants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 5 +\zaln-s |x-strong="G49980" x-lemma="σώφρων" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="σώφρονας" \*\w à|x-occurrence="1" x-occurrences="4" \w* \w être|x-occurrence="1" x-occurrences="2" \w* \w raisonnables|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G00530" x-lemma="ἁγνός" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ἁγνάς" \*\w pures|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G36260" x-lemma="οἰκουργός" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="οἰκουργούς" \*\w à|x-occurrence="2" x-occurrences="4" \w* \w prendre|x-occurrence="1" x-occurrences="1" \w* \w soin|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="2" \w* \w leur|x-occurrence="1" x-occurrences="1" \w* \w ménage|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G00180" x-lemma="ἀγαθός" x-morph="Gr,NS,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ἀγαθάς" \*\w bonnes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G52930" x-lemma="ὑποτάσσω" x-morph="Gr,V,PPP,AFP," x-occurrence="1" x-occurrences="1" x-content="ὑποτασσομένας" \*\w à|x-occurrence="3" x-occurrences="4" \w* \w être|x-occurrence="2" x-occurrences="2" \w* \w soumises|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EP,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="τοῖς" \*\zaln-s |x-strong="G04350" x-lemma="ἀνήρ" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἀνδράσιν" \*\w à|x-occurrence="4" x-occurrences="4" \w* \w leurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G23980" x-lemma="ἴδιος" x-morph="Gr,EF,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἰδίοις" \*\w propres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EP,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="τοῖς" \*\zaln-s |x-strong="G04350" x-lemma="ἀνήρ" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἀνδράσιν" \*\w maris|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὁ" \*\w la|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G30560" x-lemma="λόγος" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="λόγος" \*\w Parole|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\w de|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w ne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G09870" x-lemma="βλασφημέω" x-morph="Gr,V,SPP3,,S," x-occurrence="1" x-occurrences="1" x-content="βλασφημῆται" \*\w soit|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G09870" x-lemma="βλασφημέω" x-morph="Gr,V,SPP3,,S," x-occurrence="1" x-occurrences="1" x-content="βλασφημῆται" \*\w blasphémée|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 6 +\zaln-s |x-strong="G56150" x-lemma="ὡσαύτως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὡσαύτως" \*\w De|x-occurrence="1" x-occurrences="1" \w* \w même|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G38700" x-lemma="παρακαλέω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="παρακάλει" \*\w exhorte|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="τοὺς" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35125" x-lemma="νεώτερος" x-morph="Gr,AA,,,,AMPC" x-occurrence="1" x-occurrences="1" x-content="νεωτέρους" \*\w jeunes|x-occurrence="1" x-occurrences="1" \w* \w gens|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G49930" x-lemma="σωφρονέω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="σωφρονεῖν" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="1" \w* \w sensés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 7 +\zaln-s |x-strong="G40120" x-lemma="περί" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="περὶ" \*\w En|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="πάντα" \*\w toute|x-occurrence="1" x-occurrences="1" \w* \w chose|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G39300" x-lemma="παρέχω" x-morph="Gr,V,PPM,NMS," x-occurrence="1" x-occurrences="1" x-content="παρεχόμενος" \*\w présente|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*-\zaln-s |x-strong="G45720" x-lemma="σεαυτοῦ" x-morph="Gr,RE,,,2AMS," x-occurrence="1" x-occurrences="1" x-content="σεαυτὸν" \*\w toi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G51790" x-lemma="τύπος" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="τύπον" \*\w comme|x-occurrence="1" x-occurrences="1" \w* \w un|x-occurrence="1" x-occurrences="1" \w* \w modèle|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25700" x-lemma="καλός" x-morph="Gr,AA,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="καλῶν" \*\w en|x-occurrence="1" x-occurrences="1" \w* \w bonnes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="ἔργων" \*\w œuvres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w et|x-occurrence="1" x-occurrences="2" \w* \w quand|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EP,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="τῇ" \*\zaln-s |x-strong="G13190" x-lemma="διδασκαλία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="διδασκαλίᾳ" \*\w tu|x-occurrence="1" x-occurrences="1" \w* \w enseignes|x-occurrence="1" x-occurrences="1" \w* \w montre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G08627" x-lemma="ἀφθορία" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἀφθορίαν" \*\w de|x-occurrence="1" x-occurrences="2" \w* \w l|x-occurrence="1" x-occurrences="1" \w*'\w intégrité|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G45870" x-lemma="σεμνότης" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="σεμνότητα" \*\w et|x-occurrence="2" x-occurrences="2" \w* \w de|x-occurrence="2" x-occurrences="2" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w dignité|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 8 +\zaln-s |x-strong="G30560" x-lemma="λόγος" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="λόγον" \*\w un|x-occurrence="1" x-occurrences="1" \w* \w message|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G51990" x-lemma="ὑγιής" x-morph="Gr,AA,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ὑγιῆ" \*\w solide|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01760" x-lemma="ἀκατάγνωστος" x-morph="Gr,NS,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ἀκατάγνωστον" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w irréprochable|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὁ" \*\w celui|x-occurrence="1" x-occurrences="1" \w* \w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15370" x-lemma="ἐκ" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ἐξ" \*\zaln-s |x-strong="G17270" x-lemma="ἐναντίος" x-morph="Gr,NS,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ἐναντίας" \*\w s|x-occurrence="1" x-occurrences="1" \w*'\w y|x-occurrence="1" x-occurrences="1" \w* \w oppose|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G17880" x-lemma="ἐντρέπω" x-morph="Gr,V,SAP3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐντραπῇ" \*\w soit|x-occurrence="1" x-occurrences="1" \w* \w confus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G21920" x-lemma="ἔχω" x-morph="Gr,V,PPA,NMS," x-occurrence="1" x-occurrences="1" x-content="ἔχων" \*\w parce|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="1" \w*'\w il|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="μηδὲν" \*\w n|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G21920" x-lemma="ἔχω" x-morph="Gr,V,PPA,NMS," x-occurrence="1" x-occurrences="1" x-content="ἔχων" \*\w a|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="μηδὲν" \*\w rien|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G53370" x-lemma="φαῦλος" x-morph="Gr,NS,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="φαῦλον" \*\w de|x-occurrence="1" x-occurrences="2" \w* \w mal|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G30040" x-lemma="λέγω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="λέγειν" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w dire|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G40120" x-lemma="περί" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="περὶ" \*\w de|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w nous|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 9 +\zaln-s |x-strong="G14010" x-lemma="δοῦλος" x-morph="Gr,N,,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="δούλους" \*\w Les|x-occurrence="1" x-occurrences="1" \w* \w esclaves|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G52930" x-lemma="ὑποτάσσω" x-morph="Gr,V,NPM,,,,," x-occurrence="1" x-occurrences="1" x-content="ὑποτάσσεσθαι" \*\w doivent|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="2" \w* \w obéissants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23980" x-lemma="ἴδιος" x-morph="Gr,EF,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἰδίοις" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w leurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12030" x-lemma="δεσπότης" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="δεσπόταις" \*\w maîtres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w en|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,DNP," x-occurrence="1" x-occurrences="1" x-content="πᾶσιν" \*\w toute|x-occurrence="1" x-occurrences="1" \w* \w chose|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἶναι" \*\w être|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G21010" x-lemma="εὐάρεστος" x-morph="Gr,NP,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="εὐαρέστους" \*\w plaisants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w ne|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04830" x-lemma="ἀντιλέγω" x-morph="Gr,V,PPA,AMP," x-occurrence="1" x-occurrences="1" x-content="ἀντιλέγοντας" \*\w contester|x-occurrence="1" x-occurrences="1" \w* \w avec|x-occurrence="1" x-occurrences="1" \w* \w eux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 10 +\zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w ne|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35570" x-lemma="νοσφίζω" x-morph="Gr,V,PPM,AMP," x-occurrence="1" x-occurrences="1" x-content="νοσφιζομένους" \*\w dérober|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G02350" x-lemma="ἀλλά" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἀλλὰ" \*\w mais|x-occurrence="1" x-occurrences="1" \w*, \w au|x-occurrence="1" x-occurrences="1" \w* \w contraire|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17310" x-lemma="ἐνδείκνυμι" x-morph="Gr,V,PPM,AMP," x-occurrence="1" x-occurrences="1" x-content="ἐνδεικνυμένους" \*\w faire|x-occurrence="1" x-occurrences="1" \w* \w preuve|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πίστιν" \*\w d|x-occurrence="1" x-occurrences="1" \w*’\w une|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πᾶσαν" \*\w totale|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G00180" x-lemma="ἀγαθός" x-morph="Gr,NS,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἀγαθήν" \*\w bonne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πίστιν" \*\w foi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w en|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,DNP," x-occurrence="1" x-occurrences="1" x-content="πᾶσιν" \*\w tout|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G28850" x-lemma="κοσμέω" x-morph="Gr,V,SPA3,,P," x-occurrence="1" x-occurrences="1" x-content="κοσμῶσιν" \*\w ils|x-occurrence="1" x-occurrences="1" \w* \w honorent|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="1" x-occurrences="2" x-content="τὴν" \*\w l|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G13190" x-lemma="διδασκαλία" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="διδασκαλίαν" \*\w enseignement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="2" x-occurrences="2" x-content="τὴν" \*\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w propos|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w notre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G49900" x-lemma="σωτήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Σωτῆρος" \*\w Sauveur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*.\ts-s |\* +\p +\v 11 +\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ" \*\w Car|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="ἡ" \*\w la|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G54850" x-lemma="χάρις" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="χάρις" \*\w grâce|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\w de|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20140" x-lemma="ἐπιφαίνω" x-morph="Gr,V,IAP3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐπεφάνη" \*\w s|x-occurrence="1" x-occurrences="1" \w*'\w est|x-occurrence="1" x-occurrences="1" \w* \w manifestée|x-occurrence="1" x-occurrences="1" \w* \w pour|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G49920" x-lemma="σωτήριος" x-morph="Gr,NS,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="σωτήριος" \*\w le|x-occurrence="1" x-occurrences="2" \w* \w salut|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="πᾶσιν" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w tout|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04440" x-lemma="ἄνθρωπος" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἀνθρώποις" \*\w le|x-occurrence="2" x-occurrences="2" \w* \w monde|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 12 +\zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1A,P," x-occurrence="1" x-occurrences="1" x-content="ἡμᾶς" \*\w nous|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G38110" x-lemma="παιδεύω" x-morph="Gr,V,PPA,NFS," x-occurrence="1" x-occurrences="1" x-content="παιδεύουσα" \*\w formant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G07200" x-lemma="ἀρνέομαι" x-morph="Gr,V,PAM,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀρνησάμενοι" \*\w rejetant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="τὴν" \*\w l|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*'\zaln-s |x-strong="G07630" x-lemma="ἀσέβεια" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἀσέβειαν" \*\w impiété|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="3" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="τὰς" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G19390" x-lemma="ἐπιθυμία" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ἐπιθυμίας" \*\w passions|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G28860" x-lemma="κοσμικός" x-morph="Gr,AA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="κοσμικὰς" \*\w mondaines|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G21980" x-lemma="ζάω" x-morph="Gr,V,SAA1,,P," x-occurrence="1" x-occurrences="1" x-content="ζήσωμεν" \*\w nous|x-occurrence="2" x-occurrences="2" \w* \w puissions|x-occurrence="1" x-occurrences="1" \w* \w vivre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G49960" x-lemma="σωφρόνως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="σωφρόνως" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w façon|x-occurrence="1" x-occurrences="1" \w* \w raisonnable|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G13460" x-lemma="δικαίως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δικαίως" \*\w juste|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="3" x-occurrences="3" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G21530" x-lemma="εὐσεβῶς" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="εὐσεβῶς" \*\w pieuse|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w dans|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="τῷ" \*\zaln-s |x-strong="G01650" x-lemma="αἰών" x-morph="Gr,N,,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="αἰῶνι" \*\w l|x-occurrence="2" x-occurrences="2" \w*'\w âge|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G35680" x-lemma="νῦν" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="νῦν" \*\w présent|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 13 +\zaln-s |x-strong="G43270" x-lemma="προσδέχομαι" x-morph="Gr,V,PPM,NMP," x-occurrence="1" x-occurrences="1" x-content="προσδεχόμενοι" \*\w en|x-occurrence="1" x-occurrences="1" \w* \w attendant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="τὴν" \*\w l|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*’\zaln-s |x-strong="G16800" x-lemma="ἐλπίς" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἐλπίδα" \*\w espérance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G31070" x-lemma="μακάριος" x-morph="Gr,AA,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="μακαρίαν" \*\w bénie|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G20150" x-lemma="ἐπιφάνεια" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἐπιφάνειαν" \*\w l|x-occurrence="2" x-occurrences="2" \w*'\w apparition|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="τῆς" \*\w de|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G13910" x-lemma="δόξα" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="δόξης" \*\w la|x-occurrence="1" x-occurrences="1" \w* \w gloire|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\w de|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w notre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G31730" x-lemma="μέγας" x-morph="Gr,AA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="μεγάλου" \*\w grand|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G49900" x-lemma="σωτήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Σωτῆρος" \*\w sauveur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24240" x-lemma="Ἰησοῦς" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Ἰησοῦ" \*\w Jésus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*-\zaln-s |x-strong="G55470" x-lemma="χριστός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Χριστοῦ" \*\w Christ|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 14 +\zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RR,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὃς" \*\w Il|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G13250" x-lemma="δίδωμι" x-morph="Gr,V,IAA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἔδωκεν" \*\w s|x-occurrence="1" x-occurrences="1" \w*'\w est|x-occurrence="1" x-occurrences="1" \w* \w donné|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14380" x-lemma="ἑαυτοῦ" x-morph="Gr,RE,,,3AMS," x-occurrence="1" x-occurrences="1" x-content="ἑαυτὸν" \*\w lui|x-occurrence="1" x-occurrences="2" \w*-\w même|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G52280" x-lemma="ὑπέρ" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ὑπὲρ" \*\w pour|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w nous|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1A,P," x-occurrence="1" x-occurrences="1" x-content="ἡμᾶς" \*\w nous|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G30840" x-lemma="λυτρόω" x-morph="Gr,V,SAM3,,S," x-occurrence="1" x-occurrences="1" x-content="λυτρώσηται" \*\w racheter|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G05750" x-lemma="ἀπό" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ἀπὸ" \*\w de|x-occurrence="2" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="πάσης" \*\w toute|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04580" x-lemma="ἀνομία" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ἀνομίας" \*\w rébellion|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w de|x-occurrence="3" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G25110" x-lemma="καθαρίζω" x-morph="Gr,V,SAA3,,S," x-occurrence="1" x-occurrences="1" x-content="καθαρίσῃ" \*\w rendre|x-occurrence="1" x-occurrences="1" \w* \w pur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G14380" x-lemma="ἑαυτοῦ" x-morph="Gr,RE,,,3DMS," x-occurrence="1" x-occurrences="1" x-content="ἑαυτῷ" \*\w pour|x-occurrence="2" x-occurrences="2" \w* \w lui|x-occurrence="2" x-occurrences="2" \w*-\w même|x-occurrence="2" x-occurrences="2" \w*\zaln-e\*, \zaln-s |x-strong="G29920" x-lemma="λαός" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="λαὸν" \*\w un|x-occurrence="1" x-occurrences="1" \w* \w peuple|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G40410" x-lemma="περιούσιος" x-morph="Gr,AA,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="περιούσιον" \*\w spécial|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22070" x-lemma="ζηλωτής" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ζηλωτὴν" \*\w qui|x-occurrence="1" x-occurrences="1" \w* \w a|x-occurrence="1" x-occurrences="1" \w* \w soif|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="4" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G25700" x-lemma="καλός" x-morph="Gr,AA,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="καλῶν" \*\w bonnes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="ἔργων" \*\w œuvres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 15 +\zaln-s |x-strong="G29800" x-lemma="λαλέω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="λάλει" \*\w Parle|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37780" x-lemma="οὗτος" x-morph="Gr,RD,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="ταῦτα" \*\w ces|x-occurrence="1" x-occurrences="1" \w* \w choses|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G38700" x-lemma="παρακαλέω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="παρακάλει" \*\w encourage|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G16510" x-lemma="ἐλέγχω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="ἔλεγχε" \*\w corrige|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33260" x-lemma="μετά" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="μετὰ" \*\w avec|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="πάσης" \*\w toute|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20030" x-lemma="ἐπιταγή" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ἐπιταγῆς" \*\w autorité|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G40650" x-lemma="περιφρονέω" x-morph="Gr,V,MPA3,,S," x-occurrence="1" x-occurrences="1" x-content="περιφρονείτω" \*\w Que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="μηδείς" \*\w personne|x-occurrence="1" x-occurrences="1" \w* \w ne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2G,S," x-occurrence="1" x-occurrences="1" x-content="σου" \*\w te|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G40650" x-lemma="περιφρονέω" x-morph="Gr,V,MPA3,,S," x-occurrence="1" x-occurrences="1" x-content="περιφρονείτω" \*\w méprise|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*.\ts-s |\* +\c 3 +\p +\v 1 +\zaln-s |x-strong="G52790" x-lemma="ὑπομιμνῄσκω" x-morph="Gr,V,MPA2,,S," x-occurrence="1" x-occurrences="1" x-content="ὑπομίμνῃσκε" \*\w Rappelle|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*-\zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3AMP," x-occurrence="1" x-occurrences="1" x-content="αὐτοὺς" \*\w leur|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G52930" x-lemma="ὑποτάσσω" x-morph="Gr,V,NPM,,,,," x-occurrence="1" x-occurrences="1" x-content="ὑποτάσσεσθαι" \*\w de|x-occurrence="1" x-occurrences="2" \w* \w se|x-occurrence="1" x-occurrences="1" \w* \w soumettre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G07460" x-lemma="ἀρχή" x-morph="Gr,N,,,,,DFP," x-occurrence="1" x-occurrences="1" x-content="ἀρχαῖς" \*\w aux|x-occurrence="1" x-occurrences="2" \w* \w dirigeants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G18490" x-lemma="ἐξουσία" x-morph="Gr,N,,,,,DFP," x-occurrence="1" x-occurrences="1" x-content="ἐξουσίαις" \*\w et|x-occurrence="1" x-occurrences="2" \w* \w aux|x-occurrence="2" x-occurrences="2" \w* \w autorités|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G39800" x-lemma="πειθαρχέω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="πειθαρχεῖν" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w leur|x-occurrence="2" x-occurrences="2" \w* \w obéir|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἶναι" \*\w et|x-occurrence="2" x-occurrences="2" \w* \w d|x-occurrence="1" x-occurrences="1" \w*'\w être|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20920" x-lemma="ἕτοιμος" x-morph="Gr,NP,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="ἑτοίμους" \*\w prêts|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43140" x-lemma="πρός" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="πρὸς" \*\w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="πᾶν" \*\w toute|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G00180" x-lemma="ἀγαθός" x-morph="Gr,AA,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="ἀγαθὸν" \*\w bonne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="ἔργον" \*\w œuvre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 2 +\zaln-s |x-strong="G09870" x-lemma="βλασφημέω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="βλασφημεῖν" \*\w de|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="μηδένα" \*\w n|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G09870" x-lemma="βλασφημέω" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="βλασφημεῖν" \*\w injurier|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="μηδένα" \*\w personne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,NPA,,,,," x-occurrence="1" x-occurrences="1" x-content="εἶναι" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w ne|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w* \w être|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G02690" x-lemma="ἄμαχος" x-morph="Gr,NP,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="ἀμάχους" \*\w querelleurs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G19330" x-lemma="ἐπιεικής" x-morph="Gr,NP,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="ἐπιεικεῖς" \*\w d|x-occurrence="1" x-occurrences="2" \w*'\w être|x-occurrence="2" x-occurrences="2" \w* \w doux|x-occurrence="1" x-occurrences="1" \w* \w avec|x-occurrence="1" x-occurrences="1" \w* \w les|x-occurrence="1" x-occurrences="2" \w* \w autres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G17310" x-lemma="ἐνδείκνυμι" x-morph="Gr,V,PPM,AMP," x-occurrence="1" x-occurrences="1" x-content="ἐνδεικνυμένους" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w faisant|x-occurrence="1" x-occurrences="1" \w* \w preuve|x-occurrence="1" x-occurrences="1" \w* \w d|x-occurrence="2" x-occurrences="2" \w*\zaln-e\*'\zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πᾶσαν" \*\w une|x-occurrence="1" x-occurrences="1" \w* \w complète|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G42400" x-lemma="πραΰτης" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="πραΰτητα" \*\w humilité|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43140" x-lemma="πρός" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="πρὸς" \*\w envers|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,EQ,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="πάντας" \*\w tous|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04440" x-lemma="ἄνθρωπος" x-morph="Gr,N,,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="ἀνθρώπους" \*\w les|x-occurrence="2" x-occurrences="2" \w* \w hommes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 3 +\zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γάρ" \*\w Car|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1N,P," x-occurrence="1" x-occurrences="1" x-content="ἡμεῖς" \*\w nous|x-occurrence="1" x-occurrences="3" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="3" x-content="καὶ" \*\w aussi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IIA1,,P," x-occurrence="1" x-occurrences="1" x-content="ἦμεν" \*\w nous|x-occurrence="2" x-occurrences="3" \w* \w étions|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G42180" x-lemma="ποτέ" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ποτε" \*\w autrefois|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04530" x-lemma="ἀνόητος" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀνόητοι" \*\w insensés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G05450" x-lemma="ἀπειθής" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἀπειθεῖς" \*\w désobéissants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G41050" x-lemma="πλανάω" x-morph="Gr,V,PPP,NMP," x-occurrence="1" x-occurrences="1" x-content="πλανώμενοι" \*\w Nous|x-occurrence="1" x-occurrences="2" \w* \w étions|x-occurrence="2" x-occurrences="2" \w* \w égarés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G13980" x-lemma="δουλεύω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="δουλεύοντες" \*\w et|x-occurrence="1" x-occurrences="4" \w* \w asservis|x-occurrence="1" x-occurrences="1" \w* \w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41640" x-lemma="ποικίλος" x-morph="Gr,AA,,,,DFP," x-occurrence="1" x-occurrences="1" x-content="ποικίλαις" \*\w toute|x-occurrence="1" x-occurrences="1" \w* \w sorte|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G19390" x-lemma="ἐπιθυμία" x-morph="Gr,N,,,,,DFP," x-occurrence="1" x-occurrences="1" x-content="ἐπιθυμίαις" \*\w de|x-occurrence="1" x-occurrences="2" \w* \w passions|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="3" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G22370" x-lemma="ἡδονή" x-morph="Gr,N,,,,,DFP," x-occurrence="1" x-occurrences="1" x-content="ἡδοναῖς" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w plaisirs|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G12360" x-lemma="διάγω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="διάγοντες" \*\w Nous|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \w vivions|x-occurrence="1" x-occurrences="1" \w* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w dans|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25490" x-lemma="κακία" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="κακίᾳ" \*\w le|x-occurrence="1" x-occurrences="1" \w* \w mal|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="3" x-occurrences="3" x-content="καὶ" \*\w et|x-occurrence="3" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G53550" x-lemma="φθόνος" x-morph="Gr,N,,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="φθόνῳ" \*\w l|x-occurrence="1" x-occurrences="1" \w*'\w envie|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G47670" x-lemma="στυγητός" x-morph="Gr,NS,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="στυγητοί" \*\w détestables|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G34040" x-lemma="μισέω" x-morph="Gr,V,PPA,NMP," x-occurrence="1" x-occurrences="1" x-content="μισοῦντες" \*\w et|x-occurrence="4" x-occurrences="4" \w* \w nous|x-occurrence="3" x-occurrences="3" \w* \w haïssant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G02400" x-lemma="ἀλλήλων" x-morph="Gr,RC,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="ἀλλήλους" \*\w les|x-occurrence="1" x-occurrences="2" \w* \w uns|x-occurrence="1" x-occurrences="1" \w* \w les|x-occurrence="2" x-occurrences="2" \w* \w autres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 4 +\zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w Mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G37530" x-lemma="ὅτε" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὅτε" \*\w lorsque|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="1" x-occurrences="2" x-content="ἡ" \*\w la|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G55440" x-lemma="χρηστότης" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="χρηστότης" \*\w bonté|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="2" x-occurrences="2" x-content="ἡ" \*\w de|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Θεοῦ" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w notre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\zaln-s |x-strong="G49900" x-lemma="σωτήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Σωτῆρος" \*\w Sauveur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="2" x-occurrences="2" x-content="ἡ" \*\w son|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G53630" x-lemma="φιλανθρωπία" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="φιλανθρωπία" \*\w amour|x-occurrence="1" x-occurrences="1" \w* \w pour|x-occurrence="1" x-occurrences="1" \w* \w les|x-occurrence="1" x-occurrences="1" \w* \w hommes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20140" x-lemma="ἐπιφαίνω" x-morph="Gr,V,IAP3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐπεφάνη" \*\w sont|x-occurrence="1" x-occurrences="1" \w* \w apparus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 5 +\zaln-s |x-strong="G37560" x-lemma="οὐ" x-morph="Gr,DO,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="οὐκ" \*\w ce|x-occurrence="1" x-occurrences="1" \w* \w n|x-occurrence="1" x-occurrences="1" \w*'\w est|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15370" x-lemma="ἐκ" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="ἐξ" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w cause|x-occurrence="1" x-occurrences="1" \w* \w des|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="ἔργων" \*\w œuvres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="τῶν" \*\zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w de|x-occurrence="1" x-occurrences="3" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G13430" x-lemma="δικαιοσύνη" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="δικαιοσύνῃ" \*\w justice|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RD,,,,ANP," x-occurrence="1" x-occurrences="1" x-content="ἃ" \*\w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41600" x-lemma="ποιέω" x-morph="Gr,V,IAA1,,P," x-occurrence="1" x-occurrences="1" x-content="ἐποιήσαμεν" \*\w nous|x-occurrence="1" x-occurrences="3" \w* \w aurions|x-occurrence="1" x-occurrences="1" \w* \w faites|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1N,P," x-occurrence="1" x-occurrences="1" x-content="ἡμεῖς" \*\w de|x-occurrence="2" x-occurrences="3" \w* \w nous|x-occurrence="2" x-occurrences="3" \w*-\w mêmes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G02350" x-lemma="ἀλλά" x-morph="Gr,CO,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἀλλὰ" \*\w mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατὰ" \*\w par|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="τὸ" \*\zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3GMS," x-occurrence="1" x-occurrences="1" x-content="αὐτοῦ" \*\w sa|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G16560" x-lemma="ἔλεος" x-morph="Gr,N,,,,,ANS," x-occurrence="1" x-occurrences="1" x-content="ἔλεος" \*\w miséricorde|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G49820" x-lemma="σῴζω" x-morph="Gr,V,IAA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἔσωσεν" \*\w qu|x-occurrence="1" x-occurrences="1" \w*'\w il|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1A,P," x-occurrence="1" x-occurrences="1" x-content="ἡμᾶς" \*\w nous|x-occurrence="3" x-occurrences="3" \w*\zaln-e\* \zaln-s |x-strong="G49820" x-lemma="σῴζω" x-morph="Gr,V,IAA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἔσωσεν" \*\w a|x-occurrence="1" x-occurrences="1" \w* \w sauvés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G12230" x-lemma="διά" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="διὰ" \*\w par|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G30670" x-lemma="λουτρόν" x-morph="Gr,N,,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="λουτροῦ" \*\w le|x-occurrence="1" x-occurrences="2" \w* \w lavement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G38240" x-lemma="παλινγενεσία" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="παλινγενεσίας" \*\w de|x-occurrence="3" x-occurrences="3" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w nouvelle|x-occurrence="1" x-occurrences="1" \w* \w naissance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G03420" x-lemma="ἀνακαίνωσις" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ἀνακαινώσεως" \*\w le|x-occurrence="2" x-occurrences="2" \w* \w renouvellement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41510" x-lemma="πνεῦμα" x-morph="Gr,N,,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="Πνεύματος" \*\w du|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G00400" x-lemma="ἅγιος" x-morph="Gr,AA,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="Ἁγίου" \*\w Saint|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*-\zaln-s |x-strong="G41510" x-lemma="πνεῦμα" x-morph="Gr,N,,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="Πνεύματος" \*\w Esprit|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \ts-s |\* +\v 6 +\zaln-s |x-strong="G37390" x-lemma="ὅς" x-morph="Gr,RR,,,,GNS," x-occurrence="1" x-occurrences="1" x-content="οὗ" \*\w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G16320" x-lemma="ἐκχέω" x-morph="Gr,V,IAA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐξέχεεν" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w* \w a|x-occurrence="1" x-occurrences="1" \w* \w répandus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41460" x-lemma="πλουσίως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="πλουσίως" \*\w avec|x-occurrence="1" x-occurrences="1" \w* \w abondance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G19090" x-lemma="ἐπί" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="ἐφ’" \*\w sur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1A,P," x-occurrence="1" x-occurrences="1" x-content="ἡμᾶς" \*\w nous|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12230" x-lemma="διά" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="διὰ" \*\w par|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G24240" x-lemma="Ἰησοῦς" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Ἰησοῦ" \*\w Jésus|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*-\zaln-s |x-strong="G55470" x-lemma="χριστός" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Χριστοῦ" \*\w Christ|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,P," x-occurrence="1" x-occurrences="1" x-content="ἡμῶν" \*\w notre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="τοῦ" \*\zaln-s |x-strong="G49900" x-lemma="σωτήρ" x-morph="Gr,N,,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="Σωτῆρος" \*\w Sauveur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\*, +\v 7 +\zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G13440" x-lemma="δικαιόω" x-morph="Gr,V,PAP,NMP," x-occurrence="1" x-occurrences="1" x-content="δικαιωθέντες" \*\w justifiés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="τῇ" \*\zaln-s |x-strong="G15650" x-lemma="ἐκεῖνος" x-morph="Gr,RD,,,,GMS," x-occurrence="1" x-occurrences="1" x-content="ἐκείνου" \*\w par|x-occurrence="1" x-occurrences="1" \w* \w sa|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G54850" x-lemma="χάρις" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="χάριτι" \*\w grâce|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G10960" x-lemma="γίνομαι" x-morph="Gr,V,SAP1,,P," x-occurrence="1" x-occurrences="1" x-content="γενηθῶμεν" \*\w nous|x-occurrence="1" x-occurrences="1" \w* \w puissions|x-occurrence="1" x-occurrences="1" \w* \w devenir|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G28180" x-lemma="κληρονόμος" x-morph="Gr,N,,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="κληρονόμοι" \*\w héritiers|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25960" x-lemma="κατά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="κατ’" \*\w en|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G16800" x-lemma="ἐλπίς" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="ἐλπίδα" \*\w espérance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22220" x-lemma="ζωή" x-morph="Gr,N,,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="ζωῆς" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w vie|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01660" x-lemma="αἰώνιος" x-morph="Gr,AA,,,,GFS," x-occurrence="1" x-occurrences="1" x-content="αἰωνίου" \*\w éternelle|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 8 +\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὁ" \*\w Ce|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G30560" x-lemma="λόγος" x-morph="Gr,N,,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="λόγος" \*\w message|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41030" x-lemma="πιστός" x-morph="Gr,NP,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="πιστὸς" \*\w est|x-occurrence="1" x-occurrences="1" \w* \w digne|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w* \w confiance|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G10140" x-lemma="βούλομαι" x-morph="Gr,V,IPM1,,S," x-occurrence="1" x-occurrences="1" x-content="βούλομαί" \*\w je|x-occurrence="1" x-occurrences="1" \w* \w veux|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2A,S," x-occurrence="1" x-occurrences="1" x-content="σε" \*\w tu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12260" x-lemma="διαβεβαιόομαι" x-morph="Gr,V,NPM,,,,," x-occurrence="1" x-occurrences="1" x-content="διαβεβαιοῦσθαι" \*\w insistes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G40120" x-lemma="περί" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="περὶ" \*\w sur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37780" x-lemma="οὗτος" x-morph="Gr,RD,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="τούτων" \*\w ces|x-occurrence="1" x-occurrences="1" \w* \w choses|x-occurrence="1" x-occurrences="2" \w*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,RD,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="οἱ" \*\w ceux|x-occurrence="1" x-occurrences="1" \w* \w qui|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41000" x-lemma="πιστεύω" x-morph="Gr,V,PEA,NMP," x-occurrence="1" x-occurrences="1" x-content="πεπιστευκότες" \*\w croient|x-occurrence="1" x-occurrences="1" \w* \w en|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G23160" x-lemma="θεός" x-morph="Gr,N,,,,,DMS," x-occurrence="1" x-occurrences="1" x-content="Θεῷ" \*\w Dieu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G42910" x-lemma="προΐστημι" x-morph="Gr,V,NPM,,,,," x-occurrence="1" x-occurrences="1" x-content="προΐστασθαι" \*\w s|x-occurrence="1" x-occurrences="1" \w*'\w appliquent|x-occurrence="1" x-occurrences="1" \w* \w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G54310" x-lemma="φροντίζω" x-morph="Gr,V,SPA3,,P," x-occurrence="1" x-occurrences="1" x-content="φροντίζωσιν" \*\w pratiquer|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25700" x-lemma="καλός" x-morph="Gr,AA,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="καλῶν" \*\w les|x-occurrence="1" x-occurrences="2" \w* \w bonnes|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="ἔργων" \*\w œuvres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G37780" x-lemma="οὗτος" x-morph="Gr,RD,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="ταῦτά" \*\w Ces|x-occurrence="1" x-occurrences="1" \w* \w choses|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐστιν" \*\w sont|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25700" x-lemma="καλός" x-morph="Gr,NP,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="καλὰ" \*\w bonnes|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="2" x-occurrences="2" x-content="καὶ" \*\w et|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G56240" x-lemma="ὠφέλιμος" x-morph="Gr,NP,,,,NNP," x-occurrence="1" x-occurrences="1" x-content="ὠφέλιμα" \*\w utiles|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="τοῖς" \*\w pour|x-occurrence="1" x-occurrences="1" \w* \w tous|x-occurrence="1" x-occurrences="1" \w* \w les|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G04440" x-lemma="ἄνθρωπος" x-morph="Gr,N,,,,,DMP," x-occurrence="1" x-occurrences="1" x-content="ἀνθρώποις" \*\w hommes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 9 +\zaln-s |x-strong="G11610" x-lemma="δέ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="δὲ" \*\w Mais|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G40260" x-lemma="περιΐστημι" x-morph="Gr,V,MPM2,,S," x-occurrence="1" x-occurrences="1" x-content="περιΐστασο" \*\w évite|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22140" x-lemma="ζήτησις" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ζητήσεις" \*\w les|x-occurrence="1" x-occurrences="4" \w* \w débats|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G34740" x-lemma="μωρός" x-morph="Gr,AA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="μωρὰς" \*\w insensés|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G10760" x-lemma="γενεαλογία" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="γενεαλογίας" \*\w les|x-occurrence="2" x-occurrences="4" \w* \w généalogies|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G20540" x-lemma="ἔρις" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ἔρεις" \*\w les|x-occurrence="3" x-occurrences="4" \w* \w querelles|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="3" x-occurrences="4" x-content="καὶ" \*\w et|x-occurrence="3" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G31630" x-lemma="μάχη" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="μάχας" \*\w les|x-occurrence="4" x-occurrences="4" \w* \w conflits|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35440" x-lemma="νομικός" x-morph="Gr,AA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="νομικὰς" \*\w relatifs|x-occurrence="1" x-occurrences="1" \w* \w à|x-occurrence="1" x-occurrences="1" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w loi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ" \*\w car|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,IPA3,,P," x-occurrence="1" x-occurrences="1" x-content="εἰσὶν" \*\w ce|x-occurrence="1" x-occurrences="1" \w* \w sont|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G05120" x-lemma="ἀνωφελής" x-morph="Gr,NS,,,,NFP," x-occurrence="1" x-occurrences="1" x-content="ἀνωφελεῖς" \*\w des|x-occurrence="1" x-occurrences="1" \w* \w choses|x-occurrence="1" x-occurrences="1" \w* \w improductives|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="4" x-occurrences="4" x-content="καὶ" \*\w et|x-occurrence="4" x-occurrences="4" \w*\zaln-e\* \zaln-s |x-strong="G31520" x-lemma="μάταιος" x-morph="Gr,NS,,,,NFP," x-occurrence="1" x-occurrences="1" x-content="μάταιοι" \*\w sans|x-occurrence="1" x-occurrences="1" \w* \w valeur|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 10 +\zaln-s |x-strong="G38680" x-lemma="παραιτέομαι" x-morph="Gr,V,MPM2,,S," x-occurrence="1" x-occurrences="1" x-content="παραιτοῦ" \*\w Éloigne|x-occurrence="1" x-occurrences="1" \w*-\w toi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G04440" x-lemma="ἄνθρωπος" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="ἄνθρωπον" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w toute|x-occurrence="1" x-occurrences="1" \w* \w personne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \w factieuse|x-occurrence="1" x-occurrences="1" \w*, \zaln-s |x-strong="G33260" x-lemma="μετά" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="μετὰ" \*\w après|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15200" x-lemma="εἷς" x-morph="Gr,EN,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="μίαν" \*\w un|x-occurrence="1" x-occurrences="2" \w* \w premier|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G12080" x-lemma="δεύτερος" x-morph="Gr,EO,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="δευτέραν" \*\w un|x-occurrence="2" x-occurrences="2" \w* \w second|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35590" x-lemma="νουθεσία" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="νουθεσίαν" \*\w avertissement|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, +\v 11 +\zaln-s |x-strong="G14920" x-lemma="εἴδω" x-morph="Gr,V,PEA,NMS," x-occurrence="1" x-occurrences="1" x-content="εἰδὼς" \*\w sachant|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G37540" x-lemma="ὅτι" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὅτι" \*\w qu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="ὁ" \*\zaln-s |x-strong="G51080" x-lemma="τοιοῦτος" x-morph="Gr,RD,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="τοιοῦτος" \*\w une|x-occurrence="1" x-occurrences="1" \w* \w telle|x-occurrence="1" x-occurrences="1" \w* \w personne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G16120" x-lemma="ἐκστρέφω" x-morph="Gr,V,IEP3,,S," x-occurrence="1" x-occurrences="1" x-content="ἐξέστραπται" \*\w s|x-occurrence="1" x-occurrences="1" \w*'\w est|x-occurrence="1" x-occurrences="2" \w* \w détournée|x-occurrence="1" x-occurrences="1" \w* \w du|x-occurrence="1" x-occurrences="1" \w* \w droit|x-occurrence="1" x-occurrences="1" \w* \w chemin|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G02640" x-lemma="ἁμαρτάνω" x-morph="Gr,V,IPA3,,S," x-occurrence="1" x-occurrences="1" x-content="ἁμαρτάνει" \*\w est|x-occurrence="2" x-occurrences="2" \w* \w en|x-occurrence="1" x-occurrences="1" \w* \w train|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="1" \w* \w pécher|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,PPA,NMS," x-occurrence="1" x-occurrences="1" x-content="ὢν" \*\zaln-s |x-strong="G08430" x-lemma="αὐτοκατάκριτος" x-morph="Gr,NP,,,,NMS," x-occurrence="1" x-occurrences="1" x-content="αὐτοκατάκριτος" \*\w et|x-occurrence="1" x-occurrences="1" \w* \w se|x-occurrence="1" x-occurrences="1" \w* \w condamne|x-occurrence="1" x-occurrences="1" \w* \w elle|x-occurrence="1" x-occurrences="1" \w*-\w même|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\*.\ts-s |\* +\p +\v 12 +\zaln-s |x-strong="G37520" x-lemma="ὅταν" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ὅταν" \*\w Quand|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39920" x-lemma="πέμπω" x-morph="Gr,V,SAA1,,S," x-occurrence="1" x-occurrences="1" x-content="πέμψω" \*\w je|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43140" x-lemma="πρός" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="πρὸς" \*\zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2A,S," x-occurrence="1" x-occurrences="1" x-content="σὲ" \*\w t|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\*'\zaln-s |x-strong="G39920" x-lemma="πέμπω" x-morph="Gr,V,SAA1,,S," x-occurrence="1" x-occurrences="1" x-content="πέμψω" \*\w enverrai|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G07340" x-lemma="Ἀρτεμᾶς" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="Ἀρτεμᾶν" \*\w Artémas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22280" x-lemma="ἤ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἢ" \*\w ou|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G51900" x-lemma="Τυχικός" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="Τυχικόν" \*\w Tychique|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G47040" x-lemma="σπουδάζω" x-morph="Gr,V,MAA2,,S," x-occurrence="1" x-occurrences="1" x-content="σπούδασον" \*\w hâte|x-occurrence="1" x-occurrences="1" \w*-\w toi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20640" x-lemma="ἔρχομαι" x-morph="Gr,V,NAA,,,,," x-occurrence="1" x-occurrences="1" x-content="ἐλθεῖν" \*\w de|x-occurrence="1" x-occurrences="1" \w* \w venir|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1A,S," x-occurrence="1" x-occurrences="1" x-content="με" \*\w me|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G43140" x-lemma="πρός" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="πρός" \*\w rejoindre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15190" x-lemma="εἰς" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="εἰς" \*\w à|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35330" x-lemma="Νικόπολις" x-morph="Gr,N,,,,,AFS," x-occurrence="1" x-occurrences="1" x-content="Νικόπολιν" \*\w Nicopolis|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G10630" x-lemma="γάρ" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="γὰρ" \*\w parce|x-occurrence="1" x-occurrences="1" \w* \w que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G29190" x-lemma="κρίνω" x-morph="Gr,V,IEA1,,S," x-occurrence="1" x-occurrences="1" x-content="κέκρικα" \*\w j|x-occurrence="1" x-occurrences="1" \w*’\w ai|x-occurrence="1" x-occurrences="1" \w* \w résolu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39140" x-lemma="παραχειμάζω" x-morph="Gr,V,NAA,,,,," x-occurrence="1" x-occurrences="1" x-content="παραχειμάσαι" \*\w d|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*’\zaln-s |x-strong="G15630" x-lemma="ἐκεῖ" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἐκεῖ" \*\w y|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39140" x-lemma="παραχειμάζω" x-morph="Gr,V,NAA,,,,," x-occurrence="1" x-occurrences="1" x-content="παραχειμάσαι" \*\w passer|x-occurrence="1" x-occurrences="1" \w* \w l|x-occurrence="1" x-occurrences="1" \w*’\w hiver|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. +\v 13 +\zaln-s |x-strong="G43110" x-lemma="προπέμπω" x-morph="Gr,V,MAA2,,S," x-occurrence="1" x-occurrences="1" x-content="πρόπεμψον" \*\w Aide|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G47090" x-lemma="σπουδαίως" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="σπουδαίως" \*\w diligemment|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22110" x-lemma="Ζηνᾶς" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="Ζηνᾶν" \*\w Zénas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="τὸν" \*\w l|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*'\zaln-s |x-strong="G35440" x-lemma="νομικός" x-morph="Gr,AR,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="νομικὸν" \*\w expert|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="1" x-occurrences="2" \w* \w la|x-occurrence="1" x-occurrences="1" \w* \w loi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,CC,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w et|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G06250" x-lemma="Ἀπολλῶς" x-morph="Gr,N,,,,,AMS," x-occurrence="1" x-occurrences="1" x-content="Ἀπολλῶν" \*\w Apollos|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G43110" x-lemma="προπέμπω" x-morph="Gr,V,MAA2,,S," x-occurrence="1" x-occurrences="1" x-content="πρόπεμψον" \*\w pour|x-occurrence="1" x-occurrences="1" \w* \w leur|x-occurrence="1" x-occurrences="1" \w* \w voyage|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w qu|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*’\zaln-s |x-strong="G08460" x-lemma="αὐτός" x-morph="Gr,RP,,,3DMP," x-occurrence="1" x-occurrences="1" x-content="αὐτοῖς" \*\w ils|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,NNS," x-occurrence="1" x-occurrences="1" x-content="μηδὲν" \*\w ne|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G30070" x-lemma="λείπω" x-morph="Gr,V,SPA3,,S," x-occurrence="1" x-occurrences="1" x-content="λείπῃ" \*\w manquent|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33670" x-lemma="μηδείς" x-morph="Gr,RI,,,,NNS," x-occurrence="1" x-occurrences="1" x-content="μηδὲν" \*\w de|x-occurrence="2" x-occurrences="2" \w* \w rien|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \ts-s |\* +\v 14 +\zaln-s |x-strong="G25320" x-lemma="καί" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="καὶ" \*\w De|x-occurrence="1" x-occurrences="1" \w* \w même|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="οἱ" \*\w les|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G22510" x-lemma="ἡμέτερος" x-morph="Gr,RP,,,1NMP," x-occurrence="1" x-occurrences="1" x-content="ἡμέτεροι" \*\w nôtres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G31290" x-lemma="μανθάνω" x-morph="Gr,V,MPA3,,P," x-occurrence="1" x-occurrences="1" x-content="μανθανέτωσαν" \*\w doivent|x-occurrence="1" x-occurrences="1" \w* \w apprendre|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G42910" x-lemma="προΐστημι" x-morph="Gr,V,NPM,,,,," x-occurrence="1" x-occurrences="1" x-content="προΐστασθαι" \*\w à|x-occurrence="1" x-occurrences="1" \w* \w pratiquer|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="ἔργων" \*\w de|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G25700" x-lemma="καλός" x-morph="Gr,AA,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="καλῶν" \*\w bonnes|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G20410" x-lemma="ἔργον" x-morph="Gr,N,,,,,GNP," x-occurrence="1" x-occurrences="1" x-content="ἔργων" \*\w œuvres|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G15190" x-lemma="εἰς" x-morph="Gr,P,,,,,A,,," x-occurrence="1" x-occurrences="1" x-content="εἰς" \*\w faisant|x-occurrence="1" x-occurrences="1" \w* \w attention|x-occurrence="1" x-occurrences="1" \w* \w aux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="τὰς" \*\zaln-s |x-strong="G55320" x-lemma="χρεία" x-morph="Gr,N,,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="χρείας" \*\w besoins|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*\zaln-e\* \zaln-s |x-strong="G03160" x-lemma="ἀναγκαῖος" x-morph="Gr,AA,,,,AFP," x-occurrence="1" x-occurrences="1" x-content="ἀναγκαίας" \*\w pressants|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*, \zaln-s |x-strong="G24430" x-lemma="ἵνα" x-morph="Gr,CS,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="ἵνα" \*\w afin|x-occurrence="1" x-occurrences="1" \w* \w de|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G33610" x-lemma="μή" x-morph="Gr,D,,,,,,,,," x-occurrence="1" x-occurrences="1" x-content="μὴ" \*\w ne|x-occurrence="1" x-occurrences="1" \w* \w pas|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G15100" x-lemma="εἰμί" x-morph="Gr,V,SPA3,,P," x-occurrence="1" x-occurrences="1" x-content="ὦσιν" \*\w être|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G01750" x-lemma="ἄκαρπος" x-morph="Gr,NP,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="ἄκαρποι" \*\w infructueux|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*.\ts-s |\* +\p +\v 15 +\zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="πάντες" \*\w Tous|x-occurrence="1" x-occurrences="1" \w* \w ceux|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,RD,,,,NMP," x-occurrence="1" x-occurrences="1" x-content="οἱ" \*\w qui|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G33260" x-lemma="μετά" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="μετ’" \*\w sont|x-occurrence="1" x-occurrences="1" \w* \w avec|x-occurrence="1" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1G,S," x-occurrence="1" x-occurrences="1" x-content="ἐμοῦ" \*\w moi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2A,S," x-occurrence="1" x-occurrences="1" x-content="σε" \*\w te|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G07820" x-lemma="ἀσπάζομαι" x-morph="Gr,V,IPM3,,P," x-occurrence="1" x-occurrences="1" x-content="ἀσπάζονταί" \*\w saluent|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G07820" x-lemma="ἀσπάζομαι" x-morph="Gr,V,MAM2,,S," x-occurrence="1" x-occurrences="1" x-content="ἄσπασαι" \*\w Salue|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,RD,,,,AMP," x-occurrence="1" x-occurrences="1" x-content="τοὺς" \*\w ceux|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G53680" x-lemma="φιλέω" x-morph="Gr,V,PPA,AMP," x-occurrence="1" x-occurrences="1" x-content="φιλοῦντας" \*\w qui|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G14730" x-lemma="ἐγώ" x-morph="Gr,RP,,,1A,P," x-occurrence="1" x-occurrences="1" x-content="ἡμᾶς" \*\w nous|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G53680" x-lemma="φιλέω" x-morph="Gr,V,PPA,AMP," x-occurrence="1" x-occurrences="1" x-content="φιλοῦντας" \*\w aiment|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G17220" x-lemma="ἐν" x-morph="Gr,P,,,,,D,,," x-occurrence="1" x-occurrences="1" x-content="ἐν" \*\w dans|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G41020" x-lemma="πίστις" x-morph="Gr,N,,,,,DFS," x-occurrence="1" x-occurrences="1" x-content="πίστει" \*\w la|x-occurrence="1" x-occurrences="2" \w* \w foi|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. \zaln-s |x-strong="G33260" x-lemma="μετά" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="μετὰ" \*\w Que|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G35880" x-lemma="ὁ" x-morph="Gr,EA,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="ἡ" \*\w la|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G54850" x-lemma="χάρις" x-morph="Gr,N,,,,,NFS," x-occurrence="1" x-occurrences="1" x-content="χάρις" \*\w grâce|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G33260" x-lemma="μετά" x-morph="Gr,P,,,,,G,,," x-occurrence="1" x-occurrences="1" x-content="μετὰ" \*\w soit|x-occurrence="1" x-occurrences="1" \w* \w avec|x-occurrence="2" x-occurrences="2" \w*\zaln-e\* \zaln-s |x-strong="G47710" x-lemma="σύ" x-morph="Gr,RP,,,2G,P," x-occurrence="1" x-occurrences="1" x-content="ὑμῶν" \*\w vous|x-occurrence="1" x-occurrences="1" \w*\zaln-e\* \zaln-s |x-strong="G39560" x-lemma="πᾶς" x-morph="Gr,RI,,,,GMP," x-occurrence="1" x-occurrences="1" x-content="πάντων" \*\w tous|x-occurrence="1" x-occurrences="1" \w*\zaln-e\*. diff --git a/tests/autofix/no_space_before_chapternumber.usfm b/tests/autofix/no_space_before_chapternumber.usfm new file mode 100644 index 00000000..a0daa99f --- /dev/null +++ b/tests/autofix/no_space_before_chapternumber.usfm @@ -0,0 +1,10 @@ +\id GEN genesis Some desc +\c 1 +\p +\v1 test verse +\s3 test +\v 2 more verse +\c2 +\p +\v 1 next chapter +\v2 error text \ No newline at end of file diff --git a/tests/autofix/no_space_before_versenumber.usfm b/tests/autofix/no_space_before_versenumber.usfm new file mode 100644 index 00000000..d1b74736 --- /dev/null +++ b/tests/autofix/no_space_before_versenumber.usfm @@ -0,0 +1,10 @@ +\id GEN genesis Some desc +\c 1 +\p +\v1 test verse +\s3 test +\v 2 more verse +\c 2 +\p +\v 1 next chapter +\v2 error text \ No newline at end of file diff --git a/tests/autofix/s3_without_p.usfm b/tests/autofix/s3_without_p.usfm new file mode 100644 index 00000000..140b1129 --- /dev/null +++ b/tests/autofix/s3_without_p.usfm @@ -0,0 +1,9 @@ +\id GEN genesis Some desc +\c 1 +\p +\v 1 test verse +\s3 test +\v 2 more verse +\c 2 +\p +\v 1 next chapter diff --git a/tests/autofix/s5_1.usfm b/tests/autofix/s5_1.usfm new file mode 100644 index 00000000..e44cea21 --- /dev/null +++ b/tests/autofix/s5_1.usfm @@ -0,0 +1,7 @@ +\id GEN genesis Some desc +\c 1 +\p +\v 1 test verse +\s5 +\p +some more text \ No newline at end of file diff --git a/tests/autofix/s5_without_p.usfm b/tests/autofix/s5_without_p.usfm new file mode 100644 index 00000000..b8733fb3 --- /dev/null +++ b/tests/autofix/s5_without_p.usfm @@ -0,0 +1,10 @@ +\id GEN genesis Some desc +\c 1 +\p +\v 1 test verse +\s5 +some more text +\v 2 more verse +\c 2 +\p +\v 1 next chapter diff --git a/tests/autofix/slash_in_text.usfm b/tests/autofix/slash_in_text.usfm new file mode 100644 index 00000000..c21f4d10 --- /dev/null +++ b/tests/autofix/slash_in_text.usfm @@ -0,0 +1,11 @@ +\id GEN genesis Some desc +\c 1 +\p +\v 1 test verse +\s3 test +\p +\v 2 more verse and \ a slash +\c 2 +\p +\v 1 text and \slash without space +\v 2 more text \ No newline at end of file diff --git a/tests/autofix/space_in_chapter_number.usfm b/tests/autofix/space_in_chapter_number.usfm new file mode 100644 index 00000000..5685e6fc --- /dev/null +++ b/tests/autofix/space_in_chapter_number.usfm @@ -0,0 +1,14 @@ +\id GEN genesis Some desc +\c 1 +\p +\v 1 test verse +\s3 test +\p +\v 2 more verse +\c 2 3 +\p +\v 1 text +\v 2 more text +\v 3 4 text of 34 +\p +\v 35 rest \ No newline at end of file diff --git a/tests/autofix/wrong_book_code.usfm b/tests/autofix/wrong_book_code.usfm new file mode 100644 index 00000000..872b8338 --- /dev/null +++ b/tests/autofix/wrong_book_code.usfm @@ -0,0 +1,4 @@ +\id +\c 1 +\p +\v 1 test verse \ No newline at end of file diff --git a/tests/autofix/wrong_book_code2.usfm b/tests/autofix/wrong_book_code2.usfm new file mode 100644 index 00000000..e363b574 --- /dev/null +++ b/tests/autofix/wrong_book_code2.usfm @@ -0,0 +1,4 @@ +\id genesis Some desc +\c 1 +\p +\v 1 test verse \ No newline at end of file diff --git a/web-usfm-parser/package.json b/web-usfm-parser/package.json index 19e81860..b1595341 100644 --- a/web-usfm-parser/package.json +++ b/web-usfm-parser/package.json @@ -38,7 +38,6 @@ "license": "MIT", "devDependencies": { "@babel/core": "^7.25.2", - "ajv": "^8.17.1", "glob": "^11.0.0", "mocha": "^10.7.3", "parcel": "latest", @@ -48,6 +47,7 @@ "xml2js": "^0.6.2" }, "dependencies": { + "ajv": "^8.17.1", "xmldom": "^0.6.0", "xpath": "^0.0.34" } diff --git a/web-usfm-parser/src/index.js b/web-usfm-parser/src/index.js index e7ea0450..fcc5490e 100644 --- a/web-usfm-parser/src/index.js +++ b/web-usfm-parser/src/index.js @@ -1,3 +1,4 @@ import {USFMParser, Filter} from "./usfmParser.js"; +import {Validator} from "./validator.js"; -export { USFMParser, Filter }; \ No newline at end of file +export { USFMParser, Filter, Validator }; \ No newline at end of file diff --git a/web-usfm-parser/src/utils/usjSchema.js b/web-usfm-parser/src/utils/usjSchema.js new file mode 100644 index 00000000..f30fc449 --- /dev/null +++ b/web-usfm-parser/src/utils/usjSchema.js @@ -0,0 +1,89 @@ +const USJ_SCHEMA = { + "$schema": "http://json-schema.org/draft-07/schema", + "$id": "https://github.com/usfm-bible/tcdocs/blob/main/grammar/usj.js", + "title": "Unified Scripture JSON", + "description": "The JSON varient of USFM and USX data models", + "type": "object", + "$defs": { + "markerObject": { + "type": "object", + "properties": { + "type": { + "description": "The kind/category of node or element this is, corresponding the USFM marker and USX node", + "type": "string" + }, + "marker": { + "description": "The corresponding marker in USFM or style in USX", + "type": "string" + }, + "content": { + "type": "array", + "items": { + "anyOf":[ + {"type": "string"}, + {"$ref": "#/$defs/markerObject"} + ] + } + }, + "sid": { + "description": "Indicates the Book-chapter-verse value in the paragraph based structure", + "type": "string" + }, + "number": { + "description": "Chapter number or verse number", + "type": "string" + }, + "code": { + "description": "The 3-letter book code in id element", + "pattern": "^[0-9A-Z]{3}$", + "type": "string" + }, + "altnumber": { + "description": "Alternate chapter number or verse number", + "type": "string" + }, + "pubnumber": { + "description": "Published character of chapter or verse", + "type": "string" + }, + "caller": { + "description": "Caller character for footnotes and cross-refs", + "type": "string" + }, + "align": { + "description": "Alignment of table cells", + "type": "string" + }, + "category": { + "description": "Category of extended study bible sections", + "type": "string" + } + }, + "required": ["type"] + } + }, + "properties": { + "type": { + "description": "The kind of node/element/marker this is", + "type": "string" + }, + "version": { + "description": "The USJ spec version", + "type": "string" + }, + "content": { + "description": "The JSON representation of scripture contents from USFM/USX", + "type": "array", + "items":{ + "anyOf":[ + {"type": "string"}, + {"$ref": "#/$defs/markerObject"} + ] + } + } + }, + "required": ["type", "version", "content"] +} + + +export {USJ_SCHEMA}; \ No newline at end of file diff --git a/web-usfm-parser/src/validator.js b/web-usfm-parser/src/validator.js new file mode 100644 index 00000000..c77b94f7 --- /dev/null +++ b/web-usfm-parser/src/validator.js @@ -0,0 +1,231 @@ +import Parser from './web-tree-sitter/tree-sitter.js'; +import {USJ_SCHEMA} from "./utils/usjSchema.js"; +import Ajv from "ajv"; + +class Validator { + static language = null; + static async init(grammarPath="node_modules/usfm-grammar/tree-sitter-usfm.wasm", + + parserPath="node_modules/usfm-grammar/tree-sitter.wasm") { + await Parser.init( { + locateFile() { + return parserPath; + }, + } ); + Validator.language = await Parser.Language.load(grammarPath); + } + + + constructor() { + this.USFMParser=null; + this.initializeParser(); + + this.USFMErrors = []; + + // Load the schema for validation + this.USJValidator = null; + try { + const ajv = new Ajv(); + this.USJValidator = ajv.compile(USJ_SCHEMA); + } catch (error) { + console.error("Error loading schema:", error); + } + + this.message = ""; + this.modifiedUSFM = ""; + this.usfm = "" + } + + initializeParser() { + if (!Validator.language) { + throw new Error( + "Validator not initialized. Call Validator.init() before creating instances.", + ); + } + this.USFMParser = new Parser(); + this.USFMParser.setLanguage(Validator.language); + this.parserOptions = Parser.Options = { + bufferSize: 1024 * 1024, + }; + } + + isValidUSJ(usj) { + this.message = ""; + + if (this.USJValidator(usj) === true) { + return true; + } else { + for (let err of this.USJValidator.errors) { + this.message += `Error at ${err.instancePath}: ${err.message}\n`; + } + return false; + } + } + + isValidUSFM(usfm) { + this.usfm = usfm; + this.USFMErrors = []; + let tree = null; + if (usfm.length > 25000) { + tree = this.USFMParser.parse(usfm, null, this.parserOptions); + } + else { + tree = this.USFMParser.parse(usfm); + } + const errorQuery = this.USFMParser.getLanguage().query("(ERROR) @errors"); + const errors = errorQuery.captures(tree.rootNode); + + for (let error of errors) { + // console.log(getAllProperties(error.node)); + this.USFMErrors.push(error.node); + } + + this.checkForMissing(tree.rootNode); + + if (this.USFMErrors.length > 0) { + this.message = this.formatErrors(); + return false; + } + return true; + } + + checkForMissing(node) { + for (let n of node.children) { + if (n.isMissing){ + this.USFMErrors.push(n); + } else { + this.checkForMissing(n); + } + + } + } + + formatErrors() { + const errLines = this.USFMErrors.map(err => { + if (err.isMissing) { + const start = Math.max(0, err.startIndex - 3); + const end = Math.min(this.usfm.length, err.startIndex + 10); + return `At ${err.startIndex}:Missing something here:${this.usfm.slice(start, end)}`; + } else { + return `At ${err.startPosition.row}:${err.startPosition.column}, Error: ${this.usfm.substring(err.startIndex, err.endIndex)}`; + } + }); + return `Errors present:\n\t${errLines.join('\n\t')}`; + } + + autoFixUSFM(usfm, fixed=false) { + if (this.isValidUSFM(usfm)) { + if (fixed) { + this.message = "Fixed Errors in USFM" + } else { + this.message = "No Errors in USFM"; + } + return usfm; + } + let modifiedUSFM = usfm; + let changed = false; + + for (let error of this.USFMErrors) { + const errorText = usfm.substring(error.startIndex, error.endIndex); + // No \P after \s5 + if (error.isError && errorText.startsWith("\\s5") && + !error.children.some(ch => ch.type === "paragraph")) { + // console.log("Match 1"); + modifiedUSFM = modifiedUSFM.replace(/\\s5[\s\n\r]*/g, '\\s5 \n\\p\n'); + changed = true; + } + // Missing space after \s5 + else if (error.isMissing && error.parent.type === "sTag" && error.toString() === '(MISSING " ")') { + // console.log("Match 2"); + modifiedUSFM = modifiedUSFM.replace(/\\s5\n/g, '\\s5 \n'); + changed = true; + } + // Book code is missing (empty id marker) + else if (bookCodeMissingPattern.test(modifiedUSFM)) { + // console.log("Match 3"); + modifiedUSFM = modifiedUSFM.replace(/\\id[\s\n\r]*\\/g, '\\id XXX xxx\n\\'); + changed = true; + } + // \p not given after section heading + else if (error.isError && errorText.startsWith("\\v") && error.parent.type === "s" && + !error.children.some(ch => ch.type === "paragraph")) { + // console.log("Match 4"); + const start = error.parent.startIndex; + const end = error.startIndex; + const toReplace = modifiedUSFM.slice(start, end); + modifiedUSFM = modifiedUSFM.replace(toReplace, `${toReplace}\\p\n`); + changed = true; + } + // Space missing between \v and number + else if (vWithoutSpacePattern.test(errorText)) { + // console.log("Match 5"); + modifiedUSFM = modifiedUSFM.replace(vWithoutSpacePattern, "$1 $2"); + changed = true; + } + // Space missing between \c and number + else if (cWithoutSpacePattern.test(errorText)) { + // console.log("Match 6"); + modifiedUSFM = modifiedUSFM.replace(cWithoutSpacePattern, "$1 $2"); + changed = true; + } + // \p not given at chapter start + else if (error.isError && errorText.startsWith("\\v") && error.previousSibling.type === "chapter" && + !error.children.some(ch => ch.type === "paragraph")) { + // console.log("Match 7"); + const start = error.previousSibling.startIndex; + const end = error.startIndex; + const toReplace = modifiedUSFM.slice(start, end); + modifiedUSFM = modifiedUSFM.replace(toReplace, `${toReplace}\\p\n`); + changed = true; + } + // Stray slash not with a valid marker + else if (errorText.startsWith("\\") && !validMarkersPattern.test(errorText)) { + // console.log("Match 8"); + modifiedUSFM = modifiedUSFM.replace(errorText, errorText.slice(1)); + changed = true; + } + // Just a single problematic marker (could be w/o text) + else if (errorText.startsWith("\\") && validMarkersPattern.test(errorText)) { + // console.log("Match 9"); + const start = Math.max(0, error.startIndex - 5); + const end = Math.min(modifiedUSFM.length, error.endIndex + 5); + const toReplace = modifiedUSFM.slice(start, end); + const replacement = toReplace.replace(errorText, ""); + modifiedUSFM = modifiedUSFM.replace(toReplace, replacement); + changed = true; + } + // Empty attribute + else if (errorText.trim() === "|") { + // console.log("Match 10"); + const start = Math.max(0, error.startIndex - 5); + const end = Math.min(modifiedUSFM.length, error.endIndex + 5); + const toReplace = modifiedUSFM.slice(start, end); + const replacement = toReplace.replace(errorText, ""); + modifiedUSFM = modifiedUSFM.replace(toReplace, replacement); + changed = true; + } + // Stray content in the chapter line + else if (error.parent.type === "chapter" && error.previousSibling.type === "c" && !errorText.includes("\\")) { + // console.log("Match 11"); + modifiedUSFM = modifiedUSFM.replace(errorText, ""); + changed = true; + } + } + + if (!changed || modifiedUSFM===usfm) { + const errStr = this.formatErrors(); + this.message = `Cannot fix these errors:\n\t${errStr}`; + return modifiedUSFM; + } + // return modifiedUSFM + + return this.autoFixUSFM(modifiedUSFM, true); + } +} + +const bookCodeMissingPattern = /\\id[\s\n\r]*\\/; +const vWithoutSpacePattern = /(\\v)(\d+)/; +const cWithoutSpacePattern = /(\\c)(\d+)/; +const validMarkersPattern = /(\\id|\\usfm|\\ide|\\ref|\\h|\\toc|\\toca|\\sts|\\rem|\\restore|\\lit|\\iqt|\\imt|\\imte|\\is|\\io|\\ior|\\iot|\\ip|\\im|\\ipi|\\imi|\\ili|\\ipq|\\imq|\\ipr|\\ib|\\iq|\\ie|\\iex|\\v|\\va|\\vp|\\c|\\cl|\\ca|\\cp|\\cd|\\mt|\\mte|\\ms|\\mr|\\s|\\sr|\\r|\\sp|\\d|\\sd|\\p|\\m|\\po|\\pr|\\cls|\\pmo|\\pm|\\pmc|\\pmr|\\pi|\\mi|\\nb|\\pc|\\ph|\\phi|\\b|\\q|\\qr|\\qc|\\qs|\\qa|\\qac|\\qm|\\qd|\\lh|\\lf|\\li|\\lim|\\liv|\\lik|\\litl|\\tr|\\th|\\thr|\\tc|\\tcr|\\f|\\fe|\\ef|\\fr|\\fq|\\fqa|\\fk|\\fl|\\fw|\\fp|\\ft|\\fdc|\\fv|\\fm|\\x|\\xo|\\xk|\\xq|\\xt|\\xta|\\xop|\\xot|\\xnt|\\xdc|\\rq|\\add|\\bk|\\dc|\\k|\\nd|\\ord|\\pn|\\png|\\addpn|\\qt|\\sig|\\sls|\\tl|\\wj|\\em|\\bd|\\it|\\bdit|\\no|\\sc|\\sup|\\ndx|\\pro|\\rb|\\w|\\wg|\\wh|\\wa|\\fig|\\jmp|\\pb|\\z|\\esb|\\esbe|\\cat)(\d|\s|\n|\r|$)/; + +export {Validator}; diff --git a/web-usfm-parser/test/test_autofix.js b/web-usfm-parser/test/test_autofix.js new file mode 100644 index 00000000..5df65b22 --- /dev/null +++ b/web-usfm-parser/test/test_autofix.js @@ -0,0 +1,58 @@ +import assert from 'assert'; +import fs from "node:fs"; +import {glob} from "glob"; + +import {Validator} from '../src/index.js'; + + +const TEST_DIR = "../tests"; +const allUSFMFiles = glob.sync(TEST_DIR+'/autofix/*'); +const sampleUSJs = glob.sync(TEST_DIR+'/specExamples/*/origin.json') + +await Validator.init("./tree-sitter-usfm.wasm", "./tree-sitter.wasm"); + +describe("Try autofixing errors in USFM", () => { + allUSFMFiles.forEach(function(value) { + it(`Fix ${value}`, (inputUsfmPath=value) => { + //Tests if input parses without errors + const testVaidator = new Validator() + assert(testVaidator instanceof Validator) + const inputUsfm = fs.readFileSync(inputUsfmPath, 'utf8') + const firstTest = testVaidator.isValidUSFM(inputUsfm); + const fixedUsfm = testVaidator.autoFixUSFM(inputUsfm); + const secondTest = testVaidator.isValidUSFM(fixedUsfm); + // assert.ok(!firstTest); + assert.ok(secondTest); + }); + }); +}); + + +describe("Validate USJ", () => { + sampleUSJs.forEach(function(value) { + it(`Validate ${value}`, (inputUsjPath=value) => { + //Tests if input parses without errors + const testVaidator = new Validator() + assert(testVaidator instanceof Validator) + const inputUsj = fs.readFileSync(inputUsjPath, 'utf8') + const usj = JSON.parse(inputUsj); + // assert.ok(!firstTest); + assert.ok(testVaidator.isValidUSJ(usj)); + }); + }); + + + sampleUSJs.forEach(function(value) { + it(`Validate ${value} and report error`, (inputUsjPath=value) => { + //Tests if input parses without errors + const testVaidator = new Validator() + assert(testVaidator instanceof Validator) + let inputUsj = fs.readFileSync(inputUsjPath, 'utf8') + inputUsj = inputUsj.replace("code", "cooode"); + inputUsj = inputUsj.replace("content", "contents"); + const usj = JSON.parse(inputUsj); + // assert.ok(!firstTest); + assert.ok(!testVaidator.isValidUSJ(usj)); + }); + }); +});