Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
07be7f07f5 | ||
|
|
cdf15441dc | ||
|
|
7e647d356f | ||
|
|
f32cdea074 | ||
|
|
faea6c1172 | ||
|
|
f7d67e78a1 | ||
|
|
4bb0bd79c8 | ||
|
|
2790334342 | ||
|
|
37dcffc4cb | ||
|
|
adc196f59b | ||
|
|
b5727e6efd | ||
|
|
29f32fec37 | ||
|
|
7a82219d88 | ||
|
|
67e8afb8fe | ||
|
|
16a3adf0a8 | ||
|
|
41a894b846 | ||
|
|
b2ad694517 | ||
|
|
e3263a868e | ||
|
|
26f82c3819 | ||
|
|
1ffc8a9168 | ||
|
|
8e9d5c3166 | ||
|
|
a2093b3bcf | ||
|
|
97b7fb44b8 | ||
|
|
528c4c5350 | ||
|
|
6c92aea438 | ||
|
|
2a275c2468 | ||
|
|
86e011ed42 | ||
|
|
d7cdaf5ee5 | ||
|
|
0eaf8a3188 | ||
|
|
1d6a80ce8e | ||
|
|
c52200e989 | ||
|
|
213adc1d8d | ||
|
|
02000b6bdd | ||
|
|
3a9ed80978 | ||
|
|
9adb3bb31e | ||
|
|
d4540e1441 | ||
|
|
03e3f4f876 | ||
|
|
b4888ddceb | ||
|
|
0fa98c7e90 | ||
|
|
ff359efd1b | ||
|
|
3f2fc63950 | ||
|
|
ccadc0c179 | ||
|
|
420ed93ee2 | ||
|
|
83d3c129fa | ||
|
|
b86f91e423 | ||
|
|
b4a7223e9a | ||
|
|
3776b2bc9d | ||
|
|
46c47303d7 | ||
|
|
6377fffba0 | ||
|
|
b16bd97d33 | ||
|
|
a82e51e477 | ||
|
|
e7eb667820 | ||
|
|
520a728ebd | ||
|
|
8686143ddd | ||
|
|
a0c0a22a41 | ||
|
|
6cea8fa94b | ||
|
|
1fad3b0b62 | ||
|
|
fc537fecc7 | ||
|
|
f3bb2caa7f | ||
|
|
3bf7e9e433 | ||
|
|
d581c7884c | ||
|
|
3d51bae4a6 | ||
|
|
5d44682f49 | ||
|
|
033175500c | ||
|
|
2c2899e734 | ||
|
|
301035bad1 | ||
|
|
e06db742e2 | ||
|
|
610737fddf | ||
|
|
e41d42d4e7 | ||
|
|
7873a882a8 | ||
|
|
c045fcff26 | ||
|
|
81c646e81b | ||
|
|
7612935547 | ||
|
|
201cd61f63 | ||
|
|
934a0dc72a | ||
|
|
9d1064c75e | ||
|
|
ca7406d0d9 | ||
|
|
79ac93e6fd | ||
|
|
019d5f4f44 | ||
|
|
64b566d66b | ||
|
|
40ec930ab3 | ||
|
|
b8d8a00f44 | ||
|
|
fd21e45713 | ||
|
|
87e9546d15 | ||
|
|
db337e64ae | ||
|
|
0e35c5a415 | ||
|
|
302c2f6b10 | ||
|
|
c14c7b43be |
@@ -15,10 +15,12 @@ ehthumbs_vista.db
|
||||
/traceback.txt
|
||||
/errors.txt
|
||||
/log.txt
|
||||
/files.txt
|
||||
project.json
|
||||
log.txt
|
||||
errors.txt
|
||||
traceback.txt
|
||||
|
||||
files.txt
|
||||
|
||||
#Vim (best text editor) swap files
|
||||
.sw?
|
||||
@@ -58,3 +60,6 @@ env
|
||||
|
||||
#linux
|
||||
*.sh
|
||||
|
||||
# Exclude mod folders, but not files in the root mod directory
|
||||
/game/mods/*/
|
||||
@@ -83,6 +83,6 @@ steps:
|
||||
|
||||
matrix:
|
||||
RenpyVersion:
|
||||
- "8.3.0"
|
||||
- "8.3.4"
|
||||
RenkitVersion:
|
||||
- "4.4.0"
|
||||
|
||||
@@ -105,7 +105,6 @@ define gui.main_menu_text_size = 60
|
||||
## The images used for the main and game menus.
|
||||
define gui.main_menu_background = "gui/main_menu.png"
|
||||
define gui.game_menu_background = "gui/game_menu.png"
|
||||
define gui.extras_submenu_background = "gui/overlay/extras_submenu.png"
|
||||
define gui.extras_submenu_panel = "gui/overlay/extras_submenu_panel.png"
|
||||
|
||||
## Dialogue ####################################################################
|
||||
|
||||
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 130 KiB |
|
Before Width: | Height: | Size: 58 KiB |
|
Before Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 150 KiB |
|
Before Width: | Height: | Size: 193 KiB |
|
Before Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 307 KiB After Width: | Height: | Size: 298 KiB |
@@ -1,12 +1,12 @@
|
||||
--- MOD LOADER USAGE ---
|
||||
|
||||
If there's problems with installed mods - like if an enabled mod makes the game crash on startup - there's 3 file flags you can apply to work around it, checked only in the root of the mods folder:
|
||||
- Any file starting with "DISABLEALLMODS". This will force disable all currently installed mods, but will still load all their metadata. Removing this flag will return the mod states to how it was previously.
|
||||
- Any file starting with "NOLOADORDER". This will erase the load order/states and always load mods in folder alphabetical order, with mod states depending on the "Enable New Mods" option in the preferences menu.
|
||||
- Any file starting with "NOMODS". This turns off mod loading entirely by making the game not find any metadata files to load.
|
||||
If there's problems with installed mods - like if an enabled mod makes the game crash on startup - there's 3 file flags you can apply to work around it, checked only in the root of the mods folder. They will be any file starting with:
|
||||
- "DISABLEALLMODS". This will force disable all currently installed mods, but will still load all their metadata. This doesn't change the saved states of your mods, so you can still enable/disable them while this flag is active.
|
||||
- "NOLOADORDER". This will erase the load order/states and always load mods in folder alphabetical order, with mod states depending on the "Enable New Mods" option in the preferences menu.
|
||||
- "NOMODS". This turns off mod loading entirely by making the game not find any metadata files to load.
|
||||
These file flags already exist in the mods folder, but renamed to not trigger in-game. Enable them by renaming the file to take off the first hyphen.
|
||||
|
||||
When ordering the mods in the mod menu, know that not all mod code will be loaded according to the order. Ren'Py has a feature called 'init' that will run code at certain mod-defined stages (priorities) of the engine starting up, so if one mod's init block is set to run at an earlier priority than another mod's, it doesn't what order it is in the mod loader, it will always load that init first. The only time when the order comes into effect is if 2 mod's init blocks run at the same priority, or aren't running in an init block.
|
||||
When ordering the mods in the mod menu, know that not all mod code will be loaded according to the order. Ren'Py has a feature called 'init' that will run code at certain mod-defined stages (priorities) of the engine starting up, so if one mod's init block is set to run at an earlier priority than another mod's, it doesn't matter what order it is in the mod loader, it will always load that init first. The only time when the order comes into effect is if two mod's init blocks run at the same priority, or aren't running in an init block.
|
||||
|
||||
|
||||
--- MOD CREATION PRE-REQUSITES ---
|
||||
@@ -57,16 +57,16 @@ Below is all the possible entries you can put in, and explanations for what they
|
||||
|
||||
"Display" : How your mod button appears if there's an icon image detected. This can be set to "name" - which only displays the mod name - "icon" - which only displays the icon, taking up the entire button - or "both" - which displays the name and icon together, with the icon miniaturized and to the side of the name. This defaults to "both" if it doesn't exist, and if an icon image is not present, it will fall back to "name" mode.
|
||||
|
||||
"Thumbnail Displayable" : What displayable to use for the thumbnail when the mod has loaded scripts. If this doesn't exist, the game will use the thumbnail image found alongside your metadata file
|
||||
"Thumbnail Displayable" : What displayable to use for the thumbnail when the mod is enabled. If this doesn't exist, the game will use the thumbnail image found alongside your metadata file
|
||||
|
||||
"Icon Displayable" : What displayable to use for the icon when the mod has loaded scripts. If this doesn't exist, the game will use the icon image found alongside your metadata file
|
||||
"Icon Displayable" : What displayable to use for the icon when the mod is enabled. If this doesn't exist, the game will use the icon image found alongside your metadata file
|
||||
|
||||
"Screenshot Displayables" : What displayables to use for screenshots when the mod has loaded scripts. This should be a list of strings. The game will choose each displayable in the list over images found alongside the metadata file sequentially, so if there's 5 screenshot images and 3 screenshot displayables, the last 2 will still display the screenshot images, and the first 3 will display the screenshot displayables. If there's more displayables than images, then the mod will appear to gain screenshots in the mod details pane when the mod is enabled. If you enter empty strings in the list ( "" ), the game will interpret that as a deliberate skipping over to load screenshot images instead of displayables, so if your list consists of '[ "", "my_displayable" ]' and there's any number of screenshot images found, the first screenshot will still show a screenshot image, and only the next one will show a displayable. If this entry doesn't exist, it will just use the screenshot images found alongside your metadata file.
|
||||
"Screenshot Displayables" : What displayables to use for screenshots when the mod is enabled. This should be a list of strings. The game will choose each displayable in the list over images found alongside the metadata file sequentially, so if there's 5 screenshot images and 3 screenshot displayables, the last 2 will still display the screenshot images, and the first 3 will display the screenshot displayables. If there's more displayables than images, then the mod will appear to gain screenshots in the mod details pane when the mod is enabled. If you enter empty strings in the list ( "" ), the game will interpret that as a deliberate skipping over to load screenshot images instead of displayables, so if your list consists of '[ "", "my_displayable" ]' and there's any number of screenshot images found, the first screenshot will still show a screenshot image, and only the next one will show a displayable. If this entry doesn't exist, it will just use the screenshot images found alongside your metadata file.
|
||||
|
||||
In the same directory as your metadata file, there's image files you can put in the to make your mod more appealing. These can be any of Ren'Py's supported image file types, so the file extension here is just for demonstration:
|
||||
|
||||
-'thumbnail.png' will appear as a banner for your mod, at the top of the mod details pane
|
||||
-'icon.png' will show a small image next your mod name or take up the entire button depending on what your "Display" entry is set to.
|
||||
-'icon.png' will show a small image next your mod name or take up the entire button depending on what your "Display" entry is set to. NOTE: Putting in an image too big in dimensions will crash the game.
|
||||
-'screenshot(number).png' will show screenshots at the bottom of the mod details pane. The '(number)' is a placeholder for a number that represents what order your screenshots appear in. For example, you can have 'screenshot1.png', 'screenshot2.png', and 'screenshot3.png' in your mod directory, and they will all appear in the mod details pane in order. These numbers don't need to be strictly sequential, they can be any number as long as they are integers, and the order will be derived from ASCII ordering.
|
||||
|
||||
As the game loads the metadata, it will also collect scripts for loading. When you make your mod scripts, ALL OF THEM NEED TO HAVE .rpym EXTENSIONS. This is important for being able to control mods with the mod loader, otherwise there would be mod conflicts galore. If you use .rpy extensions to make your mod scripts, they will work, but they will not be manageable by the mod loader. This means you should only use them for development, or if you're not using the mod loader anyway - such as adding a translation to the base game.
|
||||
|
||||
@@ -133,31 +133,47 @@ default preferences.text_cps = 50
|
||||
|
||||
default preferences.afm_time = 15
|
||||
|
||||
|
||||
## Disables loading all languages at once at startup, only loading a language when selecting a language
|
||||
|
||||
define config.defer_tl_scripts = True
|
||||
|
||||
|
||||
## Retains linear audio fading so mixing doesn't get fucked from the update to 8.2+
|
||||
|
||||
define config.linear_fades = True
|
||||
|
||||
|
||||
## The variable used for making the splashscreen not show when reloading a mod
|
||||
default persistent.reloading_mods = False
|
||||
|
||||
|
||||
## Snoot-specific config variables
|
||||
|
||||
define config.developer = "auto"
|
||||
|
||||
default persistent.use_epilogue_menu = False
|
||||
default persistent.enable_debug_scores = config.developer
|
||||
default persistent.enable_chapter_select = config.developer
|
||||
default persistent.lewd = False
|
||||
default persistent.autoup = False
|
||||
default persistent.show_mod_screenshots = True
|
||||
default persistent.gallery_edgescroll = True
|
||||
default persistent.scroll = False
|
||||
|
||||
init -1000 python:
|
||||
if persistent.newmods_default_state == None:
|
||||
persistent.newmods_default_state = True
|
||||
persistent.newmods_default_state = False
|
||||
|
||||
init python:
|
||||
# No idea what this does
|
||||
# Makes going forward on the scroll wheel advance dialogue, rather than just seen dialogue
|
||||
if persistent.scroll == True:
|
||||
config.keymap['dismiss'].append('mousedown_4')
|
||||
elif persistent.scroll == None:
|
||||
persistent.scroll = False
|
||||
|
||||
##Default Audio is not ear rape
|
||||
define config.default_music_volume = 0.48
|
||||
define config.default_sfx_volume = 0.80
|
||||
define config.default_music_volume = 0.61
|
||||
define config.default_sfx_volume = 0.8
|
||||
define config.default_voice_volume = 0.8
|
||||
|
||||
## Save directory ##############################################################
|
||||
##
|
||||
@@ -214,19 +230,17 @@ init python:
|
||||
build.classify('**/#**', None)
|
||||
build.classify('**/thumbs.db', None)
|
||||
|
||||
# Do not include mod_examples as part of the build process
|
||||
build.classify('game/mods_example/**', None)
|
||||
build.classify('game/mods_example/.**', None)
|
||||
# Do not include mod folders as part of the build process
|
||||
build.classify('game/mods/*/', None)
|
||||
|
||||
#Development files need not apply
|
||||
build.classify('README.md', None)
|
||||
build.classify('renconstruct.toml', None)
|
||||
build.classify('bundle.keystore', None)
|
||||
build.classify('android.keystore', None)
|
||||
build.classify('bundle.keystore.original', None)
|
||||
|
||||
build.classify('game/dev/.**', None)
|
||||
build.classify('build_patch/*', None)
|
||||
|
||||
build.classify('android.keystore.original', None)
|
||||
build.classify('*dist/*', None)
|
||||
|
||||
## To archive files, classify them as 'archive'.
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 147 KiB |
|
After Width: | Height: | Size: 5.5 KiB |
@@ -408,18 +408,6 @@ image bonus_flash:
|
||||
repeat 4
|
||||
|
||||
|
||||
image template_black_m = Composite(
|
||||
(511, 129),
|
||||
(6, 5), Crop((0, 0, 511-12, 129-12), Solid("#000000", width=2, height=2)),
|
||||
(0, 0), "gui/button/menubuttons/template_idle.png",
|
||||
(0, 0), "gui/button/menubuttons/template_idle.png"
|
||||
)
|
||||
|
||||
image template_black:
|
||||
"template_black_m"
|
||||
matrixcolor TintMatrix(Color((0, 0, 0)))
|
||||
alpha 0.8
|
||||
|
||||
screen bonus_chapter_button(f="gui/button/menubuttons/template_idle.png"):
|
||||
#("gui/button/menubuttons/template_idle.png", "Bonus Chapters", ShowMenu("ex_ch_menu"))
|
||||
button:
|
||||
@@ -450,23 +438,28 @@ transform bonus_notif:
|
||||
pause 6.00
|
||||
easeout_cubic 0.65 alpha 0
|
||||
|
||||
screen main_menu_background(frame=True):
|
||||
# The style prefix needs to be set outside of this screen if you want to have the sidebar graphic
|
||||
if persistent.use_epilogue_menu:
|
||||
add "big ending"
|
||||
else:
|
||||
add gui.main_menu_background
|
||||
|
||||
## This empty frame darkens the main menu.
|
||||
if frame:
|
||||
frame:
|
||||
background "gui/overlay/main_menu.png"
|
||||
|
||||
screen main_menu():
|
||||
|
||||
## This ensures that any other menu screen is replaced.
|
||||
tag menu
|
||||
|
||||
style_prefix "main_menu"
|
||||
|
||||
if renpy.seen_image("big ending"):
|
||||
style_prefix "main_menu_ex"
|
||||
add "big ending"
|
||||
else:
|
||||
style_prefix "main_menu"
|
||||
add gui.main_menu_background
|
||||
|
||||
## This empty frame darkens the main menu.
|
||||
frame:
|
||||
pass
|
||||
use main_menu_background
|
||||
|
||||
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
|
||||
|
||||
if (persistent.old_endings != persistent.endings) or (persistent.bonus_chapters != persistent.old_bonus_chapters and (persistent.bonus_chapters == 0b111111111)):
|
||||
fixed:
|
||||
@@ -501,27 +494,16 @@ screen main_menu():
|
||||
spacing 10
|
||||
xpos 1885
|
||||
ypos 1130
|
||||
if renpy.seen_image('big ending'):
|
||||
use main_menu_button("template_black", "Start", Start())
|
||||
use bonus_chapter_button("template_black")
|
||||
use main_menu_buttons("template_black",
|
||||
[
|
||||
[ _("Load"), ShowMenu("load") ],
|
||||
[ _("Options"), ShowMenu("preferences") ],
|
||||
[ _("Extras"), ShowMenu("extras") ], \
|
||||
[ _("Quit"), Quit(confirm=not main_menu) ]
|
||||
] )
|
||||
else:
|
||||
use main_menu_button("gui/button/menubuttons/template_idle.png", "Start", Start())
|
||||
use bonus_chapter_button()
|
||||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||
[
|
||||
[ _("Load"), ShowMenu("load") ],
|
||||
[ _("Options"), ShowMenu("preferences") ],
|
||||
[ _("Extras"), ShowMenu("extras") ], \
|
||||
[ _("Quit"), Quit(confirm=not main_menu) ]
|
||||
] )
|
||||
#on "show" action renpy.start_predict_screen("cg_gallery")
|
||||
use main_menu_button(main_menu_button_img, "Start", Start())
|
||||
use bonus_chapter_button(main_menu_button_img)
|
||||
use main_menu_buttons(main_menu_button_img,
|
||||
[
|
||||
[ _("Load"), ShowMenu("load") ],
|
||||
[ _("Options"), ShowMenu("preferences") ],
|
||||
[ _("Extras"), ShowMenu("extras") ], \
|
||||
[ _("Quit"), Quit(confirm=not main_menu) ]
|
||||
] )
|
||||
|
||||
|
||||
style main_menu_frame is empty
|
||||
style main_menu_vbox is vbox
|
||||
@@ -533,8 +515,6 @@ style main_menu_frame:
|
||||
xsize 420
|
||||
yfill True
|
||||
|
||||
background "gui/overlay/main_menu.png"
|
||||
|
||||
style main_menu_vbox:
|
||||
xalign 1.0
|
||||
xoffset -30
|
||||
@@ -551,26 +531,6 @@ style main_menu_text:
|
||||
style main_menu_title:
|
||||
properties gui.text_properties("title")
|
||||
|
||||
style main_menu_ex is main_menu
|
||||
style main_menu_ex_vbox is main_menu_vbox
|
||||
style main_menu_ex_text is main_menu_text
|
||||
style main_menu_ex_frame is main_menu_frame
|
||||
|
||||
#style main_menu_ex_button:
|
||||
#color "#222"
|
||||
#background "gui/button/menubuttons/template_idle.png"
|
||||
#xalign 0.5 yalign 0.5 zoom 1 xanchor 0 xcenter 0.5 ycenter 0.5
|
||||
|
||||
#style main_menu_ex_button:
|
||||
#color "#222"
|
||||
|
||||
|
||||
|
||||
#style main_menu_version:
|
||||
# properties gui.text_properties("version")
|
||||
|
||||
# style
|
||||
|
||||
## Game Menu screen ############################################################
|
||||
##
|
||||
## This lays out the basic common structure of a game menu screen. It's called
|
||||
@@ -585,7 +545,7 @@ screen game_menu(title, scroll=None, yinitial=0.0, spacing=0):
|
||||
style_prefix "game_menu"
|
||||
|
||||
if main_menu:
|
||||
add gui.main_menu_background
|
||||
use main_menu_background(False)
|
||||
else:
|
||||
add gui.game_menu_background
|
||||
|
||||
@@ -710,12 +670,11 @@ screen about():
|
||||
tag menu
|
||||
style_prefix "main_menu"
|
||||
|
||||
add gui.main_menu_background
|
||||
add gui.extras_submenu_panel
|
||||
|
||||
## This empty frame darkens the main menu.
|
||||
frame:
|
||||
pass
|
||||
use main_menu_background
|
||||
if persistent.use_epilogue_menu:
|
||||
add "gui/overlay/extras_submenu_panel_epilogue.png"
|
||||
else:
|
||||
add gui.extras_submenu_panel
|
||||
|
||||
## The use statement includes another screen inside this one. The actual
|
||||
## contents of the main menu are in the navigation screen.
|
||||
@@ -726,76 +685,14 @@ screen about():
|
||||
xoffset 80
|
||||
xmaximum 1100
|
||||
label "[config.name!t]"
|
||||
text _("Version [config.version!t]\n")
|
||||
text _("Version [config.version!t]\n") outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
|
||||
|
||||
## gui.about is usually set in options.rpy.
|
||||
if gui.about:
|
||||
text "[gui.about!t]\n"
|
||||
|
||||
style_prefix "quick"
|
||||
text _("{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}") text_align 0
|
||||
use extrasnavigation
|
||||
|
||||
## Updates screen ################################################################
|
||||
##
|
||||
## This screen houses the updates option using the built-in updates capabilities of Ren'Py.
|
||||
##
|
||||
|
||||
screen updates():
|
||||
|
||||
tag menu
|
||||
style_prefix "main_menu"
|
||||
|
||||
add gui.main_menu_background
|
||||
add gui.extras_submenu_panel
|
||||
|
||||
## This empty frame darkens the main menu.
|
||||
frame:
|
||||
pass
|
||||
|
||||
## The use statement includes another screen inside this one. The actual
|
||||
## contents of the main menu are in the navigation screen.
|
||||
|
||||
vbox:
|
||||
yalign 0.00
|
||||
yoffset 100
|
||||
xoffset 80
|
||||
xmaximum 1100
|
||||
label "[config.name!t]"
|
||||
text _("Version [config.version!t]")
|
||||
if updater.can_update():
|
||||
label _("{color=#00FF00}{size=32}Update directory exists, updating is possible!\n{/size}{/color}")
|
||||
else:
|
||||
label _("{color=#FF0000}{size=32}Update directory does not exist or is corrupt!\n{/size}{/color}")
|
||||
|
||||
label _("Auto Update:")
|
||||
label _("{color=#FFFFFF}{size=32}Automatic Updates: [persistent.autoup!t]{/size}{/color}")
|
||||
textbutton _("{size=36}Toggle Automatic Updates\n{/size}") action [Notify("Toggling Automatic Updates..."), Function(ToggleAutoUpdate)]
|
||||
|
||||
label _("Update Checker:")
|
||||
label _("{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}")
|
||||
textbutton _("{size=36}Check for Update\n{/size}") activate_sound "audio/ui/uiClick.wav" action [Notify("Checking for update..."), Function(UpdateCheck)]
|
||||
|
||||
label _("Updater:")
|
||||
label _("{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}")
|
||||
default input_on = False
|
||||
button:
|
||||
key_events True
|
||||
if input_on:
|
||||
input:
|
||||
default "[persistent.updateWebServer!t]" size 36 color '#FFFFFF'
|
||||
value FieldInputValue(persistent, 'updateWebServer')
|
||||
length 49
|
||||
copypaste True
|
||||
else:
|
||||
text persistent.updateWebServer size 36 color '#FFFF00'
|
||||
action ToggleScreenVariable('input_on')
|
||||
style_prefix "quick"
|
||||
if persistent.updateresult != "No new version is available":
|
||||
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiNotification.wav" action [updater.Update(persistent.updateWebServer, force=False)]
|
||||
else:
|
||||
textbutton _("{size=36}Update Now!\n{/size}") activate_sound "audio/ui/uiFail.wav" action [Notify("Nothing to update to!")]
|
||||
|
||||
text _("{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}") text_align 0 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
|
||||
use extrasnavigation
|
||||
|
||||
## Load and Save screens #######################################################
|
||||
@@ -977,22 +874,23 @@ screen preferences():
|
||||
textbutton _("Window") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "any window")
|
||||
textbutton _("Fullscreen") activate_sound "audio/ui/uiOptionOn.wav" action Preference("display", "fullscreen")
|
||||
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Rollback Side")
|
||||
textbutton _("Disable") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "disable")
|
||||
textbutton _("Left") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "left")
|
||||
textbutton _("Right") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "right")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Requires Restart")
|
||||
textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)]
|
||||
|
||||
if renpy.variant(["mobile", "steam_deck"]):
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Rollback Side")
|
||||
textbutton _("Disable") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "disable")
|
||||
textbutton _("Left") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "left")
|
||||
textbutton _("Right") activate_sound "audio/ui/uiOptionOn.wav" action Preference("rollback side", "right")
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Naughty Stuff")
|
||||
textbutton _("Enable Lewd Images") action [Function(onclick_audio, persistent.lewd), ToggleVariable("persistent.lewd", True, False)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Requires Restart")
|
||||
textbutton _("Enable Forward-Scroll Movement") action [Function(onclick_audio, persistent.scroll), ToggleVariable("persistent.scroll", True, False)]
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Skip")
|
||||
@@ -1006,14 +904,8 @@ screen preferences():
|
||||
textbutton _("Enable Debug Scores") action ToggleVariable("persistent.enable_debug_scores", True, False)
|
||||
textbutton _("Enable Chapter Select") action ToggleVariable("persistent.enable_chapter_select", True, False)
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Mods")
|
||||
textbutton _("Show Mod Screenshots") action [Function(onclick_audio, persistent.show_mod_screenshots), ToggleVariable("persistent.show_mod_screenshots", True, False)]
|
||||
textbutton _("Enable New Mods") action [Function(onclick_audio, persistent.newmods_default_state), ToggleVariable("persistent.newmods_default_state", True, False)]
|
||||
|
||||
if not main_menu:
|
||||
if config.developer and persistent.enable_debug_scores:
|
||||
if persistent.enable_debug_scores:
|
||||
$ debug_story_variables(False)
|
||||
$ debug_story_variables(True)
|
||||
else:
|
||||
@@ -1021,8 +913,22 @@ screen preferences():
|
||||
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Gallery")
|
||||
textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)]
|
||||
label _("Mods")
|
||||
textbutton _("Show Mod Screenshots") action [Function(onclick_audio, persistent.show_mod_screenshots), ToggleVariable("persistent.show_mod_screenshots", True, False)]
|
||||
textbutton _("Enable New Mods") action [Function(onclick_audio, persistent.newmods_default_state), ToggleVariable("persistent.newmods_default_state", True, False)]
|
||||
|
||||
if renpy.variant(["mobile", "steam_deck"]):
|
||||
vbox:
|
||||
style_prefix "check"
|
||||
label _("Gallery")
|
||||
textbutton _("Enable Edgescrolling") action [Function(onclick_audio, persistent.gallery_edgescroll), ToggleVariable("persistent.gallery_edgescroll", True, False)]
|
||||
|
||||
if renpy.seen_image("big ending"):
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
label _("Menu Style")
|
||||
textbutton _("Original") activate_sound "audio/ui/uiOptionOn.wav" action SetVariable("persistent.use_epilogue_menu", False)
|
||||
textbutton _("Epilogue") activate_sound "audio/ui/uiOptionOn.wav" action SetVariable("persistent.use_epilogue_menu", True)
|
||||
|
||||
vbox:
|
||||
xsize 676
|
||||
@@ -1039,7 +945,6 @@ screen preferences():
|
||||
scrollbars "vertical"
|
||||
for lang in languages:
|
||||
fixed:
|
||||
xsize 656
|
||||
ysize 60
|
||||
use lang_button(lang)
|
||||
|
||||
@@ -1069,7 +974,7 @@ screen preferences():
|
||||
hbox:
|
||||
bar value Preference("music volume") yalign 0.5
|
||||
textbutton _("Reset"):
|
||||
action Function(preferences.set_volume, 'music', config.default_music_volume)
|
||||
action Function(preferences.set_mixer, 'music', config.default_music_volume)
|
||||
|
||||
if config.has_sound:
|
||||
|
||||
@@ -1077,7 +982,7 @@ screen preferences():
|
||||
hbox:
|
||||
bar value Preference("sfx volume") yalign 0.5
|
||||
textbutton _("Reset"):
|
||||
action Function(preferences.set_volume, 'sfx', config.default_sfx_volume)
|
||||
action Function(preferences.set_mixer, 'sfx', config.default_sfx_volume)
|
||||
if config.sample_sound:
|
||||
textbutton _("Test") action Play("sound", config.sample_sound)
|
||||
|
||||
@@ -1086,7 +991,7 @@ screen preferences():
|
||||
bar value Preference("ui volume") yalign 0.5
|
||||
textbutton _("Reset"):
|
||||
yalign 0.5
|
||||
action Function(preferences.set_volume, 'ui', config.default_sfx_volume)
|
||||
action Function(preferences.set_mixer, 'ui', config.default_sfx_volume)
|
||||
|
||||
if config.has_voice:
|
||||
label _("Voice Volume")
|
||||
@@ -1094,7 +999,7 @@ screen preferences():
|
||||
bar value Preference("voice volume") yalign 0.5
|
||||
textbutton _("Reset"):
|
||||
yalign 0.5
|
||||
action Function(preferences.set_volume, 'voice', config.default_sfx_volume)
|
||||
action Function(preferences.set_mixer, 'voice', config.default_voice_volume)
|
||||
if config.sample_voice:
|
||||
textbutton _("Test") action Play("voice", config.sample_voice)
|
||||
|
||||
@@ -1274,11 +1179,7 @@ screen extras():
|
||||
|
||||
style_prefix "main_menu"
|
||||
|
||||
add gui.main_menu_background
|
||||
|
||||
## This empty frame darkens the main menu.
|
||||
frame:
|
||||
pass
|
||||
use main_menu_background
|
||||
|
||||
use extrasnavigation
|
||||
|
||||
@@ -1298,12 +1199,15 @@ screen extrasnavigation():
|
||||
spacing 10
|
||||
xpos 1885
|
||||
ypos (1269 if persistent.enable_chapter_select else 1130)
|
||||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||
|
||||
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
|
||||
|
||||
use main_menu_buttons(main_menu_button_img,
|
||||
[
|
||||
[ _("Help"), ShowMenu("help") ],
|
||||
[ _("About"), ShowMenu("about") ],
|
||||
[ _("Gallery"), ShowMenu("cg_gallery") ],
|
||||
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
|
||||
*([(_("Chapter Select{#MainMenu}"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
|
||||
[ _("Mods"), ShowMenu("mod_menu") ],
|
||||
[ _("Return"), ShowMenu("main_menu") ]
|
||||
] )
|
||||
@@ -1321,12 +1225,13 @@ screen help():
|
||||
|
||||
style_prefix "main_menu"
|
||||
|
||||
add gui.main_menu_background
|
||||
add gui.extras_submenu_panel
|
||||
use main_menu_background
|
||||
|
||||
if persistent.use_epilogue_menu:
|
||||
add "gui/overlay/extras_submenu_panel_epilogue.png"
|
||||
else:
|
||||
add gui.extras_submenu_panel
|
||||
|
||||
## This empty frame darkens the main menu.
|
||||
frame:
|
||||
pass
|
||||
|
||||
default device = "keyboard"
|
||||
|
||||
@@ -1395,6 +1300,10 @@ screen keyboard_help():
|
||||
label _("Page Down")
|
||||
text _("Rolls forward to later dialogue.")
|
||||
|
||||
hbox:
|
||||
label _("Backspace")
|
||||
text _("Hides mod details. Shows mod errors if there is any.")
|
||||
|
||||
hbox:
|
||||
label "H"
|
||||
text _("Hides the user interface.")
|
||||
@@ -1864,12 +1773,13 @@ style pref_vbox:
|
||||
## that uses fewer and bigger buttons that are easier to touch.
|
||||
|
||||
#redefine function
|
||||
screen quick_button(filename, label, function):
|
||||
screen quick_button(filename, label, function=NullAction(), function2=NullAction()):
|
||||
variant "mobile"
|
||||
button:
|
||||
xmaximum 124
|
||||
ymaximum 124
|
||||
action function
|
||||
alternate function2
|
||||
fixed:
|
||||
add filename xalign 0.5 yalign 0.5 zoom 1.75
|
||||
text label xalign 0.5 yalign 0.5 size 42 style "quick_button_text"
|
||||
@@ -1891,31 +1801,6 @@ screen quick_menu():
|
||||
[ _("Menu"), ShowMenu(), NullAction() ] \
|
||||
] )
|
||||
|
||||
screen extrasnavigation(): #Updates are removed (not even supported by Ren'Py)
|
||||
variant "mobile"
|
||||
vbox:
|
||||
xpos 1940
|
||||
yalign 0.03
|
||||
|
||||
if persistent.splashtype == 1:
|
||||
add "gui/sneedgame.png"
|
||||
else:
|
||||
add "gui/snootgame.png"
|
||||
vbox:
|
||||
spacing 10
|
||||
xpos 1885
|
||||
ypos (1269 if persistent.enable_chapter_select else 1130)
|
||||
use main_menu_buttons("gui/button/menubuttons/template_idle.png",
|
||||
[
|
||||
[ _("Help"), ShowMenu("help") ],
|
||||
[ _("About"), ShowMenu("about") ],
|
||||
[ _("Gallery"), ShowMenu("cg_gallery") ],
|
||||
*([(_("Chapter Select"), Start("chapter_select"))] if persistent.enable_chapter_select else []),
|
||||
[ _("Mods"), ShowMenu("mod_menu") ],
|
||||
[ _("Return"), ShowMenu("main_menu") ]
|
||||
] )
|
||||
add Null(0, 129)
|
||||
|
||||
style radio_button:
|
||||
variant "mobile"
|
||||
foreground "gui/phone/button/radio_[prefix_]foreground.png"
|
||||
|
||||
@@ -57,12 +57,14 @@ label before_main_menu:
|
||||
if preferences.language == None:
|
||||
$ preferences.language = 'en'
|
||||
|
||||
# Call initial language setup screen
|
||||
if (persistent.languaged_up is None):
|
||||
$ preferences.set_volume('ui', config.default_sfx_volume)
|
||||
$ persistent.languaged_up = True
|
||||
call screen lang_sel
|
||||
# Setting this here means we're past reloading scripts, therefore we're not reloading mods
|
||||
$ persistent.reloading_mods = False
|
||||
|
||||
# Call initial language setup screen
|
||||
# languaged_up is set within lang_sel
|
||||
if (persistent.languaged_up is None):
|
||||
$ preferences.set_mixer("ui", config.default_sfx_volume)
|
||||
call screen lang_sel
|
||||
return
|
||||
|
||||
label start:
|
||||
|
||||
@@ -5244,7 +5244,7 @@ label chapter_11:
|
||||
window auto
|
||||
pause .5
|
||||
|
||||
scene classroom
|
||||
scene science class
|
||||
show anon neutral:
|
||||
yalign 0.1 xalign 0.2
|
||||
show fang neutral behind anon:
|
||||
|
||||
@@ -265,19 +265,19 @@ label chapter_7:
|
||||
#Decided to take the unholy if/else approach to this, if there is a better, cleaner, or faster way to do it then do point me to it.
|
||||
#Values here were decided by writers, not me
|
||||
|
||||
if anonscore >= 3 and fangscore >= 4:
|
||||
if (anonscore >= 3 and fangscore >= 4) or ending_route_number == 4:
|
||||
#>>golden
|
||||
St "Upright Strength."
|
||||
St "OH! {w=.3} I don’t think you need to worry about what’s to come, Anon."
|
||||
elif anonscore >= 3 and fangscore <= 3:
|
||||
elif (anonscore >= 3 and fangscore <= 3) or ending_route_number == 3:
|
||||
#>>tradwife
|
||||
St "Inverted Hierophant."
|
||||
St "You need to be wary of your words and actions, Anon."
|
||||
elif anonscore <= 3 and fangscore >= 3:
|
||||
elif (anonscore <= 3 and fangscore >= 3) or ending_route_number == 2:
|
||||
#>>doomer
|
||||
St "Inverted Hermit."
|
||||
St "Anon, if you ever feel lonely you can come to me."
|
||||
elif anonscore <= 2 and fangscore <= 2:
|
||||
elif (anonscore <= 2 and fangscore <= 2) or ending_route_number == 1:
|
||||
#>>shooter
|
||||
St "Oh my, {w=.3} inverted Empress."
|
||||
St "You need to be wary about future negligence, Anon."
|
||||
|
||||
@@ -718,7 +718,7 @@ label chapter_8:
|
||||
pause .5
|
||||
|
||||
"{cps=*0.5}AAAAAAAAAAAAAAAA{/cps}"
|
||||
play music 'audio/OST/Dragging on and on....ogg' fadein 1.0
|
||||
play music 'audio/OST/Dragging on and on....ogg' fadein 1.0 volume 0.5
|
||||
pause .5
|
||||
|
||||
F "Anon, are you paying attention?"
|
||||
@@ -732,15 +732,31 @@ label chapter_8:
|
||||
pause .5
|
||||
|
||||
F "Alright, try these chords."
|
||||
play sound 'audio/effects/goodA.ogg' fadein 0.5
|
||||
|
||||
# Renpy's audio is rarted, do this workaround instead
|
||||
$ renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
play sound 'audio/effects/goodA.ogg'
|
||||
$ renpy.music.set_volume(0.0, 1.5, 'sound')
|
||||
pause 0.25
|
||||
|
||||
"Her fingers press mine down, holding down the strings in an awkward position."
|
||||
|
||||
F "Then this."
|
||||
play sound 'audio/effects/goodB.ogg' fadein 0.5
|
||||
|
||||
$ renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
play sound 'audio/effects/goodB.ogg'
|
||||
$ renpy.music.set_volume(0.0, 1.5, 'sound')
|
||||
pause 0.25
|
||||
|
||||
"My hands are slid down closer to the base of the neck and too close to my crotch."
|
||||
|
||||
F "And then finally this."
|
||||
play sound 'audio/effects/goodC.ogg' fadein 0.5
|
||||
|
||||
$ renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
play sound 'audio/effects/goodC.ogg'
|
||||
$ renpy.music.set_volume(0.0, 1.5, 'sound')
|
||||
pause 0.25
|
||||
|
||||
"My fingers are shifted back up to the middle of the fretboard."
|
||||
|
||||
F "Try that out, Anon."
|
||||
@@ -749,14 +765,25 @@ label chapter_8:
|
||||
"Fang let’s go of my sweaty hands. She doesn’t move from behind me though."
|
||||
|
||||
"I try and replicate the movements."
|
||||
pause .5
|
||||
play sound 'audio/effects/goodA.ogg' fadein 0.5
|
||||
|
||||
$ renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
play sound 'audio/effects/goodA.ogg'
|
||||
$ renpy.music.set_volume(0.0, 1.5, 'sound')
|
||||
pause 0.25
|
||||
|
||||
"The first strum sounds… not bad…"
|
||||
play sound 'audio/effects/badA.ogg' fadein 0.5
|
||||
|
||||
$ renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
play sound 'audio/effects/badA.ogg'
|
||||
$ renpy.music.set_volume(0.0, 1.5, 'sound')
|
||||
pause 0.25
|
||||
|
||||
"The second note is horrendous. I blame my pants."
|
||||
play sound 'audio/effects/goodC.ogg' fadein 0.5
|
||||
|
||||
$ renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
play sound 'audio/effects/goodC.ogg'
|
||||
$ renpy.music.set_volume(0.0, 1.5, 'sound')
|
||||
pause 0.25
|
||||
|
||||
"And the last chord comes out alrightish."
|
||||
pause .5
|
||||
@@ -792,6 +819,8 @@ label chapter_8:
|
||||
"My pinky slides off the fretboard and when I strum again a strange look appears in Fang’s eyes."
|
||||
window hide
|
||||
window auto
|
||||
|
||||
$ renpy.music.set_volume(1.0, 0.5, 'sound')
|
||||
pause .5
|
||||
|
||||
label musicalchoices:
|
||||
@@ -1525,7 +1554,7 @@ label chapter_8:
|
||||
|
||||
"{cps=*.1}...{/cps}"
|
||||
|
||||
if anonscore >= 3 or fangscore >= 3:
|
||||
if (anonscore >= 4 and fangscore >= 4) or ending_route_number == 4:
|
||||
pause 0.5
|
||||
play music 'audio/OST/its_footloose_now.ogg' fadein 1.0
|
||||
|
||||
|
||||
@@ -1041,6 +1041,7 @@ label chapter_x10:
|
||||
window auto
|
||||
pause 0.5
|
||||
|
||||
$ persistent.use_epilogue_menu = True
|
||||
scene big ending with Dissolve(1)
|
||||
scene big blending with Dissolve(1)
|
||||
pause 6
|
||||
|
||||
@@ -97,9 +97,12 @@ screen cg_gallery(origin = 'CG'):
|
||||
key "game_menu" action ShowMenu("main_menu")
|
||||
|
||||
# Bg for frame
|
||||
add gui.main_menu_background
|
||||
use main_menu_background(False)
|
||||
# Frame
|
||||
add gui.game_menu_background
|
||||
if persistent.use_epilogue_menu:
|
||||
add "gui/game_menu_epilogue.png"
|
||||
else:
|
||||
add gui.game_menu_background
|
||||
|
||||
tag menu
|
||||
|
||||
@@ -115,10 +118,9 @@ screen cg_gallery(origin = 'CG'):
|
||||
transform:
|
||||
zoom 0.95
|
||||
hbox:
|
||||
style_prefix "navigation"
|
||||
xalign 0.5
|
||||
|
||||
spacing gui.navigation_spacing
|
||||
spacing 80
|
||||
|
||||
for cp in CG_PATHS:
|
||||
if cp['name'] == origin:
|
||||
@@ -194,7 +196,7 @@ screen view_movie(item, _origin):
|
||||
yalign 0.975
|
||||
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
|
||||
[
|
||||
[ "Return", _origin ]
|
||||
[ _("Return"), _origin, NullAction() ]
|
||||
] )
|
||||
|
||||
|
||||
@@ -226,6 +228,6 @@ screen view_image(item, _origin):
|
||||
yalign 0.975
|
||||
use quick_buttons("gui/button/uioptionbuttons/template_idle.png",
|
||||
[
|
||||
[ "Return", _origin ]
|
||||
[ _("Return"), _origin, NullAction() ]
|
||||
] )
|
||||
|
||||
|
||||
@@ -77,6 +77,15 @@ label chapter_select_go_back:
|
||||
ending_chapters_determined = False
|
||||
current_chapter = chapter_list[chapter_list_index]
|
||||
|
||||
renpy.music.set_volume(1.0, 0.0, 'sound')
|
||||
renpy.music.set_volume(1.0, 0.0, 'music')
|
||||
renpy.music.set_volume(1.0, 0.0, 'music1')
|
||||
renpy.music.set_volume(1.0, 0.0, 'music2')
|
||||
renpy.music.set_volume(1.0, 0.0, 'ambient')
|
||||
renpy.music.set_volume(1.0, 0.0, 'ambient1')
|
||||
renpy.music.set_volume(1.0, 0.0, 'ambient2')
|
||||
renpy.music.set_volume(1.0, 0.0, 'ambient3')
|
||||
|
||||
menu:
|
||||
"What ending do you want to lock to?"
|
||||
|
||||
|
||||
@@ -125,6 +125,33 @@ init 999 python:
|
||||
_('Asset help (Italian):'): [
|
||||
'Dsatta',
|
||||
],
|
||||
_('Promo Art (Italian):'): [
|
||||
'Kaprakaz',
|
||||
],
|
||||
_('Translators (Portuguese):'): [
|
||||
'SusiAnon',
|
||||
'MacacAnon'
|
||||
],
|
||||
_('Proofreaders (Portuguese):'): [
|
||||
'SusiAnon',
|
||||
'Pillow Anon',
|
||||
'UltrAnon'
|
||||
],
|
||||
_('Asset help (Portuguese):'): [
|
||||
'UltrAnon',
|
||||
'D.Anon',
|
||||
'NightArt'
|
||||
],
|
||||
_('Promo Art (Portuguese):'): [
|
||||
'Ironclad Jimbo',
|
||||
'Cdpraxis',
|
||||
],
|
||||
_('Translator (Thai):'): [
|
||||
'Armorchin'
|
||||
],
|
||||
_('Promo Art (Thai):'): [
|
||||
'Armorchin'
|
||||
],
|
||||
}
|
||||
|
||||
textlist = []
|
||||
@@ -233,9 +260,9 @@ label test_credits:
|
||||
|
||||
init python:
|
||||
# Note: Measuring in pixels
|
||||
panning_stop = 12700 # How far the panning will go down
|
||||
panning_stop = 15070 # How far the panning will go down
|
||||
panning_stop_bg = 8100 # How far the background images will pan, to create the parallax effect (I can't believe cuckedmanon didn't like this!)
|
||||
panning_duration = 65 # How long in seconds
|
||||
panning_duration = 77 # How long in seconds
|
||||
credits_img_offset = panning_stop + 550 # Distance away from panning_stop where the image will render
|
||||
credits_img_boundary = credits_img_offset + 590 # The offset + the height of the credits image file
|
||||
|
||||
|
||||
@@ -65,12 +65,7 @@ screen ex_ch_menu():
|
||||
|
||||
tag menu
|
||||
style_prefix "main_menu"
|
||||
add gui.main_menu_background
|
||||
|
||||
frame:
|
||||
xsize 420
|
||||
yfill True
|
||||
background "gui/overlay/main_menu.png"
|
||||
use main_menu_background
|
||||
|
||||
#side_yfill True
|
||||
vbox:
|
||||
@@ -92,14 +87,15 @@ screen ex_ch_menu():
|
||||
mousewheel True
|
||||
draggable True
|
||||
pagekeys True
|
||||
vbox:
|
||||
#xpos 1885
|
||||
spacing 12
|
||||
#yalign 0.98
|
||||
|
||||
use ex_ch_button("gui/button/menubuttons/template_idle.png", "Return", ShowMenu("main_menu"))
|
||||
#use ex_ch_button("gui/button/menubuttons/template_idle.png", str(e), ShowMenu("main_menu"))
|
||||
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
|
||||
|
||||
vbox:
|
||||
spacing 12
|
||||
|
||||
use ex_ch_button(main_menu_button_img, "Return", ShowMenu("main_menu"))
|
||||
|
||||
if len(ex_chapters_menu):
|
||||
use ex_ch_buttons("gui/button/menubuttons/template_idle.png", ex_chapters_menu )
|
||||
use ex_ch_buttons(main_menu_button_img, ex_chapters_menu )
|
||||
for x in range(0, len(ex_chapters) - len(ex_chapters_menu)):
|
||||
use ex_ch_button("gui/button/menubuttons/template_idle.png", "???", None)
|
||||
use ex_ch_button(main_menu_button_img, "???", None)
|
||||
|
||||
@@ -29,7 +29,7 @@ define long_textbox_img = Image("gui/textbox_long.png", xalign=0.5, yalign=1.0)
|
||||
define long_textbox = { "window_background": long_textbox_img, 'namebox_style': "namebox_large" }
|
||||
|
||||
#Characters
|
||||
define base = Character (ctc="ctc_end_marker", ctc_pause="ctc_mid_marker", ctc_timedpause=Null(), ctc_position="nestled") # try to remember some of the basics of CTC
|
||||
define base = Character (ctc="ctc_end_marker", ctc_pause="ctc_mid_marker", ctc_timedpause=Null(), ctc_position="nestled-close") # try to remember some of the basics of CTC
|
||||
define narrator = Character(kind=base)
|
||||
define A = Character (_('Anon'), base, color="#36E12D", who_outlines=[(gui.name_text_thickness, '#0C300A')]) # Light Green
|
||||
define F = Character (_('Fang'), base, color="#B4D4CE", who_outlines=[(gui.name_text_thickness, '#0F3930')]) # Light Cyan
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
# etc...
|
||||
# }
|
||||
#
|
||||
# Note that some keys may exist, but simple be 'None', likely as a result of improperly filled out metadata files.
|
||||
# Note that some keys may exist, but end up as 'None', likely as a result of improperly filled out metadata files.
|
||||
|
||||
|
||||
init -999 python:
|
||||
@@ -145,7 +145,7 @@ init -999 python:
|
||||
destination_dict[key] = source_dict[key]
|
||||
del source_dict[key]
|
||||
|
||||
# Checks to see if the key in the metadata dict exists/is correct, and tries to set a default if it isn't.
|
||||
# Checks to see if the key in the metadata dict exists/is correct.
|
||||
# For keys that are set to None, it will be treated as if it doesn't exist
|
||||
def value_isnt_valid_string(metadata, key):
|
||||
return metadata.get(key) != None and not isinstance(metadata.get(key), str)
|
||||
@@ -196,7 +196,7 @@ init -999 python:
|
||||
mod_jsonfail_list = [] # List of languages that has an associated metadata language file that failed to load.
|
||||
mod_preferred_modname = []
|
||||
mod_exception = False
|
||||
mod_in_root_folder = file.count("/", len(mods_dir)) is 0
|
||||
mod_in_root_folder = file.count("/", len(mods_dir)) == 0
|
||||
mod_folder_name = file.split("/")[-2]
|
||||
# mod_name is used only to display debugging information via mod_menu_errorcodes. Contains the mod folder name and whatever translations of
|
||||
# the mod's name that exist. Kind of a cursed implemnetation but with how early error reporting this is before solidifying the mod name
|
||||
@@ -288,7 +288,7 @@ init -999 python:
|
||||
|
||||
# Since lang keys will only be added to the mod data dict if their respective metadata successfully loaded, no need to check if they can.
|
||||
for lang_key in mod_data_final.keys():
|
||||
if lang_key is "None" or lang_key in renpy.known_languages():
|
||||
if lang_key == "None" or lang_key in renpy.known_languages():
|
||||
lang_data = mod_data_final[lang_key]
|
||||
|
||||
# The JSON object returns an actual python list, but renpy only works with it's own list object and the automation for this fails with JSON.
|
||||
@@ -298,7 +298,7 @@ init -999 python:
|
||||
lang_data[x] = renpy.revertable.RevertableList(lang_data[x])
|
||||
|
||||
# Automatically give the name of the mod from the folder it's using if there's no defined name, but report an error if one is defined but not a string
|
||||
if value_isnt_valid_string(lang_data, "Name"):
|
||||
if not isinstance(lang_data.get("Name"), str):
|
||||
if lang_data.get("Name") != None:
|
||||
mod_menu_errorcodes.append([ ModError.Name_Not_String, { "mod_name": mod_name, "lang_code": lang_key }])
|
||||
|
||||
@@ -502,7 +502,7 @@ init -999 python:
|
||||
# Make a copy of the current screenshots list, then put displayable screenshots wherever the values of "Screenshot Displayables" correspond in this list
|
||||
# mod_screenshots will return an empty list if there were no screenshot files to begin with, so this works fine.
|
||||
for lang_key in mod_data_final.keys():
|
||||
if lang_key is "None" or lang_key in renpy.known_languages():
|
||||
if lang_key == "None" or lang_key in renpy.known_languages():
|
||||
if mod_data_final[lang_key].get("Screenshots") == None:
|
||||
mod_screenshots = []
|
||||
else:
|
||||
@@ -538,7 +538,11 @@ init -999 python:
|
||||
for saved_mod_id, saved_mod_state in persistent.enabled_mods:
|
||||
for mod in mod_menu_metadata:
|
||||
if mod["ID"] == saved_mod_id:
|
||||
mod["Enabled"] = saved_mod_state
|
||||
# If this mod doesn't have any loadable scripts, treat it as on (Say, if a mod changed something in the base game and the label points there)
|
||||
if not mod["Scripts"]:
|
||||
mod["Enabled"] = True
|
||||
else:
|
||||
mod["Enabled"] = saved_mod_state
|
||||
temp_list.append(mod)
|
||||
break
|
||||
|
||||
@@ -549,7 +553,7 @@ init -999 python:
|
||||
if mod["ID"] == saved_mod_id[0]:
|
||||
mod_not_found = False
|
||||
if mod_not_found:
|
||||
# If this mod doesn't have any loadable scripts, treat it as on (Say, if a mod changed something in the base game and the label points there)
|
||||
# Treat the mod as on if there's no scripts here too
|
||||
if not mod["Scripts"]:
|
||||
mod["Enabled"] = True
|
||||
# Otherwise set mods to the default state
|
||||
@@ -559,26 +563,26 @@ init -999 python:
|
||||
|
||||
mod_menu_metadata = temp_list
|
||||
|
||||
# Rewrite enabled_mods to reflect the new mod order, and load all the mods
|
||||
# Rewrite enabled_mods to reflect the new mod order, and load all the mod scripts
|
||||
persistent.enabled_mods.clear()
|
||||
|
||||
for mod in mod_menu_metadata:
|
||||
persistent.enabled_mods.append( [ mod["ID"], mod["Enabled"] ] )
|
||||
|
||||
# Making the load_mods check here makes it so the NOLOAD flag doesn't overwrite the previously saved load order
|
||||
# Making the load_mods check here makes it so the DISABLEALLMODS flag doesn't overwrite the previously saved load order
|
||||
if load_mods and mod["Enabled"]:
|
||||
for script in mod["Scripts"]:
|
||||
renpy.include_module(script)
|
||||
else:
|
||||
elif mod["Scripts"]:
|
||||
mod["Enabled"] = False
|
||||
|
||||
# Now convert our errorcodes to errorstrings
|
||||
init python:
|
||||
def return_translated_mod_name(mod_dict):
|
||||
if _preferences.language == None and "None" in mod_dict.keys():
|
||||
return "'{color=#ffbdbd}" + mod_dict["None"] + "{/color}'"
|
||||
elif _preferences.language in mod_dict.keys():
|
||||
if _preferences.language in mod_dict.keys():
|
||||
return "'{color=#ffbdbd}" + mod_dict[_preferences.language] + "{/color}'"
|
||||
elif "None" in mod_dict.keys():
|
||||
return "'{color=#ffbdbd}" + mod_dict["None"] + "{/color}'"
|
||||
else:
|
||||
if mod_dict["Folder"] == None:
|
||||
return __("the root of the mods folder")
|
||||
@@ -670,7 +674,7 @@ init python:
|
||||
|
||||
# All operations that use this function need to be able to parse "None" as a safeguard.
|
||||
def return_translated_metadata(mod_metadata, key):
|
||||
if _preferences.language != None and _preferences.language in mod_metadata.keys() and mod_metadata[_preferences.language].get(key) != None:
|
||||
if _preferences.language in mod_metadata.keys() and mod_metadata[_preferences.language].get(key) != None:
|
||||
return mod_metadata[_preferences.language][key]
|
||||
elif "None" in mod_metadata.keys():
|
||||
return mod_metadata["None"].get(key)
|
||||
@@ -685,14 +689,11 @@ screen mod_menu():
|
||||
|
||||
style_prefix "main_menu"
|
||||
|
||||
add gui.main_menu_background
|
||||
frame:
|
||||
xsize 420
|
||||
yfill True
|
||||
background "gui/overlay/main_menu.png"
|
||||
use main_menu_background
|
||||
|
||||
$ main_menu_button_img = "gui/button/menubuttons/template_idle_epilogue.png" if persistent.use_epilogue_menu else "gui/button/menubuttons/template_idle.png"
|
||||
|
||||
default mod_metadata = {}
|
||||
default reload_game = False
|
||||
default mod_button_enabled = True
|
||||
default mod_button_alpha = 1.0
|
||||
default mod_screenshot_list = None
|
||||
@@ -707,14 +708,8 @@ screen mod_menu():
|
||||
|
||||
spacing 8
|
||||
|
||||
use mod_menu_top_buttons(_("Reload Mods"), SetScreenVariable("reload_game", True)):
|
||||
# For some reason, Function() will instantly reload the game upon entering the mod menu, and put it in an infinite loop, so doing this python jank
|
||||
# is the only way
|
||||
if reload_game:
|
||||
python:
|
||||
reload_game = False
|
||||
renpy.reload_script()
|
||||
use mod_menu_top_buttons(_("Return"), ShowMenu("extras"))
|
||||
use mod_menu_top_buttons(main_menu_button_img, _("Reload Mods"), Function(reload_game))
|
||||
use mod_menu_top_buttons(main_menu_button_img, _("Return"), ShowMenu("extras"))
|
||||
|
||||
viewport:
|
||||
xpos 1260
|
||||
@@ -753,15 +748,18 @@ screen mod_menu():
|
||||
style_prefix "main_menu"
|
||||
add Null(30,30)
|
||||
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
idle_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
|
||||
if persistent.use_epilogue_menu:
|
||||
idle_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#000000"))
|
||||
else:
|
||||
idle_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
|
||||
hover_foreground Transform("gui/button/menubuttons/up.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#00FF03"))
|
||||
action Function(swapMods, i, i-1)
|
||||
else:
|
||||
add Null(30,30) at truecenter
|
||||
|
||||
# Enablin/disabling mods button
|
||||
# Enabling/disabling mods button
|
||||
button:
|
||||
at truecenter
|
||||
style_prefix "main_menu"
|
||||
@@ -770,11 +768,14 @@ screen mod_menu():
|
||||
if not renpy.variant(["mobile", "steam_deck"]):
|
||||
ysize 65
|
||||
|
||||
add "gui/button/menubuttons/checkbox.png" xalign 0.5 yalign 0.5
|
||||
if persistent.use_epilogue_menu:
|
||||
add "gui/button/menubuttons/checkbox_epilogue.png" xalign 0.5 yalign 0.5
|
||||
else:
|
||||
add "gui/button/menubuttons/checkbox.png" xalign 0.5 yalign 0.5
|
||||
|
||||
if x["Scripts"]:
|
||||
action Function(toggle_persistent_mods, i)
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
if persistent.enabled_mods[i][1]:
|
||||
idle_foreground Transform("gui/button/menubuttons/check.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#00ff40"))
|
||||
hover_foreground Transform("gui/button/menubuttons/check.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#ffffff"))
|
||||
@@ -790,9 +791,12 @@ screen mod_menu():
|
||||
style_prefix "main_menu"
|
||||
add Null(30,30)
|
||||
action Function(swapMods, i, i+1)
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
idle_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
|
||||
if persistent.use_epilogue_menu:
|
||||
idle_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#000000"))
|
||||
else:
|
||||
idle_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#445ABB"))
|
||||
hover_foreground Transform("gui/button/menubuttons/down.png",xalign=0.5,yalign=0.5,matrixcolor=TintMatrix("#00FF03"))
|
||||
|
||||
else:
|
||||
@@ -814,7 +818,7 @@ screen mod_menu():
|
||||
at transform:
|
||||
truecenter
|
||||
alpha mod_button_alpha
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
hovered SetScreenVariable("mod_metadata", x)
|
||||
|
||||
# Clicking the mod button starts the mod on PC, but we have to click a seperate button to start on Android.
|
||||
@@ -827,15 +831,15 @@ screen mod_menu():
|
||||
xsize 475
|
||||
ymaximum 2000
|
||||
if mod_button_enabled:
|
||||
background Frame("gui/button/menubuttons/template_idle.png", 12, 12)
|
||||
background Frame(main_menu_button_img, 12, 12)
|
||||
else:
|
||||
background Transform(Frame("gui/button/menubuttons/template_idle.png", 12, 12),matrixcolor=SaturationMatrix(0.5))
|
||||
background Transform(Frame(main_menu_button_img, 12, 12),matrixcolor=SaturationMatrix(0.5))
|
||||
|
||||
padding (5, 5)
|
||||
|
||||
# Display mod name and/or icon
|
||||
if return_translated_metadata(x, "Display") == "icon" and mod_icon != None:
|
||||
add RoundedCorners(mod_icon, radius=(5, 5, 5, 5)) xsize 342 fit "scale-down" at truecenter
|
||||
add RoundedCorners(mod_icon, radius=(15, 15, 15, 15)) xsize 462 yoffset -1 xoffset 1 fit "scale-down" at truecenter
|
||||
elif return_translated_metadata(x, "Display") == "both" or return_translated_metadata(x, "Display") == None and mod_icon != None:
|
||||
hbox:
|
||||
spacing 20
|
||||
@@ -864,19 +868,19 @@ screen mod_menu():
|
||||
ysize 160
|
||||
button:
|
||||
at truecenter
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
action Start(x["Label"])
|
||||
|
||||
frame:
|
||||
xsize 475
|
||||
ymaximum 2000
|
||||
background Frame("gui/button/menubuttons/template_idle.png", 12, 12)
|
||||
background Frame(main_menu_button_img, 12, 12)
|
||||
padding (5, 5)
|
||||
text x["Name"] xalign 0.5 yalign 0.5 size 34 textalign 0.5
|
||||
|
||||
else:
|
||||
fixed:
|
||||
ymaximum 600 # This is the stupidest fucking hack fix
|
||||
ymaximum 750 # This is the stupidest fucking hack fix
|
||||
|
||||
text _("You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""):
|
||||
style_prefix "navigation"
|
||||
@@ -885,166 +889,174 @@ screen mod_menu():
|
||||
xalign 0.5 yalign 0.5
|
||||
outlines [(3, "#342F6C", absolute(0), absolute(0))]
|
||||
|
||||
# Clears the mod details pane, consequently bringing up mod errors if there's any
|
||||
key ["any_K_BACKSPACE"] action SetScreenVariable("mod_metadata", {})
|
||||
|
||||
# Displays the mod metadata on the left side
|
||||
# This has two seperate viewports for error display because renpy is retarded
|
||||
if mod_metadata != {}:
|
||||
|
||||
# Mod play button for android
|
||||
# I'm too fuckin tired to make this not shit and just put this and the viewport into a vbox, forgive me
|
||||
$ mod_has_label_android = renpy.variant(["mobile", "steam_deck"]) and mod_metadata.get("Label") != None
|
||||
if mod_has_label_android:
|
||||
$ mod_button_alpha = 1.0 if mod_metadata["Enabled"] == True else 0.4 # Fade mod button out if mod is disabled
|
||||
button:
|
||||
xpos 13
|
||||
ypos 928
|
||||
transform:
|
||||
alpha mod_button_alpha
|
||||
frame:
|
||||
xsize 1190
|
||||
ysize 129
|
||||
|
||||
background Frame("gui/button/menubuttons/template_full_idle.png", 12, 12)
|
||||
text _("Start") xalign 0.5 yalign 0.5 size 50
|
||||
|
||||
action Start(mod_metadata["Label"])
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
|
||||
|
||||
$ needs_android_buttons = renpy.variant(["mobile", "steam_deck"]) and (mod_metadata.get("Label") != None or (mod_metadata != {} and len(mod_menu_errorcodes) != 0))
|
||||
vbox:
|
||||
style_prefix "mod_menu"
|
||||
xmaximum 1190
|
||||
ymaximum 1050
|
||||
xpos 15
|
||||
ypos 15
|
||||
# Mod details pane
|
||||
viewport:
|
||||
xmaximum 1190
|
||||
if mod_has_label_android:
|
||||
if needs_android_buttons:
|
||||
ymaximum 900
|
||||
else:
|
||||
ymaximum 1050
|
||||
xpos 15
|
||||
ypos 15
|
||||
|
||||
scrollbars "vertical"
|
||||
vscrollbar_unscrollable "hide"
|
||||
mousewheel True
|
||||
draggable True
|
||||
vbox:
|
||||
style_prefix "mod_menu"
|
||||
|
||||
# Thumbnail
|
||||
python:
|
||||
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Thumbnail Displayable") != None:
|
||||
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail Displayable")
|
||||
elif return_translated_metadata(mod_metadata, "Thumbnail") != None:
|
||||
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail")
|
||||
else:
|
||||
mod_thumbnail = None
|
||||
|
||||
if mod_thumbnail:
|
||||
frame:
|
||||
background None
|
||||
xpadding 30
|
||||
bottom_padding 30
|
||||
xalign 0.5
|
||||
add mod_thumbnail fit 'scale-down'
|
||||
|
||||
# Mod details
|
||||
# Omits checking for mod name, since we'll always have some kind of mod name.
|
||||
# This will also not show anything if there's only a mod name, since we already show one in the mod button.
|
||||
if return_translated_metadata(mod_metadata, "Version") != None or return_translated_metadata(mod_metadata, "Authors") != None or return_translated_metadata(mod_metadata, "Links") != None:
|
||||
if mod_metadata == {} and len(mod_menu_errorcodes) != 0:
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
|
||||
vbox:
|
||||
if return_translated_metadata(mod_metadata, "Name") != None:
|
||||
hbox:
|
||||
text _("Name: ")
|
||||
text return_translated_metadata(mod_metadata, "Name")
|
||||
if return_translated_metadata(mod_metadata, "Version") != None:
|
||||
hbox:
|
||||
text _("Version: ")
|
||||
text return_translated_metadata(mod_metadata, "Version")
|
||||
if return_translated_metadata(mod_metadata, "Authors") != None:
|
||||
if isinstance(return_translated_metadata(mod_metadata, "Authors"), list):
|
||||
hbox:
|
||||
text _("Authors: ")
|
||||
text ", ".join(return_translated_metadata(mod_metadata, "Authors"))
|
||||
else:
|
||||
hbox:
|
||||
text _("Author: ")
|
||||
text return_translated_metadata(mod_metadata, "Authors")
|
||||
if return_translated_metadata(mod_metadata, "Links") != None:
|
||||
if isinstance(return_translated_metadata(mod_metadata, "Links"), list):
|
||||
hbox:
|
||||
text _("Links: ")
|
||||
text ", ".join(return_translated_metadata(mod_metadata, "Links"))
|
||||
else:
|
||||
hbox:
|
||||
text _("Link: ")
|
||||
text return_translated_metadata(mod_metadata, "Links")
|
||||
|
||||
# Description
|
||||
if return_translated_metadata(mod_metadata, "Description") != None or return_translated_metadata(mod_metadata, "Mobile Description") != None:
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
|
||||
# If there's no mobile description, display the regular description on Android.
|
||||
if (not renpy.android or return_translated_metadata(mod_metadata, "Mobile Description") == None) and (return_translated_metadata(mod_metadata, "Description") != None):
|
||||
text return_translated_metadata(mod_metadata, "Description")
|
||||
elif return_translated_metadata(mod_metadata, "Mobile Description") != None:
|
||||
text return_translated_metadata(mod_metadata, "Mobile Description")
|
||||
|
||||
# Screenshots
|
||||
python:
|
||||
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Screenshot Displayables") != None:
|
||||
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshot Displayables")
|
||||
elif return_translated_metadata(mod_metadata, "Screenshots") != None:
|
||||
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshots")
|
||||
else:
|
||||
mod_screenshot_list = None
|
||||
|
||||
if persistent.show_mod_screenshots and mod_screenshot_list:
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
|
||||
hbox:
|
||||
xoffset 12
|
||||
box_wrap True
|
||||
box_wrap_spacing 25
|
||||
spacing 25
|
||||
for t in mod_menu_errorcodes:
|
||||
text convert_errorcode_to_errorstring(t[0], t[1])
|
||||
elif mod_metadata != {}:
|
||||
# Thumbnail
|
||||
python:
|
||||
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Thumbnail Displayable") != None:
|
||||
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail Displayable")
|
||||
elif return_translated_metadata(mod_metadata, "Thumbnail") != None:
|
||||
mod_thumbnail = return_translated_metadata(mod_metadata, "Thumbnail")
|
||||
else:
|
||||
mod_thumbnail = None
|
||||
|
||||
for i in mod_screenshot_list:
|
||||
imagebutton:
|
||||
at transform:
|
||||
ysize 200 subpixel True
|
||||
fit "scale-down"
|
||||
xalign 0.5 yalign 0.5
|
||||
if mod_thumbnail:
|
||||
frame:
|
||||
background None
|
||||
xpadding 30
|
||||
bottom_padding 30
|
||||
xalign 0.5
|
||||
add mod_thumbnail fit 'scale-down'
|
||||
|
||||
idle i
|
||||
hover Transform(i, matrixcolor=BrightnessMatrix(0.1))
|
||||
action Show("mod_screenshot_preview", Dissolve(0.5), img=i)
|
||||
# Mod details
|
||||
# Omits checking for mod name, since we'll always have some kind of mod name.
|
||||
# This will also not show anything if there's only a mod name, since we already show one in the mod button.
|
||||
# Unless the display is set to "icon".
|
||||
if return_translated_metadata(mod_metadata, "Version") != None or return_translated_metadata(mod_metadata, "Authors") != None or return_translated_metadata(mod_metadata, "Links") != None or mod_metadata.get("Display") == "icon":
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
|
||||
vbox:
|
||||
if return_translated_metadata(mod_metadata, "Name") != None:
|
||||
hbox:
|
||||
text _("Name: ")
|
||||
text return_translated_metadata(mod_metadata, "Name")
|
||||
if return_translated_metadata(mod_metadata, "Version") != None:
|
||||
hbox:
|
||||
text _("Version: ")
|
||||
text return_translated_metadata(mod_metadata, "Version")
|
||||
if return_translated_metadata(mod_metadata, "Authors") != None:
|
||||
if isinstance(return_translated_metadata(mod_metadata, "Authors"), list):
|
||||
hbox:
|
||||
text _("Authors: ")
|
||||
text ", ".join(return_translated_metadata(mod_metadata, "Authors"))
|
||||
else:
|
||||
hbox:
|
||||
text _("Author: ")
|
||||
text return_translated_metadata(mod_metadata, "Authors")
|
||||
if return_translated_metadata(mod_metadata, "Links") != None:
|
||||
if isinstance(return_translated_metadata(mod_metadata, "Links"), list):
|
||||
hbox:
|
||||
text _("Links: ")
|
||||
text ", ".join(return_translated_metadata(mod_metadata, "Links"))
|
||||
else:
|
||||
hbox:
|
||||
text _("Link: ")
|
||||
text return_translated_metadata(mod_metadata, "Links")
|
||||
|
||||
# Description
|
||||
if return_translated_metadata(mod_metadata, "Description") != None or return_translated_metadata(mod_metadata, "Mobile Description") != None:
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
|
||||
# If there's no mobile description, display the regular description on Android.
|
||||
if (not renpy.android or return_translated_metadata(mod_metadata, "Mobile Description") == None) and (return_translated_metadata(mod_metadata, "Description") != None):
|
||||
text return_translated_metadata(mod_metadata, "Description")
|
||||
elif return_translated_metadata(mod_metadata, "Mobile Description") != None:
|
||||
text return_translated_metadata(mod_metadata, "Mobile Description")
|
||||
|
||||
# Screenshots
|
||||
python:
|
||||
if mod_metadata["Enabled"] == True and return_translated_metadata(mod_metadata, "Screenshot Displayables") != None:
|
||||
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshot Displayables")
|
||||
elif return_translated_metadata(mod_metadata, "Screenshots") != None:
|
||||
mod_screenshot_list = return_translated_metadata(mod_metadata, "Screenshots")
|
||||
else:
|
||||
mod_screenshot_list = None
|
||||
|
||||
if persistent.show_mod_screenshots and mod_screenshot_list:
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
|
||||
hbox:
|
||||
xoffset 12
|
||||
box_wrap True
|
||||
box_wrap_spacing 25
|
||||
spacing 25
|
||||
|
||||
for i in mod_screenshot_list:
|
||||
imagebutton:
|
||||
at transform:
|
||||
ysize 200 subpixel True
|
||||
fit "scale-down"
|
||||
xalign 0.5 yalign 0.5
|
||||
|
||||
idle i
|
||||
hover Transform(i, matrixcolor=BrightnessMatrix(0.1))
|
||||
action Show("mod_screenshot_preview", Dissolve(0.5), img=i)
|
||||
# Mod play and hide mod details pane buttons for android
|
||||
if needs_android_buttons:
|
||||
hbox:
|
||||
box_reverse True
|
||||
if len(mod_menu_errorcodes) != 0:
|
||||
button:
|
||||
frame:
|
||||
xfill True
|
||||
yfill True
|
||||
if mod_metadata.get("Label") != None:
|
||||
xmaximum 0.5
|
||||
if persistent.use_epilogue_menu:
|
||||
background Frame("gui/button/menubuttons/template_idle_epilogue.png", 12, 12)
|
||||
else:
|
||||
background Frame("gui/button/menubuttons/template_full_idle.png", 12, 12)
|
||||
|
||||
text _("Show Errors") xalign 0.5 yalign 0.5 size 50 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
|
||||
action SetScreenVariable("mod_metadata", {})
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
if mod_metadata.get("Label") != None:
|
||||
$ mod_button_alpha = 1.0 if mod_metadata["Enabled"] == True else 0.4 # Fade mod button out if mod is disabled
|
||||
button:
|
||||
transform:
|
||||
alpha mod_button_alpha
|
||||
|
||||
frame:
|
||||
xfill True
|
||||
yfill True
|
||||
if persistent.use_epilogue_menu:
|
||||
background Frame("gui/button/menubuttons/template_idle_epilogue.png", 12, 12)
|
||||
else:
|
||||
background Frame("gui/button/menubuttons/template_full_idle.png", 12, 12)
|
||||
|
||||
text _("Start") xalign 0.5 yalign 0.5 size 50 outlines [ (absolute(1), "#000", absolute(0), absolute(0)) ]
|
||||
action Start(mod_metadata["Label"])
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
elif len(mod_menu_errorcodes) != 0:
|
||||
viewport:
|
||||
xmaximum 1190
|
||||
ymaximum 1050
|
||||
xpos 15
|
||||
ypos 15
|
||||
scrollbars "vertical"
|
||||
vscrollbar_unscrollable "hide"
|
||||
mousewheel True
|
||||
draggable True
|
||||
vbox:
|
||||
style_prefix "mod_menu"
|
||||
frame:
|
||||
background Frame("gui/mod_frame.png", 30, 30)
|
||||
padding (30, 30)
|
||||
xfill True
|
||||
vbox:
|
||||
spacing 25
|
||||
for t in mod_menu_errorcodes:
|
||||
text convert_errorcode_to_errorstring(t[0], t[1])
|
||||
|
||||
if not persistent.seenModWarning:
|
||||
$ persistent.seenModWarning = True
|
||||
@@ -1064,16 +1076,21 @@ screen mod_screenshot_preview(img):
|
||||
|
||||
key ["mouseup_1", "mouseup_3"] action Hide("mod_screenshot_preview", dissolve)
|
||||
|
||||
screen mod_menu_top_buttons(text, action):
|
||||
screen mod_menu_top_buttons(image, text, action):
|
||||
button:
|
||||
frame:
|
||||
xmaximum 300
|
||||
ymaximum 129
|
||||
|
||||
background Frame("gui/button/menubuttons/template_idle.png", 12, 12)
|
||||
background Frame(image, 12, 12)
|
||||
text text xalign 0.5 yalign 0.5 size 34
|
||||
|
||||
action action
|
||||
activate_sound "audio/ui/snd_ui_click.wav"
|
||||
activate_sound "audio/ui/uiClick.wav"
|
||||
|
||||
transclude
|
||||
transclude
|
||||
|
||||
init python:
|
||||
def reload_game():
|
||||
persistent.reloading_mods = True
|
||||
renpy.reload_script()
|
||||
@@ -1,7 +1,6 @@
|
||||
# RoundedCorners() rounds the corners of a displayable you give it
|
||||
|
||||
python early:
|
||||
import collections, pygame_sdl2 as pygame
|
||||
|
||||
def normalize_color(col):
|
||||
a = col[3] / 255.0
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
label splashscreen:
|
||||
if not renpy.get_autoreload():
|
||||
if not renpy.get_autoreload() and not persistent.reloading_mods:
|
||||
show caveintrosequence
|
||||
play sound 'audio/OST/startup.ogg'
|
||||
pause 11.2
|
||||
|
||||
@@ -1,4 +1,6 @@
|
||||
init -1 python:
|
||||
# This function name is a misnomer, this actually counts endings as seen when the player reaches the ending cards when this is called
|
||||
# And it's done in the most retarded way possible because someone thought it'd be funny.
|
||||
def ending_image():
|
||||
#0b0000, DCBA, flash the bits with |=, check with &
|
||||
endings = 0b0000
|
||||
@@ -26,7 +28,7 @@ init python:
|
||||
|
||||
# We're at an ending
|
||||
else:
|
||||
ending_image()
|
||||
ending_image() # Count endings that have seen the ending cards as seen
|
||||
|
||||
if ending_route_number == 1:
|
||||
renpy.quit()
|
||||
|
||||
@@ -25,9 +25,37 @@ screen OkPrompt(message, go_menu):
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
textbutton _("OK") activate_sound "audio/ui/snd_ui_click.wav" action If(go_menu, true=MainMenu(False,False), false=[Hide(),Return()])
|
||||
|
||||
screen hiddenOkPrompt(message, go_menu):
|
||||
|
||||
modal True
|
||||
|
||||
zorder 200
|
||||
|
||||
style_prefix "confirm"
|
||||
|
||||
add "gui/overlay/confirm.png"
|
||||
|
||||
frame:
|
||||
|
||||
vbox:
|
||||
xalign .5
|
||||
yalign .5
|
||||
spacing 30
|
||||
|
||||
label _(message):
|
||||
style "confirm_prompt"
|
||||
xalign 0.5
|
||||
|
||||
hbox:
|
||||
xalign 0.5
|
||||
spacing 100
|
||||
|
||||
textbutton _("OK") activate_sound "audio/ui/snd_ui_click.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
|
||||
default persistent.seenWarning = []
|
||||
default persistent.languaged_up = None
|
||||
|
||||
init python:
|
||||
|
||||
@@ -40,7 +68,9 @@ init python:
|
||||
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
|
||||
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'},
|
||||
{'image': 'gui/flag/Poland.png', 'name': 'Polski', 'value': 'pl'},
|
||||
{'image': 'gui/flag/Italy.png', 'name': 'Italiano', 'value': 'it'}
|
||||
{'image': 'gui/flag/Italy.png', 'name': 'Italiano', 'value': 'it'},
|
||||
{'image': 'gui/flag/Brazil.png', 'name': 'Português (BR)', 'value': 'pt_br'},
|
||||
{'image': 'gui/flag/Thai.png', 'name': 'ภาษาไทย', 'value': 'th'}
|
||||
]
|
||||
|
||||
#This was done so it would work with whatever amount of languages you wanted, I tried it with up to 200 and it worked nicely.
|
||||
@@ -107,9 +137,9 @@ screen lang_sel():
|
||||
idle darkie(languages[i]["image"])
|
||||
hover glowie(languages[i]["image"])
|
||||
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == 'en',
|
||||
true = [Language(languages[i]["value"]), MainMenu(False,False)],
|
||||
true = [Language(languages[i]["value"]), SetVariable("persistent.languaged_up", True), Return()],
|
||||
# Important to change the language before calling notice. Otherwise it will be in english.
|
||||
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), Show(screen="OkPrompt", message=notice, go_menu=True)]
|
||||
false = [Language(languages[i]["value"]), AddToSet(set=persistent.seenWarning, value=languages[i]["value"]), SetVariable("persistent.languaged_up", True), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
)
|
||||
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
|
||||
else:
|
||||
@@ -124,7 +154,7 @@ screen lang_button(lang):
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
action If(lang["value"] in persistent.seenWarning or lang["value"] == 'en',
|
||||
true = [Language(lang["value"])],
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="hiddenOkPrompt", message=notice, go_menu=False)]
|
||||
)
|
||||
if _preferences.language == lang["value"]:
|
||||
add glowie(lang["image"]) at icon
|
||||
|
||||
@@ -1220,3 +1220,259 @@ translate es strings:
|
||||
# renpy/common/00gamepad.rpy:58
|
||||
old "Press or move the '[control!s]' [kind]."
|
||||
new "Presiona o mueve el '[control!s]' [kind]."
|
||||
# TODO: Translation updated at 2023-04-30 19:56
|
||||
|
||||
translate es strings:
|
||||
|
||||
# renpy/common/00action_other.rpy:703
|
||||
old "Open [text] directory."
|
||||
new "abrir directorio [text]."
|
||||
|
||||
# renpy/common/00preferences.rpy:507
|
||||
old "audio when minimized"
|
||||
new "audio cuando está minimizado"
|
||||
|
||||
# renpy/common/00preferences.rpy:527
|
||||
old "main volume"
|
||||
new "volumen principal"
|
||||
|
||||
# renpy/common/00preferences.rpy:531
|
||||
old "mute main"
|
||||
new "silenciar principal"
|
||||
|
||||
# TODO: Translation updated at 2024-02-08 19:31
|
||||
|
||||
translate es strings:
|
||||
|
||||
# renpy/common/00director.rpy:1745
|
||||
old "Click to toggle attribute, right click to toggle negative attribute."
|
||||
new "Click to toggle attribute, right click to toggle negative attribute."
|
||||
|
||||
# renpy/common/00director.rpy:1768
|
||||
old "Click to set transform, right click to add to transform list."
|
||||
new "Click to set transform, right click to add to transform list."
|
||||
|
||||
# renpy/common/00director.rpy:1789
|
||||
old "Click to set, right click to add to behind list."
|
||||
new "Click to set, right click to add to behind list."
|
||||
|
||||
# renpy/common/00gui.rpy:456
|
||||
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
|
||||
new "Este archivo se creó en otro dispositivo. Los archivos de guardado creados de forma maliciosa pueden dañar tu ordenador. ¿Confías en el creador de este archivo y en todos los que podrían haberlo modificado?"
|
||||
|
||||
# renpy/common/00gui.rpy:457
|
||||
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
|
||||
new "¿Confías en el dispositivo en el que se creó el archivo guardado? Sólo debes elegir sí si eres el único usuario del dispositivo."
|
||||
|
||||
# renpy/common/00preferences.rpy:532
|
||||
old "audio when unfocused"
|
||||
new "audio cuando está desenfocado"
|
||||
|
||||
# renpy/common/00preferences.rpy:541
|
||||
old "web cache preload"
|
||||
new "precarga del caché web"
|
||||
|
||||
# renpy/common/00preferences.rpy:556
|
||||
old "voice after game menu"
|
||||
new "voz después del menú del juego"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:344
|
||||
old "Speech Bubble Editor"
|
||||
new "Editor de Globos de diálogo"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:349
|
||||
old "(hide)"
|
||||
new "(esconder)"
|
||||
|
||||
# renpy/common/00sync.rpy:70
|
||||
old "Sync downloaded."
|
||||
new "Sincronización descargada."
|
||||
|
||||
# renpy/common/00sync.rpy:190
|
||||
old "Could not connect to the Ren'Py Sync server."
|
||||
new "No se pudo conectar con el servidor de Ren'Py Sync."
|
||||
|
||||
# renpy/common/00sync.rpy:192
|
||||
old "The Ren'Py Sync server timed out."
|
||||
new "La conexión al servidor Ren'Py Sync expiró."
|
||||
|
||||
# renpy/common/00sync.rpy:194
|
||||
old "An unknown error occurred while connecting to the Ren'Py Sync server."
|
||||
new "Se ha producido un error desconocido al conectar con el servidor de Ren'Py Sync."
|
||||
|
||||
# renpy/common/00sync.rpy:267
|
||||
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
|
||||
new "El servidor de Ren'Py Sync no tiene una copia de esta sincronización. Puede que el ID de sincronización no sea válido o que se haya agotado el tiempo de espera."
|
||||
|
||||
# renpy/common/00sync.rpy:412
|
||||
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
|
||||
new "Introduce el ID de sincronización que has generado.\nNunca introduzcas un ID de sincronización que no hayas creado tú mismo."
|
||||
|
||||
# renpy/common/00sync.rpy:431
|
||||
old "The sync ID is not in the correct format."
|
||||
new "El ID de sincronización no tiene el formato correcto."
|
||||
|
||||
# renpy/common/00sync.rpy:451
|
||||
old "The sync could not be decrypted."
|
||||
new "No se ha podido desencriptar la sincronización."
|
||||
|
||||
# renpy/common/00sync.rpy:474
|
||||
old "The sync belongs to a different game."
|
||||
new "La sincronización le es de otro juego."
|
||||
|
||||
# renpy/common/00sync.rpy:479
|
||||
old "The sync contains a file with an invalid name."
|
||||
new "The sync contains a file with an invalid name."
|
||||
|
||||
# renpy/common/00sync.rpy:532
|
||||
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
|
||||
new "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
|
||||
|
||||
# renpy/common/00sync.rpy:561
|
||||
old "Enter Sync ID"
|
||||
new "Enter Sync ID"
|
||||
|
||||
# renpy/common/00sync.rpy:572
|
||||
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
|
||||
new "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:599
|
||||
old "Sync Success"
|
||||
new "Sync Success"
|
||||
|
||||
# renpy/common/00sync.rpy:602
|
||||
old "The Sync ID is:"
|
||||
new "The Sync ID is:"
|
||||
|
||||
# renpy/common/00sync.rpy:608
|
||||
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
|
||||
new "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:612
|
||||
old "Continue"
|
||||
new "Continuar"
|
||||
|
||||
# renpy/common/00sync.rpy:634
|
||||
old "Sync Error"
|
||||
new "Sync Error"
|
||||
|
||||
# TODO: Translation updated at 2024-03-31 00:11
|
||||
|
||||
translate es strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:120
|
||||
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
|
||||
new "Menú de accesibilidad. Utilice las flechas arriba y abajo para navegar, y enter para activar botones y barras."
|
||||
|
||||
# renpy/common/00director.rpy:1776
|
||||
old "Customize director.transforms to add more transforms."
|
||||
new "Edita director.transforms para añadir más transformaciones."
|
||||
|
||||
# renpy/common/00director.rpy:1821
|
||||
old "Click to set."
|
||||
new "Haz clic para fijar."
|
||||
|
||||
# renpy/common/00director.rpy:1822
|
||||
old "Customize director.transitions to add more transitions."
|
||||
new "edita director.transitions para añadir más transiciones."
|
||||
|
||||
# renpy/common/00director.rpy:1845
|
||||
old "Customize director.audio_channels to add more channels."
|
||||
new "Edita director.audio_channels para añadir más canales."
|
||||
|
||||
# renpy/common/00gui.rpy:454
|
||||
old "Are you sure you want to continue where you left off?"
|
||||
new "¿Seguro que quieres continuar donde lo dejaste?"
|
||||
|
||||
# renpy/common/00preferences.rpy:438
|
||||
old "self voicing enable"
|
||||
new "activar auto-voz"
|
||||
|
||||
# renpy/common/00preferences.rpy:440
|
||||
old "self voicing disable"
|
||||
new "desactivar auto-voz"
|
||||
|
||||
# renpy/common/00preferences.rpy:455
|
||||
old "clipboard voicing enable"
|
||||
new "activar voz de portapapeles"
|
||||
|
||||
# renpy/common/00preferences.rpy:457
|
||||
old "clipboard voicing disable"
|
||||
new "desactivar voz de portapapeles"
|
||||
|
||||
# renpy/common/00preferences.rpy:464
|
||||
old "debug voicing enable"
|
||||
new "activar voz debug"
|
||||
|
||||
# renpy/common/00preferences.rpy:466
|
||||
old "debug voicing disable"
|
||||
new "desactivar voz debug"
|
||||
|
||||
# renpy/common/00preferences.rpy:586
|
||||
old "restore window position"
|
||||
new "restaurar la posición de la ventana"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:408
|
||||
old "(clear retained bubbles)"
|
||||
new "(borrar globos retenidos)"
|
||||
|
||||
# renpy/common/00updater.rpy:505
|
||||
old "No update methods found."
|
||||
new "No se encontraton métodos de actualización."
|
||||
|
||||
# renpy/common/00updater.rpy:552
|
||||
old "Could not download file list: "
|
||||
new "No se ha podido descargar la lista de archivos: "
|
||||
|
||||
# renpy/common/00updater.rpy:555
|
||||
old "File list digest does not match."
|
||||
new "El resumen de la lista de archivos no coincide."
|
||||
|
||||
# renpy/common/00updater.rpy:2072
|
||||
old "Preparing to download the game data."
|
||||
new "Preparando la descarga de los datos del juego."
|
||||
|
||||
# renpy/common/00updater.rpy:2074
|
||||
old "Downloading the game data."
|
||||
new "Descargando datos del juego."
|
||||
|
||||
# renpy/common/00updater.rpy:2076
|
||||
old "The game data has been downloaded."
|
||||
new "Los datos del juego han sido descargados."
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
new "Se ha producido un error al intentar descargar los datos del juego:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
old "This game cannot be run until the game data has been downloaded."
|
||||
new "Este juego no puede ejecutarse hasta que se hayan descargado los datos del juego."
|
||||
|
||||
# renpy/common/00updater.rpy:2090
|
||||
old "Retry"
|
||||
new "Reintentar"
|
||||
|
||||
# TODO: Translation updated at 2024-10-12 21:43
|
||||
|
||||
translate es strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:198
|
||||
old "Self-voicing support is limited when using a touch screen."
|
||||
new "La auto-voz es limitada en dispositivos táctiles."
|
||||
|
||||
# renpy/common/00preferences.rpy:597
|
||||
old "reset"
|
||||
new "reiniciar"
|
||||
|
||||
# renpy/common/00translation.rpy:63
|
||||
old "Translation identifier: [identifier]"
|
||||
new "Identificar de traducción: [identifier]"
|
||||
|
||||
# renpy/common/00translation.rpy:84
|
||||
old " translates [tl.filename]:[tl.linenumber]"
|
||||
new " traduce [tl.filename]:[tl.linenumber]"
|
||||
|
||||
# renpy/common/00translation.rpy:101
|
||||
old "\n{color=#fff}Copied to clipboard.{/color}"
|
||||
new "\n{color=#fff}Copiado al portapapeles.{/color}"
|
||||
|
||||
|
||||
@@ -514,3 +514,87 @@ translate es strings:
|
||||
old "Skipping"
|
||||
new "Saltando"
|
||||
|
||||
# TODO: Translation updated at 2024-10-07 00:57
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/screens.rpy:294
|
||||
old "Auto"
|
||||
new "Auto"
|
||||
|
||||
# game/screens.rpy:349
|
||||
old "Chapter Select"
|
||||
new "Seleccionar Capitulo"
|
||||
|
||||
old "Chapter Select{#MainMenu}"
|
||||
new "{size=50}Seleccionar Capitulo{/size}"
|
||||
|
||||
# game/screens.rpy:499
|
||||
old "Extras"
|
||||
new "Extras"
|
||||
|
||||
# game/screens.rpy:810
|
||||
old "Upload Sync"
|
||||
new "Subir Sync"
|
||||
|
||||
# game/screens.rpy:814
|
||||
old "Download Sync"
|
||||
new "Descargar Sync"
|
||||
|
||||
# game/screens.rpy:903
|
||||
old "Developer Tools"
|
||||
new "Opciones de Desarrollador"
|
||||
|
||||
# game/screens.rpy:904
|
||||
old "Enable Debug Scores"
|
||||
new "Activar Visor de Puntos"
|
||||
|
||||
# game/screens.rpy:905
|
||||
old "Enable Chapter Select"
|
||||
new "Activar Selector de Capitulos"
|
||||
|
||||
# game/screens.rpy:909
|
||||
old "Mods"
|
||||
new "Mods"
|
||||
|
||||
# game/screens.rpy:910
|
||||
old "Show Mod Screenshots"
|
||||
new "Mostrar Screenshots de Mods"
|
||||
|
||||
# game/screens.rpy:911
|
||||
old "Enable New Mods"
|
||||
new "Activar Mods Por Defecto"
|
||||
|
||||
# game/screens.rpy:924
|
||||
old "Enable Edgescrolling"
|
||||
new "Activar Desplazamiento de Bordes"
|
||||
|
||||
# game/screens.rpy:929
|
||||
old "Menu Style"
|
||||
new "Estilo del Menú"
|
||||
|
||||
# game/screens.rpy:930
|
||||
old "Original"
|
||||
new "Original"
|
||||
|
||||
# game/screens.rpy:931
|
||||
old "Epilogue"
|
||||
new "Epílogo"
|
||||
|
||||
# game/screens.rpy:1332
|
||||
old "Mouse Wheel Up"
|
||||
new "Rueda del Mouse para arriba"
|
||||
|
||||
# game/screens.rpy:1359
|
||||
old "Start, Guide, B/Right Button"
|
||||
new "Start, Guia, B/Botón Derecho"
|
||||
|
||||
# game/screens.rpy:1792
|
||||
old "Menu"
|
||||
new "Menú"
|
||||
|
||||
old "Backspace"
|
||||
new "Tecla de borrar"
|
||||
|
||||
old "Hides mod details. Shows mod errors if there is any."
|
||||
new "Esconde los detalles de los mods. Muestra los errores relacionados a los mods"
|
||||
@@ -0,0 +1,144 @@
|
||||
# TODO: Translation updated at 2024-10-07 00:57
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "1. First Day of School"
|
||||
new "1. El Primer Día de la Escuela"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "2. Meeting the Band"
|
||||
new "2. Conociendo a la Banda"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "3. Band Practice"
|
||||
new "3. Practica de Banda"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "4. Music Class"
|
||||
new "4. La Clase de Música"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "5. Gardening Club / Heart to Heart"
|
||||
new "5. El Club de Jardinería / De corazón a corazón"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "6. Not a Date"
|
||||
new "6. No es una Cita"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "7. Concert Day"
|
||||
new "7. Día de Concierto"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "8. Study Session"
|
||||
new "8. Sesión de Estudio"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "9. VVURM DRAMA"
|
||||
new "9. VVURM DRAMA"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "10. Confession"
|
||||
new "10. Confesión"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "11. Naser drama"
|
||||
new "11. Drama de Naser"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "11.5. Announcing a Plan"
|
||||
new "11.5. Anunciando un Plan"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "12. Let's all go to the Museum"
|
||||
new "12. Vayamos al Museo"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "13. Prom is Complicated"
|
||||
new "13. El Baile de Graduación es Complicado"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "14. Bowling for Volcano High"
|
||||
new "14. Bolos para el Instituto Volcano"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "11.5. Announcing Nothing Important"
|
||||
new "11.5. Anunciando Nada Importante"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "12. Let's all go to a Concert"
|
||||
new "12. Vayamos Todos a un Concierto"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "13. Prom is For Suckers"
|
||||
new "13. El Baile de Graduación es Para Perdedores"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "14. Anon and the Infinite Sadness"
|
||||
new "14. Anon y la Tristesa Infinita"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "11.5. Announcing a Date"
|
||||
new "11.5. Anunciando una Cita"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "12. Let's all go Camping"
|
||||
new "12. Vayamos Todos a Acampar"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "13. Prom is Surprising"
|
||||
new "13. El Baile de Graduación es Sorprendente"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "14. Volcano Highschool Musical"
|
||||
new "14. El Musical del Instituto Volcano"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "11.5. Announcing a Show"
|
||||
new "11.5. Anunciando un Show"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "12. Let's all go to the Aquarium"
|
||||
new "12. Vayamos Todos al Acuario"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "13. Prom is Memorable"
|
||||
new "13. El Baile de Graduación es Memorable"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "14. Fast Times at Volcano High"
|
||||
new "14. Tiempos Rapidos en el Instituto Volcano"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "What ending do you want to lock to?"
|
||||
new "¿Qué final quieres elegír?"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 1"
|
||||
new "Final 1"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 2"
|
||||
new "Final 2"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 3"
|
||||
new "Final 3"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 4"
|
||||
new "Final 4"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Exit to main menu"
|
||||
new "Volver al menú principal"
|
||||
|
||||
# game/src/chapter_select.rpy:158
|
||||
old "Next Page"
|
||||
new "Siguiente página"
|
||||
|
||||
# game/src/chapter_select.rpy:158
|
||||
old "Go Back"
|
||||
new "Atrás"
|
||||
|
||||
@@ -126,3 +126,42 @@ translate es strings:
|
||||
|
||||
old "Special Thanks:"
|
||||
new "Agradecimientos especiales:"
|
||||
# TODO: Translation updated at 2024-10-07 00:57
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Translators (Italian):"
|
||||
new "Traducción (Italiano):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Proofreaders (Italian):"
|
||||
new "Revisado por (Italiano):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Asset help (Italian):"
|
||||
new "Ayuda extra (Italiano):"
|
||||
|
||||
# TODO: Translation updated at 2024-10-12 21:43
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Promo Art (Italian):"
|
||||
new "Arte promocional (Italiano)"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Translators (Portuguese):"
|
||||
new "Traducción (Portugués):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Proofreaders (Portuguese):"
|
||||
new "Revisado por (Portugués):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Asset help (Portuguese):"
|
||||
new "Ayuda extra (Portugués):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Promo Art (Portuguese):"
|
||||
new "Arte promocional (Portugués):"
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
# TODO: Translation updated at 2024-10-07 00:57
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/src/misc_definitions.rpy:34
|
||||
old "Anon"
|
||||
new "Anon"
|
||||
|
||||
# game/src/misc_definitions.rpy:35
|
||||
old "Fang"
|
||||
new "Fang"
|
||||
|
||||
# game/src/misc_definitions.rpy:36
|
||||
old "Lucy"
|
||||
new "Lucy"
|
||||
|
||||
# game/src/misc_definitions.rpy:37
|
||||
old "Rosa"
|
||||
new "Rosa"
|
||||
|
||||
# game/src/misc_definitions.rpy:38
|
||||
old "Stella"
|
||||
new "Stella"
|
||||
|
||||
# game/src/misc_definitions.rpy:39
|
||||
old "Naomi"
|
||||
new "Naomi"
|
||||
|
||||
# game/src/misc_definitions.rpy:40
|
||||
old "Naser"
|
||||
new "Naser"
|
||||
|
||||
# game/src/misc_definitions.rpy:41
|
||||
old "Trish"
|
||||
new "Trish"
|
||||
|
||||
# game/src/misc_definitions.rpy:43
|
||||
old "Spears"
|
||||
new "Spears"
|
||||
|
||||
# game/src/misc_definitions.rpy:44
|
||||
old "Reed"
|
||||
new "Reed"
|
||||
|
||||
# game/src/misc_definitions.rpy:54
|
||||
old "(???)"
|
||||
new "(???)"
|
||||
|
||||
# game/src/misc_definitions.rpy:55
|
||||
old "Mr. Jingo"
|
||||
new "Sr. Jingo"
|
||||
|
||||
# game/src/misc_definitions.rpy:56
|
||||
old "Maitre D"
|
||||
new "Maitre D"
|
||||
|
||||
# game/src/misc_definitions.rpy:57
|
||||
old "Moe"
|
||||
new "Moe"
|
||||
|
||||
# game/src/misc_definitions.rpy:58
|
||||
old "Vince"
|
||||
new "Vince"
|
||||
|
||||
# game/src/misc_definitions.rpy:60
|
||||
old "Riley"
|
||||
new "Riley"
|
||||
|
||||
# game/src/misc_definitions.rpy:61
|
||||
old "Tana"
|
||||
new "Tana"
|
||||
|
||||
# game/src/misc_definitions.rpy:62
|
||||
old "Trevor"
|
||||
new "Trevor"
|
||||
|
||||
# game/src/misc_definitions.rpy:73
|
||||
old "Chet"
|
||||
new "Chet"
|
||||
|
||||
@@ -0,0 +1,186 @@
|
||||
# TODO: Translation updated at 2024-10-07 00:57
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/src/mod_menu.rpy:584
|
||||
old "the root of the mods folder"
|
||||
new "la carpeta base de mods"
|
||||
|
||||
# game/src/mod_menu.rpy:597
|
||||
old " for '{color=#ffbdbd}"
|
||||
new " para '{color=#ffbdbd}"
|
||||
|
||||
# game/src/mod_menu.rpy:597
|
||||
old "{/color}' language"
|
||||
new "{/color}' del lenguaje"
|
||||
|
||||
# game/src/mod_menu.rpy:605
|
||||
old "{color=#ff1e1e}Mod in "
|
||||
new "{color=#ff1e1e}El mod "
|
||||
|
||||
# game/src/mod_menu.rpy:605
|
||||
old " failed to load: Metadata is formatted incorrectly. Check log.txt or console for more info.{/color}"
|
||||
new " no se pudo cargar: Los metadatos no están correctamente formateados. Revisa log.txt o la consola para más información.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:607
|
||||
old "{color=#ff8b1f}Metadata in "
|
||||
new "{color=#ff8b1f}Los metadatos en "
|
||||
|
||||
# game/src/mod_menu.rpy:607
|
||||
old " is formatted incorrectly. Check log.txt or console for more info.{/color}"
|
||||
new " no están correctamente formateados. Revisa log.txt o la consola para más información.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:609
|
||||
old "{color=#ff8b1f}Mod's name in "
|
||||
new "{color=#ff8b1f}El nombre del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:609
|
||||
old " is not a string.{/color}"
|
||||
new " no es un texto.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:611
|
||||
old "{color=#ff8b1f}Mod's label in "
|
||||
new "{color=#ff8b1f}La label del mod en "
|
||||
|
||||
# game/src/mod_menu.rpy:613
|
||||
old "{color=#ff8b1f}Display mode in "
|
||||
new "{color=#ff8b1f}El modo de display del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:615
|
||||
old " is not valid. Valid options are 'both', 'icon' and 'name', not "
|
||||
new " no es válido. Las opciones validas son 'both', 'icon' y 'name', no "
|
||||
|
||||
# game/src/mod_menu.rpy:615
|
||||
old ".{/color}"
|
||||
new ".{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:617
|
||||
old "{color=#ff8b1f}Mod's version in "
|
||||
new "{color=#ff8b1f}La versión del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:619
|
||||
old "{color=#ff8b1f}Mod's authors in "
|
||||
new "{color=#ff8b1f}Los autores del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:619
|
||||
old " is not a string or list.{/color}"
|
||||
new " no es un texto o lista.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:621
|
||||
old "{color=#ff8b1f}Author "
|
||||
new "{color=#ff8b1f}El autor "
|
||||
|
||||
# game/src/mod_menu.rpy:621
|
||||
old " in "
|
||||
new " de "
|
||||
|
||||
# game/src/mod_menu.rpy:623
|
||||
old "{color=#ff8b1f}Mod's links in "
|
||||
new "{color=#ff8b1f}Los links del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:625
|
||||
old "{color=#ff8b1f}Link "
|
||||
new "{color=#ff8b1f}El link "
|
||||
|
||||
# game/src/mod_menu.rpy:627
|
||||
old "{color=#ff8b1f}Mod's description in "
|
||||
new "{color=#ff8b1f}La descripción del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:629
|
||||
old "{color=#ff8b1f}Mod's mobile description in "
|
||||
new "{color=#ff8b1f}La descripción para celular del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:631
|
||||
old "{color=#ff8b1f}Mod's screenshot displayables in "
|
||||
new "{color=#ff8b1f}Las screenshots displayables del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:631
|
||||
old " is not a list.{/color}"
|
||||
new " no es una lista.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:633
|
||||
old "{color=#ff8b1f}Screenshot Displayable "
|
||||
new "{color=#ff8b1f}La screenshot displayable "
|
||||
|
||||
# game/src/mod_menu.rpy:635
|
||||
old "{color=#ff8b1f}Mod's icon displayable in "
|
||||
new "{color=#ff8b1f}El icono displayable del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:637
|
||||
old "{color=#ff8b1f}Mod's thumbnail displayable in "
|
||||
new "{color=#ff8b1f}La miniatura displayable del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:639
|
||||
old " failed to load: Does not have a mod ID.{/color}"
|
||||
new " no se pudo cargar: No tiene ID.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:641
|
||||
old " failed to load: ID is not a string.{/color}"
|
||||
new " no se pudo cargar: Su ID no es un texto.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:643
|
||||
old " failed to load: Another mod "
|
||||
new " no se pudo cargar: Otro mod "
|
||||
|
||||
# game/src/mod_menu.rpy:643
|
||||
old " has the same ID.{/color}"
|
||||
new " tiene el mismo ID.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:645
|
||||
old " is not installed correctly.\nMake sure it's structure is "
|
||||
new " no está instalado correctamente.\nAsegurate de que su estructura sea "
|
||||
|
||||
# game/src/mod_menu.rpy:645
|
||||
old " instead of "
|
||||
new " en vez de "
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old "{color=#ff8b1f}"
|
||||
new "{color=#ff8b1f}"
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old " image for mod in "
|
||||
new " imagen del mod "
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old " has an incompatible file extension. {a=https://www.renpy.org/doc/html/displayables.html#images}Only use images that Ren'Py supports!{/a}{/color}"
|
||||
new " tiene un formato incompatible. {a=https://www.renpy.org/doc/html/displayables.html#images}¡Solo usa imagenes que Renpy soporte!{/a}{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:708
|
||||
old "Reload Mods"
|
||||
new "Recargar Mods"
|
||||
|
||||
# game/src/mod_menu.rpy:888
|
||||
old "You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
|
||||
new "¡No tienes mods! \nInstala algunos en:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
|
||||
|
||||
# game/src/mod_menu.rpy:969
|
||||
old "Name: "
|
||||
new "Nombre: "
|
||||
|
||||
# game/src/mod_menu.rpy:973
|
||||
old "Version: "
|
||||
new "Versión: "
|
||||
|
||||
# game/src/mod_menu.rpy:978
|
||||
old "Authors: "
|
||||
new "Autores: "
|
||||
|
||||
# game/src/mod_menu.rpy:982
|
||||
old "Author: "
|
||||
new "Autor: "
|
||||
|
||||
# game/src/mod_menu.rpy:987
|
||||
old "Links: "
|
||||
new "Links: "
|
||||
|
||||
# game/src/mod_menu.rpy:991
|
||||
old "Link: "
|
||||
new "Link: "
|
||||
|
||||
# game/src/mod_menu.rpy:1062
|
||||
old "Installing mods is dangerous since you are running unknown code in your computer. Only install mods from sources that you trust.\n\nIf you have problems with installed mods, check the README.md in the root of the mods folder."
|
||||
new "Instalar mods es peligroso, ya que estás ejecutando código desconocido en tu ordenador. Sólo instala mods de fuentes en las que confíes.\n\nSi tienes problemas con los mods instalados, consulta el archivo README.md (Inglés) en la raíz de la carpeta de mods."
|
||||
|
||||
old "Show Errors"
|
||||
new "Mostrar Errores"
|
||||
@@ -0,0 +1,8 @@
|
||||
# TODO: Translation updated at 2024-10-07 00:57
|
||||
|
||||
translate es strings:
|
||||
|
||||
# game/src/translation.rpy:28
|
||||
old "OK"
|
||||
new "OK"
|
||||
|
||||
@@ -52,7 +52,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:120
|
||||
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
|
||||
new "Menù di Accessibilità. Usa le frecce sù e giù per navigare, e premi invio per attivare pulsanti o barre."
|
||||
new "Menu di Accessibilità. Usa le frecce su e giù per navigare, e premi invio per attivare pulsanti o barre."
|
||||
|
||||
# renpy/common/00accessibility.rpy:139
|
||||
old "Font Override"
|
||||
@@ -72,11 +72,11 @@ translate it strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:157
|
||||
old "Text Size Scaling"
|
||||
new "Scalatura Dimensioni Testo"
|
||||
new "Dimensioni Testo"
|
||||
|
||||
# renpy/common/00accessibility.rpy:169
|
||||
old "Line Spacing Scaling"
|
||||
new "Scalatura Spaziatura Righe"
|
||||
new "Spaziatura Righe"
|
||||
|
||||
# renpy/common/00accessibility.rpy:181
|
||||
old "High Contrast Text"
|
||||
@@ -112,7 +112,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:235
|
||||
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 "Le opzioni in questo menù hanno lo svopo di migliorare l'accessbilità. Potrebbero non funzionare con tutti i giochi, ed alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Questo non è un problema con il gioco o l'engine. Per avere risultati migliori quando si cambiano font, prova a tenere la grandezza del testo uguale a quella originale."
|
||||
new "Le opzioni in questo menu hanno lo scopo di migliorare l'accessibilità. Potrebbero non funzionare con tutti i giochi, ed alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Questo non è un problema con il gioco o l'engine. Per avere risultati migliori quando si cambiano font, prova a tenere la grandezza del testo uguale a quella originale."
|
||||
|
||||
# renpy/common/00action_file.rpy:26
|
||||
old "{#weekday}Monday"
|
||||
@@ -464,7 +464,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00gui.rpy:453
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Sei sicuro di voler ritornare al menù principale?\nPerderai progresso non salvato."
|
||||
new "Sei sicuro di voler ritornare al menu principale?\nPerderai progresso non salvato."
|
||||
|
||||
# renpy/common/00gui.rpy:454
|
||||
old "Are you sure you want to continue where you left off?"
|
||||
@@ -488,7 +488,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00gui.rpy:459
|
||||
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
|
||||
new "Questo salvataggio è stato creato su un altro dispositivo. File di salvataggio creati con malizia possono danneggiare il tuo computer. Ti fidi del creatore di questo salataggio e di chiunque possa aver modificato il file?"
|
||||
new "Questo salvataggio è stato creato su un altro dispositivo. File di salvataggio creati con malizia possono danneggiare il tuo computer. Ti fidi del creatore di questo salvataggio e di chiunque possa aver modificato il file?"
|
||||
|
||||
# renpy/common/00gui.rpy:460
|
||||
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
|
||||
@@ -672,11 +672,11 @@ translate it strings:
|
||||
|
||||
# renpy/common/00preferences.rpy:530
|
||||
old "renderer menu"
|
||||
new "menù renderer"
|
||||
new "menu renderer"
|
||||
|
||||
# renpy/common/00preferences.rpy:533
|
||||
old "accessibility menu"
|
||||
new "menù accessbilità"
|
||||
new "menu accessibilità"
|
||||
|
||||
# renpy/common/00preferences.rpy:536
|
||||
old "high contrast text"
|
||||
@@ -696,7 +696,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00preferences.rpy:578
|
||||
old "voice after game menu"
|
||||
new "voce dopo menù di gioco"
|
||||
new "voce dopo menu di gioco"
|
||||
|
||||
# renpy/common/00preferences.rpy:587
|
||||
old "restore window position"
|
||||
@@ -808,7 +808,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00sync.rpy:538
|
||||
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
|
||||
new "Questo caricherà i tuoi salvataggi al {a=https://sync.renpy.org}Server di Sincronizzazioen di Ren'Py{/a}.\nVuoi continuare?"
|
||||
new "Questo caricherà i tuoi salvataggi al {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}.\nVuoi continuare?"
|
||||
|
||||
# renpy/common/00sync.rpy:569
|
||||
old "Enter Sync ID"
|
||||
@@ -816,7 +816,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00sync.rpy:580
|
||||
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
|
||||
new "Questo contatterà il {a=https://sync.renpy.org}Server di Sincronizzazioen di Ren'Py{/a}."
|
||||
new "Questo contatterà il {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:609
|
||||
old "Sync Success"
|
||||
@@ -868,7 +868,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00updater.rpy:967
|
||||
old "This account does not have permission to write the update log."
|
||||
new "Questo account non ha il permesso di scrivere il log aggioramento."
|
||||
new "Questo account non ha il permesso di scrivere il log aggiornamento."
|
||||
|
||||
# renpy/common/00updater.rpy:1047
|
||||
old "Could not verify update signature."
|
||||
@@ -1016,7 +1016,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:136
|
||||
old "Enable (No Blocklist)"
|
||||
new "Abiltia (nessuna Lista di Blocco)"
|
||||
new "Abilita (nessuna Lista di Blocco)"
|
||||
|
||||
# renpy/common/00gltest.rpy:159
|
||||
old "Powersave"
|
||||
@@ -1052,7 +1052,7 @@ translate it strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:242
|
||||
old "Performance Warning"
|
||||
new "Allarme di Prestationi"
|
||||
new "Allarme di Prestazioni"
|
||||
|
||||
# renpy/common/00gltest.rpy:247
|
||||
old "This computer is using software rendering."
|
||||
@@ -1186,3 +1186,23 @@ translate it strings:
|
||||
old "Parsing the script failed."
|
||||
new "Analisi dello script fallita."
|
||||
|
||||
# TODO: Translation updated at 2024-10-07 18:25
|
||||
|
||||
translate it strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:198
|
||||
old "Self-voicing support is limited when using a touch screen."
|
||||
new "Supporto all'auto-doppiaggio è limitato quando si usa un touch screen."
|
||||
|
||||
# renpy/common/00translation.rpy:63
|
||||
old "Translation identifier: [identifier]"
|
||||
new "Identificatore traduzione: [identifier]"
|
||||
|
||||
# renpy/common/00translation.rpy:84
|
||||
old " translates [tl.filename]:[tl.linenumber]"
|
||||
new " traduce [tl.filename]:[tl.linenumber]"
|
||||
|
||||
# renpy/common/00translation.rpy:101
|
||||
old "\n{color=#fff}Copied to clipboard.{/color}"
|
||||
new "\n{color=#fff}Copiato negli appunti.{/color}"
|
||||
|
||||
|
||||
@@ -65,7 +65,7 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:369
|
||||
old "Main Menu"
|
||||
new "Menù Principale"
|
||||
new "Menu Principale"
|
||||
|
||||
# game/screens.rpy:735
|
||||
old "Version [config.version!t]\n"
|
||||
@@ -273,7 +273,7 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:1313
|
||||
old "Gamepad"
|
||||
new "Controller"
|
||||
new "Gamepad"
|
||||
|
||||
# game/screens.rpy:1333
|
||||
old "Enter"
|
||||
@@ -305,7 +305,7 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:1346
|
||||
old "Accesses the game menu. Also escapes the Gallery."
|
||||
new "Accedi al menù di gioco. Esci dalla Galleria."
|
||||
new "Accedi al menu di gioco. Esci dalla Galleria."
|
||||
|
||||
# game/screens.rpy:1349
|
||||
old "Ctrl"
|
||||
@@ -325,7 +325,7 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:1357
|
||||
old "Page Up"
|
||||
new "Pagina Sù"
|
||||
new "Pagina Su"
|
||||
|
||||
# game/screens.rpy:1358
|
||||
old "Rolls back to earlier dialogue."
|
||||
@@ -365,7 +365,7 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:1392
|
||||
old "Mouse Wheel Up\nClick Rollback Side"
|
||||
new "Rotella del Mouse Sù\nClicca Lato di Ripristino"
|
||||
new "Rotella del Mouse Su\nClicca Lato di Ripristino"
|
||||
|
||||
# game/screens.rpy:1396
|
||||
old "Mouse Wheel Down"
|
||||
@@ -393,11 +393,11 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:1421
|
||||
old "Accesses the game menu."
|
||||
new "Accedi al menù di gioco"
|
||||
new "Accedi al menu di gioco"
|
||||
|
||||
# game/screens.rpy:1424
|
||||
old "Y/Top Button"
|
||||
new "Y/Pulsante in Sù"
|
||||
new "Y/Pulsante in Su"
|
||||
|
||||
# game/screens.rpy:1427
|
||||
old "Calibrate"
|
||||
@@ -431,7 +431,7 @@ translate it strings:
|
||||
|
||||
# game/screens.rpy:293
|
||||
old "Auto"
|
||||
new "Automatico"
|
||||
new "Auto"
|
||||
|
||||
# game/screens.rpy:363
|
||||
old "Chapter Select"
|
||||
@@ -457,3 +457,49 @@ translate it strings:
|
||||
old "Menu"
|
||||
new "Menu"
|
||||
|
||||
# TODO: Translation updated at 2024-10-07 18:25
|
||||
|
||||
translate it strings:
|
||||
|
||||
# game/screens.rpy:810
|
||||
old "Upload Sync"
|
||||
new "Carica Sincronizzazione"
|
||||
|
||||
# game/screens.rpy:814
|
||||
old "Download Sync"
|
||||
new "Scarica Sincronizzazione"
|
||||
|
||||
# game/screens.rpy:910
|
||||
old "Show Mod Screenshots"
|
||||
new "Mostra Screenshot Mod"
|
||||
|
||||
# game/screens.rpy:911
|
||||
old "Enable New Mods"
|
||||
new "Abilita Nuove Mod"
|
||||
|
||||
# game/screens.rpy:924
|
||||
old "Enable Edgescrolling"
|
||||
new "Abilita Scorrimento sui Bordi"
|
||||
|
||||
# game/screens.rpy:929
|
||||
old "Menu Style"
|
||||
new "Stile Menu"
|
||||
|
||||
# game/screens.rpy:930
|
||||
old "Original"
|
||||
new "Originale"
|
||||
|
||||
# game/screens.rpy:931
|
||||
old "Epilogue"
|
||||
new "Epilogo"
|
||||
|
||||
# game/screens.rpy:1332
|
||||
old "Mouse Wheel Up"
|
||||
new "Rotella del Mouse Su"
|
||||
|
||||
# game/screens.rpy:1359
|
||||
old "Start, Guide, B/Right Button"
|
||||
new "Start, Guida, B/Bottone a Destra"
|
||||
|
||||
old "Hides mod details. Shows mod errors if there is any."
|
||||
new "Nascondi dettagli mod. Mostra errori della mod se ce ne sono."
|
||||
@@ -68,7 +68,7 @@ translate it strings:
|
||||
|
||||
# game/script.rpy:156
|
||||
old "Mr. Tsuki"
|
||||
new "Mr. Tsuki"
|
||||
new "Sig. Tsuki"
|
||||
|
||||
# game/script.rpy:157
|
||||
old "(???)"
|
||||
@@ -76,7 +76,7 @@ translate it strings:
|
||||
|
||||
# game/script.rpy:158
|
||||
old "Mr. Jingo"
|
||||
new "Mr. Jingo"
|
||||
new "Sig. Jingo"
|
||||
|
||||
# game/script.rpy:159
|
||||
old "Maitre D"
|
||||
|
||||
@@ -1330,7 +1330,7 @@ translate it chapter_1_ded7df67:
|
||||
translate it chapter_1_b32e2dd2:
|
||||
|
||||
# "Mr. Tsuki continued on, drawing what little attention there was to himself."
|
||||
"Mr. Tsuki continuò, richiamando la poca attenzione della classe su di sè."
|
||||
" Il Sig. Tsuki continuò, richiamando la poca attenzione della classe su di sè."
|
||||
|
||||
# game/script/1.first-two-days-anon-meets-fang.rpy:972
|
||||
translate it chapter_1_2128295c:
|
||||
|
||||
@@ -550,7 +550,7 @@ translate it chapter_11_fc7c6fdd:
|
||||
translate it chapter_11_9b304b29:
|
||||
|
||||
# "I have a backpack full of missed assignments, including Mr. Tsuki’s essay on the history of typefaces."
|
||||
"Ho uno zaino pieno di compiti saltati, incluso il tema per Mr. Tsuki sulla storia dei caratteri tipografici."
|
||||
"Ho uno zaino pieno di compiti saltati, incluso il tema per il Sig. Tsuki sulla storia dei caratteri tipografici."
|
||||
|
||||
# game/script/11.school-assignment-and-route-lock.rpy:467
|
||||
translate it chapter_11_32280a97:
|
||||
@@ -2212,7 +2212,7 @@ translate it lSortingThings_d7a7a4fd:
|
||||
translate it lSortingThings_644bef27:
|
||||
|
||||
# "In any other class I’d have been caught up, but Mr. Tsuki is an absolute slave driver."
|
||||
"Ho recuperato ogni altra materia, ma Mr. Tsuki è un vero schiavista."
|
||||
"Ho recuperato ogni altra materia, ma il Sig. Tsuki è un vero schiavista."
|
||||
|
||||
# game/script/11.school-assignment-and-route-lock.rpy:1508
|
||||
translate it lSortingThings_e2812839:
|
||||
|
||||
@@ -730,7 +730,7 @@ translate it chapter_13A_dd28b9c9:
|
||||
translate it chapter_13A_1188babf:
|
||||
|
||||
# "We hauled ass to Mr.Jingo’s room, where the band had stored their gear."
|
||||
"Ci siamo spinti fino alla stanza di Mr. Jingo, dove la band aveva riposto la propria attrezzatura."
|
||||
"Abbiamo mosso il culo fino alla stanza del Sig. Jingo, dove la band aveva riposto la propria attrezzatura."
|
||||
|
||||
# game/script/13A.fang-loses-it-after-losing-prom-queen.rpy:534
|
||||
translate it chapter_13A_979b978a:
|
||||
|
||||
@@ -640,7 +640,7 @@ translate it chapter_3_88099cb9:
|
||||
translate it chapter_3_7b692572:
|
||||
|
||||
# "He gives me a thumbs up and exits as well."
|
||||
"Mi da un pollice in sù ed esce anche lui."
|
||||
"Mi da un pollice in su ed esce anche lui."
|
||||
|
||||
# game/script/3.showing-up-at-band-practice-and-giving-feedback.rpy:463
|
||||
translate it chapter_3_a54cfc04:
|
||||
@@ -1258,7 +1258,7 @@ translate it chapter_3_f31ea95e:
|
||||
translate it chapter_3_8232b8b6:
|
||||
|
||||
# jingo "Good timing, Mr. Mous. Just in time for free period."
|
||||
jingo "Ottimo tempismo, Mr. Imo. Sei in tempo per l'ora libera."
|
||||
jingo "Ottimo tempismo, Sig. Imo. Sei in tempo per l'ora libera."
|
||||
|
||||
# game/script/3.showing-up-at-band-practice-and-giving-feedback.rpy:896
|
||||
translate it chapter_3_5c14abb0:
|
||||
|
||||
@@ -1132,7 +1132,7 @@ translate it lHeads_a42630c4:
|
||||
translate it lHeads_6debb489:
|
||||
|
||||
# Re "Anyways{cps=*.1}...{/cps} Mr. Jingo doesn’t care about if you use, like, partners and stuff{cps=*.1}...{/cps} He just wants the work done{cps=*.1}...{/cps}"
|
||||
Re "Comunque{cps=*.1}...{/cps} A Mr. Jingo non importa se, tipo, si lavora con gli altri e simili{cps=*.1}...{/cps} Basta che si fanno i compiti{cps=*.1}...{/cps}"
|
||||
Re "Comunque{cps=*.1}...{/cps} Al Sig. Jingo non importa se, tipo, si lavora con gli altri e simili{cps=*.1}...{/cps} Basta che si fanno i compiti{cps=*.1}...{/cps}"
|
||||
|
||||
# game/script/4.anon-needs-help-during-music-period.rpy:770
|
||||
translate it lHeads_d762c0e4:
|
||||
|
||||
@@ -154,7 +154,7 @@ translate it chapter_8_02cfda7b:
|
||||
translate it chapter_8_e3151852:
|
||||
|
||||
# "Mr. Carldewskii takes the stage with an electronic mic."
|
||||
"Mr. Carldewskii sale sul palco e prende un microfono elettrico."
|
||||
"Il Sig. Carldewskii sale sul palco e prende un microfono elettrico."
|
||||
|
||||
# game/script/8.anon-and-fang-study-together.rpy:149
|
||||
translate it chapter_8_6bc5338d:
|
||||
@@ -190,7 +190,7 @@ translate it chapter_8_b6a62594:
|
||||
translate it chapter_8_bc6eb086:
|
||||
|
||||
# "Mr. Carldewskii holds the microphone out to him but gets ignored."
|
||||
"Mr. Carldewskii gli pone il microfono ma viene ignorato."
|
||||
"Il Sig. Carldewskii gli pone il microfono ma viene ignorato."
|
||||
|
||||
# game/script/8.anon-and-fang-study-together.rpy:177
|
||||
translate it chapter_8_3b3630e5:
|
||||
@@ -1990,7 +1990,7 @@ translate it musicalchoices_ffea9ad8:
|
||||
translate it musicalchoices_b00990cc:
|
||||
|
||||
# "Well, maybe music I guess. Raptor Jesus, Mr. Jingo is a shit teacher compared to her."
|
||||
"Beh, forse musica credo. Gesù Raptor, Mr. Jingo è un insegnante di merda in confronto a lei."
|
||||
"Beh, forse musica credo. Gesù Raptor, il Sig. Jingo è un insegnante di merda in confronto a lei."
|
||||
|
||||
# game/script/8.anon-and-fang-study-together.rpy:1415
|
||||
translate it musicalchoices_1127e8e8:
|
||||
@@ -3280,7 +3280,7 @@ translate it lGetStartedOnStudy_5e206d22:
|
||||
translate it lGetStartedOnStudy_3c210331:
|
||||
|
||||
# "In the end, Mr Jingo screwed us over by making music midterm a live demonstration."
|
||||
"Alla fine, Mr. Jingo ci ha rovinati rendendo gli esami di musica una dimostrazione dal vivo."
|
||||
"Alla fine, il Sig. Jingo ci ha rovinati rendendo gli esami di musica una dimostrazione dal vivo."
|
||||
|
||||
# game/script/8.anon-and-fang-study-together.rpy:2150
|
||||
translate it lGetStartedOnStudy_e5ac4cac:
|
||||
@@ -3292,7 +3292,7 @@ translate it lGetStartedOnStudy_e5ac4cac:
|
||||
translate it lGetStartedOnStudy_799af2a8:
|
||||
|
||||
# "My GPA was secured at least for whatever the fuck I decide on."
|
||||
"Il mio GPA è garantito per permettermi di far quasiasi cazzo di cosa decida."
|
||||
"Il mio GPA è garantito per permettermi di far qualsiasi cazzo di cosa decida."
|
||||
|
||||
# game/script/8.anon-and-fang-study-together.rpy:2156
|
||||
translate it lGetStartedOnStudy_f1638dc1_2:
|
||||
|
||||
@@ -144,3 +144,18 @@ translate it strings:
|
||||
old "Asset help (Italian):"
|
||||
new "Aiuto con gli asset (Italiano):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Translators (Portuguese):"
|
||||
new "Traduttori (Portoghese):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Proofreaders (Portuguese):"
|
||||
new "Revisori (Portoghese):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Asset help (Portuguese):"
|
||||
new "Aiuto con gli asset (Portoghese):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Promo Art (Portuguese):"
|
||||
new "Arte Promozionale (Portoghese):"
|
||||
@@ -6,3 +6,189 @@ translate it strings:
|
||||
old "You have no mods! \nInstall some in:\n\"[moddir]\""
|
||||
new "Non hai mod! \nInstallane un po' in:\n\"[moddir]\""
|
||||
|
||||
# TODO: Translation updated at 2024-10-07 18:25
|
||||
|
||||
translate it strings:
|
||||
|
||||
# game/src/mod_menu.rpy:584
|
||||
old "the root of the mods folder"
|
||||
new "radice della cartella mods"
|
||||
|
||||
# game/src/mod_menu.rpy:597
|
||||
old " for '{color=#ffbdbd}"
|
||||
new " per lingua '{color=#ffbdbd}"
|
||||
|
||||
# game/src/mod_menu.rpy:597
|
||||
old "{/color}' language"
|
||||
new "{/color}'"
|
||||
|
||||
# game/src/mod_menu.rpy:605
|
||||
old "{color=#ff1e1e}Mod in "
|
||||
new "{color=#ff1e1e}Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:605
|
||||
old " failed to load: Metadata is formatted incorrectly. Check log.txt or console for more info.{/color}"
|
||||
new " non è stata caricata: Metadata è formattato in modo sbagliato. Controlla log.txt o la console per ulteriori info.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:607
|
||||
old "{color=#ff8b1f}Metadata in "
|
||||
new "{color=#ff8b1f}Metadata in "
|
||||
|
||||
# game/src/mod_menu.rpy:607
|
||||
old " is formatted incorrectly. Check log.txt or console for more info.{/color}"
|
||||
new " è formattato in modo sbagliato. Controlla log.txt o la console per ulteriori info.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:609
|
||||
old "{color=#ff8b1f}Mod's name in "
|
||||
new "{color=#ff8b1f}Il nome della mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:609
|
||||
old " is not a string.{/color}"
|
||||
new " non è una stringa.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:611
|
||||
old "{color=#ff8b1f}Mod's label in "
|
||||
new "{color=#ff8b1f}La label della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:613
|
||||
old "{color=#ff8b1f}Display mode in "
|
||||
new "{color=#ff8b1f}La modalità display in "
|
||||
|
||||
# game/src/mod_menu.rpy:615
|
||||
old " is not valid. Valid options are 'both', 'icon' and 'name', not "
|
||||
new " non è valida. Le opzioni valide sono 'entrambi', 'icona' e 'nome', non "
|
||||
|
||||
# game/src/mod_menu.rpy:615
|
||||
old ".{/color}"
|
||||
new ".{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:617
|
||||
old "{color=#ff8b1f}Mod's version in "
|
||||
new "{color=#ff8b1f}La versione della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:619
|
||||
old "{color=#ff8b1f}Mod's authors in "
|
||||
new "{color=#ff8b1f}Gli autori della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:619
|
||||
old " is not a string or list.{/color}"
|
||||
new " non è una stringa o una lista.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:621
|
||||
old "{color=#ff8b1f}Author "
|
||||
new "{color=#ff8b1f}Autore "
|
||||
|
||||
# game/src/mod_menu.rpy:621
|
||||
old " in "
|
||||
new " in "
|
||||
|
||||
# game/src/mod_menu.rpy:623
|
||||
old "{color=#ff8b1f}Mod's links in "
|
||||
new "{color=#ff8b1f}I link della Mod in"
|
||||
|
||||
# game/src/mod_menu.rpy:625
|
||||
old "{color=#ff8b1f}Link "
|
||||
new "{color=#ff8b1f}Link "
|
||||
|
||||
# game/src/mod_menu.rpy:627
|
||||
old "{color=#ff8b1f}Mod's description in "
|
||||
new "{color=#ff8b1f}La descrizione della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:629
|
||||
old "{color=#ff8b1f}Mod's mobile description in "
|
||||
new "{color=#ff8b1f}Descrizione mobile della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:631
|
||||
old "{color=#ff8b1f}Mod's screenshot displayables in "
|
||||
new "{color=#ff8b1f}Displayable screenshot della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:631
|
||||
old " is not a list.{/color}"
|
||||
new " non è una lista.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:633
|
||||
old "{color=#ff8b1f}Screenshot Displayable "
|
||||
new "{color=#ff8b1f}Displayable screenshot "
|
||||
|
||||
# game/src/mod_menu.rpy:635
|
||||
old "{color=#ff8b1f}Mod's icon displayable in "
|
||||
new "{color=#ff8b1f}Displayable icona della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:637
|
||||
old "{color=#ff8b1f}Mod's thumbnail displayable in "
|
||||
new "{color=#ff8b1f}Displayable miniatura della Mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:639
|
||||
old " failed to load: Does not have a mod ID.{/color}"
|
||||
new " non è stato caricata: Non ha un ID mod.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:641
|
||||
old " failed to load: ID is not a string.{/color}"
|
||||
new " non è stato caricata: ID non è una stringa.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:643
|
||||
old " failed to load: Another mod "
|
||||
new " non è stata caricata: Un'altra mod "
|
||||
|
||||
# game/src/mod_menu.rpy:643
|
||||
old " has the same ID.{/color}"
|
||||
new " ha lo stesso ID.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:645
|
||||
old " is not installed correctly.\nMake sure it's structure is "
|
||||
new " non è installata correttamente.\nVerifica che la struttura è "
|
||||
|
||||
# game/src/mod_menu.rpy:645
|
||||
old " instead of "
|
||||
new " invece di "
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old "{color=#ff8b1f}"
|
||||
new "{color=#ff8b1f}"
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old " image for mod in "
|
||||
new " immagine per la mod in "
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old " has an incompatible file extension. {a=https://www.renpy.org/doc/html/displayables.html#images}Only use images that Ren'Py supports!{/a}{/color}"
|
||||
new " ha un'estensione del file incompatibile. {a=https://www.renpy.org/doc/html/displayables.html#images}Usa solo immagini che Ren'Py supporta!{/a}{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:708
|
||||
old "Reload Mods"
|
||||
new "Ricarica Mod"
|
||||
|
||||
# game/src/mod_menu.rpy:888
|
||||
old "You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
|
||||
new "Non hai mod! \nInstallane un po' in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
|
||||
|
||||
# game/src/mod_menu.rpy:969
|
||||
old "Name: "
|
||||
new "Nome: "
|
||||
|
||||
# game/src/mod_menu.rpy:973
|
||||
old "Version: "
|
||||
new "Versione: "
|
||||
|
||||
# game/src/mod_menu.rpy:978
|
||||
old "Authors: "
|
||||
new "Autori: "
|
||||
|
||||
# game/src/mod_menu.rpy:982
|
||||
old "Author: "
|
||||
new "Autore: "
|
||||
|
||||
# game/src/mod_menu.rpy:987
|
||||
old "Links: "
|
||||
new "Link: "
|
||||
|
||||
# game/src/mod_menu.rpy:991
|
||||
old "Link: "
|
||||
new "Link: "
|
||||
|
||||
# game/src/mod_menu.rpy:1062
|
||||
old "Installing mods is dangerous since you are running unknown code in your computer. Only install mods from sources that you trust.\n\nIf you have problems with installed mods, check the README.md in the root of the mods folder."
|
||||
new "Installare mod è pericoloso perché stai eseguendo codice sconosciuto sul tuo computer. Installa mod solamente da fonti di cui ti fidi.\n\nSe hai problemi con le mod installate, controlla il file README.md nella radice della cartella mods."
|
||||
|
||||
old "Show Errors"
|
||||
new "Mostra Errori"
|
||||
@@ -1219,3 +1219,247 @@ translate pl strings:
|
||||
# renpy/common/00gamepad.rpy:58
|
||||
old "Press or move the '[control!s]' [kind]."
|
||||
new "Naciśnij albo przesuń '[control!s]' [kind]."
|
||||
# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
translate pl strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:121
|
||||
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
|
||||
new "Menu ułatwień dostępu. Użyj strzałek góra/dół by nawigować, wciśnij enter by aktywować przyciski/paski."
|
||||
|
||||
# renpy/common/00accessibility.rpy:198
|
||||
old "Self-voicing support is limited when using a touch screen."
|
||||
new "Funkcja lektora jest ograniczona w czasie korzystania z dotykowego ekranu."
|
||||
|
||||
# renpy/common/00action_other.rpy:744
|
||||
old "Open [text] directory."
|
||||
new "Otwórz folder [text]."
|
||||
|
||||
# renpy/common/00director.rpy:1752
|
||||
old "Click to toggle attribute, right click to toggle negative attribute."
|
||||
new "Lewy klik by przełączyć atrybut, prawy klik by przełączyć atrybut negatywny."
|
||||
|
||||
# renpy/common/00director.rpy:1775
|
||||
old "Click to set transform, right click to add to transform list."
|
||||
new "Lewy klik by ustawić transformację, prawy klik by dodać do listy transformacji."
|
||||
|
||||
# renpy/common/00director.rpy:1776
|
||||
old "Customize director.transforms to add more transforms."
|
||||
new "Dostosuj 'director.transforms' by dodać więcej transformacji."
|
||||
|
||||
# renpy/common/00director.rpy:1799
|
||||
old "Click to set, right click to add to behind list."
|
||||
new "Lewy klik by ustawić, prawy klik by dodać do listy obiektów z tyłu."
|
||||
|
||||
# renpy/common/00director.rpy:1821
|
||||
old "Click to set."
|
||||
new "Kliknij by ustawić."
|
||||
|
||||
# renpy/common/00director.rpy:1822
|
||||
old "Customize director.transitions to add more transitions."
|
||||
new "Dostosuj 'director.transitions' by dodać więcej przejść."
|
||||
|
||||
# renpy/common/00director.rpy:1845
|
||||
old "Customize director.audio_channels to add more channels."
|
||||
new "Dostosuj 'director.audio_channels' by dodać więcej kanałów."
|
||||
|
||||
# renpy/common/00gui.rpy:454
|
||||
old "Are you sure you want to continue where you left off?"
|
||||
new "Jesteś pewien, że chcesz kontynuować tam, gdzie przerwałeś?"
|
||||
|
||||
# renpy/common/00gui.rpy:459
|
||||
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
|
||||
new "Ten zapis był stworzony na innym urządzeniu. Złośliwie stworzone pliki zapisu mogą zagrozić twojemu komputerowi. Czy ufasz twórcy tego zapisu i każdemu, kto mógł zmienić ten plik?"
|
||||
|
||||
# renpy/common/00gui.rpy:460
|
||||
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
|
||||
new "Czy ufasz urządzeniu, na którym był stworzony ten zapis? Wybierz tak tylko jeżeli jesteś jedynym użytkownikiem tego urządzenia."
|
||||
|
||||
# renpy/common/00preferences.rpy:440
|
||||
old "self voicing enable"
|
||||
new "włączenie lektora"
|
||||
|
||||
# renpy/common/00preferences.rpy:442
|
||||
old "self voicing disable"
|
||||
new "wyłączenie lektora"
|
||||
|
||||
# renpy/common/00preferences.rpy:457
|
||||
old "clipboard voicing enable"
|
||||
new "włączenie tekstu do schowka"
|
||||
|
||||
# renpy/common/00preferences.rpy:459
|
||||
old "clipboard voicing disable"
|
||||
new "wyłączenie tekstu do schowka"
|
||||
|
||||
# renpy/common/00preferences.rpy:466
|
||||
old "debug voicing enable"
|
||||
new "włączenie debugowania głosu"
|
||||
|
||||
# renpy/common/00preferences.rpy:468
|
||||
old "debug voicing disable"
|
||||
new "wyłączenie debugowania głosu"
|
||||
|
||||
# renpy/common/00preferences.rpy:546
|
||||
old "audio when minimized"
|
||||
new "dźwięk przy zminimalizowaniu"
|
||||
|
||||
# renpy/common/00preferences.rpy:555
|
||||
old "audio when unfocused"
|
||||
new "dźwięk przy braku focusa"
|
||||
|
||||
# renpy/common/00preferences.rpy:564
|
||||
old "web cache preload"
|
||||
new "web cache preload"
|
||||
|
||||
# renpy/common/00preferences.rpy:579
|
||||
old "voice after game menu"
|
||||
new "głos po menu gry"
|
||||
|
||||
# renpy/common/00preferences.rpy:588
|
||||
old "restore window position"
|
||||
new "przywrócenie pozycji okna"
|
||||
|
||||
# renpy/common/00preferences.rpy:597
|
||||
old "reset"
|
||||
new "reset"
|
||||
|
||||
# renpy/common/00preferences.rpy:610
|
||||
old "main volume"
|
||||
new "głośność ogólna"
|
||||
|
||||
# renpy/common/00preferences.rpy:614
|
||||
old "mute main"
|
||||
new "wyciszenie ogólne"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:416
|
||||
old "Speech Bubble Editor"
|
||||
new "Edytor Dymków z Tekstem"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:421
|
||||
old "(hide)"
|
||||
new "(ukryj)"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:432
|
||||
old "(clear retained bubbles)"
|
||||
new "(wyczyść zachowane dymki)"
|
||||
|
||||
# renpy/common/00sync.rpy:70
|
||||
old "Sync downloaded."
|
||||
new "Sync pobrany."
|
||||
|
||||
# renpy/common/00sync.rpy:193
|
||||
old "Could not connect to the Ren'Py Sync server."
|
||||
new "Nie można połączyć z serwerem Ren'Py Sync."
|
||||
|
||||
# renpy/common/00sync.rpy:195
|
||||
old "The Ren'Py Sync server timed out."
|
||||
new "Serwer Ren'Py Sync przekroczył limit czasu na połączenie."
|
||||
|
||||
# renpy/common/00sync.rpy:197
|
||||
old "An unknown error occurred while connecting to the Ren'Py Sync server."
|
||||
new "Wystąpił nieznany błąd przy próbie połączenia z serwerem Ren'Py Sync."
|
||||
|
||||
# renpy/common/00sync.rpy:213
|
||||
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
|
||||
new "Serwer Ren'Py Sync nie posiada kopii tego synca. Jego ID może być nieprawidłowy, albo przekroczono limit czasu na odpowiedź."
|
||||
|
||||
# renpy/common/00sync.rpy:316
|
||||
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
|
||||
new "Wpisz wygenerowany przez ciebie sync ID.\nNigdy nie wpisuj ID, którego sam nie stworzyłeś."
|
||||
|
||||
# renpy/common/00sync.rpy:335
|
||||
old "The sync ID is not in the correct format."
|
||||
new "Podany sync ID ma nieprawidłowy format."
|
||||
|
||||
# renpy/common/00sync.rpy:355
|
||||
old "The sync could not be decrypted."
|
||||
new "Sync nie może zostać odszyfrowany."
|
||||
|
||||
# renpy/common/00sync.rpy:378
|
||||
old "The sync belongs to a different game."
|
||||
new "Sync należy do innej gry."
|
||||
|
||||
# renpy/common/00sync.rpy:383
|
||||
old "The sync contains a file with an invalid name."
|
||||
new "Sync zawiera plik o nieprawidłowej nazwie."
|
||||
|
||||
# renpy/common/00sync.rpy:440
|
||||
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
|
||||
new "Ta funkcja wyśle twoje pliki zapisu do {a=https://sync.renpy.org}Serwera Ren'Py Sync{/a}.\nCzy chcesz kontynuować?"
|
||||
|
||||
# renpy/common/00sync.rpy:472
|
||||
old "Enter Sync ID"
|
||||
new "Wpisz Sync ID"
|
||||
|
||||
# renpy/common/00sync.rpy:483
|
||||
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
|
||||
new "Ta funkcja połączy się z {a=https://sync.renpy.org}Serwerem Ren'Py Sync{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:513
|
||||
old "Sync Success"
|
||||
new "Sync Udany"
|
||||
|
||||
# renpy/common/00sync.rpy:516
|
||||
old "The Sync ID is:"
|
||||
new "Sync ID to:"
|
||||
|
||||
# renpy/common/00sync.rpy:522
|
||||
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
|
||||
new "Użyj tego ID do pobrania zapisów na innym urządzeniu.\nTen sync przedawni się w ciągu godziny.\nRen'Py Sync jest wspierany przez {a=https://www.renpy.org/sponsors.html}Sponsorów Ren'Py{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:526
|
||||
old "Continue"
|
||||
new "Kontynuuj"
|
||||
|
||||
# renpy/common/00sync.rpy:551
|
||||
old "Sync Error"
|
||||
new "Sync Nieudany"
|
||||
|
||||
# renpy/common/00translation.rpy:63
|
||||
old "Translation identifier: [identifier]"
|
||||
new "Identyfikator tłumaczenia: [identifier]"
|
||||
|
||||
# renpy/common/00translation.rpy:84
|
||||
old " translates [tl.filename]:[tl.linenumber]"
|
||||
new " tłumaczy [tl.filename]:[tl.linenumber]"
|
||||
|
||||
# renpy/common/00translation.rpy:101
|
||||
old "\n{color=#fff}Copied to clipboard.{/color}"
|
||||
new "\n{color=#fff}Skopiowano do schowka.{/color}"
|
||||
|
||||
# renpy/common/00updater.rpy:505
|
||||
old "No update methods found."
|
||||
new "Brak metod aktualizacji."
|
||||
|
||||
# renpy/common/00updater.rpy:552
|
||||
old "Could not download file list: "
|
||||
new "Nie udało się pobrać listy plików:"
|
||||
|
||||
# renpy/common/00updater.rpy:555
|
||||
old "File list digest does not match."
|
||||
new "Cyfrowy podpis listy plików nie jest zgodny."
|
||||
|
||||
# renpy/common/00updater.rpy:2080
|
||||
old "Preparing to download the game data."
|
||||
new "Przygotowanie do pobrania danych gry."
|
||||
|
||||
# renpy/common/00updater.rpy:2082
|
||||
old "Downloading the game data."
|
||||
new "Pobieranie danych gry."
|
||||
|
||||
# renpy/common/00updater.rpy:2084
|
||||
old "The game data has been downloaded."
|
||||
new "Dane gry zostały pobrane."
|
||||
|
||||
# renpy/common/00updater.rpy:2086
|
||||
old "An error occured when trying to download game data:"
|
||||
new "Wystąpił błąd podczas próby pobrania danych gry:"
|
||||
|
||||
# renpy/common/00updater.rpy:2091
|
||||
old "This game cannot be run until the game data has been downloaded."
|
||||
new "Gra nie może zostać uruchomiona dopóki dane gry nie zostaną pobrane."
|
||||
|
||||
# renpy/common/00updater.rpy:2098
|
||||
old "Retry"
|
||||
new "Ponów"
|
||||
|
||||
|
||||
@@ -133,7 +133,7 @@ translate pl strings:
|
||||
new "Start"
|
||||
|
||||
old "Bonus Chapters"
|
||||
new "Bonusowe rozdziały"
|
||||
new "{size=55}Bonusowe rozdziały{/size}"
|
||||
|
||||
old "Language"
|
||||
new "Język"
|
||||
@@ -507,4 +507,95 @@ translate pl strings:
|
||||
|
||||
# game/screens.rpy:1531
|
||||
old "Skipping"
|
||||
new "Pomijanie"
|
||||
new "Pomijanie"# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
translate pl strings:
|
||||
|
||||
# game/screens.rpy:294
|
||||
old "Auto"
|
||||
new "Auto"
|
||||
|
||||
# game/screens.rpy:349
|
||||
old "Chapter Select"
|
||||
new "Wybór Rozdziału."
|
||||
|
||||
# game/screens.rpy:477
|
||||
old "You have unlocked the final bonus chapter!"
|
||||
new "Odblokowałeś ostatni bonusowy rozdział!"
|
||||
|
||||
# game/screens.rpy:479
|
||||
old "You have finished all endings! Complete all bonus chapters to receive the final chapter!"
|
||||
new "Wszystkie zakończenia zostały ukończone! Ukończ wszystkie bonusowe rozdziały, by uzyskać ostatni rozdział!"
|
||||
|
||||
# game/screens.rpy:499
|
||||
old "Extras"
|
||||
new "Dodatki"
|
||||
|
||||
# game/screens.rpy:810
|
||||
old "Upload Sync"
|
||||
new "Wyślij Sync"
|
||||
|
||||
# game/screens.rpy:814
|
||||
old "Download Sync"
|
||||
new "Pobierz Sync"
|
||||
|
||||
# game/screens.rpy:903
|
||||
old "Developer Tools"
|
||||
new "Narzędzia Deweloperskie"
|
||||
|
||||
# game/screens.rpy:904
|
||||
old "Enable Debug Scores"
|
||||
new "Włącz Debugową Punktację"
|
||||
|
||||
# game/screens.rpy:905
|
||||
old "Enable Chapter Select"
|
||||
new "Włącz Menu Wyboru Rozdziału"
|
||||
|
||||
# game/screens.rpy:916
|
||||
old "Mods"
|
||||
new "Mody"
|
||||
|
||||
# game/screens.rpy:917
|
||||
old "Show Mod Screenshots"
|
||||
new "Pokaż Zrzuty z Modów"
|
||||
|
||||
# game/screens.rpy:918
|
||||
old "Enable New Mods"
|
||||
new "Włącz Nowe Mody"
|
||||
|
||||
# game/screens.rpy:924
|
||||
old "Enable Edgescrolling"
|
||||
new "Włącz przewijanie krawędzi"
|
||||
|
||||
# game/screens.rpy:929
|
||||
old "Menu Style"
|
||||
new "Styl Menu"
|
||||
|
||||
# game/screens.rpy:930
|
||||
old "Original"
|
||||
new "Oryginalny"
|
||||
|
||||
# game/screens.rpy:931
|
||||
old "Epilogue"
|
||||
new "Epilog"
|
||||
|
||||
# game/screens.rpy:1305
|
||||
old "Backspace"
|
||||
new "Backspace"
|
||||
|
||||
# game/screens.rpy:1306
|
||||
old "Hides mod details. Shows mod errors if there is any."
|
||||
new "Ukrywa szczegóły moda. Wyświetla błędy moda, jeżeli jakieś występują."
|
||||
|
||||
# game/screens.rpy:1336
|
||||
old "Mouse Wheel Up"
|
||||
new "Kółko myszy w górę"
|
||||
|
||||
# game/screens.rpy:1363
|
||||
old "Start, Guide, B/Right Button"
|
||||
new "Start, Guide, B/Prawy Klawisz"
|
||||
|
||||
# game/screens.rpy:1796
|
||||
old "Menu"
|
||||
new "Menu"
|
||||
|
||||
|
||||
@@ -6953,3 +6953,11 @@ translate pl strings:
|
||||
old "Interrupt"
|
||||
new "Przerwij"
|
||||
|
||||
# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
# game/script/5.fang-and-anon-cut-class-to-talk-on-the-roof.rpy:2963
|
||||
translate pl lpostAnonLaughReveal_94004a03_1:
|
||||
|
||||
# "Oh."
|
||||
"Och."
|
||||
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
translate pl strings:
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "1. First Day of School"
|
||||
new "1. Pierwszy Dzień w Szkole"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "2. Meeting the Band"
|
||||
new "2. Poznanie Zespołu"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "3. Band Practice"
|
||||
new "3. Próba Zespołu"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "4. Music Class"
|
||||
new "4. Lekcja Muzyki"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "5. Gardening Club / Heart to Heart"
|
||||
new "5. Klub Ogrodniczy / Szczera Rozmowa"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "6. Not a Date"
|
||||
new "6. Nie-Randka"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "7. Concert Day"
|
||||
new "7. Dzień Koncertu"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "8. Study Session"
|
||||
new "8. Wspólna Nauka"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "9. VVURM DRAMA"
|
||||
new "9. VVURM DRAMA"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "10. Confession"
|
||||
new "10. Wyznanie"
|
||||
|
||||
# game/src/chapter_select.rpy:1
|
||||
old "11. Naser drama"
|
||||
new "11. Drama z Naserem"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "11.5. Announcing a Plan"
|
||||
new "11.5 Ogłoszenie Planu"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "12. Let's all go to the Museum"
|
||||
new "12. Chodźmy wszyscy do Muzeum"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "13. Prom is Complicated"
|
||||
new "13. Studniówka jest Skomplikowana"
|
||||
|
||||
# game/src/chapter_select.rpy:15
|
||||
old "14. Bowling for Volcano High"
|
||||
new "14. Gonienie za Volcano High"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "11.5. Announcing Nothing Important"
|
||||
new "11.5. Ogłoszenie Niczego Ważnego"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "12. Let's all go to a Concert"
|
||||
new "12. Chodźmy wszyscy na Koncert"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "13. Prom is For Suckers"
|
||||
new "13. Studniówka jest dla Frajerów"
|
||||
|
||||
# game/src/chapter_select.rpy:22
|
||||
old "14. Anon and the Infinite Sadness"
|
||||
new "14. Anon i Nieskończony Smutek"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "11.5. Announcing a Date"
|
||||
new "11.5. Ogłoszenie Randki"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "12. Let's all go Camping"
|
||||
new "12. Chodźmy wszyscy na Biwak"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "13. Prom is Surprising"
|
||||
new "13. Studniówka jest Zaskakująca"
|
||||
|
||||
# game/src/chapter_select.rpy:29
|
||||
old "14. Volcano Highschool Musical"
|
||||
new "14. Volcano Highschool Musical"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "11.5. Announcing a Show"
|
||||
new "11.5 Ogłoszenie Widowiska"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "12. Let's all go to the Aquarium"
|
||||
new "12. Chodźmy wszyscy do Akwarium"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "13. Prom is Memorable"
|
||||
new "13. Studniówka jest Pamiętna"
|
||||
|
||||
# game/src/chapter_select.rpy:36
|
||||
old "14. Fast Times at Volcano High"
|
||||
new "14. Przemijający Czas w Volcano High"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "What ending do you want to lock to?"
|
||||
new "Które zakończenie chcesz ustawić?"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 1"
|
||||
new "Zakończenie 1"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 2"
|
||||
new "Zakończenie 2"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 3"
|
||||
new "Zakończenie 3"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Ending 4"
|
||||
new "Zakończenie 4"
|
||||
|
||||
# game/src/chapter_select.rpy:80
|
||||
old "Exit to main menu"
|
||||
new "Wyjdź do menu głównego"
|
||||
|
||||
# game/src/chapter_select.rpy:158
|
||||
old "Next Page"
|
||||
new "Następna Strona"
|
||||
|
||||
# game/src/chapter_select.rpy:158
|
||||
old "Go Back"
|
||||
new "Powrót"
|
||||
|
||||
@@ -128,3 +128,38 @@ translate pl strings:
|
||||
old "Special Thanks:"
|
||||
new "Specjalne podziękowania:"
|
||||
|
||||
# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
translate pl strings:
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Translators (Italian):"
|
||||
new "Tłumacze (Włoski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Proofreaders (Italian):"
|
||||
new "Spr. tłum. (Włoski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Asset help (Italian):"
|
||||
new "Pomoc (Włoski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Promo Art (Italian):"
|
||||
new "Grafika Promocyjna (Włoski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Translators (Portuguese):"
|
||||
new "Tłumacze (Portugalski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Proofreaders (Portuguese):"
|
||||
new "Spr. tłum. (Portugalski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Asset help (Portuguese):"
|
||||
new "Pomoc (Portugalski):"
|
||||
|
||||
# game/src/credits.rpy:80
|
||||
old "Promo Art (Portuguese):"
|
||||
new "Grafika Promocyjna (Portugalski):"
|
||||
@@ -0,0 +1,188 @@
|
||||
# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
translate pl strings:
|
||||
|
||||
# game/src/mod_menu.rpy:584
|
||||
old "the root of the mods folder"
|
||||
new "katalog główny modów"
|
||||
|
||||
# game/src/mod_menu.rpy:597
|
||||
old " for '{color=#ffbdbd}"
|
||||
new " dla '{color=#ffbdbd}"
|
||||
|
||||
# game/src/mod_menu.rpy:597
|
||||
old "{/color}' language"
|
||||
new "{/color}' języka"
|
||||
|
||||
# game/src/mod_menu.rpy:605
|
||||
old "{color=#ff1e1e}Mod in "
|
||||
new "{color=#ff1e1e}Ładowanie moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:605
|
||||
old " failed to load: Metadata is formatted incorrectly. Check log.txt or console for more info.{/color}"
|
||||
new " nie powiodło się: Metadane mają nieprawidłowy format. Sprawdź log.txt lub konsolę dla dodatkowych informacji.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:607
|
||||
old "{color=#ff8b1f}Metadata in "
|
||||
new "{color=#ff8b1f}Metadane w "
|
||||
|
||||
# game/src/mod_menu.rpy:607
|
||||
old " is formatted incorrectly. Check log.txt or console for more info.{/color}"
|
||||
new " mają nieprawidłowy format. Sprawdź log.txt lub konsolę dla dodatkowych informacji.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:609
|
||||
old "{color=#ff8b1f}Mod's name in "
|
||||
new "{color=#ff8b1f}Nazwa moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:609
|
||||
old " is not a string.{/color}"
|
||||
new " nie jest ciągiem znaków.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:611
|
||||
old "{color=#ff8b1f}Mod's label in "
|
||||
new "{color=#ff8b1f}Tytuł moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:613
|
||||
old "{color=#ff8b1f}Display mode in "
|
||||
new "{color=#ff8b1f}Tryb wyświetlania w "
|
||||
|
||||
# game/src/mod_menu.rpy:615
|
||||
old " is not valid. Valid options are 'both', 'icon' and 'name', not "
|
||||
new " jest niepoprawny. Poprawne warianty to 'both', 'icon' i 'name', nie "
|
||||
|
||||
# game/src/mod_menu.rpy:615
|
||||
old ".{/color}"
|
||||
new ".{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:617
|
||||
old "{color=#ff8b1f}Mod's version in "
|
||||
new "{color=#ff8b1f}Wersja moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:619
|
||||
old "{color=#ff8b1f}Mod's authors in "
|
||||
new "{color=#ff8b1f}Autorzy moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:619
|
||||
old " is not a string or list.{/color}"
|
||||
new " nie jest ciągiem znaków lub listą.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:621
|
||||
old "{color=#ff8b1f}Author "
|
||||
new "{color=#ff8b1f}Autor "
|
||||
|
||||
# game/src/mod_menu.rpy:621
|
||||
old " in "
|
||||
new " w "
|
||||
|
||||
# game/src/mod_menu.rpy:623
|
||||
old "{color=#ff8b1f}Mod's links in "
|
||||
new "{color=#ff8b1f}Linki moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:625
|
||||
old "{color=#ff8b1f}Link "
|
||||
new "{color=#ff8b1f}Link "
|
||||
|
||||
# game/src/mod_menu.rpy:627
|
||||
old "{color=#ff8b1f}Mod's description in "
|
||||
new "{color=#ff8b1f}Opis moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:629
|
||||
old "{color=#ff8b1f}Mod's mobile description in "
|
||||
new "{color=#ff8b1f}Opis moda dla urządzeń mobilnych w "
|
||||
|
||||
# game/src/mod_menu.rpy:631
|
||||
old "{color=#ff8b1f}Mod's screenshot displayables in "
|
||||
new "{color=#ff8b1f}Wyświetlane zrzuty ekranu moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:631
|
||||
old " is not a list.{/color}"
|
||||
new " nie jest listą.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:633
|
||||
old "{color=#ff8b1f}Screenshot Displayable "
|
||||
new "{color=#ff8b1f}Wyświetlany Zrzut "
|
||||
|
||||
# game/src/mod_menu.rpy:635
|
||||
old "{color=#ff8b1f}Mod's icon displayable in "
|
||||
new "{color=#ff8b1f}Wyświetlana ikona moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:637
|
||||
old "{color=#ff8b1f}Mod's thumbnail displayable in "
|
||||
new "{color=#ff8b1f}Wyświetlana miniaturka moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:639
|
||||
old " failed to load: Does not have a mod ID.{/color}"
|
||||
new " nie został załadowany: Nie posiada ID moda.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:641
|
||||
old " failed to load: ID is not a string.{/color}"
|
||||
new " nie został załadowany: ID nie jest ciągiem znaków.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:643
|
||||
old " failed to load: Another mod "
|
||||
new " nie został załadowany: Inny mod "
|
||||
|
||||
# game/src/mod_menu.rpy:643
|
||||
old " has the same ID.{/color}"
|
||||
new " posiada to samo ID.{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:645
|
||||
old " is not installed correctly.\nMake sure it's structure is "
|
||||
new " nie został poprawnie zainstalowany.\nUpewnij się, że struktura jest "
|
||||
|
||||
# game/src/mod_menu.rpy:645
|
||||
old " instead of "
|
||||
new " zamiast "
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old "{color=#ff8b1f}"
|
||||
new "{color=#ff8b1f}"
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old " image for mod in "
|
||||
new " obraz dla moda w "
|
||||
|
||||
# game/src/mod_menu.rpy:647
|
||||
old " has an incompatible file extension. {a=https://www.renpy.org/doc/html/displayables.html#images}Only use images that Ren'Py supports!{/a}{/color}"
|
||||
new " ma niewspierane rozszerzenie pliku. {a=https://www.renpy.org/doc/html/displayables.html#images}Używaj tylko rozszerzeń wspieranych przez Ren'Py!{/a}{/color}"
|
||||
|
||||
# game/src/mod_menu.rpy:708
|
||||
old "Reload Mods"
|
||||
new "Przeładuj Mody"
|
||||
|
||||
# game/src/mod_menu.rpy:889
|
||||
old "You have no mods! \nInstall some in:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
|
||||
new "Nie masz modów! \nZainstaluj jakieś w lokalizacji:\n\"{color=#abd7ff}[mod_menu_moddir]{/color}\""
|
||||
|
||||
# game/src/mod_menu.rpy:957
|
||||
old "Name: "
|
||||
new "Nazwa:"
|
||||
|
||||
# game/src/mod_menu.rpy:961
|
||||
old "Version: "
|
||||
new "Wersja: "
|
||||
|
||||
# game/src/mod_menu.rpy:966
|
||||
old "Authors: "
|
||||
new "Autorzy: "
|
||||
|
||||
# game/src/mod_menu.rpy:970
|
||||
old "Author: "
|
||||
new "Autor: "
|
||||
|
||||
# game/src/mod_menu.rpy:975
|
||||
old "Links: "
|
||||
new "Linki: "
|
||||
|
||||
# game/src/mod_menu.rpy:979
|
||||
old "Link: "
|
||||
new "Link: "
|
||||
|
||||
# game/src/mod_menu.rpy:1042
|
||||
old "Show Errors"
|
||||
new "Pokaż Błędy"
|
||||
|
||||
# game/src/mod_menu.rpy:1067
|
||||
old "Installing mods is dangerous since you are running unknown code in your computer. Only install mods from sources that you trust.\n\nIf you have problems with installed mods, check the README.md in the root of the mods folder."
|
||||
new "Instalowanie modów jest ryzykowne bo powodują wykonywanie nieznanego kodu na komputerze. Instaluj mody tylko z zaufanych źródeł.\n\nJeżeli masz problemy z zainstalowanymi modami, sprawdź plik README.md w katalogu głównym modów."
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
# TODO: Translation updated at 2024-10-10 22:47
|
||||
|
||||
translate pl strings:
|
||||
|
||||
# game/src/translation.rpy:28
|
||||
old "OK"
|
||||
new "OK"
|
||||
|
||||
|
After Width: | Height: | Size: 7.3 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 8.0 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 4.1 KiB |
|
After Width: | Height: | Size: 864 B |
|
After Width: | Height: | Size: 50 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 7.1 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 32 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 1.8 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 5.7 KiB |
|
After Width: | Height: | Size: 342 KiB |
|
After Width: | Height: | Size: 669 KiB |
@@ -0,0 +1,508 @@
|
||||
# TODO: Translation updated at 2024-02-15 16:48
|
||||
|
||||
translate pt_br strings:
|
||||
|
||||
old "Start"
|
||||
new "Iniciar"
|
||||
|
||||
old "Bonus Chapters"
|
||||
new "Capítulos Bônus"
|
||||
|
||||
old "Extras"
|
||||
new "Extras"
|
||||
|
||||
old "Help"
|
||||
new "Ajuda"
|
||||
|
||||
old "About"
|
||||
new "Sobre"
|
||||
|
||||
old "Gallery"
|
||||
new "Galeria"
|
||||
|
||||
old "Mods"
|
||||
new "Mods"
|
||||
|
||||
old "Animations"
|
||||
new "Animações"
|
||||
|
||||
old "Lewd"
|
||||
new "Cenas Sensuais"
|
||||
|
||||
old "Fullbody"
|
||||
new "Corpo inteiro"
|
||||
|
||||
old "Backgrounds"
|
||||
new "Cenários"
|
||||
|
||||
# game/screens.rpy:355
|
||||
old "History"
|
||||
new "História"
|
||||
|
||||
# game/screens.rpy:356
|
||||
old "Save"
|
||||
new "Salvar"
|
||||
|
||||
# game/screens.rpy:357
|
||||
old "Load"
|
||||
new "Carregar"
|
||||
|
||||
# game/screens.rpy:358
|
||||
old "Delete"
|
||||
new "Deletar"
|
||||
|
||||
# game/screens.rpy:359
|
||||
old "Options"
|
||||
new "Opções"
|
||||
|
||||
# game/screens.rpy:361
|
||||
old "Return"
|
||||
new "Voltar"
|
||||
|
||||
# game/screens.rpy:365
|
||||
old "End Replay"
|
||||
new "Finalizar Replay"
|
||||
|
||||
# game/screens.rpy:369
|
||||
old "Main Menu"
|
||||
new "Menu Principal"
|
||||
|
||||
# game/screens.rpy:735
|
||||
old "Version [config.version!t]\n"
|
||||
new "Versão [config.version!t]\n"
|
||||
|
||||
# game/screens.rpy:742
|
||||
old "{size=30}Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nTo find more information about the game (and its source code) please visit {a=https://www.snootgame.xyz/}our website{/a}.{/size}"
|
||||
new "{size=30}Feito com {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]\nPara mais informações sobre o jogo (e seu código fonte) por favor visite {a=https://www.snootgame.xyz/}nosso website{/a}.{/size}"
|
||||
|
||||
# game/screens.rpy:771
|
||||
old "Version [config.version!t]"
|
||||
new "Versão [config.version!t]"
|
||||
|
||||
# game/screens.rpy:773
|
||||
old "{color=#00FF00}{size=32}Update directory exists, updating is possible!\n{/size}{/color}"
|
||||
new "{color=#00FF00}{size=32}Diretório de atualização existe, a atualização é possível!\n{/size}{/color}"
|
||||
|
||||
# game/screens.rpy:775
|
||||
old "{color=#FF0000}{size=32}Update directory does not exist or is corrupt!\n{/size}{/color}"
|
||||
new "{color=#FF0000}{size=32}Diretório de atualização não existe ou está corrompido!\n{/size}{/color}"
|
||||
|
||||
# game/screens.rpy:777
|
||||
old "Auto Update:"
|
||||
new "Atualização Automática:"
|
||||
|
||||
# game/screens.rpy:778
|
||||
old "{color=#FFFFFF}{size=32}Automatic Updates: [persistent.autoup!t]{/size}{/color}"
|
||||
new "{color=#FFFFFF}{size=32}Atualizações Automáticas: [persistent.autoup!t]{/size}{/color}"
|
||||
|
||||
# game/screens.rpy:779
|
||||
old "{size=36}Toggle Automatic Updates\n{/size}"
|
||||
new "{size=36}Ativar atualizações automáticas\n{/size}"
|
||||
|
||||
# game/screens.rpy:781
|
||||
old "Update Checker:"
|
||||
new "Verificador de Atualizações:"
|
||||
|
||||
# game/screens.rpy:782
|
||||
old "{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}"
|
||||
new "{color=#FFFFFF}{size=32}[persistent.updateresult!t]{/size}{/color}"
|
||||
|
||||
# game/screens.rpy:783
|
||||
old "{size=36}Check for Update\n{/size}"
|
||||
new "{size=36}Verificar por Atualização\n{/size}"
|
||||
|
||||
# game/screens.rpy:785
|
||||
old "Updater:"
|
||||
new "Aggiornatore:"
|
||||
|
||||
# game/screens.rpy:786
|
||||
old "{color=#FFFFFF}{size=32}Server URL (click to edit):{/size}{/color}"
|
||||
new "{color=#FFFFFF}{size=32}URL do Servidor (clicca per modificare):{/size}{/color}"
|
||||
|
||||
# game/screens.rpy:801
|
||||
old "{size=36}Update Now!\n{/size}"
|
||||
new "{size=36}Atualize Agora!\n{/size}"
|
||||
|
||||
# game/screens.rpy:837
|
||||
old "Page {}"
|
||||
new "Página {}"
|
||||
|
||||
# game/screens.rpy:837
|
||||
old "Automatic saves"
|
||||
new "Salvamentos Automáticos"
|
||||
|
||||
# game/screens.rpy:837
|
||||
old "Quick saves"
|
||||
new "Salvamentos Rápidos"
|
||||
|
||||
# game/screens.rpy:882
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%A, %d %B %Y, %H:%M"
|
||||
|
||||
# game/screens.rpy:882
|
||||
old "Empty Slot"
|
||||
new "Slot Vazio"
|
||||
|
||||
# game/screens.rpy:899
|
||||
old "<"
|
||||
new "<"
|
||||
|
||||
# game/screens.rpy:902
|
||||
old "{#auto_page}A"
|
||||
new "{#auto_page}A"
|
||||
|
||||
# game/screens.rpy:905
|
||||
old "{#quick_page}Q"
|
||||
new "{#quick_page}R"
|
||||
|
||||
# game/screens.rpy:911
|
||||
old ">"
|
||||
new ">"
|
||||
|
||||
# game/screens.rpy:968
|
||||
old "Display"
|
||||
new "Exibição"
|
||||
|
||||
# game/screens.rpy:969
|
||||
old "Window"
|
||||
new "Janela"
|
||||
|
||||
# game/screens.rpy:970
|
||||
old "Fullscreen"
|
||||
new "Tela Cheia"
|
||||
|
||||
# game/screens.rpy:974
|
||||
old "Rollback Side"
|
||||
new "Lado de Retrocesso"
|
||||
|
||||
# game/screens.rpy:975
|
||||
old "Disable"
|
||||
new "Desativar"
|
||||
|
||||
# game/screens.rpy:976
|
||||
old "Left"
|
||||
new "Esquerda"
|
||||
|
||||
# game/screens.rpy:977
|
||||
old "Right"
|
||||
new "Direita"
|
||||
|
||||
# game/screens.rpy:980
|
||||
old "Naughty Stuff"
|
||||
new "Conteúdo Inapropriado"
|
||||
|
||||
# game/screens.rpy:981
|
||||
old "Enable Lewd Images"
|
||||
new "Habilitar Cenas Sensuais"
|
||||
|
||||
# game/screens.rpy:985
|
||||
old "Language"
|
||||
new "Idioma"
|
||||
|
||||
# game/screens.rpy:1003
|
||||
old "Requires Restart"
|
||||
new "Necessário Reiniciar"
|
||||
|
||||
# game/screens.rpy:1004
|
||||
old "Enable Forward-Scroll Movement"
|
||||
new "Ativar Movimento de Rolagem para Avanço"
|
||||
|
||||
# game/screens.rpy:1008
|
||||
old "Skip"
|
||||
new "Pular"
|
||||
|
||||
# game/screens.rpy:1009
|
||||
old "Unseen Text"
|
||||
new "Texto Não Visto"
|
||||
|
||||
# game/screens.rpy:1010
|
||||
old "After Choices"
|
||||
new "Após Escolhas"
|
||||
|
||||
# game/screens.rpy:1011
|
||||
old "Transitions"
|
||||
new "Transições"
|
||||
|
||||
# game/screens.rpy:1024
|
||||
old "Text Speed"
|
||||
new "Velocidade do Texto"
|
||||
|
||||
# game/screens.rpy:1028
|
||||
old "Auto-Forward Time"
|
||||
new "Tempo de Avanço-Automático"
|
||||
|
||||
# game/screens.rpy:1035
|
||||
old "Music Volume"
|
||||
new "Volume da Música"
|
||||
|
||||
# game/screens.rpy:1038
|
||||
old "Reset"
|
||||
new "Padrão"
|
||||
|
||||
# game/screens.rpy:1043
|
||||
old "Sound Volume"
|
||||
new "Volume do Som"
|
||||
|
||||
# game/screens.rpy:1049
|
||||
old "Test"
|
||||
new "Testar"
|
||||
|
||||
# game/screens.rpy:1051
|
||||
old "UI Sounds Volume"
|
||||
new "Volume de Sons da Interface"
|
||||
|
||||
# game/screens.rpy:1059
|
||||
old "Voice Volume"
|
||||
new "Volume da Voz"
|
||||
|
||||
# game/screens.rpy:1070
|
||||
old "Mute All"
|
||||
new "Silenciar Tudo"
|
||||
|
||||
# game/screens.rpy:1189
|
||||
old "The dialogue history is empty."
|
||||
new "O histórico de diálogo está vazio."
|
||||
|
||||
# game/screens.rpy:1310
|
||||
old "Keyboard"
|
||||
new "Teclado"
|
||||
|
||||
# game/screens.rpy:1311
|
||||
old "Mouse"
|
||||
new "Mouse"
|
||||
|
||||
# game/screens.rpy:1313
|
||||
old "Gamepad"
|
||||
new "Gamepad"
|
||||
|
||||
# game/screens.rpy:1333
|
||||
old "Enter"
|
||||
new "Enter"
|
||||
|
||||
# game/screens.rpy:1334
|
||||
old "Advances dialogue and activates the interface."
|
||||
new "Avança diálogo e ativa interface."
|
||||
|
||||
# game/screens.rpy:1337
|
||||
old "Space"
|
||||
new "Espaço"
|
||||
|
||||
# game/screens.rpy:1338
|
||||
old "Advances dialogue without selecting choices."
|
||||
new "Avança diálogo sem selecionar escolhas."
|
||||
|
||||
# game/screens.rpy:1341
|
||||
old "Arrow Keys"
|
||||
new "Setas Direcionais"
|
||||
|
||||
# game/screens.rpy:1342
|
||||
old "Navigate the interface."
|
||||
new "Navega a interface."
|
||||
|
||||
# game/screens.rpy:1345
|
||||
old "Escape"
|
||||
new "Esc"
|
||||
|
||||
# game/screens.rpy:1346
|
||||
old "Accesses the game menu. Also escapes the Gallery."
|
||||
new "Acessa o menu do jogo. Também sai da Galeria."
|
||||
|
||||
# game/screens.rpy:1349
|
||||
old "Ctrl"
|
||||
new "Ctrl"
|
||||
|
||||
# game/screens.rpy:1350
|
||||
old "Skips dialogue while held down."
|
||||
new "Pula diálogo enquanto pressionado."
|
||||
|
||||
# game/screens.rpy:1353
|
||||
old "Tab"
|
||||
new "Tab"
|
||||
|
||||
# game/screens.rpy:1354
|
||||
old "Toggles dialogue skipping."
|
||||
new "Alterna o pulo de diálogo."
|
||||
|
||||
# game/screens.rpy:1357
|
||||
old "Page Up"
|
||||
new "Pagina Up"
|
||||
|
||||
# game/screens.rpy:1358
|
||||
old "Rolls back to earlier dialogue."
|
||||
new "Volta para o diálogo anterior."
|
||||
|
||||
# game/screens.rpy:1361
|
||||
old "Page Down"
|
||||
new "Page Down"
|
||||
|
||||
# game/screens.rpy:1362
|
||||
old "Rolls forward to later dialogue."
|
||||
new "Avança para o próximo diálogo."
|
||||
|
||||
# game/screens.rpy:1366
|
||||
old "Hides the user interface."
|
||||
new "Esconde a interface de usuário."
|
||||
|
||||
# game/screens.rpy:1370
|
||||
old "Takes a screenshot."
|
||||
new "Realiza captura de tela."
|
||||
|
||||
# game/screens.rpy:1374
|
||||
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
|
||||
new "Ativa {a=https://www.renpy.org/l/voicing}narrador{/a} de assistência."
|
||||
|
||||
# game/screens.rpy:1380
|
||||
old "Left Click"
|
||||
new "Botão Esquerdo"
|
||||
|
||||
# game/screens.rpy:1384
|
||||
old "Middle Click"
|
||||
new "Botão do Meio"
|
||||
|
||||
# game/screens.rpy:1388
|
||||
old "Right Click"
|
||||
new "Botão Direito"
|
||||
|
||||
# game/screens.rpy:1392
|
||||
old "Mouse Wheel Up\nClick Rollback Side"
|
||||
new "Scroll para Cima\nClique para Lado de Retrocesso"
|
||||
|
||||
# game/screens.rpy:1396
|
||||
old "Mouse Wheel Down"
|
||||
new "Scroll para Baixo"
|
||||
|
||||
# game/screens.rpy:1403
|
||||
old "Right Trigger\nA/Bottom Button"
|
||||
new "Gatilho Direito\nA/Botão Inferior"
|
||||
|
||||
# game/screens.rpy:1407
|
||||
old "Left Trigger\nLeft Shoulder"
|
||||
new "Gatilho Esquerdo\nBotão L"
|
||||
|
||||
# game/screens.rpy:1411
|
||||
old "Right Shoulder"
|
||||
new "Botão R"
|
||||
|
||||
# game/screens.rpy:1416
|
||||
old "D-Pad, Sticks"
|
||||
new "D-Pad, Analógico"
|
||||
|
||||
# game/screens.rpy:1420
|
||||
old "Start, Guide"
|
||||
new "Start, Guide"
|
||||
|
||||
# game/screens.rpy:1421
|
||||
old "Accesses the game menu."
|
||||
new "Acessa o menu do jogo."
|
||||
|
||||
# game/screens.rpy:1424
|
||||
old "Y/Top Button"
|
||||
new "Y/Botão Superior"
|
||||
|
||||
# game/screens.rpy:1427
|
||||
old "Calibrate"
|
||||
new "Calibrar"
|
||||
|
||||
# game/screens.rpy:1490
|
||||
old "Yes"
|
||||
new "Sim"
|
||||
|
||||
# game/screens.rpy:1491
|
||||
old "No"
|
||||
new "Não"
|
||||
|
||||
# game/screens.rpy:1537
|
||||
old "Skipping"
|
||||
new "Pulando"
|
||||
|
||||
old "You have unlocked all bonus chapters!"
|
||||
new "Você desbloqueou todos os capítulos bônus!"
|
||||
|
||||
old "You have unlocked the final bonus chapter!"
|
||||
new "Você desbloqueou o último capítulo bônus!"
|
||||
|
||||
old "You have finished all endings! Complete all bonus chapters to receive the final chapter!"
|
||||
new "Você completou todos os finais! Complete todos os capítulos bônus para receber o último capítulo!"
|
||||
|
||||
old "You have unlocked new bonus chapters, complete unseen endings to see more!"
|
||||
new "Você desbloqueou capítulos bônus novos, complete os finais não vistos para ver mais!"
|
||||
|
||||
translate pt_br strings:
|
||||
|
||||
# game/screens.rpy:293
|
||||
old "Auto"
|
||||
new "Auto"
|
||||
|
||||
# game/screens.rpy:363
|
||||
old "Chapter Select"
|
||||
new "Seleção de Capítulos"
|
||||
|
||||
old "Chapter Select{#MainMenu}"
|
||||
new "{size=50}Seleção de Capítulos{/size}"
|
||||
|
||||
# game/screens.rpy:1004
|
||||
old "Developer Tools"
|
||||
new "Ferramentas de Desenvolvedor"
|
||||
|
||||
# game/screens.rpy:1005
|
||||
old "Enable Debug Scores"
|
||||
new "Ativar Mostrador de Pontos"
|
||||
|
||||
# game/screens.rpy:1006
|
||||
old "Enable Chapter Select"
|
||||
new "Ativar Seleção de Capítulos"
|
||||
|
||||
# game/screens.rpy:1787
|
||||
old "Back"
|
||||
new "Voltar"
|
||||
|
||||
# game/screens.rpy:1787
|
||||
old "Menu"
|
||||
new "Menu"
|
||||
|
||||
# TODO: Translation updated at 2024-10-07 18:25
|
||||
|
||||
translate pt_br strings:
|
||||
|
||||
# game/screens.rpy:810
|
||||
old "Upload Sync"
|
||||
new "Sincronizar Save"
|
||||
|
||||
# game/screens.rpy:814
|
||||
old "Download Sync"
|
||||
new "Baixar Save Sincronizado"
|
||||
|
||||
# game/screens.rpy:910
|
||||
old "Show Mod Screenshots"
|
||||
new "Exibir Screenshots de Mods"
|
||||
|
||||
# game/screens.rpy:911
|
||||
old "Enable New Mods"
|
||||
new "Ativar Novos Mods"
|
||||
|
||||
# game/screens.rpy:924
|
||||
old "Enable Edgescrolling"
|
||||
new "Ativar Rolagem"
|
||||
|
||||
# game/screens.rpy:929
|
||||
old "Menu Style"
|
||||
new "Estilo do Menu"
|
||||
|
||||
# game/screens.rpy:930
|
||||
old "Original"
|
||||
new "Original"
|
||||
|
||||
# game/screens.rpy:931
|
||||
old "Epilogue"
|
||||
new "Epílogo"
|
||||
|
||||
# game/screens.rpy:1332
|
||||
old "Mouse Wheel Up"
|
||||
new "Scroll para Cima"
|
||||
|
||||
# game/screens.rpy:1359
|
||||
old "Start, Guide, B/Right Button"
|
||||
new "Start, Guide, B/Botão da Direita"
|
||||
|
||||
old "Hides mod details. Shows mod errors if there is any."
|
||||
new "Esconde detalhes do mod. Exibe erros do mod, \ncaso tenha algum."
|
||||
@@ -0,0 +1,142 @@
|
||||
# TODO: Translation updated at 2024-04-25 18:24
|
||||
|
||||
translate pt_br strings:
|
||||
|
||||
# game/script.rpy:137
|
||||
old "Anon"
|
||||
new "Anon"
|
||||
|
||||
# game/script.rpy:138
|
||||
old "Fang"
|
||||
new "Fang"
|
||||
|
||||
# game/script.rpy:139
|
||||
old "Lucy"
|
||||
new "Lucy"
|
||||
|
||||
# game/script.rpy:140
|
||||
old "Rosa"
|
||||
new "Rosa"
|
||||
|
||||
# game/script.rpy:141
|
||||
old "Stella"
|
||||
new "Stella"
|
||||
|
||||
# game/script.rpy:142
|
||||
old "Naomi"
|
||||
new "Naomi"
|
||||
|
||||
# game/script.rpy:143
|
||||
old "Naser"
|
||||
new "Naser"
|
||||
|
||||
# game/script.rpy:144
|
||||
old "Trish"
|
||||
new "Trish"
|
||||
|
||||
# game/script.rpy:145
|
||||
old "Attendant"
|
||||
new "Atendente"
|
||||
|
||||
# game/script.rpy:146
|
||||
old "Spears"
|
||||
new "Spears"
|
||||
|
||||
# game/script.rpy:147
|
||||
old "Reed"
|
||||
new "Reed"
|
||||
|
||||
# game/script.rpy:148
|
||||
old "Driver"
|
||||
new "Motorista"
|
||||
|
||||
# game/script.rpy:150
|
||||
old "Fang's Mom"
|
||||
new "Mãe de Fang"
|
||||
|
||||
# game/script.rpy:151
|
||||
old "Fang's Dad"
|
||||
new "Pai de Fang"
|
||||
|
||||
# game/script.rpy:153
|
||||
old "Lucy's Mom"
|
||||
new "Mãe da Lucy"
|
||||
|
||||
# game/script.rpy:154
|
||||
old "Lucy's Dad"
|
||||
new "Pai da Lucy"
|
||||
|
||||
# game/script.rpy:156
|
||||
old "Mr. Tsuki"
|
||||
new "Sr. Tsuki"
|
||||
|
||||
# game/script.rpy:157
|
||||
old "(???)"
|
||||
new "(???)"
|
||||
|
||||
# game/script.rpy:158
|
||||
old "Mr. Jingo"
|
||||
new "Sr. Jingo"
|
||||
|
||||
# game/script.rpy:159
|
||||
old "Maitre D"
|
||||
new "Maître"
|
||||
|
||||
# game/script.rpy:160
|
||||
old "Moe"
|
||||
new "Moe"
|
||||
|
||||
# game/script.rpy:161
|
||||
old "Vince"
|
||||
new "Vince"
|
||||
|
||||
# game/script.rpy:162
|
||||
old "Waitress"
|
||||
new "Garçonete"
|
||||
|
||||
# game/script.rpy:163
|
||||
old "Riley"
|
||||
new "Riley"
|
||||
|
||||
# game/script.rpy:164
|
||||
old "Tana"
|
||||
new "Tana"
|
||||
|
||||
# game/script.rpy:165
|
||||
old "Trevor"
|
||||
new "Trevor"
|
||||
|
||||
# game/script.rpy:167
|
||||
old "Anon and Fang"
|
||||
new "Anon e Fang"
|
||||
|
||||
# game/script.rpy:168
|
||||
old "Street Vendor"
|
||||
new "Vendedora de Rua"
|
||||
|
||||
# game/script.rpy:171
|
||||
old "Fang Reed & Trish"
|
||||
new "Fang Reed & Trish"
|
||||
|
||||
# game/script.rpy:172
|
||||
old "Fang and Trish"
|
||||
new "Fang e Trish"
|
||||
|
||||
# game/script.rpy:173
|
||||
old "Naser and Naomi"
|
||||
new "Naser e Naomi"
|
||||
|
||||
# game/script.rpy:174
|
||||
old "Team member"
|
||||
new "Membro do time"
|
||||
|
||||
# game/script.rpy:175
|
||||
old "Everyone"
|
||||
new "Todo mundo"
|
||||
|
||||
# game/script.rpy:176
|
||||
old "Chet"
|
||||
new "Chet"
|
||||
|
||||
old "Mr. Carldewskii"
|
||||
new "Sr. Carldewskii"
|
||||