converted required leftToRight to optional rightToLeft (#4229)

* converted required leftToRight to optional rightToLeft

* merge straggler

* removed empty lines

* removed empty lines
This commit is contained in:
Jack 2023-04-26 23:34:13 +02:00 committed by GitHub
parent 91b3800616
commit 5543aaae65
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
283 changed files with 49 additions and 312 deletions

View file

@ -19,17 +19,15 @@ The contents of the file should be as follows:
```
{
"name": "language",
"leftToRight": true,
"ligatures": true,
"bcp47": "es-ES",
"words": [
"words",
]
"name": string,
"rightToLeft": boolean,
"ligatures": boolean,
"bcp47": string,
"words": string[]
}
```
It is recommended that you familiarize yourselves with JSON before adding a language. For the `name` field, put the name of your language. `leftToRight` indicates how the language is written. If it is written left to right then put `true`, otherwise put `false`.
It is recommended that you familiarize yourselves with JSON before adding a language. For the `name` field, put the name of your language. `rightToLeft` indicates how the language is written. If it is written left to right then put `true`, otherwise put `false`.
`ligatures` A ligature occurs when multiple letters are joined together to form a character [more details](<https://en.wikipedia.org/wiki/Ligature_(writing)>). If there's joining in the words, which is the case in languages like (Arabic, Malayalam, Persian, Sanskrit, Central_Kurdish... etc.), then set the value to `true`, otherwise set to `false`. For `bcp47` put your languages [IETF language tag](https://en.wikipedia.org/wiki/IETF_language_tag). Finally, add your list of words to the `words` field.
In addition to the language file, you need to add your language to the `_groups.json` and `_list.json` files in the same directory. Add the name of the language to the `_groups.json` file like so:

View file

@ -508,7 +508,7 @@ function validateLanguages() {
type: "object",
properties: {
name: { type: "string" },
leftToRight: { type: "boolean" },
rightToLeft: { type: "boolean" },
noLazyMode: { type: "boolean" },
bcp47: { type: "string" },
words: {
@ -525,7 +525,7 @@ function validateLanguages() {
},
},
},
required: ["name", "leftToRight", "words"],
required: ["name", "words"],
};
let languageFilesAllGood = true;
let languageWordListsAllGood = true;

View file

@ -62,12 +62,12 @@ export async function updatePosition(): Promise<void> {
] as HTMLElement;
const currentLanguage = await Misc.getCurrentLanguage(Config.language);
const isLanguageLeftToRight = currentLanguage.leftToRight;
const isLanguageRightToLeft = currentLanguage.rightToLeft;
const letterPosLeft =
(currentLetter
? currentLetter.offsetLeft
: previousLetter.offsetLeft + previousLetter.offsetWidth) +
(isLanguageLeftToRight
(!isLanguageRightToLeft
? 0
: currentLetter
? currentLetter.offsetWidth

View file

@ -885,7 +885,7 @@ export async function init(): Promise<void> {
}
}
if (Config.tapeMode !== "off" && !language.leftToRight) {
if (Config.tapeMode !== "off" && !language.rightToLeft) {
Notifications.add("This language does not support tape mode.", 0, {
important: true,
});
@ -1173,11 +1173,7 @@ export async function init(): Promise<void> {
}
}
//handle right-to-left languages
if (language.leftToRight) {
TestUI.arrangeCharactersLeftToRight();
} else {
TestUI.arrangeCharactersRightToLeft();
}
TestUI.setRightToLeft(language.rightToLeft);
if (language.ligatures) {
$("#words").addClass("withLigatures");
$("#resultWordsHistory .words").addClass("withLigatures");

View file

@ -830,16 +830,16 @@ export function lineJump(currentTop: number): void {
updateWordsHeight();
}
export function arrangeCharactersRightToLeft(): void {
$("#words").addClass("rightToLeftTest");
$("#resultWordsHistory .words").addClass("rightToLeftTest");
$("#resultReplay .words").addClass("rightToLeftTest");
}
export function arrangeCharactersLeftToRight(): void {
$("#words").removeClass("rightToLeftTest");
$("#resultWordsHistory .words").removeClass("rightToLeftTest");
$("#resultReplay .words").removeClass("rightToLeftTest");
export function setRightToLeft(isEnabled: boolean): void {
if (isEnabled) {
$("#words").addClass("rightToLeftTest");
$("#resultWordsHistory .words").addClass("rightToLeftTest");
$("#resultReplay .words").addClass("rightToLeftTest");
} else {
$("#words").removeClass("rightToLeftTest");
$("#resultWordsHistory .words").removeClass("rightToLeftTest");
$("#resultReplay .words").removeClass("rightToLeftTest");
}
}
async function loadWordsHistory(): Promise<boolean> {

View file

@ -20,7 +20,7 @@ declare namespace MonkeyTypes {
interface LanguageObject {
name: string;
leftToRight: boolean;
rightToLeft: boolean;
noLazyMode?: boolean;
ligatures?: boolean;
orderedByFrequency?: boolean;

View file

@ -1,6 +1,5 @@
{
"name": "afrikaans",
"leftToRight": true,
"words": [
"die",
"wees",

View file

@ -1,6 +1,5 @@
{
"name": "afrikaans_10k",
"leftToRight": true,
"words": [
"aan",
"aanbetref",

View file

@ -1,6 +1,5 @@
{
"name": "afrikaans_1k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"sterker",

View file

@ -1,6 +1,5 @@
{
"name": "albanian",
"leftToRight": true,
"words": [
"të",
"e",

View file

@ -1,6 +1,5 @@
{
"name": "albanian_1k",
"leftToRight": true,
"words": [
"I",
"e tij",

View file

@ -1,6 +1,5 @@
{
"name": "amharic",
"leftToRight": true,
"ligatures": false,
"bcp47": "am-ET",
"words": [

View file

@ -1,6 +1,6 @@
{
"name": "arabic",
"leftToRight": false,
"rightToLeft": true,
"ligatures": true,
"bcp47": "ar-SA",
"words": [

View file

@ -1,6 +1,6 @@
{
"name": "arabic_10k",
"leftToRight": false,
"rightToLeft": true,
"ligatures": true,
"bcp47": "ar-SA",
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "armenian_western",
"leftToRight": true,
"bcp47": "hyw",
"words": [
"կանանց",

View file

@ -1,6 +1,5 @@
{
"name": "armenian_western_1k",
"leftToRight": true,
"bcp47": "hyw",
"words": [
"թարգմանուած",

View file

@ -1,6 +1,5 @@
{
"name": "azerbaijani",
"leftToRight": true,
"bcp47": "az-AZ",
"words": [
"dərs",

View file

@ -1,6 +1,5 @@
{
"name": "azerbaijani_1k",
"leftToRight": true,
"bcp47": "az-AZ",
"words": [
"dərs",

View file

@ -1,6 +1,5 @@
{
"name": "bangla",
"leftToRight": true,
"ligatures": true,
"noLazyMode": true,
"bcp47": "bn-BD",

View file

@ -1,6 +1,5 @@
{
"name": "bangla_10k",
"leftToRight": true,
"ligatures": true,
"noLazyMode": true,
"bcp47": "bn_BD",

View file

@ -1,6 +1,5 @@
{
"name": "bangla_letters",
"leftToRight": true,
"ligatures": true,
"noLazyMode": true,
"bcp47": "bn-BD",

View file

@ -1,6 +1,5 @@
{
"name": "belarusian_1k",
"leftToRight": true,
"noLazyMode": true,
"bcp47": "be-BY",
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "bulgarian",
"leftToRight": true,
"noLazyMode": true,
"words": [
"а",

View file

@ -1,6 +1,5 @@
{
"name": "catalan",
"leftToRight": true,
"words": [
"de",
"la",

View file

@ -1,6 +1,5 @@
{
"name": "catalan_1k",
"leftToRight": true,
"words": [
"de",
"la",

View file

@ -1,6 +1,5 @@
{
"name": "chinese_traditional",
"leftToRight": true,
"noLazyMode": true,
"words": [
"安靜",

View file

@ -1,6 +1,5 @@
{
"name": "code_arduino",
"leftToRight": true,
"noLazyMode": true,
"words": [
"digitalRead",

View file

@ -1,6 +1,5 @@
{
"name": "code_assembly",
"leftToRight": true,
"noLazyMode": true,
"words": [
"AAA",

View file

@ -1,6 +1,5 @@
{
"name": "code_bash",
"leftToRight": true,
"noLazyMode": true,
"words": [
"ls",

View file

@ -1,6 +1,5 @@
{
"name": "code_brainfck",
"leftToRight": true,
"noLazyMode": true,
"words": [
">",

View file

@ -1,6 +1,5 @@
{
"name": "code_c++",
"leftToRight": true,
"noLazyMode": true,
"words": [
"alignas",

View file

@ -1,6 +1,5 @@
{
"name": "code_c",
"leftToRight": true,
"noLazyMode": true,
"words": [
"auto",

View file

@ -1,6 +1,5 @@
{
"name": "code_csharp",
"leftToRight": true,
"noLazyMode": true,
"words": [
"abstract",

View file

@ -1,6 +1,5 @@
{
"name": "code_css",
"leftToRight": true,
"noLazyMode": true,
"words": [
"background-color",

View file

@ -1,6 +1,5 @@
{
"name": "code_dart",
"leftToRight": true,
"noLazyMode": true,
"words": [
"()",

View file

@ -1,6 +1,5 @@
{
"name": "code_elixir",
"leftToRight": true,
"ligatures": true,
"words": [
"__MODULE__",

View file

@ -1,6 +1,5 @@
{
"name": "code_fsharp",
"leftToRight": true,
"words": [
"abstract",
"and",

View file

@ -1,6 +1,5 @@
{
"name": "code_gdscript",
"leftToRight": true,
"words": [
"var",
"const",

View file

@ -1,6 +1,5 @@
{
"name": "code_gdscript_2",
"leftToRight": true,
"words": [
"var",
"const",

View file

@ -1,6 +1,5 @@
{
"name": "code_go",
"leftToRight": true,
"noLazyMode": true,
"words": [
"break",

View file

@ -1,6 +1,5 @@
{
"name": "code_haskell",
"leftToRight": true,
"noLazyMode": true,
"words": [
"!",

View file

@ -1,6 +1,5 @@
{
"name": "code_html",
"leftToRight": true,
"noLazyMode": true,
"words": [
"-->",

View file

@ -1,6 +1,5 @@
{
"name": "code_java",
"leftToRight": true,
"noLazyMode": true,
"words": [
"abstract",

View file

@ -1,6 +1,5 @@
{
"name": "code_javascript",
"leftToRight": true,
"noLazyMode": true,
"words": [
"this",

View file

@ -1,6 +1,5 @@
{
"name": "code_javascript_1k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"var",

View file

@ -1,6 +1,5 @@
{
"name": "code_julia",
"leftToRight": true,
"noLazyMode": true,
"words": [
"return",

View file

@ -1,6 +1,5 @@
{
"name": "code_kotlin",
"leftToRight": true,
"words": [
"as",
"as?",

View file

@ -1,6 +1,5 @@
{
"name": "code_latex",
"leftToRight": true,
"noLazyMode": true,
"ligatures": false,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "code_lua",
"leftToRight": true,
"noLazyMode": true,
"words": [
"and",

View file

@ -1,6 +1,5 @@
{
"name": "code_luau",
"leftToRight": true,
"noLazyMode": true,
"words": [
"and",

View file

@ -1,6 +1,5 @@
{
"name": "code_matlab",
"leftToRight": true,
"noLazyMode": true,
"words": [
"x",

View file

@ -1,6 +1,5 @@
{
"name": "code_nim",
"leftToRight": true,
"noLazyMode": true,
"words": [
"addr",

View file

@ -1,6 +1,5 @@
{
"name": "code_opencl",
"leftToRight": true,
"noLazyMode": true,
"words": [
"static",

View file

@ -1,6 +1,5 @@
{
"name": "code_pascal",
"leftToRight": true,
"noLazyMode": true,
"words": [
"and",

View file

@ -1,6 +1,5 @@
{
"name": "code_perl",
"leftToRight": true,
"noLazyMode": true,
"words": [
"length",

View file

@ -1,6 +1,5 @@
{
"name": "code_php",
"leftToRight": true,
"noLazyMode": true,
"words": [
"this",

View file

@ -1,6 +1,5 @@
{
"name": "code_powershell",
"leftToRight": true,
"noLazyMode": true,
"words": [
"Add-Content",

View file

@ -1,6 +1,5 @@
{
"name": "code_python",
"leftToRight": true,
"noLazyMode": true,
"words": [
"__str__",

View file

@ -1,6 +1,5 @@
{
"name": "code_python_1k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"__abs__",

View file

@ -1,6 +1,5 @@
{
"name": "code_python_2k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"__abs__",

View file

@ -1,6 +1,5 @@
{
"name": "code_python_5k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"__abs__",

View file

@ -1,6 +1,5 @@
{
"name": "code_r",
"leftToRight": true,
"noLazyMode": true,
"words": [
"if",

View file

@ -1,6 +1,5 @@
{
"name": "code_r_2k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"-",

View file

@ -1,6 +1,5 @@
{
"name": "code_ruby",
"leftToRight": true,
"noLazyMode": true,
"words": [
"BEGIN",

View file

@ -1,6 +1,5 @@
{
"name": "code_rust",
"leftToRight": true,
"noLazyMode": true,
"words": [
"as",

View file

@ -1,6 +1,5 @@
{
"name": "code_scala",
"leftToRight": true,
"noLazyMode": true,
"words": [
"::",

View file

@ -1,6 +1,5 @@
{
"name": "code_sql",
"leftToRight": true,
"noLazyMode": true,
"words": [
"ADD",

View file

@ -1,6 +1,5 @@
{
"name": "code_swift",
"leftToRight": true,
"noLazyMode": true,
"words": [
"Class",

View file

@ -1,6 +1,5 @@
{
"name": "code_systemverilog",
"leftToRight": true,
"noLazyMode": true,
"words": [
"alias",

View file

@ -1,6 +1,5 @@
{
"name": "code_vim",
"leftToRight": true,
"noLazyMode": true,
"words": [
":e",

View file

@ -1,6 +1,5 @@
{
"name": "code_vimscript",
"leftToRight": true,
"noLazyMode": true,
"words": [
"var",

View file

@ -1,6 +1,5 @@
{
"name": "code_visual_basic",
"leftToRight": true,
"noLazyMode": true,
"words": [
"addhandler",

View file

@ -1,6 +1,5 @@
{
"name": "code_zig",
"leftToRight": true,
"noLazyMode": true,
"ligatures": false,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "croatian",
"leftToRight": true,
"words": [
"kao",
"ja",

View file

@ -1,6 +1,5 @@
{
"name": "czech",
"leftToRight": true,
"bcp47": "cs-CZ",
"words": [
"být",

View file

@ -1,6 +1,5 @@
{
"name": "czech_10k",
"leftToRight": true,
"bcp47": "cs-CZ",
"words": [
"být",

View file

@ -1,6 +1,5 @@
{
"name": "czech_1k",
"leftToRight": true,
"bcp47": "cs-CZ",
"words": [
"a",

View file

@ -1,6 +1,5 @@
{
"name": "danish",
"leftToRight": true,
"bcp47": "da-DK",
"words": [
"ville",

View file

@ -1,7 +1,7 @@
{
"name": "danish_10k",
"_comment": "This list is licensed by Dansk Sprog- og Litteraturselskab and can only be used with their permission.",
"leftToRight": true,
"bcp47": "da-DK",
"words": [
"være",

View file

@ -1,7 +1,7 @@
{
"name": "danish_1k",
"_comment": "This list is licensed by Dansk Sprog- og Litteraturselskab and can only be used with their permission.",
"leftToRight": true,
"bcp47": "da-DK",
"words": [
"være",

View file

@ -1,6 +1,5 @@
{
"name": "dutch",
"leftToRight": true,
"noLazyMode": true,
"bcp47": "nl-NL",
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "dutch_10k",
"leftToRight": true,
"noLazyMode": true,
"bcp47": "nl-NL",
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "dutch_1k",
"leftToRight": true,
"noLazyMode": true,
"bcp47": "nl-NL",
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english",
"leftToRight": true,
"noLazyMode": true,
"orderedByFrequency": true,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english_10k",
"leftToRight": true,
"noLazyMode": true,
"orderedByFrequency": true,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english_1k",
"leftToRight": true,
"noLazyMode": true,
"orderedByFrequency": true,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english_25k",
"leftToRight": true,
"noLazyMode": true,
"orderedByFrequency": false,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english_450k",
"leftToRight": true,
"noLazyMode": true,
"orderedByFrequency": false,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english_5k",
"leftToRight": true,
"noLazyMode": true,
"orderedByFrequency": false,
"words": [

View file

@ -1,6 +1,5 @@
{
"name": "english_commonly_misspelled",
"leftToRight": true,
"_comment": "Sourced from: https://en.wikipedia.org/wiki/Wikipedia:Lists_of_common_misspellings",
"noLazyMode": true,
"orderedByFrequency": false,

View file

@ -1,6 +1,5 @@
{
"name": "english_contractions",
"leftToRight": true,
"_comment": "Sourced from: https://en.wikipedia.org/wiki/Wikipedia:List_of_English_contractions",
"noLazyMode": true,
"orderedByFrequency": false,

View file

@ -1,6 +1,5 @@
{
"name": "english_doubleletter",
"leftToRight": true,
"_comment": "Sourced from https://www.panopy.com/iphone/secret-ada/double-letter-words.html and https://grammar.yourdictionary.com/word-lists/words-with-double-letters.html",
"ligatures": false,
"noLazyMode": true,

View file

@ -1,6 +1,5 @@
{
"name": "esperanto",
"leftToRight": true,
"words": [
"la",
"mi",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_10k",
"leftToRight": true,
"words": [
"la",
"mi",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_1k",
"leftToRight": true,
"words": [
"la",
"mi",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_25k",
"leftToRight": true,
"words": [
"la",
"mi",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_36k",
"leftToRight": true,
"words": [
"la",
"mi",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_h_sistemo",
"leftToRight": true,
"noLazyMode": true,
"words": [
"la",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_h_sistemo_10k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"la",

View file

@ -1,6 +1,5 @@
{
"name": "esperanto_h_sistemo_1k",
"leftToRight": true,
"noLazyMode": true,
"words": [
"la",

Some files were not shown because too many files have changed in this diff Show more