@novely/core 0.12.5 → 0.14.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/README.md +3 -1
- package/dist/index.d.ts +83 -29
- package/dist/index.global.js +269 -82
- package/dist/index.global.js.map +1 -1
- package/dist/index.js +268 -56
- package/dist/index.js.map +1 -1
- package/package.json +60 -61
package/dist/index.global.js
CHANGED
|
@@ -21,6 +21,10 @@ var Novely = (() => {
|
|
|
21
21
|
// src/index.ts
|
|
22
22
|
var src_exports = {};
|
|
23
23
|
__export(src_exports, {
|
|
24
|
+
EN: () => EN,
|
|
25
|
+
JP: () => JP,
|
|
26
|
+
KK: () => KK,
|
|
27
|
+
RU: () => RU,
|
|
24
28
|
localStorageStorage: () => localStorageStorage,
|
|
25
29
|
novely: () => novely
|
|
26
30
|
});
|
|
@@ -103,13 +107,20 @@ var Novely = (() => {
|
|
|
103
107
|
}
|
|
104
108
|
return -1;
|
|
105
109
|
};
|
|
106
|
-
var
|
|
110
|
+
var createControlledPromise = () => {
|
|
107
111
|
let resolve, reject;
|
|
108
112
|
const promise = new Promise((res, rej) => {
|
|
109
113
|
resolve = res;
|
|
110
114
|
reject = rej;
|
|
111
115
|
});
|
|
112
|
-
return {
|
|
116
|
+
return {
|
|
117
|
+
resolve,
|
|
118
|
+
reject,
|
|
119
|
+
promise,
|
|
120
|
+
reset() {
|
|
121
|
+
Object.assign(this, createControlledPromise());
|
|
122
|
+
}
|
|
123
|
+
};
|
|
113
124
|
};
|
|
114
125
|
var findLastPathItemBeforeItemOfType = (path, name) => {
|
|
115
126
|
const index = findLastIndex(path, ([_name, _value], next) => {
|
|
@@ -131,6 +142,20 @@ var Novely = (() => {
|
|
|
131
142
|
var isAction = (element) => {
|
|
132
143
|
return Array.isArray(element) && isString(element[0]);
|
|
133
144
|
};
|
|
145
|
+
var flattenStory = (story) => {
|
|
146
|
+
const entries = Object.entries(story).map(([name, items]) => {
|
|
147
|
+
const flat = (item) => {
|
|
148
|
+
return item.flatMap((data) => {
|
|
149
|
+
const type = data[0];
|
|
150
|
+
if (Array.isArray(type))
|
|
151
|
+
return flat(data);
|
|
152
|
+
return [data];
|
|
153
|
+
});
|
|
154
|
+
};
|
|
155
|
+
return [name, flat(items)];
|
|
156
|
+
});
|
|
157
|
+
return Object.fromEntries(entries);
|
|
158
|
+
};
|
|
134
159
|
|
|
135
160
|
// src/global.ts
|
|
136
161
|
var PRELOADED_ASSETS = /* @__PURE__ */ new Set();
|
|
@@ -256,40 +281,79 @@ var Novely = (() => {
|
|
|
256
281
|
return val;
|
|
257
282
|
}
|
|
258
283
|
|
|
259
|
-
//
|
|
260
|
-
var
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
284
|
+
// src/translation.ts
|
|
285
|
+
var RGX = /{{(.*?)}}/g;
|
|
286
|
+
var split = (input, delimeters) => {
|
|
287
|
+
const output = [];
|
|
288
|
+
for (const delimeter of delimeters) {
|
|
289
|
+
if (!input)
|
|
264
290
|
break;
|
|
265
|
-
|
|
266
|
-
|
|
291
|
+
const [start, end] = input.split(delimeter, 2);
|
|
292
|
+
output.push(start);
|
|
293
|
+
input = end;
|
|
267
294
|
}
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
var
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
if (
|
|
276
|
-
return
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
295
|
+
output.push(input);
|
|
296
|
+
return output;
|
|
297
|
+
};
|
|
298
|
+
var unwrap = (c) => {
|
|
299
|
+
if (Array.isArray(c)) {
|
|
300
|
+
return c.map((item) => unwrap(item)).join("<br>");
|
|
301
|
+
}
|
|
302
|
+
if (typeof c === "function") {
|
|
303
|
+
return unwrap(c());
|
|
304
|
+
}
|
|
305
|
+
return c;
|
|
306
|
+
};
|
|
307
|
+
var replace = (str2, obj, pluralization, actions, pr) => {
|
|
308
|
+
return unwrap(str2).replaceAll(RGX, (x, key, y) => {
|
|
309
|
+
x = 0;
|
|
310
|
+
y = obj;
|
|
311
|
+
const [pathstr, plural, action] = split(key.trim(), ["@", "%"]);
|
|
312
|
+
if (!pathstr) {
|
|
313
|
+
return "";
|
|
314
|
+
}
|
|
315
|
+
const path = pathstr.split(".");
|
|
316
|
+
while (y && x < path.length)
|
|
317
|
+
y = y[path[x++]];
|
|
318
|
+
if (plural && pluralization && y && pr) {
|
|
319
|
+
y = pluralization[plural][pr.select(y)];
|
|
320
|
+
}
|
|
321
|
+
const actionHandler = actions && action && actions[action];
|
|
322
|
+
if (actionHandler)
|
|
323
|
+
y = actionHandler(y);
|
|
324
|
+
return y == null ? "" : y;
|
|
325
|
+
});
|
|
326
|
+
};
|
|
327
|
+
|
|
328
|
+
// src/storage.ts
|
|
329
|
+
var localStorageStorage = (options) => {
|
|
330
|
+
return {
|
|
331
|
+
async get() {
|
|
332
|
+
const fallback = { saves: [], data: {}, meta: [] };
|
|
333
|
+
try {
|
|
334
|
+
const value = localStorage.getItem(options.key);
|
|
335
|
+
return value ? JSON.parse(value) : fallback;
|
|
336
|
+
} catch {
|
|
337
|
+
return fallback;
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
async set(data) {
|
|
341
|
+
try {
|
|
342
|
+
localStorage.setItem(options.key, JSON.stringify(data));
|
|
343
|
+
} catch {
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
};
|
|
284
348
|
|
|
285
349
|
// src/novely.ts
|
|
286
350
|
var novely = ({
|
|
287
351
|
characters,
|
|
288
|
-
storage,
|
|
352
|
+
storage = localStorageStorage({ key: "novely-game-storage" }),
|
|
289
353
|
storageDelay = Promise.resolve(),
|
|
290
354
|
renderer: createRenderer,
|
|
291
355
|
initialScreen = "mainmenu",
|
|
292
|
-
|
|
356
|
+
translation,
|
|
293
357
|
languages,
|
|
294
358
|
state: defaultState,
|
|
295
359
|
data: defaultData,
|
|
@@ -301,29 +365,20 @@ var Novely = (() => {
|
|
|
301
365
|
askBeforeExit = true,
|
|
302
366
|
preloadAssets = "lazy"
|
|
303
367
|
}) => {
|
|
304
|
-
|
|
368
|
+
const story = {};
|
|
305
369
|
const times = /* @__PURE__ */ new Set();
|
|
306
370
|
const ASSETS_TO_PRELOAD = /* @__PURE__ */ new Set();
|
|
307
|
-
const assetsLoaded =
|
|
371
|
+
const assetsLoaded = createControlledPromise();
|
|
308
372
|
defaultData ||= {};
|
|
309
373
|
defaultState ||= {};
|
|
310
374
|
const intime = (value) => {
|
|
311
375
|
return times.add(value), value;
|
|
312
376
|
};
|
|
313
|
-
const
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
const type = data2[0];
|
|
319
|
-
if (Array.isArray(type))
|
|
320
|
-
return flat(data2);
|
|
321
|
-
return [data2];
|
|
322
|
-
});
|
|
323
|
-
};
|
|
324
|
-
return [name, flat(items)];
|
|
325
|
-
})
|
|
326
|
-
);
|
|
377
|
+
const script = (part) => {
|
|
378
|
+
Object.assign(story, flattenStory(part));
|
|
379
|
+
};
|
|
380
|
+
const withStory = async (story2) => {
|
|
381
|
+
script(story2);
|
|
327
382
|
if (preloadAssets === "blocking" && ASSETS_TO_PRELOAD.size > 0) {
|
|
328
383
|
renderer.ui.showScreen("loading");
|
|
329
384
|
await renderer.misc.preloadImagesBlocking(ASSETS_TO_PRELOAD);
|
|
@@ -365,7 +420,7 @@ var Novely = (() => {
|
|
|
365
420
|
const getDefaultSave = (state2 = {}) => {
|
|
366
421
|
return [
|
|
367
422
|
[
|
|
368
|
-
[
|
|
423
|
+
["jump", "start"],
|
|
369
424
|
[null, 0]
|
|
370
425
|
],
|
|
371
426
|
state2,
|
|
@@ -410,6 +465,9 @@ var Novely = (() => {
|
|
|
410
465
|
storage.set(value);
|
|
411
466
|
};
|
|
412
467
|
const throttledOnStorageDataChange = throttle(onStorageDataChange, throttleTimeout);
|
|
468
|
+
const throttledEmergencyOnStorageDataChange = throttle(() => {
|
|
469
|
+
onStorageDataChange($.get());
|
|
470
|
+
}, 10);
|
|
413
471
|
$.subscribe(throttledOnStorageDataChange);
|
|
414
472
|
const getStoredData = async () => {
|
|
415
473
|
let stored = await storage.get();
|
|
@@ -437,12 +495,10 @@ var Novely = (() => {
|
|
|
437
495
|
const stack = createStack(initial);
|
|
438
496
|
addEventListener("visibilitychange", () => {
|
|
439
497
|
if (document.visibilityState === "hidden") {
|
|
440
|
-
|
|
498
|
+
throttledEmergencyOnStorageDataChange();
|
|
441
499
|
}
|
|
442
500
|
});
|
|
443
|
-
addEventListener("beforeunload",
|
|
444
|
-
onStorageDataChange($.get());
|
|
445
|
-
});
|
|
501
|
+
addEventListener("beforeunload", throttledEmergencyOnStorageDataChange);
|
|
446
502
|
const save = (override = false, type = override ? "auto" : "manual") => {
|
|
447
503
|
if (!$$.get().dataLoaded)
|
|
448
504
|
return;
|
|
@@ -513,7 +569,10 @@ var Novely = (() => {
|
|
|
513
569
|
const characters2 = /* @__PURE__ */ new Set();
|
|
514
570
|
const blocks = [];
|
|
515
571
|
for (const [type, val] of path) {
|
|
516
|
-
if (type ===
|
|
572
|
+
if (type === "jump") {
|
|
573
|
+
precurrent = story;
|
|
574
|
+
current = current[val];
|
|
575
|
+
} else if (type === null) {
|
|
517
576
|
precurrent = current;
|
|
518
577
|
if (isNumber(val)) {
|
|
519
578
|
index++;
|
|
@@ -610,7 +669,11 @@ var Novely = (() => {
|
|
|
610
669
|
let precurrent = story;
|
|
611
670
|
const blocks = [];
|
|
612
671
|
for (const [type, val] of path) {
|
|
613
|
-
|
|
672
|
+
console.log(type, val);
|
|
673
|
+
if (type === "jump") {
|
|
674
|
+
precurrent = story;
|
|
675
|
+
current = current[val];
|
|
676
|
+
} else if (type === null) {
|
|
614
677
|
precurrent = current;
|
|
615
678
|
current = current[val];
|
|
616
679
|
} else if (type === "choice") {
|
|
@@ -649,6 +712,9 @@ var Novely = (() => {
|
|
|
649
712
|
const back = () => {
|
|
650
713
|
return stack.back(), restore(stack.value);
|
|
651
714
|
};
|
|
715
|
+
const t = (key, lang) => {
|
|
716
|
+
return translation[lang].internal[key];
|
|
717
|
+
};
|
|
652
718
|
const renderer = createRenderer({
|
|
653
719
|
characters,
|
|
654
720
|
set,
|
|
@@ -657,9 +723,9 @@ var Novely = (() => {
|
|
|
657
723
|
newGame,
|
|
658
724
|
exit,
|
|
659
725
|
back,
|
|
726
|
+
t,
|
|
660
727
|
stack,
|
|
661
728
|
languages,
|
|
662
|
-
t: t9n.i,
|
|
663
729
|
$,
|
|
664
730
|
$$
|
|
665
731
|
});
|
|
@@ -692,11 +758,11 @@ var Novely = (() => {
|
|
|
692
758
|
},
|
|
693
759
|
dialog([character, content, emotion]) {
|
|
694
760
|
const name = (() => {
|
|
695
|
-
const
|
|
761
|
+
const c = character;
|
|
696
762
|
const cs = characters;
|
|
697
763
|
const lang = $.get().meta[0];
|
|
698
|
-
if (
|
|
699
|
-
const block = cs[
|
|
764
|
+
if (c && c in cs) {
|
|
765
|
+
const block = cs[c].name;
|
|
700
766
|
if (typeof block === "string") {
|
|
701
767
|
return block;
|
|
702
768
|
}
|
|
@@ -704,9 +770,9 @@ var Novely = (() => {
|
|
|
704
770
|
return block[lang];
|
|
705
771
|
}
|
|
706
772
|
}
|
|
707
|
-
return
|
|
773
|
+
return c || "";
|
|
708
774
|
})();
|
|
709
|
-
const run = renderer.dialog(
|
|
775
|
+
const run = renderer.dialog(unwrap2(content), unwrap2(name), character, emotion);
|
|
710
776
|
run(forward, goingBack);
|
|
711
777
|
},
|
|
712
778
|
function([fn]) {
|
|
@@ -722,10 +788,10 @@ var Novely = (() => {
|
|
|
722
788
|
question = "";
|
|
723
789
|
}
|
|
724
790
|
const unwrapped = choices.map(([content, action2, visible]) => {
|
|
725
|
-
return [
|
|
791
|
+
return [unwrap2(content), action2, visible];
|
|
726
792
|
});
|
|
727
793
|
const run = renderer.choices(
|
|
728
|
-
|
|
794
|
+
unwrap2(question),
|
|
729
795
|
unwrapped
|
|
730
796
|
);
|
|
731
797
|
run((selected) => {
|
|
@@ -738,7 +804,7 @@ var Novely = (() => {
|
|
|
738
804
|
},
|
|
739
805
|
jump([scene]) {
|
|
740
806
|
stack.value[0] = [
|
|
741
|
-
[
|
|
807
|
+
["jump", scene],
|
|
742
808
|
[null, -1]
|
|
743
809
|
];
|
|
744
810
|
match("clear", []);
|
|
@@ -764,7 +830,7 @@ var Novely = (() => {
|
|
|
764
830
|
times.clear();
|
|
765
831
|
},
|
|
766
832
|
input([question, onInput, setup]) {
|
|
767
|
-
renderer.input(
|
|
833
|
+
renderer.input(unwrap2(question), onInput, setup)(forward);
|
|
768
834
|
},
|
|
769
835
|
custom([handler]) {
|
|
770
836
|
const result = renderer.custom(handler, goingBack, () => {
|
|
@@ -804,7 +870,7 @@ var Novely = (() => {
|
|
|
804
870
|
match("custom", [handler]);
|
|
805
871
|
},
|
|
806
872
|
text(text) {
|
|
807
|
-
renderer.text(text.map((content) =>
|
|
873
|
+
renderer.text(text.map((content) => unwrap2(content)).join(" "), forward, goingBack);
|
|
808
874
|
},
|
|
809
875
|
exit() {
|
|
810
876
|
if (restoring)
|
|
@@ -869,7 +935,7 @@ var Novely = (() => {
|
|
|
869
935
|
const next = () => {
|
|
870
936
|
const path = stack.value[0];
|
|
871
937
|
const last = path.at(-1);
|
|
872
|
-
if (last && isNull(last[0]) && isNumber(last[1])) {
|
|
938
|
+
if (last && (isNull(last[0]) || last[0] === "jump") && isNumber(last[1])) {
|
|
873
939
|
last[1]++;
|
|
874
940
|
} else {
|
|
875
941
|
path.push([null, 0]);
|
|
@@ -896,15 +962,19 @@ var Novely = (() => {
|
|
|
896
962
|
const interactivity = (value = false) => {
|
|
897
963
|
interacted = value ? interacted + 1 : 0;
|
|
898
964
|
};
|
|
899
|
-
const
|
|
965
|
+
const unwrap2 = (content, global = false) => {
|
|
900
966
|
const {
|
|
901
967
|
data: data2,
|
|
902
968
|
meta: [lang]
|
|
903
969
|
} = $.get();
|
|
904
970
|
const obj = global ? data2 : state();
|
|
905
|
-
const cnt = isFunction(content) ? content(
|
|
971
|
+
const cnt = isFunction(content) ? content() : typeof content === "string" ? content : content[lang];
|
|
906
972
|
const str2 = isFunction(cnt) ? cnt() : cnt;
|
|
907
|
-
|
|
973
|
+
const trans = translation[lang];
|
|
974
|
+
if (trans.actions || trans.plural) {
|
|
975
|
+
return replace(str2, obj, trans.plural, trans.actions, new Intl.PluralRules(trans.tag || lang));
|
|
976
|
+
}
|
|
977
|
+
return replace(str2, obj);
|
|
908
978
|
};
|
|
909
979
|
function data(value) {
|
|
910
980
|
if (!value)
|
|
@@ -937,26 +1007,143 @@ var Novely = (() => {
|
|
|
937
1007
|
* Unwraps translatable content to a string value
|
|
938
1008
|
*/
|
|
939
1009
|
unwrap(content) {
|
|
940
|
-
return
|
|
941
|
-
}
|
|
942
|
-
/**
|
|
943
|
-
* Function that is used for translation
|
|
944
|
-
*/
|
|
945
|
-
t: t9n.t
|
|
1010
|
+
return unwrap2(content, true);
|
|
1011
|
+
}
|
|
946
1012
|
};
|
|
947
1013
|
};
|
|
948
1014
|
|
|
949
|
-
// src/
|
|
950
|
-
var
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
1015
|
+
// src/translations.ts
|
|
1016
|
+
var RU = {
|
|
1017
|
+
NewGame: "\u041D\u043E\u0432\u0430\u044F \u0438\u0433\u0440\u0430",
|
|
1018
|
+
HomeScreen: "\u0413\u043B\u0430\u0432\u043D\u044B\u0439 \u044D\u043A\u0440\u0430\u043D",
|
|
1019
|
+
ToTheGame: "\u041A \u0438\u0433\u0440\u0435",
|
|
1020
|
+
Language: "\u042F\u0437\u044B\u043A",
|
|
1021
|
+
NoSaves: "\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0439 \u043D\u0435\u0442",
|
|
1022
|
+
LoadSave: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C",
|
|
1023
|
+
Saves: "\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u044F",
|
|
1024
|
+
Settings: "\u041D\u0430\u0441\u0442\u0440\u043E\u0439\u043A\u0438",
|
|
1025
|
+
Sumbit: "\u041F\u043E\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044C",
|
|
1026
|
+
GoBack: "\u041D\u0430\u0437\u0430\u0434",
|
|
1027
|
+
DoSave: "\u0421\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435",
|
|
1028
|
+
Auto: "\u0410\u0432\u0442\u043E",
|
|
1029
|
+
Stop: "\u0421\u0442\u043E\u043F",
|
|
1030
|
+
Exit: "\u0412\u044B\u0445\u043E\u0434",
|
|
1031
|
+
Automatic: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0435",
|
|
1032
|
+
Manual: "\u0420\u0443\u0447\u043D\u043E\u0435",
|
|
1033
|
+
Remove: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C",
|
|
1034
|
+
LoadASaveFrom: "\u0417\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u043E\u0442",
|
|
1035
|
+
DeleteASaveFrom: "\u0423\u0434\u0430\u043B\u0438\u0442\u044C \u0441\u043E\u0445\u0440\u0430\u043D\u0435\u043D\u0438\u0435 \u043E\u0442",
|
|
1036
|
+
TextSpeed: "\u0421\u043A\u043E\u0440\u043E\u0441\u0442\u044C \u0422\u0435\u043A\u0441\u0442\u0430",
|
|
1037
|
+
TextSpeedSlow: "\u041C\u0435\u0434\u043B\u0435\u043D\u043D\u0430\u044F",
|
|
1038
|
+
TextSpeedMedium: "\u0421\u0440\u0435\u0434\u043D\u044F\u044F",
|
|
1039
|
+
TextSpeedFast: "\u0411\u044B\u0441\u0442\u0440\u0430\u044F",
|
|
1040
|
+
TextSpeedAuto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0438\u0447\u0435\u0441\u043A\u0430\u044F",
|
|
1041
|
+
CompleteText: "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u044C \u0442\u0435\u043A\u0441\u0442",
|
|
1042
|
+
GoForward: "\u041F\u0435\u0440\u0435\u0439\u0442\u0438 \u0432\u043F\u0435\u0440\u0451\u0434",
|
|
1043
|
+
ExitDialogWarning: "\u0412\u044B \u0443\u0432\u0435\u0440\u0435\u043D\u044B, \u0447\u0442\u043E \u0445\u043E\u0442\u0438\u0442\u0435 \u0432\u044B\u0439\u0442\u0438? \u041F\u0440\u043E\u0433\u0440\u0435\u0441\u0441 \u0431\u0443\u0434\u0435\u0442 \u0441\u043E\u0445\u0440\u0430\u043D\u0451\u043D.",
|
|
1044
|
+
ExitDialogExit: "\u0412\u044B\u0439\u0442\u0438",
|
|
1045
|
+
ExitDialogBack: "\u0412\u0435\u0440\u043D\u0443\u0442\u044C\u0441\u044F \u0432 \u0438\u0433\u0440\u0443",
|
|
1046
|
+
OpenMenu: "\u041E\u0442\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u043D\u044E",
|
|
1047
|
+
CloseMenu: "\u0417\u0430\u043A\u0440\u044B\u0442\u044C \u043C\u0435\u043D\u044E"
|
|
1048
|
+
};
|
|
1049
|
+
var EN = {
|
|
1050
|
+
NewGame: "New Game",
|
|
1051
|
+
HomeScreen: "Home Screen",
|
|
1052
|
+
ToTheGame: "To the Game",
|
|
1053
|
+
Language: "Language",
|
|
1054
|
+
NoSaves: "No saves",
|
|
1055
|
+
LoadSave: "Load",
|
|
1056
|
+
Saves: "Saves",
|
|
1057
|
+
Settings: "Settings",
|
|
1058
|
+
Sumbit: "Submit",
|
|
1059
|
+
GoBack: "Go back",
|
|
1060
|
+
DoSave: "Save",
|
|
1061
|
+
Auto: "Auto",
|
|
1062
|
+
Stop: "Stop",
|
|
1063
|
+
Exit: "Exit",
|
|
1064
|
+
Automatic: "Automatic",
|
|
1065
|
+
Manual: "Manual",
|
|
1066
|
+
Remove: "Remove",
|
|
1067
|
+
LoadASaveFrom: "Load a save from",
|
|
1068
|
+
DeleteASaveFrom: "Delete a save from",
|
|
1069
|
+
TextSpeed: "Text Speed",
|
|
1070
|
+
TextSpeedSlow: "Slow",
|
|
1071
|
+
TextSpeedMedium: "Medium",
|
|
1072
|
+
TextSpeedFast: "Fast",
|
|
1073
|
+
TextSpeedAuto: "Auto",
|
|
1074
|
+
CompleteText: "Complete text",
|
|
1075
|
+
GoForward: "Go forward",
|
|
1076
|
+
ExitDialogWarning: "Are you sure you want to exit? Progress will be saved.",
|
|
1077
|
+
ExitDialogExit: "Exit",
|
|
1078
|
+
ExitDialogBack: "Return to game",
|
|
1079
|
+
OpenMenu: "Open menu",
|
|
1080
|
+
CloseMenu: "Close menu"
|
|
1081
|
+
};
|
|
1082
|
+
var KK = {
|
|
1083
|
+
NewGame: "\u0416\u0430\u04A3\u0430 \u043E\u0439\u044B\u043D",
|
|
1084
|
+
HomeScreen: "\u041D\u0435\u0433\u0456\u0437\u0433\u0456 \u044D\u043A\u0440\u0430\u043D",
|
|
1085
|
+
ToTheGame: "\u041E\u0439\u044B\u043D\u0493\u0430",
|
|
1086
|
+
Language: "\u0422\u0456\u043B",
|
|
1087
|
+
NoSaves: "\u0421\u0430\u049B\u0442\u0430\u0443 \u0436\u043E\u049B",
|
|
1088
|
+
LoadSave: "\u0416\u04AF\u043A\u0442\u0435\u0443",
|
|
1089
|
+
Saves: "\u0421\u0430\u049B\u0442\u0430\u0443",
|
|
1090
|
+
Settings: "\u041F\u0430\u0440\u0430\u043C\u0435\u0442\u0440\u043B\u0435\u0440",
|
|
1091
|
+
Sumbit: "\u0420\u0430\u0441\u0442\u0430\u0443",
|
|
1092
|
+
GoBack: "\u0410\u0440\u0442\u049B\u0430",
|
|
1093
|
+
DoSave: "\u0421\u0430\u049B\u0442\u0430\u0443",
|
|
1094
|
+
Auto: "\u0410\u0432\u0442\u043E",
|
|
1095
|
+
Stop: "\u0422\u043E\u049B\u0442\u0430",
|
|
1096
|
+
Exit: "\u0428\u044B\u0493\u0443",
|
|
1097
|
+
Automatic: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0442\u044B",
|
|
1098
|
+
Manual: "\u049A\u043E\u043B\u043C\u0435\u043D",
|
|
1099
|
+
Remove: "\u0416\u043E\u044E",
|
|
1100
|
+
LoadASaveFrom: "\u0421\u0430\u049B\u0442\u0430\u0443\u0434\u044B \u0436\u04AF\u043A\u0442\u0435\u0443",
|
|
1101
|
+
DeleteASaveFrom: "\u0421\u0430\u049B\u0442\u0430\u0443\u0434\u044B \u0436\u043E\u044E",
|
|
1102
|
+
TextSpeed: "\u041C\u04D9\u0442\u0456\u043D \u0416\u044B\u043B\u0434\u0430\u043C\u0434\u044B\u0493\u044B",
|
|
1103
|
+
TextSpeedSlow: "\u0411\u0430\u044F\u0443",
|
|
1104
|
+
TextSpeedMedium: "\u041E\u0440\u0442\u0430\u0448\u0430",
|
|
1105
|
+
TextSpeedFast: "\u0416\u044B\u043B\u0434\u0430\u043C",
|
|
1106
|
+
TextSpeedAuto: "\u0410\u0432\u0442\u043E\u043C\u0430\u0442\u0442\u044B",
|
|
1107
|
+
CompleteText: "\u041C\u04D9\u0442\u0456\u043D\u0434\u0456 \u0430\u044F\u049B\u0442\u0430\u0443",
|
|
1108
|
+
GoForward: "\u0410\u043B\u0493\u0430 \u0436\u044B\u043B\u0436\u0443",
|
|
1109
|
+
ExitDialogWarning: "\u0421\u0456\u0437 \u0448\u044B\u049B\u049B\u044B\u04A3\u044B\u0437 \u043A\u0435\u043B\u0435\u0442\u0456\u043D\u0456\u043D\u0435 \u0441\u0435\u043D\u0456\u043C\u0434\u0456\u0441\u0456\u0437 \u0431\u0435? \u041F\u0440\u043E\u0433\u0440\u0435\u0441\u0441 \u0441\u0430\u049B\u0442\u0430\u043B\u0430\u0434\u044B",
|
|
1110
|
+
ExitDialogExit: "\u0428\u044B\u0493\u0443",
|
|
1111
|
+
ExitDialogBack: "\u041E\u0439\u044B\u043D\u0493\u0430 \u043E\u0440\u0430\u043B\u0443",
|
|
1112
|
+
OpenMenu: "\u041C\u04D9\u0437\u0456\u0440\u0434\u0456 \u0430\u0448\u044B\u04A3\u044B\u0437",
|
|
1113
|
+
CloseMenu: "\u041C\u04D9\u0437\u0456\u0440\u0434\u0456 \u0436\u0430\u0431\u0443"
|
|
1114
|
+
};
|
|
1115
|
+
var JP = {
|
|
1116
|
+
NewGame: "\u300C\u65B0\u3057\u3044\u30B2\u30FC\u30E0\u300D",
|
|
1117
|
+
HomeScreen: "\u30DB\u30FC\u30E0\u753B\u9762",
|
|
1118
|
+
ToTheGame: "\u300C\u30B2\u30FC\u30E0\u306B\u623B\u308B\u300D",
|
|
1119
|
+
Language: "\u8A00\u8A9E",
|
|
1120
|
+
NoSaves: "\u30CE\u30FC\u30BB\u30FC\u30D6",
|
|
1121
|
+
LoadSave: "\u30C0\u30A6\u30F3\u30ED\u30FC\u30C9",
|
|
1122
|
+
Saves: "\u4FDD\u5B58",
|
|
1123
|
+
Settings: "\u8A2D\u5B9A",
|
|
1124
|
+
Sumbit: "\u78BA\u8A8D",
|
|
1125
|
+
GoBack: "\u300C\u623B\u308B\u300D",
|
|
1126
|
+
DoSave: "\u4FDD\u5B58",
|
|
1127
|
+
Auto: "\u30AA\u30FC\u30C8",
|
|
1128
|
+
Stop: "\u6B62\u307E\u308C",
|
|
1129
|
+
Exit: "\u51FA\u53E3",
|
|
1130
|
+
Automatic: "\u81EA\u52D5",
|
|
1131
|
+
Manual: "\u30DE\u30CB\u30E5\u30A2\u30EB",
|
|
1132
|
+
Remove: "\u524A\u9664",
|
|
1133
|
+
LoadASaveFrom: "\u30ED\u30FC\u30C9\u30BB\u30FC\u30D6\u304B\u3089",
|
|
1134
|
+
DeleteASaveFrom: "\u304B\u3089\u4FDD\u5B58\u3092\u524A\u9664",
|
|
1135
|
+
TextSpeed: "\u30C6\u30AD\u30B9\u30C8\u30B9\u30D4\u30FC\u30C9",
|
|
1136
|
+
TextSpeedSlow: "\u300C\u9045\u3044\u300D",
|
|
1137
|
+
TextSpeedMedium: "\u30DF\u30C7\u30A3\u30A2\u30E0",
|
|
1138
|
+
TextSpeedFast: "\u300C\u901F\u3044\u300D",
|
|
1139
|
+
TextSpeedAuto: "\u81EA\u52D5",
|
|
1140
|
+
CompleteText: "\u30C6\u30AD\u30B9\u30C8\u3092\u5B8C\u6210\u3055\u305B\u308B",
|
|
1141
|
+
GoForward: "\u5148\u306B\u884C\u304F",
|
|
1142
|
+
ExitDialogWarning: "\u672C\u5F53\u306B\u7D42\u4E86\u3057\u307E\u3059\u304B\uFF1F\u9032\u884C\u72B6\u6CC1\u306F\u4FDD\u5B58\u3055\u308C\u307E\u3059",
|
|
1143
|
+
ExitDialogExit: "\u7D42\u4E86",
|
|
1144
|
+
ExitDialogBack: "\u30B2\u30FC\u30E0\u306B\u623B\u308B",
|
|
1145
|
+
OpenMenu: "\u30E1\u30CB\u30E5\u30FC\u3092\u958B\u304F",
|
|
1146
|
+
CloseMenu: "\u30E1\u30CB\u30E5\u30FC\u3092\u9589\u3058\u308B"
|
|
960
1147
|
};
|
|
961
1148
|
return __toCommonJS(src_exports);
|
|
962
1149
|
})();
|