Skip to content

Commit c0926d6

Browse files
authored
feat: add dutch corpus (#136)
Inclues US/QWERTY layout (used in the Netherlands) ad AZERTY layout (used in Belgium).
1 parent c294246 commit c0926d6

File tree

15 files changed

+3174
-0
lines changed

15 files changed

+3174
-0
lines changed

packages/keybr-content-words/lib/data/words-nl.json

+3,002
Large diffs are not rendered by default.

packages/keybr-content-words/lib/load.ts

+7
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,13 @@ export async function loadWordList(language: Language): Promise<WordList> {
6666
"./data/words-it.json"
6767
)
6868
).default as unknown as WordList;
69+
case Language.NL:
70+
return (
71+
await import(
72+
/* webpackChunkName: "words-nl" */
73+
"./data/words-nl.json"
74+
)
75+
).default as unknown as WordList;
6976
case Language.PL:
7077
return (
7178
await import(

packages/keybr-keyboard-generator/lib/index.ts

+8
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,14 @@ const files: readonly [input: string | LayoutConfig, output: string][] = [
7373
"cldr-keyboards-43.0/keyboards/windows/it-t-k0-windows.xml",
7474
"../keybr-keyboard/lib/data/layout/it_it-win.ts",
7575
],
76+
[
77+
"cldr-keyboards-43.0/keyboards/windows/fr-t-k0-windows.xml",
78+
"../keybr-keyboard/lib/data/layout/nl_be-win.ts",
79+
],
80+
[
81+
"cldr-keyboards-43.0/keyboards/windows/en-t-k0-windows.xml",
82+
"../keybr-keyboard/lib/data/layout/nl_nl-win.ts",
83+
],
7684
[
7785
"cldr-keyboards-43.0/keyboards/windows/pl-t-k0-windows-extended.xml",
7886
"../keybr-keyboard/lib/data/layout/pl_pl-win.ts",

packages/keybr-keyboard/lib/data/layout.ts

+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export { LAYOUT_FR_OPTIMOT_ERGO } from "./layout/fr_optimot_ergo.ts";
2424
export { LAYOUT_HE_IL_WIN } from "./layout/he_il-win.ts";
2525
export { LAYOUT_IT_IT_WIN } from "./layout/it_it-win.ts";
2626
export { LAYOUT_JA_JP_JIS } from "./layout/ja_jp_jis.ts";
27+
export { LAYOUT_NL_BE_WIN } from "./layout/nl_be-win.ts";
28+
export { LAYOUT_NL_NL_WIN } from "./layout/nl_nl-win.ts";
2729
export { LAYOUT_PL_PL_WIN } from "./layout/pl_pl-win.ts";
2830
export { LAYOUT_PT_BR_WIN } from "./layout/pt_br-win.ts";
2931
export { LAYOUT_PT_PT_WIN } from "./layout/pt_pt-win.ts";
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Generated file, do not edit.
2+
3+
import { type CodePointDict } from "../../types.ts";
4+
5+
// prettier-ignore
6+
export const LAYOUT_NL_BE_WIN: CodePointDict = {
7+
Backquote: [/* ² */ 0x00b2],
8+
Digit1: [/* & */ 0x0026, /* 1 */ 0x0031],
9+
Digit2: [/* é */ 0x00e9, /* 2 */ 0x0032, /* DEAD TILDE */ 0x0303],
10+
Digit3: [/* " */ 0x0022, /* 3 */ 0x0033, /* # */ 0x0023],
11+
Digit4: [/* ' */ 0x0027, /* 4 */ 0x0034, /* { */ 0x007b],
12+
Digit5: [/* ( */ 0x0028, /* 5 */ 0x0035, /* [ */ 0x005b],
13+
Digit6: [/* - */ 0x002d, /* 6 */ 0x0036, /* | */ 0x007c],
14+
Digit7: [/* è */ 0x00e8, /* 7 */ 0x0037, /* DEAD GRAVE ACCENT */ 0x0300],
15+
Digit8: [/* _ */ 0x005f, /* 8 */ 0x0038, /* \ */ 0x005c],
16+
Digit9: [/* ç */ 0x00e7, /* 9 */ 0x0039, /* ^ */ 0x005e],
17+
Digit0: [/* à */ 0x00e0, /* 0 */ 0x0030, /* @ */ 0x0040],
18+
Minus: [/* ) */ 0x0029, /* ° */ 0x00b0, /* ] */ 0x005d],
19+
Equal: [/* = */ 0x003d, /* + */ 0x002b, /* } */ 0x007d],
20+
KeyQ: [/* a */ 0x0061, /* A */ 0x0041],
21+
KeyW: [/* z */ 0x007a, /* Z */ 0x005a],
22+
KeyE: [/* e */ 0x0065, /* E */ 0x0045, /* € */ 0x20ac],
23+
KeyR: [/* r */ 0x0072, /* R */ 0x0052],
24+
KeyT: [/* t */ 0x0074, /* T */ 0x0054],
25+
KeyY: [/* y */ 0x0079, /* Y */ 0x0059],
26+
KeyU: [/* u */ 0x0075, /* U */ 0x0055],
27+
KeyI: [/* i */ 0x0069, /* I */ 0x0049],
28+
KeyO: [/* o */ 0x006f, /* O */ 0x004f],
29+
KeyP: [/* p */ 0x0070, /* P */ 0x0050],
30+
BracketLeft: [/* DEAD CIRCUMFLEX ACCENT */ 0x0302, /* DEAD DIAERESIS */ 0x0308],
31+
BracketRight: [/* $ */ 0x0024, /* £ */ 0x00a3, /* ¤ */ 0x00a4],
32+
Backslash: [/* * */ 0x002a, /* µ */ 0x00b5],
33+
KeyA: [/* q */ 0x0071, /* Q */ 0x0051],
34+
KeyS: [/* s */ 0x0073, /* S */ 0x0053],
35+
KeyD: [/* d */ 0x0064, /* D */ 0x0044],
36+
KeyF: [/* f */ 0x0066, /* F */ 0x0046],
37+
KeyG: [/* g */ 0x0067, /* G */ 0x0047],
38+
KeyH: [/* h */ 0x0068, /* H */ 0x0048],
39+
KeyJ: [/* j */ 0x006a, /* J */ 0x004a],
40+
KeyK: [/* k */ 0x006b, /* K */ 0x004b],
41+
KeyL: [/* l */ 0x006c, /* L */ 0x004c],
42+
Semicolon: [/* m */ 0x006d, /* M */ 0x004d],
43+
Quote: [/* ù */ 0x00f9, /* % */ 0x0025],
44+
IntlBackslash: [/* < */ 0x003c, /* > */ 0x003e],
45+
KeyZ: [/* w */ 0x0077, /* W */ 0x0057],
46+
KeyX: [/* x */ 0x0078, /* X */ 0x0058],
47+
KeyC: [/* c */ 0x0063, /* C */ 0x0043],
48+
KeyV: [/* v */ 0x0076, /* V */ 0x0056],
49+
KeyB: [/* b */ 0x0062, /* B */ 0x0042],
50+
KeyN: [/* n */ 0x006e, /* N */ 0x004e],
51+
KeyM: [/* , */ 0x002c, /* ? */ 0x003f],
52+
Comma: [/* ; */ 0x003b, /* . */ 0x002e],
53+
Period: [/* : */ 0x003a, /* / */ 0x002f],
54+
Slash: [/* ! */ 0x0021, /* § */ 0x00a7],
55+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
// Generated file, do not edit.
2+
3+
import { type CodePointDict } from "../../types.ts";
4+
5+
// prettier-ignore
6+
export const LAYOUT_NL_NL_WIN: CodePointDict = {
7+
Backquote: [/* ` */ 0x0060, /* ~ */ 0x007e],
8+
Digit1: [/* 1 */ 0x0031, /* ! */ 0x0021],
9+
Digit2: [/* 2 */ 0x0032, /* @ */ 0x0040],
10+
Digit3: [/* 3 */ 0x0033, /* # */ 0x0023],
11+
Digit4: [/* 4 */ 0x0034, /* $ */ 0x0024],
12+
Digit5: [/* 5 */ 0x0035, /* % */ 0x0025],
13+
Digit6: [/* 6 */ 0x0036, /* ^ */ 0x005e],
14+
Digit7: [/* 7 */ 0x0037, /* & */ 0x0026],
15+
Digit8: [/* 8 */ 0x0038, /* * */ 0x002a],
16+
Digit9: [/* 9 */ 0x0039, /* ( */ 0x0028],
17+
Digit0: [/* 0 */ 0x0030, /* ) */ 0x0029],
18+
Minus: [/* - */ 0x002d, /* _ */ 0x005f],
19+
Equal: [/* = */ 0x003d, /* + */ 0x002b],
20+
KeyQ: [/* q */ 0x0071, /* Q */ 0x0051],
21+
KeyW: [/* w */ 0x0077, /* W */ 0x0057],
22+
KeyE: [/* e */ 0x0065, /* E */ 0x0045],
23+
KeyR: [/* r */ 0x0072, /* R */ 0x0052],
24+
KeyT: [/* t */ 0x0074, /* T */ 0x0054],
25+
KeyY: [/* y */ 0x0079, /* Y */ 0x0059],
26+
KeyU: [/* u */ 0x0075, /* U */ 0x0055],
27+
KeyI: [/* i */ 0x0069, /* I */ 0x0049],
28+
KeyO: [/* o */ 0x006f, /* O */ 0x004f],
29+
KeyP: [/* p */ 0x0070, /* P */ 0x0050],
30+
BracketLeft: [/* [ */ 0x005b, /* { */ 0x007b],
31+
BracketRight: [/* ] */ 0x005d, /* } */ 0x007d],
32+
Backslash: [/* \ */ 0x005c, /* | */ 0x007c],
33+
KeyA: [/* a */ 0x0061, /* A */ 0x0041],
34+
KeyS: [/* s */ 0x0073, /* S */ 0x0053],
35+
KeyD: [/* d */ 0x0064, /* D */ 0x0044],
36+
KeyF: [/* f */ 0x0066, /* F */ 0x0046],
37+
KeyG: [/* g */ 0x0067, /* G */ 0x0047],
38+
KeyH: [/* h */ 0x0068, /* H */ 0x0048],
39+
KeyJ: [/* j */ 0x006a, /* J */ 0x004a],
40+
KeyK: [/* k */ 0x006b, /* K */ 0x004b],
41+
KeyL: [/* l */ 0x006c, /* L */ 0x004c],
42+
Semicolon: [/* ; */ 0x003b, /* : */ 0x003a],
43+
Quote: [/* ' */ 0x0027, /* " */ 0x0022],
44+
IntlBackslash: [/* \ */ 0x005c, /* | */ 0x007c],
45+
KeyZ: [/* z */ 0x007a, /* Z */ 0x005a],
46+
KeyX: [/* x */ 0x0078, /* X */ 0x0058],
47+
KeyC: [/* c */ 0x0063, /* C */ 0x0043],
48+
KeyV: [/* v */ 0x0076, /* V */ 0x0056],
49+
KeyB: [/* b */ 0x0062, /* B */ 0x0042],
50+
KeyN: [/* n */ 0x006e, /* N */ 0x004e],
51+
KeyM: [/* m */ 0x006d, /* M */ 0x004d],
52+
Comma: [/* , */ 0x002c, /* < */ 0x003c],
53+
Period: [/* . */ 0x002e, /* > */ 0x003e],
54+
Slash: [/* / */ 0x002f, /* ? */ 0x003f],
55+
};

packages/keybr-keyboard/lib/load.ts

+4
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ import {
3939
LAYOUT_HE_IL_WIN,
4040
LAYOUT_IT_IT_WIN,
4141
LAYOUT_JA_JP_JIS,
42+
LAYOUT_NL_BE_WIN,
43+
LAYOUT_NL_NL_WIN,
4244
LAYOUT_PL_PL_WIN,
4345
LAYOUT_PT_BR_WIN,
4446
LAYOUT_PT_PT_WIN,
@@ -77,6 +79,8 @@ const layoutDict = new Map<Layout, CodePointDict>([
7779
[Layout.FR_OPTIMOT_ERGO, LAYOUT_FR_OPTIMOT_ERGO],
7880
[Layout.HE_IL, LAYOUT_HE_IL_WIN],
7981
[Layout.IT_IT, LAYOUT_IT_IT_WIN],
82+
[Layout.NL_BE, LAYOUT_NL_BE_WIN],
83+
[Layout.NL_NL, LAYOUT_NL_NL_WIN],
8084
[Layout.PL_PL, LAYOUT_PL_PL_WIN],
8185
[Layout.PT_BR, LAYOUT_PT_BR_WIN],
8286
[Layout.PT_PT, LAYOUT_PT_PT_WIN],

packages/keybr-layout/lib/language.ts

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export class Language implements EnumItem {
1010
static readonly FR = new Language("fr", "latin", "ltr");
1111
static readonly HE = new Language("he", "hebrew", "rtl");
1212
static readonly IT = new Language("it", "latin", "ltr");
13+
static readonly NL = new Language("nl", "latin", "ltr");
1314
static readonly PL = new Language("pl", "latin", "ltr");
1415
static readonly PT = new Language("pt", "latin", "ltr");
1516
static readonly RU = new Language("ru", "cyrillic", "ltr");
@@ -27,6 +28,7 @@ export class Language implements EnumItem {
2728
Language.FR,
2829
Language.HE,
2930
Language.IT,
31+
Language.NL,
3032
Language.PL,
3133
Language.PT,
3234
Language.RU,

packages/keybr-layout/lib/layout.ts

+32
Original file line numberDiff line numberDiff line change
@@ -304,6 +304,36 @@ export class Layout implements XEnumItem {
304304
Geometry.MATRIX,
305305
),
306306
);
307+
static readonly NL_BE = new Layout(
308+
/* id= */ "nl-azerty",
309+
/* xid= */ 0x91,
310+
/* name= */ "Belgium",
311+
/* family= */ LayoutFamily.AZERTY,
312+
/* language= */ Language.NL,
313+
/* emulate= */ false,
314+
/* geometries= */ new Enum(
315+
Geometry.STANDARD_101,
316+
Geometry.STANDARD_101_FULL,
317+
Geometry.STANDARD_102,
318+
Geometry.STANDARD_102_FULL,
319+
Geometry.MATRIX,
320+
),
321+
);
322+
static readonly NL_NL = new Layout(
323+
/* id= */ "nl",
324+
/* xid= */ 0x90,
325+
/* name= */ "US",
326+
/* family= */ LayoutFamily.QWERTY,
327+
/* language= */ Language.NL,
328+
/* emulate= */ false,
329+
/* geometries= */ new Enum(
330+
Geometry.STANDARD_101,
331+
Geometry.STANDARD_101_FULL,
332+
Geometry.STANDARD_102,
333+
Geometry.STANDARD_102_FULL,
334+
Geometry.MATRIX,
335+
),
336+
);
307337
static readonly ES_ES = new Layout(
308338
/* id= */ "es",
309339
/* xid= */ 0x50,
@@ -514,6 +544,8 @@ export class Layout implements XEnumItem {
514544
Layout.FR_OPTIMOT_ERGO,
515545
Layout.HE_IL,
516546
Layout.IT_IT,
547+
Layout.NL_BE,
548+
Layout.NL_NL,
517549
Layout.ES_ES,
518550
Layout.PL_PL,
519551
Layout.PT_BR,

packages/keybr-phonetic-model-loader/lib/assets.ts

+3
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ import langEsData from "@keybr/phonetic-model/assets/lang-es.data";
88
import langFrData from "@keybr/phonetic-model/assets/lang-fr.data";
99
import langHeData from "@keybr/phonetic-model/assets/lang-he.data";
1010
import langItData from "@keybr/phonetic-model/assets/lang-it.data";
11+
import langNlData from "@keybr/phonetic-model/assets/lang-nl.data";
1112
import langPlData from "@keybr/phonetic-model/assets/lang-pl.data";
1213
import langPtData from "@keybr/phonetic-model/assets/lang-pt.data";
1314
import langRuData from "@keybr/phonetic-model/assets/lang-ru.data";
@@ -35,6 +36,8 @@ export function modelAssetPath(language: Language): string {
3536
return langHeData;
3637
case Language.IT:
3738
return langItData;
39+
case Language.NL:
40+
return langNlData;
3841
case Language.PL:
3942
return langPlData;
4043
case Language.PT:
Binary file not shown.
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
[]

packages/keybr-phonetic-model/lib/blacklist/blacklist.ts

+2
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import blacklistEn from "./blacklist-en.json";
55
import blacklistEs from "./blacklist-es.json";
66
import blacklistFr from "./blacklist-fr.json";
77
import blacklistIt from "./blacklist-it.json";
8+
import blacklistNl from "./blacklist-nl.json";
89
import blacklistPl from "./blacklist-pl.json";
910
import blacklistPt from "./blacklist-pt.json";
1011
import blacklistRu from "./blacklist-ru.json";
@@ -25,6 +26,7 @@ const blacklistByLanguage = ((items: [Language, string[]][]) =>
2526
[Language.ES, blacklistEs],
2627
[Language.FR, blacklistFr],
2728
[Language.IT, blacklistIt],
29+
[Language.NL, blacklistNl],
2830
[Language.PL, blacklistPl],
2931
[Language.PT, blacklistPt],
3032
[Language.RU, blacklistRu],
Binary file not shown.

packages/keybr-phonetic-model/lib/generate/languages.ts

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ export const languages: readonly Language[] = [
1515
{ id: "fr", alphabet: "aàbcçdeéèfghijlmnopqrstuvxyz" },
1616
{ id: "he", alphabet: "אבגדהוזחטיכךלמםנןסעפףצץקרשת" },
1717
{ id: "it", alphabet: "abcdefghijklmnopqrstuvwxyz" },
18+
{ id: "nl", alphabet: "abcdefghijklmnopqrstuvwxyz" },
1819
{ id: "pl", alphabet: "aąbcćdeęfghijklłmnńoóprsśtuwyzźż" },
1920
{ id: "pt", alphabet: "aáâãàbcçdeéêfghiíjklmnoóôõpqrstuúvwxyz" },
2021
{ id: "ru", alphabet: "абвгдежзийклмнопрстуфхцчшщъыьэюя" },

0 commit comments

Comments
 (0)