bayda-maghreb 0.0.0-stage โ 1.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.
- package/.gitignor +1 -0
- package/README.md +20 -2
- package/core/ast.ts +1 -0
- package/core/compile.ts +1 -0
- package/core/lexer.ts +4 -0
- package/core/loader.ts +1 -0
- package/core/mapping.ts +1 -0
- package/core/normalizer.ts +1 -0
- package/core/parser.ts +1 -0
- package/core/schema.ts +1 -0
- package/core/types.ts +1 -0
- package/data/dialects/algeria.json +105 -0
- package/data/dialects/algeria_franco.json +51 -0
- package/data/dialects/kab.json +10 -0
- package/data/dialects/kabyle-latin.json +17 -0
- package/data/dialects/libya.json +256 -0
- package/data/dialects/mauritania.json +17 -0
- package/data/dialects/tifinagh.json +17 -0
- package/data/dialects/tunisia_franco.json +115 -0
- package/examples/hello.kab +1 -0
- package/examples/hello.ly +1 -0
- package/examples/hello.mr +1 -0
- package/examples/hello.tfng +1 -0
- package/expected/hello.kab.txt +1 -0
- package/expected/hello.ly.txt +1 -0
- package/expected/hello.mr.txt +1 -0
- package/expected/hello.tfng.txt +1 -0
- package/index.html +33 -0
- package/index.js +39 -0
- package/lahjat/dzair/dzair.franko.bayda +118 -0
- package/lahjat/dzair/dzair1.bayda +116 -0
- package/lahjat/libya/libya.franko.bayda +336 -0
- package/lahjat/libya/libya1.bayda +374 -0
- package/lahjat/mr/mr.bayda +60 -0
- package/lahjat/mr/mr.franko.bayda +131 -0
- package/lahjat/tounsi/tounsi.franko.bayda +203 -0
- package/package.json +11 -4
- package/src/dialect-registry.js +10 -0
- package/tests/core/lexer.test.ts +3 -0
- package/tests/core/parser.test.ts +3 -0
- package/tsconfig.json +12 -0
- package/vitest.config.ts +2 -0
- package/writers/python-writer.ts +1 -0
- package//330/263/330/261 +0 -0
package/.gitignor
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
node_modules/
|
package/README.md
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Bayda Maghreb ๐ - Franco & Arabic Dialects
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
North African dialect transliteration library - Kabyle, Libya, Tunisia, Algeria, Mauritania, Tifinagh.
|
|
4
|
+
|
|
5
|
+
## v1.0 - 8 dialects green โ
|
|
6
|
+
|
|
7
|
+
| Code | Name | File | Lines | Status |
|
|
8
|
+
|------|------|------|-------|--------|
|
|
9
|
+
| kab | Kabyle | kab.json | - | โ
|
|
|
10
|
+
| kab-lat | Kabyle Latin | kabyle-latin.json | - | โ
|
|
|
11
|
+
| ly | Libya | libya.json | 374 | โ
|
|
|
12
|
+
| mr | Mauritania | mauritania.json | 130+ | โ
|
|
|
13
|
+
| tif | Tifinagh | tifinagh.json | - | โ
|
|
|
14
|
+
| tn-latn | Tounsi | tunisia_franco.json | 203 | โ
|
|
|
15
|
+
| dz | Dzair Arabic | algeria.json | 174 | โ
|
|
|
16
|
+
| dz-latn | Dzair Franco | algeria_franco.json | 174 | โ
|
|
|
17
|
+
|
|
18
|
+
## Install
|
|
19
|
+
|
|
20
|
+
```bash
|
|
21
|
+
npm install bayda-maghreb
|
package/core/ast.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type Node={type:string;[k:string]:any}; export type Program={type:'Program';body:Node[]};
|
package/core/compile.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {parse} from './parser.js'; export function compile(src:string){return parse(src);}
|
package/core/lexer.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type TokenType = 'IDENT'|'NUMBER'|'STRING'|'KEYWORD'|'SYMBOL'|'NEWLINE'|'EOF';
|
|
2
|
+
export interface Token{type:TokenType;value:string;line:number;col:number;}
|
|
3
|
+
const KEYWORDS=new Set(['ila','awla','wila','hata','dir','safi','ktab','jib','khrej']);
|
|
4
|
+
export function lex(input:string):Token[]{const tokens:Token[]=[];let line=1,col=1,i=0;while(i<input.length){const c=input[i];if(c==='\n'){tokens.push({type:'NEWLINE',value:'\n',line,col});line++;col=1;i++;continue;}if(/\s/.test(c)){col++;i++;continue;}if(c==='"'||c==="'"){const q=c;let v='';i++;col++;while(i<input.length&&input[i]!==q){v+=input[i];i++;col++;}i++;col++;tokens.push({type:'STRING',value:v,line,col});continue;}if(/[0-9]/.test(c)){let v='';while(i<input.length&&/[0-9.]/.test(input[i])){v+=input[i];i++;col++;}tokens.push({type:'NUMBER',value:v,line,col});continue;}if(/[a-zA-Z_ุก-ูโดฐ-โตฟ]/.test(c)){let v='';while(i<input.length&&/[a-zA-Z0-9_ุก-ูโดฐ-โตฟ]/.test(input[i])){v+=input[i];i++;col++;}if(KEYWORDS.has(v))tokens.push({type:'KEYWORD',value:v,line,col});else tokens.push({type:'IDENT',value:v,line,col});continue;}tokens.push({type:'SYMBOL',value:c,line,col});i++;col++;}tokens.push({type:'EOF',value:'',line,col});return tokens;}
|
package/core/loader.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import fs from 'fs'; import path from 'path'; export function loadDialect(name:string){const p=path.join(process.cwd(),'data','dialects',`${name}.json`);if(fs.existsSync(p))return JSON.parse(fs.readFileSync(p,'utf-8'));return null;}
|
package/core/mapping.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const baseMapping:Record<string,string>={ila:'if',awla:'else',wila:'elif',hata:'while',dir:'do',safi:'end',ktab:'print',jib:'input',khrej:'return'};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {Token} from './lexer.js'; export function normalize(tokens:Token[]):Token[]{return tokens;}
|
package/core/parser.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {lex} from './lexer.js'; import {Program} from './ast.js'; export function parse(input:string):Program{const tokens=lex(input);const body:any[]=[];let i=0;while(i<tokens.length){const t=tokens[i];if(t.type==='EOF')break;if(t.type==='NEWLINE'){i++;continue;}if(t.type==='KEYWORD'&&t.value==='ktab'){i++;if(tokens[i]){body.push({type:'Print',value:tokens[i].value});i++;}continue;}i++;}return{type:'Program',body};}
|
package/core/schema.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import {z} from 'zod'; export const DialectSchema=z.object({name:z.string(),keywords:z.record(z.string()),symbols:z.record(z.string())});
|
package/core/types.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export interface Dialect{name:string;keywords:Record<string,string>;symbols:Record<string,string>;}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "algeria",
|
|
3
|
+
"code": "dz",
|
|
4
|
+
"script": "Arabic",
|
|
5
|
+
"keywords": {
|
|
6
|
+
"ุฅูุง": "else",
|
|
7
|
+
"ูุฅูุง": "else",
|
|
8
|
+
"ุจุตุญ": "else",
|
|
9
|
+
"ุฅููุง": "if",
|
|
10
|
+
"ูููุงู": "if",
|
|
11
|
+
"ูุงู": "if",
|
|
12
|
+
"ูู": "if",
|
|
13
|
+
"ุทูู ู
ุง": "while",
|
|
14
|
+
"ู
ุงุฏุงู
": "while",
|
|
15
|
+
"ุฏูุฑ": "do",
|
|
16
|
+
"ูุฅูุง ูุงู": "elif",
|
|
17
|
+
"ููุง ูุงู": "elif",
|
|
18
|
+
"ุฏูุฑ": "for",
|
|
19
|
+
"ูู": "for",
|
|
20
|
+
"ุญุจูุณ": "break",
|
|
21
|
+
"ูุต": "break",
|
|
22
|
+
"ูููุช": "continue",
|
|
23
|
+
"ุฌูุฒ": "continue",
|
|
24
|
+
"ุฎูุงุต": "end",
|
|
25
|
+
"ูู
ู": "end",
|
|
26
|
+
"ุตุญ": "true",
|
|
27
|
+
"ุบุงูุท": "false",
|
|
28
|
+
"ู": "and",
|
|
29
|
+
"ููุง": "or",
|
|
30
|
+
"ู
ุงุดู": "not",
|
|
31
|
+
"ุฃููุดู": "print",
|
|
32
|
+
"ุจููู": "print",
|
|
33
|
+
"ูุฑูู": "print",
|
|
34
|
+
"ุฃุทุจุน": "print",
|
|
35
|
+
"ุฌูุจ": "input",
|
|
36
|
+
"ุฏุฎู": "input",
|
|
37
|
+
"ุฃูุฑุง": "input",
|
|
38
|
+
"ุณูุณู": "input",
|
|
39
|
+
"ุฑุฌูุน": "return",
|
|
40
|
+
"ูููู": "return",
|
|
41
|
+
"ุญุงุฌุฉ": "variable",
|
|
42
|
+
"ุนูุณุฉ": "variable",
|
|
43
|
+
"ุซุงุจุช": "constant",
|
|
44
|
+
"ู
ุณู
ุงุฑ": "constant",
|
|
45
|
+
"ููุณุชุฉ": "array_list",
|
|
46
|
+
"ุฎุงููุฉ": "null_empty",
|
|
47
|
+
"ู
ูุงุด": "null_empty",
|
|
48
|
+
"ูุงูู": "null_empty",
|
|
49
|
+
"ู
ุณุญ": "clear_delete",
|
|
50
|
+
"ููู": "clear_delete",
|
|
51
|
+
"ุฎุฏู
ุฉ": "function_method",
|
|
52
|
+
"ุดุนู": "run_execute",
|
|
53
|
+
"ุณุฌูู": "save_commit",
|
|
54
|
+
"ุฎุจูู": "save_commit",
|
|
55
|
+
"ุญููุณ": "debug",
|
|
56
|
+
"ุจุงุบ": "error_bug",
|
|
57
|
+
"ุทุงุญ": "crash",
|
|
58
|
+
"ุชู
ุช": "success",
|
|
59
|
+
"ุตูุญุช": "success",
|
|
60
|
+
"ููุฑู
ุฉ": "class",
|
|
61
|
+
"ูุงูุจ": "class",
|
|
62
|
+
"ูุณุฎุฉ": "clone",
|
|
63
|
+
"ูุฑุฎ": "object",
|
|
64
|
+
"ูุฑุซ": "inheritance",
|
|
65
|
+
"ุงูุฒุจุงู": "garbage_collector",
|
|
66
|
+
"ุงูุจุงุจ": "port",
|
|
67
|
+
"ุงูุฑูุดู": "api_endpoint",
|
|
68
|
+
"ุฃุจุนุซ": "request",
|
|
69
|
+
"ุฏุฒ": "request",
|
|
70
|
+
"ุฌูุงุจ": "response",
|
|
71
|
+
"ูุงุช ุงูููุช": "timeout",
|
|
72
|
+
"ุงูุณูุฑูุฑ": "server",
|
|
73
|
+
"ุทูู": "deploy",
|
|
74
|
+
"ุงูุฎุฒูู": "backup",
|
|
75
|
+
"ุฎูุท": "merge",
|
|
76
|
+
"ุฏูุน": "push",
|
|
77
|
+
"ุฃุฌุจุฏ": "pull",
|
|
78
|
+
"ุฏูุฑ ุจูุง ุญุจุงุณ": "infinite_loop",
|
|
79
|
+
"ุฃุณุชูู": "loading_spinner",
|
|
80
|
+
"ุนูุฏู ุงูุถู ุฎุถุฑ": "authorized",
|
|
81
|
+
"ุจูููู": "blocked_banned",
|
|
82
|
+
"ุญุจุณ": "freeze_not_responding",
|
|
83
|
+
"ุฃุฑูุฏ": "delay_sleep",
|
|
84
|
+
"ุงูุดูุฑุฉ": "password",
|
|
85
|
+
"ุงูุณุฑุงู": "hacker",
|
|
86
|
+
"ุงูุฎุฒูุฉ": "database",
|
|
87
|
+
"ุญููุณ ูู ุงูุฏูุชุฑ": "query",
|
|
88
|
+
"ุงูุจุตู
ุฉ": "primary_key",
|
|
89
|
+
"ุงูุณุงุณ": "framework",
|
|
90
|
+
"ูุงุจูุฑ": "open_source",
|
|
91
|
+
"ุนูุฏู": "localhost",
|
|
92
|
+
"ุงูููู": "cloud",
|
|
93
|
+
"ูุฑุน": "branch",
|
|
94
|
+
"ุชุฎูุทุช": "conflict",
|
|
95
|
+
"ูููู ููู
ุง ูุงู": "rollback",
|
|
96
|
+
"ุงููุจุณุฉ": "button",
|
|
97
|
+
"ุงูุฏุงุฎู": "padding",
|
|
98
|
+
"ุงูุจุฑุง": "margin",
|
|
99
|
+
"ุชุนูุท ูุฑูุญูุง": "recursion",
|
|
100
|
+
"ุตุญ ููุง ูุง": "boolean",
|
|
101
|
+
"ุฑุชูุจ": "sort",
|
|
102
|
+
"ุตููู": "filter"
|
|
103
|
+
},
|
|
104
|
+
"symbols": {}
|
|
105
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "algeria_franco",
|
|
3
|
+
"code": "dz-latn",
|
|
4
|
+
"script": "Latin",
|
|
5
|
+
"keywords": {
|
|
6
|
+
"ila": "if", "loukan": "if", "kan": "if", "ki": "if",
|
|
7
|
+
"bsah": "else", "w_ila": "else", "ella": "else",
|
|
8
|
+
"w_ila_kan": "elif", "ella_kan": "elif",
|
|
9
|
+
"toul_ma": "while", "madaam": "while",
|
|
10
|
+
"dir": "do",
|
|
11
|
+
"dour": "for", "lef": "for",
|
|
12
|
+
"7abbes": "break", "9oss": "break",
|
|
13
|
+
"fawet": "continue", "jouz": "continue",
|
|
14
|
+
"khlas": "end", "kamal": "end",
|
|
15
|
+
"s7i7": "true", "sah": "true",
|
|
16
|
+
"ghalet": "false",
|
|
17
|
+
"w": "and", "wella": "or", "machi": "not",
|
|
18
|
+
"bayen": "print", "wari": "print", "tba3": "print",
|
|
19
|
+
"jib": "input", "da5al": "input", "a9ra": "input",
|
|
20
|
+
"raja3": "return", "welli": "return",
|
|
21
|
+
"7aja": "variable", "3afsa": "variable",
|
|
22
|
+
"tabet": "constant", "mssamar": "constant",
|
|
23
|
+
"lista": "array_list",
|
|
24
|
+
"5awi": "null_empty", "makach": "null_empty", "walou": "null_empty", "fargh": "null_empty",
|
|
25
|
+
"msa7": "clear_delete", "n9i": "clear_delete",
|
|
26
|
+
"khedma": "function_method", "fonction": "function_method",
|
|
27
|
+
"ch3al": "run_execute", "5adem": "run_execute",
|
|
28
|
+
"sajal": "save_commit", "5abi": "save_commit",
|
|
29
|
+
"7awes": "debug", "bag": "error_bug", "ta7": "crash",
|
|
30
|
+
"tamet": "success", "sal7at": "success", "naja7": "success",
|
|
31
|
+
"forma": "class", "9aleb": "class", "noskha": "clone",
|
|
32
|
+
"ferkh": "object", "wart": "inheritance",
|
|
33
|
+
"zbel": "garbage_collector", "bab": "port",
|
|
34
|
+
"rawchen": "api_endpoint", "ab3at": "request",
|
|
35
|
+
"dez": "request", "jawb": "response", "fet_lwa9t": "timeout",
|
|
36
|
+
"sirfer": "server", "tla9": "deploy", "5azen": "backup",
|
|
37
|
+
"khalat": "merge", "dfa3": "push", "jbad": "pull",
|
|
38
|
+
"dour_bla_7sab": "infinite_loop", "estana": "loading_spinner",
|
|
39
|
+
"3ando_daw_a5dar": "authorized", "mbloki": "blocked_banned",
|
|
40
|
+
"m7abbes": "freeze_not_responding", "or9od": "delay_sleep",
|
|
41
|
+
"chifra": "password", "sara9": "hacker", "5azna": "database",
|
|
42
|
+
"7awes_fi_dfater": "query", "basma": "primary_key",
|
|
43
|
+
"sas": "framework", "fabor": "open_source", "3andi": "localhost",
|
|
44
|
+
"lfoug": "cloud", "far3": "branch", "tkhalatet": "conflict",
|
|
45
|
+
"welli_kima_kan": "rollback", "batma": "button",
|
|
46
|
+
"da5el": "padding", "barra": "margin",
|
|
47
|
+
"t3ayet_lro7ha": "recursion", "s7i7_wla_la": "boolean",
|
|
48
|
+
"rateb": "sort", "safi": "filter"
|
|
49
|
+
},
|
|
50
|
+
"symbols": {}
|
|
51
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "kabyle-latin",
|
|
3
|
+
"keywords": {
|
|
4
|
+
"ila": "if",
|
|
5
|
+
"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
|
+
}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "Libya",
|
|
3
|
+
"code": "ly",
|
|
4
|
+
"script": "Arabic",
|
|
5
|
+
"keywords": {
|
|
6
|
+
"ูุงู ุทุงุฑุช": "if",
|
|
7
|
+
"ูุฅูุงู": "else",
|
|
8
|
+
"ูุฅูุง ูุงู": "elif",
|
|
9
|
+
"ูุงู ุทุงุฑุช ุฃุฎุฑู": "elif",
|
|
10
|
+
"ูู": "elif",
|
|
11
|
+
"ุฏูุฑ": "for",
|
|
12
|
+
"ูู": "for",
|
|
13
|
+
"ููู": "foreach",
|
|
14
|
+
"ููู ูุงุญุฏ": "foreach",
|
|
15
|
+
"ุทูู ู
ุง ูู": "while",
|
|
16
|
+
"ุทุงูู
ุง": "while",
|
|
17
|
+
"ูุฑููู": "break",
|
|
18
|
+
"ูุต ุนูููุง": "break",
|
|
19
|
+
"ููุชูุง": "continue",
|
|
20
|
+
"ุฎุทูู
": "continue",
|
|
21
|
+
"ุญุงุฌุฉ ูุชุฎูุงุต": "variable",
|
|
22
|
+
"ู
ุณู
ุงุฑ ูู ุญูุท": "constant",
|
|
23
|
+
"ุณูุงูุท": "array_list",
|
|
24
|
+
"ุณุชููุฉ": "array_list",
|
|
25
|
+
"ู
ููุณ": "null_empty",
|
|
26
|
+
"ู
ููุด ุตุจุน": "null_empty",
|
|
27
|
+
"ุงู
ุณุญ ุงูุญูุงูุฉ": "clear_delete",
|
|
28
|
+
"ูุฑุจุน": "clear_delete",
|
|
29
|
+
"ุงูุตูุนุฉ": "function_method",
|
|
30
|
+
"ูููุน": "run_execute",
|
|
31
|
+
"ุงุถุบุท ุงูุฒุฑ": "run_execute",
|
|
32
|
+
"ูููุญ ูู ุงูุดุงุดุฉ": "print",
|
|
33
|
+
"ูุฑูููุง": "print",
|
|
34
|
+
"ุฃููู ุนูููุง": "save_commit",
|
|
35
|
+
"ุฏุณููุง": "save_commit",
|
|
36
|
+
"ูุจูุด": "debug",
|
|
37
|
+
"ุฏูุฑ ุงูุณุฑูุจ": "debug",
|
|
38
|
+
"ุนููุฉ": "error_bug",
|
|
39
|
+
"ุงูุณูุณุชู
ุฎุด ูู ุญูุท": "error_bug",
|
|
40
|
+
"ุทุงุญ ุงูุณูุฑูุฑ": "crash",
|
|
41
|
+
"ุชูุดูุด": "crash",
|
|
42
|
+
"ุชู
ุช ุจุฌูุฏุฉ": "success",
|
|
43
|
+
"ุฃู
ูุฑูุง ููุฒ": "success",
|
|
44
|
+
"ุงูููุฑู
ุฉ": "class",
|
|
45
|
+
"ุงููุตูุงูุฉ": "class",
|
|
46
|
+
"ุงููุณุฎุฉ": "object",
|
|
47
|
+
"ุงููุฑุฎ": "object",
|
|
48
|
+
"ุทุงูุน ูุจูุฉ": "inheritance",
|
|
49
|
+
"ู
ูุฑูุซ": "inheritance",
|
|
50
|
+
"ุงููููุงุณ": "garbage_collector",
|
|
51
|
+
"ูู
ูุงู
ุงููุถูุฉ": "garbage_collector",
|
|
52
|
+
"ุงูุฑูุดู": "api_endpoint",
|
|
53
|
+
"ูุฎุณ": "request",
|
|
54
|
+
"ุฏุฒููู": "request",
|
|
55
|
+
"ุฑุฌุนูู ุงูุฌูุงุจ": "response",
|
|
56
|
+
"ูุงุช ุงูู
ูุนุงุฏ": "timeout",
|
|
57
|
+
"ู
ููููุง": "timeout",
|
|
58
|
+
"ุงูุญูุด ุงููุจูุฑ": "server",
|
|
59
|
+
"ุงูุฑุฃุณ ุงููุจูุฑุฉ": "server",
|
|
60
|
+
"ูู ุญุฏ ุจุฑุฃุณู": "asynchronous",
|
|
61
|
+
"ุฃุทูู ูู ุงูุณูู": "deploy",
|
|
62
|
+
"ุทูุนูุง ููุถูุก": "deploy",
|
|
63
|
+
"ุงูุถู
ูุงู": "backup",
|
|
64
|
+
"ุงูุฎุฒูู": "backup",
|
|
65
|
+
"ูููุถ ุบุจุงุฑู": "update_upgrade",
|
|
66
|
+
"ุฏูุฑูู ููุทุฉ ุฌุฏูุฏุฉ": "update_upgrade",
|
|
67
|
+
"ุฎููุทูู
": "merge",
|
|
68
|
+
"ุตูุจู ุงูุญู
ูู ุนูู ุจุนุถูุง": "merge",
|
|
69
|
+
"ุฏูู ุงูููุฏ": "push",
|
|
70
|
+
"ุงุฌุจุฏู": "pull",
|
|
71
|
+
"ุณุงููุฉ ุชุฏูุฑ": "infinite_loop",
|
|
72
|
+
"ู
ุชุงูุฉ ุบุฑููุง ูููุง": "infinite_loop",
|
|
73
|
+
"ุฑุงุฌู ุดููุฉ": "loading_spinner",
|
|
74
|
+
"ูุจุฑู
": "loading_spinner",
|
|
75
|
+
"ุนูุฏู ุงูุถู ุงูุฃุฎุถุฑ": "authorized",
|
|
76
|
+
"ุตููุฑูุง ุนููู ุงูุณูุฉ": "blocked_banned",
|
|
77
|
+
"ุงูู
ุณุทุฑุฉ ุชุนุจูู": "progress_bar",
|
|
78
|
+
"ุฎุท ุงูุฎุทูุงุช": "progress_bar",
|
|
79
|
+
"ุฎูุฏ ููููุณ": "delay_sleep",
|
|
80
|
+
"ุงุฑูุฏ ุดููุฉ": "delay_sleep",
|
|
81
|
+
"ุชุบู
ูู ุงูุณุฑูุจ": "encryption",
|
|
82
|
+
"ุญุทูู ูู ูุฒููุฑ": "encryption",
|
|
83
|
+
"ุงูููู
ุฉ ุงูุณุฑุงููุฉ": "password",
|
|
84
|
+
"ุงูุดูุฑุฉ": "password",
|
|
85
|
+
"ุงูุณุฑูุงู": "hacker",
|
|
86
|
+
"ู
ุฎุฑุจุด ุงูุณูุณุชู
": "hacker",
|
|
87
|
+
"ุงูุชุฐูุฑุฉ": "token",
|
|
88
|
+
"ุงููุฑูุฉ": "token",
|
|
89
|
+
"ุงูุฎุฒููุฉ": "database",
|
|
90
|
+
"ุงูุฏูุชุฑ ุงููุจูุฑ": "database",
|
|
91
|
+
"ูุจุด ูู ุงูุฏูุงุชุฑ": "query",
|
|
92
|
+
"ุฏูุฑูู ุนูู": "query",
|
|
93
|
+
"ุงูุนูุงู
ุงุช": "index",
|
|
94
|
+
"ุฑุฃุณ ุงูุฎูุท": "index",
|
|
95
|
+
"ุงูุจุตู
ุฉ": "primary_key",
|
|
96
|
+
"ู
ุงููุงุฌ ููููุฏ": "refactoring",
|
|
97
|
+
"ุชุนุฏูู ูุชุณุชูู": "refactoring",
|
|
98
|
+
"ุงูุณุงุณ": "framework",
|
|
99
|
+
"ุงูุฑููุฒุฉ": "framework",
|
|
100
|
+
"ุณุจูู": "open_source",
|
|
101
|
+
"ู
ุชุงุญ ููุฌู
ูุน": "open_source",
|
|
102
|
+
"ูู ุฌูุงุฒู": "localhost",
|
|
103
|
+
"ุนูุฏู ููุง": "localhost",
|
|
104
|
+
"ููู": "cloud",
|
|
105
|
+
"ุณูุฑูุฑุงุช ุจุฑูุฉ": "cloud",
|
|
106
|
+
"ุฑูู
ุงูุนููุงู": "ip_address",
|
|
107
|
+
"ุนููุงู ุงูุฌูุงุฒ": "ip_address",
|
|
108
|
+
"ุงูู
ุฏุฎู": "port",
|
|
109
|
+
"ุงูุจุงุจ": "port",
|
|
110
|
+
"ูุณุน ุงูุฎุท": "bandwidth",
|
|
111
|
+
"ุณุนุฉ ุงูุดุจูุฉ": "bandwidth",
|
|
112
|
+
"ูุฑุน": "branch",
|
|
113
|
+
"ุชูุฑูุนุฉ": "branch",
|
|
114
|
+
"ุงุณุญุจ ูุณุฎุฉ": "clone",
|
|
115
|
+
"ูุฒููู ุนูุฏู": "clone",
|
|
116
|
+
"ุนูู ุฌูุจ": "staging_area",
|
|
117
|
+
"ู
ุฑุญูุฉ ุงูุชุฌููุฒ": "staging_area",
|
|
118
|
+
"ุชุฏุงุฎู": "conflict",
|
|
119
|
+
"ุฎุดุช ุจุนุถูุง": "conflict",
|
|
120
|
+
"ุงุฑุฌุน ููุชุงูู": "rollback",
|
|
121
|
+
"ุฑุฏูู ุฒู ู
ุง ูุงู": "rollback",
|
|
122
|
+
"ูู
ุดู ู
ุน ูู ุดุงุดุฉ": "responsive_design",
|
|
123
|
+
"ูุชุดูู ุญุณุจ ุงูุฌูุงุฒ": "responsive_design",
|
|
124
|
+
"ุงููุถุน ุงูู
ุนุชู
": "dark_mode",
|
|
125
|
+
"ุงูุฎูููุฉ ุงููุญูุฉ": "dark_mode",
|
|
126
|
+
"ุงููุจุณุฉ": "button",
|
|
127
|
+
"ุงููุฑุตุฉ": "button",
|
|
128
|
+
"ุงูุญุงุดูุฉ": "padding",
|
|
129
|
+
"ุงููุฑุงุบ ุงูุฏุงุฎูู": "padding",
|
|
130
|
+
"ุงูุจุนุฏ": "margin",
|
|
131
|
+
"ุงููุฑุงุบ ุงูุฎุงุฑุฌู": "margin",
|
|
132
|
+
"ุชูุงุฏู ุฑูุญูุง": "recursion",
|
|
133
|
+
"ุชูุฑุงุฑ ุฐุงุชู": "recursion",
|
|
134
|
+
"ุตุญ ูุฅูุง ุฎุทุฃ": "boolean",
|
|
135
|
+
"ุฅู ูุฅูุง ูุง": "boolean",
|
|
136
|
+
"ุณุชูู": "sort",
|
|
137
|
+
"ูุฑูุฒ": "sort",
|
|
138
|
+
"ุตููู": "filter",
|
|
139
|
+
"ุนุฒูู": "filter",
|
|
140
|
+
"ุชุชุจุน ุงูุฌุฑุฉ": "bug_tracking",
|
|
141
|
+
"ุชุตููุฉ ุงูุดูุงุฆุจ": "linting",
|
|
142
|
+
"ุตูุงุญูุชูุง ุชู
ุช": "deprecation",
|
|
143
|
+
"ุงูุฎุฏู
ุฉ ุงูุญูุฉ": "production",
|
|
144
|
+
"ุฑูุนุฉ ุณุฑูุนุฉ": "hotfix",
|
|
145
|
+
"ุชุญู
ูู ุฒุงูุฏ": "overloading",
|
|
146
|
+
"ุชู
ุซูู ูุชุฌุฑูุจ": "mocking",
|
|
147
|
+
"ุถุจุท ุงูุญุงู": "state_management",
|
|
148
|
+
"ุนุงุณ ุนูู ุงูุญุฑูุฉ": "event_listener",
|
|
149
|
+
"ุงูุญูู
ูู": "payload",
|
|
150
|
+
"ุชูุฌูู ุงูุณูุฉ": "routing",
|
|
151
|
+
"ุงูุฌูุณุฉ": "session",
|
|
152
|
+
"ุงููุชุงููุช": "cookies",
|
|
153
|
+
"ุงูู
ุฎุจุฃ ุงูู
ุคูุช": "cache",
|
|
154
|
+
"ู
ูุฒุน ุงูุฌูุฏ": "load_balancer",
|
|
155
|
+
"ุงููุณูุท": "proxy",
|
|
156
|
+
"ุญูุท ุงูุตุฏ": "firewall",
|
|
157
|
+
"ุงูุชุซุจุช ู
ู ุงููููุฉ": "authentication",
|
|
158
|
+
"ุฅุฐู ุงูุตูุงุญูุฉ": "authorization",
|
|
159
|
+
"ุฎุจุท ุนู
ูุงูู": "brute_force",
|
|
160
|
+
"ุงุตุทูุงุฏ ุงูุตูุฏ": "phishing",
|
|
161
|
+
"ู
ูุชุงุญ ุงูููู": "encryption_key",
|
|
162
|
+
"ูุชุญ ุงูุฑู
ูุฒ": "decryption",
|
|
163
|
+
"ุชูุธูู ุงูู
ุฏุฎูุงุช": "sanitization",
|
|
164
|
+
"ุฒุฑู ููุฏ": "injection",
|
|
165
|
+
"ุงูู
ุชุฌุฑ ูุงููุณุท": "environment",
|
|
166
|
+
"ุฌููุฒ ููุฎุฏู
ุฉ": "build",
|
|
167
|
+
"ุฑุญูู ุงูุจูุงูุงุช": "migration",
|
|
168
|
+
"ุชุนุจุฆุฉ ู
ุจุฏุฆูุฉ": "seed",
|
|
169
|
+
"ููุทุฉ ุงูุจุฏุงูุฉ": "trigger",
|
|
170
|
+
"ุฒุญู
ุฉ ูู ููุช ูุงุญุฏ": "concurrency",
|
|
171
|
+
"ุนุฑู ุงูุฎุฏู
ุฉ": "thread",
|
|
172
|
+
"ุงูุชุณููุฑุฉ ุงูู
ูุชุฉ": "deadlock",
|
|
173
|
+
"ุณุจุงู ุงูุฎุทูุงุช": "race_condition",
|
|
174
|
+
"ุงูุทุงุจูุฑ": "queue",
|
|
175
|
+
"ุงูู
ูุฏุณ": "stack",
|
|
176
|
+
"ุงูููู
ุฉ": "heap",
|
|
177
|
+
"ุงูู
ุคุดุฑ": "pointer",
|
|
178
|
+
"ุฑูู
ุงูุฎุงูุฉ": "array_index",
|
|
179
|
+
"ุณูุณูุฉ ุงูุญุฑูู": "string",
|
|
180
|
+
"ุงูุฑูู
ุงูุตุญูุญ": "integer",
|
|
181
|
+
"ุงูุฑูู
ุงูู
ูุณูุฑ": "float",
|
|
182
|
+
"ู
ุคุดุฑ ุงููุฑุงุบ": "null_pointer",
|
|
183
|
+
"ุงูู
ุชุฑุฌู
": "compiler",
|
|
184
|
+
"ุงูู
ูุณุฑ ุงูููุฑู": "interpreter",
|
|
185
|
+
"ุซูุงุฆู ุงูุฃุฑูุงู
": "binary",
|
|
186
|
+
"ูุธุงู
ุงูุณุชุฉ ุนุดุฑ": "hexadecimal",
|
|
187
|
+
"ู
ูุนุฏ ูุชูููุช": "cron_job",
|
|
188
|
+
"ุฅุดุนุงุฑ ููุฑู": "webhook",
|
|
189
|
+
"ูุฏุฑุฉ ุงูุชูุณุน": "scalability",
|
|
190
|
+
"ุงูุชุนุทูู": "latency",
|
|
191
|
+
"ุงูุฅูุชุงุฌูุฉ": "throughput",
|
|
192
|
+
"ููุช ุงููุดุงุท": "uptime",
|
|
193
|
+
"ููุช ุงูุทูุญุฉ": "downtime",
|
|
194
|
+
"ู
ุณุฌู ุงูุฃุญุฏุงุซ": "logs",
|
|
195
|
+
"ุชุชุจุน ุนู ุจุนุฏ": "telemetry",
|
|
196
|
+
"ู
ุฑุงูุจุฉ ุงููุถุน": "monitoring",
|
|
197
|
+
"ููุญุฉ ุงูุชุญูู
": "dashboard",
|
|
198
|
+
"ุงูุฅุถุงูุฉ": "plugin",
|
|
199
|
+
"ุงูุชูุณุนุฉ": "extension",
|
|
200
|
+
"ุงูู
ูุชุจุฉ": "library",
|
|
201
|
+
"ุงูู
ุนุชู
ุฏ ุนููู": "dependency",
|
|
202
|
+
"ุงูุตุฑุฉ": "package",
|
|
203
|
+
"ุงูู
ุณุชูุฏุน": "repository",
|
|
204
|
+
"ุชูุฑูุน ุงูู
ุดุฑูุน": "fork",
|
|
205
|
+
"ุทูุจ ุฏู
ุฌ": "pull_request",
|
|
206
|
+
"ูุญุต ุงูุดูุฑุฉ": "code_review",
|
|
207
|
+
"ุชุฌู
ูุน ู
ุณุชู
ุฑ": "continuous_integration",
|
|
208
|
+
"ุชุฌููุฒ ู
ุณุชู
ุฑ": "continuous_deployment",
|
|
209
|
+
"ูุณุฎุฉ ุชุฌุฑูุจูุฉ": "beta_version",
|
|
210
|
+
"ููุฏ ูุฏูู
": "legacy_code",
|
|
211
|
+
"ููุฏ ู
ุฎุจู": "spaghetti_code",
|
|
212
|
+
"ุณูู ุชููู": "technical_debt",
|
|
213
|
+
"ุตุญ": "true",
|
|
214
|
+
"ุฅู": "true",
|
|
215
|
+
"ุชู
ุงู
": "true",
|
|
216
|
+
"ุบูุท": "false",
|
|
217
|
+
"ูุง": "false",
|
|
218
|
+
"ู
ุด ุชู
ุงู
": "false",
|
|
219
|
+
"ู": "and",
|
|
220
|
+
"ููุง": "or",
|
|
221
|
+
"ู
ุด": "not",
|
|
222
|
+
"ู
ูุด": "not",
|
|
223
|
+
"ุฌูุจ ู
ู": "import",
|
|
224
|
+
"ุงุณุชูุฑุฏ": "import",
|
|
225
|
+
"ุฏุฎู ู
ูุชุจุฉ": "import",
|
|
226
|
+
"ุจุฑู
": "parameter",
|
|
227
|
+
"ู
ุนุงู
ู": "parameter",
|
|
228
|
+
"ูุฎุถ ูู ุงููุจู": "spinner_loader",
|
|
229
|
+
"ุงููู
ุจููุชุฑ ุฌู
ูุฏ": "freeze_not_responding",
|
|
230
|
+
"ุงูุฏูุงุฑุฉ ุงูุนุฌูุฉ ุชุจุฑู
": "spinner_loader",
|
|
231
|
+
"ูุจุด ุญุตู": "freeze_not_responding",
|
|
232
|
+
"ุงููู
ุจููุชุฑ ุฌู
ุฏ": "freeze_not_responding",
|
|
233
|
+
"ุฏููู ุงูุนูุงููู": "dns",
|
|
234
|
+
"ุดุฑูุท ุงูุงู
ุฑ": "script",
|
|
235
|
+
"ุงู
ุฑ ุงูุดุฑูุท": "script"
|
|
236
|
+
},
|
|
237
|
+
"symbols": {},
|
|
238
|
+
"ูููุญ ูู ุงูุดุงุดุฉ": "print",
|
|
239
|
+
"ููุญ ูู ุงูุดุงุดุฉ": "print",
|
|
240
|
+
"ูููุญ": "print",
|
|
241
|
+
"ููุญ": "print",
|
|
242
|
+
"ููู": "print",
|
|
243
|
+
"ุงูุชุจ": "print",
|
|
244
|
+
"ุงุทุจุน": "print",
|
|
245
|
+
"ูุชูุจ": "print",
|
|
246
|
+
"ktab": "print",
|
|
247
|
+
"ุฅุฐุง": "if",
|
|
248
|
+
"ูุงู": "if",
|
|
249
|
+
"ูุฅูุง": "else",
|
|
250
|
+
"ุฏูุฑ": "for",
|
|
251
|
+
"ููู": "while",
|
|
252
|
+
"ุตุญ": "true",
|
|
253
|
+
"ุฎุทุฃ": "false",
|
|
254
|
+
"ู": "and",
|
|
255
|
+
"ุฃู": "or"
|
|
256
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "mauritania",
|
|
3
|
+
"keywords": {
|
|
4
|
+
"ila": "if",
|
|
5
|
+
"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": "mr",
|
|
16
|
+
"script": "Arabic"
|
|
17
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tifinagh",
|
|
3
|
+
"keywords": {
|
|
4
|
+
"ila": "if",
|
|
5
|
+
"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": "tif",
|
|
16
|
+
"script": "Tifinagh"
|
|
17
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "tunisia_franco",
|
|
3
|
+
"code": "tn-latn",
|
|
4
|
+
"script": "Latin",
|
|
5
|
+
"keywords": {
|
|
6
|
+
"ila": "if",
|
|
7
|
+
"ken": "if",
|
|
8
|
+
"ki": "if",
|
|
9
|
+
"illa": "else",
|
|
10
|
+
"w_illa": "else",
|
|
11
|
+
"ama": "else",
|
|
12
|
+
"w_illa_ken": "elif",
|
|
13
|
+
"toul_ma": "while",
|
|
14
|
+
"madam": "while",
|
|
15
|
+
"wa9tli": "while",
|
|
16
|
+
"a3mel": "do",
|
|
17
|
+
"dir": "do",
|
|
18
|
+
"dour": "for",
|
|
19
|
+
"9os": "break",
|
|
20
|
+
"yezi": "break",
|
|
21
|
+
"7abbes": "break",
|
|
22
|
+
"fout": "continue",
|
|
23
|
+
"jouz": "continue",
|
|
24
|
+
"saye": "end",
|
|
25
|
+
"akaho": "end",
|
|
26
|
+
"wfa": "end",
|
|
27
|
+
"s7i7": "true",
|
|
28
|
+
"sah": "true",
|
|
29
|
+
"ghalet": "false",
|
|
30
|
+
"w": "and",
|
|
31
|
+
"zada": "and",
|
|
32
|
+
"walla": "or",
|
|
33
|
+
"moush": "not",
|
|
34
|
+
"mech": "not",
|
|
35
|
+
"mawech": "not",
|
|
36
|
+
"warri": "print",
|
|
37
|
+
"affichi": "print",
|
|
38
|
+
"otba3": "print",
|
|
39
|
+
"jib": "input",
|
|
40
|
+
"da5el": "input",
|
|
41
|
+
"a9ra": "input",
|
|
42
|
+
"rajja3": "return",
|
|
43
|
+
"rawa7": "return",
|
|
44
|
+
"7aja": "variable",
|
|
45
|
+
"7kaya": "variable",
|
|
46
|
+
"faza": "variable",
|
|
47
|
+
"thebet": "constant",
|
|
48
|
+
"lista": "array_list",
|
|
49
|
+
"feregh": "null_empty",
|
|
50
|
+
"5awi": "null_empty",
|
|
51
|
+
"mafamech": "null_empty",
|
|
52
|
+
"walou": "null_empty",
|
|
53
|
+
"fasa5": "clear_delete",
|
|
54
|
+
"nadhaf": "clear_delete",
|
|
55
|
+
"5edma": "function_method",
|
|
56
|
+
"fonction": "function_method",
|
|
57
|
+
"cha8el": "run_execute",
|
|
58
|
+
"e5dem": "run_execute",
|
|
59
|
+
"sajel": "save_commit",
|
|
60
|
+
"5abbi": "save_commit",
|
|
61
|
+
"thabbet": "debug",
|
|
62
|
+
"lawaj": "debug",
|
|
63
|
+
"bag": "error_bug",
|
|
64
|
+
"3athra": "error_bug",
|
|
65
|
+
"ta7": "crash",
|
|
66
|
+
"tfarek": "crash",
|
|
67
|
+
"tammet": "success",
|
|
68
|
+
"mrigla": "success",
|
|
69
|
+
"sal7et": "success",
|
|
70
|
+
"forma": "class",
|
|
71
|
+
"9aleb": "class",
|
|
72
|
+
"nos5a": "clone",
|
|
73
|
+
"ka3ba": "object",
|
|
74
|
+
"wort": "inheritance",
|
|
75
|
+
"zabbal": "garbage_collector",
|
|
76
|
+
"beb": "port",
|
|
77
|
+
"rawchan": "api_endpoint",
|
|
78
|
+
"ab3ath": "request",
|
|
79
|
+
"dez": "push",
|
|
80
|
+
"jaweb": "response",
|
|
81
|
+
"fet_lwa9et": "timeout",
|
|
82
|
+
"sirfer": "server",
|
|
83
|
+
"sayyeb": "deploy",
|
|
84
|
+
"5azin": "backup",
|
|
85
|
+
"5alet": "merge",
|
|
86
|
+
"ejbed": "pull",
|
|
87
|
+
"dour_ble_7seb": "infinite_loop",
|
|
88
|
+
"estanna": "loading_spinner",
|
|
89
|
+
"3ando_dhaw_a5dher": "authorized",
|
|
90
|
+
"bloki": "blocked_banned",
|
|
91
|
+
"7bes": "freeze_not_responding",
|
|
92
|
+
"or9od": "delay_sleep",
|
|
93
|
+
"chifra": "password",
|
|
94
|
+
"sarre9": "hacker",
|
|
95
|
+
"5azna": "database",
|
|
96
|
+
"lawaj_fi_daftar": "query",
|
|
97
|
+
"basma": "primary_key",
|
|
98
|
+
"ses": "framework",
|
|
99
|
+
"fabor": "open_source",
|
|
100
|
+
"3andi": "localhost",
|
|
101
|
+
"lfou9": "cloud",
|
|
102
|
+
"far3": "branch",
|
|
103
|
+
"t5altet": "conflict",
|
|
104
|
+
"arja3_kima_ken": "rollback",
|
|
105
|
+
"batma": "button",
|
|
106
|
+
"da5el2": "padding",
|
|
107
|
+
"barra": "margin",
|
|
108
|
+
"t3ayet_lrou7ha": "recursion",
|
|
109
|
+
"s7i7_walla_la": "boolean",
|
|
110
|
+
"rattab": "sort",
|
|
111
|
+
"saffi": "filter",
|
|
112
|
+
"barcha": "many"
|
|
113
|
+
},
|
|
114
|
+
"symbols": {}
|
|
115
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ktab "azul"
|