bayda-maghreb 1.0.4 → 1.0.6

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.
@@ -1,10 +1,74 @@
1
1
  {
2
- "name": "kab",
2
+ "code": "kab",
3
+ "name": "Kabyle",
3
4
  "keywords": {
4
5
  "ila": "if",
5
- "awla": "else"
6
- },
7
- "symbols": {},
8
- "code": "kab",
9
- "script": "Latin"
10
- }
6
+ "ma_yella": "if",
7
+ "awla": "else",
8
+ "ma_ulac": "else",
9
+ "asmi": "while",
10
+ "armi": "while",
11
+ "bedd": "break",
12
+ "kemmel": "continue",
13
+ "afecku": "function",
14
+ "tarrayt": "function",
15
+ "err_d": "return",
16
+ "rra_d": "return",
17
+ "tidet": "true",
18
+ "tikerkas": "false",
19
+ "ulac": "null",
20
+ "sider": "import",
21
+ "sufɣ": "export",
22
+ "taggayt": "class",
23
+ "amaynur": "new",
24
+ "asekfel": "try",
25
+ "ttef": "catch",
26
+ "taggara": "finally",
27
+ "ḍegger": "throw",
28
+ "afus": "Array",
29
+ "awalen": "String",
30
+ "umḍan": "Number",
31
+ "tamsirt": "Object",
32
+ "tabadut": "Boolean",
33
+ "asizdeg": "filter",
34
+ "asnifel": "map",
35
+ "agmer": "reduce",
36
+ "nadi": "find",
37
+ "arnu": "push",
38
+ "kkes": "pop",
39
+ "meslay": "console.log",
40
+ "seqdec": "sort",
41
+ "beddel": "replace",
42
+ "ferren": "split",
43
+ "seddukel": "join",
44
+ "semsawi": "equal",
45
+ "ameqqran": "greater",
46
+ "ameẓyan": "less",
47
+ "tikli": "loop",
48
+ "tikelt": "iteration",
49
+ "aɣbalu": "source",
50
+ "abrid": "path",
51
+ "isem": "name",
52
+ "azal": "value",
53
+ "tamawt": "type",
54
+ "asumer": "await",
55
+ "raǧu": "async",
56
+ "tazmert": "promise",
57
+ "tuccḍa": "error",
58
+ "tiɣri": "call",
59
+ "asali": "apply",
60
+ "tuqqna": "bind",
61
+ "akal": "global",
62
+ "agmam": "module",
63
+ "tawuri": "process",
64
+ "inadi": "index",
65
+ "amḍan": "count",
66
+ "amzwaru": "first",
67
+ "aneggaru": "last",
68
+ "talemmast": "middle",
69
+ "ini": "say",
70
+ "steqsi": "prompt",
71
+ "wali": "check",
72
+ "suɣel": "stringify"
73
+ }
74
+ }
@@ -1,17 +1,112 @@
1
1
  {
2
- "name": "kabyle-latin",
2
+ "code": "kab",
3
+ "name": "Kabyle",
3
4
  "keywords": {
4
5
  "ila": "if",
6
+ "ma_yella": "if",
5
7
  "awla": "else",
6
- "wila": "elif",
7
- "hata": "while",
8
- "dir": "do",
9
- "safi": "end",
10
- "ktab": "print",
11
- "jib": "input",
12
- "khrej": "return"
13
- },
14
- "symbols": {},
15
- "code": "kab-lat",
16
- "script": "Latin"
17
- }
8
+ "neɣ": "else",
9
+ "ma_ulac": "else",
10
+ "ma_yella_ur": "else if",
11
+ "i": "for",
12
+ "deg": "for",
13
+ "asmi": "while",
14
+ "armi": "while",
15
+ "efk": "do",
16
+ "bedd": "break",
17
+ "kemmel": "continue",
18
+ "afecku": "function",
19
+ "tarrayt": "function",
20
+ "err_d": "return",
21
+ "rra_d": "return",
22
+ "tidet": "true",
23
+ "tikerkas": "false",
24
+ "ulac": "null",
25
+ "ulac_akra": "null",
26
+ "sider": "import",
27
+ "sufɣ": "export",
28
+ "taggayt": "class",
29
+ "amaynur": "new",
30
+ "neki": "this",
31
+ "nec": "this",
32
+ "hat": "let",
33
+ "ili": "let",
34
+ "ur_nbeddel": "const",
35
+ "ahet": "var",
36
+ "asekfel": "try",
37
+ "ttef": "catch",
38
+ "taggara": "finally",
39
+ "ḍegger": "throw",
40
+ "afus": "Array",
41
+ "awalen": "String",
42
+ "umḍan": "Number",
43
+ "tamsirt": "Object",
44
+ "tabadut": "Boolean",
45
+ "tidukla": "Map",
46
+ "agraw": "Set",
47
+ "asizdeg": "filter",
48
+ "asnifel": "map",
49
+ "agmer": "reduce",
50
+ "nadi": "find",
51
+ "af": "get",
52
+ "sbedd": "set",
53
+ "arnu": "push",
54
+ "kkes": "pop",
55
+ "ɣer_teɣzi": "length",
56
+ "meslay": "log",
57
+ "print": "log",
58
+ "awal": "log",
59
+ "seqdec": "sort",
60
+ "beddel": "replace",
61
+ "ferren": "split",
62
+ "seddukel": "join",
63
+ "semsawi": "equal",
64
+ "ameqqran": "greater",
65
+ "ameẓyan": "less",
66
+ "amar": "and",
67
+ "neɣ": "or",
68
+ "ur": "not",
69
+ "yella": "exists",
70
+ "ulac": "empty",
71
+ "seg": "from",
72
+ "ɣer": "to",
73
+ "di": "in",
74
+ "s": "with",
75
+ "ak": "with",
76
+ "ɣef": "on",
77
+ "ddaw": "under",
78
+ "nnig": "above",
79
+ "zdat": "before",
80
+ "deffir": "after",
81
+ "tikli": "loop",
82
+ "tikelt": "iteration",
83
+ "aɣbalu": "source",
84
+ "abrid": "path",
85
+ "isem": "name",
86
+ "azal": "value",
87
+ "tamawt": "type",
88
+ "asumer": "await",
89
+ "raǧu": "async",
90
+ "tazmert": "promise",
91
+ "tuccḍa": "error",
92
+ "tiɣri": "call",
93
+ "asali": "apply",
94
+ "tuqqna": "bind",
95
+ "akal": "global",
96
+ "agmam": "module",
97
+ "tawuri": "process",
98
+ "talɣa": "args",
99
+ "inadi": "index",
100
+ "amḍan": "count",
101
+ "amzwaru": "first",
102
+ "aneggaru": "last",
103
+ "talemmast": "middle",
104
+ "aḥric": "slice",
105
+ "dukel": "concat",
106
+ "ini": "say",
107
+ "steqsi": "prompt",
108
+ "wali": "check",
109
+ "ferren": "parse",
110
+ "suɣel": "stringify"
111
+ }
112
+ }
@@ -0,0 +1,74 @@
1
+ {
2
+ "code": "kab",
3
+ "name": "Kabyle",
4
+ "keywords": {
5
+ "ila": "if",
6
+ "ma_yella": "if",
7
+ "awla": "else",
8
+ "ma_ulac": "else",
9
+ "asmi": "while",
10
+ "armi": "while",
11
+ "bedd": "break",
12
+ "kemmel": "continue",
13
+ "afecku": "function",
14
+ "tarrayt": "function",
15
+ "err_d": "return",
16
+ "rra_d": "return",
17
+ "tidet": "true",
18
+ "tikerkas": "false",
19
+ "ulac": "null",
20
+ "sider": "import",
21
+ "sufɣ": "export",
22
+ "taggayt": "class",
23
+ "amaynur": "new",
24
+ "asekfel": "try",
25
+ "ttef": "catch",
26
+ "taggara": "finally",
27
+ "ḍegger": "throw",
28
+ "afus": "Array",
29
+ "awalen": "String",
30
+ "umḍan": "Number",
31
+ "tamsirt": "Object",
32
+ "tabadut": "Boolean",
33
+ "asizdeg": "filter",
34
+ "asnifel": "map",
35
+ "agmer": "reduce",
36
+ "nadi": "find",
37
+ "arnu": "push",
38
+ "kkes": "pop",
39
+ "meslay": "console.log",
40
+ "seqdec": "sort",
41
+ "beddel": "replace",
42
+ "ferren": "split",
43
+ "seddukel": "join",
44
+ "semsawi": "equal",
45
+ "ameqqran": "greater",
46
+ "ameẓyan": "less",
47
+ "tikli": "loop",
48
+ "tikelt": "iteration",
49
+ "aɣbalu": "source",
50
+ "abrid": "path",
51
+ "isem": "name",
52
+ "azal": "value",
53
+ "tamawt": "type",
54
+ "asumer": "await",
55
+ "raǧu": "async",
56
+ "tazmert": "promise",
57
+ "tuccḍa": "error",
58
+ "tiɣri": "call",
59
+ "asali": "apply",
60
+ "tuqqna": "bind",
61
+ "akal": "global",
62
+ "agmam": "module",
63
+ "tawuri": "process",
64
+ "inadi": "index",
65
+ "amḍan": "count",
66
+ "amzwaru": "first",
67
+ "aneggaru": "last",
68
+ "talemmast": "middle",
69
+ "ini": "say",
70
+ "steqsi": "prompt",
71
+ "wali": "check",
72
+ "suɣel": "stringify"
73
+ }
74
+ }
@@ -0,0 +1,9 @@
1
+ afecku azul() {
2
+ meslay("Azul fell-awen!")
3
+ ila (tidet) {
4
+ meslay("Nekk d aqbayli, code-agi s teqbaylit!")
5
+ } awla {
6
+ meslay("Ulac")
7
+ }
8
+ }
9
+ azul()
package/index.js CHANGED
@@ -7,7 +7,7 @@ const __filename = fileURLToPath(import.meta.url)
7
7
  const __dirname = path.dirname(__filename)
