Compare commits

..

1 Commits

Author SHA1 Message Date
Gouvernathor 934c32773b Allow required kw-only parameters in ATL 2024-06-27 01:25:16 +02:00
614 changed files with 23118 additions and 26856 deletions
+1 -41
View File
@@ -13,6 +13,7 @@ ehthumbs_vista.db
# Python related files.
*.pyc
*.pyo
*.pyi
*.egg-info
# Editor/tool files.
@@ -133,44 +134,3 @@ CubismSdkForNative-4-*.zip
/cg
/.vscode/launch.json
/.vscode/tasks.json
# Pyi Files (generated by scripts/generate_pyi.py)
renpy/audio/filter.pyi
renpy/audio/renpysound.pyi
renpy/display/accelerator.pyi
renpy/display/matrix.pyi
renpy/display/quaternion.pyi
renpy/display/render.pyi
renpy/encryption.pyi
renpy/gl2/gl2draw.pyi
renpy/gl2/gl2mesh.pyi
renpy/gl2/gl2mesh2.pyi
renpy/gl2/gl2mesh3.pyi
renpy/gl2/gl2model.pyi
renpy/gl2/gl2polygon.pyi
renpy/gl2/gl2shader.pyi
renpy/gl2/gl2texture.pyi
renpy/gl2/live2dmodel.pyi
renpy/lexersupport.pyi
renpy/pydict.pyi
renpy/style.pyi
renpy/style.pyi
renpy/styledata/style_activate_functions.pyi
renpy/styledata/style_functions.pyi
renpy/styledata/style_hover_functions.pyi
renpy/styledata/style_idle_functions.pyi
renpy/styledata/style_insensitive_functions.pyi
renpy/styledata/style_selected_activate_functions.pyi
renpy/styledata/style_selected_functions.pyi
renpy/styledata/style_selected_hover_functions.pyi
renpy/styledata/style_selected_idle_functions.pyi
renpy/styledata/style_selected_insensitive_functions.pyi
renpy/styledata/styleclass.pyi
renpy/styledata/stylesets.pyi
renpy/text/ftfont.pyi
renpy/text/hbfont.pyi
renpy/text/textsupport.pyi
renpy/text/texwrap.pyi
renpy/uguu/gl.pyi
renpy/uguu/uguu.pyi
+16 -57
View File
@@ -1,22 +1,23 @@
{
"files.watcherExclude": {
"**/renpy/0old/**": true,
"**/renpy/atom/**": true,
"**/renpy/cubism/**": true,
"**/renpy/dists/**": true,
"**/renpy/dl/**": true,
"**/renpy/doc/**": true,
"**/renpy/doc-web/**": true,
"**/renpy/jedit/**": true,
"**/renpy/renpy*.app/**": true,
"**/renpy/tmp/**": true,
"**/renpy/web/**": true
"**/renpy/0old/**" : true,
"**/renpy/atom/**" : true,
"**/renpy/cubism/**" : true,
"**/renpy/dists/**" : true,
"**/renpy/dl/**" : true,
"**/renpy/doc/**" : true,
"**/renpy/doc-web/**" : true,
"**/renpy/jedit/**" : true,
"**/renpy/renpy*.app/**" : true,
"**/renpy/tmp/**" : true,
"**/renpy/web/**" : true,
},
"files.exclude": {
"0old": true,
"**-dists": true,
"**/*.pyc": true,
"**/*.pyo": true,
"renpy/**/*.pyi": true,
"**/*.rpmc": true,
"**/*.rpyc": true,
"**/__pycache__": true,
@@ -41,45 +42,9 @@
"web3": true,
"**/*.rpa": true,
"**/*.rpymc": true,
"**/cache/": true,
"renpy/audio/filter.pyi": true,
"renpy/audio/renpysound.pyi": true,
"renpy/display/accelerator.pyi": true,
"renpy/display/matrix.pyi": true,
"renpy/display/quaternion.pyi": true,
"renpy/display/render.pyi": true,
"renpy/encryption.pyi": true,
"renpy/gl2/gl2draw.pyi": true,
"renpy/gl2/gl2mesh.pyi": true,
"renpy/gl2/gl2mesh2.pyi": true,
"renpy/gl2/gl2mesh3.pyi": true,
"renpy/gl2/gl2model.pyi": true,
"renpy/gl2/gl2polygon.pyi": true,
"renpy/gl2/gl2shader.pyi": true,
"renpy/gl2/gl2texture.pyi": true,
"renpy/gl2/live2dmodel.pyi": true,
"renpy/lexersupport.pyi": true,
"renpy/pydict.pyi": true,
"renpy/style.pyi": true,
"renpy/styledata/style_activate_functions.pyi": true,
"renpy/styledata/style_functions.pyi": true,
"renpy/styledata/style_hover_functions.pyi": true,
"renpy/styledata/style_idle_functions.pyi": true,
"renpy/styledata/style_insensitive_functions.pyi": true,
"renpy/styledata/style_selected_activate_functions.pyi": true,
"renpy/styledata/style_selected_functions.pyi": true,
"renpy/styledata/style_selected_hover_functions.pyi": true,
"renpy/styledata/style_selected_idle_functions.pyi": true,
"renpy/styledata/style_selected_insensitive_functions.pyi": true,
"renpy/styledata/styleclass.pyi": true,
"renpy/styledata/stylesets.pyi": true,
"renpy/text/ftfont.pyi": true,
"renpy/text/hbfont.pyi": true,
"renpy/text/textsupport.pyi": true,
"renpy/text/texwrap.pyi": true,
"renpy/uguu/gl.pyi": true,
"renpy/uguu/uguu.pyi": true
"**/cache/": true
},
"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.diagnosticMode": "workspace",
@@ -221,12 +186,6 @@
"foreground": "#ffffff"
}
},
{
"scope": "renpy.meta.color.#f00",
"settings": {
"foreground": "#f00"
}
},
{
"scope": "text.notes.info",
"settings": {
@@ -280,5 +239,5 @@
}
}
]
}
}
},
}
+18 -43
View File
@@ -4,29 +4,8 @@ The Ren'Py Visual Novel Engine
https://www.renpy.org
Branches
========
The following branches are the most interesting.
``fix``
The fix branch is used for fixes to the current version of Ren'Py that do
not require dangerous changes. The fix branch is also the source of the
documentation on https://www.renpy.org/. This branch is automatically
merged into master on a regular basis.
Pull requests that contain fixes or documentation improvements should be
made to the fix branch. When a release is made, the master branch is
copied to the fix branch.
``master``
The master branch is where the main focus of development is. This branch
will eventually become the next release of Ren'Py.
Pull requests that contain new features, that require incompatible changes,
or major changes to Ren'Py's internals should be targeted at the master
branch.
Ren'Py development takes place on the ``master`` branch, and occasionally
on feature branches.
Getting Started
@@ -58,7 +37,7 @@ renpy.app, or renpy.exe, as appropriate for your platform.
If the current nightly build doesn't work, please wait 24 hours for a new
build to occur. If that build still doesn't work, contact Tom (`pytom at bishoujo.us`,
or @renpytom on Twitter/X) to find out what's wrong.
or @renpytom on twitter) to find out what's wrong.
The ``doc`` symlink will dangle until documentation is built, as described
below.
@@ -70,9 +49,9 @@ Building the modules requires you have the many dependencies installed on
your system. On Ubuntu and Debian, these dependencies can be installed with
the command::
sudo apt install virtualenvwrapper python3-dev libassimp-dev libavcodec-dev libavformat-dev \
sudo apt install virtualenvwrapper python3-dev libavcodec-dev libavformat-dev \
libswresample-dev libswscale-dev libharfbuzz-dev libfreetype6-dev libfribidi-dev libsdl2-dev \
libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev pkg-config
libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
Ren'Py requires SDL_image 2.6 or greater. If your distribution doesn't include
that version, you'll need to download it from:
@@ -92,18 +71,29 @@ To return to this virtualenv later, run::
After activating the virtualenv, install additional dependencies::
pip install -U setuptools cython future six typing pefile requests ecdsa
pip install -U cython future six typing pefile requests ecdsa
Then, install pygame_sdl2 by running the following commands::
git clone https://www.github.com/renpy/pygame_sdl2
pushd pygame_sdl2
python setup.py install
python setup.py install_headers
popd
Finally, use setup.py to compile extension modules that support Ren'Py::
Next, set RENPY_DEPS_INSTALL To a \:-separated (\;-separated on Windows)
list of paths containing the dependencies, and RENPY_CYTHON to the name
of the cython command::
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(gcc -dumpmachine)/"
export RENPY_CYTHON=cython
Finally, use setup.py in the Ren'Py ``module`` directory to compile and
install the modules that support Ren'Py::
pushd module
python setup.py install
popd
Ren'Py will be installed into the activated virtualenv. It can then be run
using the command::
@@ -111,21 +101,6 @@ using the command::
python renpy.py
Other Platforms
---------------
Where supported, Ren'Py will attempt to find include directories and library paths
using pkg-config. If pkg-config is not present, include and library paths can be
specified using CFLAGS and LDFLAGS.
If RENPY_CFLAGS is present in the environment and CFLAGS is not, setup.py
will set CFLAGS to RENPY_CFLAGS. The same is true for RENPY_LDFLAGS,
RENPY_CC, RENPY_CXX, and RENPY_LD.
Setup.py does not support cross-compiling. See https://github.com/renpy/renpy-build
for software that cross-compiles Ren'Py for many platforms.
Documentation
=============
+1 -9
View File
@@ -53,12 +53,4 @@ The quality is not perfect, but it should make sense to any developer
fluent in Finnish but not English. Adjustments will be made if better
translations are suggested.
* Lari Liuhamo (Diapolo10) <lari.liuhamo+github116504@gmail.com>
Ukrainian
---------
Translation to Ukrainian language. Most of translations provided by Veydzher.
Feel free to report me any mistakes, fixes or improvements.
* Veydzher <veydzherdgswift008@gmail.com>
* Lari Liuhamo (Diapolo10) <lari.liuhamo+github116504@gmail.com>
+2 -7
View File
@@ -8,15 +8,13 @@ import sys
from renpy import version_tuple # @UnresolvedImport
branch = os.popen("git branch --show-current").read().strip()
SOURCE = [
"/home/tom/ab/renpy",
"/home/tom/ab/renpy-build-" + branch,
"/home/tom/ab/renpy-build",
"/home/tom/ab/pygame_sdl2",
"/home/tom/ab/renpy-build/renpyweb",
]
from renpy.versions import generate_vc_version
version = generate_vc_version()["version"]
@@ -24,9 +22,6 @@ short_version = version.rpartition(".")[0]
major = version.partition(".")[0]
print("Version", version)
if major == '7':
SOURCE.append("/home/tom/ab/renpy-build-fix/renpyweb")
ap = argparse.ArgumentParser()
ap.add_argument("--release", action="store_true")
+1 -1
View File
@@ -252,7 +252,7 @@ def main():
"-q",
"egg_info",
"--tag-build",
"+renpy" + args.version.replace("+", "-"),
"+renpy" + args.version,
"sdist",
"-d",
os.path.abspath(destination)
-5
View File
@@ -1,5 +0,0 @@
*.c
*.so
*.egg-info
*.html
build
-1
View File
@@ -1 +0,0 @@
../../renpy/cslots.pyx
-8
View File
@@ -1,8 +0,0 @@
from setuptools import setup, Extension
setup(
name="cslots",
version="1.0.0",
ext_modules=[
Extension("cslots", [ "cslots.pyx" ]),
])
-7
View File
@@ -1,7 +0,0 @@
#!/bin/bash
set -e
cython -a cslots.pyx
pip install -e .
python3 -m pytest
-262
View File
@@ -1,262 +0,0 @@
import sys
import pickle
from cslots import Object, Slot, IntegerSlot
class C1(Object):
str1 : str|None = None
int1 : int = 0
def __init__(self, str1=None, int1=1):
self.str1 = str1
self.int1 = int1
class C2(C1):
str2 : str|None = None
int2 : int = 0
def __init__(self, str1=None, int1=0, str2=None, int2=0):
self.str1 = str1
self.int1 = int1
self.str2 = str2
self.int2 = int2
def test_slot_count():
assert C1._cslot_count == 2
assert C2._cslot_count == 4
def test_slots():
o = C2()
assert o.str1 is None
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
o.str1 = "hello"
o.int1 = 42
o.str2 = "world"
o.int2 = 43
assert o.str1 == "hello"
assert o.int1 == 42
assert o.str2 == "world"
assert o.int2 == 43
o.str1 = None
o.int1 = 0
o.str2 = None
o.int2 = 0
assert o.str1 is None
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
def test_compress():
def expect_size(o, values, indexes):
assert sys.getsizeof(o) == 32 + 8 * values + indexes
o = C2()
o.str1 = "hello"
o.int1 = 42
o.str2 = "world"
o.int2 = 43
expect_size(o, 4, 4)
o._compress()
assert o.str1 == "hello"
assert o.int1 == 42
assert o.str2 == "world"
assert o.int2 == 43
expect_size(o, 4, 4)
o = C2()
o.str2 = "world"
o.int2 = 43
o._compress()
assert o.str1 is None
assert o.int1 == 0
assert o.str2 == "world"
assert o.int2 == 43
expect_size(o, 2, 4)
o = C2()
o.str1 = "hello"
o._compress()
assert o.str1 == "hello"
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
expect_size(o, 1, 1)
def test_decompress():
def expect_size(o, values, indexes):
assert sys.getsizeof(o) == 32 + 8 * values + indexes
o = C2()
o.str1 = "hello"
o.int1 = 42
o.str2 = "world"
o.int2 = 43
expect_size(o, 4, 4)
o._compress()
o._decompress()
assert o.str1 == "hello"
assert o.int1 == 42
assert o.str2 == "world"
assert o.int2 == 43
expect_size(o, 4, 4)
o = C2()
o.str2 = "world"
o.int2 = 43
o._compress()
o._decompress()
assert o.str1 is None
assert o.int1 == 0
assert o.str2 == "world"
assert o.int2 == 43
expect_size(o, 4, 4)
o = C2()
o.str1 = "hello"
o._compress()
o._decompress()
assert o.str1 == "hello"
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
expect_size(o, 4, 4)
def test_kill():
o = C2()
o.str1 = "hello"
o.int1 = 42
o.str2 = "world"
o.int2 = 43
o._kill()
assert o.str1 is None
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
o = C2()
o.str2 = "world"
o.int2 = 43
o._compress()
o._kill()
assert o.str1 is None
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
def test_pickle():
o = C2()
o.str1 = "hello"
o.int1 = 42
o.str2 = "world"
o.int2 = 43
o = pickle.loads(pickle.dumps(o))
assert o.str1 == "hello"
assert o.int1 == 42
assert o.str2 == "world"
assert o.int2 == 43
o = C2()
o.str2 = "world"
o.int2 = 43
o = pickle.loads(pickle.dumps(o))
assert o.str1 is None
assert o.int1 == 0
assert o.str2 == "world"
assert o.int2 == 43
o = C2()
o.str1 = "hello"
o = pickle.loads(pickle.dumps(o))
assert o.str1 == "hello"
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
def test_pickle_compressed():
o = C2()
o.str1 = "hello"
o.int1 = 42
o.str2 = "world"
o.int2 = 43
o._compress()
o = pickle.loads(pickle.dumps(o))
assert o.str1 == "hello"
assert o.int1 == 42
assert o.str2 == "world"
assert o.int2 == 43
o = C2()
o.str2 = "world"
o.int2 = 43
o._compress()
o = pickle.loads(pickle.dumps(o))
assert o.str1 is None
assert o.int1 == 0
assert o.str2 == "world"
assert o.int2 == 43
o = C2()
o.str1 = "hello"
o._compress()
o = pickle.loads(pickle.dumps(o))
assert o.str1 == "hello"
assert o.int1 == 0
assert o.str2 is None
assert o.int2 == 0
+1 -1
View File
@@ -328,7 +328,7 @@ define gui.vbar_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.
define gui.vscrollbar_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
define gui.vslider_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
## What to do with unscrollable scrollbars in the game menu. "hide" hides them, while
## What to do with unscrollable scrollbars in the gui. "hide" hides them, while
## None shows them.
define gui.unscrollable = "hide"
-1
View File
@@ -1 +0,0 @@
## When this file exists, Ren'Py will load files in game/libs before other files in game.
+7 -10
View File
@@ -96,6 +96,7 @@ style frame:
## https://www.renpy.org/doc/html/screen_special.html#say
screen say(who, what):
style_prefix "say"
window:
id "window"
@@ -244,7 +245,9 @@ screen quick_menu():
hbox:
style_prefix "quick"
style "quick_menu"
xalign 0.5
yalign 1.0
textbutton _("Back") action Rollback()
textbutton _("History") action ShowMenu('history')
@@ -263,14 +266,9 @@ init python:
default quick_menu = True
style quick_menu is hbox
style quick_button is default
style quick_button_text is button_text
style quick_menu:
xalign 0.5
yalign 1.0
style quick_button:
properties gui.button_properties("quick_button")
@@ -664,7 +662,6 @@ screen file_slots(title):
spacing gui.page_spacing
textbutton _("<") action FilePagePrevious()
key "save_page_prev" action FilePagePrevious()
if config.has_autosave:
textbutton _("{#auto_page}A") action FilePage("auto")
@@ -677,7 +674,6 @@ screen file_slots(title):
textbutton "[page]" action FilePage(page)
textbutton _(">") action FilePageNext()
key "save_page_next" action FilePageNext()
if config.has_sync:
if CurrentScreenName() == "save":
@@ -703,7 +699,6 @@ style slot_name_text is slot_button_text
style page_label:
xpadding gui.scale(50)
ypadding gui.scale(3)
xalign 0.5
style page_label_text:
textalign 0.5
@@ -1523,9 +1518,11 @@ screen quick_menu():
if quick_menu:
hbox:
style "quick_menu"
style_prefix "quick"
xalign 0.5
yalign 1.0
textbutton _("Back") action Rollback()
textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
textbutton _("Auto") action Preference("auto-forward", "toggle")
+4 -8
View File
@@ -8,14 +8,14 @@ class Editor(renpy.editor.Editor):
has_projects = True
system = __file__.endswith(" (System).edit.py")
def get_code(self):
"""
Returns the path to the code executable.
"""
if self.system:
system = __file__.endswith(" (System).edit.py")
if system:
if "RENPY_VSCODE" in os.environ:
return os.environ["RENPY_VSCODE"]
@@ -65,11 +65,7 @@ class Editor(renpy.editor.Editor):
self.args.reverse()
code = self.get_code()
if self.system or not renpy.linux:
args = [ code, "-g" ] + self.args
else:
args = [ code, "--no-sandbox", "-g" ] + self.args
args = [ code, "-g" ] + self.args
args = [ renpy.exports.fsencode(i) for i in args ]
if renpy.windows:
+4 -8
View File
@@ -8,14 +8,14 @@ class Editor(renpy.editor.Editor):
has_projects = True
system = __file__.endswith(" (System).edit.py")
def get_code(self):
"""
Returns the path to the code executable.
"""
if self.system:
system = __file__.endswith(" (System).edit.py")
if system:
if "RENPY_VSCODE" in os.environ:
return os.environ["RENPY_VSCODE"]
@@ -65,11 +65,7 @@ class Editor(renpy.editor.Editor):
self.args.reverse()
code = self.get_code()
if self.system or not renpy.linux:
args = [ code, "-g" ] + self.args
else:
args = [ code, "--no-sandbox", "-g" ] + self.args
args = [ code, "-g" ] + self.args
args = [ renpy.exports.fsencode(i) for i in args ]
if renpy.windows:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+4 -13
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -198,7 +198,7 @@ init python:
c.save(p.path)
def android_build(p=None, gui=True, bundle=False, install=False, launch=False, destination=None, opendir=False, packages=None):
def android_build(p=None, gui=True, bundle=False, install=False, launch=False, destination=None, opendir=False):
"""
This actually builds the package.
"""
@@ -220,12 +220,9 @@ init python:
reporter = distribute.TextReporter()
rapt_interface = rapt.interface.Interface()
if not packages:
packages = ['android']
distribute.Distributor(p,
reporter=reporter,
packages=packages,
packages=[ 'android' ],
build_update=False,
noarchive=True,
packagedest=dist,
@@ -714,7 +711,6 @@ init python:
ap.add_argument("--install", action="store_true", help="Installs the app on a device.")
ap.add_argument("--launch", action="store_true", help="Launches the app after build and install complete. Implies --install.")
ap.add_argument("--destination", "--dest", default=None, action="store", help="The directory where the packaged files should be placed.")
ap.add_argument("--package", action="append", help="If given, a package to build. Defaults to building the 'android' package.")
args = ap.parse_args()
@@ -723,12 +719,7 @@ init python:
p = project.Project(args.android_project)
if args.package:
packages = args.package
else:
packages = None
android_build(p=p, gui=False, bundle=args.bundle, install=args.install, launch=args.launch, destination=args.destination, packages=packages)
android_build(p=p, gui=False, bundle=args.bundle, install=args.install, launch=args.launch, destination=args.destination)
return False
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+15 -5
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -76,14 +76,24 @@ class BinFile(object):
self.addr = addr
def tostring(self):
return self.a.tobytes()
if PY2:
return self.a.tostring() # type: ignore
else:
return self.a.tobytes()
def substring(self, start, len): # @ReservedAssignment
return self.a[start:start + len].tobytes()
if PY2:
return self.a[start:start + len].tostring() # type: ignore
else:
return self.a[start:start + len].tobytes()
def __init__(self, data):
self.a = array.array('B')
self.a.frombytes(data)
if PY2:
self.a.fromstring(data) # type: ignore
else:
self.a.frombytes(data)
##############################################################################
# These functions parse data out of the file. In these functions, offset is
@@ -386,7 +396,7 @@ def change_icons(oldexe, icofn):
#Image size is the memory size of all sections + all headers, padded to memory alignment.
#There's already a header size, and this isn't changing headers, so just add.
#There's alread a header size, and this isn't changing headers, so just add.
#imageSize = pe.OPTIONAL_HEADER.ImageBase + pe.OPTIONAL_HEADER.SizeOfHeaders
imageSize = pe.OPTIONAL_HEADER.SizeOfHeaders
for s in pe.sections:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+6 -5
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -24,6 +24,7 @@ init python:
import codecs
import re
import sys
import future.utils
def theme_names():
"""
@@ -97,7 +98,7 @@ init python:
return
renpy.style.restore(style_backup)
exec(theme_data.THEME[theme][scheme], globals(), globals())
future.utils.exec_(theme_data.THEME[theme][scheme], globals(), globals())
# Rebuild the style cache.
renpy.style.rebuild(False)
@@ -167,8 +168,8 @@ init python:
def list_logical_lines(filename):
"""
This reads in filename, and turns it into a list of logical
lines.
This reads in filename, and turns it into a list of logical
lines.
"""
f = codecs.open(filename, "rb", "utf-8")
@@ -187,7 +188,7 @@ init python:
# The line that we're building up.
line = ""
# The number of open parenthesis there are right now.
# The number of open parenthesis there are right now.
parendepth = 0
# Looping over the characters in a single logical line.
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+50 -51
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -63,7 +63,6 @@ init python in distribute:
# * Going from 7.4 to 7.5 or 8.0, the library directory changed.
# * 7.7 called os.makedirs with exist_ok=True, even on Python 2.
# * 8.2 wouldn't save the DLC state.
RENPY_PATCH = py("""\
def change_renpy_executable():
import sys, os, renpy, site
@@ -83,24 +82,6 @@ if sys.version_info.major == 2:
os.old_makedirs(name, mode)
os.makedirs = makedirs
def fix_dlc(name, fn):
import sys, os
if not os.path.exists(os.path.join(config.renpy_base, fn)):
return
u = sys._getframe(2).f_locals["self"]
if name in u.current_state:
return
u.add_dlc_state(name)
fix_dlc("steam", "lib/py3-linux-x86_64/libsteam_api.so")
fix_dlc("steam", "lib/py2-linux-x86_64/libsteam_api.so")
fix_dlc("web", "web")
fix_dlc("rapt", "rapt")
fix_dlc("renios", "renios")
""")
match_cache = { }
@@ -432,7 +413,10 @@ fix_dlc("renios", "renios")
for f in sorted(self, key=lambda a : a.name):
f.hash(sha, distributor)
return sha.hexdigest()
if PY2:
return sha.hexdigest().decode("utf-8")
else:
return sha.hexdigest()
def split_by_prefix(self, prefix):
"""
@@ -658,6 +642,7 @@ fix_dlc("renios", "renios")
# Build the mac app and windows exes.
self.add_mac_files()
self.add_windows_files()
self.add_main_py()
# Add the main.py.
self.add_main_py()
@@ -894,7 +879,7 @@ fix_dlc("renios", "renios")
if not os.path.exists(path):
raise Exception("{} does not exist.".format(path))
if isinstance(file_list, str):
if isinstance(file_list, basestring):
file_list = file_list.split()
f = File(name, path, False, executable)
@@ -907,7 +892,7 @@ fix_dlc("renios", "renios")
Adds an empty directory to the file lists.
"""
if isinstance(file_list, str):
if isinstance(file_list, basestring):
file_list = file_list.split()
f = File(name, None, True, False)
@@ -943,15 +928,6 @@ fix_dlc("renios", "renios")
arcfn = arcname + ".rpa"
arcpath = self.temp_filename(arcfn)
# Create new directories leading to the new archive file relative to the tmp root
# if the archive's name indicates it should be in a subdirectory
arc_relpath = os.path.relpath(arcpath, self.project.tmp)
arc_subdir = os.path.dirname(arc_relpath)
if arc_subdir:
abs_subdir = os.path.join(self.project.tmp, arc_subdir)
os.makedirs(abs_subdir, exist_ok=True)
af = archiver.Archive(arcpath)
fll = len(self.file_lists[arcname])
@@ -990,7 +966,7 @@ fix_dlc("renios", "renios")
script_version_txt = self.temp_filename("script_version.txt")
with open(script_version_txt, "w") as f:
f.write(repr(renpy.renpy.version_tuple[:-1]))
f.write(unicode(repr(renpy.renpy.version_tuple[:-1])))
self.add_file("all", "game/script_version.txt", script_version_txt)
@@ -1080,8 +1056,11 @@ fix_dlc("renios", "renios")
rv = self.temp_filename("Info.plist")
with open(rv, "wb") as f:
plistlib.dump(plist, f)
if PY2:
plistlib.writePlist(plist, rv)
else:
with open(rv, "wb") as f:
plistlib.dump(plist, f)
return rv
@@ -1102,14 +1081,12 @@ fix_dlc("renios", "renios")
prefix = py("lib/py{major}-")
i686fn = os.path.join(config.renpy_base, prefix + "linux-i686/renpy")
if os.path.exists(i686fn):
if os.path.exists(linux_i686):
self.add_file(
linux_i686,
prefix + "linux-i686/" + self.executable_name,
i686fn,
os.path.join(config.renpy_base, prefix + "linux-i686/renpy"),
True)
self.add_file(
@@ -1118,6 +1095,16 @@ fix_dlc("renios", "renios")
os.path.join(config.renpy_base, prefix + "linux-x86_64/renpy"),
True)
armfn = os.path.join(config.renpy_base, prefix + "linux-armv7l/renpy")
if os.path.exists(armfn):
self.add_file(
raspi,
prefix + "linux-armv7l/" + self.executable_name,
armfn,
True)
aarch64fn = os.path.join(config.renpy_base, prefix + "linux-aarch64/renpy")
if os.path.exists(aarch64fn):
@@ -1220,8 +1207,19 @@ fix_dlc("renios", "renios")
if os.path.exists(tmp):
self.add_file(fl, dst, tmp)
write_exe("lib/py3-windows-x86_64/renpy.exe", self.exe, self.exe, windows)
write_exe("lib/py3-windows-x86_64/pythonw.exe", "lib/py3-windows-x86_64/pythonw.exe", "pythonw-64.exe", windows)
if PY2:
if self.build["include_i686"]:
write_exe("lib/py2-windows-i686/renpy.exe", self.exe32, self.exe32, windows_i686)
write_exe("lib/py2-windows-i686/pythonw.exe", "lib/py2-windows-i686/pythonw.exe", "pythonw-32.exe", windows_i686)
write_exe("lib/py2-windows-x86_64/renpy.exe", self.exe, self.exe, windows)
write_exe("lib/py2-windows-x86_64/pythonw.exe", "lib/py2-windows-x86_64/pythonw.exe", "pythonw-64.exe", windows)
else:
write_exe("lib/py3-windows-x86_64/renpy.exe", self.exe, self.exe, windows)
write_exe("lib/py3-windows-x86_64/pythonw.exe", "lib/py3-windows-x86_64/pythonw.exe", "pythonw-64.exe", windows)
def add_main_py(self):
@@ -1514,12 +1512,11 @@ fix_dlc("renios", "renios")
update = { variant : { "version" : self.update_versions[variant], "base_name" : self.base_name, "files" : update_files, "directories" : update_directories, "xbit" : update_xbit } }
update_fn = self.temp_filename(filename + ".update.json")
update_fn = os.path.join(self.destination, filename + ".update.json")
if self.include_update and not format.startswith("app-"):
with open(update_fn, "w") as f:
with open(update_fn, "wb" if PY2 else "w") as f:
json.dump(update, f, indent=2)
if (not dlc) or (format == "update"):
@@ -1549,11 +1546,14 @@ fix_dlc("renios", "renios")
in this thread or a background thread.
"""
final_update_fn = os.path.join(self.destination, filename + ".update.json")
if self.build_update or dlc:
if self.include_update and not self.build_update and not dlc:
if os.path.exists(update_fn):
shutil.copy(update_fn, final_update_fn)
os.unlink(update_fn)
if not directory:
file_hash = hash_file(path)
else:
file_hash = ""
if format == "tar.bz2" or format == "bare-tar.bz2":
pkg = TarPackage(path, "w:bz2")
@@ -1787,9 +1787,8 @@ fix_dlc("renios", "renios")
reporter.info(_("Recompiling all rpy files into rpyc files..."))
project.launch([ "compile", "--keep-orphan-rpyc" ], wait=True)
files = [
fn + "c" for fn in project.script_files()
if fn.startswith("game/") and project.exists(fn + "c")]
files = [fn + "c" for fn in project.script_files()
if fn.startswith("game/") and project.exists(fn + "c")]
len_files = len(files)
if not files:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -52,7 +52,7 @@ init python:
# This is set to true by cancel() to indicate the download should be cancelled.
self.cancelled = False
# Set on success or failure.
# Set on succes or failure.
self.success = False
self.failure = None
+23 -80
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -138,26 +138,6 @@ init 1 python in editor:
# If the editor is considered deprecated for use with Ren'Py.
self.deprecated = deprecated
def vscode_path():
"""
Gets the path to VS Code for this platform.
"""
if renpy.windows:
return os.path.join(config.renpy_base, "vscode/VSCode-win32-x64")
elif renpy.macintosh:
return os.path.join(config.renpy_base, "vscode/Visual Studio Code.app")
else:
if renpy.arch == "aarch64":
arch = "arm64"
elif renpy.arch == "armv7l":
arch = "arm"
else:
arch = "x64"
return os.path.join(config.renpy_base, "vscode/VSCode-linux-" + arch)
def fancy_scan_editors():
"""
Creates the list of FancyEditorInfo objects.
@@ -175,7 +155,19 @@ init 1 python in editor:
AD1 = _("A modern editor with many extensions including advanced Ren'Py integration.")
AD2 = _("A modern editor with many extensions including advanced Ren'Py integration.\n{a=jump:reinstall_vscode}Upgrade Visual Studio Code to the latest version.{/a}")
installed = os.path.exists(vscode_path())
if renpy.windows:
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/VSCode-win32-x64"))
elif renpy.macintosh:
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/Visual Studio Code.app"))
else:
if renpy.arch == "aarch64":
arch = "arm64"
elif renpy.arch == "armv7l":
arch = "arm"
else:
arch = "x64"
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/VSCode-linux-" + arch))
e = FancyEditorInfo(
0,
@@ -225,7 +217,7 @@ init 1 python in editor:
_("JEdit is deprecated, using another editor is recommended."),
"jedit",
_("1.8 MB download required."),
_("This may have occurred because Java is not installed on this system."),
_("This may have occured because Java is not installed on this system."),
deprecated=True,
)
@@ -245,6 +237,9 @@ init 1 python in editor:
_("Invokes the editor your operating system has associated with .rpy files."),
None))
for k in editors:
if k in [ "Visual Studio Code", "Visual Studio Code (System)", "Atom", "jEdit", "System Editor", "None" ]:
continue
@@ -411,7 +406,7 @@ init 1 python in editor:
except Exception as e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
class EditAbsolute(Action):
def __init__(self, filename, line=None, check=False):
@@ -457,7 +452,7 @@ init 1 python in editor:
except Exception as e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
class EditAll(Action):
@@ -495,7 +490,7 @@ init 1 python in editor:
except Exception as e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
class EditProject(Action):
@@ -518,7 +513,7 @@ init 1 python in editor:
except Exception as e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
def CanEditProject():
@@ -533,27 +528,6 @@ init 1 python in editor:
return False
def check_old_vscode_extension():
"""
Check to see if the old version of the Ren'Py vscode extension is installed.
"""
extensions = os.path.join(vscode_path(), "data", "extensions")
if not os.path.isdir(extensions):
return False
for i in util.listdir(extensions):
if i.lower().startswith("renpy.language-renpy-"):
return False
for i in util.listdir(extensions):
if i.lower().startswith("luquedaniel.languague-renpy-"):
return True
return False
screen editor:
frame:
@@ -616,13 +590,6 @@ label reinstall_vscode:
jump editor_preference
label upgrade_vscode_extension:
python hide:
manifest = "vscode"
renpy.invoke_in_new_context(installer.manifest, "https://www.renpy.org/extensions/vscode/upgrade_extension.py", renpy=True)
jump post_extension_check
label editor_preference:
call screen editor
jump preferences
@@ -645,7 +612,7 @@ label editor_check:
], "select")
else:
jump post_atom_check
jump post_editor_check
if result == "select":
$ renpy.pop_call()
@@ -654,28 +621,4 @@ label editor_check:
elif result == "block":
$ persistent.ignore_obsolete_editor.add(persistent.editor)
label post_atom_check:
if "luquedaniel.languague-renpy" in persistent.ignore_obsolete_editor:
jump post_extension_check
if persistent.editor != "Visual Studio Code":
jump post_extension_check
if editor.check_old_vscode_extension():
$ result = interface.choice(
_("You are using an old version of the Ren'Py Language support for Visual Studio Code. Would you like to upgrade?"), [
( "upgrade", _("Upgrade.")),
( "ignore", _("Ignore until next launch.")),
( "block", _("Do not ask again.")),
], "select")
if result == "upgrade":
jump upgrade_vscode_extension
elif result == "block":
$ persistent.ignore_obsolete_editor.add("luquedaniel.languague-renpy")
label post_extension_check:
jump post_editor_check
+12 -8
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -157,11 +157,13 @@ screen front_page_project:
label _("Open Directory") style "l_label_small"
frame style "l_indent":
has grid 2 max(5, (len(p.get_renpy_launcher()["open_directory"]) + 1) // 2):
transpose True xfill True
has vbox
for button_name, path in p.get_renpy_launcher()["open_directory"].items():
textbutton button_name action OpenDirectory(os.path.join(p.path, path), absolute=True)
textbutton "game" action OpenDirectory(os.path.join(p.path, "game"), absolute=True)
textbutton "base" action OpenDirectory(os.path.join(p.path, "."), absolute=True)
textbutton "images" action OpenDirectory(os.path.join(p.path, "game/images"), absolute=True)
textbutton "audio" action OpenDirectory(os.path.join(p.path, "game/audio"), absolute=True)
textbutton "gui" action OpenDirectory(os.path.join(p.path, "game/gui"), absolute=True)
vbox:
if persistent.show_edit_funcs:
@@ -171,8 +173,10 @@ screen front_page_project:
frame style "l_indent":
has vbox
for button_name, path in p.get_renpy_launcher()["edit_file"].items():
textbutton button_name action editor.Edit(path, check=True)
textbutton "script.rpy" action editor.Edit("game/script.rpy", check=True)
textbutton "options.rpy" action editor.Edit("game/options.rpy", check=True)
textbutton "gui.rpy" action editor.Edit("game/gui.rpy", check=True)
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
if editor.CanEditProject():
textbutton _("Open project") action editor.EditProject()
@@ -212,7 +216,7 @@ screen front_page_project:
textbutton _("Android") action Jump("android")
textbutton _("iOS") action Jump("ios")
textbutton _("Web") action Jump("web")
textbutton _("Web") + " " + _("(Beta)") action Jump("web")
textbutton _("Generate Translations") action Jump("translate")
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
+1 -10
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -26,15 +26,6 @@ define gui.asian = False
# and provides the full path to the template project.
default gui_template_path = None
define LIBS_TXT = _("""\
The game/libs/ directory is meant for third-party libraries that ask to be
put in game/libs.
When this file (game/libs/libs.txt) is present, Ren'Py will load all files
in libs before any other file in game/, and will not consider directory names
when loading these files.
""")
init -1 python:
import gui7
+2 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -28,19 +28,15 @@ import os
import shutil
def finish(p):
for dn in [ "images", "audio", "libs" ]:
for dn in [ "images", "audio" ]:
fulldn = os.path.join(p.prefix, dn)
if not os.path.exists(fulldn):
os.mkdir(fulldn)
with open(os.path.join(p.prefix, "libs", "libs.txt"), "w") as f:
f.write(renpy.translation.translate_string(renpy.store.LIBS_TXT, language=p.language))
def generate_gui(p):
ImageGenerator(p).generate_all()
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -172,7 +172,7 @@ class CodeGenerator(object):
for l in self.lines:
m = re.match(r'^(\s*)define (.*?) =', l)
m = re.match('^(\s*)define (.*?) =', l)
if m:
indent = m.group(1)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

+10 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -81,7 +81,10 @@ init python:
label install_live2d:
python hide:
_prefix = r"lib/py3-"
if PY2:
_prefix = r"lib/py2-"
else:
_prefix = r"lib/py3-"
patterns = [
(r".*/Core/dll/linux/x86_64/(libLive2DCubismCore.so)", _prefix + r"linux-x86_64/\1"),
@@ -94,6 +97,11 @@ label install_live2d:
(r".*/Core/dll/android/(x86_64/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
]
if PY2:
patterns.extend([
(r".*/Core/dll/windows/x86/(Live2DCubismCore.dll)", _prefix + r"windows-i686/\1"),
])
install_from_zip("Live2D Cubism SDK for Native", "CubismSdkForNative-[45]-*.zip", patterns)
jump front_page
+3 -7
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -169,7 +169,7 @@ def _check_hash(filename, hashj):
download_file = ""
download_url = ""
def download(url, filename, hash=None, headers=None, requests_kwargs={}):
def download(url, filename, hash=None):
"""
Downloads `url` to `filename`, a tempfile.
"""
@@ -188,13 +188,9 @@ def download(url, filename, hash=None, headers=None, requests_kwargs={}):
progress_time = time.time()
all_headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36 renpy/8'}
if headers:
all_headers.update(headers)
try:
response = requests.get(url, stream=True, proxies=renpy.exports.proxies, timeout=15, headers=all_headers, **requests_kwargs)
response = requests.get(url, stream=True, proxies=renpy.exports.proxies, timeout=15)
response.raise_for_status()
total_size = int(response.headers.get('content-length', 1))
+6 -13
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -33,10 +33,6 @@ init python in interface:
DOC_URL = "http://www.renpy.org/doc/html/"
DOC_LOCAL_URL = "file:///" + DOC_PATH
# If true, the launcher should not link back to renpy.org.
NO_LAUNCHER_LINKS = os.path.exists(os.path.join(config.renpy_base, "no_launcher_links.txt"))
local_doc_exists = os.path.exists(DOC_PATH)
def get_doc_url(page):
@@ -44,7 +40,7 @@ init python in interface:
Returns the URL to the documentation page.
"""
if local_doc_exists and (NO_LAUNCHER_LINKS or not persistent.use_web_doc):
if local_doc_exists and not persistent.use_web_doc:
from urllib.parse import urljoin
from urllib.request import pathname2url
@@ -121,10 +117,7 @@ screen bottom_info:
hbox:
spacing INDENT
textbutton _("Documentation") style "l_link" action interface.OpenDocumentation()
if not interface.NO_LAUNCHER_LINKS:
textbutton _("Ren'Py Website") style "l_link" action OpenURL(interface.RENPY_URL)
textbutton _("Ren'Py Website") style "l_link" action OpenURL(interface.RENPY_URL)
textbutton _("[interface.version]") style "l_link" action Jump("about")
hbox:
@@ -140,7 +133,7 @@ screen bottom_info:
textbutton _("preferences") style "l_link" action Jump("preferences")
textbutton _("quit") style "l_link" action Quit(confirm=False)
if persistent.sponsor_message and not interface.NO_LAUNCHER_LINKS:
if persistent.sponsor_message:
textbutton _("Ren'Py Sponsor Information"):
style "l_link"
@@ -352,7 +345,7 @@ init python in interface:
def error(message, submessage=None, label="front_page", **kwargs):
"""
Indicates to the user that an error has occurred.
Indicates to the user that an error has occured.
`message`
The message to display.
@@ -408,7 +401,7 @@ init python in interface:
except Exception as e:
renpy.renpy.error.report_exception(e, editor=False)
error(_("While [what!qt], an error occurred:"),
error(_("While [what!qt], an error occured:"),
_("[exception!q]"),
what=what,
label=label,
+4 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -164,6 +164,9 @@ init python:
print("Eliminating __pycache__...")
if PY2:
return
import pathlib
import sys
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -50,7 +50,7 @@ init python:
pass
with interface.error_handling(_("Downloading the itch.io butler.")):
url = "https://broth.itch.zone/butler/{}/LATEST/archive/default".format(platform)
url = "https://broth.itch.ovh/butler/{}/LATEST/archive/default".format(platform)
response = requests.get(url, headers={'User-Agent' : "Renpy"}, proxies=renpy.proxies)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -32,7 +32,7 @@ init -1 python:
if not renpy.loadable(fn1):
return True
hash1 = renpy.open_file(fn1, encoding="utf-8").read()
hash1 = renpy.file(fn1).read().decode("utf-8")
if not os.path.exists(fn2):
return False
@@ -91,7 +91,7 @@ init -1 python:
def log(self, msg):
with open(self.filename, "a") as f:
f.write("\n")
f.write(msg)
f.write(unicode(msg))
f.write("\n")
def info(self, prompt):
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+4 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -34,6 +34,9 @@ label new_project:
if persistent.projects_directory is None:
$ interface.error(_("The projects directory could not be set. Giving up."))
if PY2:
$ interface.info(_("Warning : you are using Ren'Py 7. It is recommended to start new projects using Ren'Py 8 instead."))
python:
new_project_language = __("{#language name and font}")
gui_kind = "new_gui_project"
+31 -33
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -189,12 +189,7 @@ init -1 python hide:
config.has_voice = False
config.force_sound = False
config.quit_action = Quit(confirm=False)
if renpy.macintosh:
config.window_icon = "images/window-icon-mac.png"
else:
config.window_icon = "images/window-icon.png"
config.window_icon = "images/logo.png"
config.has_autosave = False
config.log_enable = False
config.mouse_hide_time = None
@@ -301,8 +296,6 @@ init python:
build.classify_renpy("**.new", None)
build.classify_renpy("**.bak", None)
build.classify_renpy("**.keystore", None)
build.classify_renpy("**/log.txt", None)
build.classify_renpy("**/traceback.txt", None)
build.classify_renpy("**/errors.txt", None)
@@ -322,7 +315,7 @@ init python:
"""
if py is True:
py = 'pycache'
py = 'pyo' if PY2 else 'pycache'
if py == 'pycache':
build.classify_renpy(pattern + "/**__pycache__/", binary)
@@ -346,8 +339,6 @@ init python:
build.classify_renpy(pattern + "/**.pyo", None)
build.classify_renpy(pattern + "/**.pyi", None)
build.classify_renpy(pattern + "/**.pyx", "source_only")
build.classify_renpy(pattern + "/**.pxd", "source_only")
build.classify_renpy(pattern + "/**.rpyc", binary)
build.classify_renpy(pattern + "/**.rpymc", binary)
@@ -359,7 +350,6 @@ init python:
build.classify_renpy(pattern + "/**", source)
build.classify_renpy("renpy/gl/", None)
build.classify_renpy("renpy.py", "binary")
source_and_binary("renpy")
@@ -395,31 +385,39 @@ init python:
build.classify_renpy("sphinx/source/inc/", None)
build.classify_renpy("sphinx/source/**", "source_only")
# Build System.
build.classify_renpy("setup.py", "source_only")
build.classify_renpy("src/**", "source_only")
build.classify_renpy("scripts/", "source_only")
build.classify_renpy("scripts/setuplib.py", "source_only")
build.classify_renpy("scripts/generate_styles.py", "source_only")
# module.
build.classify_renpy("module/", "source")
build.classify_renpy("module/*.c", "source")
build.classify_renpy("module/gen/", None)
build.classify_renpy("module/*.h", "source")
build.classify_renpy("module/*.py*", "source")
build.classify_renpy("module/include/", "source")
build.classify_renpy("module/include/*.pxd", "source")
build.classify_renpy("module/include/*.pxi", "source")
build.classify_renpy("module/pysdlsound/", "source")
build.classify_renpy("module/pysdlsound/*.py", "source")
build.classify_renpy("module/pysdlsound/*.pyx", "source")
build.classify_renpy("module/fribidi-src/**", "source")
build.classify_renpy("module/tinyfiledialogs/**", "source")
build.classify_renpy("module/libhydrogen/**", "source")
# all-platforms binary.
build.classify_renpy("lib/**/libpython{}.{}.dll".format(sys.version_info.major, sys.version_info.minor), "binary")
build.classify_renpy("lib/**/libpython*.dll", None)
build.classify_renpy("lib/**/*steam_api*", "steam")
build.classify_renpy("lib/**/*Live2D*", None)
build.classify_renpy("lib/py3-linux-armv7l", None)
build.classify_renpy("lib/py3-linux-aarch64/**", "linux_arm")
source_and_binary("lib/py3-**", "binary", "binary")
libpython = "lib/python{}.{}".format(sys.version_info.major, sys.version_info.minor)
source_and_binary(libpython, "binary", "binary", py='pyc')
build.classify_renpy("lib/python**", None)
build.classify_renpy("lib/py2-**", None)
build.classify_renpy("renpy3.sh", "binary")
if PY2:
build.classify_renpy("lib/py2-linux-armv7l/**", "linux_arm")
build.classify_renpy("lib/py2-linux-aarch64/**", "linux_arm")
source_and_binary("lib/py2-**", "binary", "binary")
source_and_binary("lib/python2**", "binary", "binary")
build.classify_renpy("renpy2.sh", "binary")
else:
build.classify_renpy("lib/py3-linux-armv7l/**", "linux_arm")
build.classify_renpy("lib/py3-linux-aarch64/**", "linux_arm")
source_and_binary("lib/py3-**", "binary", "binary")
source_and_binary("lib/python3**", "binary", "binary", py='pyc')
build.classify_renpy("renpy3.sh", "binary")
build.classify_renpy("lib/", "binary")
+95 -12
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -34,21 +34,106 @@ init python in distribute:
from zipfile import crc32
# Since the long type doesn't exist on py3, define it here
long = int
if not PY2:
long = int
zlib.Z_DEFAULT_COMPRESSION = 5
class ZipFile(zipfile.ZipFile):
if PY2:
def write_with_info(self, zinfo, filename):
class ZipFile(zipfile.ZipFile):
if zinfo.filename.endswith("/"):
data = b''
else:
with open(filename, "rb") as f:
data = f.read()
def write_with_info(self, zinfo, filename):
"""Put the bytes from filename into the archive under the name
arcname."""
if not self.fp:
raise RuntimeError(
"Attempt to write to ZIP archive that was already closed")
self.writestr(zinfo, data)
st = os.stat(filename)
isdir = stat.S_ISDIR(st.st_mode)
zinfo.file_size = st.st_size
zinfo.flag_bits = 0x00
zinfo.header_offset = self.fp.tell() # Start of header bytes
self._writecheck(zinfo)
self._didModify = True
if isdir:
zinfo.file_size = 0
zinfo.compress_size = 0
zinfo.CRC = 0
self.filelist.append(zinfo)
self.NameToInfo[zinfo.filename] = zinfo
self.fp.write(zinfo.FileHeader())
return
with open(filename, "rb") as fp:
# Must overwrite CRC and sizes with correct data later
zinfo.CRC = CRC = 0
zinfo.compress_size = compress_size = 0
file_size = 0
zip64 = self._allowZip64 and \
zinfo.file_size * 1.05 > zipfile.ZIP64_LIMIT
self.fp.write(zinfo.FileHeader(zip64))
if zinfo.compress_type == zipfile.ZIP_DEFLATED:
cmpr = zlib.compressobj(zlib.Z_DEFAULT_COMPRESSION,
zlib.DEFLATED, -15)
else:
cmpr = None
while 1:
buf = fp.read(1024 * 1024)
if not buf:
break
file_size = file_size + len(buf)
CRC = crc32(buf, CRC) & 0xffffffff
if cmpr:
buf = cmpr.compress(buf)
compress_size = compress_size + len(buf)
self.fp.write(buf)
if cmpr:
buf = cmpr.flush()
compress_size = compress_size + len(buf)
self.fp.write(buf)
zinfo.compress_size = compress_size
else:
zinfo.compress_size = file_size
zinfo.CRC = CRC
zinfo.file_size = file_size
if not zip64 and self._allowZip64:
if file_size > zipfile.ZIP64_LIMIT:
raise RuntimeError('File size has increased during compressing')
if compress_size > zipfile.ZIP64_LIMIT:
raise RuntimeError('Compressed size larger than uncompressed size')
# Seek backwards and write CRC and file sizes
position = self.fp.tell() # Preserve current position in file
self.fp.seek(zinfo.header_offset, 0)
self.fp.write(zinfo.FileHeader(zip64))
self.fp.seek(position, 0)
self.filelist.append(zinfo)
self.NameToInfo[zinfo.filename] = zinfo
else:
class ZipFile(zipfile.ZipFile):
def write_with_info(self, zinfo, filename):
if zinfo.filename.endswith("/"):
data = b''
else:
with open(filename, "rb") as f:
data = f.read()
self.writestr(zinfo, data)
class ZipPackage(object):
@@ -384,5 +469,3 @@ init python in distribute:
for i in parallel_threads:
if i.done:
i.done()
parallel_threads.clear()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+10 -45
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -92,10 +92,6 @@ init python in project:
# The mtime of the last dump file loaded.
self.dump_mtime = 0
# A processed version of data['renpy_launcher'] with missing files
# and directories removed.
self.renpy_launcher = None
def get_dump_filename(self):
if os.path.exists(os.path.join(self.gamedir, "saves")):
@@ -120,7 +116,7 @@ init python in project:
try:
with open(os.path.join(self.path, "project.json"), "w") as f:
json.dump(self.data, f, indent=2)
json.dump(self.data, f)
except Exception:
self.load_data()
@@ -160,43 +156,6 @@ init python in project:
data["renamed_steam"] = True
def get_renpy_launcher(self):
if self.renpy_launcher is not None:
return self.renpy_launcher
rv = { }
default_values = {
"open_directory":
{
"game": "game",
"base": ".",
"images": "game/images",
"audio": "game/audio",
"gui": "game/gui",
"libs": "game/libs",
"mods": "game/mods",
},
"edit_file":
{
"script.rpy": "game/script.rpy",
"options.rpy": "game/options.rpy",
"gui.rpy": "game/gui.rpy",
"screens.rpy": "game/screens.rpy"
}
}
for k, default_d in default_values.items():
d = self.data.get("renpy_launcher", {}).get(k, default_d)
rv[k] = { name : path for name, path in d.items() if os.path.exists(os.path.join(self.path, path)) }
self.renpy_launcher = rv
return rv
def make_tmp(self):
"""
Makes the project's temporary directory, if it doesn't exist
@@ -393,6 +352,12 @@ init python in project:
line = line[:1024]
if PY2:
try:
line = line.decode("utf-8")
except Exception:
continue
m = re.search(r"#\s*TODO(\s*:\s*|\s+)(.*)", line, re.I)
if m is None:
@@ -707,7 +672,7 @@ init python in project:
The label to jump to when clicked.
"""
if isinstance(p, str):
if isinstance(p, basestring):
p = manager.get(p)
self.project = p
@@ -795,7 +760,7 @@ init python in project:
def __init__(self, p=None):
if p is None:
self.project = current
elif isinstance(p, str):
elif isinstance(p, basestring):
self.project = manager.get(p)
else:
self.project = p
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -5
View File
@@ -364,7 +364,7 @@
new "{b}نقترح.{/b} محرر نص له واجهة سهلة الاستعمال ويعين على كتابة النصوص البرمجية يفضل برنامج يحتوي على مدقق لغوي. Editraحالياً لا يدعم اللغات الأجنبية مثل اللغه الكورية و الصينية و اليابانية. على نظام لينوكس, Editra يحتاج wxPython."
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "قد يكون سبب ذلك ان wxPython غير موجود في نظام التشغيل لديك"
# editor.rpy:169
@@ -380,7 +380,7 @@
new "مطلوب تحميل ملف بحجم 1.8 ميغا بايت."
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "قد يكون السبب ان الجافا غير موجوده على هذا الجهاز."
# editor.rpy:191
@@ -392,7 +392,7 @@
new "يمنع رينباي من فتح اي محرر نصوص"
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "حصل استثناء اثناء فتح المحرر: \n[exception!q]"
# editor.rpy:457
@@ -608,7 +608,7 @@
new "خطأ"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "حصل خطأ أثناء [what!qt]"
# interface.rpy:356
@@ -1136,7 +1136,7 @@
new "أحدث نسخة طازجة من رينباي التجريبي, قد يحتوي على آخر مستجدات رينباي و قد لا يعمل مطلقاً"
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "حصل خطأ:"
# updater.rpy:154
+1 -1
View File
@@ -929,7 +929,7 @@
new "Spildataene er blevet hentet."
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
old "An error occured when trying to download game data:"
new "En fejl opstod under forsøg på hentning af spildata:"
# renpy/common/00updater.rpy:2083
+4 -4
View File
@@ -749,7 +749,7 @@
new "Hentning af 1.8 MB påkrævet."
# game/editor.rpy:211
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Dette er muligvis opstået, fordi Java ikke er installeret på dette system."
# game/editor.rpy:220
@@ -781,7 +781,7 @@
new "Rediger [text]."
# game/editor.rpy:401
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "En undtagelse opstod under opstart af tekstbehandleren:\n[exception!q]"
# game/editor.rpy:533
@@ -1073,7 +1073,7 @@
new "åbner logfilen"
# game/interface.rpy:407
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "En fejl opstod under [what!qt]:"
# game/interface.rpy:407
@@ -1753,7 +1753,7 @@
new "%d. %B, %Y"
# game/updater.rpy:163
old "An error has occurred:"
old "An error has occured:"
new "En fejl er opstået:"
# game/updater.rpy:165
+5 -5
View File
@@ -364,7 +364,7 @@
new "{b}Suositeltu.{/b} Helppokäyttöinen beta-asteella oleva tekstieditori, joka sisältää kehitystä helpottavia toimintoja. Toistaiseksi Editrasta puuttuu täysin kiinalaisen, japanilaisen ja korealaisen tekstin kannatus."
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Tämä saattoi tapahtua, koska wxPythonia ei ole asennettu järjestelmään."
# editor.rpy:169
@@ -380,7 +380,7 @@
new "1.8 MB lataus vaaditaan."
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Tämä saattoi tapahtua, koska Javaa ei ole asennettu."
# editor.rpy:191
@@ -392,7 +392,7 @@
new "Estää Ren'Py-ohjelmaa avaamasta tekstieditoria."
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Virhe käynnistäessä tekstieditoria:\n[exception!q]"
# editor.rpy:457
@@ -610,7 +610,7 @@
new "VIRHE"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Kun [what!qt], tapahtui virhe:"
# interface.rpy:356
@@ -1138,7 +1138,7 @@
new "Upouudet Ren'Py-kehitysjulkaisut. Voi sisältää uusimmat toiminnot, tai ei ehkä toimi lainkaan."
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "On tapahtunut virhe:"
# updater.rpy:154
+5 -5
View File
@@ -365,7 +365,7 @@
new "{b}Recommandé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités dassistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen. Sur GNU-Linux, Editra nécessite wxPython."
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Cela est sans doute dû au fait que wxPython nest pas installé sur votre système."
# editor.rpy:169
@@ -381,7 +381,7 @@
new "1.8 Mo de téléchargement requis."
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Cela est sans doute produit parce que Java nest pas installé sur ce système."
# editor.rpy:191
@@ -393,7 +393,7 @@
new "Empêcher RenPy douvrir un éditeur de texte."
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Une exception est survenue lors du lancement de l’éditeur de texte :\n[exception!q]"
# editor.rpy:457
@@ -609,7 +609,7 @@
new "ERREUR"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Pendant que [what!qt], une erreur est survenue :"
# interface.rpy:356
@@ -1177,7 +1177,7 @@
new "Une version journalière qui corrige les bugs de la dernière version stable."
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "Une erreur est survenue :"
# updater.rpy:154
+125 -74
View File
@@ -163,43 +163,43 @@ translate german strings:
# 00gui.rpy:227
old "Are you sure?"
new "Bist Du sicher?"
new "Sind Sie sicher?"
# 00gui.rpy:228
old "Are you sure you want to delete this save?"
new "Bist Du sicher, dass Du diese Datei löschen möchtest?"
new "Sind Sie sicher, dass Sie diese Datei löschen möchten?"
# 00gui.rpy:229
old "Are you sure you want to overwrite your save?"
new "Bist Du sicher, dass Du diese Datei überschreiben möchtest?"
new "Sind Sie sicher, dass Sie diese Datei überschreiben möchten?"
# 00gui.rpy:230
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Beim Laden geht ungespeicherter Fortschritt verloren.\nBist Du sicher, dass Du das tun möchtest?"
new "Beim Laden geht ungespeicherter Fortschritt verloren.\nSind Sie sicher, dass Sie das tun möchten?"
# 00gui.rpy:231
old "Are you sure you want to quit?"
new "Bist Du sicher, dass Du das Spiel beenden möchtest?"
new "Sind Sie sicher, dass Sie beenden möchten?"
# 00gui.rpy:232
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Bist Du sicher, dass Du zurück zum Hauptmenü möchtest?\nUngespeicherter Fortschritt geht dabei verloren."
new "Sind Sie sicher, dass Sie zurück zum Hauptmenü möchten?\nUngespeicherter Fortschritt geht dabei verloren."
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Bist Du sicher, dass Du die Szenen-Wiederholung beenden möchtest?"
new "Sind Sie sicher, dass sie die Szenen-Wiederholung beenden möchten?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
new "Bist Du sicher, dass Du vorspulen möchtest?"
new "Sind Sie sicher, dass Sie Text überspringen möchten?"
# 00gui.rpy:235
old "Are you sure you want to skip to the next choice?"
new "Bist Du sicher, dass Du zur nächsten Entscheidung springen möchtest?"
new "Sind Sie sicher, dass Sie zur nächsten Auswahl springen möchten?"
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Bist Du sicher, dass Du ungesehenen Dialog bis zur nächsten Entscheidung überspringen möchtest?"
new "Sind Sie sicher, dass sie ungesehenen Dialog bis zur nächsten Entscheidung überspringen möchten?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -220,7 +220,7 @@ translate german strings:
# 00library.rpy:179
old "Skip Mode"
new "Vorspul-Modus"
new "Skip-Modus"
# 00library.rpy:262
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}."
@@ -229,19 +229,19 @@ translate german strings:
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
# Automatic translation.
new "Zwischenablage-Voicing aktiviert. Drücke 'Shift+C' zum Deaktivieren."
new "Zwischenablage-Voicing aktiviert. Drücken Sie 'Umschalt+C' zum Deaktivieren."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Sprachausgabe würde \"[renpy.display.tts.last]\" sagen. Drücke 'Alt+Shift+V' zum Deaktivieren."
new "Sprachausgabe würde \"[renpy.display.tts.last]\" sagen. Zum deaktivieren 'alt+shift+V' drücken."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Sprachausgabe aktiviert. Drücke 'V' zum Deaktivieren."
new "Sprachausgabe aktiviert. Zum deaktivieren 'v' drücken."
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Kontaktiere App Store\nBitte warten..."
new "Kontaktiert App Store\nBitte warten..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -249,7 +249,7 @@ translate german strings:
# 00updater.rpy:486
old "An error is being simulated."
new "Ein Fehler wird simuliert."
new "Ein Error wird simuliert."
# 00updater.rpy:662
old "Either this project does not support updating, or the update status file was deleted."
@@ -278,7 +278,7 @@ translate german strings:
# 00updater.rpy:1049
old "While unpacking {}, unknown type {}."
# Automatic translation.
new "Beim Entpacken {}, unbekannter Typ {}."
new "Beim Auspacken {}, unbekannter Typ {}."
# 00updater.rpy:1393
old "Updater"
@@ -290,7 +290,7 @@ translate german strings:
# 00updater.rpy:1406
old "[u.version] is available. Do you want to install it?"
new "[u.version] ist verfügbar. Möchtest Du es installieren?"
new "[u.version] ist verfügbar. Möchten Sie sie installieren?"
# 00updater.rpy:1408
old "Preparing to download the updates."
@@ -351,11 +351,13 @@ translate german strings:
# renpy/common/00accessibility.rpy:34
old "viewport"
new "Viewport"
# Automatic translation.
new "Ansichtsfenster"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
new "horizontaler Bildlauf"
# Automatic translation.
new "Horizontales Blättern"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
@@ -364,7 +366,8 @@ translate german strings:
# renpy/common/00accessibility.rpy:37
old "activate"
new "aktivieren"
# Automatic translation.
new "aktivieren."
# renpy/common/00accessibility.rpy:38
old "deactivate"
@@ -373,7 +376,8 @@ translate german strings:
# renpy/common/00accessibility.rpy:39
old "increase"
new "erhöhen"
# Automatic translation.
new "erhöhen."
# renpy/common/00accessibility.rpy:40
old "decrease"
@@ -415,11 +419,13 @@ translate german strings:
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
new "Kontrastreicher Text"
# Automatic translation.
new "Hochkontrastiger Text"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
new "Sprachausgabe"
# Automatic translation.
new "Selbstanzeige"
# renpy/common/00accessibility.rpy:197
old "Off"
@@ -428,7 +434,8 @@ translate german strings:
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
new "Text-zu-Sprache"
# Automatic translation.
new "Text-in-Sprache"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
@@ -442,43 +449,53 @@ translate german strings:
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
new "Lautstärkeabfall Sprachausgabe"
# Automatic translation.
new "Selbstlautstärkeabfall"
# renpy/common/00accessibility.rpy:234
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 "Die Optionen in diesem Menü dienen der Verbesserung der Zugänglichkeit. Sie funktionieren möglicherweise nicht mit allen Spielen, und einige Kombinationen von Optionen können das Spiel unspielbar machen. Dies ist kein Problem mit dem Spiel oder der Engine. Die besten Ergebnisse beim Ändern von Schriftarten erzielst Du, wenn Du die ursprüngliche Textgröße beibehältst."
# Automatic translation.
new "Die Optionen in diesem Menü dienen der Verbesserung der Zugänglichkeit. Sie funktionieren möglicherweise nicht mit allen Spielen, und einige Kombinationen von Optionen können das Spiel unspielbar machen. Dies ist kein Problem mit dem Spiel oder der Engine. Die besten Ergebnisse beim Ändern von Schriftarten erzielen Sie, wenn Sie die ursprüngliche Textgröße beibehalten."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
new "Speicherplatz %s speichern: [text]"
# Automatic translation.
new "Steckplatz %s speichern: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
new "Speicherplatz %s laden: [text]"
# Automatic translation.
new "Steckplatz %s laden: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
new "Speicherplatz löschen [text]"
# Automatic translation.
new "Steckplatz löschen [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
new "Spielstände: Seite auto-speichern"
# Automatic translation.
new "Datei Seite auto"
# renpy/common/00action_file.rpy:595
old "File page quick"
new "Spielstände: Seite schnell-speichern"
# Automatic translation.
new "Datei Seite schnell"
# renpy/common/00action_file.rpy:597
old "File page [text]"
new "Spielstände: Seite [text]"
# Automatic translation.
new "Datei-Seite [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
new "Nächste Seite."
# Automatic translation.
new "Nächste Dateiseite."
# renpy/common/00action_file.rpy:868
old "Previous file page."
new "Vorherige Seite."
# Automatic translation.
new "Vorherige Dateiseite."
# renpy/common/00action_file.rpy:944
old "Quick save."
@@ -510,30 +527,35 @@ translate german strings:
# renpy/common/00director.rpy:1574
old "Done"
new "Fertig"
# Automatic translation.
new "Erledigt"
# renpy/common/00director.rpy:1584
old "(statement)"
new "(Statement)"
# Automatic translation.
new "(Erklärung)"
# renpy/common/00director.rpy:1585
old "(tag)"
# Automatic translation.
new "(Tag)"
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(Attribute)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(Transform)"
new "(transform)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(Transition)"
new "(transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(Kanal)"
# renpy/common/00director.rpy:1625
@@ -543,19 +565,23 @@ translate german strings:
# renpy/common/00director.rpy:1654
old "Change"
new "Ändern"
# Automatic translation.
new "Ändern Sie"
# renpy/common/00director.rpy:1656
old "Add"
new "Hinzufügen"
# Automatic translation.
new "hinzufügen"
# renpy/common/00director.rpy:1662
old "Remove"
new "Entfernen"
# Automatic translation.
new "entfernen"
# renpy/common/00director.rpy:1697
old "Statement:"
new "Statement:"
# Automatic translation.
new "Erklärung:"
# renpy/common/00director.rpy:1718
old "Tag:"
@@ -568,15 +594,18 @@ translate german strings:
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
new "Klicke auf das Attribut, um es umzuschalten; klicke mit der rechten Maustaste, um das negative Attribut umzuschalten."
# Automatic translation.
new "Klicken Sie auf das Attribut, um es einzuschalten, klicken Sie mit der rechten Maustaste, um das negative Attribut einzuschalten."
# renpy/common/00director.rpy:1757
old "Transforms:"
new "Transforms:"
# Automatic translation.
new "Verwandeln:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Klicke, um das Transform festzulegen; klicke mit der rechten Maustaste, um es zur Liste hinzuzufügen."
# Automatic translation.
new "Klicken Sie, um die Transformation festzulegen, und klicken Sie mit der rechten Maustaste, um sie zur Transformationsliste hinzuzufügen."
# renpy/common/00director.rpy:1780
old "Behind:"
@@ -590,7 +619,8 @@ translate german strings:
# renpy/common/00director.rpy:1801
old "Transition:"
new "Transition:"
# Automatic translation.
new "Überleitung:"
# renpy/common/00director.rpy:1819
old "Channel:"
@@ -604,12 +634,13 @@ translate german strings:
# 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 "Dieser Spielstand wurde auf einem anderen Gerät erstellt. Böswillig erstellte Speicherstände können Deinem Computer schaden. Vertraust Du dem Ersteller dieses Spielstands und allen, die die Datei geändert haben könnten?"
# Automatic translation.
new "Dieser Spielstand wurde auf einem anderen Gerät erstellt. Böswillig erstellte Speicherdateien können Ihrem Computer schaden. Vertrauen Sie dem Ersteller dieses Spielstands und allen, die die Datei geändert haben könnten?"
# 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."
# Automatic translation.
new "Vertraust Du dem Gerät, auf dem die Sicherung erstellt wurde? Du solltest nur dann Ja wählen, wenn Du der einzige Benutzer des Geräts bist."
new "Vertrauen Sie dem Gerät, auf dem die Sicherung erstellt wurde? Sie sollten nur dann Ja wählen, wenn Sie der einzige Benutzer des Geräts sind."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
@@ -623,10 +654,12 @@ translate german strings:
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "Übergänge"
# renpy/common/00preferences.rpy:292
old "skip transitions"
# Automatic translation.
new "Übergänge überspringen"
# renpy/common/00preferences.rpy:294
@@ -667,29 +700,32 @@ translate german strings:
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "ungesehenen Text überspringen"
new "ungesehenen Text übergehen"
# renpy/common/00preferences.rpy:337
old "begin skipping"
new "mit dem Vorspulen beginnen"
# Automatic translation.
new "mit dem Springen beginnen"
# renpy/common/00preferences.rpy:341
old "after choices"
new "nach Entscheidungen"
# Automatic translation.
new "nach der Wahl"
# renpy/common/00preferences.rpy:348
old "skip after choices"
new "Vorspulen nach Entscheidungen"
# Automatic translation.
new "nach Auswahlen überspringen"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "Zeit des automatischen Blätterns"
new "automatische Vorlaufzeit"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "automatisches Blättern"
new "automatisches Weiterleiten"
# renpy/common/00preferences.rpy:371
old "Auto forward"
@@ -718,19 +754,23 @@ translate german strings:
# renpy/common/00preferences.rpy:410
old "self voicing"
new "Sprachausgabe"
# Automatic translation.
new "selbststimmend"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
new "Lautstärkeabnahme der Sprachausgabe"
# Automatic translation.
new "Selbststimmende Lautstärkeabnahme"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
new "Sprachausgabe zur Zwischenablage"
# Automatic translation.
new "Clipboard-Intonation"
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "Sprachausgabe debuggen"
# Automatic translation.
new "Intonation debuggen"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
@@ -749,7 +789,7 @@ translate german strings:
# renpy/common/00preferences.rpy:470
old "gl framerate"
# Automatic translation.
new "gl-Framerate"
new "Gl-Framerate"
# renpy/common/00preferences.rpy:473
old "gl tearing"
@@ -757,7 +797,8 @@ translate german strings:
# renpy/common/00preferences.rpy:476
old "font transform"
new "Schriftart Transform"
# Automatic translation.
new "Schriftart umwandeln"
# renpy/common/00preferences.rpy:479
old "font size"
@@ -781,11 +822,13 @@ translate german strings:
# renpy/common/00preferences.rpy:507
old "accessibility menu"
new "Barrierefreiheit-Menü"
# Automatic translation.
new "Menü Barrierefreiheit"
# renpy/common/00preferences.rpy:510
old "high contrast text"
new "kontrastreicher Text"
# Automatic translation.
new "Text mit hohem Kontrast"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
@@ -794,7 +837,8 @@ translate german strings:
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
new "Audio wenn im Hintergrund"
# Automatic translation.
new "Audio bei Unschärfe"
# renpy/common/00preferences.rpy:537
old "web cache preload"
@@ -808,23 +852,28 @@ translate german strings:
# renpy/common/00preferences.rpy:571
old "main volume"
new "Master-Lautstärke"
# Automatic translation.
new "Hauptvolumen"
# renpy/common/00preferences.rpy:572
old "music volume"
new "Musik-Lautstärke"
# Automatic translation.
new "Musiklautstärke"
# renpy/common/00preferences.rpy:573
old "sound volume"
new "Ton-Lautstärke"
# Automatic translation.
new "Lautstärke"
# renpy/common/00preferences.rpy:574
old "voice volume"
new "Stimmen-Lautstärke"
# Automatic translation.
new "Sprachlautstärke"
# renpy/common/00preferences.rpy:575
old "mute main"
new "Master stummschalten"
# Automatic translation.
new "Hauptstummschaltung"
# renpy/common/00preferences.rpy:576
old "mute music"
@@ -838,11 +887,13 @@ translate german strings:
# renpy/common/00preferences.rpy:578
old "mute voice"
new "Stimme stummschalten"
# Automatic translation.
new "stumme Stimme"
# renpy/common/00preferences.rpy:579
old "mute all"
new "alles stummschalten"
# Automatic translation.
new "alle stumm schalten"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
@@ -882,7 +933,7 @@ translate german strings:
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
# Automatic translation.
new "Bitte gib die von Dir erstellte Sync-ID ein.\nGie niemals eine Sync-ID ein, die Du nicht selbst erstellt hast."
new "Bitte geben Sie die von Ihnen erstellte Sync-ID ein.\nGeben Sie niemals eine Sync-ID ein, die Sie nicht selbst erstellt haben."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
@@ -907,7 +958,7 @@ translate german strings:
# renpy/common/00sync.rpy:529
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
# Automatic translation.
new "Dadurch werden Deine Spielstände auf den {a=https://sync.renpy.org}Ren'Py Sync Server{/a} hochgeladen.\nMöchtest Du fortfahren?"
new "Dadurch werden Ihre Spielstände auf den {a=https://sync.renpy.org}Ren'Py Sync Server{/a} hochgeladen.\nMöchten Sie fortfahren?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
@@ -932,7 +983,7 @@ translate german strings:
# renpy/common/00sync.rpy:605
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}."
# Automatic translation.
new "Du kannst diese ID verwenden, um Deinen Spielstand auf ein anderes Gerät herunterzuladen.\nDiese Synchronisierung läuft in einer Stunde ab.\nRen'Py Sync wird unterstützt von {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "Sie können diese ID verwenden, um Ihren Spielstand auf ein anderes Gerät herunterzuladen.\nDiese Synchronisierung läuft in einer Stunde ab.\nRen'Py Sync wird unterstützt von {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
# renpy/common/00sync.rpy:631
old "Sync Error"
+32 -19
View File
@@ -119,15 +119,15 @@ translate german strings:
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
new "Drücke <esc>, um die Konsole zu schließen. Gib „help“ ein, um die Hilfe anzuzeigen.\n"
new "Drücken Sie <esc>, um die Konsole zu schließen. Geben Sie „help“ ein, um die Hilfe anzuzeigen.\n"
# 00console.rpy:186
old "Ren'Py script enabled."
new "Ren'Py Skript aktiviert."
new "RenPy Skript aktiviert."
# 00console.rpy:188
old "Ren'Py script disabled."
new "Ren'Py Skript deaktiviert."
new "RenPy Skript deaktiviert."
# 00console.rpy:398
old "help: show this help"
@@ -143,7 +143,7 @@ translate german strings:
# 00console.rpy:415
old " <python expression or statement>: run the expression or statement"
new " <python Ausdruck oder Anweisung>: startet den Ausdruck oder die Anweisung"
new " <python expression or statement>: startet den Ausdruck oder die Anweisung"
# 00console.rpy:423
old "clear: clear the console history"
@@ -186,19 +186,23 @@ translate german strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
new "Interaktiver Regisseur (D)"
# Automatic translation.
new "Interaktiver Direktor (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "Übersicht persistenter Variablen"
# Automatic translation.
new "Dauerhafter Betrachter"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
new "Ladeprotokoll aller Bilder anzeigen (F4)"
# Automatic translation.
new "Bildladeprotokoll anzeigen (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
new "Ladeprotokoll aller Bilder ausblenden (F4)"
# Automatic translation.
new "Bildladeprotokoll ausblenden (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
@@ -207,28 +211,32 @@ translate german strings:
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
new "Sprechblasen-Editor (Shift+B)"
# Automatic translation.
new "Sprechblasen-Editor (Umschalt+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
new "[Name] [Attribute] (versteckt)"
# Automatic translation.
new "[name] [attributes] (versteckt)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[Name] [Attribute]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
new "Gelöschtes verbergen"
# Automatic translation.
new "Ausblenden gelöscht"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
new "Gelöschtes anzeigen"
# Automatic translation.
new "Anzeigen gelöscht"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Filtertyp: "
new "Typ zum Filtern: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
@@ -247,20 +255,23 @@ translate german strings:
# renpy/common/00console.rpy:813
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "Die Hilfe kann undokumentierte Funktionen anzeigen. Bitte prüfe, ob die Funktion\noder Klasse, die Du verwenden möchtest, dokumentiert ist.\n\n"
# Automatic translation.
new "Die Hilfe kann undokumentierte Funktionen anzeigen. Bitte prüfen Sie, ob die Funktion oder\nKlasse, die Sie verwenden möchten, dokumentiert ist.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
new "stack: den Stack anzeigen"
# Automatic translation.
new "stack: den Rückgabestapel drucken"
# renpy/common/00console.rpy:908
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
new "watch <expression>: einen Python-Ausdruck beobachten\n watch short: macht die Darstellung der nachverfolgten Ausdrücke kurz (Voreinstellung)\n watch long: macht die Darstellung von verfolgten Ausdrücken wie sie sind"
# Automatic translation.
new "watch <expression>: einen Python-Ausdruck beobachten\n watch short: macht die Darstellung der nachverfolgten Ausdrücke kurz (Standard)\n watch long: macht die Darstellung von verfolgten Ausdrücken wie folgt"
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Verkürzt die Darstellung von Objekten auf der Konsole (Voreinstellung)."
new "short: Verkürzt die Darstellung von Objekten auf der Konsole (Standard)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
@@ -269,9 +280,11 @@ translate german strings:
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
new "escape: Aktiviert das Escaping von Unicode-Symbolen in Unicode-Strings."
# Automatic translation.
new "escape: Ermöglicht das Escaping von Unicode-Symbolen in Unicode-Strings."
# renpy/common/00console.rpy:1040
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
# Automatic translation.
new "unescape: Deaktiviert das Escaping von Unicode-Symbolen in Unicode-Zeichenfolgen und druckt sie so, wie sie sind (Voreinstellung)."
+22 -14
View File
@@ -23,7 +23,8 @@ translate german strings:
# 00gltest.rpy:93
old "Enable"
new "Aktivieren"
# Automatic translation.
new "Aktivieren Sie"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -39,7 +40,7 @@ translate german strings:
# 00gltest.rpy:148
old "This computer is not using shaders."
new "Dieser Computer verwendet keine Shader."
new "Dieser Computer verwendet keine Shaders."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
@@ -106,7 +107,8 @@ translate german strings:
# 00gamepad.rpy:58
old "Press or move the [control!s] [kind]."
new "Drücke oder bewege [control!s] [kind] ."
# Automatic translation.
new "Drücken Sie oder bewegen Sie die [control!s] [kind] ."
# 00gamepad.rpy:66
old "Skip (A)"
@@ -115,7 +117,8 @@ translate german strings:
# 00gamepad.rpy:69
old "Back (B)"
new "Zurück (B)"
# Automatic translation.
new "Rücken (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -141,11 +144,11 @@ translate german strings:
# _errorhandling.rpym:538
old "Rollback"
new "Zurückspulen"
new "Zurückscrollen"
# _errorhandling.rpym:540
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Versucht zu einem früheren Zeitpunkt zu spulen, damit Du erneut speichern oder eine andere Entscheidung treffen kannst."
new "Versucht zu einem früheren Zeitpunkt zu gehen und ermöglicht es zu speichern oder eine andere Auswahl zu treffen."
# _errorhandling.rpym:543
old "Ignore"
@@ -153,7 +156,7 @@ translate german strings:
# _errorhandling.rpym:545
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignoriert den Fehler und ermöglicht es, fortzufahren. Dies führt oft zu weiteren Fehlern."
new "Ignoriert den Fehler und ermöglicht es, fortzusetzen. Dies führt oft zu weiteren Fehlern."
# _errorhandling.rpym:548
old "Reload"
@@ -173,7 +176,7 @@ translate german strings:
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Syntaxfehler öffnen"
new "Parse Errors öffnen"
# _errorhandling.rpym:608
old "Opens the errors.txt file in a text editor."
@@ -226,7 +229,7 @@ translate german strings:
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Energiesparen"
new "Powersave"
# renpy/common/00gltest.rpy:173
old "Framerate"
@@ -256,11 +259,13 @@ translate german strings:
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
new "Die Datei {a=edit:1:log.txt}log.txt{/a} kann Informationen enthalten, die Dir helfen, das Problem mit Deinem Computer zu lösen."
# Automatic translation.
new "Die Datei {a=edit:1:log.txt}log.txt{/a} kann Informationen enthalten, die Ihnen helfen, das Problem mit Ihrem Computer zu lösen."
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "Weitere Einzelheiten zur Behebung dieses Problems findest Du in der Dokumentation {a=[url]}{/a} ."
# Automatic translation.
new "Weitere Einzelheiten zur Behebung dieses Problems finden Sie in der Dokumentation {a=[url]}{/a} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
@@ -269,11 +274,13 @@ translate german strings:
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "Drücke oder bewege die Taste '[control!s]' [kind]."
# Automatic translation.
new "Drücken Sie oder bewegen Sie die Taste '[control!s]' [kind]."
# renpy/common/_errorhandling.rpym:555
old "Open"
new "Öffnen"
# Automatic translation.
new "Öffnen Sie"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
@@ -297,7 +304,8 @@ translate german strings:
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
new "Ignoriert den Fehler, so dass Du fortfahren kannst."
# Automatic translation.
new "Ignoriert die Ausnahme, so dass Sie fortfahren können."
# renpy/common/_errorhandling.rpym:637
old "Console"
File diff suppressed because it is too large Load Diff
+28 -15
View File
@@ -8,7 +8,8 @@ translate german strings:
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Zeilen, die mit zwei '#' beginnen, sind Kommentare und sollten nicht auskommentiert werden. Zeilen, die mit einem einzelnen '#' beginnen, sind auskommentierter Code, den Du ggf. auskommentieren kannst."
# Automatic translation.
new "## Zeilen, die mit zwei '#' beginnen, sind Kommentare und sollten nicht auskommentiert werden. Zeilen, die mit einem einzelnen '#' beginnen, sind auskommentierter Code, den Sie ggf. auskommentieren sollten."
# options.rpy:10
old "## Basics"
@@ -32,7 +33,8 @@ translate german strings:
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Bestimmt, ob der oben angegebene Titel auf dem Hauptmenübildschirm angezeigt wird. Setze dies auf False, um den Titel auszublenden."
# Automatic translation.
new "## Bestimmt, ob der oben angegebene Titel auf dem Hauptmenübildschirm angezeigt wird. Setzen Sie dies auf False, um den Titel auszublenden."
# options.rpy:26
old "## The version of the game."
@@ -42,7 +44,7 @@ translate german strings:
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
# Automatic translation.
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Um eine Leerzeile zwischen Absätzen einzufügen, schreibe \\n\\n."
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Um eine Leerzeile zwischen Absätzen einzufügen, schreiben Sie \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
@@ -51,7 +53,8 @@ translate german strings:
# options.rpy:44
old "## Sounds and music"
new "## Ton und Musik"
# Automatic translation.
new "## Klänge und Musik"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
@@ -60,11 +63,13 @@ translate german strings:
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## Um dem Benutzer die Möglichkeit zu geben, einen Testton auf dem Ton- oder Sprachkanal abzuspielen, entfernen die Kommentarzeichen in der Zeile unten und verwenden sie, um einen Beispielton abzuspielen."
# Automatic translation.
new "## Um dem Benutzer die Möglichkeit zu geben, einen Testton auf dem Ton- oder Sprachkanal abzuspielen, entfernen Sie die Kommentarzeichen in der Zeile unten und verwenden Sie sie, um einen Beispielton abzuspielen."
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Entferne das Kommentarzeichen in der folgenden Zeile, damit im Hauptmenü eine Audiodatei abgespielt wird. Diese wird im Spiel so lange weiterlaufen, bis sie gestoppt wird oder eine andere Datei abgespielt wird."
# Automatic translation.
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. Diese Datei wird im Spiel weiter abgespielt, bis sie gestoppt wird oder eine andere Datei abgespielt wird."
# options.rpy:69
old "## Transitions"
@@ -93,7 +98,8 @@ translate german strings:
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## Eine Variable zum Festlegen des Übergangs, der beim Start des Spiels verwendet wird, existiert nicht. Verwende stattdessen eine with-Anweisung, nachdem Du die Anfangsszene gezeigt hast."
# Automatic translation.
new "## Eine Variable zum Festlegen des Übergangs, der beim Start des Spiels verwendet wird, existiert nicht. Verwenden Sie stattdessen eine with-Anweisung, nachdem Sie die Anfangsszene gezeigt haben."
# options.rpy:96
old "## Window management"
@@ -117,7 +123,8 @@ translate german strings:
# options.rpy:115
old "## Preference defaults"
new "## Standardwerte für Einstellungen"
# Automatic translation.
new "## Präferenzvorgaben"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
@@ -127,7 +134,7 @@ translate german strings:
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
# Automatic translation.
new "## Die Standardverzögerung für das automatische Blättern. Größere Zahlen führen zu längeren Wartezeiten, wobei 0 bis 30 der gültige Bereich ist."
new "## Die Standardverzögerung für die automatische Weiterleitung. Größere Zahlen führen zu längeren Wartezeiten, wobei 0 bis 30 der gültige Bereich ist."
# options.rpy:129
old "## Save directory"
@@ -172,7 +179,8 @@ translate german strings:
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Dieser Abschnitt steuert, wie Ren'Py Dein Projekt in Distributionsdateien umwandelt."
# Automatic translation.
new "## Dieser Abschnitt steuert, wie Ren'Py Ihr Projekt in Distributionsdateien umwandelt."
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
@@ -201,11 +209,13 @@ translate german strings:
# options.rpy:177
old "## Classify files as None to exclude them from the built distributions."
new "## Klassifiziere Dateien als None, um sie von den erstellten Distributionen auszuschließen."
# Automatic translation.
new "## Klassifizieren Sie Dateien als None, um sie von den erstellten Distributionen auszuschließen."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## Um Dateien zu archivieren, klassifiziere sie als \"archive\"."
# Automatic translation.
new "## Um Dateien zu archivieren, klassifizieren Sie sie als \"Archiv\"."
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
@@ -214,7 +224,8 @@ translate german strings:
# options.rpy:196
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## Ein Google Play-Lizenzschlüssel ist erforderlich, um Erweiterungsdateien herunterzuladen und In-App-Käufe durchzuführen. Du findest ihn auf der Seite \"Services & APIs\" in der Google Play-Entwicklerkonsole."
# Automatic translation.
new "## Ein Google Play-Lizenzschlüssel ist erforderlich, um Erweiterungsdateien herunterzuladen und In-App-Käufe durchzuführen. Sie finden ihn auf der Seite \"Services & APIs\" in der Google Play-Entwicklerkonsole."
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
@@ -223,7 +234,8 @@ translate german strings:
# gui/game/options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Setz den Text zwischen dreifache Anführungszeichen und lass eine Leerzeile zwischen den Absätzen."
# Automatic translation.
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Setzen Sie den Text zwischen die dreifachen Anführungszeichen und lassen Sie eine Leerzeile zwischen den Absätzen."
# gui/game/options.rpy:47
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
@@ -241,4 +253,5 @@ translate german strings:
# gui/game/options.rpy:203
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
new "## Für In-App-Käufe ist ein Google Play-Lizenzschlüssel erforderlich. Du findest ihn in der Google Play-Entwicklerkonsole unter \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
# Automatic translation.
new "## Für In-App-Käufe ist ein Google Play-Lizenzschlüssel erforderlich. Sie finden ihn in der Google Play-Entwicklerkonsole unter \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
+102 -66
View File
@@ -8,11 +8,13 @@ translate german strings:
# screens.rpy:87
old "## In-game screens"
new "## Spielinterne Bildschirme (Screens)"
# Automatic translation.
new "## Bildschirme im Spiel"
# screens.rpy:91
old "## Say screen"
new "## Dialog-Bildschirm"
# Automatic translation.
new "## Sagen Sie Bildschirm"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
@@ -30,7 +32,8 @@ translate german strings:
# screens.rpy:169
old "## Input screen"
new "## Eingabe-Bildschirm"
# Automatic translation.
new "## Eingabebildschirm"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
@@ -48,11 +51,13 @@ translate german strings:
# screens.rpy:205
old "## Choice screen"
new "## Auswahl- oder Entscheidungs-Bildschirm"
# Automatic translation.
new "## Auswahlbildschirm"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Dieser Bildschirm wird verwendet, um die Auswahlmöglichkeiten im Spiel anzuzeigen, die von der Menüanweisung präsentiert werden. Der Parameter \"items\" ist eine Liste von Objekten, jedes mit Beschriftung und Aktionsfeldern."
# Automatic translation.
new "## Dieser Bildschirm wird verwendet, um die Auswahlmöglichkeiten im Spiel anzuzeigen, die von der Menüanweisung präsentiert werden. Der eine Parameter, items, ist eine Liste von Objekten, jedes mit Beschriftung und Aktionsfeldern."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -60,11 +65,13 @@ translate german strings:
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## Bei \"True\" werden die Menübeschriftungen vom Erzähler gesprochen. Bei \"False\" werden die Menübeschriftungen als leere Schaltflächen angezeigt."
# Automatic translation.
new "## Wenn dies wahr ist, werden die Menübeschriftungen vom Sprecher gesprochen. Bei \"false\" werden die Menübeschriftungen als leere Schaltflächen angezeigt."
# screens.rpy:244
old "## Quick Menu screen"
new "## Schnellmenü-Bildschirm"
# Automatic translation.
new "## Bildschirm Schnellmenü"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
@@ -77,11 +84,12 @@ translate german strings:
# screens.rpy:262
old "History"
new "Dialogverlauf"
# Automatic translation.
new "Geschichte"
# screens.rpy:263
old "Skip"
new "Vorspulen"
new "Spulen"
# screens.rpy:264
old "Auto"
@@ -97,7 +105,7 @@ translate german strings:
# screens.rpy:267
old "Q.Load"
new "S.Laden"
new "S. Laden"
# screens.rpy:268
old "Prefs"
@@ -125,7 +133,7 @@ translate german strings:
# screens.rpy:316
old "Load"
# Automatic translation.
new "Laden"
new "Laden Sie"
# screens.rpy:318
old "Preferences"
@@ -197,11 +205,13 @@ translate german strings:
# screens.rpy:539
old "## About screen"
new "## Info-Bildschirm"
# Automatic translation.
new "## Über den Bildschirm"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Dieser Bildschirm enthält Würdigungen und Copyright-Informationen über das Spiel und Ren'Py."
# Automatic translation.
new "## Dieser Bildschirm enthält Kredit- und Copyright-Informationen über das Spiel und Ren'Py."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
@@ -210,6 +220,7 @@ translate german strings:
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
# Automatic translation.
new "## Diese Anweisung schließt den Bildschirm game_menu in diesen Bildschirm ein. Das vbox-Kind wird dann in das Viewport innerhalb des game_menu-Bildschirms aufgenommen."
# screens.rpy:561
@@ -223,20 +234,23 @@ translate german strings:
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Erstellt mit {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# Automatic translation.
new "Hergestellt mit {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only] .\n\n[renpy.license!t]"
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
# Automatic translation.
new "## Dies wird in options.rpy neu definiert, um dem Info-Bildschirm Text hinzuzufügen."
# screens.rpy:582
old "## Load and Save screens"
new "## Spielstände-Bildschirm"
# Automatic translation.
new "## Bildschirme laden und speichern"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
# Automatic translation.
new "## Der load and save Bildschirm sind dafür verantwortlich, dass der Spieler das Spiel speichern und wieder laden kann. Da sie fast alles gemeinsam haben, sind beide in Form eines dritten Bildschirms, file_slots, implementiert."
new "## Diese Bildschirme sind dafür verantwortlich, dass der Spieler das Spiel speichern und wieder laden kann. Da sie fast alles gemeinsam haben, sind beide in Form eines dritten Bildschirms, file_slots, implementiert."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -249,11 +263,13 @@ translate german strings:
# screens.rpy:607
old "Automatic saves"
new "Automatische Speicherstände"
# Automatic translation.
new "Automatisch speichern"
# screens.rpy:607
old "Quick saves"
new "Schnellspeicherstände"
# Automatic translation.
new "Schnelles Speichern"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
@@ -267,11 +283,12 @@ translate german strings:
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d. %B %Y, %H:%M"
new "{#file_time}%A, %B %d %Y, %H:%M"
# screens.rpy:649
old "empty slot"
new "leerer Speicherplatz"
# Automatic translation.
new "leerer Steckplatz"
# screens.rpy:657
old "## Buttons to access other pages."
@@ -288,7 +305,7 @@ translate german strings:
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}S"
new "{#quick_page}Q"
# screens.rpy:676
old ">"
@@ -297,12 +314,12 @@ translate german strings:
# screens.rpy:711
old "## Preferences screen"
# Automatic translation.
new "## Einstellungs-Bildschirm"
new "## Bildschirm Präferenzen"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
# Automatic translation.
new "## Der Einstellungs-Bildschirm ermöglicht es dem Spieler, das Spiel so zu konfigurieren, dass es besser zu ihm passt."
new "## Der Einstellungsbildschirm ermöglicht es dem Spieler, das Spiel so zu konfigurieren, dass es besser zu ihm passt."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -328,7 +345,7 @@ translate german strings:
# screens.rpy:745
old "Disable"
# Automatic translation.
new "Deaktivieren"
new "Deaktivieren Sie"
# screens.rpy:746
old "Left"
@@ -342,11 +359,12 @@ translate german strings:
# screens.rpy:752
old "Unseen Text"
new "Ungesehener Text"
# Automatic translation.
new "Unsichtbarer Text"
# screens.rpy:753
old "After Choices"
new "Nach Entscheidungen"
new "Nach Auswahl"
# screens.rpy:754
old "Transitions"
@@ -371,7 +389,7 @@ translate german strings:
# screens.rpy:785
old "Sound Volume"
new "Geräuschlautstärke"
new "Soundlautstärke"
# screens.rpy:791
old "Test"
@@ -388,7 +406,8 @@ translate german strings:
# screens.rpy:882
old "## History screen"
new "## Dialogverlauf-Bildschirm"
# Automatic translation.
new "## Bildschirm Geschichte"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
@@ -401,7 +420,8 @@ translate german strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Vermeide es, diesen Bildschirm via \"predict\" vorberechnen zu lassen, da er sehr groß sein kann."
# Automatic translation.
new "## Vermeiden Sie es, diesen Bildschirm vorherzusehen, da er sehr groß sein kann."
# screens.rpy:905
old "## This lays things out properly if history_height is None."
@@ -410,7 +430,8 @@ translate german strings:
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
new "## Übernimmt die Farbe des who-Textes des Charakters, falls vorhanden."
# Automatic translation.
new "## Übernimmt die Farbe des Wer-Textes aus dem Zeichen, falls festgelegt."
# screens.rpy:921
old "The dialogue history is empty."
@@ -449,17 +470,17 @@ translate german strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
# Automatic translation.
new "Bringt den Dialog voran und aktiviert die Schnittstelle."
new "Erweitert den Dialog und aktiviert die Schnittstelle."
# screens.rpy:1007
old "Space"
# Automatic translation.
new "Leertaste"
new "Weltraum"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
# Automatic translation.
new "Bringt den Dialog voran ohne eine Auswahl zu treffen."
new "Bringt den Dialog voran, ohne eine Auswahl zu treffen."
# screens.rpy:1011
old "Arrow Keys"
@@ -469,12 +490,12 @@ translate german strings:
# screens.rpy:1012
old "Navigate the interface."
# Automatic translation.
new "Navigiert durch die Schnittstelle."
new "Navigieren Sie durch die Schnittstelle."
# screens.rpy:1015
old "Escape"
# Automatic translation.
new "ESC"
new "Flucht"
# screens.rpy:1016
old "Accesses the game menu."
@@ -488,7 +509,8 @@ translate german strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Überspringt Dialoge, wenn Du die Taste gedrückt hältst."
# Automatic translation.
new "Überspringt Dialoge, wenn Sie die Taste gedrückt halten."
# screens.rpy:1023
old "Tab"
@@ -497,27 +519,27 @@ translate german strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
# Automatic translation.
new "Schaltet das Überspringen von Dialogen ein/aus."
new "Schaltet das Überspringen von Dialogen ein."
# screens.rpy:1027
old "Page Up"
# Automatic translation.
new "Seite hoch"
new "Seite oben"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
# Automatic translation.
new "Springt zu einem früheren Dialog zurück."
new "Kehrt zu einem früheren Dialog zurück."
# screens.rpy:1031
old "Page Down"
# Automatic translation.
new "Seite runter"
new "Seite unten"
# screens.rpy:1032
old "Rolls forward to later dialogue."
# Automatic translation.
new "Springt zu einem späteren Dialog vor."
new "Weiter geht's mit einem späteren Dialog."
# screens.rpy:1036
old "Hides the user interface."
@@ -532,12 +554,12 @@ translate german strings:
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
# Automatic translation.
new "Schaltet unterstützende {a=https://www.renpy.org/l/voicing}Automatische Spracherzeugung{/a} ein/aus."
new "Schaltet das Hilfsmittel {a=https://www.renpy.org/l/voicing}selbststimmend{/a} um."
# screens.rpy:1050
old "Left Click"
# Automatic translation.
new "Linksklick"
new "Links klicken"
# screens.rpy:1054
old "Middle Click"
@@ -551,7 +573,8 @@ translate german strings:
# screens.rpy:1062
old "Mouse Wheel Up"
new "Mausrad nach oben\nKlicke auf Rollback Seite"
# Automatic translation.
new "Mausrad nach oben\nKlicken Sie auf Rollback Seite"
# screens.rpy:1066
old "Mouse Wheel Down"
@@ -566,12 +589,12 @@ translate german strings:
# screens.rpy:1074
old "Advance dialogue and activates the interface."
# Automatic translation.
new "Springt zu einem späteren Dialog vor und aktiviert die Schnittstelle."
new "Erweitert den Dialog und aktiviert die Schnittstelle."
# screens.rpy:1078
old "Roll back to earlier dialogue."
# Automatic translation.
new "Springt zu einem früheren Dialog zurück."
new "Gehen Sie zu einem früheren Dialog zurück."
# screens.rpy:1081
old "Right Shoulder"
@@ -580,7 +603,8 @@ translate german strings:
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Spult zu einem späteren Dialog vor."
# Automatic translation.
new "Spulen Sie vor zu einem späteren Dialog."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -593,7 +617,8 @@ translate german strings:
# screens.rpy:1090
old "Access the game menu."
new "Ruft das Spielmenü auf."
# Automatic translation.
new "Rufen Sie das Spielmenü auf."
# screens.rpy:1093
old "Y/Top Button"
@@ -603,7 +628,7 @@ translate german strings:
# screens.rpy:1096
old "Calibrate"
# Automatic translation.
new "Kalibrieren"
new "Kalibrieren Sie"
# screens.rpy:1124
old "## Additional screens"
@@ -612,7 +637,8 @@ translate german strings:
# screens.rpy:1128
old "## Confirm screen"
new "## Bestätigungs-Bildschirm"
# Automatic translation.
new "## Bildschirm bestätigen"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
@@ -626,7 +652,7 @@ translate german strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
# Automatic translation.
new "## Stell sicher, dass andere Bildschirme keine Eingaben erhalten, während dieser Bildschirm angezeigt wird."
new "## Stellen Sie sicher, dass andere Bildschirme keine Eingaben erhalten, während dieser Bildschirm angezeigt wird."
# screens.rpy:1161
old "Yes"
@@ -638,12 +664,13 @@ translate german strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Ein Rechtsklick oder [ESC] beantworten jeweils mit \"Nein\"."
# Automatic translation.
new "## Klicken Sie mit der rechten Maustaste und geben Sie die Antwort \"Nein\" ein."
# screens.rpy:1191
old "## Skip indicator screen"
# Automatic translation.
new "## Vorspul-Symbol Bildschirm"
new "## Indikatorbildschirm überspringen"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
@@ -656,16 +683,18 @@ translate german strings:
# screens.rpy:1208
old "Skipping"
new "Vorspulen"
# Automatic translation.
new "Überspringen"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
new "## Dieses Transform wird verwendet, um die Pfeile nacheinander blinken zu lassen."
# Automatic translation.
new "## Diese Transformation wird verwendet, um die Pfeile nacheinander zu blinken."
# screens.rpy:1247
old "## Notify screen"
# Automatic translation.
new "## Benachrichtigungsbildschirm"
new "## Bildschirm benachrichtigen"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
@@ -707,7 +736,8 @@ translate german strings:
# screens.rpy:1406
old "## Mobile Variants"
new "## Varianten für Mobilgeräte"
# Automatic translation.
new "## Mobile Varianten"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
@@ -725,11 +755,12 @@ translate german strings:
# gui/game/screens.rpy:114
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
# Automatic translation.
new "## Wenn es ein Seitenbild gibt, wird es über dem Text angezeigt. Allerdings nicht auf der Smartphone-Variante - dort ist kein Platz."
new "## Wenn es ein Seitenbild gibt, zeigen Sie es über dem Text an. Nicht auf der Telefonvariante anzeigen - dort ist kein Platz."
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## Macht das Namensfeld für die Gestaltung durch das Character-Objekt verfügbar."
# Automatic translation.
new "## Machen Sie das Namensfeld für die Gestaltung durch das Character-Objekt verfügbar."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
@@ -741,7 +772,8 @@ translate german strings:
# gui/game/screens.rpy:241
old "## Ensure this appears on top of other screens."
new "## Stellt sicher, dass dies vor allen anderen Bildschirmen erscheint."
# Automatic translation.
new "## Stellen Sie sicher, dass dies über den anderen Bildschirmen erscheint."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
@@ -769,7 +801,8 @@ translate german strings:
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
new "## Reserviert Platz für den Navigationsbereich."
# Automatic translation.
new "## Reservieren Sie Platz für den Navigationsbereich."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
@@ -779,7 +812,7 @@ translate german strings:
# gui/game/screens.rpy:668
old "## range(1, 10) gives the numbers from 1 to 9."
# Automatic translation.
new "## range(1, 10) liefert die Zahlen von 1 bis 9."
new "## bereich(1, 10) liefert die Zahlen von 1 bis 9."
# gui/game/screens.rpy:676
old "Upload Sync"
@@ -793,6 +826,7 @@ translate german strings:
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
# Automatic translation.
new "## Hier wird festgelegt, welche Tags auf dem Verlaufsbildschirm angezeigt werden dürfen."
# gui/game/screens.rpy:1049
@@ -811,6 +845,7 @@ translate german strings:
# gui/game/screens.rpy:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
# Automatic translation.
new "## Wir müssen eine Schriftart verwenden, die die Glyphe BLACK RIGHT-POINTING SMALL TRIANGLE enthält."
# gui/game/screens.rpy:1296
@@ -824,12 +859,13 @@ translate german strings:
# gui/game/screens.rpy:1410
old "## Bubble screen"
new "## Sprechblasen-Bildschirm"
# Automatic translation.
new "## Blasenbildschirm"
# gui/game/screens.rpy:1412
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
# Automatic translation.
new "## Der Sprechblasenbildschirm wird verwendet, um dem Spieler einen Dialog anzuzeigen, wenn Sprechblasen verwendet werden. Er benötigt die gleichen Parameter wie der Dialog-Bildschirm, muss ein Displayable mit der Id \"what\" erstellen und kann Displayables mit den Ids \"namebox\", \"who\" und \"window\" erstellen."
new "## Der Sprechblasenbildschirm wird verwendet, um dem Spieler einen Dialog anzuzeigen, wenn Sprechblasen verwendet werden. Der Sprechblasenbildschirm benötigt die gleichen Parameter wie der Sprechblasenbildschirm, muss ein Displayable mit der Id \"what\" erstellen und kann Displayables mit den Ids \"namebox\", \"who\" und \"window\" erstellen."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
@@ -839,6 +875,6 @@ translate german strings:
# gui/game/screens.rpy:411
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Der Parameter scroll kann None oder einer der Parameter \"viewport\" oder \"vpgrid\" sein. Dieser Bildschirm sollte mit einem oder mehreren Unterobjekten verwendet werden, die in ihn eingeschlossen (platziert) werden."
# Automatic translation.
new "## Der Parameter scroll kann None oder einer der Parameter \"viewport\" oder \"vpgrid\" sein. Dieser Bildschirm soll mit einem oder mehreren Kindern verwendet werden, die in ihn eingeschlossen (platziert) werden."
+5 -4
View File
@@ -1,16 +1,17 @@
# Du kannst das Skript für Dein Spiel in diese Datei schreiben.
# Sie können das Skript Ihres Spiels in dieser Datei platzieren.
# Unterhalb dieser Zeile kannst Du Bilder definieren, indem Du das Wort "image" verwendest
# Bestimmen Sie Grafiken unterhalb dieser Zeile, indem Sie die "Image-Statements" verwenden.
# z. B. image eileen happy = "eileen_happy.png"
# Erstelle hier Charaktere, die in Deinem Spiel auftauchen werden
# Bestimmen Sie Charaktere, die in diesem Spiel verwendet werden.
define e = Character('Eileen', color="#c8ffc8")
# Hier beginnt das Spiel.
label start:
e "Du hast ein neues Ren'Py Spiel erstellt."
e "Sobald Du eine Geschichte, Bilder und Musik hinzufügst, kannst Du es für alle veröffentlichen!"
e "Sobald du eine Geschichte, Bilder und Musik hinzufügst, kannst du es für alle veröffentlichen!"
return
+5 -5
View File
@@ -370,7 +370,7 @@
new "{b}Συνιστάται.{/b} Ένας επεξεργαστής κειμένου σε έκδοση beta, με εύκολο περιβάλλον εργασίας και χαραχτηριστικά που σας βοηθούν, όπως π.χ. ορθογραφικό έλεγχο. Ο Editra προς το παρόν δεν υποστηρίζει IME για είσοδο κειμένου σε Κινέζικα, Ιαπωνέζικα και Κορεάτικα. Σε Linux ο Editra απαιτεί το wxPython."
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Αυτό πιθανώς να συνέβη, διότι το wxPython δεν έχει εγκατασταθεί σε αυτό το σύστημα."
# editor.rpy:169
@@ -386,7 +386,7 @@
new "1.8 MB απαιτείται να κατέβει."
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Αυτό πιθανώς να συνέβη, διότι η Java δεν έχει εγκατασταθεί σε αυτό το σύστημα."
# editor.rpy:191
@@ -398,7 +398,7 @@
new "Εμποδίζει τη Ren'Py να ανοίξει επεξεργαστή κειμένου."
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Μια προγραμματιστική εξαίρεση συνέβει κατά την εκκίνηση του επεξεργαστή κειμένου:\n[exception!q] "
# editor.rpy:457
@@ -624,7 +624,7 @@
new "ΣΦΑΛΜΑ"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Ενόσω [what!qt], συνέβη ένα σφάλμα:"
# interface.rpy:356
@@ -1179,7 +1179,7 @@
new "Η απόλυτη νεώτερη έκδοση της Ren'Py. Μπορεί να έχει τα πιο νέα χαρακτηριστικά, αλλά να μη μπορέι καν να φορτώσει."
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "Ένα σφάλμα συνέβη:"
# updater.rpy:154
+5 -5
View File
@@ -366,7 +366,7 @@
new "{b}Di Rekomendasikan.{/b} Editor dengan interface yang mudah untuk di gunakan dan fitur yang sesuai dengan development . Saat ini Editra belum mendukung text input IME yang di butuhkan untuk bahasa Cina,Jepang Dan Korea. Pada Linux, Editra memerlikan wxPython."
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Ini mungkin terjadi karena wxPython tidak terpasang di sistem ini."
# editor.rpy:169
@@ -382,7 +382,7 @@
new "1.8 MB download di butuhkan."
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Ini mungkin terjadi karena Java tidak terpasang di sistem ini."
# editor.rpy:191
@@ -394,7 +394,7 @@
new "Larang Ren''Py untuk membuka editor text."
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Kesalahan terjadi ketika menjalankan editor text: \n[exception!q]"
# editor.rpy:457
@@ -612,7 +612,7 @@
new "KESALAHAN"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Kesalahan terjadi ketika : [what!qt] adalah :"
# interface.rpy:356
@@ -1146,7 +1146,7 @@
new "Update terbaru dari pengembangan Ren'Py. Ini mungikin mempunyai fitur terbaru. Bahkan tidak jalan sama sekali."
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "Kesalahan telah terjadi:"
# updater.rpy:154
+5 -5
View File
@@ -365,7 +365,7 @@
new "{b}Raccomandato.{/b} Un editor in fase Beta con un'interfaccia facile da usare e funzionalità adatte allo sviluppo come il controllo ortografico. Editra al momento non offre il supporto IMO richiesto per Cinese, Giapponese e Coreano e richiede wxPython su Linux."
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Potrebbe essersi verificato per via dell'assenza di wxPython su questo sistema."
# editor.rpy:169
@@ -381,7 +381,7 @@
new "Verranno scaricati 1.8 MB."
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Potrebbe essersi verificato per l'assenza di Java su questo sistema."
# editor.rpy:191
@@ -393,7 +393,7 @@
new "Impedisce a Ren'Py di aprire un editor di testo."
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Si è verificata un'eccezione durante il lancio dell'editor:\n[exception!q]"
# editor.rpy:457
@@ -609,7 +609,7 @@
new "ERRORE"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Durante [what!qt], si è verificato un errore:"
# interface.rpy:356
@@ -1141,7 +1141,7 @@
new "La versione più recente di Ren'Py. Potrebbe avere maggiori funzionalità come anche non funzionare affatto."
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "Si è verificato un errore:"
# updater.rpy:154
+4 -4
View File
@@ -735,7 +735,7 @@ translate japanese strings:
# renpy/common/00accessibility.rpy:191
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 "このメニューのオプションはアクセシビリティーを改善するためのものです。すべてのゲームで動作するわけではなく、特定の組合せではゲームを正常にレンダリングしないでしょう。これはゲームやエンジンの問題ではありません。フォント変更時に最良の結果を得るには、テキストサイズをオリジナルのままにしてください。"
new "このメニューのオプションはアクセス性を改善するためのものです。すべてのゲームで動作するわけではなく、特定の組合せではゲームを正常にレンダリングしないでしょう。これはゲームやエンジンの問題ではありません。フォント変更時に最良の結果を得るには、テキストサイズをオリジナルのままにしてください。"
# renpy/common/00preferences.rpy:430
old "font transform"
@@ -791,7 +791,7 @@ translate japanese strings:
# renpy/common/00preferences.rpy:490
old "accessibility menu"
new "アクセシビリティーメニュー"
new "アクセス性メニュー"
# renpy/common/00preferences.rpy:493
old "high contrast text"
@@ -969,7 +969,7 @@ translate japanese strings:
new "ゲームデータがダウンロードされました"
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
old "An error occured when trying to download game data:"
new "ゲームデータダウンロード中にエラーが発生しました:"
# renpy/common/00updater.rpy:2083
@@ -982,7 +982,7 @@ translate japanese strings:
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "アクセシビリティーメニュー。上下矢印キーをナビゲーションに使用し、ボタンとバーのアクティブ化にはエンターを使用します"
new "アクセス性メニュー。上下矢印キーをナビゲーションに使用し、ボタンとバーのアクティブ化にはエンターを使用します"
# renpy/common/00accessibility.rpy:197
old "Self-voicing support is limited when using a touch screen."
+5 -5
View File
@@ -364,7 +364,7 @@
new "{b}推奨{/b} 使いやすいインターフェースと、スペルチュックのような開発を補助する機能を持つベータエディターです。Editra は現在、中国、韓国、日本語の入力に必要な IME のサポートに欠陥があります。Linux では Editra は wxpython を必要とします。"
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "このエラーは wxPython がこのシステムにインストールされていないため発生したと思われます。"
# editor.rpy:169
@@ -380,7 +380,7 @@
new "1.8 MB のダウンロードが必要です。"
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "このエラーは Java がこのシステムにインストールされていないため発生しましたと思われます。"
# editor.rpy:191
@@ -392,7 +392,7 @@
new "Ren'Py のテキストエディターの実行を停止します。"
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "テキストエディターの選択中にエラーが発生しました:\n[exception!q]"
# editor.rpy:457
@@ -608,7 +608,7 @@
new "エラー"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "[what!qt] 中にエラーが発生しました:"
# interface.rpy:356
@@ -1136,7 +1136,7 @@
new "Ren'Py の開発版で極めて不安定です。このバージョンには最新の機能が含まれていますが、全く動かないかもしれません。"
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "エラーが発生しました。"
# updater.rpy:154
+1 -1
View File
@@ -697,7 +697,7 @@ translate japanese strings:
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
new "アクセシビリティーメニューを開きます。"
new "アクセス性メニューを開きます。"
# gui/game/screens.rpy:1307
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
+5 -5
View File
@@ -624,7 +624,7 @@
new "에디트라(Editra)는 현재 중국어, 일본어, 한국어 텍스트를 입력할 때 필요한 IME를 지원하지 않습니다. 리눅스에서, 에디트라는 wxPython이 필요합니다."
# game/editor.rpy:195
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "wxPython이 설치되지 않아 문제가 발생했을 가능성이 있습니다."
# game/editor.rpy:197
@@ -640,7 +640,7 @@
new "1.8MB 내려받기 필요."
# game/editor.rpy:210
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "자바(Java)가 설치되지 않아 문제가 발생했을 수도 있습니다."
# game/editor.rpy:219
@@ -664,7 +664,7 @@
new "[text] 편집."
# game/editor.rpy:387
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "스크립트 에디터를 실행하던 도중 예외가 발생했습니다:\n[exception!q]"
# game/editor.rpy:519
@@ -1480,7 +1480,7 @@
new "%Y년 %m월 %d일"
# game/updater.rpy:140
old "An error has occurred:"
old "An error has occured:"
new "오류가 발생했습니다:"
# game/updater.rpy:142
@@ -1532,7 +1532,7 @@
new "다음으로"
# game/interface.rpy:394
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "[what!qt]에 오류가 발생했습니다:"
# game/interface.rpy:394
+4 -4
View File
@@ -384,7 +384,7 @@
new "Penyunting matang. Editra tiada sokongan IME yang diperlukan untuk input tulisan bahasa Cina, Jepun, dan Korea. Di Linux, Editra memerlukan wxPython."
# editor.rpy:195
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Ini mungkin berlaku kerana wxPython tidak dipasangkan di sistem ini."
# editor.rpy:197
@@ -400,7 +400,7 @@
new "1.8 MB muat turun diperlukan."
# editor.rpy:210
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Ini munhkin berlaku kerana Java tidak dipasangkan di sistem ini."
# editor.rpy:219
@@ -424,7 +424,7 @@
new "Sunting [text]"
# editor.rpy:387
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Telah berlakunya pengecualian ralat ketika melancarkan penyunting tulisan:\n[exception!q]"
# editor.rpy:519
@@ -1216,7 +1216,7 @@
new "Penjujuhan pinggir pembangunan Ren'Py. Ini mungkin ada ciri-ciri paling baru, atau mungkin tak boleh dijalankan langsung."
# updater.rpy:158
old "An error has occurred:"
old "An error has occured:"
new "Telah berlakunya ralat:"
# updater.rpy:160
+1 -1
View File
@@ -942,7 +942,7 @@ translate piglatin strings:
new "Hetay amegay ataday ashay eenbay ownloadedday."
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
old "An error occured when trying to download game data:"
new "Naay erroray occureday henway yingtray otay ownloadday amegay ataday:"
# renpy/common/00updater.rpy:2083
+4 -4
View File
@@ -730,7 +730,7 @@ translate piglatin strings:
new "1.8 Bmay ownloadday equiredray."
# game/editor.rpy:214
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Histay aymay avehay occureday ecausebay Avajay isay otnay installeday onay histay ystemsay."
# game/editor.rpy:228
@@ -762,7 +762,7 @@ translate piglatin strings:
new "Diteay [text]."
# game/editor.rpy:409
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Naay exceptionay occureday hileway aunchinglay hetay exttay editoray:\n[exception!q]"
# game/editor.rpy:541
@@ -1070,7 +1070,7 @@ translate piglatin strings:
new "openingay hetay oglay ilefay"
# game/interface.rpy:407
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Hileway [what!qt], anay erroray occureday:"
# game/interface.rpy:407
@@ -1778,7 +1778,7 @@ translate piglatin strings:
new "%Bay %day, %Yay"
# game/updater.rpy:162
old "An error has occurred:"
old "An error has occured:"
new "Naay erroray ashay occureday:"
# game/updater.rpy:164
+4 -4
View File
@@ -632,7 +632,7 @@
new "Wymagane pobieranie 1,8 MB."
# game/editor.rpy:177
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Problem powstał prawdopodobnie przez brak zainstalowanego oprogramowania Java na tym systemie."
# game/editor.rpy:186
@@ -656,7 +656,7 @@
new "Edytuj [text]."
# game/editor.rpy:354
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Wystąpił wyjątek podczas uruchamiania edytora tekstu:\n[exception!q]"
# game/editor.rpy:486
@@ -965,7 +965,7 @@
new "Otwieranie pliku dziennika"
# game/interface.rpy:394
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Podczas [what!qt], wystąpił błąd:"
# game/interface.rpy:394
@@ -1553,7 +1553,7 @@
new "%B %d, %Y"
# game/updater.rpy:140
old "An error has occurred:"
old "An error has occured:"
new "Wystąpił błąd:"
# game/updater.rpy:142
+4 -4
View File
@@ -11,7 +11,7 @@
new "{b}Recomendado.{/b} Um editor beta com uma interface fácil para uso e características que ajudam no desenvolvimento, como correção ortográfica. Editra atualmente carece do suporte IME necessário para textos em Chinês, Japonês e Coreano. No Linux, Editra necessita do wxPython."
# game/editor.rpy:137
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Isto pode ter ocorrido porque wxPython não está instalado neste sistema."
# game/editor.rpy:144
@@ -28,7 +28,7 @@
new "Downlod de 1.8 MB é necessário."
# game/editor.rpy:158
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Isto pode ter ocorrido porque Java não está instalado neste sistema"
# option: "System Editor"
@@ -52,8 +52,8 @@
new "Evita que Ren'Py abra um editor de texto."
# game/editor.rpy:327
old "An exception occurred while launching the text editor:\n[exception!q]"
new "Ocorreu uma exceção ao executar o editor de texto:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Ocorreu uma exceção ao executar o editor de texto:\[exception!q]"
# game/editor.rpy:423
old "Select Editor"
+1 -1
View File
@@ -62,7 +62,7 @@
new "ERRO"
# game/interface.rpy:328
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Enquanto [what!qt], ocorreu um erro:"
# game/interface.rpy:329
+1 -1
View File
@@ -44,7 +44,7 @@
new "Última versão, ainda instavél, do Ren'Py. Pode ter as últimas características ou pode não funcionar de vez."
# game/updater.rpy:119
old "An error has occurred:"
old "An error has occured:"
new "Um erro ocorreu:"
# game/updater.rpy:121
+1 -1
View File
@@ -1144,7 +1144,7 @@ translate russian strings:
new "Данные игры загружены."
# renpy/common/00updater.rpy:2077
old "An error occurred when trying to download game data:"
old "An error occured when trying to download game data:"
new "При попытке загрузить данные игры произошла ошибка:"
# renpy/common/00updater.rpy:2082
+6 -6
View File
@@ -624,7 +624,7 @@
new "Старый, проверенный бета-редактор. Editra на данный момент не поддерживает IME, необходимые для ввода Китайского, Японского и Корейского текстов. На Linux, Editra требует wxPython."
# editor.rpy:195
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Это могло случиться из-за того, что wxPython не установлен на этой системе."
# editor.rpy:197
@@ -640,7 +640,7 @@
new "Требуется скачать 1.8 МБ."
# editor.rpy:210
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Это могло случиться из-за того, что Java не установлена в данной системе."
# editor.rpy:219
@@ -664,7 +664,7 @@
new "Редактировать [text]"
# editor.rpy:387
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Возникла ошибка при запуске текстового редактора:\n[exception!q]"
# editor.rpy:519
@@ -1457,7 +1457,7 @@
new "%d %B %Y года"
# updater.rpy:140
old "An error has occurred:"
old "An error has occured:"
new "Возникла ошибка:"
# updater.rpy:142
@@ -1525,7 +1525,7 @@
new "(Бета)"
# interface.rpy:394
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "В процессе выполнения \"[what!qt]\" произошла ошибка:"
# interface.rpy:394
@@ -1874,7 +1874,7 @@
# game/androidstrings.rpy:43
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Please make sure you installed the 'JavaSoft (Oracle) registry keys'.\n\nWithout a working JDK, I can't continue."
new "Не удалось использовать javac для компиляции тестового файла. Если вы еще не установили Java Development Kit, загрузите его с:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nJDK отличается от JRE, поэтому возможно, что у вас есть Java без JDK. Пожалуйста, убедитесь, что вы установили 'переменные окружения JavaSoft (Oracle)'.\n\nБез работающего JDK я не могу продолжать."
new "Не удалось использовать javac для компиляции тестового файла. Если вы еще не установили Java Development Kit, загрузите его с:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\JDK отличается от JRE, поэтому возможно, что у вас есть Java без JDK. Пожалуйста, убедитесь, что вы установили 'переменные окружения JavaSoft (Oracle)'.\n\nБез работающего JDK я не могу продолжать."
# game/androidstrings.rpy:64
old "I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place."
+1
View File
@@ -131,6 +131,7 @@ translate russian strings:
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
# Automatic translation.
new "## Linux: $HOME/.renpy/<config.save_directory>."
# options.rpy:146
+10 -5
View File
@@ -447,7 +447,8 @@ translate russian strings:
# screens.rpy:1004
old "Enter"
new "Enter"
# Automatic translation.
new "Войти"
# screens.rpy:1005
old "Advances dialogue and activates the interface."
@@ -495,7 +496,8 @@ translate russian strings:
# screens.rpy:1028
old "Page Up"
new "Page Up"
# Automatic translation.
new "Страница вверху"
# screens.rpy:1029
old "Rolls back to earlier dialogue."
@@ -503,7 +505,8 @@ translate russian strings:
# screens.rpy:1032
old "Page Down"
new "Page Down"
# Automatic translation.
new "Страница вниз"
# screens.rpy:1033
old "Rolls forward to later dialogue."
@@ -680,10 +683,12 @@ translate russian strings:
# gui/game/screens.rpy:676
old "Upload Sync"
new "Загрузить Sync"
# Automatic translation.
new "Синхронизация загрузки"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Скачать Sync"
# gui/game/screens.rpy:1410
@@ -707,4 +712,4 @@ translate russian strings:
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "Старт, Гид, B/Правая кнопка"
new "Старт, Гид, B/кнопка вправо"
+1 -1
View File
@@ -1129,7 +1129,7 @@
new "游戏数据已下载"
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
old "An error occured when trying to download game data:"
new "尝试下载游戏数据时发生错误:"
# renpy/common/00updater.rpy:2083
+4 -4
View File
@@ -697,7 +697,7 @@
new "需要下载 1.8 MB 的文件。"
# game/editor.rpy:200
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "这可能是由于您的系统中尚未安装 Java 造成的。"
# game/editor.rpy:209
@@ -729,7 +729,7 @@
new "编辑 [text]。"
# game/editor.rpy:390
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "启动编辑器时发生异常:\n[exception!q]"
# game/editor.rpy:522
@@ -1037,7 +1037,7 @@
new "打开日志文件"
# game/interface.rpy:399
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "[what!qt]时出错:"
# game/interface.rpy:399
@@ -1697,7 +1697,7 @@
new "%Y-%m-%d"
# game/updater.rpy:157
old "An error has occurred:"
old "An error has occured:"
new "发生错误:"
# game/updater.rpy:159
+12 -12
View File
@@ -22,7 +22,7 @@
# gui/game/screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#say"
new "## https://www.renpy.cn/doc/screen_special.html#say"
# gui/game/screens.rpy:114
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
@@ -46,7 +46,7 @@
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#input"
new "## https://www.renpy.cn/doc/screen_special.html#input"
# gui/game/screens.rpy:200
old "## Choice screen"
@@ -58,7 +58,7 @@
# gui/game/screens.rpy:206
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#choice"
new "## https://www.renpy.cn/doc/screen_special.html#choice"
# gui/game/screens.rpy:234
old "## Quick Menu screen"
@@ -170,7 +170,7 @@
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#main-menu"
new "## https://www.renpy.cn/doc/screen_special.html#main-menu"
# gui/game/screens.rpy:352
old "## This ensures that any other menu screen is replaced."
@@ -242,7 +242,7 @@
# gui/game/screens.rpy:579
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#save https://doc.renpy.cn/zh-CN/screen_special.html#load"
new "## https://www.renpy.cn/doc/screen_special.html#save https://www.renpy.cn/doc/screen_special.html#load"
# gui/game/screens.rpy:598
old "Page {}"
@@ -310,7 +310,7 @@
# gui/game/screens.rpy:709
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#preferences"
new "## https://www.renpy.cn/doc/screen_special.html#preferences"
# gui/game/screens.rpy:726
old "Display"
@@ -379,7 +379,7 @@
# gui/game/screens.rpy:869
old "## https://www.renpy.org/doc/html/history.html"
new "## https://doc.renpy.cn/zh-CN/history.html"
new "## https://www.renpy.cn/doc/history.html"
# gui/game/screens.rpy:875
old "## Avoid predicting this screen, as it can be very large."
@@ -498,7 +498,7 @@
# gui/game/screens.rpy:1032
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "切换辅助{a=https://doc.renpy.cn/zh-CN/self_voicing.html}机器朗读{/a}。"
new "切换辅助{a=https://www.renpy.cn/doc/self_voicing.html}机器朗读{/a}。"
# gui/game/screens.rpy:1036
old "Opens the accessibility menu."
@@ -566,7 +566,7 @@
# gui/game/screens.rpy:1126
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#confirm"
new "## https://www.renpy.cn/doc/screen_special.html#confirm"
# gui/game/screens.rpy:1130
old "## Ensure other screens do not get input while this screen is displayed."
@@ -594,7 +594,7 @@
# gui/game/screens.rpy:1189
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#skip-indicator"
new "## https://www.renpy.cn/doc/screen_special.html#skip-indicator"
# gui/game/screens.rpy:1201
old "Skipping"
@@ -618,7 +618,7 @@
# gui/game/screens.rpy:1245
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#notify-screen"
new "## https://www.renpy.cn/doc/screen_special.html#notify-screen"
# gui/game/screens.rpy:1279
old "## NVL screen"
@@ -630,7 +630,7 @@
# gui/game/screens.rpy:1283
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#nvl"
new "## https://www.renpy.cn/doc/screen_special.html#nvl"
# gui/game/screens.rpy:1294
old "## Displays dialogue in either a vpgrid or the vbox."
+2 -2
View File
@@ -884,7 +884,7 @@ translate spanish strings:
# renpy/common/00sync.rpy:593
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 "Puede usar esta ID para descargar su guardado en otro dispositivo.\nEsta sincronización caducará en una hora.\nRenPy Sync está para {a=https://www.renpy.org/sponsors.html}los patrocinadores de Ren'Py{/a}."
new "Puede usar esta ID para descargar su guardado en otro dispositivo.\nEsta sincronización caducará en una hora.\RenPy Sync está para {a=https://www.renpy.org/sponsors.html}los patrocinadores de Ren'Py{/a}."
# renpy/common/00sync.rpy:619
old "Sync Error"
@@ -943,7 +943,7 @@ translate spanish strings:
new "Descarga de los datos del juego."
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
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
+5 -5
View File
@@ -384,7 +384,7 @@
new "Un editor maduro. Editra carece de soporte IME, necesario para el texto en chino, japonés y coreano. En Linux, Editra necesita wxPython."
# editor.rpy:195
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Esto puede haber ocurrido porque wxPython no está instalado en este sistema."
# editor.rpy:197
@@ -400,7 +400,7 @@
new "Requiere descargar 1.8 MB."
# editor.rpy:210
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Esto puede haber ocurrido porque Java no está instalado en este sistema"
# editor.rpy:219
@@ -424,7 +424,7 @@
new "Editar [text]."
# editor.rpy:387
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Ha ocurrido una excepción mientras se ejecutaba el editor de texto:\\[exception!q]"
# editor.rpy:519
@@ -1216,7 +1216,7 @@
new "Versión de desarrollo de Ren'Py. Puede tener las últimas características o puede no funcionar."
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "Ha sucedido un error:"
# updater.rpy:154
@@ -1568,7 +1568,7 @@
new "abriendo el archivo de registro"
# game/interface.rpy:394
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "Mientras que [what!qt], ocurrió un error:"
# game/interface.rpy:394
+1 -1
View File
@@ -738,7 +738,7 @@ translate tchinese strings:
new "遊戲資料已下載。"
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
old "An error occured when trying to download game data:"
new "嘗試下載遊戲資料時發生錯誤:"
# renpy/common/00updater.rpy:2083
+5 -5
View File
@@ -364,7 +364,7 @@
new "{b}推薦{/b} 一個有簡單易用的介面和功能的測試版編輯器能夠幫助開發,例如拼字的校對功能。Editra 現在沒有中文,日文,韓文的輸入功能。在 linux 中 Editra 需要 wxPython(模組支援)。"
# editor.rpy:167
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "這可能是因為 wxPython 沒有被安裝在當前系統中而發生的。"
# editor.rpy:169
@@ -380,7 +380,7 @@
new "1.8 MB 需要下載。"
# editor.rpy:182
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "這可能是因為 Java 沒有被安裝在當前系統中而發生的。"
# editor.rpy:191
@@ -392,7 +392,7 @@
new "防止 Ren'Py 開啟文字編輯器。"
# editor.rpy:359
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "啟動以下編輯器出現異常:\n[exception!q]"
# editor.rpy:457
@@ -608,7 +608,7 @@
new "錯誤"
# interface.rpy:356
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
new "[what!qt] 時,出現錯誤:"
# interface.rpy:356
@@ -1136,7 +1136,7 @@
new "Ren'Py 最新的開發版本。這可能會擁有最新的功能,或可能根本無法運作。"
# updater.rpy:152
old "An error has occurred:"
old "An error has occured:"
new "一個錯誤發生:"
# updater.rpy:154
+6 -6
View File
@@ -620,7 +620,7 @@
new "Gelişmiş bir düzenleyici. Editra; Çince, Japonca ve Korece metin girişi için gerekli olan IME desteğinden yoksundur. Linux'ta Editra wxPython gerektirir."
# editor.rpy:195
old "This may have occurred because wxPython is not installed on this system."
old "This may have occured because wxPython is not installed on this system."
new "Bu sistemde wxPython kurulu olmadığı için olabilir."
# editor.rpy:197
@@ -636,7 +636,7 @@
new "1.8 MB indirme gerekir."
# editor.rpy:210
old "This may have occurred because Java is not installed on this system."
old "This may have occured because Java is not installed on this system."
new "Bunun sebebi sistemde Java kurulu olmaması olabilir."
# editor.rpy:219
@@ -660,7 +660,7 @@
new "Düzenle [text]."
# editor.rpy:387
old "An exception occurred while launching the text editor:\n[exception!q]"
old "An exception occured while launching the text editor:\n[exception!q]"
new "Metin düzenleyicisini başlatırken bir hata oluştu:\n[exception!q]"
# editor.rpy:519
@@ -896,7 +896,7 @@
new "HATA"
# interface.rpy:394
old "While [what!q], an error occurred:"
old "While [what!q], an error occured:"
new "[what!q] sırasında bir hata meydana geldi:"
# interface.rpy:394
@@ -1465,7 +1465,7 @@
new "B %d, %Y"
# updater.rpy:140
old "An error has occurred:"
old "An error has occured:"
new "Bir hata meydana geldi:"
# updater.rpy:142
@@ -1913,7 +1913,7 @@ translate turkish strings:
new "günlük dosyasının açılması"
# game/interface.rpy:407
old "While [what!qt], an error occurred:"
old "While [what!qt], an error occured:"
# Automatic translation.
new "[what!qt] adresindeyken bir hata oluştu:"
+58 -169
View File
@@ -155,7 +155,7 @@ translate ukrainian strings:
# 00action_file.rpy:240
old "%b %d, %H:%M"
new "%d %b, %H:%M"
new "%b %d, %H:%M"
# 00action_file.rpy:353
old "Save slot %s: [text]"
@@ -207,7 +207,7 @@ translate ukrainian strings:
# 00director.rpy:708
old "The interactive director is not enabled here."
new "Інтерактивний режисер тут не ввімкнено."
new "Інтерактивний режисер тут не ввімкнений."
# 00director.rpy:1481
old "⬆"
@@ -223,7 +223,7 @@ translate ukrainian strings:
# 00director.rpy:1561
old "(statement)"
new "(оператор)"
new "(функція)"
# 00director.rpy:1562
old "(tag)"
@@ -235,7 +235,7 @@ translate ukrainian strings:
# 00director.rpy:1564
old "(transform)"
new "(перетворення)"
new "(трансформація)"
# 00director.rpy:1589
old "(transition)"
@@ -247,7 +247,7 @@ translate ukrainian strings:
# 00director.rpy:1602
old "(filename)"
new "(назва файлу)"
new "(ім’я файла)"
# 00director.rpy:1631
old "Change"
@@ -267,7 +267,7 @@ translate ukrainian strings:
# 00director.rpy:1674
old "Statement:"
new "Оператор:"
new "Функція:"
# 00director.rpy:1695
old "Tag:"
@@ -279,7 +279,7 @@ translate ukrainian strings:
# 00director.rpy:1729
old "Transforms:"
new "Перетворення:"
new "Трансформації:"
# 00director.rpy:1748
old "Behind:"
@@ -295,7 +295,7 @@ translate ukrainian strings:
# 00director.rpy:1803
old "Audio Filename:"
new "Назва аудіофайлу:"
new "Ім’я аудіофайлу::"
# 00gui.rpy:370
old "Are you sure?"
@@ -311,7 +311,7 @@ translate ukrainian strings:
# 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,7 +319,7 @@ translate ukrainian 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?"
@@ -331,7 +331,7 @@ translate ukrainian 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?"
@@ -351,7 +351,7 @@ translate ukrainian strings:
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Озвучення буфера обміну ввімкнено."
new "Озвучення буфера обміну увімкнено."
# 00library.rpy:148
old "Self-voicing enabled. "
@@ -371,11 +371,11 @@ translate ukrainian strings:
# 00library.rpy:153
old "horizontal scroll"
new "горизонтальна прокрутка"
new "горизонтальне прокручування"
# 00library.rpy:154
old "vertical scroll"
new "вертикальна прокрутка"
new "вертикальне прокручування"
# 00library.rpy:155
old "activate"
@@ -411,7 +411,7 @@ translate ukrainian strings:
# 00preferences.rpy:228
old "skip transitions"
new "пропускати переходи"
new "пропустити переходи"
# 00preferences.rpy:230
old "video sprites"
@@ -423,7 +423,7 @@ translate ukrainian strings:
# 00preferences.rpy:248
old "text speed"
new "швидкість друку тексту"
new "швидкість тексту"
# 00preferences.rpy:256
old "joystick"
@@ -435,19 +435,19 @@ translate ukrainian strings:
# 00preferences.rpy:263
old "skip"
new "пропускати"
new "пропустити"
# 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"
new "почати пропуск"
new "почати пропускати"
# 00preferences.rpy:277
old "after choices"
@@ -471,7 +471,7 @@ translate ukrainian strings:
# 00preferences.rpy:310
old "auto-forward after click"
new "перемотка після клацу"
new "перемотка після дотику"
# 00preferences.rpy:319
old "automatic move"
@@ -479,7 +479,7 @@ translate ukrainian strings:
# 00preferences.rpy:328
old "wait for voice"
new "чекати на голос"
new "чекати голос"
# 00preferences.rpy:337
old "voice sustain"
@@ -495,7 +495,7 @@ translate ukrainian strings:
# 00preferences.rpy:364
old "debug voicing"
new "налагоджувальне озвучення"
new "режим налагодження синтезу мови"
# 00preferences.rpy:373
old "emphasize audio"
@@ -507,7 +507,7 @@ translate ukrainian strings:
# 00preferences.rpy:392
old "gl powersave"
new "енергозбереження"
new "економія енергії"
# 00preferences.rpy:398
old "gl framerate"
@@ -523,7 +523,7 @@ translate ukrainian strings:
# 00preferences.rpy:414
old "sound volume"
new "гучність звукових ефектів"
new "гучність звук. ефектів"
# 00preferences.rpy:415
old "voice volume"
@@ -535,7 +535,7 @@ translate ukrainian strings:
# 00preferences.rpy:417
old "mute sound"
new "без звукових ефектів"
new "без звук. ефектів"
# 00preferences.rpy:418
old "mute voice"
@@ -547,19 +547,19 @@ translate ukrainian strings:
# 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."
new "Порожня комірка."
new "Порожній комірка."
# _compat\gamemenu.rpym:355
old "Previous"
@@ -595,7 +595,7 @@ translate ukrainian strings:
# _developer\developer.rpym:51
old "Image Location Picker"
new "Вибирач розташування зображень"
new "Вибір розташування зображень"
# _developer\developer.rpym:53
old "Filename List"
@@ -603,15 +603,15 @@ translate ukrainian strings:
# _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)"
@@ -639,7 +639,7 @@ translate ukrainian strings:
# _developer\developer.rpym:435
old "Right-click or escape to quit."
new "Натисніть ПКМ або ESC, щоб вийти."
new "Натисніть ПКМ або Escape, щоб вийти."
# _developer\developer.rpym:467
old "Rectangle copied to clipboard."
@@ -655,11 +655,11 @@ translate ukrainian strings:
# _developer\developer.rpym:617
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Текстури: [tex_count] ([tex_size_mb:.1f] МБ)"
new "Текстури: [tex_count] ([tex_size_mb:.1f] Мб)"
# _developer\developer.rpym:621
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Кеш зображень: [cache_pct:.1f]% ([cache_size_mb:.1f] МБ)"
new "Кеш зображень: [cache_pct:.1f]% ([cache_size_mb:.1f] Мб)"
# _developer\developer.rpym:631
old "✔ "
@@ -671,7 +671,7 @@ translate ukrainian strings:
# _developer\developer.rpym:639
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"
@@ -699,7 +699,7 @@ translate ukrainian strings:
# _developer\inspector.rpym:145
old " (no properties affect the displayable)"
new " (на об’єкт не впливають жодні властивості)"
new " (на об’єкт не впливають жодні параметри)"
# _developer\inspector.rpym:147
old " (default properties omitted)"
@@ -767,7 +767,7 @@ translate ukrainian strings:
# 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."
@@ -783,7 +783,7 @@ translate ukrainian strings:
# 00updater.rpy:1462
old "The updates have been installed. The program will restart."
new "Оновлення було встановлено. Програму буде перезапущено."
new "Оновлення встановлено. Програма буде перезапущена."
# 00updater.rpy:1464
old "The updates have been installed."
@@ -823,11 +823,11 @@ translate ukrainian strings:
# 00accessibility.rpy:76
old "Font Override"
new "Перевизначення шрифту"
new "Замінити шрифт"
# 00accessibility.rpy:80
old "Default"
new "Стандартний"
new "Стандратний"
# 00accessibility.rpy:84
old "DejaVu Sans"
@@ -859,7 +859,7 @@ translate ukrainian strings:
# 00accessibility.rpy:125
old "Text-to-speech"
new "Текст-у-мовлення"
new "Перетворення тексту в мовлення"
# 00accessibility.rpy:129
old "Clipboard"
@@ -879,7 +879,7 @@ translate ukrainian strings:
# renpy/common/00accessibility.rpy:191
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 "Параметри цього меню призначені для покращення доступності. Вони можуть працювати не з усіма іграми, а деякі комбінації параметрів можуть зробити гру неможливою для гри. Це не є проблемою гри або рушія. Для отримання кращих результатів при зміні шрифтів намагайтеся зберігати розмір тексту таким, яким він був спочатку."
new "Параметри цього меню призначені для покращення доступності. Вони можуть працювати не з усіма іграми, а деякі комбінації параметрів можуть зробити гру неможливою для гри. Це не є проблемою гри або рушія. Для досягнення найкращих результатів при зміні шрифтів намагайтеся зберігати розмір тексту таким, яким він був спочатку."
# renpy/common/00accessibility.rpy:193
old "Self-Voicing Volume Drop"
@@ -919,7 +919,7 @@ translate ukrainian strings:
# renpy/common/00preferences.rpy:535
old "mute main"
new "без основної гучності"
new "без основи"
translate ukrainian strings:
@@ -941,11 +941,11 @@ translate ukrainian strings:
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Натисніть, щоб установити перетворення, клацніть ПКМ, щоб додати до списку перетворень."
new "Натисніть, щоб встановити трансформацію, натисніть ПКМ, щоб додати до списку трансформацій."
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Натисніть, щоб установити, клацніть ПКМ, щоб додати до списку."
new "Натисніть, щоб встановити, натисніть ПКМ, щоб додати до списку."
# 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?"
@@ -953,7 +953,7 @@ translate ukrainian strings:
# 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 "Чи довіряєте ви пристрою, на якому було створено збереження? Ви повинні натиснути «Так», лише якщо ви є єдиним користувачем пристрою."
new "Чи довіряєте ви пристрою, на якому було створено збереження? Ви повинні вибрати «Так», тільки якщо ви є єдиним користувачем пристрою."
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
@@ -961,7 +961,7 @@ translate ukrainian strings:
# renpy/common/00preferences.rpy:537
old "web cache preload"
new "попереднє завантаження вебкешу"
new "попер. завантаження вебкешу"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
@@ -973,7 +973,7 @@ translate ukrainian strings:
# renpy/common/00speechbubble.rpy:349
old "(hide)"
new "(сховати)"
new "(приховати)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
@@ -985,7 +985,7 @@ translate ukrainian strings:
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "Час під’єднання до Ren'Py Sync закінчився."
new "Сервер Ren'Py Sync вийшов з ладу."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
@@ -993,11 +993,11 @@ translate ukrainian strings:
# 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 "Сервер Ren'Py Sync не має копії цієї синхронізації. Ідентифікатор синхронізації може бути недійсним або термін його дії закінчився."
new "Сервер Ren'Py Sync не має копії цієї синхронізації. Ідентифікатор синхронізації може бути недійсним або його термін дії закінчився."
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Введіть згенерований вами ідентифікатор синхронізації.\nНіколи не вводьте не створений вами ідентифікатор синхронізації."
new "Будь ласка, введіть згенерований вами ідентифікатор синхронізації.\nНіколи не вводьте ідентифікатор синхронізації, який ви не створювали."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
@@ -1013,19 +1013,19 @@ translate ukrainian strings:
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
new "Синхронізація містить файл з недійсною назвою."
new "Синхронізація містить файл з невірною назвою."
# renpy/common/00sync.rpy:529
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "Ця дія вивантажить ваші збереження на {a=https://sync.renpy.org}сервер Ren'Py Sync{/a}.\nБажаєте продовжити?"
new "Це завантажить ваші збереження на {a=https://sync.renpy.org}сервер Ren'Py Sync{/a}.\nБажаєте продовжити?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
new "Введіть ідентифікатор синхронізації"
new "Уведіть ідентифікатор синхронізації"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Ця дія зв’яжеться зі {a=https://sync.renpy.org}сервером Ren'Py Sync{/a}."
new "Зв’язок зі {a=https://sync.renpy.org}сервером Ren'Py Sync{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
@@ -1043,114 +1043,3 @@ translate ukrainian strings:
old "Sync Error"
new "Помилка синхронізації"
translate ukrainian strings:
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Меню доступності. Використовуйте стрілки вгору та вниз для навігації, а клавішу Enter для взаємодії між кнопками та смуг."
# renpy/common/00accessibility.rpy:197
old "Self-voicing support is limited when using a touch screen."
new "Підтримка синтезу мовлення обмежена при використанні сенсорного екрана."
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "Налаштуйте «director.transforms», щоб додати більше перетворень."
# renpy/common/00director.rpy:1821
old "Click to set."
new "Клацніть, щоб установити."
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "Налаштуйте «director.transitions», щоб додати більше переходів."
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "Налаштуйте «director.audio_channels», щоб додати більше каналів."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "Ви дійсно бажаєте продовжити з того місця, на якому зупинилися?"
# renpy/common/00preferences.rpy:438
old "self voicing enable"
new "увімкнути синтез мовлення"
# renpy/common/00preferences.rpy:440
old "self voicing disable"
new "вимкнути синтез мовлення"
# renpy/common/00preferences.rpy:455
old "clipboard voicing enable"
new "увімкнути озвучення буфера обміну"
# renpy/common/00preferences.rpy:457
old "clipboard voicing disable"
new "вимкнути озвучення буфера обміну"
# renpy/common/00preferences.rpy:464
old "debug voicing enable"
new "увімкнути налагоджувальне озвучення"
# renpy/common/00preferences.rpy:466
old "debug voicing disable"
new "вимкнути налагоджувальне озвучення"
# renpy/common/00preferences.rpy:586
old "restore window position"
new "відновити положення вікна"
# renpy/common/00preferences.rpy:595
old "reset"
new "скинути"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(очистити залишкові бульбашки)"
# renpy/common/00updater.rpy:505
old "No update methods found."
new "Методів оновлення не знайдено."
# renpy/common/00updater.rpy:552
old "Could not download file list: "
new "Не вдалося завантажити список файлів: "
# renpy/common/00updater.rpy:555
old "File list digest does not match."
new "Дайджест списку файлів не збігається."
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "Підготовка до завантаження даних гри."
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "Завантаження даних гри."
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "Дані гри було завантажено."
# renpy/common/00updater.rpy:2078
old "An error occurred when trying to download game data:"
new "Виникла помилка при спробі завантажити дані гри:"
# renpy/common/00updater.rpy:2083
old "This game cannot be run until the game data has been downloaded."
new "Цю гру не можна буде запустити, доки не будуть завантажені дані гри."
# renpy/common/00updater.rpy:2090
old "Retry"
new "Повторити"
translate ukrainian strings:
# renpy/common/00translation.rpy:63
old "Translation identifier: [identifier]"
new "Ідентифікатор перекладу: [identifier]"
# renpy/common/00translation.rpy:84
old " translates [tl.filename]:[tl.linenumber]"
new " перекладає [tl.filename]:[tl.linenumber]"
+3 -63
View File
@@ -89,6 +89,8 @@ translate ukrainian strings:
old "stack: print the return stack"
new "stack: вивести стек повернення"
translate ukrainian strings:
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "Переглядач даних"
@@ -97,73 +99,11 @@ translate ukrainian strings:
old "Speech Bubble Editor (Shift+B)"
new "Редактор мовних бульбашок (Shift+B)"
# renpy/common/_developer/developer.rpym:70
old "Show Translation Info"
new "Показати відомості про переклад"
# renpy/common/_developer/developer.rpym:73
old "Hide Translation Info"
new "Сховати відомості про переклад"
# renpy/common/_developer/developer.rpym:69
old "Show Translation Identifiers"
new "Показати ідентифікатори перекладу"
# renpy/common/_developer/developer.rpym:72
old "Hide Translation Identifiers"
new "Сховати ідентифікатори перекладу"
# renpy/common/_developer/developer.rpym:81
old "Show Filename and Line"
new "Показати назву файлу та рядок"
# renpy/common/_developer/developer.rpym:84
old "Hide Filename and Line"
new "Сховати назву файлу та рядок"
# renpy/common/_developer/developer.rpym:127
old "Layer [l]:"
new "Шар [l]:"
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (приховано)"
# renpy/common/_developer/developer.rpym:135
old " [name] [attributes]"
new " [name] [attributes]"
# renpy/common/_developer/developer.rpym:606
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff}Скопійовано до буфера обміну.{/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff}Клацніть для копіювання.\nПеретягніть для пересування.{/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "Клацніть, щоб відкрити в редакторі."
# renpy/common/00console.rpy:725
old "The console is using short representations. To disable this, type 'long', and to re-enable, type 'short'"
new "Консоль використовує короткі представлення. Щоб вимкнути це, введіть 'long', а щоб увімкнути, введіть 'short'"
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "help: показує цю довідку\n help <вираз>: показує підпис та документацію <виразу>"
# renpy/common/00console.rpy:813
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "У довідці можуть бути недокументовані функції. Будь ласка, перевірте, чи бажана функція або\nклас задокументовано.\n\n"
translate ukrainian strings:
# renpy/common/_developer/developer.rpym:133
old " [name!q] [attributes!q] (hidden)"
new " [name!q] [attributes!q] (приховано)"
# renpy/common/_developer/developer.rpym:137
old " [name!q] [attributes!q]"
new " [name!q] [attributes!q]"
new "У довідці можуть відображатися недокументовані функції. Будь ласка, перевірте, чи функцію або\nклас, який бажаєте використати, задокументовано.\n\n"
+19 -19
View File
@@ -59,7 +59,7 @@ translate ukrainian strings:
# 00gltest.rpy:213
old "Performance Warning"
new "Попередження про швидкодію"
new "Попередження про продуктивність"
# 00gltest.rpy:218
old "This computer is using software rendering."
@@ -67,7 +67,7 @@ translate ukrainian strings:
# 00gltest.rpy:220
old "This computer is not using shaders."
new "Цей пристрій не використовує шейдери."
new "Цей пристрій не використовує шейдерів."
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
@@ -103,15 +103,15 @@ translate ukrainian 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} застосунок вебналаштування DirectX від Microsoft за стандартом установлює панель інструментів Bing. Якщо вам не потрібна вона, зніміть позначку у відповідному полі."
new "{b}Нотатка:{/b} Програма вебналаштування DirectX від Microsoft за стандартом встановлює панель інструментів Bing. Якщо вам не потрібна ця панель, зніміть позначку у відповідному полі."
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "Після завершення установлення, натисніть нижче для перезапуску програми."
new "Після завершення налаштування, натисніть нижче, щоб перезапустити програму."
# 00gltest.rpy:278
old "Restart"
@@ -155,7 +155,7 @@ translate ukrainian strings:
# _errorhandling.rpym:535
old "Copies the traceback.txt file to the clipboard."
new "Копіює вміст файлу traceback.txt у буфер обміну."
new "Копіює файл traceback.txt у буфер обміну."
# _errorhandling.rpym:562
old "An exception has occurred."
@@ -167,7 +167,7 @@ translate ukrainian strings:
# _errorhandling.rpym:584
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Спробує відкатити до попереднього часу, дозволяючи вам зберегтися або вибрати інший варіант."
new "Спроба відкату до попереднього часу, що дозволяє зберегти або вибрати інший варіант."
# _errorhandling.rpym:587
old "Ignore"
@@ -175,11 +175,11 @@ translate ukrainian strings:
# _errorhandling.rpym:591
old "Ignores the exception, allowing you to continue."
new "Ігнорує виняток, дозволяючи вам продовжити."
new "Ігнорує цей виняток, дозволяючи вам продовжити."
# _errorhandling.rpym:593
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ігнорує виняток, дозволяючи вам продовжити. Найчастіше призводить до додаткових помилок."
new "Ігнорує цей виняток, дозволяючи вам продовжити. Найчастіше це призводить до додаткових помилок."
# _errorhandling.rpym:597
old "Reload"
@@ -199,11 +199,11 @@ translate ukrainian strings:
# _errorhandling.rpym:614
old "Quits the game."
new "Виходить з гри."
new "Виходить із гри."
# _errorhandling.rpym:638
old "Parsing the script failed."
new "Помилка розбіру скрипта."
new "Розбір скрипта не вдався."
# _errorhandling.rpym:664
old "Opens the errors.txt file in a text editor."
@@ -211,7 +211,7 @@ translate ukrainian strings:
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "Копіює вміст файлу errors.txt у буфер обміну."
new "Копіює файл errors.txt у буфер обміну."
# _errorhandling.rpym:542
old "Copy BBCode"
@@ -219,7 +219,7 @@ translate ukrainian strings:
# _errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Копіює вміст файлу traceback.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
new "Копіює файл traceback.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
# _errorhandling.rpym:546
old "Copy Markdown"
@@ -227,15 +227,15 @@ translate ukrainian strings:
# _errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Копіює вміст файлу traceback.txt у буфер обміну як Markdown для Discord."
new "Копіює файл traceback.txt у буфер обміну як Markdown для Discord."
# _errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Копіює вміст файлу errors.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
new "Копіює файл errors.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "Копіює вміст файлу errors.txt у буфер обміну як Markdown для Discord."
new "Копіює файл errors.txt у буфер обміну як Markdown для Discord."
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
@@ -267,11 +267,11 @@ translate ukrainian strings:
# renpy/common/00gltest.rpy:256
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "Детальніше про те, як це можна виправити, дивіться у {a=[url]}документації{/a}."
new "Більше інформації про те, як це може бути виправлено, дивіться в {a=[url]}документації{/a}."
# renpy/common/00gltest.rpy:273
old "Change render options"
new "Змінити параметри візуалізації"
new "Змінити параметри візцалізації"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
@@ -279,7 +279,7 @@ translate ukrainian strings:
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "Увімкнути (без списку блоку)"
new "Увімкнути (без списку блокування)"
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+44 -52
View File
@@ -13,10 +13,6 @@ translate ukrainian strings:
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Виклик gui.init скидає стилі до розумних значень за замовчуванням і встановлює ширину та висоту гри."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Увімкнути перевірку недійсних або нестабільних властивостей в екранах або перетвореннях"
# gui/game/gui.rpy:17
old "## GUI Configuration Variables"
new "## Змінні конфігурації GUI"
@@ -31,11 +27,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## Акцентований колір, який використовується в інтерфейсі для позначення та виділення тексту."
new "## Колір акценту, який використовується в інтерфейсі для позначення та виділення тексту."
# gui/game/gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## Колір, який використовується для кнопки з текстом, коли її не вибрано або не наведено вказівником."
new "## Колір, який використовується для текстової кнопки, коли вона не вибрана і не наведена."
# gui/game/gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
@@ -43,23 +39,23 @@ translate ukrainian strings:
# gui/game/gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## Колір, який використовується для кнопок і смуг, на які наводяться вказівником."
new "## Колір, який використовується для кнопок і смуг, на які наводяться."
# gui/game/gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## Колір, який використовується для кнопки з текстом, коли її вибрано, але користувач не в програмі. Кнопку вибрано, якщо це поточний екран або значення параметра."
new "## Колір, який використовується для текстової кнопки, коли вона вибрана, але не в фокусі. Кнопку вибрано, якщо це поточний екран або значення параметра."
# gui/game/gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## Колір кнопки з текстом, коли її неможливо вибрати."
new "## Колір текстової кнопки, якщо її неможливо вибрати."
# gui/game/gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Кольори, що використовуються для незаповнених частин смуг. Вони не використовуються безпосередньо, а використовуються під час повторного створення файлів зображень смуги."
new "## Кольори, що використовуються для незаповнених частин стовпчиків. Вони не використовуються безпосередньо, а використовуються під час повторного створення файлів зображень стовпчика."
# gui/game/gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## Кольори, які використовуються для тексту діалогу та меню вибору."
new "## Кольори, які використовуються для тексту діалогу та вибору меню."
# gui/game/gui.rpy:56
old "## Fonts and Font Sizes"
@@ -71,7 +67,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:61
old "## The font used for character names."
new "## Шрифт, який використовується для імен персонажів."
new "## Шрифт, який використовується для імен символів."
# gui/game/gui.rpy:64
old "## The font used for out-of-game text."
@@ -87,11 +83,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:73
old "## The size of text in the game's user interface."
new "## Розмір тексту в інтерфейсі гри."
new "## Розмір тексту в інтерфейсі користувача гри."
# gui/game/gui.rpy:76
old "## The size of labels in the game's user interface."
new "## Розмір міток в інтерфейсі гри."
new "## Розмір міток в інтерфейсі користувача гри."
# gui/game/gui.rpy:79
old "## The size of text on the notify screen."
@@ -127,7 +123,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:106
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## Розташування імені персонажа, відносно текстового поля. Це може бути ціла кількість пікселів зліва чи зверху або 0,5 до центру."
new "## Розташування імені персонажа, що говорить, відносно текстового поля. Це може бути ціла кількість пікселів зліва чи зверху або 0,5 до центру."
# gui/game/gui.rpy:111
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
@@ -139,11 +135,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:120
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## Межі поля, що містять імʼя персонажа, у порядку зліва, зверху, справа, знизу."
new "## Межі поля, що містять ім'я персонажа, у порядку зліва, зверху, справа, знизу."
# gui/game/gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Якщо встановлено «True», тло поля імен буде мозаїкою, якщо «False», тло поля імен буде масштабовано."
new "## Якщо True, фон поля імен буде мозаїкою, якщо False, фон вікна імен буде масштабовано."
# gui/game/gui.rpy:129
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
@@ -163,11 +159,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:145
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## Ці змінні разом із файлами зображень у gui/button контролюють аспекти показу кнопок."
new "## Ці змінні разом із файлами зображень у gui/button контролюють аспекти відображення кнопок."
# gui/game/gui.rpy:148
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## Ширина та висота кнопки в пікселях. Якщо встановлено «None», Ren'Py обчислить розмір."
new "## Ширина та висота кнопки в пікселях. Якщо немає, Ren'Py обчислює розмір."
# gui/game/gui.rpy:152
old "## The borders on each side of the button, in left, top, right, bottom order."
@@ -175,7 +171,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:155
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Якщо встановлено «True», зображення тла буде мозаїчно. Якщо «False», зображення тла буде лінійно масштабовано."
new "## Якщо True, фонове зображення буде мозаїчно. Якщо False, фонове зображення буде лінійно масштабовано."
# gui/game/gui.rpy:159
old "## The font used by the button."
@@ -191,11 +187,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:171
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Горизонтальне вирівнювання тексту кнопки. (0,0 ліворуч, 0,5 центр, 1,0 праворуч)."
new "## Горизонтальне вирівнювання тексту кнопки. (0,0 ліворуч, 0,5 центр, 1,0 праворуч)."
# gui/game/gui.rpy:176
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## Ці змінні перевизначають налаштування для різних типів кнопок. Перегляньте документацію про GUI, щоб дізнатися про типи доступних кнопок і для чого кожна з них використовується."
new "## Ці змінні перекривають налаштування для різних типів кнопок. Перегляньте документацію gui, щоб дізнатися про типи доступних кнопок і для чого кожна з них використовується."
# gui/game/gui.rpy:180
old "## These customizations are used by the default interface:"
@@ -215,23 +211,23 @@ translate ukrainian strings:
# gui/game/gui.rpy:218
old "## File Slot Buttons"
new "## Кнопки комірок збережень"
new "## Кнопки слотів файлів"
# gui/game/gui.rpy:220
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Кнопка комірки збереження — це особливий вид кнопки. Він містить мале зображення та текст, що описує вміст комірки збереження. Комірка збереження використовує файли зображень у gui/button, як і інші типи кнопок."
new "## Кнопка слота файлів — це особливий вид кнопки. Він містить ескіз зображення та текст, що описує вміст гнізда збереження. Слот збереження використовує файли зображень у gui/button, як і інші типи кнопок."
# gui/game/gui.rpy:224
old "## The save slot button."
new "## Кнопка комірки збереження."
new "## Кнопка збереження слота."
# gui/game/gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## Ширина та висота малих зображень, що використовуються комірками збереження."
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу користувача."
# gui/game/gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## Кількість стовпців і рядків у сітці комірок збереження."
new "## Ширина та висота мініатюр, що використовуються слотами для збереження."
# gui/game/gui.rpy:243
old "## Positioning and Spacing"
@@ -239,7 +235,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу."
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу користувача."
# gui/game/gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
@@ -251,11 +247,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:255
old "## The vertical position of the notify screen."
new "## Вертикальна позиція екрана сповіщень."
new "## Вертикальне положення екрана сповіщень."
# gui/game/gui.rpy:258
old "## The spacing between menu choices."
new "## Інтервал між елементами у меню вибору."
new "## Інтервал між пунктами меню."
# gui/game/gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
@@ -275,7 +271,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:273
old "## The spacing between file slots."
new "## Відстань між комірками збережень."
new "## Відстань між слотами файлів."
# gui/game/gui.rpy:276
old "## The position of the main menu text."
@@ -287,7 +283,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:282
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## Ці змінні керують виглядом рамок, що можуть містити компоненти інтерфейсу, коли накладання або вікно відсутні."
new "## Ці змінні керують виглядом рамок, що можуть містити компоненти інтерфейсу користувача, коли накладання або вікно відсутні."
# gui/game/gui.rpy:285
old "## Generic frames."
@@ -299,7 +295,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:291
old "## The frame that is used as part of the skip screen."
new "## Рамка, яка використовується як частина екрана пропуску."
new "## Рамка, який використовується як частина екрана пропуску."
# gui/game/gui.rpy:294
old "## The frame that is used as part of the notify screen."
@@ -307,7 +303,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:297
old "## Should frame backgrounds be tiled?"
new "## Чи слід фонові рамки розміщувати мозаїчно?"
new "## Чи слід фонові рамки розміщувати плиткою?"
# gui/game/gui.rpy:301
old "## Bars, Scrollbars, and Sliders"
@@ -315,11 +311,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:303
old "## These control the look and size of bars, scrollbars, and sliders."
new "## Ці керують виглядом і розміром панель, смуг прокрутки та повзунків."
new "## Це керує виглядом і розміром смуг, смуг прокрутки та повзунків."
# gui/game/gui.rpy:305
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## Стандартний інтерфейс використовує лише повзунки та вертикальні смуги прокрутки. Усі інші смуги використовуються лише на екранах, написаних автором."
new "## GUI за замовчуванням використовує лише повзунки та вертикальні смуги прокручування. Усі інші смужки використовуються лише на екранах, написаних автором."
# gui/game/gui.rpy:308
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
@@ -327,7 +323,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:314
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True якщо зображення панелей мають бути мозаїчно. False, якщо вони повинні бути лінійно масштабовані."
new "## True якщо зображення панелей мають бути мозаїками. False, якщо вони повинні бути лінійно масштабовані."
# gui/game/gui.rpy:319
old "## Horizontal borders."
@@ -339,7 +335,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:329
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## Що робити з непрокручуваними смугами прокрутки в інтерфейсі. Значення «hide» приховує їх, а «None» показує їх."
new "## Що робити з непрокручуваними смугами прокручування в gui. \"hide\" приховує їх, а «Нічого» показує їх."
# gui/game/gui.rpy:334
old "## History"
@@ -355,16 +351,12 @@ translate ukrainian strings:
# gui/game/gui.rpy:341
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## Висота запису на екрані історії або «None», щоб зробити висоту змінною шляхом швидкодії."
new "## Висота запису на екрані історії або «Нічого», щоб зробити висоту змінною за рахунок продуктивності."
# gui/game/gui.rpy:345
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## Положення, ширина та вирівнювання мітки, що вказує ім’я персонажа, що говорить."
# gui/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## Додатковий простір для додавання між записами на екрані «Історія»."
# gui/game/gui.rpy:352
old "## The position, width, and alignment of the dialogue text."
new "## Позиція, ширина та вирівнювання тексту діалогу."
@@ -379,7 +371,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:363
old "## The borders of the background of the NVL-mode background window."
new "## Межі тла вікна заднього плану режиму NVL."
new "## Межі фону заднього плану режиму NVL."
# gui/game/gui.rpy:366
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
@@ -407,7 +399,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:404
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Це визначає, де дозволений розрив рядка. Стандартне значення підходить для більшості мов. Список доступних значень можна знайти на https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Це визначає, де дозволений розрив рядка. Стандартне значення підходить для більшості мов. Список доступних значень можна знайти за адресою https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui/game/gui.rpy:412
old "## Mobile devices"
@@ -415,15 +407,15 @@ translate ukrainian strings:
# gui/game/gui.rpy:417
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Це збільшує розмір кнопок швидкої панелі доступу, щоб їх було легше торкатися на планшетах і телефонах."
new "## Це збільшує розмір швидких кнопок, щоб їх було легше торкатися на планшетах і телефонах."
# gui/game/gui.rpy:424
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Це змінює розмір і відстань між різними елементами інтерфейсу, щоб вони були видимими на телефонах."
new "## Це змінює розмір і відстань між різними елементами gui, щоб вони були видимими на телефонах."
# gui/game/gui.rpy:429
old "## Font sizes."
new "## Розміри шрифтів"
new "## Розміри шрифту"
# gui/game/gui.rpy:437
old "## Adjust the location of the textbox."
@@ -435,7 +427,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:457
old "## File button layout."
new "## Макет кнопки збереження."
new "## Макет кнопки файлу."
# gui/game/gui.rpy:461
old "## NVL-mode."
@@ -443,7 +435,7 @@ translate ukrainian strings:
translate ukrainian strings:
# gui/game/gui.rpy:331
old "## What to do with unscrollable scrollbars in the game menu. \"hide\" hides them, while None shows them."
new "## Що робити з не прокручуваними смугами прокрутки у меню гри. Параметр «hide» приховує їх, а «None» показує їх."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Увімкнути перевірку недійсних або нестабільних властивостей у екранах або перетвореннях"
File diff suppressed because it is too large Load Diff
+35 -33
View File
@@ -7,7 +7,7 @@ translate ukrainian strings:
# gui/game/options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Рядки, що починаються з двох решіток «##» є коментарями і вам не потрібно розкоментовувати їх. Рядки, що починаються з однієї решітки «#» є закоментованим кодом, і ви можете за потреби розкоментувати їх."
new "## Рядки, що починаються з двох позначок «#», є коментарями, і ви не повинні розкоментувати їх. Рядки, що починаються з одного знака «#», є закоментованим кодом, і ви можете за потреби розкоментувати їх."
# gui/game/options.rpy:10
old "## Basics"
@@ -15,7 +15,7 @@ translate ukrainian strings:
# gui/game/options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## Зрозуміла назва гри. Використовується для задання заголовка вікна за стандартом і показується в інтерфейсі та звітах про помилки."
new "## Зрозуміла назва гри. Це використовується для встановлення заголовка вікна за замовчуванням і відображається в інтерфейсі та звітах про помилки."
# gui/game/options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
@@ -23,11 +23,11 @@ translate ukrainian strings:
# gui/game/options.rpy:17
old "Ren'Py 7 Default GUI"
new "Стандартний GUI Ren'Py 7"
new "Графічний інтерфейс Ren'Py 7 за замовчуванням"
# gui/game/options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Визначає, чи наведений вище заголовок показано на екрані головного меню. Установіть значення «False» для приховання заголовка."
new "## Визначає, чи заголовок, наведений вище, відображається на екрані головного меню. Встановіть значення False, щоб приховати назву."
# gui/game/options.rpy:26
old "## The version of the game."
@@ -35,27 +35,27 @@ translate ukrainian strings:
# gui/game/options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## Текст, який розміщено на екрані «Про гру». Поставте текст між потрійними лапками, а між абзацами залиште порожній рядок."
new "## Текст, який розміщується на екрані інформації про гру. Поставте текст між потрійними лапками, а між абзацами залиште порожній рядок."
# gui/game/options.rpy:38
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## Коротка назва гри, яка використовується для виконуваних файлів і тек у вбудованому дистрибутиві. Дозволено лише символи ASCII та не повинно містити пробілів, двокрапок чи крапок з комою."
new "## Коротка назва гри, яка використовується для виконуваних файлів і тек у вбудованому дистрибутиві. Це має бути лише ASCII і не повинно містити пробілів, двокрапки чи крапки з комою."
# gui/game/options.rpy:45
old "## Sounds and music"
new "## Звуки й музика"
new "## Звуки і музика"
# gui/game/options.rpy:47
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## Ці три змінні визначають, серед іншого, які мікшери показуватимуться гравцеві за стандартом. Установивши значення «False» одній з них, відповідний мікшер буде приховано."
new "## Ці три змінні керують, серед іншого, тим, які міксери відображаються гравцеві за замовчуванням. Встановлення для одного з них значення False приховає відповідний мікшер."
# gui/game/options.rpy:56
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## Щоб дозволити користувачеві відтворювати тестовий звук на звуковому або голосовому каналі, розкоментуйте рядок нижче та скористайтеся ним, щоб задати зразок звуку для відтворення."
new "## Щоб дозволити користувачеві відтворювати тестовий звук на звуковому або голосовому каналі, розкоментуйте рядок нижче та використовуйте його, щоб встановити зразок звуку для відтворення."
# gui/game/options.rpy:63
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Розкоментуйте наступний рядок, щоб налаштувати аудіофайл, який відтворюватиметься, коли гравець у головному меню. Цей файл продовжуватиме відтворюватися у грі, доки його не буде зупинено або не буде відтворено інший файл."
new "## Розкоментуйте наступний рядок, щоб налаштувати аудіофайл, який відтворюватиметься, коли плеєр перебуває в головному меню. Цей файл продовжуватиме відтворюватися в грі, доки його не буде зупинено або не буде відтворено інший файл."
# gui/game/options.rpy:70
old "## Transitions"
@@ -63,7 +63,7 @@ translate ukrainian strings:
# gui/game/options.rpy:72
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## Ці змінні встановлюють переходи, які використовуються, коли відбуваються певні події. Кожна змінна має бути встановлена на певний перехід або «None», щоб вказати, що перехід не слід використовувати."
new "## Ці змінні встановлюють переходи, які використовуються, коли відбуваються певні події. Кожна змінна має бути встановлена на перехід або None, щоб вказати, що перехід не слід використовувати."
# gui/game/options.rpy:76
old "## Entering or exiting the game menu."
@@ -83,7 +83,7 @@ translate ukrainian strings:
# gui/game/options.rpy:97
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## Змінна для встановлення переходу, який використовується під час запуску гри, не існує. Замість цього використовуйте оператор «with» після показу початкової сцени."
new "## Змінна для встановлення переходу, який використовується під час запуску гри, не існує. Замість цього використовуйте оператор with після показу початкової сцени."
# gui/game/options.rpy:102
old "## Window management"
@@ -91,11 +91,11 @@ translate ukrainian strings:
# gui/game/options.rpy:104
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## Цей параметр визначає час показу діалогового вікна. Якщо задано «show», воно завжди показуватиметься. Якщо задано «hide», воно показуватиметься лише за наявності діалогу. Якщо задано «auto», вікно буде приховано перед операторами сцени та показано знову, коли відобразиться діалог."
new "## Цей параметр визначає час відображення діалогового вікна. Якщо \"show\", він завжди відображається. Якщо \"hide\", воно відображається лише за наявності діалогу. Якщо \"auto\", вікно буде приховано перед операторами сцени та показано знову, коли відобразиться діалог."
# gui/game/options.rpy:109
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## Після початку гри це можна змінити через оператори «window show», «window hide» та «window auto»."
new "## Після початку гри це можна змінити за допомогою операторів \"window show\", \"window hide\" і \"window auto\"."
# gui/game/options.rpy:115
old "## Transitions used to show and hide the dialogue window"
@@ -103,23 +103,23 @@ translate ukrainian strings:
# gui/game/options.rpy:121
old "## Preference defaults"
new "## Стандартні налаштування"
new "## Параметри за замовчуванням"
# gui/game/options.rpy:123
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Керує стандартною швидкістю друку тексту. Стандартне значення, 0, означає різку появу тексту, а будь-яке інше число означатиме кількість символів за секунду для друку."
new "## Керує швидкістю тексту за замовчуванням. За замовчуванням, 0, є нескінченним, тоді як будь-яке інше число означає кількість символів за секунду, які потрібно ввести."
# gui/game/options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Затримка автоматичного перемотування за стандартом. Більші значення призводять до довшого очікування, допустимий діапазон від 0 до 30."
new "## Затримка автоматичного пересилання за замовчуванням. Більші числа призводять до довшого очікування, при цьому допустимим діапазоном є від 0 до 30."
# gui/game/options.rpy:135
old "## Save directory"
new "## Тека збережень"
new "## Зберегти теку"
# gui/game/options.rpy:137
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Дозволяє вказати місце на платформі, куди Ren'Py зберігатиме файли збережень для цієї гри. Місце розміщення файлів збереження:"
new "## Контролює місце, де Ren'Py буде розміщувати файли збереження для цієї гри. Файли збереження будуть розміщені в:"
# gui/game/options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -135,7 +135,7 @@ translate ukrainian strings:
# gui/game/options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Як правило, його не слід змінювати, а якщо змінювати, то це завжди має бути буквальний рядок, а не вираз."
new "## Як правило, це не слід змінювати, і якщо це так, завжди має бути літеральний рядок, а не вираз."
# gui/game/options.rpy:152
old "## Icon"
@@ -143,19 +143,19 @@ translate ukrainian strings:
# gui/game/options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Значок, що показується на панелі завдань або док-станції."
new "## Значок, що відображається на панелі завдань або док-станції."
# gui/game/options.rpy:159
old "## Build configuration"
new "## Конфігурація збірки"
new "## Створити конфігурацію"
# gui/game/options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Цей розділ керує тим, як Ren'Py перетворює ваш проєкт на файли для розповсюдження."
new "## Цей розділ керує тим, як Ren'Py перетворює ваш проєкт у файли розповсюдження."
# gui/game/options.rpy:166
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## Наступні функції приймають шаблони файлів. Шаблони файлів не залежать від регістру і збігаються за шляхом відносно основної теки, з та без скісної риски «/» на початку. Якщо збігається декілька шаблонів, використовується перший."
new "## Наступні функції приймають шаблони файлів. Шаблони файлів не чутливі до регістру та зіставляються зі шляхом відносно основної теки, з / без нього на початку. Якщо збігається декілька шаблонів, використовується перший."
# gui/game/options.rpy:171
old "## In a pattern:"
@@ -163,42 +163,44 @@ translate ukrainian strings:
# gui/game/options.rpy:173
old "## / is the directory separator."
new "## / є роздільником тек."
new "## / є роздільником теки."
# gui/game/options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * збігається з усіма символами, окрім роздільника тек."
new "## * відповідає всім символам, крім роздільника теки."
# gui/game/options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** збігаються з усіма символами, включаючи роздільника тек."
new "## ** відповідає всім символам, включаючи роздільник теки."
# gui/game/options.rpy:179
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## Наприклад, «*.txt» збігається з файламм txt у базовій теці, «game/**.ogg» збігається з файлами ogg у теці «game» або будь-якій з її підтек, а «**.psd» збігається з файлами psd будь-де в проєкті."
new "## Наприклад, \"*.txt\" відповідає файлам txt у базовому каталозі, \"game/**.ogg\" відповідає файлам ogg у каталозі гри або будь-якому з його під-тек, а \"**.psd \" відповідає файлам psd будь-де в проєкті."
# gui/game/options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Для виключення файлів із збірки файлів розповсюдження, класифікуйте їх як «None»."
new "## Класифікуйте файли як None, щоб виключити їх із вбудованих дистрибутивів."
# gui/game/options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Для архівації файлів, класифікуйте їх як «archive»."
new "## Щоб архівувати файли, класифікуйте їх як 'archive'."
# gui/game/options.rpy:196
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Файли, що відповідають шаблонам документації, дублюються у збірці застосунку для Mac, тому вони зʼявляються як застосунок, так і zip-файл."
new "## Файли, що відповідають шаблонам документації, дублюються у створенні програми Mac, тому вони зявляються як у програмі, так і в zip-файлі."
# gui/game/options.rpy:203
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## Для завантаження файлів розширення та здійснення покупок у застосунку потрібен ліцензійний ключ Google Play. Його можна знайти на сторінці «Сервіси та API» в консолі розробника Google Play."
new "## Для завантаження файлів розширення та здійснення покупок у програмі потрібен ліцензійний ключ Google Play. Його можна знайти на сторінці \"Services & APIs\" консолі розробника Google Play."
# gui/game/options.rpy:210
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Ім’я користувача та назва проєкту, пов’язані з проєктом itch.io, розділені скісною рискою."
translate ukrainian strings:
# gui/game/options.rpy:203
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
new "## Для здійснення внутрішньоігрового придбання потрібен ліцензійний ключ Google Play. Його можна знайти в консолі розробника Google Play у розділі «Монетизація» > «Налаштування монетизації» > «Ліцензування»."
new "## Для здійснення покупок у додатку потрібен ліцензійний ключ Google Play. Його можна знайти в консолі розробника Google Play у розділі \"Монетизація\" > \"Налаштування монетизації\" > \"Ліцензування\"."
+60 -63
View File
@@ -11,15 +11,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:85
old "## Say screen"
new "## Екран промови"
new "## Екран Say"
# gui/game/screens.rpy:87
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Екран промови використовується для показу діалогу гравцеві. Він приймає два параметри, «who» та «what», ім’я персонажа й текст, який буде показано відповідно. (Параметр «who» може мати значення «None», якщо ім’я не вказано.)"
new "## Екран Say використовується для відображення діалогу гравцеві. Він приймає два параметри, who і what, ім’я персонажа, що говорить, і текст, який буде відображатися відповідно. (Параметр who може мати значення None, якщо ім’я не вказано.)"
# gui/game/screens.rpy:92
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Цей екран має створювати текст з ідентифікатором «what», оскільки Ren'Py використовує його для керування показу тексту. Він також може створювати елементи з ідентифікаторами «who» та «window» для застосування властивостей стилю."
new "## Цей екран має створювати текст, який можна відображати з ідентифікатором «what», оскільки Ren'Py використовує це для керування відображенням тексту. Він також може створювати відображувані елементи з ідентифікаторами «who» та «window» для застосування властивостей стилю."
# gui/game/screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -39,11 +39,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:167
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Цей екран використовується для показу «renpy.input». Параметр «prompt» використовується для передачі текстової підказки."
new "## Цей екран використовується для відображення renpy.input. Параметр prompt використовується для передачі текстової підказки."
# gui/game/screens.rpy:170
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Цей екран має створити введення з ідентифікатором «input» для прийняття різних параметрів введення."
new "## Цей екран має створити відображуваний вхід з ідентифікатором «input» для прийняття різних вхідних параметрів."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
@@ -55,7 +55,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:202
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Цей екран використовується для показу ігрових варіантів вибору, представлених оператором «menu». Один параметр, «items», являє собою список об’єктів, кожен з яких має підпис і поле дії."
new "## Цей екран використовується для відображення вибору в грі, представленого командою 'menu'. Один параметр, 'items' — це список об’єктів, кожен із полями заголовка та дії."
# gui/game/screens.rpy:206
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
@@ -67,11 +67,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:236
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Швидке меню показується у грі, щоб забезпечити легкий доступ до меню поза грою."
new "## Швидке меню відображається в грі, щоб забезпечити легкий доступ до меню поза грою."
# gui/game/screens.rpy:241
old "## Ensure this appears on top of other screens."
new "## Переконайтеся, що воно показується поверх інших екранів."
new "## Переконайтеся, що це відображається поверх інших екранів."
# gui/game/screens.rpy:252
old "Back"
@@ -83,7 +83,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:254
old "Skip"
new "Пропускати"
new "Пропустити"
# gui/game/screens.rpy:255
old "Auto"
@@ -107,7 +107,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:262
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## Цей код гарантує, що екран «quick_menu» показується у грі, якщо гравець не приховав інтерфейс явно."
new "## Цей код гарантує, що екран quick_menu відображається в грі, якщо гравець явно не приховав інтерфейс."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
@@ -119,7 +119,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:285
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Цей екран включено в головне та ігрове меню і забезпечує навігацію до інших меню та початку гри."
new "## Цей екран включено в головне та ігрове меню та забезпечує навігацію до інших меню та початок гри."
# gui/game/screens.rpy:300
old "Start"
@@ -147,7 +147,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:324
old "## Help isn't necessary or relevant to mobile devices."
new "## Довідка не є необхідною або доречною для мобільних пристроїв."
new "## Допомога не є необхідною або актуальною для мобільних пристроїв."
# gui/game/screens.rpy:325
old "Help"
@@ -155,7 +155,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
new "## Кнопка виходу заборонена на iOS й непотрібна на Android та Web."
new "## Кнопка виходу заборонена на iOS і непотрібна на Android і в Web."
# gui/game/screens.rpy:330
old "Quit"
@@ -167,7 +167,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:346
old "## Used to display the main menu when Ren'Py starts."
new "## Використовується для показу головного меню під час запуску Ren'Py."
new "## Використовується для відображення головного меню під час запуску Ren'Py."
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -183,19 +183,19 @@ translate ukrainian strings:
# gui/game/screens.rpy:361
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Оператор «use» включає інший екран усередині цього. Фактичний вміст головного меню знаходиться на екрані навігації."
new "## Інструкція використання включає інший екран всередині цього. Фактичний вміст головного меню знаходиться на екрані навігації."
# gui/game/screens.rpy:406
old "## Game Menu screen"
new "## Екран ігрового меню"
new "## Екран меню гри"
# gui/game/screens.rpy:408
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## Тут викладено основну загальну структуру екрана ігрового меню. Він викликається заголовком екрана і показує тло, заголовок і навігацію."
new "## Це описує базову структуру екрана меню гри. Він викликається за допомогою заголовка екрана та відображає тло, заголовок і навігацію."
# gui/game/screens.rpy:411
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Параметр «scroll» може мати значення «None» або один з «viewport» чи «vpgrid». Цей екран призначений для використання з одним або декількома об’єктами, які включені (розміщені) всередині нього."
new "## Параметр прокручування може бути None або одним із «viewport» чи «vpgrid». Цей екран призначений для використання з одним або декількома об’єктами, які включені (розміщені) всередині нього."
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
@@ -211,7 +211,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:536
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Цей екран містить інформацію про авторів та авторські права щодо гри та Ren'Py."
new "## Цей екран містить інформацію про авторство та авторські права щодо гри та Ren'Py."
# gui/game/screens.rpy:539
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
@@ -219,7 +219,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:546
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## Цей оператор «use» включає екран «game_menu» всередині цього. Потім дочірній елемент «vbox» буде включено до «viewport» всередині екрана «game_menu»."
new "## Цей оператор використання включає екран «game_menu» всередині цього. Потім дочірній елемент «vbox» включається в область перегляду всередині екрана «game_menu»."
# gui/game/screens.rpy:556
old "Version [config.version!t]\n"
@@ -227,7 +227,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:558
old "## gui.about is usually set in options.rpy."
new "## Значення «gui.about» зазвичай задається у файлі «options.rpy»."
new "## «gui.about» зазвичай встановлюється в «options.rpy»."
# gui/game/screens.rpy:562
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
@@ -259,7 +259,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:604
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Це гарантує, що введення отримає подію входу раніше, ніж будь-яка кнопка."
new "## Це гарантує, що введення отримає подію «enter» раніше, ніж будь-яка кнопка."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
@@ -267,11 +267,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:620
old "## The grid of file slots."
new "## Сітка комірок збережень."
new "## Сітка комірок для файлів."
# gui/game/screens.rpy:640
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
new "{#file_time}%A, %B %d %Y, %H:%M"
# gui/game/screens.rpy:640
old "empty slot"
@@ -279,7 +279,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:648
old "## Buttons to access other pages."
new "## Кнопки для відкриття інших сторінок."
new "## Кнопки для доступу до інших сторінок."
# gui/game/screens.rpy:657
old "<"
@@ -295,7 +295,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:665
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) повертає числа від 1 до 9."
new "## range(1, 10) дає числа від 1 до 9."
# gui/game/screens.rpy:669
old ">"
@@ -339,11 +339,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:737
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Сюди можна додати додаткові vbox типу «radio_pref» або «check_pref», щоб додати додаткові налаштування, визначені автором."
new "## Сюди можна долучити додаткові вікна vbox типу «radio_pref» або «check_pref», щоб долучити додаткові параметри, визначені творцем."
# gui/game/screens.rpy:748
old "Text Speed"
new "Швидкість друку тексту"
new "Швидкість тексту"
# gui/game/screens.rpy:752
old "Auto-Forward Time"
@@ -355,7 +355,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:766
old "Sound Volume"
new "Гучність звукових ефектів"
new "Гучність звук. ефектів"
# gui/game/screens.rpy:772
old "Test"
@@ -375,7 +375,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:865
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## Це екран, на якому гравцеві буде показано історію діалогів. Хоч й в цьому екрані немає нічого особливого, він має мати доступ до історії діалогів, що зберігається в «_history_list»."
new "## Це екран, на якому гравцеві відображається історія діалогів. Хоча в цьому екрані немає нічого особливого, він має доступ до історії діалогів, що зберігається в _history_list."
# gui/game/screens.rpy:869
old "## https://www.renpy.org/doc/html/history.html"
@@ -383,15 +383,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:875
old "## Avoid predicting this screen, as it can be very large."
new "## Уникайте виклику цього екрану, оскільки він може бути дуже великим."
new "## Не намагайтеся передбачити цей екран, оскільки він може бути дуже великим."
# gui/game/screens.rpy:886
old "## This lays things out properly if history_height is None."
new "## Тут усе буде показано правильно, якщо «history_height» дорівнює «None»."
new "## Тут все буде правильно, якщо history_height дорівнює None."
# gui/game/screens.rpy:896
old "## Take the color of the who text from the Character, if set."
new "## Бере колір тексту «who» з «Character», якщо він заданий."
new "## Бере колір тексту who з Character, якщо він заданий."
# gui/game/screens.rpy:905
old "The dialogue history is empty."
@@ -399,7 +399,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:908
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Визначає, які теги дозволено показувати на екрані історії."
new "## Це визначає теги, які можна відображати на екрані історії."
# gui/game/screens.rpy:953
old "## Help screen"
@@ -407,7 +407,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:955
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## Екран, що надає інформацію про призначення клавіш і миші. Він використовує інші екрани (keyboard_help, mouse_help та gamepad_help), щоб показати саму довідку."
new "## Екран, що надає інформацію про прив’язку клавіш і миші. Він використовує інші екрани (keyboard_help, mouse_help і gamepad_help), щоб відобразити фактичну довідку."
# gui/game/screens.rpy:974
old "Keyboard"
@@ -439,7 +439,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:999
old "Arrow Keys"
new "Клавіші стрілок"
new "Клавіші зі стрілками"
# gui/game/screens.rpy:1000
old "Navigate the interface."
@@ -451,7 +451,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1004
old "Accesses the game menu."
new "Відкриває ігрове меню."
new "Доступ до меню гри."
# gui/game/screens.rpy:1007
old "Ctrl"
@@ -467,7 +467,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1012
old "Toggles dialogue skipping."
new "Перемикає пропуск діалогу."
new "Вмикає пропуск діалогу."
# gui/game/screens.rpy:1015
old "Page Up"
@@ -475,7 +475,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1016
old "Rolls back to earlier dialogue."
new "Відкатує до попереднього діалогу."
new "Відкат до попереднього діалогу."
# gui/game/screens.rpy:1019
old "Page Down"
@@ -483,7 +483,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1020
old "Rolls forward to later dialogue."
new "Переходить до наступного діалогу."
new "Перехід до наступного діалогу."
# gui/game/screens.rpy:1024
old "Hides the user interface."
@@ -503,15 +503,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:1042
old "Left Click"
new "Ліва кнопка миші"
new "ЛКМ"
# gui/game/screens.rpy:1046
old "Middle Click"
new "Середня кнопка миші"
new "СКМ"
# gui/game/screens.rpy:1050
old "Right Click"
new "Права кнопка миші"
new "ПКМ"
# gui/game/screens.rpy:1054
old "Mouse Wheel Up"
@@ -523,7 +523,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1065
old "Right Trigger\nA/Bottom Button"
new "Правий тригер\nКнопка A/Униз"
new "Правий тригер\nA/Нижня кнопка"
# gui/game/screens.rpy:1069
old "Left Trigger\nLeft Shoulder"
@@ -535,7 +535,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1078
old "D-Pad, Sticks"
new "Хрестовина, стики"
new "Хрестовина, Стики"
# gui/game/screens.rpy:1082
old "Start, Guide"
@@ -543,16 +543,12 @@ translate ukrainian strings:
# gui/game/screens.rpy:1086
old "Y/Top Button"
new "Кнопка Y/Угору"
new "Y/Верхня кнопка"
# gui/game/screens.rpy:1089
old "Calibrate"
new "Відкалібрувати"
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "Start, Guide, Кнопка B/Управо"
# gui/game/screens.rpy:1117
old "## Additional screens"
new "## Додаткові екрани"
@@ -563,7 +559,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1123
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Екран підтвердження викликається, коли Ren'Py хоче поставити гравцеві запитання з відповіддю «Так» або «Ні»."
new "## Екран підтвердження викликається, коли Ren'Py хоче поставити гравцеві запитання «Так» або «Ні»."
# gui/game/screens.rpy:1126
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -571,7 +567,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1130
old "## Ensure other screens do not get input while this screen is displayed."
new "## Переконайтеся, що на інші екранах не отримується введення під час показу цього екрана."
new "## Переконайтеся, що інші екрани не отримують введення, поки відображається цей екран."
# gui/game/screens.rpy:1154
old "Yes"
@@ -583,7 +579,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1157
old "## Right-click and escape answer \"no\"."
new "## Клацніть ПКМ й оберіть відповідь «Ні»."
new "## Клацніть ПКМ та вийдіть із відповіді «Ні»."
# gui/game/screens.rpy:1184
old "## Skip indicator screen"
@@ -591,7 +587,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1186
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Екран «skip_indicator» показується, що вказати на те, що виконується пропуск."
new "## Екран skip_indicator відображається, щоб вказати, що триває пропуск."
# gui/game/screens.rpy:1189
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -603,19 +599,19 @@ translate ukrainian strings:
# gui/game/screens.rpy:1208
old "## This transform is used to blink the arrows one after another."
new "## Це перетворення використовується для блимання стрілок одна за одною."
new "## Це перетворення використовується для миготіння стрілок одна за одною."
# gui/game/screens.rpy:1235
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Ми маємо використовувати шрифт, в якому є гліф «BLACK RIGHT-POINTING SMALL TRIANGLE»."
new "## Ми повинні використовувати шрифт із гліфом МАЛЕНЬКИЙ ЧОРНИЙ ТРИКУТНИК ВПРАВО."
# gui/game/screens.rpy:1240
old "## Notify screen"
new "## Екран оповіщення"
new "## Екран сповіщень"
# gui/game/screens.rpy:1242
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## Екран оповіщення використовується, щоб показати гравцеві повідомлення. (Наприклад, коли гру збережено або зроблено знімок екрана)."
new "## Екран сповіщень використовується, щоб показати гравцеві повідомлення. (Наприклад, коли гра швидко збережена або зроблено знімок екрана.)"
# gui/game/screens.rpy:1245
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -635,15 +631,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:1294
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Показує діалог у типі «vpgrid» або «vbox»."
new "## Відображає діалог у vpgrid або vbox."
# gui/game/screens.rpy:1307
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
new "## Показує меню, якщо його задано. Меню може показуватися некоректно, якщо «config.narrator_menu» має значення «True»."
new "## Відображає меню, якщо є. Меню може відображатися неправильно, якщо для config.narrator_menu задано значення True."
# gui/game/screens.rpy:1337
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Цей параметр контролює максимальну кількість реплік у режимі NVL, які можуть бути показані одночасно."
new "## Це визначає максимальну кількість записів у режимі NVL, які можуть бути відображені одночасно."
# gui/game/screens.rpy:1399
old "## Mobile Variants"
@@ -657,6 +653,7 @@ translate ukrainian strings:
old "Menu"
new "Меню"
translate ukrainian strings:
# gui/game/screens.rpy:676
@@ -669,11 +666,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:1410
old "## Bubble screen"
new "## Екран бульбашок"
new "## Екран з бульбашками"
# gui/game/screens.rpy:1412
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
new "## Екран бульбашок використовується для показу діалогу гравцеві під час використання мовних бульбашок. Екран бульбашок має ті самі параметри, що й екран промови, має створювати об’єкт з ідентифікатором «what», а також може створювати об’єкти з ідентифікаторами «namebox», «who» і «window»."
new "## Екран бульбашок використовується для показу діалогу гравцеві під час використання мовних бульбашок. Екран бульбашок має ті самі параметри, що й екран слів, має створювати елемент відображення з ідентифікатором «what», а також може створювати елементи відображення з ідентифікаторами «namebox», «who» і «window»."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
+9 -9
View File
@@ -1,7 +1,7 @@
# У цьому файлі міститься сценарій гри.
# У цьому файлі міститься скрипт гри.
# Визначення персонажів для гри.
# Аргумент color змінює колір ім’я персонажа.
# Оголошення персонажів, які використовуються в цій грі. Колірний аргумент розфарбовує
# ім’я персонажа.
define e = Character("Ейлін")
@@ -10,23 +10,23 @@ define e = Character("Ейлін")
label start:
# Показ тла. Типово використовується заповнювач, але ви можете
# Це показує тло. За стандратом використовується заповнювач, але ви можете
# додати файл (з назвою «bg room.png» або «bg room.jpg») до
# теки images, щоб показати його.
scene bg room
# Наступний рядок показує спрайт персонажа. Тут використано заповнювач,
# але ви можете замінити його, додавши файл з назвою «eileen happy.png»,
# до теки images.
# Це показує спрайт персонажа. Використовується заповнювач, але ви можете
# замінити його, додавши до зображень файл із назвою «eileen happy.png».
# до теки.
show eileen happy
# Ці рядки показують репліки діалогу.
# Це репліки діалогу.
e "Ви створили нову гру Ren'Py."
e "Додавши сюжет, зображення та музику, ви зможете оприлюднити її світові!"
e "Додавши історію, зображення та музику, ви можете оприлюднити це світові!"
# На цьому гра закінчується.

Some files were not shown because too many files have changed in this diff Show More