summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-05-18 14:42:54 -0300
committerJesusaves <cpntb1@ymail.com>2021-05-18 14:42:54 -0300
commit98eba803f1a4c79d9582b487644ab2c35ad3163f (patch)
tree781ad26e9e7fb7ec564bffaacb36a159ad1c2282
parent2a2a935ebae08248a1a371f59060c93f3b3f3547 (diff)
downloadrenpy-98eba803f1a4c79d9582b487644ab2c35ad3163f.tar.gz
renpy-98eba803f1a4c79d9582b487644ab2c35ad3163f.tar.bz2
renpy-98eba803f1a4c79d9582b487644ab2c35ad3163f.tar.xz
renpy-98eba803f1a4c79d9582b487644ab2c35ad3163f.zip
Initial version of i18n (including fetch script)
-rw-r--r--.gitignore2
-rw-r--r--game/screens.rpy4
-rw-r--r--game/tl/de/client.rpy24
-rw-r--r--game/tl/de/common.rpy980
-rw-r--r--game/tl/de/mirrorlake.rpy20
-rw-r--r--game/tl/de/options.rpy16
-rw-r--r--game/tl/de/renpy.rpy8
-rw-r--r--game/tl/de/screens.rpy268
-rw-r--r--game/tl/de/soul.rpy116
-rw-r--r--game/tl/de/update.rpy28
-rw-r--r--game/tl/es/client.rpy24
-rw-r--r--game/tl/es/common.rpy980
-rw-r--r--game/tl/es/mirrorlake.rpy20
-rw-r--r--game/tl/es/options.rpy16
-rw-r--r--game/tl/es/renpy.rpy8
-rw-r--r--game/tl/es/screens.rpy268
-rw-r--r--game/tl/es/soul.rpy116
-rw-r--r--game/tl/es/update.rpy28
-rwxr-xr-xgame/tl/fetch.py42
-rw-r--r--game/tl/fr/client.rpy24
-rw-r--r--game/tl/fr/common.rpy980
-rw-r--r--game/tl/fr/mirrorlake.rpy20
-rw-r--r--game/tl/fr/options.rpy16
-rw-r--r--game/tl/fr/renpy.rpy8
-rw-r--r--game/tl/fr/screens.rpy268
-rw-r--r--game/tl/fr/soul.rpy116
-rw-r--r--game/tl/fr/update.rpy28
-rw-r--r--game/tl/it/client.rpy24
-rw-r--r--game/tl/it/common.rpy980
-rw-r--r--game/tl/it/mirrorlake.rpy20
-rw-r--r--game/tl/it/options.rpy16
-rw-r--r--game/tl/it/renpy.rpy8
-rw-r--r--game/tl/it/screens.rpy268
-rw-r--r--game/tl/it/soul.rpy116
-rw-r--r--game/tl/it/update.rpy28
35 files changed, 5888 insertions, 0 deletions
diff --git a/.gitignore b/.gitignore
index 1b53e31..773443a 100644
--- a/.gitignore
+++ b/.gitignore
@@ -39,6 +39,8 @@ Mana-Launcher.sh
Mana-Launcher.py
Mana-Launcher.exe
steam_appid.txt
+**/login.txt
+**/password.txt
# Logs
log.txt
diff --git a/game/screens.rpy b/game/screens.rpy
index 6d0ef45..03745b6 100644
--- a/game/screens.rpy
+++ b/game/screens.rpy
@@ -679,6 +679,10 @@ screen preferences():
label _("Language")
textbutton "English" action Language(None)
textbutton "Brasileiro" action Language("pt_br")
+ textbutton "Français" action Language("fr")
+ textbutton "Deutsche" action Language("de")
+ textbutton "Español" action Language("es")
+ textbutton "Italiano" action Language("it")
null height 10
label _("Skip")
textbutton _("Unseen Text") action Preference("skip", "toggle")
diff --git a/game/tl/de/client.rpy b/game/tl/de/client.rpy
new file mode 100644
index 0000000..a653b29
--- /dev/null
+++ b/game/tl/de/client.rpy
@@ -0,0 +1,24 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate de strings:
+
+ # game/client.rpy:38
+ old "Requesting credentials from Vault..."
+ new "Requesting credentials from Vault..."
+
+ # game/client.rpy:52
+ old "You're not logged in."
+ new "You're not logged in."
+
+ # game/client.rpy:58
+ old "Rate limited, we'll try again..."
+ new "Rate limited, we'll try again..."
+
+ # game/client.rpy:73
+ old "TMW Vault Error."
+ new "TMW Vault Error."
+
+ # game/client.rpy:108
+ old "Thanks for playing!"
+ new "Thanks for playing!"
+
diff --git a/game/tl/de/common.rpy b/game/tl/de/common.rpy
new file mode 100644
index 0000000..ef55e90
--- /dev/null
+++ b/game/tl/de/common.rpy
@@ -0,0 +1,980 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate de strings:
+
+ # renpy/common/00accessibility.rpy:28
+ old "Self-voicing disabled."
+ new "Self-voicing disabled."
+
+ # renpy/common/00accessibility.rpy:29
+ old "Clipboard voicing enabled. "
+ new "Clipboard voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:30
+ old "Self-voicing enabled. "
+ new "Self-voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:32
+ old "bar"
+ new "bar"
+
+ # renpy/common/00accessibility.rpy:33
+ old "selected"
+ new "selected"
+
+ # renpy/common/00accessibility.rpy:34
+ old "viewport"
+ new "viewport"
+
+ # renpy/common/00accessibility.rpy:35
+ old "horizontal scroll"
+ new "horizontal scroll"
+
+ # renpy/common/00accessibility.rpy:36
+ old "vertical scroll"
+ new "vertical scroll"
+
+ # renpy/common/00accessibility.rpy:37
+ old "activate"
+ new "activate"
+
+ # renpy/common/00accessibility.rpy:38
+ old "deactivate"
+ new "deactivate"
+
+ # renpy/common/00accessibility.rpy:39
+ old "increase"
+ new "increase"
+
+ # renpy/common/00accessibility.rpy:40
+ old "decrease"
+ new "decrease"
+
+ # renpy/common/00accessibility.rpy:128
+ old "Font Override"
+ new "Font Override"
+
+ # renpy/common/00accessibility.rpy:132
+ old "Default"
+ new "Standard"
+
+ # renpy/common/00accessibility.rpy:136
+ old "DejaVu Sans"
+ new "DejaVu Sans"
+
+ # renpy/common/00accessibility.rpy:140
+ old "Opendyslexic"
+ new "Opendyslexic"
+
+ # renpy/common/00accessibility.rpy:146
+ old "Text Size Scaling"
+ new "Text Size Scaling"
+
+ # renpy/common/00accessibility.rpy:152
+ old "Reset"
+ new "Reset"
+
+ # renpy/common/00accessibility.rpy:158
+ old "Line Spacing Scaling"
+ new "Line Spacing Scaling"
+
+ # renpy/common/00accessibility.rpy:171
+ old "Self-Voicing"
+ new "Self-Voicing"
+
+ # renpy/common/00accessibility.rpy:175
+ old "Off"
+ new "Off"
+
+ # renpy/common/00accessibility.rpy:179
+ old "Text-to-speech"
+ new "Text-to-speech"
+
+ # renpy/common/00accessibility.rpy:183
+ old "Clipboard"
+ new "Clipboard"
+
+ # renpy/common/00accessibility.rpy:187
+ old "Debug"
+ new "Debug"
+
+ # renpy/common/00accessibility.rpy:193
+ old "Self-Voicing Volume Drop"
+ new "Self-Voicing Volume Drop"
+
+ # renpy/common/00accessibility.rpy:202
+ old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+ new "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Monday"
+ new "{#weekday}Monday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Tuesday"
+ new "{#weekday}Tuesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Wednesday"
+ new "{#weekday}Wednesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Thursday"
+ new "{#weekday}Thursday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Friday"
+ new "{#weekday}Friday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Saturday"
+ new "{#weekday}Saturday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Sunday"
+ new "{#weekday}Sunday"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Mon"
+ new "{#weekday_short}Mon"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Tue"
+ new "{#weekday_short}Tue"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Wed"
+ new "{#weekday_short}Wed"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Thu"
+ new "{#weekday_short}Thu"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Fri"
+ new "{#weekday_short}Fri"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sat"
+ new "{#weekday_short}Sat"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sun"
+ new "{#weekday_short}Sun"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}January"
+ new "{#month}January"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}February"
+ new "{#month}February"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}March"
+ new "{#month}March"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}April"
+ new "{#month}April"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}May"
+ new "{#month}May"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}June"
+ new "{#month}June"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}July"
+ new "{#month}July"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}August"
+ new "{#month}August"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}September"
+ new "{#month}September"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}October"
+ new "{#month}October"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}November"
+ new "{#month}November"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}December"
+ new "{#month}December"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jan"
+ new "{#month_short}Jan"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Feb"
+ new "{#month_short}Feb"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Mar"
+ new "{#month_short}Mar"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Apr"
+ new "{#month_short}Apr"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}May"
+ new "{#month_short}May"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jun"
+ new "{#month_short}Jun"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jul"
+ new "{#month_short}Jul"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Aug"
+ new "{#month_short}Aug"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Sep"
+ new "{#month_short}Sep"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Oct"
+ new "{#month_short}Oct"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Nov"
+ new "{#month_short}Nov"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Dec"
+ new "{#month_short}Dec"
+
+ # renpy/common/00action_file.rpy:240
+ old "%b %d, %H:%M"
+ new "%b %d, %H:%M"
+
+ # renpy/common/00action_file.rpy:353
+ old "Save slot %s: [text]"
+ new "Save slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:434
+ old "Load slot %s: [text]"
+ new "Load slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:487
+ old "Delete slot [text]"
+ new "Delete slot [text]"
+
+ # renpy/common/00action_file.rpy:566
+ old "File page auto"
+ new "File page auto"
+
+ # renpy/common/00action_file.rpy:568
+ old "File page quick"
+ new "File page quick"
+
+ # renpy/common/00action_file.rpy:570
+ old "File page [text]"
+ new "File page [text]"
+
+ # renpy/common/00action_file.rpy:628
+ old "Page {}"
+ new "Page {}"
+
+ # renpy/common/00action_file.rpy:628
+ old "Automatic saves"
+ new "Automatic saves"
+
+ # renpy/common/00action_file.rpy:628
+ old "Quick saves"
+ new "Quick saves"
+
+ # renpy/common/00action_file.rpy:769
+ old "Next file page."
+ new "Next file page."
+
+ # renpy/common/00action_file.rpy:841
+ old "Previous file page."
+ new "Previous file page."
+
+ # renpy/common/00action_file.rpy:902
+ old "Quick save complete."
+ new "Quick save complete."
+
+ # renpy/common/00action_file.rpy:920
+ old "Quick save."
+ new "Quick save."
+
+ # renpy/common/00action_file.rpy:939
+ old "Quick load."
+ new "Quick load."
+
+ # renpy/common/00action_other.rpy:375
+ old "Language [text]"
+ new "Language [text]"
+
+ # renpy/common/00director.rpy:708
+ old "The interactive director is not enabled here."
+ new "The interactive director is not enabled here."
+
+ # renpy/common/00director.rpy:1481
+ old "⬆"
+ new "⬆"
+
+ # renpy/common/00director.rpy:1487
+ old "⬇"
+ new "⬇"
+
+ # renpy/common/00director.rpy:1551
+ old "Done"
+ new "Done"
+
+ # renpy/common/00director.rpy:1561
+ old "(statement)"
+ new "(statement)"
+
+ # renpy/common/00director.rpy:1562
+ old "(tag)"
+ new "(tag)"
+
+ # renpy/common/00director.rpy:1563
+ old "(attributes)"
+ new "(attributes)"
+
+ # renpy/common/00director.rpy:1564
+ old "(transform)"
+ new "(transform)"
+
+ # renpy/common/00director.rpy:1589
+ old "(transition)"
+ new "(transition)"
+
+ # renpy/common/00director.rpy:1601
+ old "(channel)"
+ new "(channel)"
+
+ # renpy/common/00director.rpy:1602
+ old "(filename)"
+ new "(filename)"
+
+ # renpy/common/00director.rpy:1631
+ old "Change"
+ new "Change"
+
+ # renpy/common/00director.rpy:1633
+ old "Add"
+ new "Add"
+
+ # renpy/common/00director.rpy:1636
+ old "Cancel"
+ new "Stornieren"
+
+ # renpy/common/00director.rpy:1639
+ old "Remove"
+ new "Remove"
+
+ # renpy/common/00director.rpy:1674
+ old "Statement:"
+ new "Statement:"
+
+ # renpy/common/00director.rpy:1695
+ old "Tag:"
+ new "Tag:"
+
+ # renpy/common/00director.rpy:1711
+ old "Attributes:"
+ new "Attributes:"
+
+ # renpy/common/00director.rpy:1729
+ old "Transforms:"
+ new "Transforms:"
+
+ # renpy/common/00director.rpy:1748
+ old "Behind:"
+ new "Behind:"
+
+ # renpy/common/00director.rpy:1767
+ old "Transition:"
+ new "Transition:"
+
+ # renpy/common/00director.rpy:1785
+ old "Channel:"
+ new "Channel:"
+
+ # renpy/common/00director.rpy:1803
+ old "Audio Filename:"
+ new "Audio Filename:"
+
+ # renpy/common/00gui.rpy:374
+ old "Are you sure?"
+ new "Bist du sicher?"
+
+ # renpy/common/00gui.rpy:375
+ old "Are you sure you want to delete this save?"
+ new "Are you sure you want to delete this save?"
+
+ # renpy/common/00gui.rpy:376
+ old "Are you sure you want to overwrite your save?"
+ new "Are you sure you want to overwrite your save?"
+
+ # renpy/common/00gui.rpy:377
+ old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+ new "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+
+ # renpy/common/00gui.rpy:378
+ old "Are you sure you want to quit?"
+ new "Are you sure you want to quit?"
+
+ # renpy/common/00gui.rpy:379
+ old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+ new "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+
+ # renpy/common/00gui.rpy:380
+ old "Are you sure you want to end the replay?"
+ new "Are you sure you want to end the replay?"
+
+ # renpy/common/00gui.rpy:381
+ old "Are you sure you want to begin skipping?"
+ new "Are you sure you want to begin skipping?"
+
+ # renpy/common/00gui.rpy:382
+ old "Are you sure you want to skip to the next choice?"
+ new "Are you sure you want to skip to the next choice?"
+
+ # renpy/common/00gui.rpy:383
+ old "Are you sure you want to skip unseen dialogue to the next choice?"
+ new "Are you sure you want to skip unseen dialogue to the next choice?"
+
+ # renpy/common/00keymap.rpy:300
+ old "Failed to save screenshot as %s."
+ new "Failed to save screenshot as %s."
+
+ # renpy/common/00keymap.rpy:312
+ old "Saved screenshot as %s."
+ new "Saved screenshot as %s."
+
+ # renpy/common/00library.rpy:195
+ old "Skip Mode"
+ new "Skip Mode"
+
+ # renpy/common/00library.rpy:281
+ old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+ new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+
+ # renpy/common/00preferences.rpy:240
+ old "display"
+ new "display"
+
+ # renpy/common/00preferences.rpy:252
+ old "transitions"
+ new "transitions"
+
+ # renpy/common/00preferences.rpy:261
+ old "skip transitions"
+ new "skip transitions"
+
+ # renpy/common/00preferences.rpy:263
+ old "video sprites"
+ new "video sprites"
+
+ # renpy/common/00preferences.rpy:272
+ old "show empty window"
+ new "show empty window"
+
+ # renpy/common/00preferences.rpy:281
+ old "text speed"
+ new "text speed"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick"
+ new "joystick"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick..."
+ new "joystick..."
+
+ # renpy/common/00preferences.rpy:296
+ old "skip"
+ new "skip"
+
+ # renpy/common/00preferences.rpy:299
+ old "skip unseen [text]"
+ new "skip unseen [text]"
+
+ # renpy/common/00preferences.rpy:304
+ old "skip unseen text"
+ new "skip unseen text"
+
+ # renpy/common/00preferences.rpy:306
+ old "begin skipping"
+ new "begin skipping"
+
+ # renpy/common/00preferences.rpy:310
+ old "after choices"
+ new "after choices"
+
+ # renpy/common/00preferences.rpy:317
+ old "skip after choices"
+ new "skip after choices"
+
+ # renpy/common/00preferences.rpy:319
+ old "auto-forward time"
+ new "auto-forward time"
+
+ # renpy/common/00preferences.rpy:333
+ old "auto-forward"
+ new "auto-forward"
+
+ # renpy/common/00preferences.rpy:340
+ old "Auto forward"
+ new "Auto forward"
+
+ # renpy/common/00preferences.rpy:343
+ old "auto-forward after click"
+ new "auto-forward after click"
+
+ # renpy/common/00preferences.rpy:352
+ old "automatic move"
+ new "automatic move"
+
+ # renpy/common/00preferences.rpy:361
+ old "wait for voice"
+ new "wait for voice"
+
+ # renpy/common/00preferences.rpy:370
+ old "voice sustain"
+ new "voice sustain"
+
+ # renpy/common/00preferences.rpy:379
+ old "self voicing"
+ new "self voicing"
+
+ # renpy/common/00preferences.rpy:388
+ old "self voicing volume drop"
+ new "self voicing volume drop"
+
+ # renpy/common/00preferences.rpy:396
+ old "clipboard voicing"
+ new "clipboard voicing"
+
+ # renpy/common/00preferences.rpy:405
+ old "debug voicing"
+ new "debug voicing"
+
+ # renpy/common/00preferences.rpy:414
+ old "emphasize audio"
+ new "emphasize audio"
+
+ # renpy/common/00preferences.rpy:423
+ old "rollback side"
+ new "rollback side"
+
+ # renpy/common/00preferences.rpy:433
+ old "gl powersave"
+ new "gl powersave"
+
+ # renpy/common/00preferences.rpy:439
+ old "gl framerate"
+ new "gl framerate"
+
+ # renpy/common/00preferences.rpy:442
+ old "gl tearing"
+ new "gl tearing"
+
+ # renpy/common/00preferences.rpy:445
+ old "font transform"
+ new "font transform"
+
+ # renpy/common/00preferences.rpy:448
+ old "font size"
+ new "font size"
+
+ # renpy/common/00preferences.rpy:456
+ old "font line spacing"
+ new "font line spacing"
+
+ # renpy/common/00preferences.rpy:464
+ old "system cursor"
+ new "system cursor"
+
+ # renpy/common/00preferences.rpy:484
+ old "music volume"
+ new "music volume"
+
+ # renpy/common/00preferences.rpy:485
+ old "sound volume"
+ new "sound volume"
+
+ # renpy/common/00preferences.rpy:486
+ old "voice volume"
+ new "voice volume"
+
+ # renpy/common/00preferences.rpy:487
+ old "mute music"
+ new "mute music"
+
+ # renpy/common/00preferences.rpy:488
+ old "mute sound"
+ new "mute sound"
+
+ # renpy/common/00preferences.rpy:489
+ old "mute voice"
+ new "mute voice"
+
+ # renpy/common/00preferences.rpy:490
+ old "mute all"
+ new "mute all"
+
+ # renpy/common/00preferences.rpy:571
+ old "Clipboard voicing enabled. Press 'shift+C' to disable."
+ new "Clipboard voicing enabled. Press 'shift+C' to disable."
+
+ # renpy/common/00preferences.rpy:573
+ old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+ new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+
+ # renpy/common/00preferences.rpy:575
+ old "Self-voicing enabled. Press 'v' to disable."
+ new "Self-voicing enabled. Press 'v' to disable."
+
+ # renpy/common/00iap.rpy:219
+ old "Contacting App Store\nPlease Wait..."
+ new "Contacting App Store\nPlease Wait..."
+
+ # renpy/common/00updater.rpy:374
+ old "The Ren'Py Updater is not supported on mobile devices."
+ new "The Ren'Py Updater is not supported on mobile devices."
+
+ # renpy/common/00updater.rpy:493
+ old "An error is being simulated."
+ new "An error is being simulated."
+
+ # renpy/common/00updater.rpy:677
+ old "Either this project does not support updating, or the update status file was deleted."
+ new "Either this project does not support updating, or the update status file was deleted."
+
+ # renpy/common/00updater.rpy:691
+ old "This account does not have permission to perform an update."
+ new "This account does not have permission to perform an update."
+
+ # renpy/common/00updater.rpy:694
+ old "This account does not have permission to write the update log."
+ new "This account does not have permission to write the update log."
+
+ # renpy/common/00updater.rpy:721
+ old "Could not verify update signature."
+ new "Could not verify update signature."
+
+ # renpy/common/00updater.rpy:992
+ old "The update file was not downloaded."
+ new "The update file was not downloaded."
+
+ # renpy/common/00updater.rpy:1010
+ old "The update file does not have the correct digest - it may have been corrupted."
+ new "The update file does not have the correct digest - it may have been corrupted."
+
+ # renpy/common/00updater.rpy:1064
+ old "While unpacking {}, unknown type {}."
+ new "While unpacking {}, unknown type {}."
+
+ # renpy/common/00updater.rpy:1430
+ old "Updater"
+ new "Updater"
+
+ # renpy/common/00updater.rpy:1437
+ old "An error has occured:"
+ new "An error has occured:"
+
+ # renpy/common/00updater.rpy:1439
+ old "Checking for updates."
+ new "Checking for updates."
+
+ # renpy/common/00updater.rpy:1441
+ old "This program is up to date."
+ new "This program is up to date."
+
+ # renpy/common/00updater.rpy:1443
+ old "[u.version] is available. Do you want to install it?"
+ new "[u.version] is available. Do you want to install it?"
+
+ # renpy/common/00updater.rpy:1445
+ old "Preparing to download the updates."
+ new "Preparing to download the updates."
+
+ # renpy/common/00updater.rpy:1447
+ old "Downloading the updates."
+ new "Downloading the updates."
+
+ # renpy/common/00updater.rpy:1449
+ old "Unpacking the updates."
+ new "Unpacking the updates."
+
+ # renpy/common/00updater.rpy:1451
+ old "Finishing up."
+ new "Finishing up."
+
+ # renpy/common/00updater.rpy:1453
+ old "The updates have been installed. The program will restart."
+ new "The updates have been installed. The program will restart."
+
+ # renpy/common/00updater.rpy:1455
+ old "The updates have been installed."
+ new "The updates have been installed."
+
+ # renpy/common/00updater.rpy:1457
+ old "The updates were cancelled."
+ new "The updates were cancelled."
+
+ # renpy/common/00updater.rpy:1472
+ old "Proceed"
+ new "Proceed"
+
+ # renpy/common/00gallery.rpy:590
+ old "Image [index] of [count] locked."
+ new "Image [index] of [count] locked."
+
+ # renpy/common/00gallery.rpy:610
+ old "prev"
+ new "prev"
+
+ # renpy/common/00gallery.rpy:611
+ old "next"
+ new "next"
+
+ # renpy/common/00gallery.rpy:612
+ old "slideshow"
+ new "slideshow"
+
+ # renpy/common/00gallery.rpy:613
+ old "return"
+ new "return"
+
+ # renpy/common/00gltest.rpy:89
+ old "Renderer"
+ new "Renderer"
+
+ # renpy/common/00gltest.rpy:93
+ old "Automatically Choose"
+ new "Automatically Choose"
+
+ # renpy/common/00gltest.rpy:100
+ old "Force GL Renderer"
+ new "Force GL Renderer"
+
+ # renpy/common/00gltest.rpy:105
+ old "Force ANGLE Renderer"
+ new "Force ANGLE Renderer"
+
+ # renpy/common/00gltest.rpy:110
+ old "Force GLES Renderer"
+ new "Force GLES Renderer"
+
+ # renpy/common/00gltest.rpy:116
+ old "Force GL2 Renderer"
+ new "Force GL2 Renderer"
+
+ # renpy/common/00gltest.rpy:121
+ old "Force ANGLE2 Renderer"
+ new "Force ANGLE2 Renderer"
+
+ # renpy/common/00gltest.rpy:126
+ old "Force GLES2 Renderer"
+ new "Force GLES2 Renderer"
+
+ # renpy/common/00gltest.rpy:136
+ old "Enable (No Blocklist)"
+ new "Enable (No Blocklist)"
+
+ # renpy/common/00gltest.rpy:140
+ old "Enable"
+ new "Aktivieren"
+
+ # renpy/common/00gltest.rpy:144
+ old "Disable"
+ new "Deaktivieren"
+
+ # renpy/common/00gltest.rpy:159
+ old "Powersave"
+ new "Powersave"
+
+ # renpy/common/00gltest.rpy:173
+ old "Framerate"
+ new "Framerate"
+
+ # renpy/common/00gltest.rpy:177
+ old "Screen"
+ new "Screen"
+
+ # renpy/common/00gltest.rpy:181
+ old "60"
+ new "60"
+
+ # renpy/common/00gltest.rpy:185
+ old "30"
+ new "30"
+
+ # renpy/common/00gltest.rpy:191
+ old "Tearing"
+ new "Tearing"
+
+ # renpy/common/00gltest.rpy:207
+ old "Changes will take effect the next time this program is run."
+ new "Changes will take effect the next time this program is run."
+
+ # renpy/common/00gltest.rpy:242
+ old "Performance Warning"
+ new "Performance Warning"
+
+ # renpy/common/00gltest.rpy:247
+ old "This computer is using software rendering."
+ new "This computer is using software rendering."
+
+ # renpy/common/00gltest.rpy:249
+ old "This game requires use of GL2 that can't be initialised."
+ new "This game requires use of GL2 that can't be initialised."
+
+ # renpy/common/00gltest.rpy:251
+ old "This computer has a problem displaying graphics: [problem]."
+ new "This computer has a problem displaying graphics: [problem]."
+
+ # renpy/common/00gltest.rpy:255
+ old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+ new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+
+ # renpy/common/00gltest.rpy:259
+ old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+ new "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+
+ # renpy/common/00gltest.rpy:264
+ old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+ new "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+
+ # renpy/common/00gltest.rpy:269
+ old "Continue, Show this warning again"
+ new "Continue, Show this warning again"
+
+ # renpy/common/00gltest.rpy:273
+ old "Continue, Don't show warning again"
+ new "Continue, Don't show warning again"
+
+ # renpy/common/00gltest.rpy:281
+ old "Change render options"
+ new "Change render options"
+
+ # renpy/common/00gamepad.rpy:32
+ old "Select Gamepad to Calibrate"
+ new "Select Gamepad to Calibrate"
+
+ # renpy/common/00gamepad.rpy:35
+ old "No Gamepads Available"
+ new "No Gamepads Available"
+
+ # renpy/common/00gamepad.rpy:54
+ old "Calibrating [name] ([i]/[total])"
+ new "Calibrating [name] ([i]/[total])"
+
+ # renpy/common/00gamepad.rpy:58
+ old "Press or move the '[control!s]' [kind]."
+ new "Press or move the '[control!s]' [kind]."
+
+ # renpy/common/00gamepad.rpy:68
+ old "Skip (A)"
+ new "Skip (A)"
+
+ # renpy/common/00gamepad.rpy:71
+ old "Back (B)"
+ new "Back (B)"
+
+ # renpy/common/_errorhandling.rpym:542
+ old "Open"
+ new "Öffnen"
+
+ # renpy/common/_errorhandling.rpym:544
+ old "Opens the traceback.txt file in a text editor."
+ new "Opens the traceback.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:546
+ old "Copy BBCode"
+ new "Copy BBCode"
+
+ # renpy/common/_errorhandling.rpym:548
+ old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:550
+ old "Copy Markdown"
+ new "Copy Markdown"
+
+ # renpy/common/_errorhandling.rpym:552
+ old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+ new "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+
+ # renpy/common/_errorhandling.rpym:581
+ old "An exception has occurred."
+ new "An exception has occurred."
+
+ # renpy/common/_errorhandling.rpym:604
+ old "Rollback"
+ new "Rollback"
+
+ # renpy/common/_errorhandling.rpym:606
+ old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+ new "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+
+ # renpy/common/_errorhandling.rpym:609
+ old "Ignore"
+ new "Ignore"
+
+ # renpy/common/_errorhandling.rpym:613
+ old "Ignores the exception, allowing you to continue."
+ new "Ignores the exception, allowing you to continue."
+
+ # renpy/common/_errorhandling.rpym:615
+ old "Ignores the exception, allowing you to continue. This often leads to additional errors."
+ new "Ignores the exception, allowing you to continue. This often leads to additional errors."
+
+ # renpy/common/_errorhandling.rpym:619
+ old "Reload"
+ new "Reload"
+
+ # renpy/common/_errorhandling.rpym:621
+ old "Reloads the game from disk, saving and restoring game state if possible."
+ new "Reloads the game from disk, saving and restoring game state if possible."
+
+ # renpy/common/_errorhandling.rpym:624
+ old "Console"
+ new "Console"
+
+ # renpy/common/_errorhandling.rpym:626
+ old "Opens a console to allow debugging the problem."
+ new "Opens a console to allow debugging the problem."
+
+ # renpy/common/_errorhandling.rpym:639
+ old "Quits the game."
+ new "Quits the game."
+
+ # renpy/common/_errorhandling.rpym:660
+ old "Parsing the script failed."
+ new "Parsing the script failed."
+
+ # renpy/common/_errorhandling.rpym:686
+ old "Opens the errors.txt file in a text editor."
+ new "Opens the errors.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:690
+ old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:694
+ old "Copies the errors.txt file to the clipboard as Markdown for Discord."
+ new "Copies the errors.txt file to the clipboard as Markdown for Discord."
+
diff --git a/game/tl/de/mirrorlake.rpy b/game/tl/de/mirrorlake.rpy
new file mode 100644
index 0000000..d4061c0
--- /dev/null
+++ b/game/tl/de/mirrorlake.rpy
@@ -0,0 +1,20 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate de strings:
+
+ # game/mirrorlake.rpy:33
+ old "{b}The Void{/b}"
+ new "{b}The Void{/b}"
+
+ # game/mirrorlake.rpy:104
+ old "Play!"
+ new "Play!"
+
+ # game/mirrorlake.rpy:110
+ old "The Void"
+ new "The Void"
+
+ # game/mirrorlake.rpy:115
+ old "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+ new "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+
diff --git a/game/tl/de/options.rpy b/game/tl/de/options.rpy
new file mode 100644
index 0000000..d666822
--- /dev/null
+++ b/game/tl/de/options.rpy
@@ -0,0 +1,16 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate de strings:
+
+ # game/options.rpy:15
+ old "Mana Launcher"
+ new "Mana Launcher"
+
+ # game/options.rpy:37
+ old "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+ new "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+
+ # game/options.rpy:246
+ old "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+ new "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+
diff --git a/game/tl/de/renpy.rpy b/game/tl/de/renpy.rpy
new file mode 100644
index 0000000..a50fc4e
--- /dev/null
+++ b/game/tl/de/renpy.rpy
@@ -0,0 +1,8 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+# game/renpy.rpy:166
+translate de start_loop_2dea60f4:
+
+ # centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+ centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+
diff --git a/game/tl/de/screens.rpy b/game/tl/de/screens.rpy
new file mode 100644
index 0000000..ded15ac
--- /dev/null
+++ b/game/tl/de/screens.rpy
@@ -0,0 +1,268 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate de strings:
+
+ # game/screens.rpy:256
+ old "History"
+ new "History"
+
+ # game/screens.rpy:257
+ old "Skip"
+ new "Skip"
+
+ # game/screens.rpy:258
+ old "Prefs"
+ new "Prefs"
+
+ # game/screens.rpy:299
+ old "Start"
+ new "Start"
+
+ # game/screens.rpy:306
+ old "Preferences"
+ new "Preferences"
+
+ # game/screens.rpy:310
+ old "End Replay"
+ new "End Replay"
+
+ # game/screens.rpy:314
+ old "Main Menu"
+ new "Main Menu"
+
+ # game/screens.rpy:316
+ old "About"
+ new "About"
+
+ # game/screens.rpy:322
+ old "Quit"
+ new "Beenden"
+
+ # game/screens.rpy:467
+ old "Return"
+ new "Return"
+
+ # game/screens.rpy:551
+ old "Version [config.version!t]\n"
+ new "Version [config.version!t]\n"
+
+ # game/screens.rpy:557
+ old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+ new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+
+ # game/screens.rpy:647
+ old "Display"
+ new "Display"
+
+ # game/screens.rpy:648
+ old "Window"
+ new "Window"
+
+ # game/screens.rpy:649
+ old "Fullscreen"
+ new "Fullscreen"
+
+ # game/screens.rpy:650
+ old "Iconify"
+ new "Iconify"
+
+ # game/screens.rpy:651
+ old "Enabled"
+ new "aktiviert"
+
+ # game/screens.rpy:651
+ old "Disabled"
+ new "Deaktiviert"
+
+ # game/screens.rpy:658
+ old "Discord"
+ new "Discord"
+
+ # game/screens.rpy:664
+ old "Steam Login"
+ new "Steam Login"
+
+ # game/screens.rpy:670
+ old "Game Client"
+ new "Game Client"
+
+ # game/screens.rpy:671
+ old "ManaPlus"
+ new "ManaPlus"
+
+ # game/screens.rpy:673
+ old "Mana"
+ new "Mana"
+
+ # game/screens.rpy:679
+ old "Language"
+ new "Language"
+
+ # game/screens.rpy:684
+ old "Unseen Text"
+ new "Unseen Text"
+
+ # game/screens.rpy:685
+ old "After Choices"
+ new "After Choices"
+
+ # game/screens.rpy:686
+ old "Transitions"
+ new "Transitions"
+
+ # game/screens.rpy:706
+ old "Music Volume"
+ new "Music Volume"
+
+ # game/screens.rpy:713
+ old "Sound Volume"
+ new "Sound Volume"
+
+ # game/screens.rpy:719
+ old "Test"
+ new "Test"
+
+ # game/screens.rpy:723
+ old "Voice Volume"
+ new "Voice Volume"
+
+ # game/screens.rpy:734
+ old "Mute All"
+ new "Mute All"
+
+ # game/screens.rpy:740
+ old "Check Files Integrity"
+ new "Check Files Integrity"
+
+ # game/screens.rpy:757
+ old "All Set!"
+ new "All Set!"
+
+ # game/screens.rpy:877
+ old "The dialogue history is empty."
+ new "The dialogue history is empty."
+
+ # game/screens.rpy:938
+ old "Help"
+ new "Help"
+
+ # game/screens.rpy:947
+ old "Keyboard"
+ new "Keyboard"
+
+ # game/screens.rpy:948
+ old "Mouse"
+ new "Mouse"
+
+ # game/screens.rpy:951
+ old "Gamepad"
+ new "Gamepad"
+
+ # game/screens.rpy:964
+ old "Enter"
+ new "Eingeben"
+
+ # game/screens.rpy:965
+ old "Advances dialogue and activates the interface."
+ new "Advances dialogue and activates the interface."
+
+ # game/screens.rpy:968
+ old "Space"
+ new "Space"
+
+ # game/screens.rpy:969
+ old "Advances dialogue without selecting choices."
+ new "Advances dialogue without selecting choices."
+
+ # game/screens.rpy:972
+ old "Arrow Keys"
+ new "Arrow Keys"
+
+ # game/screens.rpy:973
+ old "Navigate the interface."
+ new "Navigate the interface."
+
+ # game/screens.rpy:976
+ old "Escape"
+ new "Escape"
+
+ # game/screens.rpy:977
+ old "Accesses the game menu."
+ new "Accesses the game menu."
+
+ # game/screens.rpy:980
+ old "Ctrl"
+ new "Ctrl"
+
+ # game/screens.rpy:981
+ old "Skips dialogue while held down."
+ new "Skips dialogue while held down."
+
+ # game/screens.rpy:984
+ old "Tab"
+ new "Tab"
+
+ # game/screens.rpy:985
+ old "Toggles dialogue skipping."
+ new "Toggles dialogue skipping."
+
+ # game/screens.rpy:989
+ old "Hides the user interface."
+ new "Hides the user interface."
+
+ # game/screens.rpy:993
+ old "Takes a screenshot."
+ new "Takes a screenshot."
+
+ # game/screens.rpy:997
+ old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+ new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+
+ # game/screens.rpy:1003
+ old "Left Click"
+ new "Left Click"
+
+ # game/screens.rpy:1007
+ old "Middle Click"
+ new "Middle Click"
+
+ # game/screens.rpy:1011
+ old "Right Click"
+ new "Right Click"
+
+ # game/screens.rpy:1018
+ old "Right Trigger\nA/Bottom Button"
+ new "Right Trigger\nA/Bottom Button"
+
+ # game/screens.rpy:1022
+ old "D-Pad, Sticks"
+ new "D-Pad, Sticks"
+
+ # game/screens.rpy:1026
+ old "Start, Guide"
+ new "Start, Guide"
+
+ # game/screens.rpy:1030
+ old "Y/Top Button"
+ new "Y/Top Button"
+
+ # game/screens.rpy:1033
+ old "Calibrate"
+ new "Calibrate"
+
+ # game/screens.rpy:1098
+ old "Yes"
+ new "Ja"
+
+ # game/screens.rpy:1099
+ old "No"
+ new "Nein"
+
+ # game/screens.rpy:1145
+ old "Skipping"
+ new "Skipping"
+
+ # game/screens.rpy:1366
+ old "Menu"
+ new "Menu"
+
diff --git a/game/tl/de/soul.rpy b/game/tl/de/soul.rpy
new file mode 100644
index 0000000..0e9c0d1
--- /dev/null
+++ b/game/tl/de/soul.rpy
@@ -0,0 +1,116 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+# game/soul.rpy:155
+translate de intro_1d65fd1f:
+
+ # evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+ evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+
+# game/soul.rpy:156
+translate de intro_fc641e8d:
+
+ # evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+ evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+
+# game/soul.rpy:160
+translate de intro_774f5206:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:161
+translate de intro_873ea3a8:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+
+# game/soul.rpy:162
+translate de intro_774f5206_1:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:163
+translate de intro_67488d5e:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+
+# game/soul.rpy:164
+translate de intro_aa2c08ed:
+
+ # evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+ evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+
+# game/soul.rpy:165
+translate de intro_96ce8641:
+
+ # evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+ evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+
+# game/soul.rpy:166
+translate de intro_da56d90b:
+
+ # evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+ evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+
+# game/soul.rpy:167
+translate de intro_6fae2a3d:
+
+ # evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+ evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+
+# game/soul.rpy:171
+translate de intro_88ebea11:
+
+ # evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+ evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+
+# game/soul.rpy:178
+translate de intro_19c5c775:
+
+ # centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+ centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+
+# game/soul.rpy:186
+translate de intro_82ae0cb5:
+
+ # centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+ centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+
+# game/soul.rpy:192
+translate de intro_32b6ce88:
+
+ # centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+ centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+
+translate de strings:
+
+ # game/soul.rpy:37
+ old "Level"
+ new "Level"
+
+ # game/soul.rpy:42
+ old "Scene Recollection"
+ new "Scene Recollection"
+
+ # game/soul.rpy:51
+ old "Prologue"
+ new "Prolog"
+
+ # game/soul.rpy:55
+ old "Replay the prologue."
+ new "Replay the prologue."
+
+ # game/soul.rpy:66
+ old "Return »"
+ new "Return »"
+
+ # game/soul.rpy:119
+ old "{color=#FFF}Loading user data...{/color}"
+ new "{color=#FFF}Loading user data...{/color}"
+
+ # game/soul.rpy:134
+ old "Wanderer"
+ new "Wanderer"
+
diff --git a/game/tl/de/update.rpy b/game/tl/de/update.rpy
new file mode 100644
index 0000000..59759be
--- /dev/null
+++ b/game/tl/de/update.rpy
@@ -0,0 +1,28 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate de strings:
+
+ # game/update.rpy:278
+ old "Email Auth"
+ new "Email Auth"
+
+ # game/update.rpy:279
+ old "Pass+2FA Auth"
+ new "Pass+2FA Auth"
+
+ # game/update.rpy:320
+ old "OK"
+ new "OK"
+
+ # game/update.rpy:332
+ old "Please make sure you enter a valid email!"
+ new "Please make sure you enter a valid email!"
+
+ # game/update.rpy:352
+ old "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+ new "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+
+ # game/update.rpy:362
+ old "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+ new "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+
diff --git a/game/tl/es/client.rpy b/game/tl/es/client.rpy
new file mode 100644
index 0000000..225b040
--- /dev/null
+++ b/game/tl/es/client.rpy
@@ -0,0 +1,24 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+translate es strings:
+
+ # game/client.rpy:38
+ old "Requesting credentials from Vault..."
+ new "Requesting credentials from Vault..."
+
+ # game/client.rpy:52
+ old "You're not logged in."
+ new "You're not logged in."
+
+ # game/client.rpy:58
+ old "Rate limited, we'll try again..."
+ new "Rate limited, we'll try again..."
+
+ # game/client.rpy:73
+ old "TMW Vault Error."
+ new "TMW Vault Error."
+
+ # game/client.rpy:108
+ old "Thanks for playing!"
+ new "Thanks for playing!"
+
diff --git a/game/tl/es/common.rpy b/game/tl/es/common.rpy
new file mode 100644
index 0000000..ae8c9e8
--- /dev/null
+++ b/game/tl/es/common.rpy
@@ -0,0 +1,980 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+translate es strings:
+
+ # renpy/common/00accessibility.rpy:28
+ old "Self-voicing disabled."
+ new "Self-voicing disabled."
+
+ # renpy/common/00accessibility.rpy:29
+ old "Clipboard voicing enabled. "
+ new "Clipboard voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:30
+ old "Self-voicing enabled. "
+ new "Self-voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:32
+ old "bar"
+ new "bar"
+
+ # renpy/common/00accessibility.rpy:33
+ old "selected"
+ new "selected"
+
+ # renpy/common/00accessibility.rpy:34
+ old "viewport"
+ new "viewport"
+
+ # renpy/common/00accessibility.rpy:35
+ old "horizontal scroll"
+ new "horizontal scroll"
+
+ # renpy/common/00accessibility.rpy:36
+ old "vertical scroll"
+ new "vertical scroll"
+
+ # renpy/common/00accessibility.rpy:37
+ old "activate"
+ new "activate"
+
+ # renpy/common/00accessibility.rpy:38
+ old "deactivate"
+ new "deactivate"
+
+ # renpy/common/00accessibility.rpy:39
+ old "increase"
+ new "increase"
+
+ # renpy/common/00accessibility.rpy:40
+ old "decrease"
+ new "decrease"
+
+ # renpy/common/00accessibility.rpy:128
+ old "Font Override"
+ new "Font Override"
+
+ # renpy/common/00accessibility.rpy:132
+ old "Default"
+ new "Standard"
+
+ # renpy/common/00accessibility.rpy:136
+ old "DejaVu Sans"
+ new "DejaVu Sans"
+
+ # renpy/common/00accessibility.rpy:140
+ old "Opendyslexic"
+ new "Opendyslexic"
+
+ # renpy/common/00accessibility.rpy:146
+ old "Text Size Scaling"
+ new "Text Size Scaling"
+
+ # renpy/common/00accessibility.rpy:152
+ old "Reset"
+ new "Reiniciar"
+
+ # renpy/common/00accessibility.rpy:158
+ old "Line Spacing Scaling"
+ new "Line Spacing Scaling"
+
+ # renpy/common/00accessibility.rpy:171
+ old "Self-Voicing"
+ new "Self-Voicing"
+
+ # renpy/common/00accessibility.rpy:175
+ old "Off"
+ new "Off"
+
+ # renpy/common/00accessibility.rpy:179
+ old "Text-to-speech"
+ new "Text-to-speech"
+
+ # renpy/common/00accessibility.rpy:183
+ old "Clipboard"
+ new "Clipboard"
+
+ # renpy/common/00accessibility.rpy:187
+ old "Debug"
+ new "Depurar"
+
+ # renpy/common/00accessibility.rpy:193
+ old "Self-Voicing Volume Drop"
+ new "Self-Voicing Volume Drop"
+
+ # renpy/common/00accessibility.rpy:202
+ old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+ new "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Monday"
+ new "{#weekday}Monday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Tuesday"
+ new "{#weekday}Tuesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Wednesday"
+ new "{#weekday}Wednesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Thursday"
+ new "{#weekday}Thursday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Friday"
+ new "{#weekday}Friday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Saturday"
+ new "{#weekday}Saturday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Sunday"
+ new "{#weekday}Sunday"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Mon"
+ new "{#weekday_short}Mon"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Tue"
+ new "{#weekday_short}Tue"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Wed"
+ new "{#weekday_short}Wed"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Thu"
+ new "{#weekday_short}Thu"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Fri"
+ new "{#weekday_short}Fri"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sat"
+ new "{#weekday_short}Sat"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sun"
+ new "{#weekday_short}Sun"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}January"
+ new "{#month}January"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}February"
+ new "{#month}February"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}March"
+ new "{#month}March"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}April"
+ new "{#month}April"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}May"
+ new "{#month}May"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}June"
+ new "{#month}June"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}July"
+ new "{#month}July"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}August"
+ new "{#month}August"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}September"
+ new "{#month}September"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}October"
+ new "{#month}October"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}November"
+ new "{#month}November"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}December"
+ new "{#month}December"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jan"
+ new "{#month_short}Jan"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Feb"
+ new "{#month_short}Feb"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Mar"
+ new "{#month_short}Mar"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Apr"
+ new "{#month_short}Apr"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}May"
+ new "{#month_short}May"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jun"
+ new "{#month_short}Jun"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jul"
+ new "{#month_short}Jul"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Aug"
+ new "{#month_short}Aug"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Sep"
+ new "{#month_short}Sep"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Oct"
+ new "{#month_short}Oct"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Nov"
+ new "{#month_short}Nov"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Dec"
+ new "{#month_short}Dec"
+
+ # renpy/common/00action_file.rpy:240
+ old "%b %d, %H:%M"
+ new "%b %d, %H:%M"
+
+ # renpy/common/00action_file.rpy:353
+ old "Save slot %s: [text]"
+ new "Save slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:434
+ old "Load slot %s: [text]"
+ new "Load slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:487
+ old "Delete slot [text]"
+ new "Delete slot [text]"
+
+ # renpy/common/00action_file.rpy:566
+ old "File page auto"
+ new "File page auto"
+
+ # renpy/common/00action_file.rpy:568
+ old "File page quick"
+ new "File page quick"
+
+ # renpy/common/00action_file.rpy:570
+ old "File page [text]"
+ new "File page [text]"
+
+ # renpy/common/00action_file.rpy:628
+ old "Page {}"
+ new "Page {}"
+
+ # renpy/common/00action_file.rpy:628
+ old "Automatic saves"
+ new "Automatic saves"
+
+ # renpy/common/00action_file.rpy:628
+ old "Quick saves"
+ new "Quick saves"
+
+ # renpy/common/00action_file.rpy:769
+ old "Next file page."
+ new "Next file page."
+
+ # renpy/common/00action_file.rpy:841
+ old "Previous file page."
+ new "Previous file page."
+
+ # renpy/common/00action_file.rpy:902
+ old "Quick save complete."
+ new "Quick save complete."
+
+ # renpy/common/00action_file.rpy:920
+ old "Quick save."
+ new "Quick save."
+
+ # renpy/common/00action_file.rpy:939
+ old "Quick load."
+ new "Quick load."
+
+ # renpy/common/00action_other.rpy:375
+ old "Language [text]"
+ new "Language [text]"
+
+ # renpy/common/00director.rpy:708
+ old "The interactive director is not enabled here."
+ new "The interactive director is not enabled here."
+
+ # renpy/common/00director.rpy:1481
+ old "⬆"
+ new "⬆"
+
+ # renpy/common/00director.rpy:1487
+ old "⬇"
+ new "⬇"
+
+ # renpy/common/00director.rpy:1551
+ old "Done"
+ new "Done"
+
+ # renpy/common/00director.rpy:1561
+ old "(statement)"
+ new "(statement)"
+
+ # renpy/common/00director.rpy:1562
+ old "(tag)"
+ new "(tag)"
+
+ # renpy/common/00director.rpy:1563
+ old "(attributes)"
+ new "(attributes)"
+
+ # renpy/common/00director.rpy:1564
+ old "(transform)"
+ new "(transform)"
+
+ # renpy/common/00director.rpy:1589
+ old "(transition)"
+ new "(transition)"
+
+ # renpy/common/00director.rpy:1601
+ old "(channel)"
+ new "(channel)"
+
+ # renpy/common/00director.rpy:1602
+ old "(filename)"
+ new "(filename)"
+
+ # renpy/common/00director.rpy:1631
+ old "Change"
+ new "Change"
+
+ # renpy/common/00director.rpy:1633
+ old "Add"
+ new "Add"
+
+ # renpy/common/00director.rpy:1636
+ old "Cancel"
+ new "Stornieren"
+
+ # renpy/common/00director.rpy:1639
+ old "Remove"
+ new "Remove"
+
+ # renpy/common/00director.rpy:1674
+ old "Statement:"
+ new "Statement:"
+
+ # renpy/common/00director.rpy:1695
+ old "Tag:"
+ new "Tag:"
+
+ # renpy/common/00director.rpy:1711
+ old "Attributes:"
+ new "Attributes:"
+
+ # renpy/common/00director.rpy:1729
+ old "Transforms:"
+ new "Transforms:"
+
+ # renpy/common/00director.rpy:1748
+ old "Behind:"
+ new "Behind:"
+
+ # renpy/common/00director.rpy:1767
+ old "Transition:"
+ new "Transition:"
+
+ # renpy/common/00director.rpy:1785
+ old "Channel:"
+ new "Channel:"
+
+ # renpy/common/00director.rpy:1803
+ old "Audio Filename:"
+ new "Audio Filename:"
+
+ # renpy/common/00gui.rpy:374
+ old "Are you sure?"
+ new "Bist du sicher?"
+
+ # renpy/common/00gui.rpy:375
+ old "Are you sure you want to delete this save?"
+ new "Are you sure you want to delete this save?"
+
+ # renpy/common/00gui.rpy:376
+ old "Are you sure you want to overwrite your save?"
+ new "Are you sure you want to overwrite your save?"
+
+ # renpy/common/00gui.rpy:377
+ old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+ new "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+
+ # renpy/common/00gui.rpy:378
+ old "Are you sure you want to quit?"
+ new "Are you sure you want to quit?"
+
+ # renpy/common/00gui.rpy:379
+ old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+ new "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+
+ # renpy/common/00gui.rpy:380
+ old "Are you sure you want to end the replay?"
+ new "Are you sure you want to end the replay?"
+
+ # renpy/common/00gui.rpy:381
+ old "Are you sure you want to begin skipping?"
+ new "Are you sure you want to begin skipping?"
+
+ # renpy/common/00gui.rpy:382
+ old "Are you sure you want to skip to the next choice?"
+ new "Are you sure you want to skip to the next choice?"
+
+ # renpy/common/00gui.rpy:383
+ old "Are you sure you want to skip unseen dialogue to the next choice?"
+ new "Are you sure you want to skip unseen dialogue to the next choice?"
+
+ # renpy/common/00keymap.rpy:300
+ old "Failed to save screenshot as %s."
+ new "Failed to save screenshot as %s."
+
+ # renpy/common/00keymap.rpy:312
+ old "Saved screenshot as %s."
+ new "Saved screenshot as %s."
+
+ # renpy/common/00library.rpy:195
+ old "Skip Mode"
+ new "Skip Mode"
+
+ # renpy/common/00library.rpy:281
+ old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+ new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+
+ # renpy/common/00preferences.rpy:240
+ old "display"
+ new "display"
+
+ # renpy/common/00preferences.rpy:252
+ old "transitions"
+ new "transitions"
+
+ # renpy/common/00preferences.rpy:261
+ old "skip transitions"
+ new "skip transitions"
+
+ # renpy/common/00preferences.rpy:263
+ old "video sprites"
+ new "video sprites"
+
+ # renpy/common/00preferences.rpy:272
+ old "show empty window"
+ new "show empty window"
+
+ # renpy/common/00preferences.rpy:281
+ old "text speed"
+ new "text speed"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick"
+ new "joystick"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick..."
+ new "joystick..."
+
+ # renpy/common/00preferences.rpy:296
+ old "skip"
+ new "skip"
+
+ # renpy/common/00preferences.rpy:299
+ old "skip unseen [text]"
+ new "skip unseen [text]"
+
+ # renpy/common/00preferences.rpy:304
+ old "skip unseen text"
+ new "skip unseen text"
+
+ # renpy/common/00preferences.rpy:306
+ old "begin skipping"
+ new "begin skipping"
+
+ # renpy/common/00preferences.rpy:310
+ old "after choices"
+ new "after choices"
+
+ # renpy/common/00preferences.rpy:317
+ old "skip after choices"
+ new "skip after choices"
+
+ # renpy/common/00preferences.rpy:319
+ old "auto-forward time"
+ new "auto-forward time"
+
+ # renpy/common/00preferences.rpy:333
+ old "auto-forward"
+ new "auto-forward"
+
+ # renpy/common/00preferences.rpy:340
+ old "Auto forward"
+ new "Auto forward"
+
+ # renpy/common/00preferences.rpy:343
+ old "auto-forward after click"
+ new "auto-forward after click"
+
+ # renpy/common/00preferences.rpy:352
+ old "automatic move"
+ new "automatic move"
+
+ # renpy/common/00preferences.rpy:361
+ old "wait for voice"
+ new "wait for voice"
+
+ # renpy/common/00preferences.rpy:370
+ old "voice sustain"
+ new "voice sustain"
+
+ # renpy/common/00preferences.rpy:379
+ old "self voicing"
+ new "self voicing"
+
+ # renpy/common/00preferences.rpy:388
+ old "self voicing volume drop"
+ new "self voicing volume drop"
+
+ # renpy/common/00preferences.rpy:396
+ old "clipboard voicing"
+ new "clipboard voicing"
+
+ # renpy/common/00preferences.rpy:405
+ old "debug voicing"
+ new "debug voicing"
+
+ # renpy/common/00preferences.rpy:414
+ old "emphasize audio"
+ new "emphasize audio"
+
+ # renpy/common/00preferences.rpy:423
+ old "rollback side"
+ new "rollback side"
+
+ # renpy/common/00preferences.rpy:433
+ old "gl powersave"
+ new "gl powersave"
+
+ # renpy/common/00preferences.rpy:439
+ old "gl framerate"
+ new "gl framerate"
+
+ # renpy/common/00preferences.rpy:442
+ old "gl tearing"
+ new "gl tearing"
+
+ # renpy/common/00preferences.rpy:445
+ old "font transform"
+ new "font transform"
+
+ # renpy/common/00preferences.rpy:448
+ old "font size"
+ new "font size"
+
+ # renpy/common/00preferences.rpy:456
+ old "font line spacing"
+ new "font line spacing"
+
+ # renpy/common/00preferences.rpy:464
+ old "system cursor"
+ new "system cursor"
+
+ # renpy/common/00preferences.rpy:484
+ old "music volume"
+ new "music volume"
+
+ # renpy/common/00preferences.rpy:485
+ old "sound volume"
+ new "sound volume"
+
+ # renpy/common/00preferences.rpy:486
+ old "voice volume"
+ new "voice volume"
+
+ # renpy/common/00preferences.rpy:487
+ old "mute music"
+ new "mute music"
+
+ # renpy/common/00preferences.rpy:488
+ old "mute sound"
+ new "mute sound"
+
+ # renpy/common/00preferences.rpy:489
+ old "mute voice"
+ new "mute voice"
+
+ # renpy/common/00preferences.rpy:490
+ old "mute all"
+ new "mute all"
+
+ # renpy/common/00preferences.rpy:571
+ old "Clipboard voicing enabled. Press 'shift+C' to disable."
+ new "Clipboard voicing enabled. Press 'shift+C' to disable."
+
+ # renpy/common/00preferences.rpy:573
+ old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+ new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+
+ # renpy/common/00preferences.rpy:575
+ old "Self-voicing enabled. Press 'v' to disable."
+ new "Self-voicing enabled. Press 'v' to disable."
+
+ # renpy/common/00iap.rpy:219
+ old "Contacting App Store\nPlease Wait..."
+ new "Contacting App Store\nPlease Wait..."
+
+ # renpy/common/00updater.rpy:374
+ old "The Ren'Py Updater is not supported on mobile devices."
+ new "The Ren'Py Updater is not supported on mobile devices."
+
+ # renpy/common/00updater.rpy:493
+ old "An error is being simulated."
+ new "An error is being simulated."
+
+ # renpy/common/00updater.rpy:677
+ old "Either this project does not support updating, or the update status file was deleted."
+ new "Either this project does not support updating, or the update status file was deleted."
+
+ # renpy/common/00updater.rpy:691
+ old "This account does not have permission to perform an update."
+ new "This account does not have permission to perform an update."
+
+ # renpy/common/00updater.rpy:694
+ old "This account does not have permission to write the update log."
+ new "This account does not have permission to write the update log."
+
+ # renpy/common/00updater.rpy:721
+ old "Could not verify update signature."
+ new "Could not verify update signature."
+
+ # renpy/common/00updater.rpy:992
+ old "The update file was not downloaded."
+ new "The update file was not downloaded."
+
+ # renpy/common/00updater.rpy:1010
+ old "The update file does not have the correct digest - it may have been corrupted."
+ new "The update file does not have the correct digest - it may have been corrupted."
+
+ # renpy/common/00updater.rpy:1064
+ old "While unpacking {}, unknown type {}."
+ new "While unpacking {}, unknown type {}."
+
+ # renpy/common/00updater.rpy:1430
+ old "Updater"
+ new "Updater"
+
+ # renpy/common/00updater.rpy:1437
+ old "An error has occured:"
+ new "An error has occured:"
+
+ # renpy/common/00updater.rpy:1439
+ old "Checking for updates."
+ new "Checking for updates."
+
+ # renpy/common/00updater.rpy:1441
+ old "This program is up to date."
+ new "This program is up to date."
+
+ # renpy/common/00updater.rpy:1443
+ old "[u.version] is available. Do you want to install it?"
+ new "[u.version] is available. Do you want to install it?"
+
+ # renpy/common/00updater.rpy:1445
+ old "Preparing to download the updates."
+ new "Preparing to download the updates."
+
+ # renpy/common/00updater.rpy:1447
+ old "Downloading the updates."
+ new "Downloading the updates."
+
+ # renpy/common/00updater.rpy:1449
+ old "Unpacking the updates."
+ new "Unpacking the updates."
+
+ # renpy/common/00updater.rpy:1451
+ old "Finishing up."
+ new "Finishing up."
+
+ # renpy/common/00updater.rpy:1453
+ old "The updates have been installed. The program will restart."
+ new "The updates have been installed. The program will restart."
+
+ # renpy/common/00updater.rpy:1455
+ old "The updates have been installed."
+ new "The updates have been installed."
+
+ # renpy/common/00updater.rpy:1457
+ old "The updates were cancelled."
+ new "The updates were cancelled."
+
+ # renpy/common/00updater.rpy:1472
+ old "Proceed"
+ new "Proceed"
+
+ # renpy/common/00gallery.rpy:590
+ old "Image [index] of [count] locked."
+ new "Image [index] of [count] locked."
+
+ # renpy/common/00gallery.rpy:610
+ old "prev"
+ new "prev"
+
+ # renpy/common/00gallery.rpy:611
+ old "next"
+ new "next"
+
+ # renpy/common/00gallery.rpy:612
+ old "slideshow"
+ new "slideshow"
+
+ # renpy/common/00gallery.rpy:613
+ old "return"
+ new "return"
+
+ # renpy/common/00gltest.rpy:89
+ old "Renderer"
+ new "Renderer"
+
+ # renpy/common/00gltest.rpy:93
+ old "Automatically Choose"
+ new "Automatically Choose"
+
+ # renpy/common/00gltest.rpy:100
+ old "Force GL Renderer"
+ new "Force GL Renderer"
+
+ # renpy/common/00gltest.rpy:105
+ old "Force ANGLE Renderer"
+ new "Force ANGLE Renderer"
+
+ # renpy/common/00gltest.rpy:110
+ old "Force GLES Renderer"
+ new "Force GLES Renderer"
+
+ # renpy/common/00gltest.rpy:116
+ old "Force GL2 Renderer"
+ new "Force GL2 Renderer"
+
+ # renpy/common/00gltest.rpy:121
+ old "Force ANGLE2 Renderer"
+ new "Force ANGLE2 Renderer"
+
+ # renpy/common/00gltest.rpy:126
+ old "Force GLES2 Renderer"
+ new "Force GLES2 Renderer"
+
+ # renpy/common/00gltest.rpy:136
+ old "Enable (No Blocklist)"
+ new "Enable (No Blocklist)"
+
+ # renpy/common/00gltest.rpy:140
+ old "Enable"
+ new "Habilitar"
+
+ # renpy/common/00gltest.rpy:144
+ old "Disable"
+ new "Deshabilitar"
+
+ # renpy/common/00gltest.rpy:159
+ old "Powersave"
+ new "Powersave"
+
+ # renpy/common/00gltest.rpy:173
+ old "Framerate"
+ new "Framerate"
+
+ # renpy/common/00gltest.rpy:177
+ old "Screen"
+ new "Screen"
+
+ # renpy/common/00gltest.rpy:181
+ old "60"
+ new "60"
+
+ # renpy/common/00gltest.rpy:185
+ old "30"
+ new "30"
+
+ # renpy/common/00gltest.rpy:191
+ old "Tearing"
+ new "Tearing"
+
+ # renpy/common/00gltest.rpy:207
+ old "Changes will take effect the next time this program is run."
+ new "Changes will take effect the next time this program is run."
+
+ # renpy/common/00gltest.rpy:242
+ old "Performance Warning"
+ new "Performance Warning"
+
+ # renpy/common/00gltest.rpy:247
+ old "This computer is using software rendering."
+ new "This computer is using software rendering."
+
+ # renpy/common/00gltest.rpy:249
+ old "This game requires use of GL2 that can't be initialised."
+ new "This game requires use of GL2 that can't be initialised."
+
+ # renpy/common/00gltest.rpy:251
+ old "This computer has a problem displaying graphics: [problem]."
+ new "This computer has a problem displaying graphics: [problem]."
+
+ # renpy/common/00gltest.rpy:255
+ old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+ new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+
+ # renpy/common/00gltest.rpy:259
+ old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+ new "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+
+ # renpy/common/00gltest.rpy:264
+ old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+ new "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+
+ # renpy/common/00gltest.rpy:269
+ old "Continue, Show this warning again"
+ new "Continue, Show this warning again"
+
+ # renpy/common/00gltest.rpy:273
+ old "Continue, Don't show warning again"
+ new "Continue, Don't show warning again"
+
+ # renpy/common/00gltest.rpy:281
+ old "Change render options"
+ new "Change render options"
+
+ # renpy/common/00gamepad.rpy:32
+ old "Select Gamepad to Calibrate"
+ new "Select Gamepad to Calibrate"
+
+ # renpy/common/00gamepad.rpy:35
+ old "No Gamepads Available"
+ new "No Gamepads Available"
+
+ # renpy/common/00gamepad.rpy:54
+ old "Calibrating [name] ([i]/[total])"
+ new "Calibrating [name] ([i]/[total])"
+
+ # renpy/common/00gamepad.rpy:58
+ old "Press or move the '[control!s]' [kind]."
+ new "Press or move the '[control!s]' [kind]."
+
+ # renpy/common/00gamepad.rpy:68
+ old "Skip (A)"
+ new "Skip (A)"
+
+ # renpy/common/00gamepad.rpy:71
+ old "Back (B)"
+ new "Back (B)"
+
+ # renpy/common/_errorhandling.rpym:542
+ old "Open"
+ new "Abrir"
+
+ # renpy/common/_errorhandling.rpym:544
+ old "Opens the traceback.txt file in a text editor."
+ new "Opens the traceback.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:546
+ old "Copy BBCode"
+ new "Copy BBCode"
+
+ # renpy/common/_errorhandling.rpym:548
+ old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:550
+ old "Copy Markdown"
+ new "Copy Markdown"
+
+ # renpy/common/_errorhandling.rpym:552
+ old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+ new "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+
+ # renpy/common/_errorhandling.rpym:581
+ old "An exception has occurred."
+ new "An exception has occurred."
+
+ # renpy/common/_errorhandling.rpym:604
+ old "Rollback"
+ new "Rollback"
+
+ # renpy/common/_errorhandling.rpym:606
+ old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+ new "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+
+ # renpy/common/_errorhandling.rpym:609
+ old "Ignore"
+ new "Ignore"
+
+ # renpy/common/_errorhandling.rpym:613
+ old "Ignores the exception, allowing you to continue."
+ new "Ignores the exception, allowing you to continue."
+
+ # renpy/common/_errorhandling.rpym:615
+ old "Ignores the exception, allowing you to continue. This often leads to additional errors."
+ new "Ignores the exception, allowing you to continue. This often leads to additional errors."
+
+ # renpy/common/_errorhandling.rpym:619
+ old "Reload"
+ new "Reload"
+
+ # renpy/common/_errorhandling.rpym:621
+ old "Reloads the game from disk, saving and restoring game state if possible."
+ new "Reloads the game from disk, saving and restoring game state if possible."
+
+ # renpy/common/_errorhandling.rpym:624
+ old "Console"
+ new "Console"
+
+ # renpy/common/_errorhandling.rpym:626
+ old "Opens a console to allow debugging the problem."
+ new "Opens a console to allow debugging the problem."
+
+ # renpy/common/_errorhandling.rpym:639
+ old "Quits the game."
+ new "Quits the game."
+
+ # renpy/common/_errorhandling.rpym:660
+ old "Parsing the script failed."
+ new "Parsing the script failed."
+
+ # renpy/common/_errorhandling.rpym:686
+ old "Opens the errors.txt file in a text editor."
+ new "Opens the errors.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:690
+ old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:694
+ old "Copies the errors.txt file to the clipboard as Markdown for Discord."
+ new "Copies the errors.txt file to the clipboard as Markdown for Discord."
+
diff --git a/game/tl/es/mirrorlake.rpy b/game/tl/es/mirrorlake.rpy
new file mode 100644
index 0000000..b6f30db
--- /dev/null
+++ b/game/tl/es/mirrorlake.rpy
@@ -0,0 +1,20 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+translate es strings:
+
+ # game/mirrorlake.rpy:33
+ old "{b}The Void{/b}"
+ new "{b}The Void{/b}"
+
+ # game/mirrorlake.rpy:104
+ old "Play!"
+ new "Play!"
+
+ # game/mirrorlake.rpy:110
+ old "The Void"
+ new "The Void"
+
+ # game/mirrorlake.rpy:115
+ old "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+ new "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+
diff --git a/game/tl/es/options.rpy b/game/tl/es/options.rpy
new file mode 100644
index 0000000..b97595e
--- /dev/null
+++ b/game/tl/es/options.rpy
@@ -0,0 +1,16 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+translate es strings:
+
+ # game/options.rpy:15
+ old "Mana Launcher"
+ new "Mana Launcher"
+
+ # game/options.rpy:37
+ old "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+ new "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+
+ # game/options.rpy:246
+ old "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+ new "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+
diff --git a/game/tl/es/renpy.rpy b/game/tl/es/renpy.rpy
new file mode 100644
index 0000000..767b2b3
--- /dev/null
+++ b/game/tl/es/renpy.rpy
@@ -0,0 +1,8 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+# game/renpy.rpy:166
+translate es start_loop_2dea60f4:
+
+ # centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+ centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+
diff --git a/game/tl/es/screens.rpy b/game/tl/es/screens.rpy
new file mode 100644
index 0000000..e652c5d
--- /dev/null
+++ b/game/tl/es/screens.rpy
@@ -0,0 +1,268 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+translate es strings:
+
+ # game/screens.rpy:256
+ old "History"
+ new "History"
+
+ # game/screens.rpy:257
+ old "Skip"
+ new "Skip"
+
+ # game/screens.rpy:258
+ old "Prefs"
+ new "Prefs"
+
+ # game/screens.rpy:299
+ old "Start"
+ new "Start"
+
+ # game/screens.rpy:306
+ old "Preferences"
+ new "Preferences"
+
+ # game/screens.rpy:310
+ old "End Replay"
+ new "End Replay"
+
+ # game/screens.rpy:314
+ old "Main Menu"
+ new "Main Menu"
+
+ # game/screens.rpy:316
+ old "About"
+ new "About"
+
+ # game/screens.rpy:322
+ old "Quit"
+ new "Salir"
+
+ # game/screens.rpy:467
+ old "Return"
+ new "Return"
+
+ # game/screens.rpy:551
+ old "Version [config.version!t]\n"
+ new "Version [config.version!t]\n"
+
+ # game/screens.rpy:557
+ old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+ new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+
+ # game/screens.rpy:647
+ old "Display"
+ new "Display"
+
+ # game/screens.rpy:648
+ old "Window"
+ new "Window"
+
+ # game/screens.rpy:649
+ old "Fullscreen"
+ new "Fullscreen"
+
+ # game/screens.rpy:650
+ old "Iconify"
+ new "Iconify"
+
+ # game/screens.rpy:651
+ old "Enabled"
+ new "aktiviert"
+
+ # game/screens.rpy:651
+ old "Disabled"
+ new "Deaktiviert"
+
+ # game/screens.rpy:658
+ old "Discord"
+ new "Discord"
+
+ # game/screens.rpy:664
+ old "Steam Login"
+ new "Steam Login"
+
+ # game/screens.rpy:670
+ old "Game Client"
+ new "Game Client"
+
+ # game/screens.rpy:671
+ old "ManaPlus"
+ new "ManaPlus"
+
+ # game/screens.rpy:673
+ old "Mana"
+ new "Mana"
+
+ # game/screens.rpy:679
+ old "Language"
+ new "Language"
+
+ # game/screens.rpy:684
+ old "Unseen Text"
+ new "Unseen Text"
+
+ # game/screens.rpy:685
+ old "After Choices"
+ new "After Choices"
+
+ # game/screens.rpy:686
+ old "Transitions"
+ new "Transitions"
+
+ # game/screens.rpy:706
+ old "Music Volume"
+ new "Music Volume"
+
+ # game/screens.rpy:713
+ old "Sound Volume"
+ new "Sound Volume"
+
+ # game/screens.rpy:719
+ old "Test"
+ new "Test"
+
+ # game/screens.rpy:723
+ old "Voice Volume"
+ new "Voice Volume"
+
+ # game/screens.rpy:734
+ old "Mute All"
+ new "Mute All"
+
+ # game/screens.rpy:740
+ old "Check Files Integrity"
+ new "Check Files Integrity"
+
+ # game/screens.rpy:757
+ old "All Set!"
+ new "All Set!"
+
+ # game/screens.rpy:877
+ old "The dialogue history is empty."
+ new "The dialogue history is empty."
+
+ # game/screens.rpy:938
+ old "Help"
+ new "Help"
+
+ # game/screens.rpy:947
+ old "Keyboard"
+ new "Keyboard"
+
+ # game/screens.rpy:948
+ old "Mouse"
+ new "Mouse"
+
+ # game/screens.rpy:951
+ old "Gamepad"
+ new "Gamepad"
+
+ # game/screens.rpy:964
+ old "Enter"
+ new "Eingeben"
+
+ # game/screens.rpy:965
+ old "Advances dialogue and activates the interface."
+ new "Advances dialogue and activates the interface."
+
+ # game/screens.rpy:968
+ old "Space"
+ new "Space"
+
+ # game/screens.rpy:969
+ old "Advances dialogue without selecting choices."
+ new "Advances dialogue without selecting choices."
+
+ # game/screens.rpy:972
+ old "Arrow Keys"
+ new "Arrow Keys"
+
+ # game/screens.rpy:973
+ old "Navigate the interface."
+ new "Navigate the interface."
+
+ # game/screens.rpy:976
+ old "Escape"
+ new "Escape"
+
+ # game/screens.rpy:977
+ old "Accesses the game menu."
+ new "Accesses the game menu."
+
+ # game/screens.rpy:980
+ old "Ctrl"
+ new "Ctrl"
+
+ # game/screens.rpy:981
+ old "Skips dialogue while held down."
+ new "Skips dialogue while held down."
+
+ # game/screens.rpy:984
+ old "Tab"
+ new "Tab"
+
+ # game/screens.rpy:985
+ old "Toggles dialogue skipping."
+ new "Toggles dialogue skipping."
+
+ # game/screens.rpy:989
+ old "Hides the user interface."
+ new "Hides the user interface."
+
+ # game/screens.rpy:993
+ old "Takes a screenshot."
+ new "Takes a screenshot."
+
+ # game/screens.rpy:997
+ old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+ new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+
+ # game/screens.rpy:1003
+ old "Left Click"
+ new "Left Click"
+
+ # game/screens.rpy:1007
+ old "Middle Click"
+ new "Middle Click"
+
+ # game/screens.rpy:1011
+ old "Right Click"
+ new "Right Click"
+
+ # game/screens.rpy:1018
+ old "Right Trigger\nA/Bottom Button"
+ new "Right Trigger\nA/Bottom Button"
+
+ # game/screens.rpy:1022
+ old "D-Pad, Sticks"
+ new "D-Pad, Sticks"
+
+ # game/screens.rpy:1026
+ old "Start, Guide"
+ new "Start, Guide"
+
+ # game/screens.rpy:1030
+ old "Y/Top Button"
+ new "Y/Top Button"
+
+ # game/screens.rpy:1033
+ old "Calibrate"
+ new "Calibrate"
+
+ # game/screens.rpy:1098
+ old "Yes"
+ new "Sí"
+
+ # game/screens.rpy:1099
+ old "No"
+ new "No"
+
+ # game/screens.rpy:1145
+ old "Skipping"
+ new "Skipping"
+
+ # game/screens.rpy:1366
+ old "Menu"
+ new "Menu"
+
diff --git a/game/tl/es/soul.rpy b/game/tl/es/soul.rpy
new file mode 100644
index 0000000..12ba56e
--- /dev/null
+++ b/game/tl/es/soul.rpy
@@ -0,0 +1,116 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+# game/soul.rpy:155
+translate es intro_1d65fd1f:
+
+ # evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+ evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+
+# game/soul.rpy:156
+translate es intro_fc641e8d:
+
+ # evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+ evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+
+# game/soul.rpy:160
+translate es intro_774f5206:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:161
+translate es intro_873ea3a8:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+
+# game/soul.rpy:162
+translate es intro_774f5206_1:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:163
+translate es intro_67488d5e:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+
+# game/soul.rpy:164
+translate es intro_aa2c08ed:
+
+ # evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+ evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+
+# game/soul.rpy:165
+translate es intro_96ce8641:
+
+ # evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+ evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+
+# game/soul.rpy:166
+translate es intro_da56d90b:
+
+ # evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+ evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+
+# game/soul.rpy:167
+translate es intro_6fae2a3d:
+
+ # evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+ evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+
+# game/soul.rpy:171
+translate es intro_88ebea11:
+
+ # evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+ evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+
+# game/soul.rpy:178
+translate es intro_19c5c775:
+
+ # centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+ centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+
+# game/soul.rpy:186
+translate es intro_82ae0cb5:
+
+ # centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+ centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+
+# game/soul.rpy:192
+translate es intro_32b6ce88:
+
+ # centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+ centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+
+translate es strings:
+
+ # game/soul.rpy:37
+ old "Level"
+ new "Level"
+
+ # game/soul.rpy:42
+ old "Scene Recollection"
+ new "Scene Recollection"
+
+ # game/soul.rpy:51
+ old "Prologue"
+ new "Prólogo"
+
+ # game/soul.rpy:55
+ old "Replay the prologue."
+ new "Replay the prologue."
+
+ # game/soul.rpy:66
+ old "Return »"
+ new "Return »"
+
+ # game/soul.rpy:119
+ old "{color=#FFF}Loading user data...{/color}"
+ new "{color=#FFF}Loading user data...{/color}"
+
+ # game/soul.rpy:134
+ old "Wanderer"
+ new "Wanderer"
+
diff --git a/game/tl/es/update.rpy b/game/tl/es/update.rpy
new file mode 100644
index 0000000..0286bb2
--- /dev/null
+++ b/game/tl/es/update.rpy
@@ -0,0 +1,28 @@
+# TODO: Translation updated at 2021-05-18 14:36
+
+translate es strings:
+
+ # game/update.rpy:278
+ old "Email Auth"
+ new "Email Auth"
+
+ # game/update.rpy:279
+ old "Pass+2FA Auth"
+ new "Pass+2FA Auth"
+
+ # game/update.rpy:320
+ old "OK"
+ new "OK"
+
+ # game/update.rpy:332
+ old "Please make sure you enter a valid email!"
+ new "Please make sure you enter a valid email!"
+
+ # game/update.rpy:352
+ old "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+ new "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+
+ # game/update.rpy:362
+ old "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+ new "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+
diff --git a/game/tl/fetch.py b/game/tl/fetch.py
new file mode 100755
index 0000000..ad1a6ae
--- /dev/null
+++ b/game/tl/fetch.py
@@ -0,0 +1,42 @@
+#! /usr/bin/env python2.7
+# -*- coding: utf8 -*-
+#
+# Copyright (C) 2018 TMW-2
+# Author: Jesusalva
+
+from transifex.api import TransifexAPI
+
+project='moubootaur-legends'
+
+# Load credentials from login.txt and password.txt
+login=open('login.txt', 'r')
+for i in login:
+ username=i.replace('\n', '').replace('\r', '')
+
+login.close()
+
+passw=open('password.txt', 'r')
+for i in passw:
+ password=i.replace('\n', '').replace('\r', '')
+
+passw.close()
+
+t=TransifexAPI(username, password, 'https://www.transifex.com')
+
+if (not t.ping):
+ print("ERROR: Ping failed, this may be due incorrect username/password in login.txt and password.txt. Ensure there is NO newline at the end of file.")
+ exit(1)
+
+if (not t.project_exists(project)):
+ print("ERROR: Invalid project name")
+ exit(1)
+
+# Load languages
+langs=["pt_BR", "de", "fr", "es", "it"]
+
+# Fetch all translations and record them at in/
+for i in langs:
+ print("Fetching %s..." %(i))
+ t.get_translation(project, 'mana-launcher', i, '../../../Translation Toolkit/out/'+str(i)+'.po')
+
+
diff --git a/game/tl/fr/client.rpy b/game/tl/fr/client.rpy
new file mode 100644
index 0000000..06dcd93
--- /dev/null
+++ b/game/tl/fr/client.rpy
@@ -0,0 +1,24 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate fr strings:
+
+ # game/client.rpy:38
+ old "Requesting credentials from Vault..."
+ new "Requesting credentials from Vault..."
+
+ # game/client.rpy:52
+ old "You're not logged in."
+ new "You're not logged in."
+
+ # game/client.rpy:58
+ old "Rate limited, we'll try again..."
+ new "Rate limited, we'll try again..."
+
+ # game/client.rpy:73
+ old "TMW Vault Error."
+ new "TMW Vault Error."
+
+ # game/client.rpy:108
+ old "Thanks for playing!"
+ new "Thanks for playing!"
+
diff --git a/game/tl/fr/common.rpy b/game/tl/fr/common.rpy
new file mode 100644
index 0000000..c00c013
--- /dev/null
+++ b/game/tl/fr/common.rpy
@@ -0,0 +1,980 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate fr strings:
+
+ # renpy/common/00accessibility.rpy:28
+ old "Self-voicing disabled."
+ new "Self-voicing disabled."
+
+ # renpy/common/00accessibility.rpy:29
+ old "Clipboard voicing enabled. "
+ new "Clipboard voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:30
+ old "Self-voicing enabled. "
+ new "Self-voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:32
+ old "bar"
+ new "bar"
+
+ # renpy/common/00accessibility.rpy:33
+ old "selected"
+ new "selected"
+
+ # renpy/common/00accessibility.rpy:34
+ old "viewport"
+ new "viewport"
+
+ # renpy/common/00accessibility.rpy:35
+ old "horizontal scroll"
+ new "horizontal scroll"
+
+ # renpy/common/00accessibility.rpy:36
+ old "vertical scroll"
+ new "vertical scroll"
+
+ # renpy/common/00accessibility.rpy:37
+ old "activate"
+ new "activate"
+
+ # renpy/common/00accessibility.rpy:38
+ old "deactivate"
+ new "deactivate"
+
+ # renpy/common/00accessibility.rpy:39
+ old "increase"
+ new "increase"
+
+ # renpy/common/00accessibility.rpy:40
+ old "decrease"
+ new "decrease"
+
+ # renpy/common/00accessibility.rpy:128
+ old "Font Override"
+ new "Font Override"
+
+ # renpy/common/00accessibility.rpy:132
+ old "Default"
+ new "Standard"
+
+ # renpy/common/00accessibility.rpy:136
+ old "DejaVu Sans"
+ new "DejaVu Sans"
+
+ # renpy/common/00accessibility.rpy:140
+ old "Opendyslexic"
+ new "Opendyslexic"
+
+ # renpy/common/00accessibility.rpy:146
+ old "Text Size Scaling"
+ new "Text Size Scaling"
+
+ # renpy/common/00accessibility.rpy:152
+ old "Reset"
+ new "Réinitialisation"
+
+ # renpy/common/00accessibility.rpy:158
+ old "Line Spacing Scaling"
+ new "Line Spacing Scaling"
+
+ # renpy/common/00accessibility.rpy:171
+ old "Self-Voicing"
+ new "Self-Voicing"
+
+ # renpy/common/00accessibility.rpy:175
+ old "Off"
+ new "Off"
+
+ # renpy/common/00accessibility.rpy:179
+ old "Text-to-speech"
+ new "Text-to-speech"
+
+ # renpy/common/00accessibility.rpy:183
+ old "Clipboard"
+ new "Clipboard"
+
+ # renpy/common/00accessibility.rpy:187
+ old "Debug"
+ new "Débogage"
+
+ # renpy/common/00accessibility.rpy:193
+ old "Self-Voicing Volume Drop"
+ new "Self-Voicing Volume Drop"
+
+ # renpy/common/00accessibility.rpy:202
+ old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+ new "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Monday"
+ new "{#weekday}Monday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Tuesday"
+ new "{#weekday}Tuesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Wednesday"
+ new "{#weekday}Wednesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Thursday"
+ new "{#weekday}Thursday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Friday"
+ new "{#weekday}Friday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Saturday"
+ new "{#weekday}Saturday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Sunday"
+ new "{#weekday}Sunday"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Mon"
+ new "{#weekday_short}Mon"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Tue"
+ new "{#weekday_short}Tue"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Wed"
+ new "{#weekday_short}Wed"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Thu"
+ new "{#weekday_short}Thu"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Fri"
+ new "{#weekday_short}Fri"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sat"
+ new "{#weekday_short}Sat"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sun"
+ new "{#weekday_short}Sun"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}January"
+ new "{#month}January"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}February"
+ new "{#month}February"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}March"
+ new "{#month}March"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}April"
+ new "{#month}April"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}May"
+ new "{#month}May"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}June"
+ new "{#month}June"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}July"
+ new "{#month}July"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}August"
+ new "{#month}August"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}September"
+ new "{#month}September"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}October"
+ new "{#month}October"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}November"
+ new "{#month}November"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}December"
+ new "{#month}December"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jan"
+ new "{#month_short}Jan"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Feb"
+ new "{#month_short}Feb"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Mar"
+ new "{#month_short}Mar"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Apr"
+ new "{#month_short}Apr"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}May"
+ new "{#month_short}May"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jun"
+ new "{#month_short}Jun"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jul"
+ new "{#month_short}Jul"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Aug"
+ new "{#month_short}Aug"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Sep"
+ new "{#month_short}Sep"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Oct"
+ new "{#month_short}Oct"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Nov"
+ new "{#month_short}Nov"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Dec"
+ new "{#month_short}Dec"
+
+ # renpy/common/00action_file.rpy:240
+ old "%b %d, %H:%M"
+ new "%b %d, %H:%M"
+
+ # renpy/common/00action_file.rpy:353
+ old "Save slot %s: [text]"
+ new "Save slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:434
+ old "Load slot %s: [text]"
+ new "Load slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:487
+ old "Delete slot [text]"
+ new "Delete slot [text]"
+
+ # renpy/common/00action_file.rpy:566
+ old "File page auto"
+ new "File page auto"
+
+ # renpy/common/00action_file.rpy:568
+ old "File page quick"
+ new "File page quick"
+
+ # renpy/common/00action_file.rpy:570
+ old "File page [text]"
+ new "File page [text]"
+
+ # renpy/common/00action_file.rpy:628
+ old "Page {}"
+ new "Page {}"
+
+ # renpy/common/00action_file.rpy:628
+ old "Automatic saves"
+ new "Automatic saves"
+
+ # renpy/common/00action_file.rpy:628
+ old "Quick saves"
+ new "Quick saves"
+
+ # renpy/common/00action_file.rpy:769
+ old "Next file page."
+ new "Next file page."
+
+ # renpy/common/00action_file.rpy:841
+ old "Previous file page."
+ new "Previous file page."
+
+ # renpy/common/00action_file.rpy:902
+ old "Quick save complete."
+ new "Quick save complete."
+
+ # renpy/common/00action_file.rpy:920
+ old "Quick save."
+ new "Quick save."
+
+ # renpy/common/00action_file.rpy:939
+ old "Quick load."
+ new "Quick load."
+
+ # renpy/common/00action_other.rpy:375
+ old "Language [text]"
+ new "Language [text]"
+
+ # renpy/common/00director.rpy:708
+ old "The interactive director is not enabled here."
+ new "The interactive director is not enabled here."
+
+ # renpy/common/00director.rpy:1481
+ old "⬆"
+ new "⬆"
+
+ # renpy/common/00director.rpy:1487
+ old "⬇"
+ new "⬇"
+
+ # renpy/common/00director.rpy:1551
+ old "Done"
+ new "Done"
+
+ # renpy/common/00director.rpy:1561
+ old "(statement)"
+ new "(statement)"
+
+ # renpy/common/00director.rpy:1562
+ old "(tag)"
+ new "(tag)"
+
+ # renpy/common/00director.rpy:1563
+ old "(attributes)"
+ new "(attributes)"
+
+ # renpy/common/00director.rpy:1564
+ old "(transform)"
+ new "(transform)"
+
+ # renpy/common/00director.rpy:1589
+ old "(transition)"
+ new "(transition)"
+
+ # renpy/common/00director.rpy:1601
+ old "(channel)"
+ new "(channel)"
+
+ # renpy/common/00director.rpy:1602
+ old "(filename)"
+ new "(filename)"
+
+ # renpy/common/00director.rpy:1631
+ old "Change"
+ new "Change"
+
+ # renpy/common/00director.rpy:1633
+ old "Add"
+ new "Add"
+
+ # renpy/common/00director.rpy:1636
+ old "Cancel"
+ new "Stornieren"
+
+ # renpy/common/00director.rpy:1639
+ old "Remove"
+ new "Remove"
+
+ # renpy/common/00director.rpy:1674
+ old "Statement:"
+ new "Statement:"
+
+ # renpy/common/00director.rpy:1695
+ old "Tag:"
+ new "Tag:"
+
+ # renpy/common/00director.rpy:1711
+ old "Attributes:"
+ new "Attributes:"
+
+ # renpy/common/00director.rpy:1729
+ old "Transforms:"
+ new "Transforms:"
+
+ # renpy/common/00director.rpy:1748
+ old "Behind:"
+ new "Behind:"
+
+ # renpy/common/00director.rpy:1767
+ old "Transition:"
+ new "Transition:"
+
+ # renpy/common/00director.rpy:1785
+ old "Channel:"
+ new "Channel:"
+
+ # renpy/common/00director.rpy:1803
+ old "Audio Filename:"
+ new "Audio Filename:"
+
+ # renpy/common/00gui.rpy:374
+ old "Are you sure?"
+ new "Bist du sicher?"
+
+ # renpy/common/00gui.rpy:375
+ old "Are you sure you want to delete this save?"
+ new "Are you sure you want to delete this save?"
+
+ # renpy/common/00gui.rpy:376
+ old "Are you sure you want to overwrite your save?"
+ new "Are you sure you want to overwrite your save?"
+
+ # renpy/common/00gui.rpy:377
+ old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+ new "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+
+ # renpy/common/00gui.rpy:378
+ old "Are you sure you want to quit?"
+ new "Are you sure you want to quit?"
+
+ # renpy/common/00gui.rpy:379
+ old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+ new "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+
+ # renpy/common/00gui.rpy:380
+ old "Are you sure you want to end the replay?"
+ new "Are you sure you want to end the replay?"
+
+ # renpy/common/00gui.rpy:381
+ old "Are you sure you want to begin skipping?"
+ new "Are you sure you want to begin skipping?"
+
+ # renpy/common/00gui.rpy:382
+ old "Are you sure you want to skip to the next choice?"
+ new "Are you sure you want to skip to the next choice?"
+
+ # renpy/common/00gui.rpy:383
+ old "Are you sure you want to skip unseen dialogue to the next choice?"
+ new "Are you sure you want to skip unseen dialogue to the next choice?"
+
+ # renpy/common/00keymap.rpy:300
+ old "Failed to save screenshot as %s."
+ new "Failed to save screenshot as %s."
+
+ # renpy/common/00keymap.rpy:312
+ old "Saved screenshot as %s."
+ new "Saved screenshot as %s."
+
+ # renpy/common/00library.rpy:195
+ old "Skip Mode"
+ new "Skip Mode"
+
+ # renpy/common/00library.rpy:281
+ old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+ new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+
+ # renpy/common/00preferences.rpy:240
+ old "display"
+ new "display"
+
+ # renpy/common/00preferences.rpy:252
+ old "transitions"
+ new "transitions"
+
+ # renpy/common/00preferences.rpy:261
+ old "skip transitions"
+ new "skip transitions"
+
+ # renpy/common/00preferences.rpy:263
+ old "video sprites"
+ new "video sprites"
+
+ # renpy/common/00preferences.rpy:272
+ old "show empty window"
+ new "show empty window"
+
+ # renpy/common/00preferences.rpy:281
+ old "text speed"
+ new "text speed"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick"
+ new "joystick"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick..."
+ new "joystick..."
+
+ # renpy/common/00preferences.rpy:296
+ old "skip"
+ new "skip"
+
+ # renpy/common/00preferences.rpy:299
+ old "skip unseen [text]"
+ new "skip unseen [text]"
+
+ # renpy/common/00preferences.rpy:304
+ old "skip unseen text"
+ new "skip unseen text"
+
+ # renpy/common/00preferences.rpy:306
+ old "begin skipping"
+ new "begin skipping"
+
+ # renpy/common/00preferences.rpy:310
+ old "after choices"
+ new "after choices"
+
+ # renpy/common/00preferences.rpy:317
+ old "skip after choices"
+ new "skip after choices"
+
+ # renpy/common/00preferences.rpy:319
+ old "auto-forward time"
+ new "auto-forward time"
+
+ # renpy/common/00preferences.rpy:333
+ old "auto-forward"
+ new "auto-forward"
+
+ # renpy/common/00preferences.rpy:340
+ old "Auto forward"
+ new "Auto forward"
+
+ # renpy/common/00preferences.rpy:343
+ old "auto-forward after click"
+ new "auto-forward after click"
+
+ # renpy/common/00preferences.rpy:352
+ old "automatic move"
+ new "automatic move"
+
+ # renpy/common/00preferences.rpy:361
+ old "wait for voice"
+ new "wait for voice"
+
+ # renpy/common/00preferences.rpy:370
+ old "voice sustain"
+ new "voice sustain"
+
+ # renpy/common/00preferences.rpy:379
+ old "self voicing"
+ new "self voicing"
+
+ # renpy/common/00preferences.rpy:388
+ old "self voicing volume drop"
+ new "self voicing volume drop"
+
+ # renpy/common/00preferences.rpy:396
+ old "clipboard voicing"
+ new "clipboard voicing"
+
+ # renpy/common/00preferences.rpy:405
+ old "debug voicing"
+ new "debug voicing"
+
+ # renpy/common/00preferences.rpy:414
+ old "emphasize audio"
+ new "emphasize audio"
+
+ # renpy/common/00preferences.rpy:423
+ old "rollback side"
+ new "rollback side"
+
+ # renpy/common/00preferences.rpy:433
+ old "gl powersave"
+ new "gl powersave"
+
+ # renpy/common/00preferences.rpy:439
+ old "gl framerate"
+ new "gl framerate"
+
+ # renpy/common/00preferences.rpy:442
+ old "gl tearing"
+ new "gl tearing"
+
+ # renpy/common/00preferences.rpy:445
+ old "font transform"
+ new "font transform"
+
+ # renpy/common/00preferences.rpy:448
+ old "font size"
+ new "font size"
+
+ # renpy/common/00preferences.rpy:456
+ old "font line spacing"
+ new "font line spacing"
+
+ # renpy/common/00preferences.rpy:464
+ old "system cursor"
+ new "system cursor"
+
+ # renpy/common/00preferences.rpy:484
+ old "music volume"
+ new "music volume"
+
+ # renpy/common/00preferences.rpy:485
+ old "sound volume"
+ new "sound volume"
+
+ # renpy/common/00preferences.rpy:486
+ old "voice volume"
+ new "voice volume"
+
+ # renpy/common/00preferences.rpy:487
+ old "mute music"
+ new "mute music"
+
+ # renpy/common/00preferences.rpy:488
+ old "mute sound"
+ new "mute sound"
+
+ # renpy/common/00preferences.rpy:489
+ old "mute voice"
+ new "mute voice"
+
+ # renpy/common/00preferences.rpy:490
+ old "mute all"
+ new "mute all"
+
+ # renpy/common/00preferences.rpy:571
+ old "Clipboard voicing enabled. Press 'shift+C' to disable."
+ new "Clipboard voicing enabled. Press 'shift+C' to disable."
+
+ # renpy/common/00preferences.rpy:573
+ old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+ new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+
+ # renpy/common/00preferences.rpy:575
+ old "Self-voicing enabled. Press 'v' to disable."
+ new "Self-voicing enabled. Press 'v' to disable."
+
+ # renpy/common/00iap.rpy:219
+ old "Contacting App Store\nPlease Wait..."
+ new "Contacting App Store\nPlease Wait..."
+
+ # renpy/common/00updater.rpy:374
+ old "The Ren'Py Updater is not supported on mobile devices."
+ new "The Ren'Py Updater is not supported on mobile devices."
+
+ # renpy/common/00updater.rpy:493
+ old "An error is being simulated."
+ new "An error is being simulated."
+
+ # renpy/common/00updater.rpy:677
+ old "Either this project does not support updating, or the update status file was deleted."
+ new "Either this project does not support updating, or the update status file was deleted."
+
+ # renpy/common/00updater.rpy:691
+ old "This account does not have permission to perform an update."
+ new "This account does not have permission to perform an update."
+
+ # renpy/common/00updater.rpy:694
+ old "This account does not have permission to write the update log."
+ new "This account does not have permission to write the update log."
+
+ # renpy/common/00updater.rpy:721
+ old "Could not verify update signature."
+ new "Could not verify update signature."
+
+ # renpy/common/00updater.rpy:992
+ old "The update file was not downloaded."
+ new "The update file was not downloaded."
+
+ # renpy/common/00updater.rpy:1010
+ old "The update file does not have the correct digest - it may have been corrupted."
+ new "The update file does not have the correct digest - it may have been corrupted."
+
+ # renpy/common/00updater.rpy:1064
+ old "While unpacking {}, unknown type {}."
+ new "While unpacking {}, unknown type {}."
+
+ # renpy/common/00updater.rpy:1430
+ old "Updater"
+ new "Updater"
+
+ # renpy/common/00updater.rpy:1437
+ old "An error has occured:"
+ new "An error has occured:"
+
+ # renpy/common/00updater.rpy:1439
+ old "Checking for updates."
+ new "Checking for updates."
+
+ # renpy/common/00updater.rpy:1441
+ old "This program is up to date."
+ new "This program is up to date."
+
+ # renpy/common/00updater.rpy:1443
+ old "[u.version] is available. Do you want to install it?"
+ new "[u.version] is available. Do you want to install it?"
+
+ # renpy/common/00updater.rpy:1445
+ old "Preparing to download the updates."
+ new "Preparing to download the updates."
+
+ # renpy/common/00updater.rpy:1447
+ old "Downloading the updates."
+ new "Downloading the updates."
+
+ # renpy/common/00updater.rpy:1449
+ old "Unpacking the updates."
+ new "Unpacking the updates."
+
+ # renpy/common/00updater.rpy:1451
+ old "Finishing up."
+ new "Finishing up."
+
+ # renpy/common/00updater.rpy:1453
+ old "The updates have been installed. The program will restart."
+ new "The updates have been installed. The program will restart."
+
+ # renpy/common/00updater.rpy:1455
+ old "The updates have been installed."
+ new "The updates have been installed."
+
+ # renpy/common/00updater.rpy:1457
+ old "The updates were cancelled."
+ new "The updates were cancelled."
+
+ # renpy/common/00updater.rpy:1472
+ old "Proceed"
+ new "Proceed"
+
+ # renpy/common/00gallery.rpy:590
+ old "Image [index] of [count] locked."
+ new "Image [index] of [count] locked."
+
+ # renpy/common/00gallery.rpy:610
+ old "prev"
+ new "prev"
+
+ # renpy/common/00gallery.rpy:611
+ old "next"
+ new "next"
+
+ # renpy/common/00gallery.rpy:612
+ old "slideshow"
+ new "slideshow"
+
+ # renpy/common/00gallery.rpy:613
+ old "return"
+ new "return"
+
+ # renpy/common/00gltest.rpy:89
+ old "Renderer"
+ new "Renderer"
+
+ # renpy/common/00gltest.rpy:93
+ old "Automatically Choose"
+ new "Automatically Choose"
+
+ # renpy/common/00gltest.rpy:100
+ old "Force GL Renderer"
+ new "Force GL Renderer"
+
+ # renpy/common/00gltest.rpy:105
+ old "Force ANGLE Renderer"
+ new "Force ANGLE Renderer"
+
+ # renpy/common/00gltest.rpy:110
+ old "Force GLES Renderer"
+ new "Force GLES Renderer"
+
+ # renpy/common/00gltest.rpy:116
+ old "Force GL2 Renderer"
+ new "Force GL2 Renderer"
+
+ # renpy/common/00gltest.rpy:121
+ old "Force ANGLE2 Renderer"
+ new "Force ANGLE2 Renderer"
+
+ # renpy/common/00gltest.rpy:126
+ old "Force GLES2 Renderer"
+ new "Force GLES2 Renderer"
+
+ # renpy/common/00gltest.rpy:136
+ old "Enable (No Blocklist)"
+ new "Enable (No Blocklist)"
+
+ # renpy/common/00gltest.rpy:140
+ old "Enable"
+ new "Activer"
+
+ # renpy/common/00gltest.rpy:144
+ old "Disable"
+ new "Désactivé"
+
+ # renpy/common/00gltest.rpy:159
+ old "Powersave"
+ new "Powersave"
+
+ # renpy/common/00gltest.rpy:173
+ old "Framerate"
+ new "Framerate"
+
+ # renpy/common/00gltest.rpy:177
+ old "Screen"
+ new "Screen"
+
+ # renpy/common/00gltest.rpy:181
+ old "60"
+ new "60"
+
+ # renpy/common/00gltest.rpy:185
+ old "30"
+ new "30"
+
+ # renpy/common/00gltest.rpy:191
+ old "Tearing"
+ new "Tearing"
+
+ # renpy/common/00gltest.rpy:207
+ old "Changes will take effect the next time this program is run."
+ new "Changes will take effect the next time this program is run."
+
+ # renpy/common/00gltest.rpy:242
+ old "Performance Warning"
+ new "Performance Warning"
+
+ # renpy/common/00gltest.rpy:247
+ old "This computer is using software rendering."
+ new "This computer is using software rendering."
+
+ # renpy/common/00gltest.rpy:249
+ old "This game requires use of GL2 that can't be initialised."
+ new "This game requires use of GL2 that can't be initialised."
+
+ # renpy/common/00gltest.rpy:251
+ old "This computer has a problem displaying graphics: [problem]."
+ new "This computer has a problem displaying graphics: [problem]."
+
+ # renpy/common/00gltest.rpy:255
+ old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+ new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+
+ # renpy/common/00gltest.rpy:259
+ old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+ new "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+
+ # renpy/common/00gltest.rpy:264
+ old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+ new "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+
+ # renpy/common/00gltest.rpy:269
+ old "Continue, Show this warning again"
+ new "Continue, Show this warning again"
+
+ # renpy/common/00gltest.rpy:273
+ old "Continue, Don't show warning again"
+ new "Continue, Don't show warning again"
+
+ # renpy/common/00gltest.rpy:281
+ old "Change render options"
+ new "Change render options"
+
+ # renpy/common/00gamepad.rpy:32
+ old "Select Gamepad to Calibrate"
+ new "Select Gamepad to Calibrate"
+
+ # renpy/common/00gamepad.rpy:35
+ old "No Gamepads Available"
+ new "No Gamepads Available"
+
+ # renpy/common/00gamepad.rpy:54
+ old "Calibrating [name] ([i]/[total])"
+ new "Calibrating [name] ([i]/[total])"
+
+ # renpy/common/00gamepad.rpy:58
+ old "Press or move the '[control!s]' [kind]."
+ new "Press or move the '[control!s]' [kind]."
+
+ # renpy/common/00gamepad.rpy:68
+ old "Skip (A)"
+ new "Skip (A)"
+
+ # renpy/common/00gamepad.rpy:71
+ old "Back (B)"
+ new "Back (B)"
+
+ # renpy/common/_errorhandling.rpym:542
+ old "Open"
+ new "Abrir"
+
+ # renpy/common/_errorhandling.rpym:544
+ old "Opens the traceback.txt file in a text editor."
+ new "Opens the traceback.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:546
+ old "Copy BBCode"
+ new "Copy BBCode"
+
+ # renpy/common/_errorhandling.rpym:548
+ old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:550
+ old "Copy Markdown"
+ new "Copy Markdown"
+
+ # renpy/common/_errorhandling.rpym:552
+ old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+ new "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+
+ # renpy/common/_errorhandling.rpym:581
+ old "An exception has occurred."
+ new "An exception has occurred."
+
+ # renpy/common/_errorhandling.rpym:604
+ old "Rollback"
+ new "Rollback"
+
+ # renpy/common/_errorhandling.rpym:606
+ old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+ new "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+
+ # renpy/common/_errorhandling.rpym:609
+ old "Ignore"
+ new "Ignore"
+
+ # renpy/common/_errorhandling.rpym:613
+ old "Ignores the exception, allowing you to continue."
+ new "Ignores the exception, allowing you to continue."
+
+ # renpy/common/_errorhandling.rpym:615
+ old "Ignores the exception, allowing you to continue. This often leads to additional errors."
+ new "Ignores the exception, allowing you to continue. This often leads to additional errors."
+
+ # renpy/common/_errorhandling.rpym:619
+ old "Reload"
+ new "Reload"
+
+ # renpy/common/_errorhandling.rpym:621
+ old "Reloads the game from disk, saving and restoring game state if possible."
+ new "Reloads the game from disk, saving and restoring game state if possible."
+
+ # renpy/common/_errorhandling.rpym:624
+ old "Console"
+ new "Console"
+
+ # renpy/common/_errorhandling.rpym:626
+ old "Opens a console to allow debugging the problem."
+ new "Opens a console to allow debugging the problem."
+
+ # renpy/common/_errorhandling.rpym:639
+ old "Quits the game."
+ new "Quits the game."
+
+ # renpy/common/_errorhandling.rpym:660
+ old "Parsing the script failed."
+ new "Parsing the script failed."
+
+ # renpy/common/_errorhandling.rpym:686
+ old "Opens the errors.txt file in a text editor."
+ new "Opens the errors.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:690
+ old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:694
+ old "Copies the errors.txt file to the clipboard as Markdown for Discord."
+ new "Copies the errors.txt file to the clipboard as Markdown for Discord."
+
diff --git a/game/tl/fr/mirrorlake.rpy b/game/tl/fr/mirrorlake.rpy
new file mode 100644
index 0000000..11b12b9
--- /dev/null
+++ b/game/tl/fr/mirrorlake.rpy
@@ -0,0 +1,20 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate fr strings:
+
+ # game/mirrorlake.rpy:33
+ old "{b}The Void{/b}"
+ new "{b}The Void{/b}"
+
+ # game/mirrorlake.rpy:104
+ old "Play!"
+ new "Play!"
+
+ # game/mirrorlake.rpy:110
+ old "The Void"
+ new "The Void"
+
+ # game/mirrorlake.rpy:115
+ old "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+ new "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+
diff --git a/game/tl/fr/options.rpy b/game/tl/fr/options.rpy
new file mode 100644
index 0000000..56191c9
--- /dev/null
+++ b/game/tl/fr/options.rpy
@@ -0,0 +1,16 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate fr strings:
+
+ # game/options.rpy:15
+ old "Mana Launcher"
+ new "Mana Launcher"
+
+ # game/options.rpy:37
+ old "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+ new "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+
+ # game/options.rpy:246
+ old "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+ new "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+
diff --git a/game/tl/fr/renpy.rpy b/game/tl/fr/renpy.rpy
new file mode 100644
index 0000000..7d10e82
--- /dev/null
+++ b/game/tl/fr/renpy.rpy
@@ -0,0 +1,8 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+# game/renpy.rpy:166
+translate fr start_loop_2dea60f4:
+
+ # centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+ centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+
diff --git a/game/tl/fr/screens.rpy b/game/tl/fr/screens.rpy
new file mode 100644
index 0000000..54dea88
--- /dev/null
+++ b/game/tl/fr/screens.rpy
@@ -0,0 +1,268 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate fr strings:
+
+ # game/screens.rpy:256
+ old "History"
+ new "History"
+
+ # game/screens.rpy:257
+ old "Skip"
+ new "Skip"
+
+ # game/screens.rpy:258
+ old "Prefs"
+ new "Prefs"
+
+ # game/screens.rpy:299
+ old "Start"
+ new "Start"
+
+ # game/screens.rpy:306
+ old "Preferences"
+ new "Preferences"
+
+ # game/screens.rpy:310
+ old "End Replay"
+ new "End Replay"
+
+ # game/screens.rpy:314
+ old "Main Menu"
+ new "Main Menu"
+
+ # game/screens.rpy:316
+ old "About"
+ new "About"
+
+ # game/screens.rpy:322
+ old "Quit"
+ new "Quitter"
+
+ # game/screens.rpy:467
+ old "Return"
+ new "Return"
+
+ # game/screens.rpy:551
+ old "Version [config.version!t]\n"
+ new "Version [config.version!t]\n"
+
+ # game/screens.rpy:557
+ old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+ new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+
+ # game/screens.rpy:647
+ old "Display"
+ new "Display"
+
+ # game/screens.rpy:648
+ old "Window"
+ new "Window"
+
+ # game/screens.rpy:649
+ old "Fullscreen"
+ new "Fullscreen"
+
+ # game/screens.rpy:650
+ old "Iconify"
+ new "Iconify"
+
+ # game/screens.rpy:651
+ old "Enabled"
+ new "aktiviert"
+
+ # game/screens.rpy:651
+ old "Disabled"
+ new "Deaktiviert"
+
+ # game/screens.rpy:658
+ old "Discord"
+ new "Discord"
+
+ # game/screens.rpy:664
+ old "Steam Login"
+ new "Steam Login"
+
+ # game/screens.rpy:670
+ old "Game Client"
+ new "Game Client"
+
+ # game/screens.rpy:671
+ old "ManaPlus"
+ new "ManaPlus"
+
+ # game/screens.rpy:673
+ old "Mana"
+ new "Mana"
+
+ # game/screens.rpy:679
+ old "Language"
+ new "Language"
+
+ # game/screens.rpy:684
+ old "Unseen Text"
+ new "Unseen Text"
+
+ # game/screens.rpy:685
+ old "After Choices"
+ new "After Choices"
+
+ # game/screens.rpy:686
+ old "Transitions"
+ new "Transitions"
+
+ # game/screens.rpy:706
+ old "Music Volume"
+ new "Music Volume"
+
+ # game/screens.rpy:713
+ old "Sound Volume"
+ new "Sound Volume"
+
+ # game/screens.rpy:719
+ old "Test"
+ new "Test"
+
+ # game/screens.rpy:723
+ old "Voice Volume"
+ new "Voice Volume"
+
+ # game/screens.rpy:734
+ old "Mute All"
+ new "Mute All"
+
+ # game/screens.rpy:740
+ old "Check Files Integrity"
+ new "Check Files Integrity"
+
+ # game/screens.rpy:757
+ old "All Set!"
+ new "All Set!"
+
+ # game/screens.rpy:877
+ old "The dialogue history is empty."
+ new "The dialogue history is empty."
+
+ # game/screens.rpy:938
+ old "Help"
+ new "Help"
+
+ # game/screens.rpy:947
+ old "Keyboard"
+ new "Keyboard"
+
+ # game/screens.rpy:948
+ old "Mouse"
+ new "Mouse"
+
+ # game/screens.rpy:951
+ old "Gamepad"
+ new "Gamepad"
+
+ # game/screens.rpy:964
+ old "Enter"
+ new "Entrer"
+
+ # game/screens.rpy:965
+ old "Advances dialogue and activates the interface."
+ new "Advances dialogue and activates the interface."
+
+ # game/screens.rpy:968
+ old "Space"
+ new "Space"
+
+ # game/screens.rpy:969
+ old "Advances dialogue without selecting choices."
+ new "Advances dialogue without selecting choices."
+
+ # game/screens.rpy:972
+ old "Arrow Keys"
+ new "Arrow Keys"
+
+ # game/screens.rpy:973
+ old "Navigate the interface."
+ new "Navigate the interface."
+
+ # game/screens.rpy:976
+ old "Escape"
+ new "Escape"
+
+ # game/screens.rpy:977
+ old "Accesses the game menu."
+ new "Accesses the game menu."
+
+ # game/screens.rpy:980
+ old "Ctrl"
+ new "Ctrl"
+
+ # game/screens.rpy:981
+ old "Skips dialogue while held down."
+ new "Skips dialogue while held down."
+
+ # game/screens.rpy:984
+ old "Tab"
+ new "Tab"
+
+ # game/screens.rpy:985
+ old "Toggles dialogue skipping."
+ new "Toggles dialogue skipping."
+
+ # game/screens.rpy:989
+ old "Hides the user interface."
+ new "Hides the user interface."
+
+ # game/screens.rpy:993
+ old "Takes a screenshot."
+ new "Takes a screenshot."
+
+ # game/screens.rpy:997
+ old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+ new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+
+ # game/screens.rpy:1003
+ old "Left Click"
+ new "Left Click"
+
+ # game/screens.rpy:1007
+ old "Middle Click"
+ new "Middle Click"
+
+ # game/screens.rpy:1011
+ old "Right Click"
+ new "Right Click"
+
+ # game/screens.rpy:1018
+ old "Right Trigger\nA/Bottom Button"
+ new "Right Trigger\nA/Bottom Button"
+
+ # game/screens.rpy:1022
+ old "D-Pad, Sticks"
+ new "D-Pad, Sticks"
+
+ # game/screens.rpy:1026
+ old "Start, Guide"
+ new "Start, Guide"
+
+ # game/screens.rpy:1030
+ old "Y/Top Button"
+ new "Y/Top Button"
+
+ # game/screens.rpy:1033
+ old "Calibrate"
+ new "Calibrate"
+
+ # game/screens.rpy:1098
+ old "Yes"
+ new "Oui"
+
+ # game/screens.rpy:1099
+ old "No"
+ new "Non"
+
+ # game/screens.rpy:1145
+ old "Skipping"
+ new "Skipping"
+
+ # game/screens.rpy:1366
+ old "Menu"
+ new "Menu"
+
diff --git a/game/tl/fr/soul.rpy b/game/tl/fr/soul.rpy
new file mode 100644
index 0000000..0edeb1e
--- /dev/null
+++ b/game/tl/fr/soul.rpy
@@ -0,0 +1,116 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+# game/soul.rpy:155
+translate fr intro_1d65fd1f:
+
+ # evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+ evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+
+# game/soul.rpy:156
+translate fr intro_fc641e8d:
+
+ # evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+ evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+
+# game/soul.rpy:160
+translate fr intro_774f5206:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:161
+translate fr intro_873ea3a8:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+
+# game/soul.rpy:162
+translate fr intro_774f5206_1:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:163
+translate fr intro_67488d5e:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+
+# game/soul.rpy:164
+translate fr intro_aa2c08ed:
+
+ # evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+ evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+
+# game/soul.rpy:165
+translate fr intro_96ce8641:
+
+ # evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+ evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+
+# game/soul.rpy:166
+translate fr intro_da56d90b:
+
+ # evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+ evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+
+# game/soul.rpy:167
+translate fr intro_6fae2a3d:
+
+ # evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+ evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+
+# game/soul.rpy:171
+translate fr intro_88ebea11:
+
+ # evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+ evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+
+# game/soul.rpy:178
+translate fr intro_19c5c775:
+
+ # centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+ centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+
+# game/soul.rpy:186
+translate fr intro_82ae0cb5:
+
+ # centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+ centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+
+# game/soul.rpy:192
+translate fr intro_32b6ce88:
+
+ # centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+ centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+
+translate fr strings:
+
+ # game/soul.rpy:37
+ old "Level"
+ new "Niveau"
+
+ # game/soul.rpy:42
+ old "Scene Recollection"
+ new "Scene Recollection"
+
+ # game/soul.rpy:51
+ old "Prologue"
+ new "Prologue"
+
+ # game/soul.rpy:55
+ old "Replay the prologue."
+ new "Replay the prologue."
+
+ # game/soul.rpy:66
+ old "Return »"
+ new "Return »"
+
+ # game/soul.rpy:119
+ old "{color=#FFF}Loading user data...{/color}"
+ new "{color=#FFF}Loading user data...{/color}"
+
+ # game/soul.rpy:134
+ old "Wanderer"
+ new "Wanderer"
+
diff --git a/game/tl/fr/update.rpy b/game/tl/fr/update.rpy
new file mode 100644
index 0000000..9cec587
--- /dev/null
+++ b/game/tl/fr/update.rpy
@@ -0,0 +1,28 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate fr strings:
+
+ # game/update.rpy:278
+ old "Email Auth"
+ new "Email Auth"
+
+ # game/update.rpy:279
+ old "Pass+2FA Auth"
+ new "Pass+2FA Auth"
+
+ # game/update.rpy:320
+ old "OK"
+ new "OK"
+
+ # game/update.rpy:332
+ old "Please make sure you enter a valid email!"
+ new "Please make sure you enter a valid email!"
+
+ # game/update.rpy:352
+ old "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+ new "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+
+ # game/update.rpy:362
+ old "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+ new "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+
diff --git a/game/tl/it/client.rpy b/game/tl/it/client.rpy
new file mode 100644
index 0000000..78a860c
--- /dev/null
+++ b/game/tl/it/client.rpy
@@ -0,0 +1,24 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate it strings:
+
+ # game/client.rpy:38
+ old "Requesting credentials from Vault..."
+ new "Requesting credentials from Vault..."
+
+ # game/client.rpy:52
+ old "You're not logged in."
+ new "You're not logged in."
+
+ # game/client.rpy:58
+ old "Rate limited, we'll try again..."
+ new "Rate limited, we'll try again..."
+
+ # game/client.rpy:73
+ old "TMW Vault Error."
+ new "TMW Vault Error."
+
+ # game/client.rpy:108
+ old "Thanks for playing!"
+ new "Thanks for playing!"
+
diff --git a/game/tl/it/common.rpy b/game/tl/it/common.rpy
new file mode 100644
index 0000000..dbaf0d7
--- /dev/null
+++ b/game/tl/it/common.rpy
@@ -0,0 +1,980 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate it strings:
+
+ # renpy/common/00accessibility.rpy:28
+ old "Self-voicing disabled."
+ new "Self-voicing disabled."
+
+ # renpy/common/00accessibility.rpy:29
+ old "Clipboard voicing enabled. "
+ new "Clipboard voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:30
+ old "Self-voicing enabled. "
+ new "Self-voicing enabled. "
+
+ # renpy/common/00accessibility.rpy:32
+ old "bar"
+ new "bar"
+
+ # renpy/common/00accessibility.rpy:33
+ old "selected"
+ new "selected"
+
+ # renpy/common/00accessibility.rpy:34
+ old "viewport"
+ new "viewport"
+
+ # renpy/common/00accessibility.rpy:35
+ old "horizontal scroll"
+ new "horizontal scroll"
+
+ # renpy/common/00accessibility.rpy:36
+ old "vertical scroll"
+ new "vertical scroll"
+
+ # renpy/common/00accessibility.rpy:37
+ old "activate"
+ new "activate"
+
+ # renpy/common/00accessibility.rpy:38
+ old "deactivate"
+ new "deactivate"
+
+ # renpy/common/00accessibility.rpy:39
+ old "increase"
+ new "increase"
+
+ # renpy/common/00accessibility.rpy:40
+ old "decrease"
+ new "decrease"
+
+ # renpy/common/00accessibility.rpy:128
+ old "Font Override"
+ new "Font Override"
+
+ # renpy/common/00accessibility.rpy:132
+ old "Default"
+ new "Standard"
+
+ # renpy/common/00accessibility.rpy:136
+ old "DejaVu Sans"
+ new "DejaVu Sans"
+
+ # renpy/common/00accessibility.rpy:140
+ old "Opendyslexic"
+ new "Opendyslexic"
+
+ # renpy/common/00accessibility.rpy:146
+ old "Text Size Scaling"
+ new "Text Size Scaling"
+
+ # renpy/common/00accessibility.rpy:152
+ old "Reset"
+ new "Réinitialisation"
+
+ # renpy/common/00accessibility.rpy:158
+ old "Line Spacing Scaling"
+ new "Line Spacing Scaling"
+
+ # renpy/common/00accessibility.rpy:171
+ old "Self-Voicing"
+ new "Self-Voicing"
+
+ # renpy/common/00accessibility.rpy:175
+ old "Off"
+ new "Off"
+
+ # renpy/common/00accessibility.rpy:179
+ old "Text-to-speech"
+ new "Text-to-speech"
+
+ # renpy/common/00accessibility.rpy:183
+ old "Clipboard"
+ new "Clipboard"
+
+ # renpy/common/00accessibility.rpy:187
+ old "Debug"
+ new "Débogage"
+
+ # renpy/common/00accessibility.rpy:193
+ old "Self-Voicing Volume Drop"
+ new "Self-Voicing Volume Drop"
+
+ # renpy/common/00accessibility.rpy:202
+ old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+ new "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Monday"
+ new "{#weekday}Monday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Tuesday"
+ new "{#weekday}Tuesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Wednesday"
+ new "{#weekday}Wednesday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Thursday"
+ new "{#weekday}Thursday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Friday"
+ new "{#weekday}Friday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Saturday"
+ new "{#weekday}Saturday"
+
+ # renpy/common/00action_file.rpy:26
+ old "{#weekday}Sunday"
+ new "{#weekday}Sunday"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Mon"
+ new "{#weekday_short}Mon"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Tue"
+ new "{#weekday_short}Tue"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Wed"
+ new "{#weekday_short}Wed"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Thu"
+ new "{#weekday_short}Thu"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Fri"
+ new "{#weekday_short}Fri"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sat"
+ new "{#weekday_short}Sat"
+
+ # renpy/common/00action_file.rpy:37
+ old "{#weekday_short}Sun"
+ new "{#weekday_short}Sun"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}January"
+ new "{#month}January"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}February"
+ new "{#month}February"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}March"
+ new "{#month}March"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}April"
+ new "{#month}April"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}May"
+ new "{#month}May"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}June"
+ new "{#month}June"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}July"
+ new "{#month}July"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}August"
+ new "{#month}August"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}September"
+ new "{#month}September"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}October"
+ new "{#month}October"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}November"
+ new "{#month}November"
+
+ # renpy/common/00action_file.rpy:47
+ old "{#month}December"
+ new "{#month}December"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jan"
+ new "{#month_short}Jan"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Feb"
+ new "{#month_short}Feb"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Mar"
+ new "{#month_short}Mar"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Apr"
+ new "{#month_short}Apr"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}May"
+ new "{#month_short}May"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jun"
+ new "{#month_short}Jun"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Jul"
+ new "{#month_short}Jul"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Aug"
+ new "{#month_short}Aug"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Sep"
+ new "{#month_short}Sep"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Oct"
+ new "{#month_short}Oct"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Nov"
+ new "{#month_short}Nov"
+
+ # renpy/common/00action_file.rpy:63
+ old "{#month_short}Dec"
+ new "{#month_short}Dec"
+
+ # renpy/common/00action_file.rpy:240
+ old "%b %d, %H:%M"
+ new "%b %d, %H:%M"
+
+ # renpy/common/00action_file.rpy:353
+ old "Save slot %s: [text]"
+ new "Save slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:434
+ old "Load slot %s: [text]"
+ new "Load slot %s: [text]"
+
+ # renpy/common/00action_file.rpy:487
+ old "Delete slot [text]"
+ new "Delete slot [text]"
+
+ # renpy/common/00action_file.rpy:566
+ old "File page auto"
+ new "File page auto"
+
+ # renpy/common/00action_file.rpy:568
+ old "File page quick"
+ new "File page quick"
+
+ # renpy/common/00action_file.rpy:570
+ old "File page [text]"
+ new "File page [text]"
+
+ # renpy/common/00action_file.rpy:628
+ old "Page {}"
+ new "Page {}"
+
+ # renpy/common/00action_file.rpy:628
+ old "Automatic saves"
+ new "Automatic saves"
+
+ # renpy/common/00action_file.rpy:628
+ old "Quick saves"
+ new "Quick saves"
+
+ # renpy/common/00action_file.rpy:769
+ old "Next file page."
+ new "Next file page."
+
+ # renpy/common/00action_file.rpy:841
+ old "Previous file page."
+ new "Previous file page."
+
+ # renpy/common/00action_file.rpy:902
+ old "Quick save complete."
+ new "Quick save complete."
+
+ # renpy/common/00action_file.rpy:920
+ old "Quick save."
+ new "Quick save."
+
+ # renpy/common/00action_file.rpy:939
+ old "Quick load."
+ new "Quick load."
+
+ # renpy/common/00action_other.rpy:375
+ old "Language [text]"
+ new "Language [text]"
+
+ # renpy/common/00director.rpy:708
+ old "The interactive director is not enabled here."
+ new "The interactive director is not enabled here."
+
+ # renpy/common/00director.rpy:1481
+ old "⬆"
+ new "⬆"
+
+ # renpy/common/00director.rpy:1487
+ old "⬇"
+ new "⬇"
+
+ # renpy/common/00director.rpy:1551
+ old "Done"
+ new "Done"
+
+ # renpy/common/00director.rpy:1561
+ old "(statement)"
+ new "(statement)"
+
+ # renpy/common/00director.rpy:1562
+ old "(tag)"
+ new "(tag)"
+
+ # renpy/common/00director.rpy:1563
+ old "(attributes)"
+ new "(attributes)"
+
+ # renpy/common/00director.rpy:1564
+ old "(transform)"
+ new "(transform)"
+
+ # renpy/common/00director.rpy:1589
+ old "(transition)"
+ new "(transition)"
+
+ # renpy/common/00director.rpy:1601
+ old "(channel)"
+ new "(channel)"
+
+ # renpy/common/00director.rpy:1602
+ old "(filename)"
+ new "(filename)"
+
+ # renpy/common/00director.rpy:1631
+ old "Change"
+ new "Change"
+
+ # renpy/common/00director.rpy:1633
+ old "Add"
+ new "Add"
+
+ # renpy/common/00director.rpy:1636
+ old "Cancel"
+ new "Stornieren"
+
+ # renpy/common/00director.rpy:1639
+ old "Remove"
+ new "Remove"
+
+ # renpy/common/00director.rpy:1674
+ old "Statement:"
+ new "Statement:"
+
+ # renpy/common/00director.rpy:1695
+ old "Tag:"
+ new "Tag:"
+
+ # renpy/common/00director.rpy:1711
+ old "Attributes:"
+ new "Attributes:"
+
+ # renpy/common/00director.rpy:1729
+ old "Transforms:"
+ new "Transforms:"
+
+ # renpy/common/00director.rpy:1748
+ old "Behind:"
+ new "Behind:"
+
+ # renpy/common/00director.rpy:1767
+ old "Transition:"
+ new "Transition:"
+
+ # renpy/common/00director.rpy:1785
+ old "Channel:"
+ new "Channel:"
+
+ # renpy/common/00director.rpy:1803
+ old "Audio Filename:"
+ new "Audio Filename:"
+
+ # renpy/common/00gui.rpy:374
+ old "Are you sure?"
+ new "Bist du sicher?"
+
+ # renpy/common/00gui.rpy:375
+ old "Are you sure you want to delete this save?"
+ new "Are you sure you want to delete this save?"
+
+ # renpy/common/00gui.rpy:376
+ old "Are you sure you want to overwrite your save?"
+ new "Are you sure you want to overwrite your save?"
+
+ # renpy/common/00gui.rpy:377
+ old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+ new "Loading will lose unsaved progress.\nAre you sure you want to do this?"
+
+ # renpy/common/00gui.rpy:378
+ old "Are you sure you want to quit?"
+ new "Are you sure you want to quit?"
+
+ # renpy/common/00gui.rpy:379
+ old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+ new "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
+
+ # renpy/common/00gui.rpy:380
+ old "Are you sure you want to end the replay?"
+ new "Are you sure you want to end the replay?"
+
+ # renpy/common/00gui.rpy:381
+ old "Are you sure you want to begin skipping?"
+ new "Are you sure you want to begin skipping?"
+
+ # renpy/common/00gui.rpy:382
+ old "Are you sure you want to skip to the next choice?"
+ new "Are you sure you want to skip to the next choice?"
+
+ # renpy/common/00gui.rpy:383
+ old "Are you sure you want to skip unseen dialogue to the next choice?"
+ new "Are you sure you want to skip unseen dialogue to the next choice?"
+
+ # renpy/common/00keymap.rpy:300
+ old "Failed to save screenshot as %s."
+ new "Failed to save screenshot as %s."
+
+ # renpy/common/00keymap.rpy:312
+ old "Saved screenshot as %s."
+ new "Saved screenshot as %s."
+
+ # renpy/common/00library.rpy:195
+ old "Skip Mode"
+ new "Skip Mode"
+
+ # renpy/common/00library.rpy:281
+ old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+ new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
+
+ # renpy/common/00preferences.rpy:240
+ old "display"
+ new "display"
+
+ # renpy/common/00preferences.rpy:252
+ old "transitions"
+ new "transitions"
+
+ # renpy/common/00preferences.rpy:261
+ old "skip transitions"
+ new "skip transitions"
+
+ # renpy/common/00preferences.rpy:263
+ old "video sprites"
+ new "video sprites"
+
+ # renpy/common/00preferences.rpy:272
+ old "show empty window"
+ new "show empty window"
+
+ # renpy/common/00preferences.rpy:281
+ old "text speed"
+ new "text speed"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick"
+ new "joystick"
+
+ # renpy/common/00preferences.rpy:289
+ old "joystick..."
+ new "joystick..."
+
+ # renpy/common/00preferences.rpy:296
+ old "skip"
+ new "skip"
+
+ # renpy/common/00preferences.rpy:299
+ old "skip unseen [text]"
+ new "skip unseen [text]"
+
+ # renpy/common/00preferences.rpy:304
+ old "skip unseen text"
+ new "skip unseen text"
+
+ # renpy/common/00preferences.rpy:306
+ old "begin skipping"
+ new "begin skipping"
+
+ # renpy/common/00preferences.rpy:310
+ old "after choices"
+ new "after choices"
+
+ # renpy/common/00preferences.rpy:317
+ old "skip after choices"
+ new "skip after choices"
+
+ # renpy/common/00preferences.rpy:319
+ old "auto-forward time"
+ new "auto-forward time"
+
+ # renpy/common/00preferences.rpy:333
+ old "auto-forward"
+ new "auto-forward"
+
+ # renpy/common/00preferences.rpy:340
+ old "Auto forward"
+ new "Auto forward"
+
+ # renpy/common/00preferences.rpy:343
+ old "auto-forward after click"
+ new "auto-forward after click"
+
+ # renpy/common/00preferences.rpy:352
+ old "automatic move"
+ new "automatic move"
+
+ # renpy/common/00preferences.rpy:361
+ old "wait for voice"
+ new "wait for voice"
+
+ # renpy/common/00preferences.rpy:370
+ old "voice sustain"
+ new "voice sustain"
+
+ # renpy/common/00preferences.rpy:379
+ old "self voicing"
+ new "self voicing"
+
+ # renpy/common/00preferences.rpy:388
+ old "self voicing volume drop"
+ new "self voicing volume drop"
+
+ # renpy/common/00preferences.rpy:396
+ old "clipboard voicing"
+ new "clipboard voicing"
+
+ # renpy/common/00preferences.rpy:405
+ old "debug voicing"
+ new "debug voicing"
+
+ # renpy/common/00preferences.rpy:414
+ old "emphasize audio"
+ new "emphasize audio"
+
+ # renpy/common/00preferences.rpy:423
+ old "rollback side"
+ new "rollback side"
+
+ # renpy/common/00preferences.rpy:433
+ old "gl powersave"
+ new "gl powersave"
+
+ # renpy/common/00preferences.rpy:439
+ old "gl framerate"
+ new "gl framerate"
+
+ # renpy/common/00preferences.rpy:442
+ old "gl tearing"
+ new "gl tearing"
+
+ # renpy/common/00preferences.rpy:445
+ old "font transform"
+ new "font transform"
+
+ # renpy/common/00preferences.rpy:448
+ old "font size"
+ new "font size"
+
+ # renpy/common/00preferences.rpy:456
+ old "font line spacing"
+ new "font line spacing"
+
+ # renpy/common/00preferences.rpy:464
+ old "system cursor"
+ new "system cursor"
+
+ # renpy/common/00preferences.rpy:484
+ old "music volume"
+ new "music volume"
+
+ # renpy/common/00preferences.rpy:485
+ old "sound volume"
+ new "sound volume"
+
+ # renpy/common/00preferences.rpy:486
+ old "voice volume"
+ new "voice volume"
+
+ # renpy/common/00preferences.rpy:487
+ old "mute music"
+ new "mute music"
+
+ # renpy/common/00preferences.rpy:488
+ old "mute sound"
+ new "mute sound"
+
+ # renpy/common/00preferences.rpy:489
+ old "mute voice"
+ new "mute voice"
+
+ # renpy/common/00preferences.rpy:490
+ old "mute all"
+ new "mute all"
+
+ # renpy/common/00preferences.rpy:571
+ old "Clipboard voicing enabled. Press 'shift+C' to disable."
+ new "Clipboard voicing enabled. Press 'shift+C' to disable."
+
+ # renpy/common/00preferences.rpy:573
+ old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+ new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
+
+ # renpy/common/00preferences.rpy:575
+ old "Self-voicing enabled. Press 'v' to disable."
+ new "Self-voicing enabled. Press 'v' to disable."
+
+ # renpy/common/00iap.rpy:219
+ old "Contacting App Store\nPlease Wait..."
+ new "Contacting App Store\nPlease Wait..."
+
+ # renpy/common/00updater.rpy:374
+ old "The Ren'Py Updater is not supported on mobile devices."
+ new "The Ren'Py Updater is not supported on mobile devices."
+
+ # renpy/common/00updater.rpy:493
+ old "An error is being simulated."
+ new "An error is being simulated."
+
+ # renpy/common/00updater.rpy:677
+ old "Either this project does not support updating, or the update status file was deleted."
+ new "Either this project does not support updating, or the update status file was deleted."
+
+ # renpy/common/00updater.rpy:691
+ old "This account does not have permission to perform an update."
+ new "This account does not have permission to perform an update."
+
+ # renpy/common/00updater.rpy:694
+ old "This account does not have permission to write the update log."
+ new "This account does not have permission to write the update log."
+
+ # renpy/common/00updater.rpy:721
+ old "Could not verify update signature."
+ new "Could not verify update signature."
+
+ # renpy/common/00updater.rpy:992
+ old "The update file was not downloaded."
+ new "The update file was not downloaded."
+
+ # renpy/common/00updater.rpy:1010
+ old "The update file does not have the correct digest - it may have been corrupted."
+ new "The update file does not have the correct digest - it may have been corrupted."
+
+ # renpy/common/00updater.rpy:1064
+ old "While unpacking {}, unknown type {}."
+ new "While unpacking {}, unknown type {}."
+
+ # renpy/common/00updater.rpy:1430
+ old "Updater"
+ new "Updater"
+
+ # renpy/common/00updater.rpy:1437
+ old "An error has occured:"
+ new "An error has occured:"
+
+ # renpy/common/00updater.rpy:1439
+ old "Checking for updates."
+ new "Checking for updates."
+
+ # renpy/common/00updater.rpy:1441
+ old "This program is up to date."
+ new "This program is up to date."
+
+ # renpy/common/00updater.rpy:1443
+ old "[u.version] is available. Do you want to install it?"
+ new "[u.version] is available. Do you want to install it?"
+
+ # renpy/common/00updater.rpy:1445
+ old "Preparing to download the updates."
+ new "Preparing to download the updates."
+
+ # renpy/common/00updater.rpy:1447
+ old "Downloading the updates."
+ new "Downloading the updates."
+
+ # renpy/common/00updater.rpy:1449
+ old "Unpacking the updates."
+ new "Unpacking the updates."
+
+ # renpy/common/00updater.rpy:1451
+ old "Finishing up."
+ new "Finishing up."
+
+ # renpy/common/00updater.rpy:1453
+ old "The updates have been installed. The program will restart."
+ new "The updates have been installed. The program will restart."
+
+ # renpy/common/00updater.rpy:1455
+ old "The updates have been installed."
+ new "The updates have been installed."
+
+ # renpy/common/00updater.rpy:1457
+ old "The updates were cancelled."
+ new "The updates were cancelled."
+
+ # renpy/common/00updater.rpy:1472
+ old "Proceed"
+ new "Proceed"
+
+ # renpy/common/00gallery.rpy:590
+ old "Image [index] of [count] locked."
+ new "Image [index] of [count] locked."
+
+ # renpy/common/00gallery.rpy:610
+ old "prev"
+ new "prev"
+
+ # renpy/common/00gallery.rpy:611
+ old "next"
+ new "next"
+
+ # renpy/common/00gallery.rpy:612
+ old "slideshow"
+ new "slideshow"
+
+ # renpy/common/00gallery.rpy:613
+ old "return"
+ new "return"
+
+ # renpy/common/00gltest.rpy:89
+ old "Renderer"
+ new "Renderer"
+
+ # renpy/common/00gltest.rpy:93
+ old "Automatically Choose"
+ new "Automatically Choose"
+
+ # renpy/common/00gltest.rpy:100
+ old "Force GL Renderer"
+ new "Force GL Renderer"
+
+ # renpy/common/00gltest.rpy:105
+ old "Force ANGLE Renderer"
+ new "Force ANGLE Renderer"
+
+ # renpy/common/00gltest.rpy:110
+ old "Force GLES Renderer"
+ new "Force GLES Renderer"
+
+ # renpy/common/00gltest.rpy:116
+ old "Force GL2 Renderer"
+ new "Force GL2 Renderer"
+
+ # renpy/common/00gltest.rpy:121
+ old "Force ANGLE2 Renderer"
+ new "Force ANGLE2 Renderer"
+
+ # renpy/common/00gltest.rpy:126
+ old "Force GLES2 Renderer"
+ new "Force GLES2 Renderer"
+
+ # renpy/common/00gltest.rpy:136
+ old "Enable (No Blocklist)"
+ new "Enable (No Blocklist)"
+
+ # renpy/common/00gltest.rpy:140
+ old "Enable"
+ new "Activer"
+
+ # renpy/common/00gltest.rpy:144
+ old "Disable"
+ new "Désactivé"
+
+ # renpy/common/00gltest.rpy:159
+ old "Powersave"
+ new "Powersave"
+
+ # renpy/common/00gltest.rpy:173
+ old "Framerate"
+ new "Framerate"
+
+ # renpy/common/00gltest.rpy:177
+ old "Screen"
+ new "Screen"
+
+ # renpy/common/00gltest.rpy:181
+ old "60"
+ new "60"
+
+ # renpy/common/00gltest.rpy:185
+ old "30"
+ new "30"
+
+ # renpy/common/00gltest.rpy:191
+ old "Tearing"
+ new "Tearing"
+
+ # renpy/common/00gltest.rpy:207
+ old "Changes will take effect the next time this program is run."
+ new "Changes will take effect the next time this program is run."
+
+ # renpy/common/00gltest.rpy:242
+ old "Performance Warning"
+ new "Performance Warning"
+
+ # renpy/common/00gltest.rpy:247
+ old "This computer is using software rendering."
+ new "This computer is using software rendering."
+
+ # renpy/common/00gltest.rpy:249
+ old "This game requires use of GL2 that can't be initialised."
+ new "This game requires use of GL2 that can't be initialised."
+
+ # renpy/common/00gltest.rpy:251
+ old "This computer has a problem displaying graphics: [problem]."
+ new "This computer has a problem displaying graphics: [problem]."
+
+ # renpy/common/00gltest.rpy:255
+ old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+ new "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
+
+ # renpy/common/00gltest.rpy:259
+ old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+ new "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+
+ # renpy/common/00gltest.rpy:264
+ old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+ new "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
+
+ # renpy/common/00gltest.rpy:269
+ old "Continue, Show this warning again"
+ new "Continue, Show this warning again"
+
+ # renpy/common/00gltest.rpy:273
+ old "Continue, Don't show warning again"
+ new "Continue, Don't show warning again"
+
+ # renpy/common/00gltest.rpy:281
+ old "Change render options"
+ new "Change render options"
+
+ # renpy/common/00gamepad.rpy:32
+ old "Select Gamepad to Calibrate"
+ new "Select Gamepad to Calibrate"
+
+ # renpy/common/00gamepad.rpy:35
+ old "No Gamepads Available"
+ new "No Gamepads Available"
+
+ # renpy/common/00gamepad.rpy:54
+ old "Calibrating [name] ([i]/[total])"
+ new "Calibrating [name] ([i]/[total])"
+
+ # renpy/common/00gamepad.rpy:58
+ old "Press or move the '[control!s]' [kind]."
+ new "Press or move the '[control!s]' [kind]."
+
+ # renpy/common/00gamepad.rpy:68
+ old "Skip (A)"
+ new "Skip (A)"
+
+ # renpy/common/00gamepad.rpy:71
+ old "Back (B)"
+ new "Back (B)"
+
+ # renpy/common/_errorhandling.rpym:542
+ old "Open"
+ new "Abrir"
+
+ # renpy/common/_errorhandling.rpym:544
+ old "Opens the traceback.txt file in a text editor."
+ new "Opens the traceback.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:546
+ old "Copy BBCode"
+ new "Copy BBCode"
+
+ # renpy/common/_errorhandling.rpym:548
+ old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:550
+ old "Copy Markdown"
+ new "Copy Markdown"
+
+ # renpy/common/_errorhandling.rpym:552
+ old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+ new "Copies the traceback.txt file to the clipboard as Markdown for Discord."
+
+ # renpy/common/_errorhandling.rpym:581
+ old "An exception has occurred."
+ new "An exception has occurred."
+
+ # renpy/common/_errorhandling.rpym:604
+ old "Rollback"
+ new "Rollback"
+
+ # renpy/common/_errorhandling.rpym:606
+ old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+ new "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
+
+ # renpy/common/_errorhandling.rpym:609
+ old "Ignore"
+ new "Ignore"
+
+ # renpy/common/_errorhandling.rpym:613
+ old "Ignores the exception, allowing you to continue."
+ new "Ignores the exception, allowing you to continue."
+
+ # renpy/common/_errorhandling.rpym:615
+ old "Ignores the exception, allowing you to continue. This often leads to additional errors."
+ new "Ignores the exception, allowing you to continue. This often leads to additional errors."
+
+ # renpy/common/_errorhandling.rpym:619
+ old "Reload"
+ new "Reload"
+
+ # renpy/common/_errorhandling.rpym:621
+ old "Reloads the game from disk, saving and restoring game state if possible."
+ new "Reloads the game from disk, saving and restoring game state if possible."
+
+ # renpy/common/_errorhandling.rpym:624
+ old "Console"
+ new "Console"
+
+ # renpy/common/_errorhandling.rpym:626
+ old "Opens a console to allow debugging the problem."
+ new "Opens a console to allow debugging the problem."
+
+ # renpy/common/_errorhandling.rpym:639
+ old "Quits the game."
+ new "Quits the game."
+
+ # renpy/common/_errorhandling.rpym:660
+ old "Parsing the script failed."
+ new "Parsing the script failed."
+
+ # renpy/common/_errorhandling.rpym:686
+ old "Opens the errors.txt file in a text editor."
+ new "Opens the errors.txt file in a text editor."
+
+ # renpy/common/_errorhandling.rpym:690
+ old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+ new "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
+
+ # renpy/common/_errorhandling.rpym:694
+ old "Copies the errors.txt file to the clipboard as Markdown for Discord."
+ new "Copies the errors.txt file to the clipboard as Markdown for Discord."
+
diff --git a/game/tl/it/mirrorlake.rpy b/game/tl/it/mirrorlake.rpy
new file mode 100644
index 0000000..edfacf0
--- /dev/null
+++ b/game/tl/it/mirrorlake.rpy
@@ -0,0 +1,20 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate it strings:
+
+ # game/mirrorlake.rpy:33
+ old "{b}The Void{/b}"
+ new "{b}The Void{/b}"
+
+ # game/mirrorlake.rpy:104
+ old "Play!"
+ new "Play!"
+
+ # game/mirrorlake.rpy:110
+ old "The Void"
+ new "The Void"
+
+ # game/mirrorlake.rpy:115
+ old "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+ new "Restore your soul from the multiple worlds where it was scattered, and in due time, The Void shall reveal to you, the truth of this multiverse..."
+
diff --git a/game/tl/it/options.rpy b/game/tl/it/options.rpy
new file mode 100644
index 0000000..e5ee63b
--- /dev/null
+++ b/game/tl/it/options.rpy
@@ -0,0 +1,16 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate it strings:
+
+ # game/options.rpy:15
+ old "Mana Launcher"
+ new "Mana Launcher"
+
+ # game/options.rpy:37
+ old "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+ new "THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
+
+ # game/options.rpy:246
+ old "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+ new "{a=https://www.renpy.org/l/license}About Ren'Py{/a}"
+
diff --git a/game/tl/it/renpy.rpy b/game/tl/it/renpy.rpy
new file mode 100644
index 0000000..d2c6a6f
--- /dev/null
+++ b/game/tl/it/renpy.rpy
@@ -0,0 +1,8 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+# game/renpy.rpy:166
+translate it start_loop_2dea60f4:
+
+ # centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+ centered "{color=#FFF}{b}An error happened.{/b}\n\nPlease login again. If this issue persists, relaunch the app or {a=https://discord.gg/BQNTe68}contact us{/a}{/color}"
+
diff --git a/game/tl/it/screens.rpy b/game/tl/it/screens.rpy
new file mode 100644
index 0000000..ff77c14
--- /dev/null
+++ b/game/tl/it/screens.rpy
@@ -0,0 +1,268 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate it strings:
+
+ # game/screens.rpy:256
+ old "History"
+ new "History"
+
+ # game/screens.rpy:257
+ old "Skip"
+ new "Skip"
+
+ # game/screens.rpy:258
+ old "Prefs"
+ new "Prefs"
+
+ # game/screens.rpy:299
+ old "Start"
+ new "Start"
+
+ # game/screens.rpy:306
+ old "Preferences"
+ new "Preferences"
+
+ # game/screens.rpy:310
+ old "End Replay"
+ new "End Replay"
+
+ # game/screens.rpy:314
+ old "Main Menu"
+ new "Main Menu"
+
+ # game/screens.rpy:316
+ old "About"
+ new "About"
+
+ # game/screens.rpy:322
+ old "Quit"
+ new "Quitter"
+
+ # game/screens.rpy:467
+ old "Return"
+ new "Return"
+
+ # game/screens.rpy:551
+ old "Version [config.version!t]\n"
+ new "Version [config.version!t]\n"
+
+ # game/screens.rpy:557
+ old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+ new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
+
+ # game/screens.rpy:647
+ old "Display"
+ new "Display"
+
+ # game/screens.rpy:648
+ old "Window"
+ new "Window"
+
+ # game/screens.rpy:649
+ old "Fullscreen"
+ new "Fullscreen"
+
+ # game/screens.rpy:650
+ old "Iconify"
+ new "Iconify"
+
+ # game/screens.rpy:651
+ old "Enabled"
+ new "aktiviert"
+
+ # game/screens.rpy:651
+ old "Disabled"
+ new "Deaktiviert"
+
+ # game/screens.rpy:658
+ old "Discord"
+ new "Discord"
+
+ # game/screens.rpy:664
+ old "Steam Login"
+ new "Steam Login"
+
+ # game/screens.rpy:670
+ old "Game Client"
+ new "Game Client"
+
+ # game/screens.rpy:671
+ old "ManaPlus"
+ new "ManaPlus"
+
+ # game/screens.rpy:673
+ old "Mana"
+ new "Mana"
+
+ # game/screens.rpy:679
+ old "Language"
+ new "Language"
+
+ # game/screens.rpy:684
+ old "Unseen Text"
+ new "Unseen Text"
+
+ # game/screens.rpy:685
+ old "After Choices"
+ new "After Choices"
+
+ # game/screens.rpy:686
+ old "Transitions"
+ new "Transitions"
+
+ # game/screens.rpy:706
+ old "Music Volume"
+ new "Music Volume"
+
+ # game/screens.rpy:713
+ old "Sound Volume"
+ new "Sound Volume"
+
+ # game/screens.rpy:719
+ old "Test"
+ new "Test"
+
+ # game/screens.rpy:723
+ old "Voice Volume"
+ new "Voice Volume"
+
+ # game/screens.rpy:734
+ old "Mute All"
+ new "Mute All"
+
+ # game/screens.rpy:740
+ old "Check Files Integrity"
+ new "Check Files Integrity"
+
+ # game/screens.rpy:757
+ old "All Set!"
+ new "All Set!"
+
+ # game/screens.rpy:877
+ old "The dialogue history is empty."
+ new "The dialogue history is empty."
+
+ # game/screens.rpy:938
+ old "Help"
+ new "Help"
+
+ # game/screens.rpy:947
+ old "Keyboard"
+ new "Keyboard"
+
+ # game/screens.rpy:948
+ old "Mouse"
+ new "Mouse"
+
+ # game/screens.rpy:951
+ old "Gamepad"
+ new "Gamepad"
+
+ # game/screens.rpy:964
+ old "Enter"
+ new "Entrer"
+
+ # game/screens.rpy:965
+ old "Advances dialogue and activates the interface."
+ new "Advances dialogue and activates the interface."
+
+ # game/screens.rpy:968
+ old "Space"
+ new "Space"
+
+ # game/screens.rpy:969
+ old "Advances dialogue without selecting choices."
+ new "Advances dialogue without selecting choices."
+
+ # game/screens.rpy:972
+ old "Arrow Keys"
+ new "Arrow Keys"
+
+ # game/screens.rpy:973
+ old "Navigate the interface."
+ new "Navigate the interface."
+
+ # game/screens.rpy:976
+ old "Escape"
+ new "Escape"
+
+ # game/screens.rpy:977
+ old "Accesses the game menu."
+ new "Accesses the game menu."
+
+ # game/screens.rpy:980
+ old "Ctrl"
+ new "Ctrl"
+
+ # game/screens.rpy:981
+ old "Skips dialogue while held down."
+ new "Skips dialogue while held down."
+
+ # game/screens.rpy:984
+ old "Tab"
+ new "Tab"
+
+ # game/screens.rpy:985
+ old "Toggles dialogue skipping."
+ new "Toggles dialogue skipping."
+
+ # game/screens.rpy:989
+ old "Hides the user interface."
+ new "Hides the user interface."
+
+ # game/screens.rpy:993
+ old "Takes a screenshot."
+ new "Takes a screenshot."
+
+ # game/screens.rpy:997
+ old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+ new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
+
+ # game/screens.rpy:1003
+ old "Left Click"
+ new "Left Click"
+
+ # game/screens.rpy:1007
+ old "Middle Click"
+ new "Middle Click"
+
+ # game/screens.rpy:1011
+ old "Right Click"
+ new "Right Click"
+
+ # game/screens.rpy:1018
+ old "Right Trigger\nA/Bottom Button"
+ new "Right Trigger\nA/Bottom Button"
+
+ # game/screens.rpy:1022
+ old "D-Pad, Sticks"
+ new "D-Pad, Sticks"
+
+ # game/screens.rpy:1026
+ old "Start, Guide"
+ new "Start, Guide"
+
+ # game/screens.rpy:1030
+ old "Y/Top Button"
+ new "Y/Top Button"
+
+ # game/screens.rpy:1033
+ old "Calibrate"
+ new "Calibrate"
+
+ # game/screens.rpy:1098
+ old "Yes"
+ new "Oui"
+
+ # game/screens.rpy:1099
+ old "No"
+ new "Non"
+
+ # game/screens.rpy:1145
+ old "Skipping"
+ new "Skipping"
+
+ # game/screens.rpy:1366
+ old "Menu"
+ new "Menu"
+
diff --git a/game/tl/it/soul.rpy b/game/tl/it/soul.rpy
new file mode 100644
index 0000000..af38641
--- /dev/null
+++ b/game/tl/it/soul.rpy
@@ -0,0 +1,116 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+# game/soul.rpy:155
+translate it intro_1d65fd1f:
+
+ # evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+ evil "{cps=80}Look at this... All this mana... Doesn't it look peaceful?{/cps}"
+
+# game/soul.rpy:156
+translate it intro_fc641e8d:
+
+ # evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+ evil "{cps=80}What do you think that would happen if I mess with it... like this?!{/cps}{nw}"
+
+# game/soul.rpy:160
+translate it intro_774f5206:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:161
+translate it intro_873ea3a8:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with hpunch
+
+# game/soul.rpy:162
+translate it intro_774f5206_1:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}{nw}" with vpunch
+
+# game/soul.rpy:163
+translate it intro_67488d5e:
+
+ # evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+ evil "What do you think that would happen if I mess with it... like this?!{fast}" with hpunch
+
+# game/soul.rpy:164
+translate it intro_aa2c08ed:
+
+ # evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+ evil "{cps=80}...What? No, you cannot stop me.{/cps}"
+
+# game/soul.rpy:165
+translate it intro_96ce8641:
+
+ # evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+ evil "{i}*evil grin*{/i} {cps=80}Hey, let's play a game.{/cps}"
+
+# game/soul.rpy:166
+translate it intro_da56d90b:
+
+ # evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+ evil "{cps=80}I'll shatter your Soul and I want see if you can catch me!{/cps}"
+
+# game/soul.rpy:167
+translate it intro_6fae2a3d:
+
+ # evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+ evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+
+# game/soul.rpy:171
+translate it intro_88ebea11:
+
+ # evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+ evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+
+# game/soul.rpy:178
+translate it intro_19c5c775:
+
+ # centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+ centered "{color=#fff}{cps=80}Having your soul shattered to pieces, you drift along the void...{p=1.5}\n Your soul was shattered, your memories forfeit, but your willpower remained.{p=1.5}\n That's right - You have a task to do, a mission to accomplish.{p=1.5}\n \"This is not the end.\" You think to yourself.{p=1.5}\n So, you dive in the Mirror Lake, allowing your willpower to become part of the worlds which came to be...{/cps}{/color}"
+
+# game/soul.rpy:186
+translate it intro_82ae0cb5:
+
+ # centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+ centered "{color=#fff}{b}Tutorial{/b}\n\n In the next screen, you'll be at the Mirror Lake Interface.\nThe worlds are listed to the left, and a description is available at right.\n Select any world, and allow your willpower to take form on the world, as one of its inhabitants.\n Each world is different from each other, there is no consistency on gameplay rules, art style or history.\n \n And eventually, your power shall return to you...{/color}{fast}"
+
+# game/soul.rpy:192
+translate it intro_32b6ce88:
+
+ # centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+ centered "{color=#f35}{b}DISCLAIMER{/b}\n\n {color=#fff}The worlds may be operated by different staff, and are in an eternal mutation state.\n Be sure to read each subworld specific rules and complete the tutorial to spot the differences!\n \n Attempt to restore your soul as you try to stop the evil which threatens the multiverse.\n Soul Level remains constant regardless of the subworld you're at.{/color}{fast}"
+
+translate it strings:
+
+ # game/soul.rpy:37
+ old "Level"
+ new "Niveau"
+
+ # game/soul.rpy:42
+ old "Scene Recollection"
+ new "Scene Recollection"
+
+ # game/soul.rpy:51
+ old "Prologue"
+ new "Prologue"
+
+ # game/soul.rpy:55
+ old "Replay the prologue."
+ new "Replay the prologue."
+
+ # game/soul.rpy:66
+ old "Return »"
+ new "Return »"
+
+ # game/soul.rpy:119
+ old "{color=#FFF}Loading user data...{/color}"
+ new "{color=#FFF}Loading user data...{/color}"
+
+ # game/soul.rpy:134
+ old "Wanderer"
+ new "Wanderer"
+
diff --git a/game/tl/it/update.rpy b/game/tl/it/update.rpy
new file mode 100644
index 0000000..acf4176
--- /dev/null
+++ b/game/tl/it/update.rpy
@@ -0,0 +1,28 @@
+# TODO: Translation updated at 2021-05-18 14:35
+
+translate it strings:
+
+ # game/update.rpy:278
+ old "Email Auth"
+ new "Email Auth"
+
+ # game/update.rpy:279
+ old "Pass+2FA Auth"
+ new "Pass+2FA Auth"
+
+ # game/update.rpy:320
+ old "OK"
+ new "OK"
+
+ # game/update.rpy:332
+ old "Please make sure you enter a valid email!"
+ new "Please make sure you enter a valid email!"
+
+ # game/update.rpy:352
+ old "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+ new "An email was sent with your API token.\n\nYou'll need it shortly, so check your email."
+
+ # game/update.rpy:362
+ old "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+ new "{b}INTERNAL SERVER ERROR{/b}\n\nSeems like someone messed up on the APIs!\nThis login method seems to be temporaly unavailable, please choose another one."
+