summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesusaves <cpntb1@ymail.com>2021-05-18 14:33:43 -0300
committerJesusaves <cpntb1@ymail.com>2021-05-18 14:33:43 -0300
commit2a2a935ebae08248a1a371f59060c93f3b3f3547 (patch)
treee33007e4a27a5451cacb69525b77acd4c14995c5
parent7f5c1d44791f6947023bb1cd7527341c9f562d3d (diff)
downloadrenpy-2a2a935ebae08248a1a371f59060c93f3b3f3547.tar.gz
renpy-2a2a935ebae08248a1a371f59060c93f3b3f3547.tar.bz2
renpy-2a2a935ebae08248a1a371f59060c93f3b3f3547.tar.xz
renpy-2a2a935ebae08248a1a371f59060c93f3b3f3547.zip
Add brazilian portuguese initial version (for testing)
-rw-r--r--game/screens.rpy1
-rw-r--r--game/tl/pt_br/client.rpy24
-rw-r--r--game/tl/pt_br/common.rpy980
-rw-r--r--game/tl/pt_br/mirrorlake.rpy20
-rw-r--r--game/tl/pt_br/options.rpy16
-rw-r--r--game/tl/pt_br/renpy.rpy8
-rw-r--r--game/tl/pt_br/screens.rpy268
-rw-r--r--game/tl/pt_br/soul.rpy116
-rw-r--r--game/tl/pt_br/update.rpy28
9 files changed, 1461 insertions, 0 deletions
diff --git a/game/screens.rpy b/game/screens.rpy
index c246ec1..6d0ef45 100644
--- a/game/screens.rpy
+++ b/game/screens.rpy
@@ -678,6 +678,7 @@ screen preferences():
style_prefix "check"
label _("Language")
textbutton "English" action Language(None)
+ textbutton "Brasileiro" action Language("pt_br")
null height 10
label _("Skip")
textbutton _("Unseen Text") action Preference("skip", "toggle")
diff --git a/game/tl/pt_br/client.rpy b/game/tl/pt_br/client.rpy
new file mode 100644
index 0000000..faaf6d4
--- /dev/null
+++ b/game/tl/pt_br/client.rpy
@@ -0,0 +1,24 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+translate pt_br strings:
+
+ # game/client.rpy:38
+ old "Requesting credentials from Vault..."
+ new "Solicitando credenciais do cofre..."
+
+ # game/client.rpy:52
+ old "You're not logged in."
+ new "Você não está logado."
+
+ # 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 "Erro do Cofre TMW."
+
+ # game/client.rpy:108
+ old "Thanks for playing!"
+ new "Obrigado por jogar!"
+
diff --git a/game/tl/pt_br/common.rpy b/game/tl/pt_br/common.rpy
new file mode 100644
index 0000000..56925c2
--- /dev/null
+++ b/game/tl/pt_br/common.rpy
@@ -0,0 +1,980 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+translate pt_br 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 "Padrão"
+
+ # 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 "Restabelecer"
+
+ # 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 "Cancelar"
+
+ # 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 "Você tem certeza?"
+
+ # 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 "Prosseguir"
+
+ # 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 "Desabilitar"
+
+ # 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/pt_br/mirrorlake.rpy b/game/tl/pt_br/mirrorlake.rpy
new file mode 100644
index 0000000..be8c5f4
--- /dev/null
+++ b/game/tl/pt_br/mirrorlake.rpy
@@ -0,0 +1,20 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+translate pt_br strings:
+
+ # game/mirrorlake.rpy:33
+ old "{b}The Void{/b}"
+ new "{b}O Vazio{/b}"
+
+ # game/mirrorlake.rpy:104
+ old "Play!"
+ new "Jogar!"
+
+ # game/mirrorlake.rpy:110
+ old "The Void"
+ new "O Vazio"
+
+ # 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/pt_br/options.rpy b/game/tl/pt_br/options.rpy
new file mode 100644
index 0000000..58bdb83
--- /dev/null
+++ b/game/tl/pt_br/options.rpy
@@ -0,0 +1,16 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+translate pt_br strings:
+
+ # game/options.rpy:15
+ old "Mana Launcher"
+ new "Lançador de Mana"
+
+ # 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/pt_br/renpy.rpy b/game/tl/pt_br/renpy.rpy
new file mode 100644
index 0000000..9201a74
--- /dev/null
+++ b/game/tl/pt_br/renpy.rpy
@@ -0,0 +1,8 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+# game/renpy.rpy:166
+translate pt_br 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/pt_br/screens.rpy b/game/tl/pt_br/screens.rpy
new file mode 100644
index 0000000..6c13b20
--- /dev/null
+++ b/game/tl/pt_br/screens.rpy
@@ -0,0 +1,268 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+translate pt_br strings:
+
+ # game/screens.rpy:256
+ old "History"
+ new "Histórico"
+
+ # game/screens.rpy:257
+ old "Skip"
+ new "Pular"
+
+ # game/screens.rpy:258
+ old "Prefs"
+ new "Prefs"
+
+ # game/screens.rpy:299
+ old "Start"
+ new "Iniciar"
+
+ # game/screens.rpy:306
+ old "Preferences"
+ new "Preferências"
+
+ # game/screens.rpy:310
+ old "End Replay"
+ new "Encerrar Replay"
+
+ # game/screens.rpy:314
+ old "Main Menu"
+ new "Menu Principal"
+
+ # game/screens.rpy:316
+ old "About"
+ new "Sobre"
+
+ # game/screens.rpy:322
+ old "Quit"
+ new "Sair"
+
+ # game/screens.rpy:467
+ old "Return"
+ new "Voltar"
+
+ # game/screens.rpy:551
+ old "Version [config.version!t]\n"
+ new "Versão [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 "Feito com {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 "Janela"
+
+ # game/screens.rpy:649
+ old "Fullscreen"
+ new "Tela Cheia"
+
+ # game/screens.rpy:650
+ old "Iconify"
+ new "Minimizar"
+
+ # game/screens.rpy:651
+ old "Enabled"
+ new "Ativado"
+
+ # game/screens.rpy:651
+ old "Disabled"
+ new "Desativado"
+
+ # 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 "Cliente de Jogo"
+
+ # 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:683
+ old "Unseen Text"
+ new "Unseen Text"
+
+ # game/screens.rpy:684
+ old "After Choices"
+ new "After Choices"
+
+ # game/screens.rpy:685
+ old "Transitions"
+ new "Transitions"
+
+ # game/screens.rpy:705
+ old "Music Volume"
+ new "Music Volume"
+
+ # game/screens.rpy:712
+ old "Sound Volume"
+ new "Sound Volume"
+
+ # game/screens.rpy:718
+ old "Test"
+ new "Teste"
+
+ # game/screens.rpy:722
+ old "Voice Volume"
+ new "Voice Volume"
+
+ # game/screens.rpy:733
+ old "Mute All"
+ new "Mute All"
+
+ # game/screens.rpy:739
+ old "Check Files Integrity"
+ new "Conferir Integridade dos Arquivos"
+
+ # game/screens.rpy:756
+ old "All Set!"
+ new "Tudo Pronto!"
+
+ # game/screens.rpy:876
+ old "The dialogue history is empty."
+ new "The dialogue history is empty."
+
+ # game/screens.rpy:937
+ old "Help"
+ new "Ajuda"
+
+ # game/screens.rpy:946
+ old "Keyboard"
+ new "Teclado"
+
+ # game/screens.rpy:947
+ old "Mouse"
+ new "Mouse"
+
+ # game/screens.rpy:950
+ old "Gamepad"
+ new "Gamepad"
+
+ # game/screens.rpy:963
+ old "Enter"
+ new "Entrar"
+
+ # game/screens.rpy:964
+ old "Advances dialogue and activates the interface."
+ new "Advances dialogue and activates the interface."
+
+ # game/screens.rpy:967
+ old "Space"
+ new "Space"
+
+ # game/screens.rpy:968
+ old "Advances dialogue without selecting choices."
+ new "Advances dialogue without selecting choices."
+
+ # game/screens.rpy:971
+ old "Arrow Keys"
+ new "Arrow Keys"
+
+ # game/screens.rpy:972
+ old "Navigate the interface."
+ new "Navigate the interface."
+
+ # game/screens.rpy:975
+ old "Escape"
+ new "Escape"
+
+ # game/screens.rpy:976
+ old "Accesses the game menu."
+ new "Accesses the game menu."
+
+ # game/screens.rpy:979
+ old "Ctrl"
+ new "Ctrl"
+
+ # game/screens.rpy:980
+ old "Skips dialogue while held down."
+ new "Skips dialogue while held down."
+
+ # game/screens.rpy:983
+ old "Tab"
+ new "Tab"
+
+ # game/screens.rpy:984
+ old "Toggles dialogue skipping."
+ new "Toggles dialogue skipping."
+
+ # game/screens.rpy:988
+ old "Hides the user interface."
+ new "Hides the user interface."
+
+ # game/screens.rpy:992
+ old "Takes a screenshot."
+ new "Takes a screenshot."
+
+ # game/screens.rpy:996
+ 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:1002
+ old "Left Click"
+ new "Left Click"
+
+ # game/screens.rpy:1006
+ old "Middle Click"
+ new "Middle Click"
+
+ # game/screens.rpy:1010
+ old "Right Click"
+ new "Right Click"
+
+ # game/screens.rpy:1017
+ old "Right Trigger\nA/Bottom Button"
+ new "Right Trigger\nA/Bottom Button"
+
+ # game/screens.rpy:1021
+ old "D-Pad, Sticks"
+ new "D-Pad, Sticks"
+
+ # game/screens.rpy:1025
+ old "Start, Guide"
+ new "Start, Guide"
+
+ # game/screens.rpy:1029
+ old "Y/Top Button"
+ new "Y/Top Button"
+
+ # game/screens.rpy:1032
+ old "Calibrate"
+ new "Calibrate"
+
+ # game/screens.rpy:1097
+ old "Yes"
+ new "Sim"
+
+ # game/screens.rpy:1098
+ old "No"
+ new "Não"
+
+ # game/screens.rpy:1144
+ old "Skipping"
+ new "Skipping"
+
+ # game/screens.rpy:1365
+ old "Menu"
+ new "Menu"
+
diff --git a/game/tl/pt_br/soul.rpy b/game/tl/pt_br/soul.rpy
new file mode 100644
index 0000000..0efae10
--- /dev/null
+++ b/game/tl/pt_br/soul.rpy
@@ -0,0 +1,116 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+# game/soul.rpy:155
+translate pt_br 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 pt_br 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 pt_br 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 pt_br 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 pt_br 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 pt_br 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 pt_br 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 pt_br 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 pt_br 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 pt_br intro_6fae2a3d:
+
+ # evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+ evil "{cps=80}HAHAHAHAHAHA--{/cps}{w=.5}{nw}"
+
+# game/soul.rpy:171
+translate pt_br intro_88ebea11:
+
+ # evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+ evil "HAHAHAHAHAHA{fast}{cps=80}HAHAHAHAHAHAHAH!{/cps}"
+
+# game/soul.rpy:178
+translate pt_br 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 pt_br 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 pt_br 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 pt_br strings:
+
+ # game/soul.rpy:37
+ old "Level"
+ new "Nível"
+
+ # 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 "Voltar »"
+
+ # 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/pt_br/update.rpy b/game/tl/pt_br/update.rpy
new file mode 100644
index 0000000..aa6c736
--- /dev/null
+++ b/game/tl/pt_br/update.rpy
@@ -0,0 +1,28 @@
+# TODO: Translation updated at 2021-05-18 13:52
+
+translate pt_br 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."
+