language_cards 0.3.1 → 2.0.0
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/ci.yml +20 -0
- data/CHANGELOG.md +31 -0
- data/README.md +80 -22
- data/bin/language_cards +7 -1
- data/cards/en/arabic.yml +370 -0
- data/cards/en/armenian.yml +406 -0
- data/cards/en/bengali.yml +395 -0
- data/cards/en/chinese-hsk1.yml +157 -0
- data/cards/en/chinese-hsk2.yml +154 -0
- data/cards/en/chinese-hsk3.yml +305 -0
- data/cards/en/chinese-hsk4.yml +605 -0
- data/cards/en/georgian.yml +362 -0
- data/cards/en/greek.yml +379 -0
- data/cards/en/hebrew.yml +355 -0
- data/cards/en/hindi.yml +412 -0
- data/cards/en/japanese-01-hiragana.yml +227 -0
- data/cards/en/japanese-02-katakana.yml +296 -0
- data/cards/en/japanese-03-keyboard-mappings.yml +357 -0
- data/cards/en/japanese-10-kanji-jlpt-n5.yml +86 -0
- data/cards/en/japanese-11-kanji-jlpt-n4.yml +173 -0
- data/cards/en/japanese-12-kanji-jlpt-n3.yml +374 -0
- data/cards/en/japanese-13-kanji-jlpt-n2.yml +374 -0
- data/cards/en/japanese-14-kanji-jlpt-n1.yml +1239 -0
- data/cards/en/japanese-20-vocabulary-jlpt-n5.yml +708 -0
- data/cards/en/japanese-21-vocabulary-jlpt-n4.yml +668 -0
- data/cards/en/japanese-22-vocabulary-jlpt-n3.yml +2108 -0
- data/cards/en/japanese-23-vocabulary-jlpt-n2.yml +1738 -0
- data/cards/en/japanese-24-vocabulary-jlpt-n1.yml +2689 -0
- data/cards/en/korean.yml +534 -0
- data/cards/en/persian.yml +370 -0
- data/cards/en/punjabi.yml +393 -0
- data/cards/en/russian.yml +398 -0
- data/cards/en/tamil.yml +405 -0
- data/cards/en/thai.yml +408 -0
- data/cards/en/ukrainian.yml +398 -0
- data/cards/en/urdu.yml +374 -0
- data/language_cards.gemspec +7 -6
- data/lib/language_cards/card_set_builder.rb +11 -0
- data/lib/language_cards/controllers/application_controller.rb +2 -0
- data/lib/language_cards/controllers/game.rb +10 -6
- data/lib/language_cards/controllers/main_menu.rb +20 -3
- data/lib/language_cards/defaults.rb +33 -0
- data/lib/language_cards/helpers/view_helper.rb +3 -2
- data/lib/language_cards/menu_builder.rb +11 -0
- data/lib/language_cards/menu_node.rb +9 -4
- data/lib/language_cards/models/card.rb +18 -0
- data/lib/language_cards/models/card_set.rb +15 -16
- data/lib/language_cards/modes/game.rb +15 -4
- data/lib/language_cards/modes/translate.rb +12 -1
- data/lib/language_cards/modes/typing_practice.rb +5 -1
- data/lib/language_cards/paginator.rb +59 -0
- data/lib/language_cards/user_interface.rb +84 -52
- data/lib/language_cards/version.rb +1 -1
- data/lib/language_cards/view/main_menu.erb +3 -1
- data/lib/language_cards/yaml_loader.rb +5 -3
- data/lib/language_cards.rb +7 -24
- data/locales/en.yml +11 -0
- metadata +69 -42
- data/.travis.yml +0 -5
- data/cards/en/japanese-hiragana.yml +0 -149
- data/cards/en/japanese-kanji-jlpt-n5.yml +0 -107
- data/cards/en/japanese-katakana.yml +0 -366
- data/lib/language_cards/grapheme_builder.rb +0 -12
- data/lib/language_cards/language_cards.rb +0 -25
- data/lib/language_cards/models/grapheme.rb +0 -18
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 4d8aba7c872a8252b484266a52226593689ac898ff759546fccdb51e077806a9
|
|
4
|
+
data.tar.gz: c8011eaa91c6c0b4e15ae4778b0733c5572ce5ae0f8475a3863e577ab02cb7e3
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 41f84b0b3727afe99a78c775c9912dc64d5d45a72dca9b6683a357b20fe24d31dad09dd756bc5315c81d9d36667d52f5a46c59538cf0065537d539d7ec1d75a6
|
|
7
|
+
data.tar.gz: 2cc12cf74e0358d46c2bd0cd66a1504b008cd2876b9cbf3f403b6ea954bef74430f98cd2b3da9a6e21305a4edb3e084ee2ea63757f2aff33e0afbf96c50e0ae1
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
name: CI
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
pull_request:
|
|
6
|
+
|
|
7
|
+
jobs:
|
|
8
|
+
test:
|
|
9
|
+
runs-on: ubuntu-latest
|
|
10
|
+
strategy:
|
|
11
|
+
fail-fast: false
|
|
12
|
+
matrix:
|
|
13
|
+
ruby: ['2.7', '3.0', '3.1', '3.2', '3.3', '3.4']
|
|
14
|
+
steps:
|
|
15
|
+
- uses: actions/checkout@v4
|
|
16
|
+
- uses: ruby/setup-ruby@v1
|
|
17
|
+
with:
|
|
18
|
+
ruby-version: ${{ matrix.ruby }}
|
|
19
|
+
bundler-cache: true
|
|
20
|
+
- run: bundle exec rake test
|
data/CHANGELOG.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
## 1.0.0
|
|
4
|
+
|
|
5
|
+
### Card data
|
|
6
|
+
* Japanese, now fully covered:
|
|
7
|
+
* Hiragana and Katakana split into basic, diacritics (dakuten/handakuten), combinations (yōon) and "All"
|
|
8
|
+
sets, plus Extended Katakana for foreign sounds. Romaji answers accept both Hepburn and Kunrei-shiki.
|
|
9
|
+
* Hiragana keyboard mappings added next to the existing Katakana keyboard mappings.
|
|
10
|
+
* Kanji for every JLPT level N5 through N1 (2,211 kanji), with readings in hiragana and English meanings.
|
|
11
|
+
* Vocabulary for every JLPT level N5 through N1 (7,800+ words).
|
|
12
|
+
* Chinese: HSK 1–4 (1,193 words), answered in pinyin with tone marks, tone numbers or in English.
|
|
13
|
+
Fixes several wrong pinyin in the old HSK 1 set, and the language is now named "Chinese".
|
|
14
|
+
* New languages: Arabic, Armenian, Bengali, Georgian, Greek, Hebrew, Hindi, Korean, Persian, Punjabi,
|
|
15
|
+
Russian, Tamil, Thai, Ukrainian and Urdu, each with writing-system sets plus numbers, common words
|
|
16
|
+
and phrases.
|
|
17
|
+
|
|
18
|
+
### Game
|
|
19
|
+
* Two-level menu: pick a language first, then one of its card sets. Menus are paginated (10 per page,
|
|
20
|
+
`n`/`p` to page, `b` to go back, `q` to quit) and show how many sets/cards each entry has.
|
|
21
|
+
* Translate answers are case-insensitive, ignore extra whitespace and Unicode composition differences, and
|
|
22
|
+
treat a leading "to " as optional.
|
|
23
|
+
* Numeric answers in card files (e.g. `1`) now match what is typed.
|
|
24
|
+
* The score and timer reset for each game, and the same card is never shown twice in a row.
|
|
25
|
+
* CTRL-C in a game returns to the card set menu; end of input exits cleanly.
|
|
26
|
+
* New `--version` and `--help` command line flags.
|
|
27
|
+
|
|
28
|
+
### Maintenance
|
|
29
|
+
* Runs on modern Ruby: updated to HighLine 2/3 and i18n 1.x.
|
|
30
|
+
* Card files are validated by the test suite (duplicate keys, empty answers, values YAML would misread).
|
|
31
|
+
* GitHub Actions CI replaces Travis CI.
|
data/README.md
CHANGED
|
@@ -1,45 +1,84 @@
|
|
|
1
1
|
# LanguageCards
|
|
2
2
|
[](https://badge.fury.io/rb/language_cards)
|
|
3
|
-
[](https://github.com/danielpclark/language_cards/actions/workflows/ci.yml)
|
|
4
4
|
[](https://ci.appveyor.com/project/danielpclark/language-cards)
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
7
|
+
A terminal flash card game for learning languages that use foreign scripts. Every language comes with
|
|
8
|
+
card sets for its writing system plus vocabulary, and each card set can be played in two modes:
|
|
9
|
+
|
|
10
|
+
* **Translate**: a card is shown in the foreign script and you type its romanization, reading or English meaning.
|
|
11
|
+
* **Typing**: you type the card itself, which is great practice for a foreign-language keyboard or IME.
|
|
12
|
+
|
|
13
|
+
Japanese is covered from the kana all the way through JLPT N1: every hiragana and katakana (including
|
|
14
|
+
combinations, extended katakana and IME keyboard mappings), all 2,211 JLPT N5–N1 kanji and more than 7,800
|
|
15
|
+
JLPT N5–N1 vocabulary words.
|
|
16
|
+
|
|
17
|
+
Included languages (17 languages, 103 card sets, ~17,900 cards):
|
|
18
|
+
|
|
19
|
+
| Language | Card sets (cards) |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| Arabic | Alphabet (31), Numbers (23), Numerals (10), Common Words (245), Phrases (48) |
|
|
22
|
+
| Armenian | Alphabet (77), Numbers (23), Common Words (249), Phrases (46) |
|
|
23
|
+
| Bengali | Vowels (11), Consonants (39), Numbers (23), Numerals (10), Common Words (249), Phrases (48) |
|
|
24
|
+
| Chinese | HSK 1 (150), HSK 2 (147), HSK 3 (298), HSK 4 (598) |
|
|
25
|
+
| Georgian | Alphabet (33), Numbers (23), Common Words (250), Phrases (45) |
|
|
26
|
+
| Greek | Alphabet (49), Numbers (23), Common Words (247), Phrases (49) |
|
|
27
|
+
| Hebrew | Alphabet (22), Final Forms (5), Numbers (23), Common Words (243), Phrases (49) |
|
|
28
|
+
| Hindi | Vowels (13), Consonants (44), Vowel Signs (11), Numbers (23), Numerals (10), Common Words (245), Phrases (49) |
|
|
29
|
+
| Japanese | Hiragana (46), Hiragana Diacritics (25), Hiragana Combinations (36), Hiragana (All) (108), Katakana (46), Katakana Diacritics (25), Katakana Combinations (36), Katakana Extended (34), Katakana (All) (141), Hiragana Keyboard Mappings (173), Katakana Keyboard Mappings (176), Kanji (JLPT N5) (79), Kanji (JLPT N4) (166), Kanji (JLPT N3) (367), Kanji (JLPT N2) (367), Kanji (JLPT N1) (1232), Vocabulary (JLPT N5) (702), Vocabulary (JLPT N4) (662), Vocabulary (JLPT N3) (2102), Vocabulary (JLPT N2) (1732), Vocabulary (JLPT N1) (2683) |
|
|
30
|
+
| Korean | Hangul Consonants (19), Hangul Vowels (21), Hangul Syllables (140), Numbers (45), Common Words (244), Phrases (50) |
|
|
31
|
+
| Persian | Alphabet (32), Numbers (23), Numerals (10), Common Words (246), Phrases (46) |
|
|
32
|
+
| Punjabi | Letters (41), Vowels (10), Numbers (23), Numerals (10), Common Words (246), Phrases (48) |
|
|
33
|
+
| Russian | Alphabet (66), Numbers (23), Common Words (250), Phrases (48) |
|
|
34
|
+
| Tamil | Vowels (13), Consonants (23), Syllables (23), Numbers (23), Numerals (10), Common Words (249), Phrases (47) |
|
|
35
|
+
| Thai | Consonants (44), Vowels (30), Numbers (23), Numerals (10), Common Words (243), Phrases (43) |
|
|
36
|
+
| Ukrainian | Alphabet (66), Numbers (23), Common Words (250), Phrases (48) |
|
|
37
|
+
| Urdu | Alphabet (39), Numbers (23), Numerals (10), Common Words (248), Phrases (41) |
|
|
13
38
|
|
|
14
39
|
Internationalization support is built in! Translators are welcome to make this game available in other languages.
|
|
15
40
|
|
|
16
41
|
## Installation
|
|
17
42
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
```ruby
|
|
21
|
-
gem 'language_cards'
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
And then execute:
|
|
25
|
-
|
|
26
|
-
$ bundle
|
|
27
|
-
|
|
28
|
-
Or install it yourself as:
|
|
43
|
+
Install it yourself as:
|
|
29
44
|
|
|
30
45
|
$ gem install language_cards
|
|
46
|
+
|
|
47
|
+
Or try out the latest master by downloading it: [[master.zip](https://github.com/danielpclark/language_cards/archive/master.zip)]
|
|
31
48
|
|
|
32
49
|
## Usage
|
|
33
50
|
|
|
34
51
|
After installing the gem you can run the executable `language_cards`. If you clone the repo then use
|
|
35
52
|
`bundle exec bin/language_cards`.
|
|
36
53
|
|
|
54
|
+
$ language_cards --help
|
|
55
|
+
usage: language_cards [options]
|
|
56
|
+
-l, --language language (default: en)
|
|
57
|
+
-v, --version print the version
|
|
58
|
+
-h, --help print this help
|
|
59
|
+
|
|
60
|
+
Pick a language, then a card set, by typing its number. Long menus are split into pages of ten.
|
|
61
|
+
|
|
62
|
+
| Key | Action |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
| `1`, `2`, ... | Select the numbered language or card set (any number works, not just those on the current page) |
|
|
65
|
+
| `n` / `p` | Next / previous page |
|
|
66
|
+
| `b` | Back to the language menu |
|
|
67
|
+
| `m` | Change game mode (Translate / Typing) |
|
|
68
|
+
| `q` | Quit |
|
|
69
|
+
| `CTRL-C` | Leave a game and return to the menu (quits from a menu) |
|
|
70
|
+
|
|
71
|
+
Answers are forgiving: case and extra spaces don't matter, a leading "to " is optional for English verbs
|
|
72
|
+
("to eat" and "eat" are both fine), and pinyin can be typed with tone marks (`nǐhǎo`) or tone numbers (`ni3hao3`).
|
|
73
|
+
|
|
37
74
|
# Card Format
|
|
38
75
|
|
|
39
|
-
The cards are stored in YAML format
|
|
40
|
-
The first entry is a language name and it's okay if that
|
|
41
|
-
|
|
76
|
+
The cards are stored in YAML format in `cards/<interface language>/` (e.g. `cards/en`). You can look in the
|
|
77
|
+
`cards` directory for existing examples to follow. The first entry is a language name and it's okay if that
|
|
78
|
+
already exists in another file; card sets from every file are merged under it. The entries below that must be
|
|
79
|
+
unique for that language (eg: you can't have two Hiragana sub entries on Japanese). The next step in
|
|
42
80
|
will have a mapping hash on how the language is being mapped in the form of key to value (eg "Hiragana" => "Romaji").
|
|
81
|
+
Every other entry is a card: the key is what is shown and the value is the answer, or a list of accepted answers.
|
|
43
82
|
Just follow the below outline for a working example.
|
|
44
83
|
|
|
45
84
|
```yaml
|
|
@@ -52,11 +91,30 @@ Japanese:
|
|
|
52
91
|
う: u
|
|
53
92
|
え: e
|
|
54
93
|
お: o
|
|
94
|
+
し: [shi, si]
|
|
55
95
|
```
|
|
56
96
|
|
|
97
|
+
Languages are listed alphabetically and card sets in the order they are loaded, with files read in filename
|
|
98
|
+
order (which is why the bundled files have numeric prefixes like `japanese-10-kanji-jlpt-n5.yml`). Quote
|
|
99
|
+
answers YAML would otherwise turn into something else, such as `'no'`, `'yes'`, `'on'` or numbers like `'1'`.
|
|
100
|
+
|
|
101
|
+
You can add your own cards without touching the gem by putting YAML files in `~/.language_cards/cards/en/`.
|
|
102
|
+
|
|
103
|
+
## Data sources
|
|
104
|
+
|
|
105
|
+
* JLPT kanji and vocabulary level lists: [Jonathan Waller's JLPT Resources](http://www.tanos.co.uk/jlpt/) (CC BY).
|
|
106
|
+
JLPT levels have been unofficial since 2010, so these lists are a well established approximation.
|
|
107
|
+
* Kanji readings were checked against [KANJIDIC](http://www.edrdg.org/wiki/index.php/KANJIDIC_Project) (EDRDG).
|
|
108
|
+
* Chinese word lists: the HSK 2.0 official vocabulary lists (levels 1–4).
|
|
109
|
+
* Kana: [Wikibooks Japanese kana chart](https://en.wikibooks.org/wiki/Japanese/Kana_chart).
|
|
110
|
+
|
|
111
|
+
Corrections to any card are very welcome!
|
|
112
|
+
|
|
57
113
|
## Development
|
|
58
114
|
|
|
59
|
-
*Tests required moving forward with this project unless it's translation files.*
|
|
115
|
+
*Tests required moving forward with this project unless it's translation files.* `test/cards_test.rb`
|
|
116
|
+
validates every card file (duplicate keys, empty answers, values YAML would misread), so run the tests after
|
|
117
|
+
editing cards too.
|
|
60
118
|
|
|
61
119
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
|
62
120
|
|
data/bin/language_cards
CHANGED
|
@@ -4,5 +4,11 @@ $: << File.expand_path(File.join('..', '..', 'lib'), __FILE__)
|
|
|
4
4
|
|
|
5
5
|
require 'language_cards'
|
|
6
6
|
|
|
7
|
-
LanguageCards
|
|
7
|
+
if LanguageCards::OPTS[:version]
|
|
8
|
+
puts LanguageCards::VERSION
|
|
9
|
+
elsif LanguageCards::OPTS[:help]
|
|
10
|
+
puts LanguageCards::OPTS
|
|
11
|
+
else
|
|
12
|
+
LanguageCards.start
|
|
13
|
+
end
|
|
8
14
|
|
data/cards/en/arabic.yml
ADDED
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
---
|
|
2
|
+
# Arabic: Alphabet (31), Numbers (23), Numerals (10), Common Words (245), Phrases (48)
|
|
3
|
+
Arabic:
|
|
4
|
+
Alphabet:
|
|
5
|
+
mapping: { Arabic script: [Latin, Letter name] }
|
|
6
|
+
ا: [a, aa, alif]
|
|
7
|
+
ب: [b, baa, ba]
|
|
8
|
+
ت: [t, taa, ta]
|
|
9
|
+
ث: [th, thaa, tha]
|
|
10
|
+
ج: [j, jiim, jim]
|
|
11
|
+
ح: [h, '7', haa, ha]
|
|
12
|
+
خ: [kh, khaa]
|
|
13
|
+
د: [d, daal, dal]
|
|
14
|
+
ذ: [dh, dhaal, dhal]
|
|
15
|
+
ر: [r, raa, ra]
|
|
16
|
+
ز: [z, zaay, zay]
|
|
17
|
+
س: [s, siin, sin]
|
|
18
|
+
ش: [sh, shiin, shin]
|
|
19
|
+
ص: [s, saad, sad]
|
|
20
|
+
ض: [d, daad, dad]
|
|
21
|
+
ط: [t, taa, ta]
|
|
22
|
+
ظ: [z, dh, zaa, dhaa]
|
|
23
|
+
ع: [ayn, ain, '3']
|
|
24
|
+
غ: [gh, ghayn, ghain]
|
|
25
|
+
ف: [f, faa, fa]
|
|
26
|
+
ق: [q, qaaf, qaf]
|
|
27
|
+
ك: [k, kaaf, kaf]
|
|
28
|
+
ل: [l, laam, lam]
|
|
29
|
+
م: [m, miim, mim]
|
|
30
|
+
ن: ['n', nuun, nun]
|
|
31
|
+
ه: [h, haa, ha]
|
|
32
|
+
و: [w, u, waaw, waw]
|
|
33
|
+
ي: ['y', i, yaa, ya]
|
|
34
|
+
ء: [hamza, hamzah, '''']
|
|
35
|
+
ة: [a, at, taa marbuta, ta marbuta]
|
|
36
|
+
ى: [a, alif maqsura, alif maqsurah]
|
|
37
|
+
Numbers:
|
|
38
|
+
mapping: { Arabic: [Latin, English] }
|
|
39
|
+
صفر: [sifr, zero, '0']
|
|
40
|
+
واحد: [wahid, waahid, one, '1']
|
|
41
|
+
اثنان: [ithnan, ithnaan, two, '2']
|
|
42
|
+
ثلاثة: [thalatha, thalaatha, three, '3']
|
|
43
|
+
أربعة: [arbaa, arba'a, four, '4']
|
|
44
|
+
خمسة: [khamsa, five, '5']
|
|
45
|
+
ستة: [sitta, six, '6']
|
|
46
|
+
سبعة: [sabaa, sab'a, seven, '7']
|
|
47
|
+
ثمانية: [thamaniya, thamaaniya, eight, '8']
|
|
48
|
+
تسعة: [tisaa, tis'a, nine, '9']
|
|
49
|
+
عشرة: [ashara, ten, '10']
|
|
50
|
+
أحد عشر: [ahad ashar, eleven, '11']
|
|
51
|
+
اثنا عشر: [ithna ashar, twelve, '12']
|
|
52
|
+
عشرون: [ishrun, ishruun, twenty, '20']
|
|
53
|
+
ثلاثون: [thalathun, thalaathuun, thirty, '30']
|
|
54
|
+
أربعون: [arbaun, arba'uun, forty, '40']
|
|
55
|
+
خمسون: [khamsun, khamsuun, fifty, '50']
|
|
56
|
+
ستون: [sittun, sittuun, sixty, '60']
|
|
57
|
+
سبعون: [sabun, sab'uun, seventy, '70']
|
|
58
|
+
ثمانون: [thamanun, thamaanuun, eighty, '80']
|
|
59
|
+
تسعون: [tisun, tis'uun, ninety, '90']
|
|
60
|
+
مئة: [mia, mi'a, hundred, one hundred, '100']
|
|
61
|
+
ألف: [alf, thousand, one thousand, '1000']
|
|
62
|
+
Numerals:
|
|
63
|
+
mapping: { Arabic-Indic digits: [Digit, English] }
|
|
64
|
+
'٠': ['0', zero]
|
|
65
|
+
'١': ['1', one]
|
|
66
|
+
'٢': ['2', two]
|
|
67
|
+
'٣': ['3', three]
|
|
68
|
+
'٤': ['4', four]
|
|
69
|
+
'٥': ['5', five]
|
|
70
|
+
'٦': ['6', six]
|
|
71
|
+
'٧': ['7', seven]
|
|
72
|
+
'٨': ['8', eight]
|
|
73
|
+
'٩': ['9', nine]
|
|
74
|
+
Common Words:
|
|
75
|
+
mapping: { Arabic: [Latin, English] }
|
|
76
|
+
أنا: [ana, I]
|
|
77
|
+
أنت: [anta, anti, you]
|
|
78
|
+
هو: [huwa, he, it]
|
|
79
|
+
هي: [hiya, she, it]
|
|
80
|
+
نحن: [nahnu, we]
|
|
81
|
+
أنتم: [antum, you all, you]
|
|
82
|
+
هم: [hum, they]
|
|
83
|
+
هذا: [hadha, this]
|
|
84
|
+
هذه: [hadhihi, this]
|
|
85
|
+
ذلك: [dhalik, that]
|
|
86
|
+
أب: [ab, father]
|
|
87
|
+
أم: [umm, mother]
|
|
88
|
+
أخ: [akh, brother]
|
|
89
|
+
أخت: [ukht, sister]
|
|
90
|
+
ابن: [ibn, son]
|
|
91
|
+
بنت: [bint, daughter, girl]
|
|
92
|
+
زوج: [zawj, husband]
|
|
93
|
+
زوجة: [zawja, wife]
|
|
94
|
+
جد: [jadd, grandfather]
|
|
95
|
+
جدة: [jadda, grandmother]
|
|
96
|
+
عائلة: [aila, a'ila, family]
|
|
97
|
+
طفل: [tifl, child, baby]
|
|
98
|
+
ولد: [walad, boy, child]
|
|
99
|
+
رجل: [rajul, man]
|
|
100
|
+
امرأة: [imraa, imra'a, woman]
|
|
101
|
+
صديق: [sadiq, friend]
|
|
102
|
+
ناس: [nas, people]
|
|
103
|
+
معلم: [muallim, mu'allim, teacher]
|
|
104
|
+
طالب: [talib, student]
|
|
105
|
+
طبيب: [tabib, doctor]
|
|
106
|
+
رأس: [ras, ra's, head]
|
|
107
|
+
عين: [ayn, eye]
|
|
108
|
+
أذن: [udhun, ear]
|
|
109
|
+
أنف: [anf, nose]
|
|
110
|
+
فم: [fam, mouth]
|
|
111
|
+
يد: [yad, hand]
|
|
112
|
+
قدم: [qadam, foot]
|
|
113
|
+
شعر: [shaar, sha'r, hair]
|
|
114
|
+
قلب: [qalb, heart]
|
|
115
|
+
وجه: [wajh, face]
|
|
116
|
+
سن: [sinn, tooth]
|
|
117
|
+
ماء: [maa, ma', water]
|
|
118
|
+
طعام: [taam, ta'am, food]
|
|
119
|
+
خبز: [khubz, bread]
|
|
120
|
+
أرز: [aruzz, ruzz, rice]
|
|
121
|
+
لحم: [lahm, meat]
|
|
122
|
+
دجاج: [dajaj, chicken]
|
|
123
|
+
سمك: [samak, fish]
|
|
124
|
+
حليب: [halib, milk]
|
|
125
|
+
قهوة: [qahwa, coffee]
|
|
126
|
+
شاي: [shay, tea]
|
|
127
|
+
بيض: [bayd, eggs, egg]
|
|
128
|
+
فاكهة: [fakiha, fruit]
|
|
129
|
+
موز: [mawz, banana, bananas]
|
|
130
|
+
ملح: [milh, salt]
|
|
131
|
+
سكر: [sukkar, sugar]
|
|
132
|
+
برتقال: [burtuqal, orange, oranges]
|
|
133
|
+
كلب: [kalb, dog]
|
|
134
|
+
قطة: [qitta, cat]
|
|
135
|
+
طائر: [tair, ta'ir, bird]
|
|
136
|
+
حيوان: [hayawan, animal]
|
|
137
|
+
أحمر: [ahmar, red]
|
|
138
|
+
أزرق: [azraq, blue]
|
|
139
|
+
أخضر: [akhdar, green]
|
|
140
|
+
أصفر: [asfar, yellow]
|
|
141
|
+
أبيض: [abyad, white]
|
|
142
|
+
أسود: [aswad, black]
|
|
143
|
+
بني: [bunni, brown]
|
|
144
|
+
لون: [lawn, color, colour]
|
|
145
|
+
يوم: [yawm, day]
|
|
146
|
+
ليل: [layl, night]
|
|
147
|
+
صباح: [sabah, morning]
|
|
148
|
+
مساء: [masaa, masa', evening]
|
|
149
|
+
اليوم: [al-yawm, alyawm, today]
|
|
150
|
+
غدا: [ghadan, tomorrow]
|
|
151
|
+
أمس: [ams, yesterday]
|
|
152
|
+
الآن: [al-an, alan, now]
|
|
153
|
+
ساعة: [saa, sa'a, hour, clock, watch]
|
|
154
|
+
دقيقة: [daqiqa, minute]
|
|
155
|
+
أسبوع: [usbu, usbu', week]
|
|
156
|
+
شهر: [shahr, month]
|
|
157
|
+
سنة: [sana, year]
|
|
158
|
+
وقت: [waqt, time]
|
|
159
|
+
الأحد: [al-ahad, alahad, Sunday]
|
|
160
|
+
الاثنين: [al-ithnayn, alithnayn, Monday]
|
|
161
|
+
الثلاثاء: [ath-thulatha, aththulatha, Tuesday]
|
|
162
|
+
الأربعاء: [al-arbia, al-arbi'a, Wednesday]
|
|
163
|
+
الخميس: [al-khamis, alkhamis, Thursday]
|
|
164
|
+
الجمعة: [al-jumua, al-jum'a, Friday]
|
|
165
|
+
السبت: [as-sabt, assabt, Saturday]
|
|
166
|
+
بيت: [bayt, house, home]
|
|
167
|
+
مدرسة: [madrasa, school]
|
|
168
|
+
مستشفى: [mustashfa, hospital]
|
|
169
|
+
سوق: [suq, souq, market]
|
|
170
|
+
مطعم: [matam, mat'am, restaurant]
|
|
171
|
+
مدينة: [madina, city]
|
|
172
|
+
شارع: [shari, shari', street]
|
|
173
|
+
مسجد: [masjid, mosque]
|
|
174
|
+
مكتب: [maktab, office, desk]
|
|
175
|
+
مطار: [matar, airport]
|
|
176
|
+
فندق: [funduq, hotel]
|
|
177
|
+
جامعة: [jamia, jami'a, university]
|
|
178
|
+
غرفة: [ghurfa, room]
|
|
179
|
+
مطبخ: [matbakh, kitchen]
|
|
180
|
+
حمام: [hammam, bathroom, bath]
|
|
181
|
+
محطة: [mahatta, station]
|
|
182
|
+
بلد: [balad, country]
|
|
183
|
+
باب: [bab, door]
|
|
184
|
+
نافذة: [nafidha, window]
|
|
185
|
+
طاولة: [tawila, table]
|
|
186
|
+
كرسي: [kursi, chair]
|
|
187
|
+
سرير: [sarir, bed]
|
|
188
|
+
كتاب: [kitab, book]
|
|
189
|
+
قلم: [qalam, pen, pencil]
|
|
190
|
+
هاتف: [hatif, phone, telephone]
|
|
191
|
+
سيارة: [sayyara, car]
|
|
192
|
+
مفتاح: [miftah, key]
|
|
193
|
+
كوب: [kub, cup, glass]
|
|
194
|
+
ملابس: [malabis, clothes]
|
|
195
|
+
نقود: [nuqud, money]
|
|
196
|
+
حاسوب: [hasub, computer]
|
|
197
|
+
أكل: [akala, eat]
|
|
198
|
+
شرب: [shariba, drink]
|
|
199
|
+
ذهب: [dhahaba, go]
|
|
200
|
+
جاء: [jaa, ja'a, come]
|
|
201
|
+
كتب: [kataba, write]
|
|
202
|
+
قرأ: [qaraa, qara'a, read]
|
|
203
|
+
تكلم: [takallama, speak, talk]
|
|
204
|
+
قال: [qala, say]
|
|
205
|
+
رأى: [raa, ra'a, see]
|
|
206
|
+
سمع: [samia, sami'a, hear]
|
|
207
|
+
عرف: [arafa, know]
|
|
208
|
+
فهم: [fahima, understand]
|
|
209
|
+
أحب: [ahabba, love, like]
|
|
210
|
+
أراد: [arada, want]
|
|
211
|
+
عمل: [amal, work, job]
|
|
212
|
+
نام: [nama, sleep]
|
|
213
|
+
جلس: [jalasa, sit]
|
|
214
|
+
وقف: [waqafa, stand, stop]
|
|
215
|
+
مشى: [masha, walk]
|
|
216
|
+
ركض: [rakada, run]
|
|
217
|
+
فتح: [fataha, open]
|
|
218
|
+
أغلق: [aghlaqa, close, shut]
|
|
219
|
+
أعطى: [aata, a'ta, give]
|
|
220
|
+
أخذ: [akhadha, take]
|
|
221
|
+
اشترى: [ishtara, buy]
|
|
222
|
+
باع: [baa, ba'a, sell]
|
|
223
|
+
درس: [darasa, study]
|
|
224
|
+
تعلم: [taallama, ta'allama, learn]
|
|
225
|
+
ساعد: [saada, sa'ada, help]
|
|
226
|
+
لعب: [laiba, la'iba, play]
|
|
227
|
+
سأل: [saala, sa'ala, ask]
|
|
228
|
+
أجاب: [ajaba, answer, reply]
|
|
229
|
+
انتظر: [intazara, intadhara, wait]
|
|
230
|
+
بحث: [bahatha, search, look for]
|
|
231
|
+
وجد: [wajada, find]
|
|
232
|
+
دخل: [dakhala, enter, go in]
|
|
233
|
+
خرج: [kharaja, go out, exit, leave]
|
|
234
|
+
رجع: [rajaa, raja'a, return, come back]
|
|
235
|
+
سافر: [safara, travel]
|
|
236
|
+
فكر: [fakkara, think]
|
|
237
|
+
بدأ: [badaa, bada'a, begin, start]
|
|
238
|
+
انتهى: [intaha, end, finish]
|
|
239
|
+
دفع: [dafaa, dafa'a, pay, push]
|
|
240
|
+
كان: [kana, be, was]
|
|
241
|
+
اتصل: [ittasala, call, phone]
|
|
242
|
+
كبير: [kabir, big, large, old]
|
|
243
|
+
صغير: [saghir, small, little, young]
|
|
244
|
+
جديد: [jadid, new]
|
|
245
|
+
قديم: [qadim, old, ancient]
|
|
246
|
+
جيد: [jayyid, good]
|
|
247
|
+
سيء: [sayyi, sayyi', bad]
|
|
248
|
+
جميل: [jamil, beautiful, pretty, nice]
|
|
249
|
+
طويل: [tawil, long, tall]
|
|
250
|
+
قصير: [qasir, short]
|
|
251
|
+
حار: [harr, hot]
|
|
252
|
+
بارد: [barid, cold]
|
|
253
|
+
سهل: [sahl, easy]
|
|
254
|
+
صعب: [saab, sa'b, difficult, hard]
|
|
255
|
+
سريع: [sari, sari', fast, quick]
|
|
256
|
+
كثير: [kathir, many, much, a lot]
|
|
257
|
+
قليل: [qalil, few, little]
|
|
258
|
+
غني: [ghani, rich]
|
|
259
|
+
فقير: [faqir, poor]
|
|
260
|
+
سعيد: [said, sa'id, happy]
|
|
261
|
+
حزين: [hazin, sad]
|
|
262
|
+
جائع: [jai, ja'i', hungry]
|
|
263
|
+
عطشان: [atshan, thirsty]
|
|
264
|
+
متعب: [mutab, mut'ab, tired]
|
|
265
|
+
مريض: [marid, sick, ill]
|
|
266
|
+
نظيف: [nazif, nadhif, clean]
|
|
267
|
+
قريب: [qarib, near, close, relative]
|
|
268
|
+
بعيد: [baid, ba'id, far]
|
|
269
|
+
مفتوح: [maftuh, open]
|
|
270
|
+
مغلق: [mughlaq, closed, shut]
|
|
271
|
+
رخيص: [rakhis, cheap]
|
|
272
|
+
غالي: [ghali, expensive]
|
|
273
|
+
صحيح: [sahih, correct, right, 'true']
|
|
274
|
+
مهم: [muhimm, important]
|
|
275
|
+
كل: [kull, all, every, each]
|
|
276
|
+
ماذا: [madha, what]
|
|
277
|
+
من: [man, min, who, from]
|
|
278
|
+
أين: [ayna, where]
|
|
279
|
+
متى: [mata, when]
|
|
280
|
+
لماذا: [limadha, why]
|
|
281
|
+
كيف: [kayfa, how]
|
|
282
|
+
كم: [kam, how many, how much]
|
|
283
|
+
أي: [ayy, which]
|
|
284
|
+
نعم: [naam, na'am, 'yes']
|
|
285
|
+
لا: [la, 'no', not]
|
|
286
|
+
و: [wa, and]
|
|
287
|
+
أو: [aw, or]
|
|
288
|
+
لكن: [lakin, but]
|
|
289
|
+
في: [fi, in, at]
|
|
290
|
+
على: [ala, 'on']
|
|
291
|
+
مع: [maa, ma'a, with]
|
|
292
|
+
هنا: [huna, here]
|
|
293
|
+
هناك: [hunak, there]
|
|
294
|
+
جدا: [jiddan, very]
|
|
295
|
+
أيضا: [aydan, also, too]
|
|
296
|
+
يمين: [yamin, right]
|
|
297
|
+
يسار: [yasar, left]
|
|
298
|
+
فوق: [fawq, above, over, up]
|
|
299
|
+
تحت: [taht, under, below]
|
|
300
|
+
قبل: [qabla, before]
|
|
301
|
+
بعد: [bada, ba'da, after]
|
|
302
|
+
شمس: [shams, sun]
|
|
303
|
+
أرض: [ard, earth, land, ground]
|
|
304
|
+
مطر: [matar, rain]
|
|
305
|
+
شجرة: [shajara, tree]
|
|
306
|
+
نار: [nar, fire]
|
|
307
|
+
جبل: [jabal, mountain]
|
|
308
|
+
طريق: [tariq, road, way]
|
|
309
|
+
اسم: [ism, name]
|
|
310
|
+
لغة: [lugha, language]
|
|
311
|
+
كلمة: [kalima, word]
|
|
312
|
+
سؤال: [sual, su'al, question]
|
|
313
|
+
جواب: [jawab, answer, reply]
|
|
314
|
+
عربي: [arabi, Arabic, Arab]
|
|
315
|
+
إنجليزي: [injlizi, English]
|
|
316
|
+
شيء: [shay, shay', thing, something]
|
|
317
|
+
حياة: [hayat, life]
|
|
318
|
+
حافلة: [hafila, bus]
|
|
319
|
+
قطار: [qitar, train]
|
|
320
|
+
طائرة: [taira, ta'ira, airplane, plane]
|
|
321
|
+
Phrases:
|
|
322
|
+
mapping: { Arabic: [Latin, English] }
|
|
323
|
+
مرحبا: [marhaban, hello, hi]
|
|
324
|
+
أهلا: [ahlan, hi, hello]
|
|
325
|
+
أهلا وسهلا: [ahlan wa sahlan, welcome]
|
|
326
|
+
السلام عليكم: [as-salamu alaykum, assalamu alaykum, peace be upon you, hello]
|
|
327
|
+
وعليكم السلام: [wa alaykum as-salam, wa alaykum assalam, and peace be upon you, and upon you peace]
|
|
328
|
+
صباح الخير: [sabah al-khayr, sabah alkhayr, good morning]
|
|
329
|
+
صباح النور: [sabah an-nur, sabah annur, good morning]
|
|
330
|
+
مساء الخير: [masa al-khayr, masa alkhayr, good evening]
|
|
331
|
+
مساء النور: [masa an-nur, masa annur, good evening]
|
|
332
|
+
تصبح على خير: [tusbih ala khayr, good night]
|
|
333
|
+
مع السلامة: [maa as-salama, ma'a assalama, goodbye, bye]
|
|
334
|
+
إلى اللقاء: [ila al-liqa, ila alliqa, goodbye, see you]
|
|
335
|
+
أراك لاحقا: [araka lahiqan, see you later]
|
|
336
|
+
شكرا: [shukran, thank you, thanks]
|
|
337
|
+
شكرا جزيلا: [shukran jazilan, thank you very much, thanks a lot]
|
|
338
|
+
عفوا: [afwan, you're welcome, excuse me, pardon]
|
|
339
|
+
من فضلك: [min fadlak, min fadlik, please]
|
|
340
|
+
آسف: [asif, sorry, I'm sorry]
|
|
341
|
+
نعم: [naam, na'am, 'yes']
|
|
342
|
+
لا: [la, 'no']
|
|
343
|
+
كيف حالك: [kayfa haluk, kayfa halak, how are you]
|
|
344
|
+
أنا بخير: [ana bikhayr, I'm fine, I'm well]
|
|
345
|
+
الحمد لله: [al-hamdu lillah, alhamdulillah, praise be to God, thank God]
|
|
346
|
+
ما اسمك: [ma ismuk, ma ismak, what's your name, what is your name]
|
|
347
|
+
اسمي أحمد: [ismi ahmad, my name is Ahmad]
|
|
348
|
+
تشرفنا: [tasharrafna, nice to meet you, pleased to meet you]
|
|
349
|
+
أنا لا أفهم: [ana la afham, I don't understand]
|
|
350
|
+
لا أعرف: [la aarif, la a'rif, I don't know]
|
|
351
|
+
هل تتكلم الإنجليزية: [hal tatakallam al-injliziya, hal tatakallam alinjliziya, do you speak English]
|
|
352
|
+
أتكلم العربية قليلا: [atakallam al-arabiya qalilan, atakallam alarabiya qalilan, I speak a little Arabic]
|
|
353
|
+
تكلم ببطء من فضلك: [takallam bibut min fadlak, speak slowly please, please speak slowly]
|
|
354
|
+
أين الحمام: [ayna al-hammam, ayna alhammam, where is the bathroom, where is the toilet]
|
|
355
|
+
أين المحطة: [ayna al-mahatta, ayna almahatta, where is the station]
|
|
356
|
+
أين الفندق: [ayna al-funduq, ayna alfunduq, where is the hotel]
|
|
357
|
+
كم الثمن: [kam ath-thaman, kam aththaman, how much is it, how much]
|
|
358
|
+
بكم هذا: [bikam hadha, how much is this]
|
|
359
|
+
من أين أنت: [min ayna anta, min ayna anti, where are you from]
|
|
360
|
+
أنا من أمريكا: [ana min amrika, I'm from America, I am from America]
|
|
361
|
+
أريد ماء: [urid maa, urid ma', I want water]
|
|
362
|
+
الحساب من فضلك: [al-hisab min fadlak, alhisab min fadlak, the bill please, check please]
|
|
363
|
+
هل يمكن أن تساعدني: [hal yumkin an tusaidani, hal yumkin an tusa'idani, can you help me]
|
|
364
|
+
كم الساعة: [kam as-saa, kam assa'a, what time is it]
|
|
365
|
+
لا بأس: [la bas, la ba's, it's okay, no problem, never mind]
|
|
366
|
+
لا مشكلة: [la mushkila, no problem]
|
|
367
|
+
تفضل: [tafaddal, please go ahead, here you are, come in]
|
|
368
|
+
إن شاء الله: [in sha allah, inshallah, God willing, hopefully]
|
|
369
|
+
أنا أحبك: [ana uhibbuk, I love you]
|
|
370
|
+
بالتوفيق: [bit-tawfiq, bittawfiq, good luck]
|