File size: 63,659 Bytes
19c8b95
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071

window.i18n = {}

window.i18n.setEnglish = () => {
    window.i18n.SELECT_GAME = "Select Game"
    window.i18n.SEARCH_VOICES = "Search voices..."
    window.i18n.SELECT_VOICE = "Select voice"
    window.i18n.SELECT_VOICE_TYPE = "Select Voice Type"
    window.i18n.KEEP_SAMPLE = "Keep Sample"
    window.i18n.GENERATE = "Generate"
    window.i18n.GENERATE_VOICE = "Generate Voice"
    window.i18n.RENAME_THE_FILE = "Rename the file"
    window.i18n.DELETE_FILE = "Delete file"

    window.i18n.PITCH_AND_ENERGY = "Pitch+Energy"
    window.i18n.PITCH = "Pitch"
    window.i18n.ENERGY = "Energy"
    window.i18n.EMOTION = "Emotion"
    window.i18n.DURATIONS = "Durations"
    window.i18n.MANAGE = "Manage"
    window.i18n.DEFAULT = "Default"
    window.i18n.ENABLED = "Enabled"
    window.i18n.ACTIONS = "Actions"
    window.i18n.DESCRIPTION = "Description"
    window.i18n.UNKNOWN = "Unknown"

    window.i18n.VIEW_IS = "View:"
    window.i18n.PITCH_IS = "Pitch:"
    window.i18n.ENERGY_IS = "Energy:"
    window.i18n.EMOTION_IS_ANGRY = "Emotion: Angry"
    window.i18n.EMOTION_IS_HAPPY = "Emotion: Happy"
    window.i18n.EMOTION_IS_SAD = "Emotion: Sad"
    window.i18n.EMOTION_IS_SURPRISE = "Emotion: Surprise"
    window.i18n.DURATION_IS = "Duration:"
    window.i18n.EMOTION_IS = "Emotion:"
    window.i18n.LENGTH = "Length:"
    window.i18n.RESET_LETTER = "Reset Letter"
    window.i18n.AUTO_REGEN = "Auto regenerate"
    window.i18n.VOCODER = "Vocoder:"
    window.i18n.BASE_LANGUAGE = "Base Language"
    window.i18n.BASE_LANGUAGE_IS = "Base Language:"
    window.i18n.USE_SR = "Use SR"
    window.i18n.USE_SR_IS = "Use SR:"
    window.i18n.USE_CLEANUP = "Use Clean-up"
    window.i18n.USE_CLEANUP_IS = "Use Clean-up:"
    window.i18n.USE_SR_TITLE = "Super-resolution (Hz) - SLOW ON CPU"
    window.i18n.USE_SR_HINT = "Super-resolution improves the quality of your audio through Super-resolution of 22050Hz audio into 48000Hz audio. To be able to hear the difference, you need to make sure your ffmpeg settings don't then convert the audio back down to something low like 22050, in the post-processing. Keep the Hz setting to something higher like 48000 or 44100.<br><br>Also to note, this is a fairly slow process on the CPU, but it's pretty quick on the GPU, so I'd recommend switching on GPU usage if you have an NVIDIA card.<br><br>Hide this notice in the future?"
    window.i18n.BASE_STYLE_EMB_IS = "Base Style:"
    window.i18n.STYLE_EMB_IS = "Style:"
    window.i18n.VARIANT_IS = "Variant:"

    window.i18n.SEARCH_GAMES = "Search games..."
    window.i18n.SEARCH_SETTINGS = "Search settings..."
    window.i18n.SEARCH_N_VOICES = "Search _ voices..."
    window.i18n.SEARCH_N_GAMES_WITH_N2_VOICES = "Search _1 games with _2 voices..."
    window.i18n.RESET = "Reset"
    window.i18n.AMPLIFY = "Amplify"
    window.i18n.JITTER = "Jitter"
    window.i18n.FLATTEN = "Flatten"
    window.i18n.RAISE = "Raise"
    window.i18n.LOWER = "Lower"
    window.i18n.PACING = "Pacing"
    window.i18n.OPEN = "Open"
    window.i18n.DOWNLOAD = "Download"
    window.i18n.VRAM_USAGE = "VRAM usage:"

    window.i18n.SETTINGS = "Settings"
    window.i18n.SETTINGS_GPU = "Use GPU (requires CUDA)"
    window.i18n.SETTINGS_AUTOPLAY = "Autoplay generated audio"
    window.i18n.SETTINGS_DEFAULT_HIFI = "Default to loading the HiFi vocoder on voice change, if available"
    window.i18n.SETTINGS_KEEP_PACING = "Keep the same pacing value on new text generations"
    window.i18n.SETTINGS_TOOLTIP = "Show the sliders tooltip"

    window.i18n.SETTINGS_SHOW_DISCORD = "Show Discord status"
    window.i18n.SETTINGS_DARKMODE = "Dark mode text prompt"
    window.i18n.SETTINGS_PROMPTSIZE = "Text prompt font size"
    window.i18n.SETTINGS_BG_FADE = "Background image fade opacity"
    window.i18n.SETTINGS_AUTORELOADVOICES = "Auto-reload voices on files changes"
    window.i18n.SETTINGS_KEEPEDITORSTATE = "Keep editor state on voice change"
    window.i18n.SETTINGS_PITCHRANGEOVERRIDE = "Pitch range over-ride"
    window.i18n.SETTINGS_OUTPUTJSON = "Output .json (needed for editing)"
    window.i18n.SETTINGS_SEQNUMBERING = "Use sequential numbering for file names"
    window.i18n.SETTINGS_SPACEPADDING = "Automatically pad text sequence with spaces (better quality, usually)"
    window.i18n.SETTINGS_BASE_SPEAKER = "Base app output device"
    window.i18n.SETTINGS_ALT_SPEAKER = "Alternate output device (ctrl+click play)"
    window.i18n.SETTINGS_EXTERNALEDIT = "External program for editing audio"
    window.i18n.SETTINGS_FFMPEG = "Use ffmpeg post-processing"
    window.i18n.SETTINGS_FFMPEG_FORMAT = "Audio format (wav, mp3, etc)"
    window.i18n.SETTINGS_FFMPEG_HZ = "Audio sample rate (Hz)"
    window.i18n.SETTINGS_FFMPEG_PADSTART = "Silence padding start (ms)"
    window.i18n.SETTINGS_FFMPEG_PADEND = "Silence padding end (ms)"
    window.i18n.SETTINGS_FFMPEG_PITCHMULT = "Pitch multiplier"
    window.i18n.SETTINGS_FFMPEG_TEMPO = "Tempo"
    window.i18n.SETTINGS_FFMPEG_DEESSING = "De-essing"
    window.i18n.SETTINGS_FFMPEG_BITDEPTH = "Audio bit depth"
    window.i18n.SETTINGS_FFMPEG_NR = "Noise Reduction (db)"
    window.i18n.SETTINGS_FFMPEG_NF = "Noise Floor (db)"
    window.i18n.SETTINGS_FFMPEG_AMPLITUDE = "Amplitude multiplier"
    window.i18n.SETTINGS_BATCH_JSON = "Output .json editor data for batch lines"
    // window.i18n.SETTINGS_BATCH_FASTMODE = "Use fast mode for Batch synth (start next batch in parallel to current batch outputting via ffmpeg)"
    // window.i18n.SETTINGS_BATCH_FASTMODE_MAX_PARALLELIZATIONS = "Maximum parallelizations of lines for Fast mode (lower this if running out of RAM)"
    window.i18n.SETTINGS_BATCH_USEMULTIP = "Use multi-processing for batch mode ffmpeg output"
    window.i18n.SETTINGS_BATCH_MULTIPCOUNT = "Number of processes (0 for cpu threads count -1)"
    window.i18n.SETTINGS_MICROPHONE = "Microphone"
    // window.i18n.SETTINGS_S2S_VOICE = "Speech-to-Speech voice"
    window.i18n.SETTINGS_AUTOGENERATEVOICE = "Automatically generate voice"
    window.i18n.SETTINGS_S2S_PREADJUST_PITCH = "Pre-adjust the input audio average pitch to match the xVASpeech model voice's"
    window.i18n.SETTINGS_S2S_BGNOISE = "Remove background noise from microphone. You need to record a background noise clip first. (requires sox >= v14.4.2) "
    window.i18n.SETTINGS_S2S_RECNOISE = "Record noise"
    window.i18n.SETTINGS_S2S_BGNOISE_STRENGTH = "Noise removal strength (0.2-0.3 recommended)"
    window.i18n.SETTINGS_VC_STRENGTH = "Voice Conversion strength (1-2 recommended)"
    window.i18n.SETTINGS_MODELS_PATH = "models path"
    window.i18n.SETTINGS_OUTPUT_PATH = "output path"
    window.i18n.SETTINGS_RESET_SETTINGS = "Reset Settings"
    window.i18n.SETTINGS_RESET_PATHS = "Reset Paths"
    window.i18n.RESET_WHAT_PROMPT = "What would you like to reset?"
    window.i18n.RESET_WHAT_TIP = "Shift+click the Reset button to reset all 3."
    window.i18n.BATCH_METADATA_CONFIRM = "Please confirm the voice details"
    window.i18n.BATCH_METADATA_TIP = "Select the voice in the main app, to pre-fill these"
    window.i18n.SAVE_TO_CSV = "Save to CSV"

    window.i18n.UPDATES_VERSION = "This app version: 1.0.0"
    window.i18n.THIS_APP_VERSION = "This app version"
    window.i18n.CHECK_FOR_UPDATES = "Check for updates now"
    window.i18n.CANT_REACH_SERVER = "Can't reach server"
    window.i18n.CHECKING_FOR_UPDATES = "Checking for updates..."
    window.i18n.UPDATE_AVAILABLE = "Update available"
    window.i18n.UPTODATE = "Up-to-date."
    window.i18n.UPDATES_LOG = "Updates log:"
    window.i18n.UPDATES_CHECK = "Check for updates now"

    window.i18n.AVAILABLE = "Available"
    window.i18n.PLUGINS = "Plugins"
    window.i18n.PLUGINS_TRUSTED = "Download plugins only from trusted sources"
    window.i18n.PLUGINSH_ENABLED = "Enabled"
    window.i18n.PLUGINSH_ORDER = "Order"
    window.i18n.PLUGINSH_NAME = "Plugin Name"
    window.i18n.PLUGINSH_AUTHOR = "Author"
    window.i18n.PLUGINSH_VERSION = "Plugin Version"
    window.i18n.PLUGINSH_TYPE = "Type"
    window.i18n.PLUGINSH_MINV = "Min App Version"
    window.i18n.PLUGINSH_MAXV = "Max App Version"
    window.i18n.PLUGINSH_DESCRIPTION = "Description"
    window.i18n.PLUGINSH_PLUGINID = "Plugin Id"
    window.i18n.PLUGINS_MOVEUP = "Move Up"
    window.i18n.PLUGINS_MOVEDOWN = "Move Down"
    window.i18n.PLUGINS_APPLY = "Apply"

    window.i18n.APP_INFO = "App info"
    window.i18n.APP_INFO_INSTR_1 = "For instructions on how to use the app, please watch"
    window.i18n.APP_INFO_INSTR_2 = "this short video"
    window.i18n.APP_INFO_INSTR_3 = "showcase on YouTube."
    window.i18n.APP_INFO_INSTR_4 = "You can also view and/or contribute to the community guide on GitHub "
    window.i18n.APP_INFO_INSTR_5 = "here"

    window.i18n.KEYBOARD_REFERENCE = "Keyboard shortcuts reference"
    window.i18n.KEYBOARD_ENTER = "Enter"
    window.i18n.KEYBOARD_ENTER_DO = "Generate the audio"
    window.i18n.KEYBOARD_ESCAPE = "Escape"
    window.i18n.KEYBOARD_ESCAPE_DO = "Close modals and menus"
    window.i18n.KEYBOARD_SPACE = "Space"
    window.i18n.KEYBOARD_SPACE_DO = "Bring focus to the input textarea"
    window.i18n.KEYBOARD_CTRLS = "Ctrl+S"
    window.i18n.KEYBOARD_CTRLS_DO = "Keep sample"
    window.i18n.KEYBOARD_CTRLSHIFTS = "Ctrl+Shift-S"
    window.i18n.KEYBOARD_CTRLSHIFTS_DO = "Keep sample (but with naming prompt)"
    window.i18n.KEYBOARD_YN = "Y/N"
    window.i18n.KEYBOARD_YN_DO = "Yes/No options in prompt modals"
    window.i18n.KEYBOARD_LR = "Left/Right arrows"
    window.i18n.KEYBOARD_LR_DO = "Move left/right along which letter is focused"
    window.i18n.KEYBOARD_SHIFT_LR = "Shift-Left/Right arrows"
    window.i18n.KEYBOARD_SHIFT_LR_DO = "Create multi-letter selection range"
    window.i18n.KEYBOARD_ALT_CTRL_LR = "Alt-Ctrl-Left/Right arrows"
    window.i18n.KEYBOARD_ALT_CTRL_LR_DO = "Adjust width of letter selection"
    window.i18n.KEYBOARD_UD = "Up/Down arrows"
    window.i18n.KEYBOARD_UD_DO = "Move pitch up/down for the letter(s) selected"
    window.i18n.KEYBOARD_CTRL_LR = "Ctrl+Left/Right arrows"
    window.i18n.KEYBOARD_CTRL_LR_DO = "Move the sequence-wide pacing slider"
    window.i18n.KEYBOARD_CTRL_UD = "Ctrl+Up/Down arrows"
    window.i18n.KEYBOARD_CTRL_UD_DO = "Pitch increase/decrease buttons"
    window.i18n.KEYBOARD_CTRLSHIFTUD = "Ctrl+Shift+Up/Down arrows"
    window.i18n.KEYBOARD_CTRLSHIFTUD_DO = "Pitch amplify/flatten buttons"
    window.i18n.KEYBOARD_CTRLENTER = "Ctrl+Enter"
    window.i18n.KEYBOARD_CTRLENTER_DO = "Manually re-generate a line"
    window.i18n.KEYBOARD_CTRLA = "Ctrl+A"
    window.i18n.KEYBOARD_CTRLA_DO = "Select all editor sequence letters"

    window.i18n.SUPPORT = "Support"
    window.i18n.SUPPORT_LINK = "You can support 'xVASynth' development on patreon"
    window.i18n.SUPPORT_THANKS = "Special thanks to all xVASynth supporters:"

    window.i18n.SUPPORT_GAMES = "Search games..."

    window.i18n.EULA_ACCEPT = "I accept the EULA"
    window.i18n.EULA_CLOSE = "Close"

    window.i18n.BATCH_SYNTHESIS = "Batch Synthesis"
    window.i18n.BATCH_SIZE = "Batch Size"
    window.i18n.BATCH_INSTR1 = `Place the .csv batch file(s) into the box below. The mandatory columns are "game_id", "voice_id", and "text", but you can also specify output filename/filepath under "out_path", pacing under "pacing", and vocoder under "vocoder" (Available options: 'hifi', 'quickanddirty', 'waveglow', 'waveglowBIG'). Click the "Generate sample" button to generate an example .csv file if you need one. Watch`
    window.i18n.BATCH_INSTR2 = "this short video"
    window.i18n.BATCH_INSTR3 = "for a demo and more instructions."
    window.i18n.BATCH_GEN_SAMPLE = "Generate Sample"
    window.i18n.BATCH_INSTRUCTIONS = "Instructions"
    window.i18n.BATCH_DROPZONE = "Drag and drop .csv files here"

    window.i18n.BATCHH_NUM = "#"
    window.i18n.BATCHH_STATUS = "Status"
    window.i18n.BATCHH_ACTIONS = "Actions"
    window.i18n.BATCHH_GAME = "Game"
    window.i18n.BATCHH_VOICE = "Voice"
    window.i18n.BATCHH_TEXT = "Text or <i>VC content</i>"
    window.i18n.BATCHH_VC_STYLE = "VC Style"
    window.i18n.BATCHH_VOCODER = "Vocoder"
    window.i18n.BATCHH_OUTPATH = "Out Path"
    window.i18n.BATCHH_PACING = "Pacing"
    window.i18n.BATCHH_PITCH_AMP = "Pitch Amp."
    window.i18n.BATCHH_BASE_LANG = "Base lang"
    window.i18n.BATCH_ABS_DIR_PLACEHOLDER = "Complete absolute directory path to output"

    window.i18n.BATCH_CLEAR_DIR = "Clear out the directory first"
    window.i18n.BATCH_SKIP = "Skip existing output"
    window.i18n.BATCH_OUTPUTNUMERICALLY = "Output file names in numerical order"
    window.i18n.BATCH_CURRENTLYDOING = "currently doing..."
    window.i18n.BATCH_SYNTHESIZE = "Synthesize Batch"
    window.i18n.BATCH_PAUSE = "Pause"
    window.i18n.BATCH_STOP = "Stop"
    window.i18n.BATCH_CLEAR = "Clear"
    window.i18n.BATCH_OPENOUT = "Open Output"

    window.i18n.S2S_RECORD_SAMPLE = "Record sample"
    window.i18n.FEMALE = "Female"
    window.i18n.MALE = "Male"
    window.i18n.S2S_OTHER = "Other"
    window.i18n.VC_ONLY_FOR_V3 = "Voice conversion only available for v3 models."


    window.i18n.VW_INPUT_TEXTAREA_PLACEHOLDER = "Enter a sentence to use for generating preview samples of your crafted voice with the current embedding and proposed delta change"
    window.i18n.CURRENT = "Current"
    window.i18n.CURRENT_EMB = "Current Embedding"
    window.i18n.CURRENT_DELTA = "Current Delta"
    window.i18n.STRENGTH = "Strength"
    window.i18n.APPLY_DELTA = "Apply Delta"
    window.i18n.VW_REF_FILE_A = "Reference Audio File A:"
    window.i18n.VW_REF_FILE_B = "Reference Audio File B:"
    window.i18n.VW_BASE_MODEL = "Base Model (v3 models only)"
    window.i18n.NAME_OF_YOUR_VOICE = "Name of your voice"
    window.i18n.UNIQUE_ID_FOR_VOICE = "A unique identifier for your voice (eg: f4_nate)"
    window.i18n.YOUR_NAME_FOR_CREDITS = "Your name for credits"





    // Dynamic
    window.i18n.SOMETHING_WENT_WRONG = "Something went wrong"
    window.i18n.THERE_WAS_A_PROBLEM = "There was a problem"
    window.i18n.ENTER_DIR_PATH = "Please enter a directory path"
    window.i18n.SURE_RESET_SETTINGS = `Are you sure you'd like to reset your settings?`
    window.i18n.SURE_RESET_PATHS = `Are you sure you'd like to reset your paths? This includes the paths for models, and output.`
    window.i18n.LOAD_MODEL = "Load model"
    window.i18n.LOAD_TARGET_MODEL = "Please load a target voice from the panel on the left, first."
    window.i18n.NO_XVASPEECH_MODELS = "No FastPitch1.1 models are installed"
    window.i18n.ONLY_WAV_S2S = "Only .wav files are supported for speech-to-speech file input at the moment."
    window.i18n.NO_MODELS_IN = "No models in"
    window.i18n.NO_MODELS_FOUND = "No models found"
    window.i18n.MODEL_REQUIRES_VERSION = `This model requires app version`
    window.i18n.OPEN_CONTAINING_FOLDER = "Open containing folder"
    window.i18n.ADJUST_SAMPLE_IN_EDITOR = "Adjust sample in the editor"
    window.i18n.ENTER_NEW_FILENAME_UNCHANGED_CANCEL = "Enter new file name, or submit unchanged to cancel."
    window.i18n.EDIT_IN_EXTERNAL_PROGRAM = "Edit in external program"
    window.i18n.FOLLOWING_PATH_NOT_VALID = "The following program path is not valid"
    window.i18n.SPECIFY_EDIT_TOOL = "Specify your audio editing tool in the settings"
    window.i18n.SURE_DELETE = "Are you sure you'd like to delete this file?"
    window.i18n.LOADING_VOICE = "Loading voice"
    window.i18n.ERR_SERVER = "There was an issue connecting to the python server.<br><br>Try again in a few seconds. If the issue persists, make sure localhost port 8008 is free, or send the server.log file to me on GitHub or Nexus."
    window.i18n.ABOUT_TO_SAVE_FROM_N1_TO_N2_WITH_OPTIONS = `About to save file from _1 to _2 with options`
    window.i18n.SAVING_AUDIO_FILE = "Saving the audio file..."
    window.i18n.TEMP_FILE_NOT_EXIST = "The temporary file does not exist at this file path"
    window.i18n.OUT_DIR_NOT_EXIST = "The output directory does not exist at this file path"
    window.i18n.YOU_CAN_CHANGE_IN_SETTINGS = "You can change this in the settings."
    window.i18n.FILE_EXISTS_ADJUST = `File already exists. Adjust the file name here, or submit without changing to overwrite the old file.`
    window.i18n.ENTER_FILE_NAME = `Enter file name`
    window.i18n.WAVEGLOW_NOT_FOUND = "WaveGlow model not found. Download it also (separate download), and place the .pt file in the models folder."
    window.i18n.BATCH_MODEL_NOT_FOUND = "Model not found."
    window.i18n.BATCH_DOWNLOAD_WAVEGLOW = "Download WaveGlow files separately if you haven't, or check the path in the settings."
    window.i18n.ERR_LOADING_MODELS_FOR_GAME = "ERROR loading models for game"
    window.i18n.ERR_LOADING_MODELS_FOR_GAME_WITH_FILENAME = "ERROR loading models for game _1 with filename:"
    window.i18n.ERR_XVASPEECH_MODEL_VERSION = `This xVASpeech model needs minimum app version _1. Your app version:`
    window.i18n.ERR_ARPABET_NOT_EXIST = `The following ARPAbet symbol does not exist: _1`

    window.i18n.ENTER_VOICE_NAME = "Please enter a voice name"
    window.i18n.ENTER_VOICE_ID = "Please enter a voice ID"
    window.i18n.VOICE_CREATED_AT = "Voice successfully saved at the following location:<br><br>_1"
    window.i18n.CONFIRM_DELETE_CRAFTED_VOICE = "Are you sure you'd like to delete the crafted voice '_1' at the following location?<br><br>_2"
    window.i18n.SUCCESSFULLY_DELETED_CRAFTED_VOICE = "Successfully deleted the crafted voice model."
    window.i18n.ENTER_VOICE_CRAFTING_STARTING_EMB = "Please provide a starting embedding. Drag and drop a .wav audio file over the 'Current Embedding' field below."

    window.i18n.CHANGING_MODELS = "Changing models..."
    window.i18n.CHANGING_DEVICE = "Changing device..."
    window.i18n.PROCESSING_DATA = "Processing data..."
    window.i18n.DELETING_FILE = "Deleting file"
    window.i18n.DELETING_NEW_FILE = "Deleting new file"
    window.i18n.FAILED = "Failed"
    window.i18n.DONE = "Done"
    window.i18n.READY = "Ready"
    window.i18n.RUNNING = "Running"
    window.i18n.PAUSED = "Paused"
    window.i18n.PAUSE = "Pause"
    window.i18n.PLAY = "Play"
    window.i18n.EDIT = "Edit"
    window.i18n.EDIT_IS = "Edit:"
    window.i18n.RESUME = "Resume"
    window.i18n.STOPPED = "Stopped"
    window.i18n.SYNTHESIZING = "Synthesizing"
    window.i18n.LINES = "lines"
    window.i18n.LINE = "Line"
    window.i18n.ERROR = "Error"
    window.i18n.MISSING = "Missing"
    window.i18n.INPUT = "Input"
    window.i18n.OUTPUT = "Output"
    window.i18n.OUTPUTTING = "Outputting"
    window.i18n.SUBMIT = "Submit"
    window.i18n.CLOSE = "Close"
    window.i18n.YES = "Yes"
    window.i18n.NO = "No"
    window.i18n.VOICE = "voice"
    window.i18n.VOICE_PLURAL = "voices"
    window.i18n.NEW = "new"
    window.i18n.PAGE = "Page:"
    window.i18n.NEXT = "Next"
    window.i18n.PREVIOUS = "Previous"
    window.i18n.LOADING = "Loading"
    window.i18n.MAY_TAKE_A_MINUTE = "May take a minute (but not much more)"
    window.i18n.BUILDING_FASTPITCH = "Building FastPitch model"
    window.i18n.LOADING_WAVEGLOW = "Loading WaveGlow model"
    window.i18n.STARTING_PYTHON = "Starting up the python backend"
    window.i18n.NOT_USING_GPU = "Not using GPU"

    window.i18n.BATCH_CHANGING_MODEL_TO = "Changing voice model to"
    window.i18n.BATCH_CHANGING_VOCODER_TO = "Changing vocoder to"
    window.i18n.BATCH_OUTPUTTING_FFMPEG = `Outputting audio via ffmpeg...`

    window.i18n.BATCH_ERR_NO_VOICES = "No voice models available in the app. Load at least one."
    window.i18n.BATCH_ERR_GAMEID = "does not match any available games"
    window.i18n.BATCH_ERR_VOICEID = "does not match any in the game"
    window.i18n.BATCH_ERR_VOCODER1 = "does not exist. Available options"
    window.i18n.BATCH_ERR_VOCODER2 = "(or leaving it blank)"
    window.i18n.BATCH_ERR_CUDA_OOM = "CUDA OOM: There is not enough VRAM to run this. Try lowering the batch size, or shortening very long sentences."
    window.i18n.BATCH_ERR_IN_PROGRESS = "Batch synthesis is in progress. Loading a model in the main app now would break things."
    window.i18n.BATCH_ERR_EDIT = "Batch synthesis is in progress. Pause or stop it first to enable editor."
    window.i18n.BATCH_ERR_SKIPPEDALL = "No records imported, but _1 were skipped as they already exist."

    window.i18n.ERR_LOADING_PLUGIN = "Error loading plugin"
    window.i18n.SUCCESSFULLY_INITIALIZED = "Successfully initialized"
    window.i18n.FAILED_INIT_FOLLOWING = "Failed to initialize the following"
    window.i18n.CHECK_SERVERLOG = "Check the server.log file for detailed error traces"
    window.i18n.SUCC_NO_ACTIVE_PLUGINS = "Success. No plugins active."
    window.i18n.APP_RESTART_NEEDED = "App restart is required for at least one of the plugins to take effect."
    window.i18n.ERR_LOADING_CSS = "Error loading style file for plugin"
    window.i18n.PLUGIN = "Plugin"
    window.i18n.PLUGINS = "Plugins"
    window.i18n.CANT_IMPORT_FILE_FOR_HOOK_TASK_ENTRYPOINT = "Cannot import _1 file for _2 _3 entry-point"
    window.i18n.ONLY_JS = "Only JavaScript files are supported right now."
    window.i18n.PLUGIN_RUN_ERROR = "Plugin run error at event"

    window.i18n.MONDAY = "Monday"
    window.i18n.TUESDAY = "Tuesday"
    window.i18n.WEDNESDAY = "Wednesday"
    window.i18n.THURSDAY = "Thursday"
    window.i18n.FRIDAY = "Friday"
    window.i18n.SATURDAY = "Saturday"
    window.i18n.SUNDAY = "Sunday"

    window.i18n.EMBEDDINGS = "Embeddings"
    window.i18n.EMB_NAME = "Embedding Name"
    window.i18n.EMB_DESCRIPTION = "Embedding description"
    window.i18n.EMB_ID = "Embedding ID"
    window.i18n.STYLE_EMB_ID = "Embedding ID (Write a short, descriptive, alpha-numerical ID you think will be unique)"
    window.i18n.EMB_ID = "Emb ID"
    window.i18n.STYLE_EMBEDDINGS = "Style Embeddings"
    window.i18n.STYLE_EMB_WAVPATH = "Wav file path"
    window.i18n.STYLE_EMB_WAVPATH_PLACEHOLDER = "Drag+drop or full file path"
    window.i18n.ERROR_FILE_MUST_BE_WAV = "File type must be .wav"
    window.i18n.ERROR_NEED_WAV_FILE = "Add a wav file path"
    window.i18n.STYLE_EMB_VALUES = "Style embedding values"
    window.i18n.ERROR_MISSING_FIELDS = "Missing values for the following fields: _1"
    window.i18n.CONFIRM_DELETE_STYLE_EMB = "Are you sure you want to delete this style embedding forever?"


    window.i18n.TOTD_1 = "You can right-click a voice on the left to hear a preview of the voice"
    window.i18n.TOTD_2 = "You can right-click the microphone icon after a recording, to hear back the audio you recorded/inserted"
    window.i18n.TOTD_3 = "There are a number of keyboard shortcuts you can use. Check the info tab for a reference"
    window.i18n.TOTD_4 = "Check the community guide for tips for how to get the best quality out of the tool. This is linked in the info (i) menu"
    window.i18n.TOTD_5 = "You can create a multi-letter selection in the editor by Ctrl+clicking several letters"
    window.i18n.TOTD_6 = "You can shift-click the 'Keep Sample' button (or Ctrl+Shift+S) to first give your file a custom name before saving"
    window.i18n.TOTD_7 = "You can alt+click editor letters to make a multi-letter selection for the entire word you click on"
    window.i18n.TOTD_8 = "You can drag+drop multiple .csv or .txt files into batch mode"
    window.i18n.TOTD_9 = "You can use .txt files in batch mode instead of .csv files, if you first click a voice in the main app to assign the lines to"
    window.i18n.TOTD_10 = "If you have a compatible NVIDIA GPU, and CUDA installed, you can switch to the CPU+GPU installation. Using the GPU is much faster, especially for batch mode."
    window.i18n.TOTD_11 = "The HiFi-GAN vocoder (v1 and v2 models) is normally the best quality, but you can also download and use WaveGlow vocoders, if you'd like."
    window.i18n.TOTD_12 = "(v1 and v2 models) If the 'Keep editor state on voice changes' option is ticked on, you can generate a line using one voice, then switch to a different voice, and click the 'Generate Voice' button again to generate a line using the new voice, but using a similar speaking style to the first voice."
    window.i18n.TOTD_13 = "If you set the 'Alternative Output device' to something other than the default device, you can Ctrl-click when playing audio, to have it play on a different speaker. You can couple this with something like Voicemeeter Banana split, to have the app speak for you over the microphone, for voice chat, or other audio recording."
    window.i18n.TOTD_14 = "If you add the path to an audio editing program to the 'External Program for Editing audio' setting, you can open generated audio straight in that program in one click, from the output records on the main page"
    window.i18n.TOTD_15 = "FFmpeg automatically directly applies a few different audio post processing tasks on the generated audio. This can include Hz resampling, silence padding to the start and/or end of the audio, bit depth, loudness, noise reduction, de-essing, pitch and tempo modifiers, and different audio formats. Play with these to get the best quality for a particular voice"
    window.i18n.TOTD_16 = "You can tick on the 'Fast mode' for batch mode to parallelize the audio generation and the audio output (via ffmpeg for example)"
    window.i18n.TOTD_17 = "You can enable multiprocessing for ffmpeg file output in batch mode, to speed up the output process. This is especially useful if you use a large batch size, and your CPU has plenty of threads. This can be used together with Fast Mode."
    window.i18n.TOTD_18 = "If you're having trouble formatting a .csv file for batch mode, you can change the delimiter in the settings to something else (for example a pipe symbol '|')"
    window.i18n.TOTD_19 = "You can change the folder location of your output files, as well as the models. I'd recommend keeping your model files on an SSD, to reduce the loading time."
    window.i18n.TOTD_20 = "Use the voice embeddings search menu to get a 3D visualisation of all the voices in the app (including some 'officially' trained voices not downloaded yet). You can use this as a reference for voice similarly search, to see what other voices there are, which sound similar to a particular voice."
    window.i18n.TOTD_21 = "You can right click on the points in the 3D voice embeddings visualisation, to hear a preview of that voice. This will only work for the voices you have installed, locally."
    window.i18n.TOTD_22 = "The app is customisable via third-party plugins. Plugins can be managed from the plugins menu, and they can change, or add to the front end app functionality/looks (the UI), as well as the python back-end (the machine learning code). If you're interested in developing such a plugin, there is a full developer reference on the GitHub wiki, here: https://github.com/DanRuta/xvasynth-community-guide"
    window.i18n.TOTD_23 = "If you log into nexusmods.com from within the app, you can check for new and updated voice models on your chosen Nexus pages. You can also endorse these, as well as any plugins configured with a nexus link. If you have a premium membership for the Nexus, you can also download (or batch download) all available voices, and have them installed automatically."
    window.i18n.TOTD_24 = "You can manage the list of Nexus pages to check for voice models by clicking the 'Manage Repos' button in the Nexus menu, or by editing the repositories.txt file"
    window.i18n.TOTD_25 = "You can enable/disable error sounds in the settings. You can also pick a different sound, if you'd prefer something else"
    window.i18n.TOTD_26 = "You can resize the window by dragging one of the bottom corners"
    window.i18n.TOTD_27 = "You can right-click game buttons in the nexus window 'Games' list and voice embeddings 'Games' list, to de-select all other games apart from the one you right-clicked"
    window.i18n.TOTD_28 = "With v3 models, you can change the default speaking style of your voice by creating an embedding for it. You do so by drag+dropping an example audio file (usually from the same original voice) into the Management menu."
    window.i18n.TOTD_29 = "The v3 models don't pre-generate pitch or energy values. Instead, the values in the editor are multipliers rather than absolute values. So initially, tney are set to 1, and you can CHANGE what they are rather than setting values like for v1 and v2 models."
    window.i18n.TOTD_30 = "To get the absolute highest quality from an audio file, you should enable the 'Use SR' option, to run super-resolution from the default 22050Hz into 48000Hz. It's best to use the GPU mode for this, else it can be quite slow. You also need to make sure that you didn't set the ffmpeg Hz post-processing value to something low like 22050, else you won't hear the benefits."
    window.i18n.TOTD_31 = "With v3 models, you can right click the sliders editor to open the context menu, where you can select to copy the final symbol sequence to clipboard."
    window.i18n.TOTD_32 = "You can use the Ctrl+Enter shortcut to manually kick offf re-generating a line."

    window.i18n.TOTD_NO_UNSEEN = "There are no unseen tips left to show. Untick the 'Only show unseen tips' setting to show all tips."


    window.i18n.LINES_PER_SECOND = "lines per second"
    window.i18n.ETA_FINISHED = "Estimated time until finished:"
    window.i18n.LOGGED_IN_AS = "Logged in as: "
    window.i18n.GAMES = "Games"
    window.i18n.MODELS = "Models"
    window.i18n.SHOW_NEW_UPDATED = "Show only new/updated"
    window.i18n.CHECK_NOW = "Check now"
    window.i18n.MANAGE_REPOS = "Manage repos"
    window.i18n.LOG_IN = "Log in"
    window.i18n.LOG_OUT = "Log out"
    window.i18n.NAME = "Name"
    window.i18n.AUTHOR = "Author"
    window.i18n.VERSION = "Version"
    window.i18n.DATE = "Date"
    window.i18n.TYPE = "Type"
    window.i18n.NOTES = "Notes"
    window.i18n.DOWNLOADING = "Downloading:"
    window.i18n.INSTALLING = "Installing:"
    window.i18n.FINISHED = "Finished:"
    window.i18n.DOWNLOAD_ALL = "Download All"
    window.i18n.REPOSITORIES = "Repositories"
    window.i18n.ADD = "Add"
    window.i18n.REMOVE = "Remove"
    window.i18n.V_EMB_VIS = "Voice embeddings visualiser"
    window.i18n.VOICES = "Voices"
    window.i18n.SHOW = "Show"
    window.i18n.GAME = "Game"
    window.i18n.GENDER = "Gender"
    window.i18n.GENDER_IS = "Gender:"
    window.i18n.GAME_IS = "Game:"
    window.i18n.PREVIEW = "Preview"
    window.i18n.LOAD = "Load"

    window.i18n.VOICE_NAME = "Voice Name"
    window.i18n.VOICE_NAME_IS = "Voice Name:"

    window.i18n.VEMB_INSTR_1 = "Left click drag to rotate"
    window.i18n.VEMB_INSTR_2 = "Right click drag to pan"
    window.i18n.VEMB_INSTR_3 = "Mouse wheel scroll to zoom"
    window.i18n.VEMB_INSTR_4 = "Left click on voice to select"
    window.i18n.VEMB_INSTR_5 = "Right click on voice to play sample"

    window.i18n.MALES = "Males"
    window.i18n.FEMALES = "Females"
    window.i18n.OTHER = "Other"

    window.i18n.SHOW_ONLY_INSTALED = "Show only installed voices"
    window.i18n.KEY_IS = "Key:"
    window.i18n.ALGORITHM = "Algorithm"

    window.i18n.TOTD = "Tip of the day"
    window.i18n.TOTD_SHOW = "Show tip of the day"
    window.i18n.TOTD_SHOW_UNSEEN = "Only show unseen tips"
    window.i18n.TOTD_PREV_TIP = "Previous tip"
    window.i18n.TOTD_NEXT_TIP = "Next tip"

    window.i18n.ENDORSE = "Endorse"
    window.i18n.GET_MORE_VOICES = "Get more voices"

    window.i18n.CURR_INSTALL = "Current installation:"
    window.i18n.CHANGE_TO_GPU = "Change to CPU+GPU"
    window.i18n.CHANGE_TO_CPU = "Change to CPU"
    window.i18n.USE_SOUND_ERR = "Use sound for errors"
    window.i18n.ERR_SOUNDFILE = "Error sound file"
    window.i18n.SHOW_NOW = "Show now"
    window.i18n.SETTINGS_PLAYCHANGEDAUDIO = "Play only changed audio, when regenerating"
    window.i18n.SETTINGS_PREAPPLY_FFMPEG = "(recommended) Pre-apply ffmpeg effects to the preview sample"
    window.i18n.SETTINGS_USE_NR = "Use noise reduction (recommended when using SR)"
    window.i18n.SETTINGS_DOUBLE_AMP_DISPLAY = "Also display amplitude setting in the editor"
    window.i18n.SETTINGS_CSV_DELIMITER = "CSV delimiter"
    window.i18n.SETTINGS_PAGINATION_SIZE_BATCH = "Batch pagination size"
    window.i18n.SETTINGS_PAGINATION_SIZE_ARPABET = "ARPAbet pagination size"
    window.i18n.SETTINGS_MAX_FILENAME_LENGTH = "Maximum filename characters (trimming for maximum windows filepath length)"
    window.i18n.SETTINGS_CLEAR_TEXT_AFTER_GENERATION = "Clear the text input after generation"
    window.i18n.SETTINGS_GROUP_VOICEID = "Group voices by voiceId and vocoder in preprocessing to minimize model switching"
    window.i18n.SETTINGS_GROUP_VOCODER = "Also do a secondary group by the vocoder - can take long to do with big files (100k+ lines)"
    window.i18n.SETTING_HIGHLIGHT_ONLY_MODELS_V = "Highlight only models with at least this version"
    window.i18n.SETTING_OUTPUTFILES_PAGINATION = "Output records pagination size"


    window.i18n.SEARCH_OUTPUT = "Search output file names..."
    window.i18n.SEARCH_OUTPUT_PROMPT = "Search prompts..."
    window.i18n.DELETE = "Delete"
    window.i18n.DELETE_ALL = "Delete all"
    window.i18n.DELETE_ALL_FILES_CONFIRM = "Are you sure you'd like to delete all files for this voice? This will delete all _1 files in the following output directory:<br>_2"
    window.i18n.DELETE_ALL_FILES_ERR_NO_FILES = "There are no files in the following output directory:<br>_1"
    window.i18n.SORT_BY = "Sort by"
    window.i18n.ASCENDING = "Ascending"
    window.i18n.DESCENDING = "Descending"
    window.i18n.TIME = "Time"

    window.i18n.ERR_LOGGING_INTO_NEXUS = "Error attempting to log into nexusmods"
    window.i18n.LOGGING_INTO_NEXUS = "Logging into nexusmods (check your browser)..."
    window.i18n.NEXUS_PREMIUM = "Nexus requires premium membership for using their API for file downloads"
    window.i18n.NEXUS_ORIG_ERR = "Original error message"
    window.i18n.FAILED_DOWNLOAD = "Failed to download"
    window.i18n.DONE_INSTALLING = "Done installing"
    window.i18n.CHECKING_NEXUS = "Checking nexusmods.com..."
    window.i18n.NEXUS_NOT_DOWNLOADED_MOD = "You need to first download something from this repo to be able to endorse it."
    window.i18n.NEXUS_TOO_SOON_AFTER_DOWNLOAD = "Nexus requires you to wait at least 15 mins (at the time of writing) before you can endorse."
    window.i18n.NEXUS_IS_OWN_MOD = "Nexus does not allow you to rate your own content."
    window.i18n.YOURS = "Yours"
    window.i18n.NEXUS_ENTER_LINK = "Enter the nexusmods.com link to use as a repository"
    window.i18n.NEXUS_LINK_EXISTS = "This link already exists."
    window.i18n.ERROR_FROM_NEXUS = "<h3>Error using Nexus API. Their response:</h3> <br>_1"

    window.i18n.VEMB_VOICE_NOT_ENABLED = "This voice is not enabled"
    window.i18n.VEMB_NO_PREVIEW = "No preview audio file available"
    window.i18n.VEMB_SELECT_VOICE_FIRST = "Select a voice from the scene below first."
    window.i18n.VEMB_NO_MODEL = "No model file available. Download it if you haven't already."
    window.i18n.VEMB_RECOMPUTING = "Re-computing embeddings and dimensionality reduction on voices. May take a minute the first time, subsequent runs should be instant."

    window.i18n.SETTINGS_FOR_PLUGIN = "Settings for plugin: <i>_1</i>"
    window.i18n.EMBEDDINGS_NEED_AT_LEAST_3 = "You need at least 3 voices to run dimensionality reduction for the plot"



    window.i18n.ARPABET_ERROR_BAD_SYMBOLS = "Found non-ARPAbet symbols: _1"
    window.i18n.ARPABET_ERROR_EMPTY_INPUT = "Words or ARPAbet symbols can't be left empty"
    window.i18n.PAGINATION_X_OF_Y = "_1 of _2"
    window.i18n.ARPABET_CONFIRM_ENABLE_ALL = "Are you sure you'd like to enable ALL words for the following dictionary?<br><br><i>_1</i>"
    window.i18n.ARPABET_CONFIRM_DISABLE_ALL = "Are you sure you'd like to disable ALL words for the following dictionary?<br><br><i>_1</i>"
    window.i18n.ARPABET_CONFIRM_DELETE_WORD = "Are you sure you'd like to delete the following word?<br><br><i>_1</i>"
    window.i18n.ARPABET_CONFIRM_SAME_WORD = "The word '_1' already exists in the following dictionaries:<br><br><i>_2</i><br><br>Are you sure you'd like to add it?"

    window.i18n.ONLY_ENABLED = "Only enabled"

    window.i18n.DICTIONARIES = "Dictionaries"
    window.i18n.CANCEL = "Cancel"
    window.i18n.START = "Start"
    window.i18n.SAVE = "Save"
    window.i18n.WORDS = "Words"
    window.i18n.WORD_IS = "Word:"
    window.i18n.WORD = "Word"
    window.i18n.REFERENCE = "Reference"
    window.i18n.SEARCH_WORDS = "Search words..."
    window.i18n.ENABLE_ALL = "Enable All"
    window.i18n.DISABLE_ALL = "Disable All"
    window.i18n.PREV = "Prev"
    window.i18n.LOADING_DICTIONARIES = "Loading ARPAbet dictionaries..."

    window.i18n.ALL = "All"
    window.i18n.MOD_NAME = "Mod name"
    window.i18n.MOD_TITLE = "Mod title"
    window.i18n.SEARCH_NEXUS = "Search Nexus"
    window.i18n.MOD_REPOS_USED = "Mod repos used"
    window.i18n.LINK = "Link"
    window.i18n.ENDORSEMENTS = "Endorsements"
    window.i18n.DOWNLOADS = "Downloads"

    window.i18n.CONFIRM = "Confirm"
    window.i18n.GAME_ID = "Game ID"
    window.i18n.VOICE_ID = "Voice ID"
    window.i18n.VOICE_ID_IS = "Voice ID:"
    window.i18n.APP_VERSION_IS = "App version:"
    window.i18n.MODEL_VERSION_IS = "Model version:"
    window.i18n.MODEL_TYPE_IS = "Model type:"
    window.i18n.LANGUAGE_IS = "Language:"
    window.i18n.TRAINED_BY_IS = "Trained by:"
    window.i18n.LICENSE_IS = "License:"

    window.i18n.X_WORKSHOP_VOICES_INSTALLED = "_1 workshop voices installed"
    window.i18n.WORKSHOP_GAMES_NOT_RECOGNISED = "The following workshop games were not recognised. Do you have the asset file installed?<i>_1</i>"

    window.i18n.YOU_MUST_BE_LOGGED_IN = "You must be logged in to check what voices there are available on the nexus."
    window.i18n.JOIN_DISCORD = "Join xVASynth server"

    window.i18n.GETTING_SPEAKER_EMBEDDING = "Getting speaker embedding..."

    window.i18n.INFO = "Info"
    window.i18n.VOICE_CRAFTING_WORKBENCH = "Voice Crafting Workbench"
    window.i18n.WORKBENCH = "Workbench"
    window.i18n.FROM_FILE_IS_DRAG_N_DROP = "From file: (Drag and drop a .wav file)"
    window.i18n.FROM_FILE_IS_FILEPATH = "From file: _1"


    window.i18n.BATCH_CHANGE_DELIMITER = "The .csv delimiter is not found in the data. The delimiter in the settings is '_1', but the one in the .csv file is potentially '_2'. Do you want to change the delimiter used, and try again using this?"
    window.i18n.BATCH_TOCSV_DONE = "Saved all lines to csv file at:"
    window.i18n.PAGINATION_TOTAL_OF = "of _1"


    window.i18n.VC_TOO_SHORT = "Recorded sample is too short and/or empty"

    window.i18n.MODEL_INSTALL_DRAGDROP_INCOMPLETE = "Some of the loose files given were not complete models. Each model needs at least a .json file and a .pt file. Loose model files not complete:<br><br>_1"
    window.i18n.MODEL_INSTALL_DRAGDROP_SUCCESS = "_1 models installed successfully. "
    window.i18n.MODEL_INSTALL_DRAGDROP_FAILED = "_1 models failed to install:<br><br>_2"

    // Useful during developing, to see if there are any strings left un-i18n-ed
    // Object.keys(window.i18n).forEach(key => {
    //     if (!["setEnglish", "updateUI"].includes(key)) {
    //         window.i18n[key] = ""
    //     }
    // })
}


