New Russo Translation
This commit is contained in:
parent
d4c32e117c
commit
c12a1c7cbf
Binary file not shown.
Binary file not shown.
Before Width: | Height: | Size: 772 B After Width: | Height: | Size: 1.6 KiB |
@ -1,305 +1,311 @@
|
||||
# Don't remove init offset as that breaks translations for some reason
|
||||
init 999 python:
|
||||
|
||||
#don't do a halo infinite moment
|
||||
#hard code the header & footer
|
||||
#then iterate the list_credits
|
||||
|
||||
list_og_credits = {
|
||||
_('Coded By:'): [
|
||||
'/dev/non',
|
||||
"[[Untitled] Anon",
|
||||
'Schizodev Anon',
|
||||
'Starmanon',
|
||||
'Nutbuster Anon',
|
||||
'Inhumanon',
|
||||
'Spigot the Bear Anon'
|
||||
],
|
||||
_('Written by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'/trash/ Anon',
|
||||
'FreemAnon',
|
||||
'Ccp Anon',
|
||||
'Kokichi Anon',
|
||||
'Alex Anon',
|
||||
'Punished Anon',
|
||||
'Finn Anon'
|
||||
],
|
||||
_('Story by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'Alex Anon',
|
||||
'Singularity Anon',
|
||||
'Tombstone Anon'
|
||||
],
|
||||
_('Production Designer'): [
|
||||
'Alex Anon'
|
||||
],
|
||||
_('Artwork by:'): [
|
||||
'Alex Anon',
|
||||
'Mormon Anon',
|
||||
'Ccp Anon',
|
||||
'Aome Anon',
|
||||
'/trash/ Anon',
|
||||
'Skeleton Anon',
|
||||
'eyeh Xinnix Anon',
|
||||
'Brit Anon',
|
||||
'Dark-N-Wolf Anon',
|
||||
'Hotel Anon',
|
||||
'Multi Anon',
|
||||
'Ionanon'
|
||||
],
|
||||
_('Additional Artwork by:'): [
|
||||
_('Backup Anon 1'),
|
||||
_('Backup Anon 2'),
|
||||
_('Backup Anon 3'),
|
||||
_('Backup Anon 4'),
|
||||
_('Backup Anon 5'),
|
||||
_('Backup Anon 6'),
|
||||
],
|
||||
_("\"Love theme\" by:"): [
|
||||
_('Only Person In The Team With A\nPortfolio/Experience Anon'),
|
||||
],
|
||||
_('Music By'): [
|
||||
'Shampoo Anon',
|
||||
'Melo Anon'
|
||||
],
|
||||
_('Egg Hunt Contest\nWinner:'): [
|
||||
'Olivia Anon'
|
||||
],
|
||||
_('Character Design\nContest Winner:'): [
|
||||
'Mono Anon',
|
||||
],
|
||||
_('Special Thanks:'): [
|
||||
'Commission Anon',
|
||||
]
|
||||
}
|
||||
# The difference between adding in the special thanks and not I have found is about 480px, just to note down.
|
||||
# group translators by language, not by role
|
||||
|
||||
list_translator_credits = {
|
||||
_('Translators (Spanish):'): [
|
||||
'Queso2033 Anon',
|
||||
'TheShadowTrAnon'
|
||||
],
|
||||
_('Proofreaders (Spanish):'): [
|
||||
'ElBan Anón',
|
||||
'GMAnon'
|
||||
],
|
||||
_('Asset help (Spanish):'): [
|
||||
'Arkiangelo Anon'
|
||||
],
|
||||
_('Translators (Russian):'): [
|
||||
'2ch.hk_fur Anon',
|
||||
'rutracker Anon'
|
||||
],
|
||||
_('Proofreaders (Russian):'): [
|
||||
'rutracker Anon'
|
||||
],
|
||||
_('Asset help (Russian):'): [
|
||||
'rutracker Anon'
|
||||
]
|
||||
}
|
||||
|
||||
textlist = []
|
||||
|
||||
alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5}
|
||||
|
||||
#sizes in px
|
||||
SIZE_SNOT_GAMES = 68*3+10
|
||||
SIZE_TITLE = 32*3+10
|
||||
SIZE_ENTRY = 22*3+10
|
||||
SIZE_TL = 22*2+10
|
||||
SIZE_ENDER = 52*3+10
|
||||
|
||||
#there is line_spacing but don't usei t
|
||||
textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs))
|
||||
textlist.append(Null(1, 16*1))
|
||||
textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*18))
|
||||
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*12))
|
||||
|
||||
for key, arr in list_og_credits.items():
|
||||
textlist.append(Text(key, size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += __(item) + '\n'
|
||||
textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*2))
|
||||
|
||||
#smaller font and gridonate for translators
|
||||
TL_WIDTH = 2
|
||||
TL_HEIGHT = (len(list_translator_credits)+1)//2
|
||||
|
||||
tgrid = []
|
||||
|
||||
for key, arr in list_translator_credits.items():
|
||||
vb = []
|
||||
vb.append(Text(key, size=SIZE_ENTRY, **alignargs))
|
||||
vb.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += item + '\n'
|
||||
vb.append(Text(concatstr, size=SIZE_TL, **alignargs))
|
||||
vb.append(Null(1, 16*2))
|
||||
vb = VBox(*vb)
|
||||
tgrid.append(vb)
|
||||
|
||||
for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT):
|
||||
tgrid.append(Null())
|
||||
pass
|
||||
|
||||
tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid)
|
||||
|
||||
textlist.append(tgrid)
|
||||
textlist.append(Null(1, 16*12)) #check
|
||||
|
||||
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
|
||||
textlist.append(Null(1, 16*4))
|
||||
textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs))
|
||||
|
||||
credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5)
|
||||
renpy.image('credits_hbox', credits_hbox)
|
||||
#
|
||||
|
||||
|
||||
label test_credits:
|
||||
scene black
|
||||
stop ambient
|
||||
#play music '<loop 12.809525>audio/abloop.wav'
|
||||
"test"
|
||||
window auto hide
|
||||
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
|
||||
#pause 50
|
||||
#queue music "audio/abend.wav" noloop
|
||||
|
||||
|
||||
pause
|
||||
scene black with Dissolve(3)
|
||||
|
||||
|
||||
# Credits definitions moved here so everything that needs to be changed is is one place.
|
||||
|
||||
# Anytime the credits changes to include more translators, you're just going to have to guess what the correct
|
||||
# value to offset everything is again. Mainly concerning values that control the panning destination of credits text,
|
||||
# and the height of the credits text itself
|
||||
# My recommendation is to imagine a square on top of the "T" in "THE END"
|
||||
# The square is as long as one of those characters, and the top of the square should touch the top of the screen
|
||||
# when the credits stop scrolling
|
||||
# Someone please come up with an exact formula pls
|
||||
#too much lore above; make it look good within reason
|
||||
|
||||
# Remember, ending sketch is always +550 of when the Pan stops
|
||||
|
||||
image credits_coverup:
|
||||
"black"
|
||||
crop (0, 0, 1920, 1080)
|
||||
|
||||
image b_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "b_sketch"
|
||||
)
|
||||
image c_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "c_sketch"
|
||||
)
|
||||
image d_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "d_sketch"
|
||||
)
|
||||
|
||||
|
||||
label lending:
|
||||
call get_ending from _call_get_ending_4
|
||||
if _return == 4:
|
||||
pause 0.5
|
||||
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
|
||||
subpixel True
|
||||
xalign 0.5
|
||||
yalign 0.5
|
||||
linear 6 zoom 1.2
|
||||
pause 1.75
|
||||
show d_credits_text with dissolve:
|
||||
subpixel True
|
||||
crop (0, 670, 1920, 1080)
|
||||
ypos 670
|
||||
xalign 0.5
|
||||
linear 3 zoom 1.1
|
||||
pause 2
|
||||
|
||||
hide d_credits_text
|
||||
hide snootgame_big
|
||||
with dissolve
|
||||
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65):
|
||||
subpixel True
|
||||
show d_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
show credits_coverup at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
|
||||
pause 50
|
||||
queue music 'audio/OST/amberlight brillance live end.ogg'
|
||||
queue music "<silence 1.0>" loop
|
||||
elif _return == 3:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
else:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show b_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show b_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text:
|
||||
subpixel True
|
||||
show b_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
pause
|
||||
stop music fadeout 5
|
||||
scene black with Dissolve(3)
|
||||
pause 2
|
||||
if tradwife:
|
||||
scene c10 with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
elif anonscore >= 4 and fangscore >= 4:
|
||||
scene golden ending with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
return
|
||||
# Don't remove init offset as that breaks translations for some reason
|
||||
init 999 python:
|
||||
|
||||
#don't do a halo infinite moment
|
||||
#hard code the header & footer
|
||||
#then iterate the list_credits
|
||||
|
||||
list_og_credits = {
|
||||
_('Coded By:'): [
|
||||
'/dev/non',
|
||||
"[[Untitled] Anon",
|
||||
'Schizodev Anon',
|
||||
'Starmanon',
|
||||
'Nutbuster Anon',
|
||||
'Inhumanon',
|
||||
'Spigot the Bear Anon'
|
||||
],
|
||||
_('Written by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'/trash/ Anon',
|
||||
'FreemAnon',
|
||||
'Ccp Anon',
|
||||
'Kokichi Anon',
|
||||
'Alex Anon',
|
||||
'Punished Anon',
|
||||
'Finn Anon'
|
||||
],
|
||||
_('Story by:'): [
|
||||
'AVGN Anon',
|
||||
'Coomer Anon',
|
||||
'Alex Anon',
|
||||
'Singularity Anon',
|
||||
'Tombstone Anon'
|
||||
],
|
||||
_('Production Designer'): [
|
||||
'Alex Anon'
|
||||
],
|
||||
_('Artwork by:'): [
|
||||
'Alex Anon',
|
||||
'Mormon Anon',
|
||||
'Ccp Anon',
|
||||
'Aome Anon',
|
||||
'/trash/ Anon',
|
||||
'Skeleton Anon',
|
||||
'eyeh Xinnix Anon',
|
||||
'Brit Anon',
|
||||
'Dark-N-Wolf Anon',
|
||||
'Hotel Anon',
|
||||
'Multi Anon',
|
||||
'Ionanon'
|
||||
],
|
||||
_('Additional Artwork by:'): [
|
||||
_('Backup Anon 1'),
|
||||
_('Backup Anon 2'),
|
||||
_('Backup Anon 3'),
|
||||
_('Backup Anon 4'),
|
||||
_('Backup Anon 5'),
|
||||
_('Backup Anon 6'),
|
||||
],
|
||||
_("\"Love theme\" by:"): [
|
||||
_('Only Person In The Team With A\nPortfolio/Experience Anon'),
|
||||
],
|
||||
_('Music By'): [
|
||||
'Shampoo Anon',
|
||||
'Melo Anon'
|
||||
],
|
||||
_('Egg Hunt Contest\nWinner:'): [
|
||||
'Olivia Anon'
|
||||
],
|
||||
_('Character Design\nContest Winner:'): [
|
||||
'Mono Anon',
|
||||
],
|
||||
_('Special Thanks:'): [
|
||||
'Commission Anon',
|
||||
]
|
||||
}
|
||||
# The difference between adding in the special thanks and not I have found is about 480px, just to note down.
|
||||
|
||||
list_translator_credits = {
|
||||
_('Translators (Spanish):'): [
|
||||
'Queso2033 Anon',
|
||||
'TheShadowTrAnon'
|
||||
],
|
||||
_('Translators (Russian):'): [
|
||||
'Gexahord',
|
||||
'strelook21',
|
||||
'YtkaGen',
|
||||
'DatFeelFrog',
|
||||
'CMDR Andrea Dornan'
|
||||
],
|
||||
_('Proofreaders (Spanish):'): [
|
||||
'ElBan Anón',
|
||||
'GMAnon'
|
||||
],
|
||||
_('Proofreaders (Russian):'): [
|
||||
'Gexahord',
|
||||
'strelook21',
|
||||
'YtkaGen',
|
||||
'DatFeelFrog'
|
||||
],
|
||||
_('Asset help (Spanish):'): [
|
||||
'Arkiangelo Anon'
|
||||
],
|
||||
_('Asset help (Russian):'): [
|
||||
'Gexahord',
|
||||
'YtkaGen',
|
||||
'2ch Anon'
|
||||
]
|
||||
}
|
||||
|
||||
textlist = []
|
||||
|
||||
alignargs = {'xalign': 0.5, 'yalign': 0.5, 'text_align': 0.5}
|
||||
|
||||
#sizes in px
|
||||
SIZE_SNOT_GAMES = 68*3+10
|
||||
SIZE_TITLE = 32*3+10
|
||||
SIZE_ENTRY = 22*3+10
|
||||
SIZE_TL = 22*2+10
|
||||
SIZE_ENDER = 52*3+10
|
||||
|
||||
#there is line_spacing but don't usei t
|
||||
textlist.append(Text(_("Snoot Game"), size=SIZE_SNOT_GAMES, **alignargs))
|
||||
textlist.append(Null(1, 16*1))
|
||||
textlist.append(Text(_("By CaveManon"), size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*18))
|
||||
textlist.append(Text(_("developed in Ren'py"), size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*12))
|
||||
|
||||
for key, arr in list_og_credits.items():
|
||||
textlist.append(Text(key, size=SIZE_TITLE, **alignargs))
|
||||
textlist.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += __(item) + '\n'
|
||||
textlist.append(Text(concatstr, size=SIZE_ENTRY, **alignargs))
|
||||
textlist.append(Null(1, 16*2))
|
||||
|
||||
#smaller font and gridonate for translators
|
||||
TL_WIDTH = 2
|
||||
TL_HEIGHT = (len(list_translator_credits)+1)//2
|
||||
|
||||
tgrid = []
|
||||
|
||||
for key, arr in list_translator_credits.items():
|
||||
vb = []
|
||||
vb.append(Text(key, size=SIZE_ENTRY, **alignargs))
|
||||
vb.append(Null(1, 16*6))
|
||||
concatstr = ""
|
||||
for item in arr:
|
||||
concatstr += item + '\n'
|
||||
vb.append(Text(concatstr, size=SIZE_TL, **alignargs))
|
||||
vb.append(Null(1, 16*2))
|
||||
vb = VBox(*vb)
|
||||
tgrid.append(vb)
|
||||
|
||||
for x in range(len(tgrid), TL_WIDTH*TL_HEIGHT):
|
||||
tgrid.append(Null())
|
||||
pass
|
||||
|
||||
tgrid = Grid(TL_WIDTH, TL_HEIGHT, *tgrid)
|
||||
|
||||
textlist.append(tgrid)
|
||||
textlist.append(Null(1, 16*12)) #check
|
||||
|
||||
textlist.append(Text(_("T H E E N D"), size=SIZE_ENDER, **alignargs))
|
||||
textlist.append(Null(1, 16*4))
|
||||
textlist.append(Text(_("Snoot game started development\n on June 19, 2020"), size=SIZE_ENTRY, **alignargs))
|
||||
|
||||
credits_hbox = Fixed(VBox(*textlist, xalign=0.5), xalign=0.5)
|
||||
renpy.image('credits_hbox', credits_hbox)
|
||||
#
|
||||
|
||||
|
||||
label test_credits:
|
||||
scene black
|
||||
stop ambient
|
||||
#play music '<loop 12.809525>audio/abloop.wav'
|
||||
"test"
|
||||
window auto hide
|
||||
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
|
||||
#pause 50
|
||||
#queue music "audio/abend.wav" noloop
|
||||
|
||||
|
||||
pause
|
||||
scene black with Dissolve(3)
|
||||
|
||||
|
||||
# Credits definitions moved here so everything that needs to be changed is is one place.
|
||||
|
||||
# Anytime the credits changes to include more translators, you're just going to have to guess what the correct
|
||||
# value to offset everything is again. Mainly concerning values that control the panning destination of credits text,
|
||||
# and the height of the credits text itself
|
||||
# My recommendation is to imagine a square on top of the "T" in "THE END"
|
||||
# The square is as long as one of those characters, and the top of the square should touch the top of the screen
|
||||
# when the credits stop scrolling
|
||||
# Someone please come up with an exact formula pls
|
||||
|
||||
# Remember, ending sketch is always +550 of when the Pan stops
|
||||
|
||||
image credits_coverup:
|
||||
"black"
|
||||
crop (0, 0, 1920, 1080)
|
||||
|
||||
image b_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "b_sketch"
|
||||
)
|
||||
image c_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "c_sketch"
|
||||
)
|
||||
image d_credits_text = Composite(
|
||||
(1920, 13235),
|
||||
(0, 390), "credits_hbox",
|
||||
(0, 12705), "d_sketch"
|
||||
)
|
||||
|
||||
|
||||
label lending:
|
||||
call get_ending from _call_get_ending_4
|
||||
if _return == 4:
|
||||
pause 0.5
|
||||
show snootgame_big with dissolve: # Renpy not allowing you to grab images from the gui folder is serious bullshit
|
||||
subpixel True
|
||||
xalign 0.5
|
||||
yalign 0.5
|
||||
linear 6 zoom 1.2
|
||||
pause 1.75
|
||||
show d_credits_text with dissolve:
|
||||
subpixel True
|
||||
crop (0, 670, 1920, 1080)
|
||||
ypos 670
|
||||
xalign 0.5
|
||||
linear 3 zoom 1.1
|
||||
pause 2
|
||||
|
||||
hide d_credits_text
|
||||
hide snootgame_big
|
||||
with dissolve
|
||||
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65):
|
||||
subpixel True
|
||||
show d_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
show credits_coverup at Pan((0, 0),(0, 12155), 65):
|
||||
subpixel True
|
||||
|
||||
pause 50
|
||||
queue music 'audio/OST/amberlight brillance live end.ogg'
|
||||
queue music "<silence 1.0>" loop
|
||||
elif _return == 3:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show c_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show c_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind c_credits_text:
|
||||
subpixel True
|
||||
show c_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
else:
|
||||
play music "audio/OST/Dino Destiny Reader.ogg"
|
||||
pause 0.5
|
||||
show b_credits_text:
|
||||
crop (0, 0, 1920, 670)
|
||||
pause 1.1
|
||||
show b_credits_text:
|
||||
crop None
|
||||
pause 2.75
|
||||
show credits_base at Pan((0, -1080),(0, 8100), 65) behind b_credits_text:
|
||||
subpixel True
|
||||
show b_credits_text at Pan((0, 0),(0, 12155), 65):
|
||||
crop None
|
||||
subpixel True
|
||||
pause
|
||||
stop music fadeout 5
|
||||
scene black with Dissolve(3)
|
||||
pause 2
|
||||
if tradwife:
|
||||
scene c10 with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
elif anonscore >= 4 and fangscore >= 4:
|
||||
scene golden ending with Dissolve(1.5)
|
||||
pause 20
|
||||
scene black with Dissolve(2)
|
||||
pause 1
|
||||
return
|
||||
|
@ -1,130 +1,130 @@
|
||||
init offset = -1
|
||||
|
||||
screen OkPrompt(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/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
|
||||
default persistent.seenWarning = []
|
||||
|
||||
init python:
|
||||
|
||||
from math import ceil
|
||||
|
||||
notice = _("NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines.")
|
||||
|
||||
languages = [
|
||||
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
|
||||
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
|
||||
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'}
|
||||
]
|
||||
|
||||
#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.
|
||||
|
||||
maxItems = len(languages)
|
||||
maxRows = ceil(maxItems/4)
|
||||
if maxItems > 4:
|
||||
maxItems = 4*maxRows
|
||||
|
||||
init:
|
||||
transform renpysdumb: # Needed to scale down the imagebuttons.
|
||||
zoom 0.5
|
||||
transform icon: #For the preferences screen
|
||||
truecenter
|
||||
zoom 0.1
|
||||
|
||||
transform glowie(img):
|
||||
img
|
||||
easein_cubic 0.30 matrixcolor TintMatrix(Color((255, 255, 255)))
|
||||
|
||||
transform darkie(img):
|
||||
img
|
||||
easeout_cubic 0.30 matrixcolor TintMatrix(Color((255/2, 255/2, 255/2)))
|
||||
|
||||
screen lang_sel():
|
||||
|
||||
tag menu
|
||||
|
||||
frame:
|
||||
|
||||
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
|
||||
|
||||
padding (120, 40)
|
||||
|
||||
vbox:
|
||||
style_prefix "navigation"
|
||||
vbox:
|
||||
label _("Choose Your Language") text_size 80
|
||||
add Null(0, 40)
|
||||
|
||||
vpgrid:
|
||||
if maxItems <= 4:
|
||||
cols maxItems
|
||||
rows 1
|
||||
else:
|
||||
cols 4
|
||||
rows maxRows
|
||||
#spacing 30
|
||||
draggable True
|
||||
mousewheel True
|
||||
|
||||
if maxRows > 3:
|
||||
scrollbars "vertical"
|
||||
|
||||
for i in range(maxItems):
|
||||
fixed:
|
||||
xsize 400
|
||||
ysize 300
|
||||
vbox:
|
||||
if i<len(languages):
|
||||
text languages[i]["name"] at top
|
||||
add Null(0,10)
|
||||
imagebutton:
|
||||
idle darkie(languages[i]["image"])
|
||||
hover glowie(languages[i]["image"])
|
||||
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == None,
|
||||
true = [Language(languages[i]["value"]), MainMenu(False,False)],
|
||||
# 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)]
|
||||
)
|
||||
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
|
||||
else:
|
||||
# Renpy seethes if a vpgrid doesn't have the exact maximum amount of items for some reason.
|
||||
add Null(0,0)
|
||||
at truecenter
|
||||
|
||||
screen lang_button(lang):
|
||||
hbox:
|
||||
spacing 15
|
||||
textbutton lang["name"]:
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
action If(lang["value"] in persistent.seenWarning or lang["value"] == None,
|
||||
true = [Language(lang["value"])],
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
)
|
||||
if _preferences.language == lang["value"]:
|
||||
add glowie(lang["image"]) at icon
|
||||
else:
|
||||
add darkie(lang["image"]) at icon
|
||||
init offset = -1
|
||||
|
||||
screen OkPrompt(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/uiClick.wav" action If(go_menu, true=MainMenu(False,False), false=Hide())
|
||||
|
||||
default persistent.seenWarning = []
|
||||
|
||||
init python:
|
||||
|
||||
from math import ceil
|
||||
|
||||
notice = _("NOTICE: Please keep in mind this is a fan translation, and as such it may not be completely accurate to the original intent of any written lines.")
|
||||
|
||||
languages = [
|
||||
{'image': 'gui/flag/USofA.png', 'name': 'English', 'value': None },
|
||||
{'image': 'gui/flag/Mexico.png', 'name': 'Español', 'value': 'es'},
|
||||
{'image': 'gui/flag/Rus.png', 'name': 'Русский', 'value': 'ru'}
|
||||
]
|
||||
|
||||
#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.
|
||||
|
||||
maxItems = len(languages)
|
||||
maxRows = ceil(maxItems/4)
|
||||
if maxItems > 4:
|
||||
maxItems = 4*maxRows
|
||||
|
||||
init:
|
||||
transform renpysdumb: # Needed to scale down the imagebuttons.
|
||||
zoom 0.5
|
||||
transform icon: #For the preferences screen
|
||||
truecenter
|
||||
zoom 0.1
|
||||
|
||||
transform glowie(img):
|
||||
img
|
||||
easein_cubic 0.30 matrixcolor TintMatrix(Color((255, 255, 255)))
|
||||
|
||||
transform darkie(img):
|
||||
img
|
||||
easeout_cubic 0.30 matrixcolor TintMatrix(Color((255/2, 255/2, 255/2)))
|
||||
|
||||
screen lang_sel():
|
||||
|
||||
tag menu
|
||||
|
||||
frame:
|
||||
|
||||
background Transform(gui.main_menu_background, matrixcolor=TintMatrix('#222'))
|
||||
|
||||
padding (120, 40)
|
||||
|
||||
vbox:
|
||||
style_prefix "navigation"
|
||||
vbox:
|
||||
label _("Choose Your Language") text_size 80
|
||||
add Null(0, 40)
|
||||
|
||||
vpgrid:
|
||||
if maxItems <= 4:
|
||||
cols maxItems
|
||||
rows 1
|
||||
else:
|
||||
cols 4
|
||||
rows maxRows
|
||||
#spacing 30
|
||||
draggable True
|
||||
mousewheel True
|
||||
|
||||
if maxRows > 3:
|
||||
scrollbars "vertical"
|
||||
|
||||
for i in range(maxItems):
|
||||
fixed:
|
||||
xsize 400
|
||||
ysize 300
|
||||
vbox:
|
||||
if i<len(languages):
|
||||
text languages[i]["name"] at top
|
||||
add Null(0,10)
|
||||
imagebutton:
|
||||
idle darkie(languages[i]["image"])
|
||||
hover glowie(languages[i]["image"])
|
||||
action If(languages[i]["value"] in persistent.seenWarning or languages[i]["value"] == None,
|
||||
true = [Language(languages[i]["value"]), MainMenu(False,False)],
|
||||
# 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)]
|
||||
)
|
||||
at renpysdumb # Scales the imagebutton down. No, you can't just specify the zoom here. It has to be a defined transform.
|
||||
else:
|
||||
# Renpy seethes if a vpgrid doesn't have the exact maximum amount of items for some reason.
|
||||
add Null(0,0)
|
||||
at truecenter
|
||||
|
||||
screen lang_button(lang):
|
||||
hbox:
|
||||
spacing 15
|
||||
textbutton lang["name"]:
|
||||
activate_sound "audio/ui/uiRollover.wav"
|
||||
action If(lang["value"] in persistent.seenWarning or lang["value"] == None,
|
||||
true = [Language(lang["value"])],
|
||||
false = [Language(lang["value"]), AddToSet(set=persistent.seenWarning, value=lang["value"]), Show(screen="OkPrompt", message=notice, go_menu=False)]
|
||||
)
|
||||
if _preferences.language == lang["value"]:
|
||||
add glowie(lang["image"]) at icon
|
||||
else:
|
||||
add darkie(lang["image"]) at icon
|
@ -1,5 +1,4 @@
|
||||
|
||||
translate ru strings:
|
||||
translate ru strings:
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Monday"
|
||||
@ -159,39 +158,39 @@ translate ru strings:
|
||||
|
||||
# 00action_file.rpy:353
|
||||
old "Save slot %s: [text]"
|
||||
new "Сохранение в слот %s: [text]"
|
||||
new "Слот сохранения %s: [text]"
|
||||
|
||||
# 00action_file.rpy:434
|
||||
old "Load slot %s: [text]"
|
||||
new "Загрузка слота %s: [text]"
|
||||
new "Слот загрузки %s: [text]"
|
||||
|
||||
# 00action_file.rpy:487
|
||||
old "Delete slot [text]"
|
||||
new "Удаление слота [text]"
|
||||
new "Удалить слот [text]"
|
||||
|
||||
# 00action_file.rpy:569
|
||||
old "File page auto"
|
||||
new "Страница автосохранений"
|
||||
new "Страница автосохранения"
|
||||
|
||||
# 00action_file.rpy:571
|
||||
old "File page quick"
|
||||
new "Страница быстрых сохранений"
|
||||
new "Страница быстрого сохранения"
|
||||
|
||||
# 00action_file.rpy:573
|
||||
old "File page [text]"
|
||||
new "Страница файлов [text]"
|
||||
new "Страница [text]"
|
||||
|
||||
# 00action_file.rpy:772
|
||||
old "Next file page."
|
||||
new "Следующая страница файлов."
|
||||
new "Следующая страница."
|
||||
|
||||
# 00action_file.rpy:845
|
||||
old "Previous file page."
|
||||
new "Предыдущая страница файлов."
|
||||
new "Предыдущая страница."
|
||||
|
||||
# 00action_file.rpy:906
|
||||
old "Quick save complete."
|
||||
new "Быстрое сохранение выполнено."
|
||||
new "Быстрое сохранение завершено."
|
||||
|
||||
# 00action_file.rpy:924
|
||||
old "Quick save."
|
||||
@ -207,7 +206,7 @@ translate ru strings:
|
||||
|
||||
# 00director.rpy:708
|
||||
old "The interactive director is not enabled here."
|
||||
new "Интерактивный планировщик здесь не включен."
|
||||
new "Инструмент интерактивного взаимодействия здесь не доступен."
|
||||
|
||||
# 00director.rpy:1481
|
||||
old "⬆"
|
||||
@ -219,11 +218,11 @@ translate ru strings:
|
||||
|
||||
# 00director.rpy:1551
|
||||
old "Done"
|
||||
new "Выполнено"
|
||||
new "Готово"
|
||||
|
||||
# 00director.rpy:1561
|
||||
old "(statement)"
|
||||
new "(заявление)"
|
||||
new "(определение)"
|
||||
|
||||
# 00director.rpy:1562
|
||||
old "(tag)"
|
||||
@ -247,7 +246,7 @@ translate ru strings:
|
||||
|
||||
# 00director.rpy:1602
|
||||
old "(filename)"
|
||||
new "(имяфайла)"
|
||||
new "(файл)"
|
||||
|
||||
# 00director.rpy:1631
|
||||
old "Change"
|
||||
@ -259,7 +258,7 @@ translate ru strings:
|
||||
|
||||
# 00director.rpy:1636
|
||||
old "Cancel"
|
||||
new "Отмена"
|
||||
new "Отменить"
|
||||
|
||||
# 00director.rpy:1639
|
||||
old "Remove"
|
||||
@ -267,7 +266,7 @@ translate ru strings:
|
||||
|
||||
# 00director.rpy:1674
|
||||
old "Statement:"
|
||||
new "Заявление:"
|
||||
new "Определение:"
|
||||
|
||||
# 00director.rpy:1695
|
||||
old "Tag:"
|
||||
@ -295,7 +294,7 @@ translate ru strings:
|
||||
|
||||
# 00director.rpy:1803
|
||||
old "Audio Filename:"
|
||||
new "Имя Аудиофайла:"
|
||||
new "Имя аудиофайла:"
|
||||
|
||||
# 00gui.rpy:370
|
||||
old "Are you sure?"
|
||||
@ -303,15 +302,15 @@ translate ru strings:
|
||||
|
||||
# 00gui.rpy:371
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "Вы точно уверены, что хотите удалить это сохранение?"
|
||||
new "Вы уверены, что хотите удалить это сохранение?"
|
||||
|
||||
# 00gui.rpy:372
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "Вы уверены, что хотите перезаписать своё сохранение?"
|
||||
new "Вы уверены, что хотите перезаписать сохранение?"
|
||||
|
||||
# 00gui.rpy:373
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "При загрузке будет потерян несохранённый прогресс.\nВы уверены, что хотите это сделать?"
|
||||
new "Загрузка приведёт к потере несохранённого прогресса.\nВы уверены, что хотите продолжить?"
|
||||
|
||||
# 00gui.rpy:374
|
||||
old "Are you sure you want to quit?"
|
||||
@ -319,11 +318,11 @@ translate ru strings:
|
||||
|
||||
# 00gui.rpy:375
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Вы уверены, что хотите вернуться в главное меню?\nЭто приведёт к потере несохранённого прогресса."
|
||||
new "Вы уверены, что хотите выйти в главное меню?\nЭто приведёт к потере несохранённого прогресса."
|
||||
|
||||
# 00gui.rpy:376
|
||||
old "Are you sure you want to end the replay?"
|
||||
new "Вы уверены, что хотите завершить воспроизведение?"
|
||||
new "Вы уверены, что хотите остановить повтор?"
|
||||
|
||||
# 00gui.rpy:377
|
||||
old "Are you sure you want to begin skipping?"
|
||||
@ -331,15 +330,15 @@ translate ru strings:
|
||||
|
||||
# 00gui.rpy:378
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "Вы уверены, что хотите пропустить до следующего выбора?"
|
||||
new "Вы уверены, что хотите перейти к следующему выбору?"
|
||||
|
||||
# 00gui.rpy:379
|
||||
old "Are you sure you want to skip unseen dialogue to the next choice?"
|
||||
new "Вы уверены, что хотите пропустить непросмотренные диалоги до следующего выбора?"
|
||||
new "Вы уверены, что хотите пропустить непрочтённые диалоги до следующего выбора?"
|
||||
|
||||
# 00keymap.rpy:258
|
||||
old "Failed to save screenshot as %s."
|
||||
new "Не удалось сохранить снимок экрана как %s."
|
||||
new "Не удалось сохранить скриншот как %s."
|
||||
|
||||
# 00keymap.rpy:270
|
||||
old "Saved screenshot as %s."
|
||||
@ -347,23 +346,23 @@ translate ru strings:
|
||||
|
||||
# 00library.rpy:146
|
||||
old "Self-voicing disabled."
|
||||
new "Самоозвучивание отключено."
|
||||
new "Озвучка текста отключена."
|
||||
|
||||
# 00library.rpy:147
|
||||
old "Clipboard voicing enabled. "
|
||||
new "'Преобразование буфера обмена в речь' включено. "
|
||||
new "Буферная озвучка включена. "
|
||||
|
||||
# 00library.rpy:148
|
||||
old "Self-voicing enabled. "
|
||||
new "Самоозвучивание включено. "
|
||||
new "Озвучка текста включена. "
|
||||
|
||||
# 00library.rpy:150
|
||||
old "bar"
|
||||
new "bar"
|
||||
new "переменная"
|
||||
|
||||
# 00library.rpy:151
|
||||
old "selected"
|
||||
new "выбор"
|
||||
new "выбрано"
|
||||
|
||||
# 00library.rpy:152
|
||||
old "viewport"
|
||||
@ -395,11 +394,11 @@ translate ru strings:
|
||||
|
||||
# 00library.rpy:193
|
||||
old "Skip Mode"
|
||||
new "Режим Пропуска"
|
||||
new "Режим пропуска"
|
||||
|
||||
# 00library.rpy:279
|
||||
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
|
||||
new "Данная программа содержит свободное программное обеспечение под рядом лицензий, включая MIT License и GNU Lesser General Public License. Полный список программ, включая ссылки на полные исходники, можно найти {a=https://www.renpy.org/l/license}здесь{/a}."
|
||||
new "Эта программа содержит бесплатное программное обеспечение, заверенное лицензиями, включая MIT License и GNU Lesser General Public License. Полный список программного обеспечения, включая ссылки на исходный код, могут быть найдены {a=https://www.renpy.org/l/license}здесь{/a}."
|
||||
|
||||
# 00preferences.rpy:207
|
||||
old "display"
|
||||
@ -419,7 +418,7 @@ translate ru strings:
|
||||
|
||||
# 00preferences.rpy:239
|
||||
old "show empty window"
|
||||
new "показывать пустое окно"
|
||||
new "показать пустое окно"
|
||||
|
||||
# 00preferences.rpy:248
|
||||
old "text speed"
|
||||
@ -439,11 +438,11 @@ translate ru strings:
|
||||
|
||||
# 00preferences.rpy:266
|
||||
old "skip unseen [text]"
|
||||
new "пропуск непросмотренного [text]"
|
||||
new "пропуск непрочтённого [text]"
|
||||
|
||||
# 00preferences.rpy:271
|
||||
old "skip unseen text"
|
||||
new "непросмотренного текста"
|
||||
new "непрочтённого текста"
|
||||
|
||||
# 00preferences.rpy:273
|
||||
old "begin skipping"
|
||||
@ -451,31 +450,31 @@ translate ru strings:
|
||||
|
||||
# 00preferences.rpy:277
|
||||
old "after choices"
|
||||
new "после выбора"
|
||||
new "после выборов"
|
||||
|
||||
# 00preferences.rpy:284
|
||||
old "skip after choices"
|
||||
new "пропуск после выбора"
|
||||
new "пропуск после выборов"
|
||||
|
||||
# 00preferences.rpy:286
|
||||
old "auto-forward time"
|
||||
new "время автоперемотки"
|
||||
new "время до авто-пролистывания"
|
||||
|
||||
# 00preferences.rpy:300
|
||||
old "auto-forward"
|
||||
new "автоперемотка"
|
||||
new "авто-пролистывание"
|
||||
|
||||
# 00preferences.rpy:307
|
||||
old "Auto forward"
|
||||
new "Автоперемотка"
|
||||
new "Авто-пролистывание"
|
||||
|
||||
# 00preferences.rpy:310
|
||||
old "auto-forward after click"
|
||||
new "автоперемотка после клика"
|
||||
new "авто-пролистывание после клика"
|
||||
|
||||
# 00preferences.rpy:319
|
||||
old "automatic move"
|
||||
new "автоперемещение"
|
||||
new "автоматическое перемещение"
|
||||
|
||||
# 00preferences.rpy:328
|
||||
old "wait for voice"
|
||||
@ -483,19 +482,19 @@ translate ru strings:
|
||||
|
||||
# 00preferences.rpy:337
|
||||
old "voice sustain"
|
||||
new "устойчивость голоса"
|
||||
new "голосовое сопровождение"
|
||||
|
||||
# 00preferences.rpy:346
|
||||
old "self voicing"
|
||||
new "самоозвучивание"
|
||||
new "озвучка текста"
|
||||
|
||||
# 00preferences.rpy:355
|
||||
old "clipboard voicing"
|
||||
new "озвучивание буфера обмена"
|
||||
new "буферная озвучка"
|
||||
|
||||
# 00preferences.rpy:364
|
||||
old "debug voicing"
|
||||
new "отладка озвучивания"
|
||||
new "отладка озвучки"
|
||||
|
||||
# 00preferences.rpy:373
|
||||
old "emphasize audio"
|
||||
@ -503,19 +502,19 @@ translate ru strings:
|
||||
|
||||
# 00preferences.rpy:382
|
||||
old "rollback side"
|
||||
new "откат"
|
||||
new "отмена действия"
|
||||
|
||||
# 00preferences.rpy:392
|
||||
old "gl powersave"
|
||||
new "gl энергосбережения"
|
||||
new "gl энергосбережение"
|
||||
|
||||
# 00preferences.rpy:398
|
||||
old "gl framerate"
|
||||
new "gl частоты кадров."
|
||||
new "gl частота кадров"
|
||||
|
||||
# 00preferences.rpy:401
|
||||
old "gl tearing"
|
||||
new "gl разрыва"
|
||||
new "gl разрыв картинки"
|
||||
|
||||
# 00preferences.rpy:413
|
||||
old "music volume"
|
||||
@ -531,31 +530,31 @@ translate ru strings:
|
||||
|
||||
# 00preferences.rpy:416
|
||||
old "mute music"
|
||||
new "без музыки"
|
||||
new "заглушить музыку"
|
||||
|
||||
# 00preferences.rpy:417
|
||||
old "mute sound"
|
||||
new "без звука"
|
||||
new "заглушить звук"
|
||||
|
||||
# 00preferences.rpy:418
|
||||
old "mute voice"
|
||||
new "без голоса"
|
||||
new "заглушить голос"
|
||||
|
||||
# 00preferences.rpy:419
|
||||
old "mute all"
|
||||
new "отключить все звуки"
|
||||
new "заглушить всё"
|
||||
|
||||
# 00preferences.rpy:500
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "Включено озвучивание буфера обмена. Нажмите 'shift+C' для отключения."
|
||||
new "Буферная озвучка включена. Нажмите 'shift+C' для отключения."
|
||||
|
||||
# 00preferences.rpy:502
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "Самоозвучивание говорит \"[renpy.display.tts.last]\". Нажмите 'alt+shift+V' для отключения."
|
||||
new "Озвучка текста проговорит \"[renpy.display.tts.last]\". Нажмите 'alt+shift+V' для отключения."
|
||||
|
||||
# 00preferences.rpy:504
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Самоозвучивание включено. Нажмите 'v' для отключения."
|
||||
new "Озвучка текста включена. Нажмите 'v' для отключения."
|
||||
|
||||
# _compat\gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
@ -571,19 +570,19 @@ translate ru strings:
|
||||
|
||||
# _compat\preferences.rpym:428
|
||||
old "Joystick Mapping"
|
||||
new "Раскладка Джойстика"
|
||||
new "Настройка джойстика"
|
||||
|
||||
# _developer\developer.rpym:38
|
||||
old "Developer Menu"
|
||||
new "Меню Разработчика"
|
||||
new "Меню разработчика"
|
||||
|
||||
# _developer\developer.rpym:43
|
||||
old "Interactive Director (D)"
|
||||
new "Интерактивный Планировщик (D)"
|
||||
new "Интерактивный планировщик (D)"
|
||||
|
||||
# _developer\developer.rpym:45
|
||||
old "Reload Game (Shift+R)"
|
||||
new "Перезапуск Игры (Shift+R)"
|
||||
new "Перезапустить игру (Shift+R)"
|
||||
|
||||
# _developer\developer.rpym:47
|
||||
old "Console (Shift+O)"
|
||||
@ -591,31 +590,31 @@ translate ru strings:
|
||||
|
||||
# _developer\developer.rpym:49
|
||||
old "Variable Viewer"
|
||||
new "Просмотрщик Переменных"
|
||||
new "Просмотр переменных"
|
||||
|
||||
# _developer\developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "Селектор Положения Изображений"
|
||||
new "Средство выбора местоположения изображений"
|
||||
|
||||
# _developer\developer.rpym:53
|
||||
old "Filename List"
|
||||
new "Список Имён Файлов"
|
||||
new "Список имён файлов"
|
||||
|
||||
# _developer\developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "Показать Журнал Загрузки Изображений (F4)"
|
||||
new "Показать журнал загрузки изображений (F4)"
|
||||
|
||||
# _developer\developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "Скрыть Журнал Загрузки Изображений (F4)"
|
||||
new "Скрыть журнал загрузки изображений (F4)"
|
||||
|
||||
# _developer\developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "Атрибуты Изображений"
|
||||
new "Атрибуты изображения"
|
||||
|
||||
# _developer\developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes] (скрыто)"
|
||||
|
||||
# _developer\developer.rpym:94
|
||||
old "[name] [attributes]"
|
||||
@ -623,11 +622,11 @@ translate ru strings:
|
||||
|
||||
# _developer\developer.rpym:143
|
||||
old "Nothing to inspect."
|
||||
new "Нечего Проверять."
|
||||
new "Нечего проверять."
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Hide deleted"
|
||||
new "Скрыть удалённое"
|
||||
new "Спрятать удалённое"
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Show deleted"
|
||||
@ -635,23 +634,23 @@ translate ru strings:
|
||||
|
||||
# _developer\developer.rpym:278
|
||||
old "Return to the developer menu"
|
||||
new "Возврат в меню разработчика"
|
||||
new "Вернуться в меню разработчика"
|
||||
|
||||
# _developer\developer.rpym:438
|
||||
old "Rectangle: %r"
|
||||
new "Прямоугольник: %r"
|
||||
new "Окно: %r"
|
||||
|
||||
# _developer\developer.rpym:443
|
||||
old "Mouse position: %r"
|
||||
new "Положение мыши: %r"
|
||||
new "Позиция курсора: %r"
|
||||
|
||||
# _developer\developer.rpym:448
|
||||
old "Right-click or escape to quit."
|
||||
new "Правый-клик или escape для выхода."
|
||||
new "Нажмите Escape или М2, чтобы выйти"
|
||||
|
||||
# _developer\developer.rpym:480
|
||||
old "Rectangle copied to clipboard."
|
||||
new "Прямоугольник скопирован в буфер обмена."
|
||||
new "Окно скопировано в буфер обмена."
|
||||
|
||||
# _developer\developer.rpym:483
|
||||
old "Position copied to clipboard."
|
||||
@ -659,11 +658,11 @@ translate ru strings:
|
||||
|
||||
# _developer\developer.rpym:502
|
||||
old "Type to filter: "
|
||||
new "Тип фильтрации: "
|
||||
new "Введите для фильтра: "
|
||||
|
||||
# _developer\developer.rpym:630
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Текстура: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Текстуры: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
|
||||
# _developer\developer.rpym:634
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
@ -679,11 +678,11 @@ translate ru strings:
|
||||
|
||||
# _developer\developer.rpym:652
|
||||
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
|
||||
new "\n{color=#cfc}✔ прогнозируемое изображение (хорошо){/color}\n{color=#fcc}✘ непрогнозируемое изображение (плохо){/color}\n{color=#fff}Перетащите для перемещения.{/color}"
|
||||
new "\n{color=#cfc}✔ прогнозируемое изображение (хорошо){/color}\n{color=#fcc}✘ непрогнозируемое изображение (плохо){/color}\n{color=#fff}Нажмите и перетащите для перемещения.{/color}"
|
||||
|
||||
# _developer\inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
new "Проверка Отображения"
|
||||
new "Проверка отображения"
|
||||
|
||||
# _developer\inspector.rpym:61
|
||||
old "Size"
|
||||
@ -699,7 +698,7 @@ translate ru strings:
|
||||
|
||||
# _developer\inspector.rpym:122
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "Проверка Стилей [displayable_name!q]"
|
||||
new "Проверка стилей у [displayable_name!q]"
|
||||
|
||||
# _developer\inspector.rpym:139
|
||||
old "displayable:"
|
||||
@ -707,7 +706,7 @@ translate ru strings:
|
||||
|
||||
# _developer\inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (никакие свойства не влияют на отображение)"
|
||||
new " (нет свойств, влияющих на отображение)"
|
||||
|
||||
# _developer\inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
@ -723,35 +722,35 @@ translate ru strings:
|
||||
|
||||
# _layout\classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "б"
|
||||
new "q"
|
||||
|
||||
# 00iap.rpy:217
|
||||
old "Contacting App Store\nPlease Wait..."
|
||||
new "Обращение в App Store\nПожалуйста, подождите..."
|
||||
new "Подключаемся к App Store\nПожалуйста, подождите..."
|
||||
|
||||
# 00updater.rpy:375
|
||||
old "The Ren'Py Updater is not supported on mobile devices."
|
||||
new "Ren'Py Updater не поддерживается на мобильных устройствах."
|
||||
new "Апдейтер Ren'Py не поддерживается на мобильных устройствах."
|
||||
|
||||
# 00updater.rpy:494
|
||||
old "An error is being simulated."
|
||||
new "Происходит симуляция ошибки."
|
||||
new "Cимулируется ошибка."
|
||||
|
||||
# 00updater.rpy:678
|
||||
old "Either this project does not support updating, or the update status file was deleted."
|
||||
new "Либо данный проект не поддерживает обновление, либо файл состояния обновления был удалён."
|
||||
new "Проект или не поддерживает обновлений, или файл статуса обновления был удалён."
|
||||
|
||||
# 00updater.rpy:692
|
||||
old "This account does not have permission to perform an update."
|
||||
new "У этой учётной записи нет разрешения на выполнение обновления."
|
||||
new "Этот аккаунт не имеет прав на установку обновления."
|
||||
|
||||
# 00updater.rpy:695
|
||||
old "This account does not have permission to write the update log."
|
||||
new "У этой учетной записи нет прав на запись журнала обновлений."
|
||||
new "Этот аккаунт не имеет прав на создание журнала обновления."
|
||||
|
||||
# 00updater.rpy:722
|
||||
old "Could not verify update signature."
|
||||
new "Не удалось проверить подпись обновления."
|
||||
new "Не удалось подтвердить подпись обновления."
|
||||
|
||||
# 00updater.rpy:997
|
||||
old "The update file was not downloaded."
|
||||
@ -759,15 +758,15 @@ translate ru strings:
|
||||
|
||||
# 00updater.rpy:1015
|
||||
old "The update file does not have the correct digest - it may have been corrupted."
|
||||
new "Файл обновления не содержит правильного 'digest' - возможно, он повреждён."
|
||||
new "В файле обновления отсутствует корректный дайджест – возможно, он был повреждён."
|
||||
|
||||
# 00updater.rpy:1071
|
||||
old "While unpacking {}, unknown type {}."
|
||||
new "При распаковке {1}, неизвестный тип {0}."
|
||||
new "При распаковке {}, неизвестный тип {}."
|
||||
|
||||
# 00updater.rpy:1439
|
||||
old "Updater"
|
||||
new "Модуль Обновления"
|
||||
new "Апдейтер"
|
||||
|
||||
# 00updater.rpy:1446
|
||||
old "An error has occured:"
|
||||
@ -775,15 +774,15 @@ translate ru strings:
|
||||
|
||||
# 00updater.rpy:1448
|
||||
old "Checking for updates."
|
||||
new "Проверка наличия обновлений."
|
||||
new "Проверка обновлений."
|
||||
|
||||
# 00updater.rpy:1450
|
||||
old "This program is up to date."
|
||||
new "Данная программа является актуальной."
|
||||
new "Программа имеет актуальную версию."
|
||||
|
||||
# 00updater.rpy:1452
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] доступен. Хотите ли Вы установить его?"
|
||||
new "[u.version] доступна. Хотите установить?"
|
||||
|
||||
# 00updater.rpy:1454
|
||||
old "Preparing to download the updates."
|
||||
@ -799,11 +798,11 @@ translate ru strings:
|
||||
|
||||
# 00updater.rpy:1460
|
||||
old "Finishing up."
|
||||
new "Завершение."
|
||||
new "Завершение процесса."
|
||||
|
||||
# 00updater.rpy:1462
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "Обновления были установлены. Программа будет перезапущена."
|
||||
new "Обновления были установлены. Необходимо перезапустить программу."
|
||||
|
||||
# 00updater.rpy:1464
|
||||
old "The updates have been installed."
|
||||
@ -815,7 +814,7 @@ translate ru strings:
|
||||
|
||||
# 00updater.rpy:1481
|
||||
old "Proceed"
|
||||
new "Продолжение"
|
||||
new "Продолжить"
|
||||
|
||||
# 00gallery.rpy:585
|
||||
old "Image [index] of [count] locked."
|
||||
@ -839,23 +838,23 @@ translate ru strings:
|
||||
|
||||
# 00gltest.rpy:70
|
||||
old "Renderer"
|
||||
new "Рендер"
|
||||
new "Рендеринг"
|
||||
|
||||
# 00gltest.rpy:74
|
||||
old "Automatically Choose"
|
||||
new "Автоматический Выбор"
|
||||
new "Автоматический выбор"
|
||||
|
||||
# 00gltest.rpy:79
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Принудительный 'Angle/DirectX Рендеринг'"
|
||||
new "Принудительный Angle/DirectX рендеринг"
|
||||
|
||||
# 00gltest.rpy:83
|
||||
old "Force OpenGL Renderer"
|
||||
new "Принудительный OpenGL Рендеринг"
|
||||
new "Принудительный OpenGL рендеринг"
|
||||
|
||||
# 00gltest.rpy:87
|
||||
old "Force Software Renderer"
|
||||
new "Принудительный Программный Рендеринг"
|
||||
new "Принудительный программный рендеринг"
|
||||
|
||||
# 00gltest.rpy:93
|
||||
old "NPOT"
|
||||
@ -875,7 +874,7 @@ translate ru strings:
|
||||
|
||||
# 00gltest.rpy:145
|
||||
old "Framerate"
|
||||
new "Частота кадров."
|
||||
new "Частота кадров"
|
||||
|
||||
# 00gltest.rpy:149
|
||||
old "Screen"
|
||||
@ -891,19 +890,19 @@ translate ru strings:
|
||||
|
||||
# 00gltest.rpy:163
|
||||
old "Tearing"
|
||||
new "Разрыв"
|
||||
new "Разрыв картинки"
|
||||
|
||||
# 00gltest.rpy:179
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "Изменения вступят в силу при следующем запуске программы."
|
||||
new "Изменения вступят в силу после перезапуска программы."
|
||||
|
||||
# 00gltest.rpy:213
|
||||
old "Performance Warning"
|
||||
new "Предупреждение о Производительности"
|
||||
new "Падение производительности"
|
||||
|
||||
# 00gltest.rpy:218
|
||||
old "This computer is using software rendering."
|
||||
new "На этом компьютере используется программное обеспечение рендеринга."
|
||||
new "Этот компьютер использует стандартный (программный) способ рендеринга."
|
||||
|
||||
# 00gltest.rpy:220
|
||||
old "This computer is not using shaders."
|
||||
@ -915,15 +914,15 @@ translate ru strings:
|
||||
|
||||
# 00gltest.rpy:224
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "На этом компьютере возникла проблема с отображением графики: [problem]."
|
||||
new "У этого компьютера есть проблема с отображением графики: [problem]."
|
||||
|
||||
# 00gltest.rpy:229
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
|
||||
new "Возможно, графические драйверы устарели или работают некорректно. Это может привести к медленному или некорректному отображению графики. Обновление DirectX может устранить эту проблему."
|
||||
new "Графический драйвер устарел или работает некорректно. Это может привести к неправильному отображению картинки или понижению производительности. Обновление DirectX может устранить эту проблему."
|
||||
|
||||
# 00gltest.rpy:231
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
|
||||
new "Графические драйверы могли устареть или работают некорректно. Это может привести к медленному или некорректному отображению графики."
|
||||
new "Графический драйвер устарел или работает некорректно. Это может привести к неправильному отображению картинки или понижению производительности."
|
||||
|
||||
# 00gltest.rpy:236
|
||||
old "Update DirectX"
|
||||
@ -931,7 +930,7 @@ translate ru strings:
|
||||
|
||||
# 00gltest.rpy:242
|
||||
old "Continue, Show this warning again"
|
||||
new "Продолжить, показывая предупреждение снова"
|
||||
new "Продолжить, показав предупреждение снова"
|
||||
|
||||
# 00gltest.rpy:246
|
||||
old "Continue, Don't show warning again"
|
||||
@ -943,15 +942,15 @@ translate ru strings:
|
||||
|
||||
# 00gltest.rpy:268
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "Веб-установка DirectX запущена. Она могла запуститься в свёрнутом виде на панели задач. Следуйте подсказкам для установки DirectX."
|
||||
new "Установка DirectX запущена. Она могла запуститься в свёрнутом режиме на панели задач. Следуйте подсказкам на экране для установки DirectX."
|
||||
|
||||
# 00gltest.rpy:272
|
||||
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
|
||||
new "{b}Примечание:{/b} Веб-установка Microsoft DirectX по умолчанию устанавливает панель инструментов Bing. Если вы не хотите использовать эту панель, снимите соответствующий флажок."
|
||||
new "{b}Примечание:{/b} Установка DirectX по умолчанию устанавливает панель инструментов Bing. Если вы не хотите устанавливать эту панель, снимите соответствующий флажок."
|
||||
|
||||
# 00gltest.rpy:276
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "По окончании установки нажмите кнопку ниже, чтобы перезапустить программу."
|
||||
new "После завершения установки нажмите кнопку ниже, чтобы перезапустить программу."
|
||||
|
||||
# 00gltest.rpy:278
|
||||
old "Restart"
|
||||
@ -959,11 +958,11 @@ translate ru strings:
|
||||
|
||||
# 00gamepad.rpy:32
|
||||
old "Select Gamepad to Calibrate"
|
||||
new "Выбор геймпада для калибровки"
|
||||
new "Выберите геймпад для калибровки"
|
||||
|
||||
# 00gamepad.rpy:35
|
||||