medieval_latina 3.0.0 → 3.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/tests.yml +25 -7
- data/.gitignore +1 -0
- data/.standard.yml +1 -1
- data/.tool-versions +2 -1
- data/CLAUDE.md +60 -0
- data/Gemfile.lock +55 -22
- data/README.md +1 -1
- data/bin/lint +9 -1
- data/data/dictionary.json +85 -85
- data/lib/medieval_latina/version.rb +1 -1
- data/lib/medieval_latina.rb +0 -1
- data/medieval_latina.gemspec +3 -2
- metadata +20 -9
- data/.DS_Store +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f38ebdf6480281f444c3142a6c0dd8ef3b805c34ab45710dd6af46b904f5bbc5
|
4
|
+
data.tar.gz: ec33854ab71c933af1da4fe44055ac94d0cf517894a60ebd9addbf42058ee7d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 951bb7a9259f812296866752be7ff0b1a4526bf0a7521b72c6465de4e2a922887922f443070b8b990e4a57a8a48ee8e76a0c67b78720598890ab71173379e924
|
7
|
+
data.tar.gz: 363b7fe7a6331397c0e11ade30f4c4ef6db456d3aac200919e308b318f08941df25c552fa095f4be6b3937c19a9ffd48e53fe1b172b83999a4b4e224506a837f
|
data/.github/workflows/tests.yml
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
name: Tests
|
1
|
+
name: Tests and Linting
|
2
2
|
|
3
3
|
on:
|
4
4
|
pull_request:
|
@@ -11,7 +11,7 @@ on:
|
|
11
11
|
jobs:
|
12
12
|
unit_tests:
|
13
13
|
name: Unit Tests
|
14
|
-
if:
|
14
|
+
if: ${{ ! contains(github.event.head_commit.message, '[ci skip]') }}
|
15
15
|
strategy:
|
16
16
|
fail-fast: false
|
17
17
|
matrix:
|
@@ -19,10 +19,9 @@ jobs:
|
|
19
19
|
- macos
|
20
20
|
- ubuntu
|
21
21
|
ruby:
|
22
|
-
- 3.
|
23
|
-
- 3.
|
24
|
-
- 3.
|
25
|
-
- 3.3
|
22
|
+
- '3.2'
|
23
|
+
- '3.3'
|
24
|
+
- '3.4'
|
26
25
|
allow_failures:
|
27
26
|
- false
|
28
27
|
env:
|
@@ -32,7 +31,7 @@ jobs:
|
|
32
31
|
continue-on-error: ${{ endsWith(matrix.ruby, 'head') || matrix.ruby == 'debug' }}
|
33
32
|
steps:
|
34
33
|
- name: Checkout
|
35
|
-
uses: actions/checkout@
|
34
|
+
uses: actions/checkout@v3
|
36
35
|
- name: Setup Ruby
|
37
36
|
uses: ruby/setup-ruby@v1
|
38
37
|
with:
|
@@ -40,3 +39,22 @@ jobs:
|
|
40
39
|
bundler-cache: true
|
41
40
|
- name: Test
|
42
41
|
run: bundle exec rake spec || $ALLOW_FAILURES
|
42
|
+
|
43
|
+
|
44
|
+
lint:
|
45
|
+
name: Linting
|
46
|
+
runs-on: ubuntu-latest
|
47
|
+
steps:
|
48
|
+
- name: Checkout
|
49
|
+
uses: actions/checkout@v3
|
50
|
+
- name: Setup Ruby
|
51
|
+
uses: ruby/setup-ruby@v1
|
52
|
+
with:
|
53
|
+
ruby-version: '3.4'
|
54
|
+
bundler-cache: true
|
55
|
+
- name: Install dependencies
|
56
|
+
run: bundle install
|
57
|
+
- name: Lint Ruby
|
58
|
+
run: bundle exec standardrb
|
59
|
+
- name: Lint JSON
|
60
|
+
run: bundle exec jsonlint data/dictionary.json
|
data/.gitignore
CHANGED
data/.standard.yml
CHANGED
data/.tool-versions
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
|
1
|
+
nodejs 24.2.0
|
2
|
+
ruby 3.4.1
|
data/CLAUDE.md
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
# CLAUDE.md
|
2
|
+
|
3
|
+
This file provides guidance to Claude Code (claude.ai/code) when working with code in this repository.
|
4
|
+
|
5
|
+
## Development Commands
|
6
|
+
|
7
|
+
- **Setup**: `bin/setup` - Install dependencies with bundle install
|
8
|
+
- **Tests**: `rake spec` or `bundle exec rspec` - Run the full test suite
|
9
|
+
- **Linting**: `bin/lint` - Run StandardRB linter and jsonlint on dictionary.json
|
10
|
+
- **Build lexicons**: `bin/build` - Regenerate PLS lexicon files from dictionary.json
|
11
|
+
- **Console**: `bin/console` - Interactive prompt for experimentation
|
12
|
+
- **Install gem locally**: `bundle exec rake install`
|
13
|
+
- **Release**: `bundle exec rake release` (after updating version.rb)
|
14
|
+
|
15
|
+
## Architecture Overview
|
16
|
+
|
17
|
+
This is a Ruby gem that converts medieval Latin text to phonetic English for text-to-speech engines. The architecture consists of:
|
18
|
+
|
19
|
+
### Core Components
|
20
|
+
|
21
|
+
- **MedievalLatina class** (`lib/medieval_latina.rb`): Main interface with class methods for text conversion and linguistic analysis
|
22
|
+
- `MedievalLatina[text]` - Primary conversion method
|
23
|
+
- Part-of-speech helpers: `verb?`, `noun?`, `adjective?`, `adverb?`
|
24
|
+
- `pronunciations_for(words)` - Extract IPA pronunciations for lexicon building
|
25
|
+
|
26
|
+
- **Dictionary system** (`data/dictionary.json`): Large JSON file containing Latin words with metadata including:
|
27
|
+
- IPA pronunciations
|
28
|
+
- Part of speech classifications
|
29
|
+
- Custom pronunciation overrides
|
30
|
+
|
31
|
+
- **Lexicon generation** (`lib/medieval_latina/lexicon_builder.rb`, `lib/medieval_latina/lexicon.rb`): Creates PLS (Pronunciation Lexicon Specification) files for AWS Polly and other TTS engines
|
32
|
+
|
33
|
+
### Phonetic Conversion Logic
|
34
|
+
|
35
|
+
The main conversion algorithm handles:
|
36
|
+
- Vowel teams: ae→ay, oe→ay, au→ou
|
37
|
+
- Consonant transformations: c→ch/k (soft/hard), g→j/g, j→y, t→ts/t, x→ks
|
38
|
+
- Consonant teams: gn→n-y, qu→kw
|
39
|
+
- Text preprocessing with I18n transliteration
|
40
|
+
|
41
|
+
### Data Flow
|
42
|
+
|
43
|
+
1. Text input → word tokenization → dictionary lookup
|
44
|
+
2. If word has custom pronunciation → use it
|
45
|
+
3. Otherwise → apply phonetic transformation rules
|
46
|
+
4. Rejoin with proper punctuation spacing
|
47
|
+
|
48
|
+
## Key Files
|
49
|
+
|
50
|
+
- `lib/medieval_latina.rb` - Main conversion logic and API
|
51
|
+
- `data/dictionary.json` - Latin word database (400KB+)
|
52
|
+
- `bin/build` - Splits dictionary into multiple PLS files in lexicons/ directory
|
53
|
+
- `.standard.yml` - StandardRB configuration (Ruby 3.2, parallel linting)
|
54
|
+
- `medieval_latina.gemspec` - Gem specification (requires Ruby >= 3.2.0)
|
55
|
+
|
56
|
+
## Testing
|
57
|
+
|
58
|
+
- RSpec test suite in `spec/`
|
59
|
+
- Configuration in `.rspec` with documentation format
|
60
|
+
- Run specific tests: `bundle exec rspec spec/specific_spec.rb`
|
data/Gemfile.lock
CHANGED
@@ -1,28 +1,42 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
medieval_latina (3.
|
4
|
+
medieval_latina (3.1.1)
|
5
5
|
i18n
|
6
6
|
|
7
7
|
GEM
|
8
8
|
remote: https://rubygems.org/
|
9
9
|
specs:
|
10
|
-
ast (2.4.
|
10
|
+
ast (2.4.2)
|
11
|
+
bigdecimal (3.1.8)
|
11
12
|
concurrent-ruby (1.2.2)
|
12
13
|
diff-lcs (1.3)
|
13
14
|
i18n (1.13.0)
|
14
15
|
concurrent-ruby (~> 1.0)
|
15
|
-
|
16
|
-
|
16
|
+
json (2.7.2)
|
17
|
+
jsonlint (0.4.0)
|
18
|
+
oj (~> 3)
|
19
|
+
optimist (~> 3)
|
20
|
+
language_server-protocol (3.17.0.3)
|
21
|
+
lint_roller (1.1.0)
|
22
|
+
mini_portile2 (2.8.9)
|
23
|
+
nokogiri (1.18.9)
|
17
24
|
mini_portile2 (~> 2.8.2)
|
18
25
|
racc (~> 1.4)
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
26
|
+
oj (3.16.5)
|
27
|
+
bigdecimal (>= 3.0)
|
28
|
+
ostruct (>= 0.2)
|
29
|
+
optimist (3.1.0)
|
30
|
+
ostruct (0.6.0)
|
31
|
+
parallel (1.26.1)
|
32
|
+
parser (3.3.4.2)
|
33
|
+
ast (~> 2.4.1)
|
34
|
+
racc
|
35
|
+
racc (1.8.1)
|
36
|
+
rainbow (3.1.1)
|
24
37
|
rake (12.3.3)
|
25
|
-
|
38
|
+
regexp_parser (2.9.2)
|
39
|
+
rexml (3.4.2)
|
26
40
|
rspec (3.9.0)
|
27
41
|
rspec-core (~> 3.9.0)
|
28
42
|
rspec-expectations (~> 3.9.0)
|
@@ -36,30 +50,49 @@ GEM
|
|
36
50
|
diff-lcs (>= 1.2.0, < 2.0)
|
37
51
|
rspec-support (~> 3.9.0)
|
38
52
|
rspec-support (3.9.3)
|
39
|
-
rubocop (
|
53
|
+
rubocop (1.64.1)
|
54
|
+
json (~> 2.3)
|
55
|
+
language_server-protocol (>= 3.17.0)
|
40
56
|
parallel (~> 1.10)
|
41
|
-
parser (>=
|
57
|
+
parser (>= 3.3.0.2)
|
42
58
|
rainbow (>= 2.2.2, < 4.0)
|
43
|
-
|
59
|
+
regexp_parser (>= 1.8, < 3.0)
|
60
|
+
rexml (>= 3.2.5, < 4.0)
|
61
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
44
62
|
ruby-progressbar (~> 1.7)
|
45
|
-
unicode-display_width (>=
|
46
|
-
rubocop-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
rubocop (
|
51
|
-
|
52
|
-
|
63
|
+
unicode-display_width (>= 2.4.0, < 3.0)
|
64
|
+
rubocop-ast (1.32.0)
|
65
|
+
parser (>= 3.3.1.0)
|
66
|
+
rubocop-performance (1.21.1)
|
67
|
+
rubocop (>= 1.48.1, < 2.0)
|
68
|
+
rubocop-ast (>= 1.31.1, < 2.0)
|
69
|
+
ruby-progressbar (1.13.0)
|
70
|
+
standard (1.39.2)
|
71
|
+
language_server-protocol (~> 3.17.0.2)
|
72
|
+
lint_roller (~> 1.0)
|
73
|
+
rubocop (~> 1.64.0)
|
74
|
+
standard-custom (~> 1.0.0)
|
75
|
+
standard-performance (~> 1.4)
|
76
|
+
standard-custom (1.0.2)
|
77
|
+
lint_roller (~> 1.0)
|
78
|
+
rubocop (~> 1.50)
|
79
|
+
standard-performance (1.4.0)
|
80
|
+
lint_roller (~> 1.1)
|
81
|
+
rubocop-performance (~> 1.21.0)
|
82
|
+
standardrb (1.0.1)
|
83
|
+
standard
|
84
|
+
unicode-display_width (2.5.0)
|
53
85
|
|
54
86
|
PLATFORMS
|
55
87
|
ruby
|
56
88
|
|
57
89
|
DEPENDENCIES
|
90
|
+
jsonlint
|
58
91
|
medieval_latina!
|
59
92
|
nokogiri
|
60
93
|
rake (~> 12.0)
|
61
94
|
rspec (~> 3.0)
|
62
|
-
|
95
|
+
standardrb
|
63
96
|
|
64
97
|
BUNDLED WITH
|
65
98
|
2.4.1
|
data/README.md
CHANGED
@@ -108,7 +108,7 @@ You do this by running: `bin/build`
|
|
108
108
|
## Contributing
|
109
109
|
|
110
110
|
Bug reports and pull requests are welcome on GitHub at https://github.com/jaysonvirissimo/medieval_latina.
|
111
|
-
Run `
|
111
|
+
Run `bin/lint` before submitting any changes, to help keep the code formatting uniform.
|
112
112
|
|
113
113
|
## License
|
114
114
|
|
data/bin/lint
CHANGED
@@ -3,4 +3,12 @@ set -euo pipefail
|
|
3
3
|
IFS=$'\n\t'
|
4
4
|
set -vx
|
5
5
|
|
6
|
-
|
6
|
+
# Run StandardRB to lint Ruby files
|
7
|
+
echo "Linting Ruby files with StandardRB..."
|
8
|
+
bundle exec standardrb
|
9
|
+
|
10
|
+
# Run jsonlint to check the dictionary.json file
|
11
|
+
echo "Linting dictionary.json with jsonlint..."
|
12
|
+
bundle exec jsonlint data/dictionary.json
|
13
|
+
|
14
|
+
echo "Linting completed."
|
data/data/dictionary.json
CHANGED
@@ -165,15 +165,15 @@
|
|
165
165
|
"ipa": "ak",
|
166
166
|
"position": 110},
|
167
167
|
"alius":
|
168
|
-
{"meaning": "other, another
|
168
|
+
{"meaning": "other, another",
|
169
169
|
"part": "Adjective",
|
170
170
|
"gender": "masculine",
|
171
171
|
"ipa": "aljus",
|
172
172
|
"position": 111},
|
173
173
|
"alia":
|
174
|
-
{"meaning": "other, another
|
174
|
+
{"meaning": "other, another", "part": "Adjective", "gender": "feminine", "ipa": "alja", "position": 112},
|
175
175
|
"aliud":
|
176
|
-
{"meaning": "other, another
|
176
|
+
{"meaning": "other, another", "part": "Adjective", "gender": "neuter", "ipa": "aljud", "position": 113},
|
177
177
|
"rēs":
|
178
178
|
{"meaning": "thing (rēs pūblica, commonwealth; rēs familiāris, family property, estate; rēs mīlitāris, art of war; rēs novae, revolution)",
|
179
179
|
"part": "Noun",
|
@@ -221,12 +221,12 @@
|
|
221
221
|
"ipa": "ne",
|
222
222
|
"position": 145},
|
223
223
|
"manus": {"meaning": "hand; band of men", "part": "Noun", "gender": "feminine", "ipa": "manus", "position": 146},
|
224
|
-
"nūllus": {"meaning": "
|
225
|
-
"nullus": {"meaning": "
|
226
|
-
"nūlla": {"meaning": "
|
227
|
-
"nulla": {"meaning": "
|
228
|
-
"nūllum": {"meaning": "
|
229
|
-
"nullum": {"meaning": "
|
224
|
+
"nūllus": {"meaning": "no, none", "part": "Adjective", "gender": "masculine", "ipa": "nullus", "position": 147},
|
225
|
+
"nullus": {"meaning": "no, none", "part": "Adjective", "gender": "masculine", "ipa": "nullus", "position": 148},
|
226
|
+
"nūlla": {"meaning": "no, none", "part": "Adjective", "gender": "feminine", "ipa": "nulla", "position": 149},
|
227
|
+
"nulla": {"meaning": "no, none", "part": "Adjective", "gender": "feminine", "ipa": "nulla", "position": 150},
|
228
|
+
"nūllum": {"meaning": "no, none", "part": "Adjective", "gender": "neuter", "ipa": "nullum", "position": 151},
|
229
|
+
"nullum": {"meaning": "no, none", "part": "Adjective", "gender": "neuter", "ipa": "nullum", "position": 152},
|
230
230
|
"nunc": {"meaning": "now", "part": "Adverb", "ipa": "nunk", "position": 153},
|
231
231
|
"nōs": {"meaning": "we", "part": "Pronoun", "ipa": "nos", "position": 154},
|
232
232
|
"nos": {"meaning": "we", "part": "Pronoun", "ipa": "nos", "position": 155},
|
@@ -412,7 +412,7 @@
|
|
412
412
|
"position": 313},
|
413
413
|
"pro": {"meaning": "for, on behalf of, in proportion to", "part": "Preposition", "ipa": "pro", "position": 314},
|
414
414
|
"quisquis": {"meaning": "whoever, whichever", "part": "Pronoun", "ipa": "kʷiskʷis", "position": 315},
|
415
|
-
"quidquid": {"meaning": "
|
415
|
+
"quidquid": {"meaning": "whatever; anything that ...", "part": "Pronoun", "ipa": "kʷidkʷid", "position": 316},
|
416
416
|
"vos": {"meaning": "you (pl.)", "part": "Adjective", "declension": "1st and 2nd", "ipa": "vos", "position": 317},
|
417
417
|
"capio": {"meaning": "seize", "part": "Verb", "conjugation": "3rd -iō", "ipa": "kapio", "position": 318},
|
418
418
|
"capere": {"meaning": "seize", "part": "Verb", "conjugation": "3rd -iō", "ipa": "kapɛrɛ", "position": 319},
|
@@ -486,8 +486,8 @@
|
|
486
486
|
"relinquō": {"meaning": "abandon", "part": "Verb", "conjugation": "3rd", "ipa": "rɛlinkʷoː", "position": 350},
|
487
487
|
"relinquo": {"meaning": "abandon", "part": "Verb", "conjugation": "3rd", "ipa": "rɛlinkʷoː", "position": 351},
|
488
488
|
"relinquere": {"meaning": "abandon", "part": "Verb", "conjugation": "3rd", "ipa": "rɛlinkʷɛrɛ", "position": 352},
|
489
|
-
"relinquī": {"meaning": "
|
490
|
-
"relinqui": {"meaning": "
|
489
|
+
"relinquī": {"meaning": "to be left (behind), remain", "part": "Verb", "conjugation": "3rd", "ipa": "rɛlinkʷiː", "position": 353},
|
490
|
+
"relinqui": {"meaning": "to be left (behind), remain", "part": "Verb", "conjugation": "3rd", "ipa": "rɛlinkʷiː", "position": 354},
|
491
491
|
"relictum": {"meaning": "abandon", "part": "Verb", "conjugation": "3rd", "ipa": "rɛliktum", "position": 355},
|
492
492
|
"saepe": {"meaning": "often", "part": "Adverb", "ipa": "sɛpɛ", "position": 356},
|
493
493
|
"fīō": {"meaning": "become, happen, be done", "part": "Verb", "conjugation": "Irregular", "ipa": "fiːo", "position": 357},
|
@@ -4695,20 +4695,20 @@
|
|
4695
4695
|
"terram": {"meaning": "earth, land, ground", "part": "Noun", "pronunciation": "terram", "position": 3147},
|
4696
4696
|
"toga": {"meaning": "toga", "part": "Noun", "pronunciation": "toga", "position": 3148},
|
4697
4697
|
"undeviginti": {"meaning": "nineteen", "part": "Adjective", "pronunciation": "oon-day-veejin-tee", "position": 3149},
|
4698
|
-
"acerbus": { "part": "Adjective", "ipa": "ˈakɛrbʊs" },
|
4699
|
-
"adultus": { "part": "Adjective", "ipa": "aˈdʊltʊs" },
|
4700
|
-
"aeguus": { "part": "Adjective", "ipa": "ˈaɛɡuːs" },
|
4701
|
-
"asper": { "part": "Adjective", "ipa": "ˈaspɛr" },
|
4702
|
-
"avarus": { "part": "Adjective", "ipa": "ˈaʋarʊs" },
|
4703
|
-
"bellus": { "part": "Adjective", "ipa": "ˈbɛllʊs" },
|
4704
|
-
"civilis": { "part": "Adjective", "ipa": "ˈkɪʋɪlɪs" },
|
4705
|
-
"conscius": { "part": "Adjective", "ipa": "ˈkɔnskɪʊs" },
|
4706
|
-
"crudelis": { "part": "Adjective", "ipa": "ˈkrudɛlɪs" },
|
4707
|
-
"cupidus": { "part": "Adjective", "ipa": "ˈkupɪdʊs" },
|
4708
|
-
"demens": { "part": "Adjective", "ipa": "ˈdɛmɛns" },
|
4698
|
+
"acerbus": { "meaning": "bitter, harsh; severe", "part": "Adjective", "ipa": "ˈakɛrbʊs" },
|
4699
|
+
"adultus": { "meaning": "adult, mature; grown", "part": "Adjective", "ipa": "aˈdʊltʊs" },
|
4700
|
+
"aeguus": { "meaning": "equal, level; fair", "part": "Adjective", "ipa": "ˈaɛɡuːs" },
|
4701
|
+
"asper": { "meaning": "rough, harsh; difficult", "part": "Adjective", "ipa": "ˈaspɛr" },
|
4702
|
+
"avarus": { "meaning": "greedy, avaricious", "part": "Adjective", "ipa": "ˈaʋarʊs" },
|
4703
|
+
"bellus": { "meaning": "beautiful, lovely; fine", "part": "Adjective", "ipa": "ˈbɛllʊs" },
|
4704
|
+
"civilis": { "meaning": "civil, civic; courteous", "part": "Adjective", "ipa": "ˈkɪʋɪlɪs" },
|
4705
|
+
"conscius": { "meaning": "conscious; aware; guilty", "part": "Adjective", "ipa": "ˈkɔnskɪʊs" },
|
4706
|
+
"crudelis": { "meaning": "cruel, harsh", "part": "Adjective", "ipa": "ˈkrudɛlɪs" },
|
4707
|
+
"cupidus": { "meaning": "eager, desirous", "part": "Adjective", "ipa": "ˈkupɪdʊs" },
|
4708
|
+
"demens": { "meaning": "mad, insane; foolish", "part": "Adjective", "ipa": "ˈdɛmɛns" },
|
4709
4709
|
"desidiosus": { "part": "Adjective", "ipa": "dɛsɪˈdjɔsʊs" },
|
4710
|
-
"dignus": { "part": "Adjective", "ipa": "ˈdɪɲnʊs" },
|
4711
|
-
"doctus": { "part": "Adjective", "ipa": "ˈdɔktʊs" },
|
4710
|
+
"dignus": { "meaning": "worthy, deserving", "part": "Adjective", "ipa": "ˈdɪɲnʊs" },
|
4711
|
+
"doctus": { "meaning": "learned, skilled", "part": "Adjective", "ipa": "ˈdɔktʊs" },
|
4712
4712
|
"eloquens": { "part": "Adjective", "ipa": "ɛˈlɔkwɛns" },
|
4713
4713
|
"eximius": { "part": "Adjective", "ipa": "ɛkˈsɪmɪʊs" },
|
4714
4714
|
"fortunatus": { "part": "Adjective", "ipa": "fɔrtʊˈnatʊs" },
|
@@ -4745,44 +4745,44 @@
|
|
4745
4745
|
"vehemens": { "part": "Adjective", "ipa": "ʋɛˈhɛmɛns" },
|
4746
4746
|
"velox": { "part": "Adjective", "ipa": "ˈʋɛlɔks" },
|
4747
4747
|
"vetus": { "part": "Adjective", "ipa": "ˈʋɛtʊs" },
|
4748
|
-
"abhinc": { "part": "Adverb", "ipa": "ˈabɪŋk" },
|
4749
|
-
"admodum": { "part": "Adverb", "ipa": "adˈmɔdʊm" },
|
4750
|
-
"alias": { "part": "Adverb", "ipa": "ˈaliːas" },
|
4751
|
-
"aliqua": { "part": "Adverb", "ipa": "ˈalikʷa" },
|
4752
|
-
"amplius": { "part": "Adverb", "ipa": "ˈampliʊs" },
|
4753
|
-
"bis": { "part": "Adverb", "ipa": "bɪs" },
|
4754
|
-
"clam": { "part": "Adverb", "ipa": "klam" },
|
4755
|
-
"comminus": { "part": "Adverb", "ipa": "kɔmˈmɪnʊs" },
|
4756
|
-
"cotidie": { "part": "Adverb", "ipa": "kɔˈtidiɛ" },
|
4757
|
-
"demisse": { "part": "Adverb", "ipa": "dɛˈmɪssɛ" },
|
4758
|
-
"diligenter": { "part": "Adverb", "ipa": "dɪlɪˈɡɛntɛr" },
|
4759
|
-
"fortasse": { "part": "Adverb", "ipa": "fɔrˈtassɛ" },
|
4760
|
-
"fortiter": { "part": "Adverb", "ipa": "fɔrˈtitɛr" },
|
4761
|
-
"graviter": { "part": "Adverb", "ipa": "ˈgraʋitɛr" },
|
4762
|
-
"interdum": { "part": "Adverb", "ipa": "ɪntɛrˈdʊm" },
|
4763
|
-
"intus": { "part": "Adverb", "ipa": "ˈintʊs" },
|
4764
|
-
"palam": { "part": "Adverb", "ipa": "ˈpalam" },
|
4765
|
-
"partim": { "part": "Adverb", "ipa": "ˈpartɪm" },
|
4766
|
-
"passim": { "part": "Adverb", "ipa": "ˈpassɪm" },
|
4767
|
-
"plane": { "part": "Adverb", "ipa": "ˈplanɛ" },
|
4768
|
-
"recte": { "part": "Adverb", "ipa": "ˈrɛktɛ" },
|
4769
|
-
"retro": { "part": "Adverb", "ipa": "ˈrɛtro" },
|
4770
|
-
"statim": { "part": "Adverb", "ipa": "ˈstatɪm" },
|
4771
|
-
"ultro": { "part": "Adverb", "ipa": "ˈʊltro" },
|
4772
|
-
"utinam": { "part": "Adverb", "ipa": "ʊˈtinam" },
|
4773
|
-
"accusator": { "part": "Noun", "ipa": "akˈkuːsator" },
|
4774
|
-
"acerbitas": { "part": "Noun", "ipa": "aˈkɛrbitas" },
|
4775
|
-
"adulatio": { "part": "Noun", "ipa": "aduˈlatio" },
|
4776
|
-
"adulescens": { "part": "Noun", "ipa": "aduˈleskens" },
|
4777
|
-
"adulescentia": { "part": "Noun", "ipa": "adulesˈkentia" },
|
4778
|
-
"aedificium": { "part": "Noun", "ipa": "ɛːdiˈfikium" },
|
4779
|
-
"aequitas": { "part": "Noun", "ipa": "ɛːˈkwitas" },
|
4780
|
-
"agricola": { "part": "Noun", "ipa": "aˈɡrikola" },
|
4781
|
-
"agricultura": { "part": "Noun", "ipa": "aɡrikulˈtura" },
|
4782
|
-
"ambitio": { "part": "Noun", "ipa": "amˈbitio" },
|
4783
|
-
"ancilla": { "part": "Noun", "ipa": "ˈankilla" },
|
4784
|
-
"angellus": { "part": "Noun", "ipa": "anˈɡellus" },
|
4785
|
-
"animal": { "part": "Noun", "ipa": "aˈnimal" },
|
4748
|
+
"abhinc": { "meaning": "ago, from now", "part": "Adverb", "ipa": "ˈabɪŋk" },
|
4749
|
+
"admodum": { "meaning": "very much, quite", "part": "Adverb", "ipa": "adˈmɔdʊm" },
|
4750
|
+
"alias": { "meaning": "at another time", "part": "Adverb", "ipa": "ˈaliːas" },
|
4751
|
+
"aliqua": { "meaning": "somehow, in some way", "part": "Adverb", "ipa": "ˈalikʷa" },
|
4752
|
+
"amplius": { "meaning": "more, further", "part": "Adverb", "ipa": "ˈampliʊs" },
|
4753
|
+
"bis": { "meaning": "twice, two times", "part": "Adverb", "ipa": "bɪs" },
|
4754
|
+
"clam": { "meaning": "secretly, stealthily", "part": "Adverb", "ipa": "klam" },
|
4755
|
+
"comminus": { "meaning": "at close quarters", "part": "Adverb", "ipa": "kɔmˈmɪnʊs" },
|
4756
|
+
"cotidie": { "meaning": "daily, every day", "part": "Adverb", "ipa": "kɔˈtidiɛ" },
|
4757
|
+
"demisse": { "meaning": "humbly, submissively", "part": "Adverb", "ipa": "dɛˈmɪssɛ" },
|
4758
|
+
"diligenter": { "meaning": "carefully, diligently", "part": "Adverb", "ipa": "dɪlɪˈɡɛntɛr" },
|
4759
|
+
"fortasse": { "meaning": "perhaps, maybe", "part": "Adverb", "ipa": "fɔrˈtassɛ" },
|
4760
|
+
"fortiter": { "meaning": "bravely, strongly", "part": "Adverb", "ipa": "fɔrˈtitɛr" },
|
4761
|
+
"graviter": { "meaning": "heavily, seriously", "part": "Adverb", "ipa": "ˈgraʋitɛr" },
|
4762
|
+
"interdum": { "meaning": "sometimes, at times", "part": "Adverb", "ipa": "ɪntɛrˈdʊm" },
|
4763
|
+
"intus": { "meaning": "within, inside", "part": "Adverb", "ipa": "ˈintʊs" },
|
4764
|
+
"palam": { "meaning": "openly, publicly", "part": "Adverb", "ipa": "ˈpalam" },
|
4765
|
+
"partim": { "meaning": "partly, in part", "part": "Adverb", "ipa": "ˈpartɪm" },
|
4766
|
+
"passim": { "meaning": "everywhere, throughout", "part": "Adverb", "ipa": "ˈpassɪm" },
|
4767
|
+
"plane": { "meaning": "clearly, plainly", "part": "Adverb", "ipa": "ˈplanɛ" },
|
4768
|
+
"recte": { "meaning": "rightly, correctly", "part": "Adverb", "ipa": "ˈrɛktɛ" },
|
4769
|
+
"retro": { "meaning": "backward, back", "part": "Adverb", "ipa": "ˈrɛtro" },
|
4770
|
+
"statim": { "meaning": "immediately, at once", "part": "Adverb", "ipa": "ˈstatɪm" },
|
4771
|
+
"ultro": { "meaning": "voluntarily, spontaneously", "part": "Adverb", "ipa": "ˈʊltro" },
|
4772
|
+
"utinam": { "meaning": "if only, would that", "part": "Adverb", "ipa": "ʊˈtinam" },
|
4773
|
+
"accusator": { "meaning": "accuser, prosecutor", "part": "Noun", "ipa": "akˈkuːsator" },
|
4774
|
+
"acerbitas": { "meaning": "bitterness, harshness", "part": "Noun", "ipa": "aˈkɛrbitas" },
|
4775
|
+
"adulatio": { "meaning": "flattery, fawning", "part": "Noun", "ipa": "aduˈlatio" },
|
4776
|
+
"adulescens": { "meaning": "young man, youth", "part": "Noun", "ipa": "aduˈleskens" },
|
4777
|
+
"adulescentia": { "meaning": "youth, young age", "part": "Noun", "ipa": "adulesˈkentia" },
|
4778
|
+
"aedificium": { "meaning": "building, structure", "part": "Noun", "ipa": "ɛːdiˈfikium" },
|
4779
|
+
"aequitas": { "meaning": "fairness, justice", "part": "Noun", "ipa": "ɛːˈkwitas" },
|
4780
|
+
"agricola": { "meaning": "farmer, cultivator", "part": "Noun", "ipa": "aˈɡrikola" },
|
4781
|
+
"agricultura": { "meaning": "agriculture, farming", "part": "Noun", "ipa": "aɡrikulˈtura" },
|
4782
|
+
"ambitio": { "meaning": "ambition; canvassing", "part": "Noun", "ipa": "amˈbitio" },
|
4783
|
+
"ancilla": { "meaning": "maidservant, slave girl", "part": "Noun", "ipa": "ˈankilla" },
|
4784
|
+
"angellus": { "meaning": "angel, messenger", "part": "Noun", "ipa": "anˈɡellus" },
|
4785
|
+
"animal": { "meaning": "animal, living being", "part": "Noun", "ipa": "aˈnimal" },
|
4786
4786
|
"apparatus": { "part": "Noun", "ipa": "appaˈratus" },
|
4787
4787
|
"aratrum": { "part": "Noun", "ipa": "ˈaratrum" },
|
4788
4788
|
"arbitrium": { "part": "Noun", "ipa": "arˈbitrium" },
|
@@ -4882,28 +4882,28 @@
|
|
4882
4882
|
"villa": { "part": "Noun", "ipa": "ˈvilla" },
|
4883
4883
|
"vires": { "part": "Noun", "ipa": "ˈvires" },
|
4884
4884
|
"visus": { "part": "Noun", "ipa": "ˈvisus" },
|
4885
|
-
"accendo": { "part": "Verb", "ipa": "akˈtʃen.do" },
|
4886
|
-
"ait": { "part": "Verb", "ipa": "ˈait" },
|
4887
|
-
"alo": { "part": "Verb", "ipa": "ˈa.lo" },
|
4888
|
-
"ambulo": { "part": "Verb", "ipa": "amˈbu.lo" },
|
4889
|
-
"bello": { "part": "Verb", "ipa": "ˈbel.lo" },
|
4890
|
-
"bibo": { "part": "Verb", "ipa": "ˈbi.bo" },
|
4891
|
-
"caleo": { "part": "Verb", "ipa": "ˈka.le.o" },
|
4892
|
-
"capto": { "part": "Verb", "ipa": "ˈkap.to" },
|
4893
|
-
"carpo": { "part": "Verb", "ipa": "ˈkar.po" },
|
4894
|
-
"castigo": { "part": "Verb", "ipa": "kasˈti.go" },
|
4895
|
-
"cedo": { "part": "Verb", "ipa": "ˈtʃe.do" },
|
4896
|
-
"ceno": { "part": "Verb", "ipa": "ˈtʃe.no" },
|
4897
|
-
"censeo": { "part": "Verb", "ipa": "ˈtʃen.se.o" },
|
4898
|
-
"cesso": { "part": "Verb", "ipa": "ˈtʃes.so" },
|
4899
|
-
"cieo": { "part": "Verb", "ipa": "ˈtʃi.e.o" },
|
4900
|
-
"cingo": { "part": "Verb", "ipa": "ˈtʃin.go" },
|
4901
|
-
"cito": { "part": "Verb", "ipa": "ˈtʃi.to" },
|
4902
|
-
"coco": { "part": "Verb", "ipa": "ˈko.ko" },
|
4903
|
-
"coepio": { "part": "Verb", "ipa": "ˈtʃe.pi.o" },
|
4904
|
-
"coerceo": { "part": "Verb", "ipa": "koˈer.tʃe.o" },
|
4905
|
-
"compello": { "part": "Verb", "ipa": "komˈpel.lo" },
|
4906
|
-
"concido": { "part": "Verb", "ipa": "konˈtʃi.do" },
|
4885
|
+
"accendo": { "meaning": "kindle, ignite; inflame", "part": "Verb", "ipa": "akˈtʃen.do" },
|
4886
|
+
"ait": { "meaning": "say, affirm", "part": "Verb", "ipa": "ˈait" },
|
4887
|
+
"alo": { "meaning": "nourish, feed; support", "part": "Verb", "ipa": "ˈa.lo" },
|
4888
|
+
"ambulo": { "meaning": "walk, go about", "part": "Verb", "ipa": "amˈbu.lo" },
|
4889
|
+
"bello": { "meaning": "wage war, fight", "part": "Verb", "ipa": "ˈbel.lo" },
|
4890
|
+
"bibo": { "meaning": "drink", "part": "Verb", "ipa": "ˈbi.bo" },
|
4891
|
+
"caleo": { "meaning": "be warm, glow", "part": "Verb", "ipa": "ˈka.le.o" },
|
4892
|
+
"capto": { "meaning": "seize, catch; try to get", "part": "Verb", "ipa": "ˈkap.to" },
|
4893
|
+
"carpo": { "meaning": "pluck, seize; criticize", "part": "Verb", "ipa": "ˈkar.po" },
|
4894
|
+
"castigo": { "meaning": "punish, chastise", "part": "Verb", "ipa": "kasˈti.go" },
|
4895
|
+
"cedo": { "meaning": "yield, give way; go", "part": "Verb", "ipa": "ˈtʃe.do" },
|
4896
|
+
"ceno": { "meaning": "dine, eat dinner", "part": "Verb", "ipa": "ˈtʃe.no" },
|
4897
|
+
"censeo": { "meaning": "assess; think, judge", "part": "Verb", "ipa": "ˈtʃen.se.o" },
|
4898
|
+
"cesso": { "meaning": "delay, be slow; cease", "part": "Verb", "ipa": "ˈtʃes.so" },
|
4899
|
+
"cieo": { "meaning": "move, set in motion", "part": "Verb", "ipa": "ˈtʃi.e.o" },
|
4900
|
+
"cingo": { "meaning": "gird, surround", "part": "Verb", "ipa": "ˈtʃin.go" },
|
4901
|
+
"cito": { "meaning": "summon, call upon", "part": "Verb", "ipa": "ˈtʃi.to" },
|
4902
|
+
"coco": { "meaning": "cook, prepare food", "part": "Verb", "ipa": "ˈko.ko" },
|
4903
|
+
"coepio": { "meaning": "begin, undertake", "part": "Verb", "ipa": "ˈtʃe.pi.o" },
|
4904
|
+
"coerceo": { "meaning": "confine, restrain", "part": "Verb", "ipa": "koˈer.tʃe.o" },
|
4905
|
+
"compello": { "meaning": "drive together; compel", "part": "Verb", "ipa": "komˈpel.lo" },
|
4906
|
+
"concido": { "meaning": "fall down, collapse", "part": "Verb", "ipa": "konˈtʃi.do" },
|
4907
4907
|
"confido": { "part": "Verb", "ipa": "konˈfi.do" },
|
4908
4908
|
"congrego": { "part": "Verb", "ipa": "konˈgre.go" },
|
4909
4909
|
"conservo": { "part": "Verb", "ipa": "konˈser.vo" },
|
data/lib/medieval_latina.rb
CHANGED
data/medieval_latina.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |spec|
|
|
15
15
|
spec.description = description
|
16
16
|
spec.homepage = "https://github.com/jaysonvirissimo/medieval_latina"
|
17
17
|
spec.license = "MIT"
|
18
|
-
spec.required_ruby_version = Gem::Requirement.new(">= 3.
|
18
|
+
spec.required_ruby_version = Gem::Requirement.new(">= 3.2.0")
|
19
19
|
spec.metadata["allowed_push_host"] = "https://rubygems.org/"
|
20
20
|
spec.metadata["homepage_uri"] = spec.homepage
|
21
21
|
spec.metadata["source_code_uri"] = github_uri
|
@@ -32,5 +32,6 @@ Gem::Specification.new do |spec|
|
|
32
32
|
spec.add_development_dependency "rake", "~> 12.0"
|
33
33
|
spec.add_development_dependency "rspec", "~> 3.0"
|
34
34
|
spec.add_development_dependency "nokogiri"
|
35
|
-
spec.add_development_dependency "
|
35
|
+
spec.add_development_dependency "standardrb"
|
36
|
+
spec.add_development_dependency "jsonlint"
|
36
37
|
end
|
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: medieval_latina
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jayson Virissimo
|
8
|
-
autorequire:
|
9
8
|
bindir: exe
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-09-28 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: i18n
|
@@ -67,7 +66,21 @@ dependencies:
|
|
67
66
|
- !ruby/object:Gem::Version
|
68
67
|
version: '0'
|
69
68
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
69
|
+
name: standardrb
|
70
|
+
requirement: !ruby/object:Gem::Requirement
|
71
|
+
requirements:
|
72
|
+
- - ">="
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: '0'
|
75
|
+
type: :development
|
76
|
+
prerelease: false
|
77
|
+
version_requirements: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '0'
|
82
|
+
- !ruby/object:Gem::Dependency
|
83
|
+
name: jsonlint
|
71
84
|
requirement: !ruby/object:Gem::Requirement
|
72
85
|
requirements:
|
73
86
|
- - ">="
|
@@ -89,12 +102,12 @@ executables: []
|
|
89
102
|
extensions: []
|
90
103
|
extra_rdoc_files: []
|
91
104
|
files:
|
92
|
-
- ".DS_Store"
|
93
105
|
- ".github/workflows/tests.yml"
|
94
106
|
- ".gitignore"
|
95
107
|
- ".rspec"
|
96
108
|
- ".standard.yml"
|
97
109
|
- ".tool-versions"
|
110
|
+
- CLAUDE.md
|
98
111
|
- Gemfile
|
99
112
|
- Gemfile.lock
|
100
113
|
- LICENSE.txt
|
@@ -129,7 +142,6 @@ metadata:
|
|
129
142
|
homepage_uri: https://github.com/jaysonvirissimo/medieval_latina
|
130
143
|
source_code_uri: https://github.com/jaysonvirissimo/medieval_latina
|
131
144
|
changelog_uri: https://github.com/jaysonvirissimo/medieval_latina
|
132
|
-
post_install_message:
|
133
145
|
rdoc_options: []
|
134
146
|
require_paths:
|
135
147
|
- lib
|
@@ -137,15 +149,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
137
149
|
requirements:
|
138
150
|
- - ">="
|
139
151
|
- !ruby/object:Gem::Version
|
140
|
-
version: 3.
|
152
|
+
version: 3.2.0
|
141
153
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
142
154
|
requirements:
|
143
155
|
- - ">="
|
144
156
|
- !ruby/object:Gem::Version
|
145
157
|
version: '0'
|
146
158
|
requirements: []
|
147
|
-
rubygems_version: 3.
|
148
|
-
signing_key:
|
159
|
+
rubygems_version: 3.6.2
|
149
160
|
specification_version: 4
|
150
161
|
summary: Transform medieval Latin text into phonetic English
|
151
162
|
test_files: []
|
data/.DS_Store
DELETED
Binary file
|