window.i18n.updateUI = () => {



    i18n_voiceInfo_name.innerHTML = window.i18n.VOICE_NAME_IS
    i18n_voiceInfo_id.innerHTML = window.i18n.VOICE_ID_IS
    i18n_voiceInfo_gender.innerHTML = window.i18n.GENDER_IS
    i18n_voiceInfo_appVersion.innerHTML = window.i18n.APP_VERSION_IS
    i18n_voiceInfo_modelVersion.innerHTML = window.i18n.MODEL_VERSION_IS
    i18n_voiceInfo_modelType.innerHTML = window.i18n.MODEL_TYPE_IS
    i18n_voiceInfo_lang.innerHTML = window.i18n.LANGUAGE_IS
    i18n_voiceInfo_author.innerHTML = window.i18n.TRAINED_BY_IS
    i18n_voiceInfo_license.innerHTML = window.i18n.LICENSE_IS


    i18n_nexusRepos_mod_name.innerHTML = window.i18n.MOD_NAME
    nexusReposSearchBar.placeholder = window.i18n.MOD_TITLE
    i18n_nexusRepos_all.innerHTML = window.i18n.ALL
    searchNexusButton.innerHTML = window.i18n.SEARCH_NEXUS
    i18n_nexusRepos_game.innerHTML = window.i18n.GAME_IS
    i18n_nexusRepos_modReposUsed.innerHTML = window.i18n.MOD_REPOS_USED

    i18n_nexus_searchh_add.innerHTML = window.i18n.ADD
    i18n_nexus_searchh_link.innerHTML = window.i18n.LINK
    i18n_nexus_searchh_game.innerHTML = window.i18n.GAME
    i18n_nexus_searchh_name.innerHTML = window.i18n.NAME
    i18n_nexus_searchh_author.innerHTML = window.i18n.AUTHOR
    i18n_nexus_searchh_endorsements.innerHTML = window.i18n.ENDORSEMENTS
    i18n_nexus_searchh_downloads.innerHTML = window.i18n.DOWNLOADS

    i18n_nexus_reposUsedh_link.innerHTML = window.i18n.LINK
    i18n_nexus_reposUsedh_game.innerHTML = window.i18n.GAME
    i18n_nexus_reposUsedh_name.innerHTML = window.i18n.NAME
    i18n_nexus_reposUsedh_author.innerHTML = window.i18n.AUTHOR
    i18n_nexus_reposUsedh_endorsements.innerHTML = window.i18n.ENDORSEMENTS
    i18n_nexus_reposUsedh_downloads.innerHTML = window.i18n.DOWNLOADS
    i18n_nexus_reposUsedh_remove.innerHTML = window.i18n.REMOVE



    i18n_arpabet_dictionaries.innerHTML = window.i18n.DICTIONARIES
    i18n_arpabet_words.innerHTML = window.i18n.WORDS
    i18n_arpabet_reference.innerHTML = window.i18n.REFERENCE
    arpabet_word_search_input.placeholder = window.i18n.SEARCH_WORDS
    i18n_arpabet_ckbx_only_enabled.placeholder = window.i18n.ONLY_ENABLED
    i18n_arpabet_word_is.innerHTML = window.i18n.WORD_IS
    arpabet_save.innerHTML = window.i18n.SAVE
    i18n_arpabetWordsListh_word.innerHTML = window.i18n.WORD
    i18n_arpabetWordsListh_delete.innerHTML = window.i18n.DELETE
    arpabet_enableall_button.innerHTML = window.i18n.ENABLE_ALL
    arpabet_disableall_button.innerHTML = window.i18n.DISABLE_ALL
    arpabet_prev_btn.innerHTML = window.i18n.PREV
    arpabet_next_btn.innerHTML = window.i18n.NEXT


    selectedGameDisplay.innerHTML = window.i18n.SELECT_GAME
    voiceSearchInput.placeholder = window.i18n.SEARCH_VOICES
    titleName.innerHTML = window.i18n.SELECT_VOICE_TYPE
    generateVoiceButton.innerHTML = window.i18n.GENERATE_VOICE
    keepSampleButton.innerHTML = window.i18n.KEEP_SAMPLE

    i18n_seq_edit_edit.innerHTML = window.i18n.EDIT_IS
    i18n_seq_edit_view.innerHTML = window.i18n.VIEW_IS
    i18n_pitch.innerHTML = window.i18n.PITCH_IS
    i18n_energy.innerHTML = window.i18n.ENERGY_IS
    i18n_duration.innerHTML = window.i18n.DURATION_IS
    i18n_emotion.innerHTML = window.i18n.EMOTION_IS
    i18n_emotion_is.innerHTML = window.i18n.EMOTION_IS
    seq_edit_view_pitch_energy.innerHTML = window.i18n.PITCH_AND_ENERGY
    seq_edit_view_pitch.innerHTML = window.i18n.PITCH
    seq_edit_view_energy.innerHTML = window.i18n.ENERGY
    seq_edit_view_emAngry.innerHTML = window.i18n.EMOTION_IS_ANGRY
    seq_edit_view_emHappy.innerHTML = window.i18n.EMOTION_IS_HAPPY
    seq_edit_view_emSad.innerHTML = window.i18n.EMOTION_IS_SAD
    seq_edit_view_emSurprise.innerHTML = window.i18n.EMOTION_IS_SURPRISE
    seq_edit_edit_pitch.innerHTML = window.i18n.PITCH
    seq_edit_edit_energy.innerHTML = window.i18n.ENERGY
    seq_edit_edit_emotion.innerHTML = window.i18n.EMOTION

    i18n_vramUsage.innerHTML = window.i18n.VRAM_USAGE
    i18n_length.innerHTML = window.i18n.LENGTH
    resetLetter_btn.innerHTML = window.i18n.RESET_LETTER
    i18n_autoregen.innerHTML = window.i18n.AUTO_REGEN
    i18n_vocoder.innerHTML = window.i18n.VOCODER
    i18n_use_SR.innerHTML = window.i18n.USE_SR_IS
    i18n_batch_useSR.innerHTML = window.i18n.USE_SR
    i18n_use_SR.title = window.i18n.USE_SR_TITLE
    i18n_use_cleanup.innerHTML = window.i18n.USE_CLEANUP_IS
    i18n_batch_useCleanUp.innerHTML = window.i18n.USE_CLEANUP
    i18n_base_lang.innerHTML = window.i18n.BASE_LANGUAGE_IS
    i18n_style_emb_is.innerHTML = window.i18n.STYLE_EMB_IS
    i18n_style.innerHTML = window.i18n.STYLE_EMB_IS
    i18n_base_style_emb_is.innerHTML = window.i18n.BASE_STYLE_EMB_IS
    default_opt_style_emb.innerHTML = window.i18n.DEFAULT
    style_emb_manage_btn.innerHTML = window.i18n.MANAGE

    batch_paginationPrev.innerHTML = window.i18n.PREVIOUS
    main_paginationPrev.innerHTML = window.i18n.PREVIOUS
    batch_paginationNext.innerHTML = window.i18n.NEXT
    main_paginationNext.innerHTML = window.i18n.NEXT
    i18n_page.innerHTML = window.i18n.PAGE
    i18n_page_main.innerHTML = window.i18n.PAGE
    i18n_batchLPS.innerHTML = window.i18n.LINES_PER_SECOND
    i18n_etaFinished.innerHTML = window.i18n.ETA_FINISHED
    nexusNameDisplay.innerHTML = window.i18n.LOGGED_IN_AS
    i18n_games.innerHTML = window.i18n.GAMES
    nexusGamesListEnableAllBtn.innerHTML = window.i18n.ENABLE_ALL
    nexusGamesListDisableAllBtn.innerHTML = window.i18n.DISABLE_ALL
    i18n_models.innerHTML = window.i18n.MODELS
    i18n_showNewUpdated.innerHTML = window.i18n.SHOW_NEW_UPDATED
    nexusCheckNow.innerHTML = window.i18n.CHECK_NOW
    nexusManageReposButton.innerHTML = window.i18n.MANAGE_REPOS
    nexusLogInButton.innerHTML = window.i18n.LOG_IN
    i18n_nexush_name.innerHTML = window.i18n.NAME
    i18n_nexush_author.innerHTML = window.i18n.AUTHOR
    i18n_nexush_version.innerHTML = window.i18n.VERSION
    i18n_nexush_date.innerHTML = window.i18n.DATE
    i18n_nexush_type.innerHTML = window.i18n.TYPE
    i18n_nexush_notes.innerHTML = window.i18n.NOTES
    i18n_nexusDownloading.innerHTML = window.i18n.DOWNLOADING
    i18n_nexusInstalling.innerHTML = window.i18n.INSTALLING
    i18n_nexusFinished.innerHTML = window.i18n.FINISHED
    nexusDownloadAllBtn.innerHTML = window.i18n.DOWNLOAD_ALL
    i18n_repositories.innerHTML = window.i18n.REPOSITORIES



    i18n_settings_curr_install.innerHTML = window.i18n.CURR_INSTALL
    setting_change_installation.innerHTML = window.i18n.CHANGE_TO_GPU
    i18n_settings_useSound.innerHTML = window.i18n.USE_SOUND_ERR
    i18n_settings_err_soundfile.innerHTML = window.i18n.ERR_SOUNDFILE
    i18n_settings_showTOTD.innerHTML = window.i18n.TOTD_SHOW
    setting_btnShowTOTD.innerHTML = window.i18n.SHOW_NOW
    i18n_settings_unseenTOTD.innerHTML = window.i18n.TOTD_SHOW_UNSEEN
    i18n_settings_playChangedAudio.innerHTML = window.i18n.SETTINGS_PLAYCHANGEDAUDIO
    // i18n_setting_ffmpeg_preapply.innerHTML = window.i18n.SETTINGS_PREAPPLY_FFMPEG
    i18n_setting_useNR.innerHTML = window.i18n.SETTINGS_USE_NR
    i18n_settings_doubleAmpDisplay.innerHTML = window.i18n.SETTINGS_DOUBLE_AMP_DISPLAY
    i18n_settings_csv_delimiter.innerHTML = window.i18n.SETTINGS_CSV_DELIMITER
    i18n_settings_paginationSize.innerHTML = window.i18n.SETTINGS_PAGINATION_SIZE_BATCH
    i18n_settings_arpabetPagination.innerHTML = window.i18n.SETTINGS_PAGINATION_SIZE_ARPABET
    i18n_settings_max_filename_chars.innerHTML = window.i18n.SETTINGS_MAX_FILENAME_LENGTH
    i18n_settings_clear_text_after_synth.innerHTML = window.i18n.SETTINGS_CLEAR_TEXT_AFTER_GENERATION
    i18n_settings_groupVoiceID.innerHTML = window.i18n.SETTINGS_GROUP_VOICEID
    i18n_settings_groupVocoder.innerHTML = window.i18n.SETTINGS_GROUP_VOCODER


    voiceSamplesSearch.placeholder = window.i18n.SEARCH_OUTPUT
    voiceSamplesSearchPrompt.placeholder = window.i18n.SEARCH_OUTPUT_PROMPT
    i18n_sortByOutput.innerHTML = window.i18n.SORT_BY
    voiceRecordsOrderByButton.innerHTML = window.i18n.NAME
    voiceRecordsOrderByOrderButton.innerHTML = window.i18n.ASCENDING
    voiceRecordsDeleteAllButton.innerHTML = window.i18n.DELETE_ALL

    i18n_pluginsh_endorse.innerHTML = window.i18n.ENDORSE

    i18n_vembVis.innerHTML = window.i18n.V_EMB_VIS
    i18n_games_vemb.innerHTML = window.i18n.GAMES
    i18n_voices.innerHTML = window.i18n.VOICES
    i18n_vembShow.innerHTML = window.i18n.SHOW
    i18n_vembName.innerHTML = window.i18n.NAME
    i18n_vembGame.innerHTML = window.i18n.GAME
    i18n_vembGender.innerHTML = window.i18n.GENDER
    embeddingsSearchBar.placeholder = window.i18n.SEARCH_VOICES
    nexusSearchBar.placeholder = window.i18n.SEARCH_VOICES
    i18n_voiceName.innerHTML = window.i18n.VOICE_NAME_IS
    i18n_genderIs.innerHTML = window.i18n.GENDER_IS
    i18n_vemb_game.innerHTML = window.i18n.GAME_IS
    embeddingsPreviewButton.innerHTML = window.i18n.PREVIEW
    embeddingsLoadButton.innerHTML = window.i18n.LOAD

    i18n_vemb_instr1.innerHTML = window.i18n.VEMB_INSTR_1
    i18n_vemb_instr2.innerHTML = window.i18n.VEMB_INSTR_2
    i18n_vemb_instr3.innerHTML = window.i18n.VEMB_INSTR_3
    i18n_vemb_instr4.innerHTML = window.i18n.VEMB_INSTR_4
    i18n_vemb_instr5.innerHTML = window.i18n.VEMB_INSTR_5

    i18n_vemb_males.innerHTML = window.i18n.MALES
    i18n_vemb_females.innerHTML = window.i18n.FEMALES
    i18n_vemb_other.innerHTML = window.i18n.OTHER

    i18n_showOnlyInstalled.innerHTML = window.i18n.SHOW_ONLY_INSTALED
    i18n_vemb_keyIs.innerHTML = window.i18n.KEY_IS
    i18n_vemb_game_option.innerHTML = window.i18n.GAME
    i18n_vemb_gender_option.innerHTML = window.i18n.GENDER
    i18n_algorithm.innerHTML = window.i18n.ALGORITHM

    i18n_totd.innerHTML = window.i18n.TOTD
    i18n_totd_show.innerHTML = window.i18n.TOTD_SHOW
    i18n_totd_show_unseen.innerHTML = window.i18n.TOTD_SHOW_UNSEEN
    totdPrevTipBtn.innerHTML = window.i18n.TOTD_PREV_TIP
    totdNextTipBtn.innerHTML = window.i18n.TOTD_NEXT_TIP
    totd_close.innerHTML = window.i18n.CLOSE
    embeddingsCloseHelpUI.innerHTML = window.i18n.CLOSE
    nexusMenuButton.innerHTML = window.i18n.GET_MORE_VOICES

    i18n_embeddings.innerHTML = window.i18n.STYLE_EMBEDDINGS
    i18n_style_emb_wavpath.innerHTML = window.i18n.STYLE_EMB_WAVPATH
    i18n_style_emb_author.innerHTML = window.i18n.AUTHOR
    i18n_style_emb_gameId.innerHTML = window.i18n.GAME_ID
    i18n_style_emb_voiceId.innerHTML = window.i18n.VOICE_ID
    i18n_style_emb_name.innerHTML = window.i18n.EMB_NAME
    i18n_style_emb_description.innerHTML = window.i18n.EMB_DESCRIPTION
    i18n_style_emb_id.innerHTML = window.i18n.STYLE_EMB_ID
    wavFilepathForEmbComputeInput.placeholder = window.i18n.STYLE_EMB_WAVPATH_PLACEHOLDER
    i18n_style_emb_values.innerHTML = window.i18n.STYLE_EMB_VALUES
    i18n_styleembsh_enabled.innerHTML = window.i18n.ENABLED
    i18n_styleembsh_name.innerHTML = window.i18n.EMB_NAME
    i18n_styleembsh_gameID.innerHTML = window.i18n.GAME_ID
    i18n_styleembsh_voiceID.innerHTML = window.i18n.VOICE_ID
    // i18n_styleembsh_actions.innerHTML = window.i18n.ACTIONS
    i18n_styleembsh_description.innerHTML = window.i18n.DESCRIPTION
    i18n_styleembsh_embId.innerHTML = window.i18n.EMB_ID
    i18n_styleembsh_version.innerHTML = window.i18n.VERSION
    // i18n_styleembsh_endorse.innerHTML = window.i18n.ENDORSE
    styleEmbSave.innerHTML = window.i18n.SAVE
    styleEmbDelete.innerHTML = window.i18n.DELETE


    reset_btn.innerHTML = window.i18n.RESET
    amplify_btn.innerHTML = window.i18n.AMPLIFY
    jitter_btn.innerHTML = window.i18n.JITTER
    flatten_btn.innerHTML = window.i18n.FLATTEN
    increase_btn.innerHTML = window.i18n.RAISE
    decrease_btn.innerHTML = window.i18n.LOWER
    i18n_pacing.innerHTML = window.i18n.PACING

    i18n_settings.innerHTML = window.i18n.SETTINGS
    i18n_setting_gpu.innerHTML = window.i18n.SETTINGS_GPU
    i18n_setting_autoplay.innerHTML = window.i18n.SETTINGS_AUTOPLAY
    i18n_setting_defaulthifi.innerHTML = window.i18n.SETTINGS_DEFAULT_HIFI
    i18n_setting_keeppacing.innerHTML = window.i18n.SETTINGS_KEEP_PACING
    // i18n_setting_tooltip.innerHTML = window.i18n.SETTINGS_TOOLTIP

    i18n_showDiscordStatus.innerHTML = window.i18n.SETTINGS_SHOW_DISCORD
    // i18n_setting_darkmode.innerHTML = window.i18n.SETTINGS_DARKMODE
    i18n_setting_promptfontsize.innerHTML = window.i18n.SETTINGS_PROMPTSIZE
    i18n_setting_bg_fade.innerHTML = window.i18n.SETTINGS_BG_FADE
    i18n_setting_autoreloadvoices.innerHTML = window.i18n.SETTINGS_AUTORELOADVOICES
    i18n_setting_keepeditorstate.innerHTML = window.i18n.SETTINGS_KEEPEDITORSTATE
    i18n_setting_pitchrangeoverride.innerHTML = window.i18n.SETTINGS_PITCHRANGEOVERRIDE
    i18n_setting_outputjson.innerHTML = window.i18n.SETTINGS_OUTPUTJSON
    i18n_setting_seqnumbering.innerHTML = window.i18n.SETTINGS_SEQNUMBERING
    i18n_setting_spacepadding.innerHTML = window.i18n.SETTINGS_SPACEPADDING
    i18n_setting_base_speaker.innerHTML = window.i18n.SETTINGS_BASE_SPEAKER
    i18n_setting_alt_speaker.innerHTML = window.i18n.SETTINGS_ALT_SPEAKER
    i18n_setting_external_edit.innerHTML = window.i18n.SETTINGS_EXTERNALEDIT
    i18n_setting_ffmpeg.innerHTML = window.i18n.SETTINGS_FFMPEG
    i18n_setting_ffmpeg_format.innerHTML = window.i18n.SETTINGS_FFMPEG_FORMAT
    i18n_setting_ffmpeg_hz.innerHTML = window.i18n.SETTINGS_FFMPEG_HZ
    i18n_setting_ffmpeg_padstart.innerHTML = window.i18n.SETTINGS_FFMPEG_PADSTART
    i18n_setting_ffmpeg_padend.innerHTML = window.i18n.SETTINGS_FFMPEG_PADEND
    i18n_setting_ffmpeg_pitchMult.innerHTML = window.i18n.SETTINGS_FFMPEG_PITCHMULT
    i18n_setting_ffmpeg_tempo.innerHTML = window.i18n.SETTINGS_FFMPEG_TEMPO
    i18n_setting_ffmpeg_deessing.innerHTML = window.i18n.SETTINGS_FFMPEG_DEESSING
    i18n_setting_ffmpeg_bitdepth.innerHTML = window.i18n.SETTINGS_FFMPEG_BITDEPTH
    i18n_setting_ffmpeg_nr.innerHTML = window.i18n.SETTINGS_FFMPEG_NR
    i18n_setting_ffmpeg_nf.innerHTML = window.i18n.SETTINGS_FFMPEG_NF
    i18n_setting_ffmpeg_amplitude.innerHTML = window.i18n.SETTINGS_FFMPEG_AMPLITUDE
    i18n_setting_batch_json.innerHTML = window.i18n.SETTINGS_BATCH_JSON
    // i18n_setting_batch_fastmode.innerHTML = window.i18n.SETTINGS_BATCH_FASTMODE
    // i18n_settings_batch_mp_max_parallelizations.innerHTML = window.i18n.SETTINGS_BATCH_FASTMODE_MAX_PARALLELIZATIONS
    i18n_setting_batch_multip.innerHTML = window.i18n.SETTINGS_BATCH_USEMULTIP
    i18n_setting_batch_multip_count.innerHTML = window.i18n.SETTINGS_BATCH_MULTIPCOUNT
    i18n_setting_microphone.innerHTML = window.i18n.SETTINGS_MICROPHONE
    // i18n_setting_autogeneratevoice.innerHTML = window.i18n.SETTINGS_AUTOGENERATEVOICE
    i18n_setting_s2s_bgnoise.innerHTML = window.i18n.SETTINGS_S2S_BGNOISE
    s2s_settingsRecNoiseBtn.innerHTML = window.i18n.SETTINGS_S2S_RECNOISE
    // i18n_setting_s2s_bgnoise_strength.innerHTML = window.i18n.SETTINGS_S2S_BGNOISE_STRENGTH
    i18n_vc_strength.innerHTML = window.i18n.SETTINGS_VC_STRENGTH
    reset_settings_btn.innerHTML = window.i18n.SETTINGS_RESET_SETTINGS
    reset_paths_btn.innerHTML = window.i18n.SETTINGS_RESET_PATHS

    updatesVersions.innerHTML = window.i18n.UPDATES_VERSION
    i18n_updateslog.innerHTML = window.i18n.UPDATES_LOG
    checkUpdates.innerHTML = window.i18n.UPDATES_CHECK

    i18n_plugins.innerHTML = window.i18n.PLUGINS
    i18n_plugins_trusted.innerHTML = window.i18n.PLUGINS_TRUSTED

    i18n_pluginsh_enabled.innerHTML = window.i18n.PLUGINSH_ENABLED
    i18n_pluginsh_order.innerHTML = window.i18n.PLUGINSH_ORDER
    i18n_pluginsh_name.innerHTML = window.i18n.PLUGINSH_NAME
    i18n_pluginsh_author.innerHTML = window.i18n.PLUGINSH_AUTHOR
    i18n_pluginsh_version.innerHTML = window.i18n.PLUGINSH_VERSION
    i18n_pluginsh_type.innerHTML = window.i18n.PLUGINSH_TYPE
    i18n_pluginsh_minv.innerHTML = window.i18n.PLUGINSH_MINV
    i18n_pluginsh_maxv.innerHTML = window.i18n.PLUGINSH_MAXV
    i18n_pluginsh_description.innerHTML = window.i18n.PLUGINSH_DESCRIPTION
    i18n_pluginsh_pluginid.innerHTML = window.i18n.PLUGINSH_PLUGINID
    plugins_moveUpBtn.innerHTML = window.i18n.PLUGINS_MOVEUP
    plugins_moveDownBtn.innerHTML = window.i18n.PLUGINS_MOVEDOWN
    plugins_applyBtn.innerHTML = window.i18n.PLUGINS_APPLY

    i18n_appinfo.innerHTML = window.i18n.APP_INFO
    i18n_appinfo_instr_1.innerHTML = window.i18n.APP_INFO_INSTR_1
    i18n_appinfo_instr_2.innerHTML = window.i18n.APP_INFO_INSTR_2
    i18n_appinfo_instr_3.innerHTML = window.i18n.APP_INFO_INSTR_3
    i18n_appinfo_instr_4.innerHTML = window.i18n.APP_INFO_INSTR_4
    i18n_appinfo_instr_5.innerHTML = window.i18n.APP_INFO_INSTR_5

    i18n_keyboard_reference.innerHTML = window.i18n.KEYBOARD_REFERENCE
    i18n_keyboard_enter.innerHTML = window.i18n.KEYBOARD_ENTER
    i18n_keyboard_enter_do.innerHTML = window.i18n.KEYBOARD_ENTER_DO
    i18n_keyboard_escape.innerHTML = window.i18n.KEYBOARD_ESCAPE
    i18n_keyboard_escape_do.innerHTML = window.i18n.KEYBOARD_ESCAPE_DO
    i18n_keyboard_space.innerHTML = window.i18n.KEYBOARD_SPACE
    i18n_keyboard_space_do.innerHTML = window.i18n.KEYBOARD_SPACE_DO
    i18n_keyboard_ctrls.innerHTML = window.i18n.KEYBOARD_CTRLS
    i18n_keyboard_ctrls_do.innerHTML = window.i18n.KEYBOARD_CTRLS_DO
    i18n_keyboard_ctrlshifts.innerHTML = window.i18n.KEYBOARD_CTRLSHIFTS
    i18n_keyboard_ctrlshifts_do.innerHTML = window.i18n.KEYBOARD_CTRLSHIFTS_DO
    i18n_keyboard_yn.innerHTML = window.i18n.KEYBOARD_YN
    i18n_keyboard_yn_do.innerHTML = window.i18n.KEYBOARD_YN_DO
    i18n_keyboard_lr.innerHTML = window.i18n.KEYBOARD_LR
    i18n_keyboard_lr_do.innerHTML = window.i18n.KEYBOARD_LR_DO
    i18n_keyboard_shift_lr.innerHTML = window.i18n.KEYBOARD_SHIFT_LR
    i18n_keyboard_shift_lr_do.innerHTML = window.i18n.KEYBOARD_SHIFT_LR_DO

    i18n_keyboard_alt_ctrl_lr.innerHTML = window.i18n.KEYBOARD_ALT_CTRL_LR
    i18n_keyboard_alt_ctrl_lr_do.innerHTML = window.i18n.KEYBOARD_ALT_CTRL_LR_DO
    i18n_keyboard_ctrla.innerHTML = window.i18n.KEYBOARD_CTRLA
    i18n_keyboard_ctrla_do.innerHTML = window.i18n.KEYBOARD_CTRLA_DO

    i18n_keyboard_ud.innerHTML = window.i18n.KEYBOARD_UD
    i18n_keyboard_ud_do.innerHTML = window.i18n.KEYBOARD_UD_DO
    i18n_keyboard_ctrl_lr.innerHTML = window.i18n.KEYBOARD_CTRL_LR
    i18n_keyboard_ctrl_lr_do.innerHTML = window.i18n.KEYBOARD_CTRL_LR_DO
    i18n_keyboard_ctrl_ud.innerHTML = window.i18n.KEYBOARD_CTRL_UD
    i18n_keyboard_ctrl_ud_do.innerHTML = window.i18n.KEYBOARD_CTRL_UD_DO
    i18n_keyboard_ctrlshiftud.innerHTML = window.i18n.KEYBOARD_CTRLSHIFTUD
    i18n_keyboard_ctrlshiftud_do.innerHTML = window.i18n.KEYBOARD_CTRLSHIFTUD_DO
    i18n_keyboard_ctrlenter.innerHTML = window.i18n.KEYBOARD_CTRLENTER
    i18n_keyboard_ctrlenter_do.innerHTML = window.i18n.KEYBOARD_CTRLENTER_DO

    i18n_support.innerHTML = window.i18n.SUPPORT
    // i18n_support_link.innerHTML = window.i18n.SUPPORT_LINK
    i18n_support_thanks.innerHTML = window.i18n.SUPPORT_THANKS

    searchGameInput.placeholder = window.i18n.SEARCH_GAMES
    searchSettingsInput.placeholder = window.i18n.SEARCH_SETTINGS

    i18n_eula_accept.innerHTML = window.i18n.EULA_ACCEPT
    EULA_closeButon.innerHTML = window.i18n.EULA_CLOSE

    i18n_batch_synthesis.innerHTML = window.i18n.BATCH_SYNTHESIS
    i18n_batchsize.innerHTML = window.i18n.BATCH_SIZE
    batch_generateSample.innerHTML = window.i18n.BATCH_GEN_SAMPLE
    batch_instructions_btn.innerHTML = window.i18n.BATCH_INSTRUCTIONS
    batchDropZoneNote.innerHTML = window.i18n.BATCH_DROPZONE

    i18n_batchh_num.innerHTML = window.i18n.BATCHH_NUM
    i18n_batchh_status.innerHTML = window.i18n.BATCHH_STATUS
    i18n_batchh_actions.innerHTML = window.i18n.BATCHH_ACTIONS
    i18n_nexush_actions.innerHTML = window.i18n.BATCHH_ACTIONS
    i18n_batchh_game.innerHTML = window.i18n.BATCHH_GAME
    i18n_nexush_game.innerHTML = window.i18n.BATCHH_GAME
    i18n_batchh_voice.innerHTML = window.i18n.BATCHH_VOICE
    i18n_batchh_text.innerHTML = window.i18n.BATCHH_TEXT
    i18n_batchh_vocoder.innerHTML = window.i18n.BATCHH_VOCODER
    i18n_batchh_vc_style.innerHTML = window.i18n.BATCHH_VC_STYLE
    i18n_batchh_outpath.innerHTML = window.i18n.BATCHH_OUTPATH
    i18n_batchh_pacing.innerHTML = window.i18n.BATCHH_PACING
    i18n_batchh_pitch_amp.innerHTML = window.i18n.BATCHH_PITCH_AMP
    i18n_batchh_base_lang.innerHTML = window.i18n.BATCHH_BASE_LANG
    batch_outputFolderInput.placeholder = window.i18n.BATCH_ABS_DIR_PLACEHOLDER

    i18n_batch_cleardir.innerHTML = window.i18n.BATCH_CLEAR_DIR
    i18n_batch_skip.innerHTML = window.i18n.BATCH_SKIP
    i18n_batch_outputNumerically.innerHTML = window.i18n.BATCH_OUTPUTNUMERICALLY
    batch_progressNotes.innerHTML = window.i18n.BATCH_CURRENTLYDOING
    batch_synthesizeBtn.innerHTML = window.i18n.BATCH_SYNTHESIZE
    batch_pauseBtn.innerHTML = window.i18n.BATCH_PAUSE
    batch_stopBtn.innerHTML = window.i18n.BATCH_STOP
    batch_clearBtn.innerHTML = window.i18n.BATCH_CLEAR
    batch_openDirBtn.innerHTML = window.i18n.BATCH_OPENOUT

    s2s_voiceId_selected_label.innerHTML = window.i18n.VC_ONLY_FOR_V3
    i18n_settings_model_version_highlight.innerHTML = window.i18n.SETTING_HIGHLIGHT_ONLY_MODELS_V
    i18n_setting_output_files_pagination_size.innerHTML = window.i18n.SETTING_OUTPUTFILES_PAGINATION

    openDiscord.innerHTML = window.i18n.JOIN_DISCORD

    i18n_workbench.innerHTML = window.i18n.VOICE_CRAFTING_WORKBENCH
    voiceWorkbenchRefAFilePath.innerHTML = window.i18n.FROM_FILE_IS_DRAG_N_DROP
    voiceWorkbenchRefBFilePath.innerHTML = window.i18n.FROM_FILE_IS_DRAG_N_DROP

    voiceWorkbenchInputTextArea.innerHTML = window.i18n.VW_INPUT_TEXTAREA_PLACEHOLDER

    voiceWorkbenchGenerateSampleButton.innerHTML = window.i18n.GENERATE
    i18n_vw_current.innerHTML = window.i18n.CURRENT
    voiceWorkbenchAudioCurrentPlayPauseBtn.innerHTML = window.i18n.PLAY
    voiceWorkbenchAudioCurrentSaveBtn.innerHTML = window.i18n.SAVE
    voiceWorkbenchAudioNewPlayBtn.innerHTML = window.i18n.PLAY
    voiceWorkbenchAudioNewSaveBtn.innerHTML = window.i18n.SAVE

    i18n_vw_current_emb.innerHTML = window.i18n.CURRENT_EMB
    i18n_vw_current_delta.innerHTML = window.i18n.CURRENT_DELTA
    i18n_vw_strength.innerHTML = window.i18n.STRENGTH
    voiceWorkshopApplyDeltaButton.innerHTML = window.i18n.APPLY_DELTA
    i18n_refAF_a.innerHTML = window.i18n.VW_REF_FILE_A
    i18n_refAF_b.innerHTML = window.i18n.VW_REF_FILE_B

    i18n_vw_basemodel.innerHTML = window.i18n.VW_BASE_MODEL
    i18n_vw_game.innerHTML = window.i18n.GAME
    i18n_vw_voicename.innerHTML = window.i18n.VOICE_NAME
    i18n_vw_voiceid.innerHTML = window.i18n.VOICE_ID
    voiceWorkbenchVoiceNameInput.placeholder = window.i18n.NAME_OF_YOUR_VOICE
    voiceWorkbenchVoiceIDInput.placeholder = window.i18n.UNIQUE_ID_FOR_VOICE
    i18n_vw_gender.innerHTML = window.i18n.GENDER
    i18n_vw_author.innerHTML = window.i18n.AUTHOR

    voiceWorkbenchAuthorInput.placeholder = window.i18n.YOUR_NAME_FOR_CREDITS

    i18n_vw_baselang.innerHTML = window.i18n.BASE_LANGUAGE
    voiceWorkbenchStartButton.innerHTML = window.i18n.START
    voiceWorkbenchCancelButton.innerHTML = window.i18n.CANCEL
    voiceWorkbenchDeleteButton.innerHTML = window.i18n.DELETE
    voiceWorkbenchSaveButton.innerHTML = window.i18n.SAVE


    splashNextButton1.innerHTML = window.i18n.NEXT

    i18n_variant.innerHTML = window.i18n.VARIANT_IS
    i18n_reset_what_prompt.innerHTML = window.i18n.RESET_WHAT_PROMPT
    i18n_reset_what_tip.innerHTML = window.i18n.RESET_WHAT_TIP
    reset_what_confirm_btn.innerHTML = window.i18n.RESET
    i18n_batch_metadata_confirm.innerHTML = window.i18n.BATCH_METADATA_CONFIRM
    i18n_batch_metadata_tip.innerHTML = window.i18n.BATCH_METADATA_TIP
    i18n_batch_metadata_voiceID.innerHTML = window.i18n.VOICE_ID
    i18n_batch_metadata_gameID.innerHTML = window.i18n.GAME_ID
    i18n_batch_metadata_confirm_btn.innerHTML = window.i18n.CONFIRM
    batch_saveToCSV.innerHTML = window.i18n.SAVE_TO_CSV

    arpabetIcon.title = "ARPAbet"
    embeddingsIcon.title = "Embeddings visualiser"
    pluginsIcon.title = window.i18n.PLUGINS
    batchIcon.title = "Batch mode"
    updatesIcon.title = "Changelog"
    patreonIcon.title = "Patreon"
    infoIcon.title = window.i18n.INFO
    settingsCog.title = "Settings"
    workbenchIcon.title = window.i18n.WORKBENCH

}


window.i18n.setEnglish()
window.i18n.updateUI()