8
8
 
9
9
  function load(entry) {
10
- const p = path.join(__dirname, 'data/dialects', entry.file)
10
+ const p = path.join(__dirname, 'data/dialects', entry.File)
11
11
  const dialect = JSON.parse(fs.readFileSync(p, 'utf8'))
12
12
  return dialect
13
13
  }
@@ -24,7 +24,17 @@ export function getAllDialects() {
24
24
 
25
25
  export { dialects }
26
26
 
27
- // باش يبقى يخدم كيما قبل كي تعمل node index.js kab
27
+ export const kab = getDialect('kab')
28
+ export const kabLatn = getDialect('kab-lat')
29
+ export const dz = getDialect('dz')
30
+ export const dzLatn = getDialect('dz-latn')
31
+ export const tnLatn = getDialect('tn-latn')
32
+ export const ma = getDialect('mr')
33
+ export const ly = getDialect('ly')
34
+ export const tif = getDialect('tif')
35
+
36
+ export default { getDialect, getAllDialects, dialects, kab, dz, ly, ma, tif }
37
+
28
38
  const arg = process.argv[2] || 'kab'
29
39
  if (process.argv[1] && process.argv[1].endsWith('index.js')) {
30
40
  if (arg === '--test') {
@@ -47,12 +57,3 @@ if (process.argv[1] && process.argv[1].endsWith('index.js')) {
47
57
  }
48
58
  }
49
59
  }
50
-
51
- // export default باش يخدم مع require و import
52
- export default { getDialect, getAllDialects, dialects }
53
- export const kab = getDialect('kab')
54
- export const dz = getDialect('dz')
55
- export const tn = getDialect('tn-latn')
56
- export const dzLatn = getDialect('dz-latn')
57
- export const ma = getDialect('mr')
58
- export const ly = getDialect('ly')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bayda-maghreb",
3
- "version": "1.0.4",
3
+ "version": "1.0.6",
4
4
  "description": "Bayda Maghreb - Tunisian, Algerian, Moroccan, Libyan, Mauritanian Arabic and Franco transliteration",
5
5
  "type": "module",
6
6
  "main": "index.js",
package/run-kab.js ADDED
@@ -0,0 +1,15 @@
1
+ import fs from 'fs'
2
+ import { createRequire } from 'module'
3
+ const require = createRequire(import.meta.url)
4
+ const kab = require('./data/dialects/kabyle.json')
5
+
6
+ let file = process.argv[2]
7
+ if(!file){ console.log("Usage: node run-kab.js file.kab.bayda"); process.exit(1) }
8
+
9
+ let code = fs.readFileSync(file,'utf8')
10
+ let entries = Object.entries(kab.keywords).sort((a,b)=>b[0].length-a[0].length)
11
+ for(let [k,v] of entries){
12
+ let en = v==='log'?'console.log':v
13
+ code = code.replace(new RegExp("\\b"+k+"\\b","g"), en)
14
+ }
15
+ eval(code)
@@ -1,10 +1,10 @@
1
1
  export const dialects = [
2
- { code: 'kab', file: 'kab.json', name: 'Kabyle' },
3
- { code: 'kab-lat', file: 'kabyle-latin.json', name: 'Kabyle Latin' },
4
- { code: 'ly', file: 'libya.json', name: 'Libya' },
5
- { code: 'mr', file: 'mauritania.json', name: 'Mauritania' },
6
- { code: 'tif', file: 'tifinagh.json', name: 'Tifinagh' },
7
- { code: 'tn-latn', file: 'tunisia_franco.json', name: 'Tounsi' },
8
- { code: 'dz', file: 'algeria.json', name: 'Dzair' },
9
- { code: 'dz-latn', file: 'algeria_franco.json', name: 'Dzair Franco' }
2
+ { code: 'kab', File: 'kabyle.json', name: 'Kabyle' },
3
+ { code: 'kab-lat', File: 'kabyle-latin.json', name: 'Kabyle Latin' },
4
+ { code: 'ly', File: 'libya.json', name: 'Libya' },
5
+ { code: 'mr', File: 'mauritania.json', name: 'Mauritania' },
6
+ { code: 'tif', File: 'tifinagh.json', name: 'Tifinagh' },
7
+ { code: 'tn-latn', File: 'tunisia_franco.json', name: 'Tounsi' },
8
+ { code: 'dz', File: 'algeria.json', name: 'Dzair' },
9
+ { code: 'dz-latn', File: 'algeria_franco.json', name: 'Dzair Franco' }
10
10
  ];
package/test.kab.bayda ADDED
@@ -0,0 +1,3 @@
1
+ ila tidet {
2
+ meslay "Azul fellawen!"
3
+ }