Compare commits

..

88 Commits

Author SHA1 Message Date
Gouvernathor 4402611aaa various fixes 2023-05-13 19:40:41 +02:00
Gouvernathor abb7557070 doc tweaks 2023-05-13 19:24:26 +02:00
Gouvernathor bbd8d7c5c8 Deactivate execution of not
it would always end up executing an unready clause
2023-05-13 18:51:59 +02:00
Gouvernathor 6fb6425cf4 Merge branch 'master' into testcase-ex 2023-05-13 18:48:50 +02:00
Gouvernathor acfc5772ee Not sure 2023-03-17 23:28:17 +01:00
Gouvernathor fd55d9f010 Also check if the save was correctly loaded
the re-setting of the value is there to make sure a save is loaded at all, and the value check to make sure it was the correct save that was loaded
2023-03-17 23:27:57 +01:00
Gouvernathor 5e494d18b3 Fix tutorial testcase 2023-03-17 23:24:43 +01:00
Gouvernathor 266c69e71d doc updates 2023-03-17 23:23:07 +01:00
Gouvernathor 2c431f7a08 Fix 19fa815 2023-03-17 23:22:31 +01:00
Gouvernathor 51070c6d0e Make pass a clause instead of a statement
That way we have an or-neutral element (and not pass is the and-neutral element)
2023-03-17 23:21:39 +01:00
Gouvernathor a2232535e8 Set attribute at the correct time
In case of an exception
2023-03-17 23:20:26 +01:00
Gouvernathor 459295f97e Optimize int castings 2023-03-17 19:32:13 +01:00
Gouvernathor 641f5698b7 Simplify test
We don't support subpixel, sure, but this is faster and more "correct" if any absolute finds its way through.
Also there's no need to cast to int if we're doing it afterwards anyway.
2023-03-17 19:18:56 +01:00
Gouvernathor eb3f6a2e66 doc: better explanation 2023-03-17 16:52:05 +01:00
Gouvernathor 19fa815048 Simplify focus finder code 2023-03-17 16:51:46 +01:00
Gouvernathor 8342a66d9b have a pass at the doc page 2023-03-16 23:54:07 +01:00
Gouvernathor 7aa9d66597 Commit small launcher test 2023-03-16 22:11:29 +01:00
Gouvernathor aa9f15a199 Cleanup a bit 2023-03-16 22:10:12 +01:00
Asriel Senna c6cd0fe411 add caveat about renpy.is_in_test 2023-03-16 21:15:22 +01:00
Asriel Senna 11cc6aebf8 add The Question example testcase 2023-03-16 21:15:21 +01:00
Asriel Senna ef98d82679 add not/and/or documentation (and fix line endings) 2023-03-16 21:15:20 +01:00
Asriel Senna e5d16a984b fix example 2023-03-16 21:15:19 +01:00
Asriel Senna 3eba03854b update the readiness at each execution instead of in start 2023-03-16 21:15:18 +01:00
Asriel Senna 692bf4c34b remove short-circuit in readiness check causing inaccurate sub-readiness 2023-03-16 21:15:17 +01:00
Asriel Senna 451c3a7baf make code more compact to find the problem 2023-03-16 21:15:17 +01:00
Asriel Senna 3dec7f6498 first pass at and/or state management 2023-03-16 21:15:16 +01:00
Asriel Senna 29f4c1caee add boolean operations between clauses 2023-03-16 21:15:15 +01:00
Asriel Senna 3543238e5b fix execute methods 2023-03-16 21:15:14 +01:00
Asriel Senna 70ce1aa5c7 simplify these repetititive start methods 2023-03-16 21:15:13 +01:00
Asriel Senna 56ee681250 add the Not, And and Or test clauses 2023-03-16 21:15:13 +01:00
Asriel Senna 0f8b1ade00 update doc 2023-03-16 21:15:12 +01:00
Asriel Senna ca77d6f8d7 add the hide property to python blocks 2023-03-16 21:15:11 +01:00
Asriel Senna 14e19cd9d0 further documentation 2023-03-16 21:15:11 +01:00
Asriel Senna 29979fd828 improve the repr 2023-03-16 21:15:10 +01:00
Asriel Senna 777ff166a8 let me sleep before writing code 2023-03-16 21:15:09 +01:00
Asriel Senna 57abd5bd0f fix super calls 2023-03-16 21:15:08 +01:00
Asriel Senna 6c08d61125 update doc and add things to add later 2023-03-16 21:15:07 +01:00
Asriel Senna 12b070c7c7 create Clause subclass for more readability 2023-03-16 21:15:06 +01:00
Asriel Senna f9995e88fd updates following assert's change of meaning 2023-03-16 21:15:05 +01:00
Asriel Senna a6f2e6b2ce update doc 2023-03-16 21:15:05 +01:00
Asriel Senna 144001b412 add renpy.is_in_test 2023-03-16 21:15:04 +01:00
Asriel Senna 6b585d2227 document that the run clause takes lists 2023-03-16 21:15:03 +01:00
Asriel Senna 322d247bcd rename 2023-03-16 21:15:02 +01:00
Asriel Senna 12cc2d45c9 add to the config list 2023-03-16 21:15:02 +01:00
Asriel Senna 13e8445144 document config.testcase_finally_callbacks 2023-03-16 21:15:01 +01:00
Asriel Senna 5c80ffa509 add config.testcase_finally_callbacks 2023-03-16 21:15:00 +01:00
Asriel Senna 4adaddafae update 2023-03-16 21:13:54 +01:00
Asriel Senna 4517f76396 better document click and patterns 2023-03-16 21:13:53 +01:00
Asriel Senna a85c53c436 make label inexecutive, and assert clause-taking like if 2023-03-16 21:13:53 +01:00
Asriel Senna 3344defb89 raise betterer exception 2023-03-16 21:13:52 +01:00
Asriel Senna 1e24279acc raise better exception 2023-03-16 21:13:51 +01:00
Asriel Senna 42b38f32c6 disable the (useless) always property for patternless click clauses 2023-03-16 21:13:49 +01:00
Asriel Senna 73339577cf fix exit example 2023-03-16 21:13:48 +01:00
Asriel Senna d49c392383 rst fixes 2023-03-16 21:13:47 +01:00
Asriel Senna 9d8155ba17 rephrase documentation 2023-03-16 21:13:45 +01:00
Asriel Senna 4a3b27285b document the testcase statement 2023-03-16 21:13:45 +01:00
Asriel Senna e8888933ea reorder and better document the click/string clause 2023-03-16 21:13:44 +01:00
Asriel Senna b671e01f19 make Patterns raise exceptions when the target is not found 2023-03-16 21:13:43 +01:00
Asriel Senna 84b73d7164 document the focusing algorithm, and use faster min instead of sort 2023-03-16 21:13:43 +01:00
Asriel Senna 1398dc08d0 parameterize the number of trials in find_position 2023-03-16 21:13:42 +01:00
Asriel Senna 98ee23888d remove advance clause 2023-03-16 21:13:41 +01:00
Asriel Senna 70cb354f81 add has_default_focus
Co-Authored-By: Tom Rothamel <pytom@bishoujo.us>
2023-03-16 21:13:40 +01:00
Asriel Senna 479d19bb9b fix wrong offset
Co-Authored-By: Tom Rothamel <pytom@bishoujo.us>
2023-03-16 21:13:39 +01:00
Asriel Senna 15744d14c1 fix rst 2023-03-16 21:13:38 +01:00
Asriel Senna a9f5024399 big advancement on the doc 2023-03-16 21:13:38 +01:00
Asriel Senna 671685ea64 add advance (except for the readiness condition) 2023-03-16 21:13:37 +01:00
Asriel Senna e2f2baca94 document if eval 2023-03-16 21:13:36 +01:00
Asriel Senna 92556b3a66 change doc structure 2023-03-16 21:13:35 +01:00
Asriel Senna 1c26110256 add eval clause 2023-03-16 21:13:34 +01:00
Asriel Senna 75383c00c2 fix pass 2023-03-16 21:13:33 +01:00
Asriel Senna 44d3155a6f more proper reorder 2023-03-16 21:13:32 +01:00
Asriel Senna 64e35b7d49 document the clause concept differently 2023-03-16 21:13:32 +01:00
Asriel Senna 3f23fb10a3 add pass 2023-03-16 21:13:31 +01:00
Asriel Senna 2a54a20a37 doc updates 2023-03-16 21:13:30 +01:00
Asriel Senna eb048b5e03 add exit statement 2023-03-16 21:13:29 +01:00
Asriel Senna fadf4b0e1c raise more accurate exception types 2023-03-16 21:13:26 +01:00
Asriel Senna b627cf66a2 makes label raise an exception instead of creating a silly loop 2023-03-16 21:13:25 +01:00
Asriel Senna e40561a5ae check for both 2023-03-16 21:13:24 +01:00
Asriel Senna ac9c91eeec fix bugs in class attributes 2023-03-16 21:13:23 +01:00
Asriel Senna 1efa5b6178 oh 2023-03-16 21:13:22 +01:00
Asriel Senna 83d48b2428 update doc page 2023-03-16 21:13:21 +01:00
Asriel Senna b1b613a247 update doc page 2023-03-16 21:13:20 +01:00
Asriel Senna 98eba57192 clean stuff 2023-03-16 21:13:19 +01:00
Asriel Senna 36210285ea slotting ast nodes (like in normal-renpy ast) 2023-03-16 21:13:18 +01:00
Asriel Senna 2b2f4a5d1d add doc stub 2023-03-16 21:13:17 +01:00
Asriel Senna 148cd16ae6 Add launcher button to launch tests on the current game 2023-03-16 21:13:17 +01:00
Asriel Senna eba7bf474d use better exception types (probably very little relevance) 2023-03-16 21:13:16 +01:00
Asriel Senna 595a94c44c register the test CLI command correctly 2023-03-16 21:13:15 +01:00
630 changed files with 22742 additions and 71486 deletions
-7
View File
@@ -103,9 +103,6 @@ cache/
# Pygame_sdl2.
/pygame_sdl2
# Updater.
update.pem
# Steam.
steam_appid.txt
/steamapi.py
@@ -130,7 +127,3 @@ CubismSdkForNative-4-*.zip
# Works in progress, throwaway scripts, etc.
/scratch
/*-dists
/c
/cg
/.vscode/launch.json
/.vscode/tasks.json
-190
View File
@@ -36,10 +36,7 @@
"renpy*.app": true,
"renpy*.exe": true,
"tmp": true,
"vscode": true,
"web": true,
"web2": true,
"web3": true,
"**/*.rpa": true,
"**/*.rpymc": true,
"**/cache/": true
@@ -59,191 +56,4 @@
"renpy.warnOnInvalidVariableNames": "Disabled",
"renpy.warnOnInvalidFilenameIssues": "Disabled",
"renpy.warnOnIndentationAndSpacingIssues": "Disabled",
"editor.tokenColorCustomizations": {
"[*Light*]": {
"textMateRules": [
{
"scope": "ref.matchtext",
"settings": {
"foreground": "#000"
}
}
]
},
"[*Dark*]": {
"textMateRules": [
{
"scope": "ref.matchtext",
"settings": {
"foreground": "#fff"
}
}
]
},
"textMateRules": [
{
"scope": "renpy.meta.plain",
"settings": {
"fontStyle": ""
}
},
{
"scope": "renpy.meta.i",
"settings": {
"fontStyle": "italic"
}
},
{
"scope": "renpy.meta.b",
"settings": {
"fontStyle": "bold"
}
},
{
"scope": [
"renpy.meta.u",
"renpy.meta.a"
],
"settings": {
"fontStyle": "underline"
}
},
{
"scope": "renpy.meta.s",
"settings": {
"fontStyle": "strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.b",
"settings": {
"fontStyle": "italic bold"
}
},
{
"scope": "renpy.meta.i renpy.meta.u",
"settings": {
"fontStyle": "italic underline"
}
},
{
"scope": "renpy.meta.i renpy.meta.s",
"settings": {
"fontStyle": "italic strikethrough"
}
},
{
"scope": "renpy.meta.b renpy.meta.u",
"settings": {
"fontStyle": "bold underline"
}
},
{
"scope": "renpy.meta.b renpy.meta.s",
"settings": {
"fontStyle": "bold strikethrough"
}
},
{
"scope": "renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "underline strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.b renpy.meta.u",
"settings": {
"fontStyle": "italic bold underline"
}
},
{
"scope": "renpy.meta.i renpy.meta.b renpy.meta.s",
"settings": {
"fontStyle": "italic bold strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "italic underline strikethrough"
}
},
{
"scope": "renpy.meta.b renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "bold underline strikethrough"
}
},
{
"scope": "renpy.meta.i renpy.meta.b renpy.meta.u renpy.meta.s",
"settings": {
"fontStyle": "italic bold underline strikethrough"
}
},
{
"scope": "renpy.meta.color.text",
"settings": {
"foreground": "#ffffff"
}
},
{
"scope": "renpy.meta.color.#f00",
"settings": {
"foreground": "#f00"
}
},
{
"scope": "text.notes.info",
"settings": {
"foreground": "#17a2b8",
"fontStyle": "bold"
}
},
{
"scope": "text.notes.success",
"settings": {
"foreground": "#28a745",
"fontStyle": "bold"
}
},
{
"scope": "text.notes.warning",
"settings": {
"foreground": "#ffc107",
"fontStyle": "bold"
}
},
{
"scope": "text.notes.danger",
"settings": {
"foreground": "#dc3545",
"fontStyle": "bold"
}
},
{
"scope": "renpy.meta.color.#fff",
"settings": {
"foreground": "#fff"
}
},
{
"scope": "renpy.meta.color.#fcc",
"settings": {
"foreground": "#fcc"
}
},
{
"scope": "renpy.meta.color.#cfc",
"settings": {
"foreground": "#cfc"
}
},
{
"scope": "renpy.meta.color.#c00",
"settings": {
"foreground": "#c00"
}
}
]
},
}
-12
View File
@@ -1,12 +0,0 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "run.sh --build",
"type": "shell",
"command": "/home/tom/ab/renpy/run.sh --build",
}
]
}
+1 -1
View File
@@ -50,7 +50,7 @@ your system. On Ubuntu and Debian, these dependencies can be installed with
the command::
sudo apt install virtualenvwrapper python3-dev libavcodec-dev libavformat-dev \
libswresample-dev libswscale-dev libharfbuzz-dev libfreetype6-dev libfribidi-dev libsdl2-dev \
libswresample-dev libswscale-dev libfreetype6-dev libfribidi-dev libsdl2-dev \
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
+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>
+5 -12
View File
@@ -8,25 +8,18 @@ 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"]
short_version = version.rpartition(".")[0]
major = version.partition(".")[0]
version = ".".join(str(i) for i in version_tuple)
short_version = ".".join(str(i) for i in version_tuple[:-1])
major = short_version.split(".")[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")
+47 -31
View File
@@ -94,8 +94,6 @@ def main():
ap.add_argument("--vc-version-only", action="store_true")
ap.add_argument("--link-directories", action="store_true")
ap.add_argument("--append-version", action="store_true")
ap.add_argument("--nightly", action="store_true")
ap.add_argument("--print-version", action="store_true")
args = ap.parse_args()
@@ -103,53 +101,71 @@ def main():
link_directory("renios")
link_directory("web")
import renpy.versions
renpy.versions.generate_vc_version(nightly=args.nightly)
if args.link_directories or args.vc_version_only:
if args.link_directories:
return
if not os.path.abspath(sys.executable).startswith(ROOT + "/lib"):
raise Exception("Distribute must be run with the python in lib/.")
if args.sign:
os.environ["RENPY_MAC_IDENTITY"] = "Developer ID Application: Tom Rothamel (XHTE5H7Z79)"
if PY2 and not sys.flags.optimize:
raise Exception("Not running with python optimization.")
try:
vc_version_base = os.path.splitext(renpy.vc_version.__file__)[0]
if not os.path.abspath(sys.executable).startswith(ROOT + "/lib"):
raise Exception("Distribute must be run with the python in lib/.")
# Delete the .pyc and .pyo files, as reload can choose one of them instead
# of the new .py file.
for fn in [ vc_version_base + ".pyc", vc_version_base + ".pyo" ]:
if os.path.exists(fn):
os.unlink(fn)
# Revision updating is done early, so we can do it even if the rest
# of the program fails.
reload(renpy.vc_version)
except Exception:
import renpy.vc_version
# A normal reload is fine, as renpy/__init__.py won't change.
reload(renpy)
if args.print_version:
print(renpy.version_only)
return
# Determine the version. We grab the current revision, and if any
# file has changed, bump it by 1.
import renpy
if args.version is None:
if args.nightly:
args.version = renpy.version_only
args.version = ".".join(str(i) for i in renpy.version_tuple[:-1])
try:
s = subprocess.check_output([ "git", "describe", "--tags", "--dirty", ]).decode("utf-8").strip()
parts = s.strip().split("-")
dirty = "dirty" in parts
commits_per_day = collections.defaultdict(int)
for i in subprocess.check_output([ "git", "log", "-99", "--pretty=%cd", "--date=format:%Y%m%d" ]).decode("utf-8").split():
commits_per_day[i[2:]] += 1
if dirty:
key = time.strftime("%Y%m%d")[2:]
vc_version = "{}{:02d}".format(key, commits_per_day[key] + 1)
else:
args.version = ".".join(str(i) for i in renpy.version_tuple[:-1])
key = max(commits_per_day.keys())
vc_version = "{}{:02d}".format(key, commits_per_day[key])
except Exception:
vc_version = 0
with open("renpy/vc_version.py", "w") as f:
import socket
official = socket.gethostname() == "eileen"
nightly = args.version and "nightly" in args.version
f.write("vc_version = {}\n".format(vc_version))
f.write("official = {}\n".format(official))
f.write("nightly = {}\n".format(nightly))
if args.vc_version_only:
return
try:
reload(sys.modules['renpy.vc_version']) # @UndefinedVariable
except Exception:
import renpy.vc_version # @UnusedImport
reload(sys.modules['renpy'])
if args.append_version:
args.version += "-" + renpy.version_only
# Check that the versions match.
full_version = renpy.version_only # @UndefinedVariable
if "-" not in args.version \
and not full_version.startswith(args.version):
raise Exception("The command-line and Ren'Py versions do not match.")
@@ -252,7 +268,7 @@ def main():
"-q",
"egg_info",
"--tag-build",
"+renpy" + args.version.replace("+", "-"),
"-for-renpy-" + args.version,
"sdist",
"-d",
os.path.abspath(destination)
+1 -4
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"
@@ -344,9 +344,6 @@ define config.history_length = 250
## at the cost of performance.
define gui.history_height = gui.scale(140)
## Additional space to add between history screen entries.
define gui.history_spacing = 0
## The position, width, and alignment of the label giving the name of the
## speaking character.
define gui.history_name_xpos = gui.scale(155)
+17 -21
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"
@@ -227,7 +228,7 @@ style choice_button is default:
properties gui.button_properties("choice_button")
style choice_button_text is default:
properties gui.text_properties("choice_button")
properties gui.button_text_properties("choice_button")
## Quick Menu screen ###########################################################
@@ -272,7 +273,7 @@ style quick_button:
properties gui.button_properties("quick_button")
style quick_button_text:
properties gui.text_properties("quick_button")
properties gui.button_text_properties("quick_button")
################################################################################
@@ -337,7 +338,7 @@ style navigation_button:
properties gui.button_properties("navigation_button")
style navigation_button_text:
properties gui.text_properties("navigation_button")
properties gui.button_text_properties("navigation_button")
## Main Menu screen ############################################################
@@ -411,7 +412,7 @@ style main_menu_version:
## This screen is intended to be used with one or more children, which are
## transcluded (placed) inside it.
screen game_menu(title, scroll=None, yinitial=0.0, spacing=0):
screen game_menu(title, scroll=None, yinitial=0.0):
style_prefix "game_menu"
@@ -444,8 +445,6 @@ screen game_menu(title, scroll=None, yinitial=0.0, spacing=0):
side_yfill True
vbox:
spacing spacing
transclude
elif scroll == "vpgrid":
@@ -461,8 +460,6 @@ screen game_menu(title, scroll=None, yinitial=0.0, spacing=0):
side_yfill True
spacing spacing
transclude
else:
@@ -661,7 +658,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")
@@ -674,7 +670,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":
@@ -710,13 +705,13 @@ style page_button:
properties gui.button_properties("page_button")
style page_button_text:
properties gui.text_properties("page_button")
properties gui.button_text_properties("page_button")
style slot_button:
properties gui.button_properties("slot_button")
style slot_button_text:
properties gui.text_properties("slot_button")
properties gui.button_text_properties("slot_button")
## Preferences screen ##########################################################
@@ -851,7 +846,7 @@ style radio_button:
foreground "gui/button/radio_[prefix_]foreground.png"
style radio_button_text:
properties gui.text_properties("radio_button")
properties gui.button_text_properties("radio_button")
style check_vbox:
spacing gui.pref_button_spacing
@@ -861,7 +856,7 @@ style check_button:
foreground "gui/button/check_[prefix_]foreground.png"
style check_button_text:
properties gui.text_properties("check_button")
properties gui.button_text_properties("check_button")
style slider_slider:
xsize gui.scale(350)
@@ -872,7 +867,7 @@ style slider_button:
left_margin gui.scale(10)
style slider_button_text:
properties gui.text_properties("slider_button")
properties gui.button_text_properties("slider_button")
style slider_vbox:
xsize gui.scale(450)
@@ -893,7 +888,7 @@ screen history():
## Avoid predicting this screen, as it can be very large.
predict False
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0, spacing=gui.history_spacing):
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0):
style_prefix "history"
@@ -1069,7 +1064,7 @@ screen mouse_help():
text _("Accesses the game menu.")
hbox:
label _("Mouse Wheel Up")
label _("Mouse Wheel Up\nClick Rollback Side")
text _("Rolls back to earlier dialogue.")
hbox:
@@ -1091,12 +1086,13 @@ screen gamepad_help():
label _("Right Shoulder")
text _("Rolls forward to later dialogue.")
hbox:
label _("D-Pad, Sticks")
text _("Navigate the interface.")
hbox:
label _("Start, Guide, B/Right Button")
label _("Start, Guide")
text _("Accesses the game menu.")
hbox:
@@ -1117,7 +1113,7 @@ style help_button:
xmargin gui.scale(8)
style help_button_text:
properties gui.text_properties("help_button")
properties gui.button_text_properties("help_button")
style help_label:
xsize gui.scale(250)
@@ -1195,7 +1191,7 @@ style confirm_button:
properties gui.button_properties("confirm_button")
style confirm_button_text:
properties gui.text_properties("confirm_button")
properties gui.button_text_properties("confirm_button")
## Skip indicator screen #######################################################
@@ -1408,7 +1404,7 @@ style nvl_button:
xanchor gui.nvl_button_xalign
style nvl_button_text:
properties gui.text_properties("nvl_button")
properties gui.button_text_properties("nvl_button")
## Bubble screen ###############################################################
+5 -9
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"]
@@ -42,7 +42,7 @@ class Editor(renpy.editor.Editor):
elif renpy.arch == "armv7l":
arch = "arm"
else:
arch = "x64"
arch = "x86_64"
code = os.path.join(RENPY_VSCODE, "VSCode-linux-" + arch, "bin", "code")
else:
@@ -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:
+5 -9
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"]
@@ -42,7 +42,7 @@ class Editor(renpy.editor.Editor):
elif renpy.arch == "armv7l":
arch = "arm"
else:
arch = "x64"
arch = "x86_64"
code = os.path.join(RENPY_VSCODE, "VSCode-linux-" + arch, "bin", "code")
else:
@@ -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-2023 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-2023 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-2023 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
+11 -27
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -31,9 +31,10 @@ init python:
ANDROID_NO_BUNDLE = 6
ANDROID_OK = 7
JDK_REQUIREMENT = 42
JDK_REQUIREMENT=8
NO_RAPT_TEXT = _("To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_SDK_TEXT = _("RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this.")
NO_KEY_TEXT = _("RAPT has been installed, but a key hasn't been configured. Please generate new keys, or copy android.keystore and bundle.keystore to the base directory.")
NO_CONFIG_TEXT = _("The current project has not been configured. Use \"Configure\" to configure it before building.")
@@ -98,12 +99,9 @@ init python:
rapt.plat.renpy = True
rapt.plat.translate = __
JDK_REQUIREMENT = rapt.plat.jdk_requirement
else:
rapt = None
def AndroidState():
"""
Determines the state of the android install, and returns it.
@@ -111,6 +109,8 @@ init python:
if RAPT_PATH is None:
return ANDROID_NO_RAPT
if renpy.windows and not "JAVA_HOME" in os.environ:
return ANDROID_NO_JDK
if not os.path.exists(rapt.plat.adb):
return ANDROID_NO_SDK
if not rapt.keys.keys_exist(project.current.path):
@@ -133,6 +133,8 @@ init python:
if state == ANDROID_NO_RAPT:
return NO_RAPT_TEXT
if state == ANDROID_NO_JDK:
return NO_JDK_TEXT
if state == ANDROID_NO_SDK:
return NO_SDK_TEXT
if state == ANDROID_NO_KEY:
@@ -198,7 +200,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 +222,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,
@@ -281,16 +280,7 @@ init python:
with interface.nolinks():
rapt.build.build(
rapt_interface,
dist,
p.path,
bundle=bundle,
install=install,
launch=launch,
finished=finished,
permissions=p.dump['build']['android_permissions'],
version=p.dump['build']['version'])
rapt.build.build(rapt_interface, dist, p.path, bundle=bundle, install=install, launch=launch, finished=finished, permissions=p.dump['build']['android_permissions'])
def android_build_argument(cmd):
@@ -714,7 +704,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 +712,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
+10 -3
View File
@@ -1,4 +1,4 @@
# This file contains strings used by RAPT, so the Ren'Py translation framework
# can find them. It's automatically generated by rapt/update_translations.py, and
# hence should not be changed by hand.
@@ -27,6 +27,8 @@ init python hide:
__("The package name may not contain two dots in a row, or begin or end with a dot.")
__("Each part of the package name must start with a letter, and contain only letters, numbers, and underscores.")
__("{} is a Java keyword, and can't be used as part of a package name.")
__("What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots.")
__("The version number must contain only numbers and dots.")
__("How much RAM (in GB) do you want to allocate to Gradle?\nThis must be a positive integer number.")
__("The RAM size must contain only numbers and be positive.")
__("How would you like your application to be displayed?")
@@ -43,8 +45,8 @@ init python hide:
__("No. This may require manual updates when Ren'Py or the project configuration changes.")
__("Unknown configuration variable: {}")
__("I'm compiling a short test program, to see if you have a working JDK on your system.")
__("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}https://adoptium.net/{/a}\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Please install JDK [JDK_REQUIREMENT], and add it to your PATH.\n\nWithout a working JDK, I can't continue.")
__("The version of Java on your computer does not appear to be JDK [JDK_REQUIREMENT], which is required to build Android apps. If you need to install a newer JDK, you can download it from:\n\n{a=https://adoptium.net/}https://adoptium.net/{/a}, and add it to your PATH.\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java.")
__("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.")
__("The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java.")
__("The JDK is present and working. Good!")
__("The Android SDK has already been unpacked.")
__("Do you accept the Android SDK Terms and Conditions?")
@@ -59,9 +61,14 @@ init python hide:
__("It looks like you're ready to start packaging games.")
__("Please enter your name or the name of your organization.")
__("I found an android.keystore file in the rapt directory. Do you want to use this file?")
__("I can create an application signing key for you. This key is required to create Universal APK for sideloading and stores other than Google Play.\n\nDo you want to create a key?")
__("I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?")
__("\n\nSaying 'No' will prevent key creation.")
__("Could not create android.keystore. Is keytool in your path?")
__("I've finished creating android.keystore. Please back it up, and keep it in a safe place.")
__("I found a bundle.keystore file in the rapt directory. Do you want to use this file?")
__("I can create a bundle signing key for you. This key is required to build an Android App Bundle (AAB) for upload to Google Play.\n\nDo you want to create a key?")
__("I will create the key in the bundle.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of bundle.keystore, and keep it in a safe place?")
__("\n\nSaying 'No' will prevent key creation.")
__("Could not create bundle.keystore. Is keytool in your path?")
__("I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place.")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2023 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
+22 -20
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -41,7 +41,7 @@ init python:
except Exception:
return False
def choose_directory(default_path):
def choose_directory(path):
"""
Pops up a directory chooser.
@@ -54,31 +54,33 @@ init python:
rather than user choice.
"""
if path:
default_path = path
path = None
else:
try:
default_path = os.path.dirname(os.path.abspath(config.renpy_base))
except Exception:
default_path = os.path.abspath(config.renpy_base)
if _renpytfd:
path = _renpytfd.selectFolderDialog(__("Select Projects Directory"), default_path)
else:
path = None
if default_path is None:
try:
default_path = os.path.dirname(os.path.abspath(config.renpy_base))
except Exception:
default_path = os.path.abspath(config.renpy_base)
is_default = False
# Path being None or "" means nothing was selected.
if not path:
path = default_path
is_default = True
if default_path is None or not os.path.isdir(default_path) or not directory_is_writable(default_path):
interface.error(_("No directory was selected, but one is required."))
return default_path, True
# Apply more thorough checks to an explicit path.
path = renpy.fsdecode(path)
if not os.path.isdir(path):
interface.error(_("The selected directory does not exist."))
elif not directory_is_writable(path):
interface.error(_("The selected directory is not writable."))
if (not os.path.isdir(path)) or (not directory_is_writable(path)):
interface.error(_("The selected projects directory is not writable."))
path = default_path
is_default = True
return path, False
if is_default and (not directory_is_writable(path)):
path = os.path.expanduser("~")
return path, is_default
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2023 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
+94 -175
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -61,9 +61,7 @@ init python in distribute:
minor=sys.version_info.minor,
)
# * 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.
# Going from 7.4 to 7.5 or 8.0, the library directory changed.
RENPY_PATCH = py("""\
def change_renpy_executable():
import sys, os, renpy, site
@@ -72,35 +70,6 @@ def change_renpy_executable():
sys.renpy_executable = os.path.join(renpy.config.renpy_base, "lib", "py{major}-" + site.RENPY_PLATFORM, os.path.basename(sys.renpy_executable))
change_renpy_executable()
if sys.version_info.major == 2:
os.old_makedirs = getattr(os, "old_makedirs", os.makedirs)
def makedirs(name, mode=0o777, exist_ok=False):
if exist_ok and os.path.exists(name):
return
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 = { }
@@ -520,6 +489,10 @@ fix_dlc("renios", "renios")
# A map from a package to a unique update version hash.
self.update_versions = { }
# Map from destination file with extension to (that file's hash,
# hash of the file list)
self.build_cache = { }
# A map from file to its hash.
self.hash_cache = { }
@@ -551,18 +524,10 @@ fix_dlc("renios", "renios")
# dictionaries.
data = project.data
# Reset the RPU update builder.
RPUPackage.reset()
if scan:
self.reporter.info(_("Scanning project files..."))
project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
if project.data['tutorial']:
self.reporter.info(_("Building distributions failed:\n\nThe project is the Ren'Py Tutorial, which can't be distributed outside of Ren'Py. Consider using The Question as a test project."), pause=True)
self.log.close()
return
if project.data['force_recompile']:
import compileall
@@ -586,10 +551,7 @@ fix_dlc("renios", "renios")
self.pretty_version = build['version']
if (" " in self.base_name) or (":" in self.base_name) or (";" in self.base_name):
reporter.info(
_("Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."),
submessage=_("This may be derived from build.name and config.version or build.version."),
pause=True)
reporter.info(_("Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."), pause=True)
self.log.close()
return
@@ -607,14 +569,13 @@ fix_dlc("renios", "renios")
except Exception:
pass
self.load_build_cache()
self.packagedest = packagedest
self.include_update = build['include_update']
self.build_update = self.include_update and build_update
if self.include_update:
self.make_key_pem()
# The various executables, which change names based on self.executable_name.
self.app = self.executable_name + ".app"
self.exe = self.executable_name + ".exe"
@@ -712,18 +673,20 @@ fix_dlc("renios", "renios")
dlc=p["dlc"])
if self.build_update and p["update"]:
for update_format in self.list_update_formats():
self.make_package(
p["name"],
update_format,
p["file_lists"],
dlc=p["dlc"])
self.make_package(
p["name"],
"update",
p["file_lists"],
dlc=p["dlc"])
wait_parallel_threads()
if self.build_update:
self.finish_updates(build_packages)
if not packagedest:
self.save_build_cache()
# Finish up.
self.log.close()
@@ -733,23 +696,6 @@ fix_dlc("renios", "renios")
if open_directory:
renpy.run(store.OpenDirectory(self.destination, absolute=True))
def list_update_formats(self):
"""
Returns a list of update formats to build.
"""
rv = [ ]
for update_format in self.build["update_formats"]:
if update_format == "rpu":
rv.append("rpu")
elif update_format == "zsync":
rv.append("update")
else:
raise Exception("Unknown update format: " + update_format)
return rv
def scan_and_classify(self, directory, patterns):
"""
Walks through the `directory`, finds files and directories that
@@ -774,37 +720,29 @@ fix_dlc("renios", "renios")
is_dir = os.path.isdir(path)
if is_dir:
match_names = [ name + "/", name ]
match_name = name + "/"
else:
match_names = [ name ]
match_name = name
for pattern, file_list in patterns:
matched = False
if match(match_name, pattern):
for match_name in match_names:
# When we have ('test/**', None), avoid excluding test.
if (not file_list) and is_dir:
new_pattern = pattern.rstrip("*")
if (pattern != new_pattern) and match(match_name, new_pattern):
continue
if match(match_name, pattern):
# When we have ('test/**', None), avoid excluding test.
if (not file_list) and is_dir:
new_pattern = pattern.rstrip("*")
if (pattern != new_pattern) and match(match_name, new_pattern):
continue
matched = True
break
if matched:
break
else:
print(str(match_names[0]), "doesn't match anything.", file=self.log)
print(str(match_name), "doesn't match anything.", file=self.log)
pattern = None
file_list = None
print(str(match_names[0]), "matches", str(pattern), "(" + str(file_list) + ").", file=self.log)
print(str(match_name), "matches", str(pattern), "(" + str(file_list) + ").", file=self.log)
if file_list is None:
return
@@ -989,16 +927,6 @@ fix_dlc("renios", "renios")
self.add_file("all", "game/script_version.txt", script_version_txt)
if self.build["info"]:
build_info_json = self.temp_filename("build_info.json")
with open(build_info_json, "w") as f:
json.dump(self.build["info"], f)
self.add_file("all", "game/cache/build_info.json", build_info_json)
def add_file_list_hash(self, list_name):
"""
Hashes a file list, then adds that file to the Ren'Py distribution.
@@ -1100,14 +1028,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(
@@ -1483,7 +1409,6 @@ fix_dlc("renios", "renios")
FORMATS = {
"update" : (".update", False, False, False),
"rpu" : ("", False, False, False),
"tar.bz2" : (".tar.bz2", False, False, True),
"zip" : (".zip", False, False, True),
@@ -1496,8 +1421,6 @@ fix_dlc("renios", "renios")
"bare-tar.bz2" : (".tar.bz2", False, False, False),
"bare-zip" : (".zip", False, False, False),
"null" : ( "", True, False, False),
}
if format not in FORMATS:
@@ -1533,10 +1456,9 @@ 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-"):
if self.include_update and (variant not in [ 'ios', 'android', 'source']) and (not format.startswith("app-")):
with open(update_fn, "wb" if PY2 else "w") as f:
json.dump(update, f, indent=2)
@@ -1545,9 +1467,6 @@ fix_dlc("renios", "renios")
fl.append(File("update", None, True, False))
fl.append(File("update/current.json", update_fn, False, False))
if not dlc:
fl.append(File("update/key.pem", self.temp_filename("key.pem"), False, False))
# If we're not an update file, prepend the directory.
if (not dlc) and prepend:
fl.prepend_directory(filename)
@@ -1558,9 +1477,19 @@ fix_dlc("renios", "renios")
full_filename = filename + ext
path += ext
if format == "rpu":
full_filename = "rpu/" + variant + ".files.rpu"
path = self.destination + "/" + full_filename
if self.build['renpy']:
fl_hash = fl.hash(self)
else:
fl_hash = '<not building renpy>'
file_hash, old_fl_hash = self.build_cache.get(full_filename, ("", ""))
if (not directory) and (old_fl_hash == fl_hash) and not(self.build['renpy'] and (variant == "sdk")):
if file_hash:
self.build_cache[full_filename] = (file_hash, fl_hash)
return
def done():
"""
@@ -1568,25 +1497,22 @@ 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 file_hash:
self.build_cache[full_filename] = (file_hash, fl_hash)
if format == "tar.bz2" or format == "bare-tar.bz2":
pkg = TarPackage(path, "w:bz2")
elif format == "update":
pkg = UpdatePackage(path, filename, self.destination)
elif format == "rpu":
pkg = RPUPackage(self.destination, variant)
elif format == "null":
pkg = NullPackage()
elif format == "zip" or format == "app-zip" or format == "bare-zip":
if self.build['renpy']:
pkg = ExternalZipPackage(path)
@@ -1623,13 +1549,13 @@ fix_dlc("renios", "renios")
self.reporter.progress_done()
if format == "update":
# Build the zsync file.
self.reporter.info(_("Making the [variant] update zsync file."), variant=variant)
def close_progress(done, total):
self.reporter.progress(_("Finishing the [variant] [format] package."), done, total, variant=variant, format=format)
pkg.close(close_progress)
pkg.close()
if done is not None:
done()
@@ -1650,72 +1576,65 @@ fix_dlc("renios", "renios")
def add_variant(variant):
digest = self.build_cache[self.base_name + "-" + variant + ".update"][0]
sums_size = os.path.getsize(self.destination + "/" + self.base_name + "-" + variant + ".sums")
index[variant] = {
"version" : self.update_versions[variant],
"pretty_version" : self.pretty_version,
"renpy_version" : renpy.version_only,
}
"digest" : digest,
"zsync_url" : self.base_name + "-" + variant + ".zsync",
"sums_url" : self.base_name + "-" + variant + ".sums",
"sums_size" : sums_size,
"json_url" : self.base_name + "-" + variant + ".update.json",
}
if "zsync" in self.build["update_formats"]:
fn = renpy.fsencode(os.path.join(self.destination, self.base_name + "-" + variant + ".update"))
digest = hash_file(self.destination + "/" + self.base_name + "-" + variant + ".update")
sums_size = os.path.getsize(self.destination + "/" + self.base_name + "-" + variant + ".sums")
index[variant].update({
"digest" : digest,
"zsync_url" : self.base_name + "-" + variant + ".zsync",
"sums_url" : self.base_name + "-" + variant + ".sums",
"sums_size" : sums_size,
"json_url" : self.base_name + "-" + variant + ".update.json",
})
fn = renpy.fsencode(os.path.join(self.destination, self.base_name + "-" + variant + ".update"))
if os.path.exists(fn):
os.unlink(fn)
if "rpu" in self.build["update_formats"]:
index[variant]["rpu_url"] = "rpu/" + variant + ".files.rpu"
index[variant]["rpu_digest"] = hash_file(self.destination + "/rpu/" + variant + ".files.rpu")
if os.path.exists(fn):
os.unlink(fn)
for p in packages:
if p["update"]:
add_variant(p["name"])
update_data = json.dumps(index, indent=2)
if not isinstance(update_data, bytes):
update_data = update_data.encode("utf-8")
fn = renpy.fsencode(os.path.join(self.destination, "updates.json"))
with open(fn, "wb") as f:
f.write(update_data)
with open(fn, "wb" if PY2 else "w") as f:
json.dump(index, f, indent=2)
# Write the signed file.
import ecdsa
with open(self.find_update_pem(), "rb") as f:
signing_key = ecdsa.SigningKey.from_pem(f.read())
def save_build_cache(self):
if not self.build['renpy']:
return
fn = renpy.fsencode(os.path.join(self.destination, "updates.ecdsa"))
with open(fn, "wb") as f:
f.write(signing_key.sign(update_data))
fn = renpy.fsencode(os.path.join(self.destination, ".build_cache"))
def find_update_pem(self):
if self.build['renpy']:
return os.path.join(config.renpy_base, "update.pem")
else:
return os.path.join(self.project.path, "update.pem")
with open(fn, "w", encoding="utf-8") as f:
for k, v in self.build_cache.items():
l = "\t".join([k, v[0], v[1]]) + "\n"
f.write(l)
def make_key_pem(self):
import ecdsa
def load_build_cache(self):
if not self.build['renpy']:
return
with open(self.find_update_pem(), "rb") as f:
signing_key = ecdsa.SigningKey.from_pem(f.read())
fn = renpy.fsencode(os.path.join(self.destination, ".build_cache"))
key_pem = self.temp_filename("key.pem")
with open(key_pem, "wb") as f:
f.write(signing_key.verifying_key.to_pem())
if not os.path.exists(fn):
return
with open(fn, "rb") as f:
for l in f:
if not l:
continue
l = l.decode("utf-8").rstrip()
l = l.split("\t")
self.build_cache[l[0]] = (l[1], l[2])
os.unlink(fn)
def dump(self):
for k, v in sorted(self.file_lists.items()):
+1 -17
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -267,23 +267,7 @@ label start_update_old_game:
call update_old_game
jump build_distributions
label add_update_pem:
python hide:
interface.info("You're trying to build an update, but an update.pem file doesn't exist.\n\nThis file is used to sign updates, and will be automatically created in your projects's base directory.\n\nYou'll need to back up update.pem and keep it safe.", cancel=Jump("build_distributions"))
import ecdsa
key = ecdsa.SigningKey.generate(curve=ecdsa.NIST256p).to_pem()
with open(os.path.join(project.current.path, "update.pem"), "wb") as f:
f.write(key)
return
label start_distribute:
if project.current.dump["build"]["include_update"] and not os.path.exists(os.path.join(project.current.path, "update.pem")):
call add_update_pem
if project.current.data["add_from"]:
call add_from_common
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 -8
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -21,13 +21,27 @@
init python:
import requests
import urllib.request
import os
import threading
import time
ssl_context_cache = None
def ssl_context():
"""
Returns the SSL context.
"""
global ssl_context_cache
if ssl_context_cache is None:
import ssl
import certifi
ssl_context_cache = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile=certifi.where())
return ssl_context_cache
class Downloader(object):
def __init__(self, url, dest):
@@ -59,7 +73,7 @@ init python:
try:
# Open the URL.
self.urlfile = requests.get(url, stream=True, proxies=renpy.proxies, timeout=15)
self.urlfile = urllib.request.urlopen(url, context=ssl_context())
t = threading.Thread(target=self.thread)
t.daemon = True
@@ -78,7 +92,12 @@ init python:
else:
length = 0
for data in self.urlfile.iter_content(1024 * 1024):
while not self.cancelled:
data = self.urlfile.read(65536)
if not data:
break
count += len(data)
self.tmpfile.write(data)
@@ -86,9 +105,6 @@ init python:
if length > 0:
self.progress = 1.0 * count / length
if self.cancelled:
break
self.tmpfile.close()
if self.cancelled:
@@ -106,6 +122,7 @@ init python:
except Exception as e:
self.failure = str(e)
def safe_unlink(self, fn):
if os.path.exists(fn):
os.unlink(fn)
@@ -147,3 +164,4 @@ init python:
def periodic(self, st):
self.adjustment.change(self.downloader.progress)
return .25
+31 -130
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -112,7 +112,7 @@ init 1 python in editor:
editor is installed or not.
"""
def __init__(self, priority, name, description=None, dlc=None, dldescription=None, error_message=None, deprecated=False):
def __init__(self, priority, name, description=None, dlc=None, dldescription=None, error_message=None):
# The priority of the editor. Lower priorities will come later
# in the list.
self.priority = priority
@@ -135,29 +135,6 @@ init 1 python in editor:
# An error message to display if the editor failed to start.
self.error_message = error_message
# 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 +152,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 = "x86_64"
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/VSCode-linux-" + arch))
e = FancyEditorInfo(
0,
@@ -190,7 +179,7 @@ init 1 python in editor:
fei.append(e)
# Atom.
AD = _("Atom is deprecated and its bugs are known for corrupting games, using another editor is recommended.")
AD = _("A modern and approachable text editor.")
if renpy.windows:
dlc = "atom-windows"
@@ -210,28 +199,23 @@ init 1 python in editor:
AD,
"extension:atom",
_("Up to 150 MB download required."),
None,
deprecated=True,
)
None)
e.installed = e.installed and (installed or 'RENPY_ATOM' in os.environ)
fei.append(e)
# jEdit - Only present if it exists on system.
e = FancyEditorInfo(
2,
_("jEdit"),
_("JEdit is deprecated, using another editor is recommended."),
"jedit",
_("1.8 MB download required."),
_("This may have occured because Java is not installed on this system."),
deprecated=True,
)
if os.path.exists(os.path.join(config.renpy_base, "jedit")):
e.installed = e.installed and os.path.exists(os.path.join(config.renpy_base, "jedit"))
fei.append(e)
fei.append(FancyEditorInfo(
2,
_("jEdit"),
_("A mature editor that requires Java."),
"jedit",
_("1.8 MB download required."),
_("This may have occured because Java is not installed on this system."),
))
fei.append(FancyEditorInfo(
3,
@@ -245,6 +229,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
@@ -266,7 +253,7 @@ init 1 python in editor:
# If we're in a linux distro or something, assume all editors work.
if not updater.can_update():
for i in fei:
if i.dlc and not i.dlc.startswith("extension:") and not i.deprecated:
if i.dlc and not i.dlc.startswith("extension:"):
i.installed = True
def fancy_activate_editor(default=False):
@@ -533,27 +520,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:
@@ -583,9 +549,6 @@ screen editor:
for fe in editor.fancy_editors:
if fe.deprecated and not fe.installed:
continue
add SPACER
textbutton fe.name action editor.SelectEditor(fe.name)
@@ -597,10 +560,7 @@ screen editor:
has vbox
if fe.description:
text fe.description:
style "l_small_text"
if fe.deprecated:
color ERROR_COLOR
text fe.description style "l_small_text"
if not fe.installed:
add HALF_SPACER
@@ -616,66 +576,7 @@ 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
default persistent.ignore_obsolete_editor = set()
# This label is called when the launcher starts, to check if the editor
# is obsolete, and let them change it.
label editor_check:
if persistent.editor in persistent.ignore_obsolete_editor:
jump post_editor_check
if persistent.editor == "Atom":
$ result = interface.choice(
_("The Atom text editor is no longer supported by its developers. We suggest switching to Visual Studio Code or another editor."), [
( "select", _("Select editor now.")),
( "ignore", _("Ignore until next launch.")),
( "block", _("Do not ask again.")),
], "select")
else:
jump post_atom_check
if result == "select":
$ renpy.pop_call()
jump editor_preference
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
+18 -17
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -46,7 +46,7 @@ screen front_page:
right_margin 2
top_padding 20
bottom_padding 13
bottom_padding 26
side "t c b":
@@ -195,7 +195,8 @@ screen front_page_project:
has vbox
textbutton _("Navigate Script") action Jump("navigation")
textbutton _("Check Script (Lint)") action Call("lint")
textbutton _("Check Script (Lint)") action Jump("lint")
textbutton _("Launch tests") action Jump("launch_tests")
if project.current.exists("game/gui.rpy"):
textbutton _("Change/Update GUI") action Jump("change_gui")
@@ -216,7 +217,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")
@@ -227,12 +228,13 @@ label start:
show screen bottom_info
$ dmgcheck()
jump expression renpy.session.pop("launcher_start_label", "before_front_page")
jump expression renpy.session.pop("launcher_start_label", "front_page")
default persistent.has_chosen_language = False
default persistent.has_update = False
label before_front_page:
label front_page:
if (not persistent.has_chosen_language) or ("RENPY_CHOOSE_LANGUAGE" in os.environ):
@@ -243,11 +245,6 @@ label before_front_page:
$ persistent.has_chosen_language = True
call editor_check
label post_editor_check:
label front_page:
if persistent.daily_update_check and ((not persistent.last_update_check) or (datetime.date.today() > persistent.last_update_check)):
python hide:
persistent.last_update_check = datetime.date.today()
@@ -263,18 +260,14 @@ label lint:
interface.processing(_("Checking script for potential problems..."))
lint_fn = project.current.temp_filename("lint.txt")
persistent.lint_options.discard("--orphan-tl") # compat
persistent.lint_options.discard("--builtins-parameters") # compat
persistent.lint_options.discard("--words-char-count") # compat
project.current.launch([ 'lint', lint_fn, ] + list(persistent.lint_options), wait=True)
project.current.launch([ 'lint', lint_fn ], wait=True)
e = renpy.editor.editor
e.begin(True)
e.open(lint_fn)
e.end()
return
jump front_page
label rmpersistent:
@@ -291,3 +284,11 @@ label force_recompile:
project.current.launch([ 'compile' ], wait=True)
jump front_page
label launch_tests:
python hide:
interface.processing(_("Launching tests..."))
project.current.launch([ 'test' ], wait=True)
jump front_page
+1 -54
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -22,10 +22,6 @@
define gui.project_system_font = None
define gui.asian = False
# This is set in new_project before new_template_project is called,
# and provides the full path to the template project.
default gui_template_path = None
init -1 python:
import gui7
@@ -452,52 +448,3 @@ label gui_generate_images:
project.current.launch([ 'gui_images' ], wait=True)
jump front_page
label new_template_project:
# Unused in new_template_project.
$ gui_size = (1920, 1080)
$ gui_color = (DARK_COLORS[0], "#000000", False)
python hide:
width, height = gui_size
accent, boring, light = gui_color
prefix = os.path.join(project_dir, "game")
template = os.path.join(gui_template_path, "game")
# Most of this isn't actually used.
p = gui7.GuiParameters(
prefix,
template,
width,
height,
accent,
boring,
light,
_preferences.language,
False,
True,
True,
project_name,
)
interface.processing(_("Creating the new project..."))
with interface.error_handling(_("creating a new project")):
gui7.generate_minimal(p)
# Activate the project.
with interface.error_handling(_("activating the new project")):
project.manager.scan()
project.Select(project.manager.get(project_name))()
call update_renpy_strings_common
python hide:
if gui.project_system_font:
with open(os.path.join(project.current.gamedir, "tl/None/common.rpym"), "ab") as f:
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font).encode("utf-8"))
jump front_page
+9 -58
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -25,18 +25,8 @@ from gui7.parameters import GuiParameters
import renpy.arguments
import os
import shutil
def finish(p):
for dn in [ "images", "audio" ]:
fulldn = os.path.join(p.prefix, dn)
if not os.path.exists(fulldn):
os.mkdir(fulldn)
def generate_gui(p):
ImageGenerator(p).generate_all()
@@ -46,40 +36,12 @@ def generate_gui(p):
CodeGenerator(p).copy_script("script.rpy")
CodeGenerator(p).copy_files()
finish(p)
for dn in [ "images", "audio" ]:
fulldn = os.path.join(p.prefix, dn)
def generate_minimal(p):
# Copy the template over.
os.makedirs(os.path.dirname(p.prefix), 0o777)
shutil.copytree(p.template, p.prefix)
def delete(fn):
fn = os.path.join(p.prefix, fn)
if os.path.isdir(fn):
shutil.rmtree(fn)
elif os.path.exists(fn):
os.unlink(fn)
# Prune directories.
delete("cache")
delete("saves")
delete("tl")
# Prune files to be regenerated.
delete("gui.rpy")
delete("screens.rpy")
delete("options.rpy")
# Generate files.
CodeGenerator(p).generate_code("gui.rpy")
CodeGenerator(p).generate_code("screens.rpy")
CodeGenerator(p).generate_code("options.rpy")
CodeGenerator(p).copy_files()
finish(p)
if not os.path.exists(fulldn):
os.mkdir(fulldn)
def generate_gui_command():
@@ -98,9 +60,7 @@ def generate_gui_command():
ap.add_argument("--start", default=False, action="store_true", help="Starts a new project, replacing images and code.")
ap.add_argument("--replace-images", default=False, action="store_true", help="True if existing images should be overwritten.")
ap.add_argument("--replace-code", default=False, action="store_true", help="True if an existing gui.rpy file should be overwritten.")
ap.add_argument("--update-code", default=False, action="store_true", help="True if an existing gui.rpy file should be updated.")
ap.add_argument("--minimal", default=False, action="store_true", help="Only update option.rpy and translations.")
ap.add_argument("--update-code", default=False, action="store_true", help="True if an existing gui.rpy file should be update.")
args = ap.parse_args()
@@ -109,16 +69,10 @@ def generate_gui_command():
args.replace_code = True
args.update_code = True
if args.minimal:
args.replace_code = True
args.update_code = True
prefix = os.path.join(args.target, "game")
if os.path.exists(args.target):
if not os.path.isdir(prefix):
ap.error("{} does not appear to be a Ren'Py game.".format(prefix))
if not os.path.isdir(prefix):
ap.error("{} does not appear to be a Ren'Py game.".format(prefix))
template = os.path.join(args.template, "game")
@@ -140,9 +94,6 @@ def generate_gui_command():
os.path.basename(args.target),
)
if args.minimal:
generate_minimal(p)
else:
generate_gui(p)
generate_gui(p)
renpy.arguments.register_command("generate_gui", generate_gui_command)
+7 -16
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -121,13 +121,8 @@ class CodeGenerator(object):
else:
template = os.path.join(self.p.template, filename)
if not os.path.exists(template):
return False
else:
with codecs.open(template, "r", "utf-8") as f:
self.lines = [ i.rstrip().replace(u"\ufeff", "") for i in f ]
return True
with codecs.open(template, "r", "utf-8") as f:
self.lines = [ i.rstrip().replace(u"\ufeff", "") for i in f ]
def remove_scale(self):
@@ -172,7 +167,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)
@@ -391,9 +386,7 @@ class CodeGenerator(object):
if not os.path.exists(src):
src = os.path.join(self.p.template, name)
if not self.load_template(src):
return
self.load_template(src)
self.remove_scale()
self.write_target(dst)
@@ -408,8 +401,7 @@ class CodeGenerator(object):
if not self.p.update_code:
return
if not self.load_template(fn):
return
self.load_template(fn)
if defines:
self.update_gui_defines()
@@ -430,8 +422,7 @@ class CodeGenerator(object):
if os.path.exists(target):
return
if not self.load_template(fn):
return
self.load_template(fn)
self.translate_strings()
self.translate_comments()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -61,11 +61,7 @@ class GuiParameters(object):
self.muted_color = self.accent_color.shade(.4)
self.hover_muted_color = self.accent_color.shade(.6)
if light:
self.menu_color = self.accent_color.replace_hsv_saturation(.25).replace_value(.75)
else:
self.menu_color = self.accent_color.replace_hsv_saturation(.25).replace_value(.25)
self.menu_color = self.accent_color.replace_hsv_saturation(.25).replace_value(.5)
self.title_color = self.accent_color.replace_hsv_saturation(.5).replace_value(1.0)
if light:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

+4 -8
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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,6 +81,7 @@ init python:
label install_live2d:
python hide:
if PY2:
_prefix = r"lib/py2-"
else:
@@ -97,12 +98,7 @@ 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)
install_from_zip("Live2D Cubism SDK for Native", "CubismSdkForNative-4-*.zip", patterns)
jump front_page
@@ -183,7 +179,7 @@ screen install_live2d():
style "l_indent"
has vbox
text _("The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc.")
text _("The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc.")
add SPACER
+4 -8
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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)
response.raise_for_status()
total_size = int(response.headers.get('content-length', 1))
@@ -463,7 +459,7 @@ def manifest(url, renpy=False, insecure=False):
with open(_path("temp:manifest.py.sig"), "rb") as f:
sig = f.read()
key = ecdsa.VerifyingKey.from_pem(_renpy.exports.open_file("renpy_ecdsa_public.pem").read())
key = ecdsa.VerifyingKey.from_pem(_renpy.exports.file("renpy_ecdsa_public.pem").read())
if not key.verify(sig, manifest):
error(_("The manifest signature is not valid."))
+25 -29
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -22,49 +22,48 @@
################################################################################
# Interface actions.
init python in interface:
from store import OpenURL, config, Return, _preferences, persistent
from store import OpenURL, config, Return, _preferences
import store
import os.path
import contextlib
RENPY_URL = "http://www.renpy.org"
DOC_PATH = os.path.join(config.renpy_base, "doc/")
DOC_PATH = os.path.join(config.renpy_base, "doc/index.html")
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"))
LICENSE_PATH = os.path.join(config.renpy_base, "doc/license.html")
LICENSE_URL = "http://www.renpy.org/doc/html/license.html"
if os.path.exists(DOC_PATH):
DOC_LOCAL_URL = "file:///" + DOC_PATH
else:
DOC_LOCAL_URL = None
local_doc_exists = os.path.exists(DOC_PATH)
if os.path.exists(LICENSE_PATH):
LICENSE_LOCAL_URL = "file:///" + LICENSE_PATH
else:
LICENSE_LOCAL_URL = None
def get_doc_url(page):
"""
Returns the URL to the documentation page.
"""
if local_doc_exists and (NO_LAUNCHER_LINKS or not persistent.use_web_doc):
from urllib.parse import urljoin
from urllib.request import pathname2url
return urljoin('file:', pathname2url(DOC_PATH + page))
else:
return DOC_URL + page
def OpenDocumentation(page="index.html"):
def OpenDocumentation():
"""
An action that opens the documentation.
"""
return OpenURL(get_doc_url(page))
if DOC_LOCAL_URL is not None:
return OpenURL(DOC_LOCAL_URL)
else:
return OpenURL(DOC_URL)
def OpenLicense():
"""
An action that opens the license.
"""
return OpenDocumentation("license.html")
if LICENSE_LOCAL_URL is not None:
return OpenURL(LICENSE_LOCAL_URL)
else:
return OpenURL(LICENSE_URL)
def get_sponsor_url():
"""
@@ -121,10 +120,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 +136,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"
@@ -496,7 +492,7 @@ init python in interface:
The amount of time to pause for after showing the message.
"""
common(title, store.INTERACTION_COLOR, message, submessage=submessage, pause=pause, show_screen=True, **kwargs)
common(title, store.INTERACTION_COLOR, message, submessage=None, pause=pause, show_screen=True, **kwargs)
renpy.pause(pause)
def processing(message, submessage=None, complete=None, total=None, **kwargs):
+5 -8
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -59,7 +59,6 @@ init python:
if RENIOS_PATH:
import renios.create
import renios.image
import renios.interface
def IOSState():
if not RENIOS_PATH:
@@ -124,19 +123,17 @@ init python:
return os.path.join(persistent.xcode_projects_directory, xcode_name(p.name))
def ios_create(p=None, gui=True, target=None):
if p is None:
p = project.current
p.update_dump(force=True, gui=gui)
project.current.update_dump(force=True, gui=gui)
name = p.dump.get("name", None)
version = p.dump.get("version", None)
name = project.current.dump.get("name", None)
version = project.current.dump.get("version", None)
dest = xcode_project(p, target)
if gui:
iface = MobileInterface("ios")
else:
iface = renios.interface.Interface()
iface = rapt.interface.Interface()
if os.path.exists(dest):
if not iface.yesno(_("The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?")):
+4 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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,9 +50,9 @@ 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)
response = requests.get(url, headers={'User-Agent' : "Renpy"})
with open(zip, "wb") as f:
f.write(response.content)
@@ -98,7 +98,7 @@ label itch:
for fn in os.listdir(destination):
for pattern, channel in reversed(build['itch_channels'].items()):
for pattern, channel in reversed(build['itch_channels']):
if fnmatch.fnmatch(fn, pattern):
break
else:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2023 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
+2 -14
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -19,9 +19,6 @@
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Should translation files be shown in the launcher file navigation?
default persistent.show_translation_files = True
init python in navigation:
import store.interface as interface
import store.project as project
@@ -113,9 +110,6 @@ init python in navigation:
if shortfn.startswith("game/"):
shortfn = fn[5:]
if shortfn.startswith("tl/") and not persistent.show_translation_files:
continue
rv.append((shortfn, fn, None))
rv.sort()
@@ -161,8 +155,6 @@ init python in navigation:
screen navigation:
$ todo_count = len(project.current.dump.get("location", {}).get("todo", []))
frame:
style_group "l"
style "l_root"
@@ -209,7 +201,7 @@ screen navigation:
textbutton _("transforms") action navigation.ChangeKind("transform")
textbutton _("screens") action navigation.ChangeKind("screen")
textbutton _("callables") action navigation.ChangeKind("callable")
textbutton (__("TODOs") + " (" + str(todo_count) + ")") action navigation.ChangeKind("todo")
textbutton _("TODOs") action navigation.ChangeKind("todo")
add SPACER
add SEPARATOR
@@ -226,10 +218,6 @@ screen navigation:
vbox:
style_group "l_navigation"
if persistent.navigation == "file":
textbutton _("Show translation files") style "l_checkbox" action [ ToggleField(persistent, "show_translation_files"), Jump("navigation_loop") ]
add SPACER
for group_name, group in groups:
if group_name is not None:
+125 -16
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -25,6 +25,34 @@ init python:
import time
import re
def check_language_support():
language = _preferences.language
new = False
legacy = False
# Check for a translation of the words "New GUI Interface".
if (language is None) or (__("New GUI Interface") != "New GUI Interface"):
new = True
try:
if (language is None) or os.path.exists(os.path.join(config.renpy_base, "templates", language)):
legacy = True
except Exception:
pass
if new and legacy:
store.language_support = _("Both interfaces have been translated to your language.")
elif new:
store.language_support = _("Only the new GUI has been translated to your language.")
elif legacy:
store.language_support = _("Only the legacy theme interface has been translated to your language.")
else:
store.language_support = _("Neither interface has been translated to your language.")
label new_project:
@@ -34,25 +62,23 @@ 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"
if persistent.legacy:
# When translating this, feel free to replace [new_project_language] with the translation of your language.
interface.info(_("You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."), cancel=Jump("front_page"))
check_language_support()
python:
if project.manager.templates:
gui_kind, gui_template_path = interface.choice(
_("Please select a template project to use."),
[ ( ("new_gui_project", None), _("Do not use a template project.") ) ] +
[ ( ("new_template_project", p.path ), p.name) for p in project.manager.templates ],
("new_gui_project", None),
gui_kind = interface.choice(
_("Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."),
[ ( 'new_gui_project', _("New GUI Interface") ), ( 'new_theme_project', _("Legacy Theme Interface")) ],
"new_gui_project",
cancel=Jump("front_page"),
)
)
else:
new_project_language = __("{#language name and font}")
gui_kind = "new_gui_project"
# When translating this, feel free to replace [new_project_language] with the translation of your language.
interface.info(_("You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."), cancel=Jump("front_page"))
python:
project_name = ""
@@ -82,3 +108,86 @@ label new_project:
break
jump expression gui_kind
screen select_template:
default result = project.manager.get("english")
frame:
style_group "l"
style "l_root"
window:
has vbox
label _("Choose Project Template")
hbox:
frame:
style "l_indent"
xmaximum ONETHIRD
viewport:
scrollbars "vertical"
vbox:
for p in project.manager.templates:
textbutton "[p.name!q]" action SetScreenVariable("result", p) style "l_list"
frame:
style "l_indent"
xmaximum TWOTHIRDS
text _("Please select a template to use for your new project. The template sets the default font and the user interface language. If your language is not supported, choose 'english'.")
textbutton _("Return") action Jump("front_page") style "l_left_button"
textbutton _("Continue") action Return(result) style "l_right_button"
label new_theme_project:
python hide:
if len(project.manager.templates) == 1:
template = project.manager.templates[0]
else:
template = renpy.call_screen("select_template")
template_path = template.path
with interface.error_handling(_("creating a new project")):
shutil.copytree(template_path, project_dir, symlinks=False)
# Delete the tmp directory, if it exists.
if os.path.isdir(os.path.join(project_dir, "tmp")):
shutil.rmtree(os.path.join(project_dir, "tmp"))
# Delete project.json, which must exist.
os.unlink(os.path.join(project_dir, "project.json"))
# Change the save directory in options.rpy
fn = os.path.join(project_dir, "game/options.rpy")
with open(fn, "rb") as f:
options = f.read().decode("utf-8")
options = options.replace("PROJECT_NAME", project_name)
options = options.replace("UNIQUE", str(int(time.time())))
with open(fn, "wb") as f:
f.write(options.encode("utf-8"))
font = template.data.get("font", None)
if font is not None:
src = os.path.join(config.gamedir, "fonts", font)
dst = os.path.join(project_dir, "game", "tl", "None", font)
shutil.copy(src, dst)
# Activate the project.
with interface.error_handling(_("activating the new project")):
project.manager.scan()
project.Select(project.manager.get(project_name))()
call choose_theme_callable
jump front_page
+5 -23
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -184,17 +184,9 @@ init -1 python hide:
#####################
# More customizations can go here.
config.has_sound = False
config.has_music = False
config.has_voice = False
config.force_sound = False
config.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
@@ -250,12 +242,10 @@ init python:
# allows the updater to run.
build.include_update = True
# Build both kinds of updates.
build.update_formats = [ "zsync", "rpu" ]
# Allow empty directories, so we can distribute the images directory.
build.exclude_empty_directories = False
# Mac signing options.
import os
build.mac_identity = os.environ.get("RENPY_MAC_IDENTITY", None)
@@ -301,8 +291,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)
@@ -351,6 +339,7 @@ init python:
build.classify_renpy(pattern + "/**.rpymc", binary)
build.classify_renpy(pattern + "/**/" + renpy.script.BYTECODE_FILE, binary)
build.classify_renpy(pattern + "/**/cache/bytecode-311.rpyb", "web")
build.classify_renpy(pattern + "/**/cache/bytecode-*.rpyb", None)
build.classify_renpy(pattern + "/**/cache/*", binary)
@@ -407,18 +396,11 @@ init python:
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)
libpython = "lib/python{}.{}".format(sys.version_info.major, sys.version_info.minor)
if PY2:
build.classify_renpy("lib/py2-linux-armv7l/**", "linux_arm")
build.classify_renpy("lib/py2-linux-aarch64/**", "linux_arm")
+12 -60
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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,6 +33,7 @@ init python in distribute:
from zipfile import crc32
# Since the long type doesn't exist on py3, define it here
if not PY2:
long = int
@@ -194,7 +195,7 @@ init python in distribute:
self.zipfile.write_with_info(zi, path)
def close(self, progress=None):
def close(self):
self.zipfile.close()
@@ -206,7 +207,7 @@ init python in distribute:
If true, times will be forced to the epoch.
"""
self.tarfile = tarfile.open(filename, mode, format=tarfile.PAX_FORMAT)
self.tarfile = tarfile.open(filename, mode)
self.tarfile.dereference = True
self.notime = notime
@@ -242,10 +243,9 @@ init python in distribute:
def add_directory(self, name, path):
self.add_file(name, path, True)
def close(self, progress=None):
def close(self):
self.tarfile.close()
class UpdatePackage(TarPackage):
def __init__(self, filename, basename, destination):
@@ -255,7 +255,7 @@ init python in distribute:
TarPackage.__init__(self, filename, "w", notime=True)
def close(self, progress=None):
def close(self):
TarPackage.close(self)
cmd = [
@@ -283,6 +283,7 @@ init python in distribute:
sums.write(struct.pack("<I", zlib.adler32(data) & 0xffffffff))
class DirectoryPackage(object):
def mkdir(self, path):
@@ -314,10 +315,9 @@ init python in distribute:
fn = os.path.join(self.path, name)
self.mkdir(fn)
def close(self, progress=None):
def close(self):
return
class ExternalZipPackage(object):
def __init__(self, path):
@@ -331,7 +331,7 @@ init python in distribute:
def add_directory(self, name, path):
self.dp.add_directory(name, path)
def close(self, progress=None):
def close(self):
self.dp.close()
if os.path.exists(self.path):
@@ -350,65 +350,17 @@ init python in distribute:
shutil.rmtree(self.directory)
class DMGPackage(DirectoryPackage):
def __init__(self, path, make_dmg):
self.make_dmg = make_dmg
DirectoryPackage.__init__(self, path)
def close(self, progress=None):
def close(self):
DirectoryPackage.close(self)
self.make_dmg()
class RPUPackage(object):
generator = None
def __init__(self, directory, variant):
import renpy.update.common
self.directory = directory + "/rpu"
self.variant = variant
self.file_list = renpy.update.common.FileList()
if not os.path.exists(self.directory):
os.mkdir(self.directory)
def add_file(self, name, path, xbit):
self.file_list.add_file(name, path, xbit)
def add_directory(self, name, _path):
self.file_list.add_directory(name)
def close(self, progress=None):
import renpy.update.generate
if RPUPackage.generator is None:
RPUPackage.generator = renpy.update.generate.BlockGenerator(self.directory)
RPUPackage.generator.generate(self.variant, self.file_list, progress)
@staticmethod
def reset():
RPUPackage.generator = None
class NullPackage(object):
"""
A package format that doesn't create an output file,
only updates.
"""
def add_file(self, name, path, xbit):
return
def add_directory(self, name, _path):
return
def close(self, progress=None):
return
parallel_threads = [ ]
class ParallelPackage(object):
@@ -426,7 +378,7 @@ init python in distribute:
def add_directory(self, name, path):
self.worklist.append((True, name, path, True))
def close(self, progress=None):
def close(self):
t = threading.Thread(target=self.run)
t.start()
+28 -109
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -19,14 +19,15 @@
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
default persistent.show_edit_funcs = True
default persistent.windows_console = False
default persistent.lint_options = set()
default persistent.use_web_doc = False
init python:
from math import ceil
if persistent.show_edit_funcs is None:
persistent.show_edit_funcs = True
if persistent.windows_console is None:
persistent.windows_console = False
def scan_translations(piglatin=True):
languages = renpy.known_languages()
@@ -47,30 +48,14 @@ init python:
bound = ceil(len(rv)/3.)
return (rv[:bound], rv[bound:2*bound], rv[2*bound:])
show_legacy = os.path.exists(os.path.join(config.renpy_base, "templates", "english", "game", "script.rpy"))
class RestartAtPreferences(Action):
def __call__(self):
renpy.session["launcher_start_label"] = "preferences"
renpy.utter_restart()
class EnsureProjectsTxt(Action):
"""
Ensures the projects.txt file exists before it's opened.
"""
def __call__(self):
fn = os.path.join(project.manager.projects_directory, "projects.txt")
if os.path.exists(fn):
return
with open(fn, "w") as f:
f.write("""\
# This file can be used to add projects not in the projects directory
# by listing the full path to each project, one per line.
""")
default persistent.legacy = False
default persistent.force_new_tutorial = False
default persistent.sponsor_message = True
default persistent.daily_update_check = True
@@ -79,12 +64,6 @@ default persistent.daily_update_check_once = False
# Keep the default update check from triggering until tomorrow.
default persistent.last_update_check = datetime.date.today()
# Should we try to skip the splashscreen?
default persistent.skip_splashscreen = False
# Should we prefer rpu updates?
default persistent.prefer_rpu = True
init python:
if not persistent.daily_update_check_once:
persistent.daily_update_check_once = True
@@ -92,14 +71,6 @@ init python:
default preference_tab = "general"
define preference_tabs = (
("general", _("General")),
("options", _("Options")),
("theme", _("Theme")),
("install", _("Install Libraries")),
("actions", _("Actions")),
("lint", _("Lint")),
)
screen preferences():
@@ -127,12 +98,17 @@ screen preferences():
has vbox
# Projects directory selection.
add SEPARATOR2
add HALF_SPACER
for i, l in preference_tabs:
textbutton l action SetVariable("preference_tab", i) style "l_list"
textbutton _("General") action SetVariable("preference_tab", "general") style "l_list"
textbutton _("Options") action SetVariable("preference_tab", "options") style "l_list"
textbutton _("Theme") action SetVariable("preference_tab", "theme") style "l_list"
textbutton _("Install Libraries") action SetVariable("preference_tab", "install") style "l_list"
textbutton _("Actions") action SetVariable("preference_tab", "actions") style "l_list"
if preference_tab == "general":
@@ -143,6 +119,7 @@ screen preferences():
has vbox
# Projects directory selection.
add SEPARATOR2
@@ -180,7 +157,10 @@ screen preferences():
add HALF_SPACER
frame style "l_indent":
textbutton (persistent.editor or _("Not Set")) action Jump("editor_preference") alt _("Text editor: [text]")
if persistent.editor:
textbutton persistent.editor action Jump("editor_preference") alt _("Text editor: [text]")
else:
textbutton _("Not Set") action Jump("editor_preference") alt _("Text editor: [text]")
add SPACER
@@ -227,22 +207,6 @@ screen preferences():
add SPACER
add SEPARATOR2
frame:
style "l_indent"
has vbox
text _("Game Options:")
add HALF_SPACER
if renpy.windows:
textbutton _("Console output") style "l_checkbox" action ToggleField(persistent, "windows_console")
textbutton _("Skip splashscreen") style "l_checkbox" action ToggleField(persistent, "skip_splashscreen")
add SPACER
add SEPARATOR2
frame:
style "l_indent"
has vbox
@@ -254,16 +218,14 @@ screen preferences():
textbutton _("Show edit file section") style "l_checkbox" action ToggleField(persistent, "show_edit_funcs")
textbutton _("Large fonts") style "l_checkbox" action [ ToggleField(persistent, "large_print"), renpy.utter_restart ]
if interface.local_doc_exists:
textbutton _("Prefer the web documentation") style "l_checkbox" action ToggleField(persistent, "use_web_doc")
if renpy.windows:
textbutton _("Console output") style "l_checkbox" action ToggleField(persistent, "windows_console")
textbutton _("Sponsor message") style "l_checkbox" action ToggleField(persistent, "sponsor_message")
textbutton _("Restore window position") style "l_checkbox" action Preference("restore window position", "toggle")
if ability.can_update:
textbutton _("Daily check for update") style "l_checkbox" action [ToggleField(persistent, "daily_update_check"), SetField(persistent, "last_update_check", None)] selected persistent.daily_update_check
textbutton _("Prefer RPU updates") style "l_checkbox" action ToggleField(persistent, "prefer_rpu")
elif preference_tab == "theme":
@@ -274,6 +236,7 @@ screen preferences():
has vbox
# Projects directory selection.
add SEPARATOR2
frame:
@@ -290,9 +253,7 @@ screen preferences():
add SPACER
$ skins_url = interface.get_doc_url("skins.html")
text _("Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}.")
text _("Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}.")
elif preference_tab == "install":
@@ -315,6 +276,7 @@ screen preferences():
use install_preferences
elif preference_tab == "actions":
frame:
@@ -335,52 +297,9 @@ screen preferences():
add HALF_SPACER
textbutton _("Open launcher project") style "l_nonbox" action [ project.Select("launcher"), Jump("front_page") ]
textbutton _("Open projects.txt"):
style "l_nonbox"
if project.manager.projects_directory:
action [
EnsureProjectsTxt(),
editor.EditAbsolute(os.path.join(project.manager.projects_directory, "projects.txt"))
]
textbutton _("Reset window size") style "l_nonbox" action Preference("display", 1.0)
textbutton _("Clean temporary files") style "l_nonbox" action Jump("clean_tmp")
elif preference_tab == "lint":
frame:
style "l_indent"
xmaximum TWOTHIRDS
xfill True
has vbox
add SEPARATOR2
frame:
style "l_indent"
has vbox
text _("Lint toggles:")
add HALF_SPACER
textbutton _("Check for orphan/obsolete translations"):
style "l_checkbox"
action InvertSelected(ToggleSetMembership(persistent.lint_options, "--no-orphan-tl"))
textbutton _("Check parameters shadowing reserved names"):
style "l_checkbox"
action ToggleSetMembership(persistent.lint_options, "--reserved-parameters")
textbutton _("Print block, word, and character counts by speaking character."):
style "l_checkbox"
action ToggleSetMembership(persistent.lint_options, "--by-character")
textbutton _("Unclosed text tags"):
style "l_checkbox"
action ToggleSetMembership(persistent.lint_options, "--check-unclosed-tags")
textbutton _("Show all unreachable blocks and orphaned translations."):
style "l_checkbox"
action ToggleSetMembership(persistent.lint_options, "--all-problems")
textbutton _("Return") action Jump("front_page") style "l_left_button"
+8 -24
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -55,12 +55,12 @@ init python in project:
def __init__(self, path, name=None):
while path.endswith("/"):
path = path[:-1]
if name is None:
name = os.path.basename(path)
while path.endswith("/"):
path = path[:-1]
if not os.path.exists(path):
raise Exception("{} does not exist.".format(path))
@@ -128,7 +128,6 @@ init python in project:
data.setdefault("add_from", True)
data.setdefault("force_recompile", True)
data.setdefault("android_build", "Release")
data.setdefault("tutorial", False)
if "renamed_all" not in data:
dp = data["packages"]
@@ -260,16 +259,8 @@ init python in project:
environ = dict(os.environ)
environ["RENPY_LAUNCHER_LANGUAGE"] = _preferences.language or "english"
if persistent.skip_splashscreen:
environ["RENPY_SKIP_SPLASHSCREEN"] = "1"
environ.update(env)
# Filter out system PYTHON* environment variables.
if hasattr(sys, "renpy_executable"):
environ = { k : v for k, v in environ.items() if not k.startswith("PYTHON") }
encoded_environ = { }
for k, v in environ.items():
@@ -488,11 +479,14 @@ init python in project:
if self.projects_directory is not None:
self.scan_directory(self.projects_directory)
self.scan_directory(config.renpy_base)
self.scan_directory(os.path.join(config.renpy_base, "templates"))
self.projects.sort(key=lambda p : p.name.lower())
self.templates.sort(key=lambda p : p.name.lower())
# Select the default project.
if persistent.active_project is not None:
p = self.get(persistent.active_project)
@@ -556,10 +550,6 @@ init python in project:
for path in f:
path = path.strip()
if path.startswith("#"):
continue
if len(path) > 0:
self.scan_directory_direct(path)
@@ -598,7 +588,6 @@ init python in project:
if project_type == "hidden":
pass
elif project_type == "template":
self.projects.append(p)
self.templates.append(p)
else:
self.projects.append(p)
@@ -772,12 +761,7 @@ init python in project:
blurb = LAUNCH_BLURBS[persistent.blurb % len(LAUNCH_BLURBS)]
persistent.blurb += 1
if persistent.skip_splashscreen:
submessage = _("Splashscreen skipped in launcher preferences.")
else:
submessage = None
interface.interaction(_("Launching"), blurb, submessage=submessage, pause=2.5)
interface.interaction(_("Launching"), blurb, pause=2.5)
def __call__(self):
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -355,8 +355,8 @@ style l_left_button_text is l_right_button_text
style l_root is l_default:
background BACKGROUND
xpadding 10
top_padding 32
bottom_padding 120
top_padding 64
bottom_padding 128
# An inner window.
style l_window is l_default:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 -2
View File
@@ -1,9 +1,31 @@
init python:
TEST_PROJECTS = u"/tmp/renpy-moé"
import shutil
def finally_callback():
print("finally "*100)
whether = renpy.is_in_test()
define config.end_testcase_callbacks += [finally_callback]
testcase default:
python hide:
renpy.watch("renpy.is_in_test()")
renpy.watch("waitch")
renpy.watch("whether")
waitch = 5
"preferences"
"theme"
"dEfAuLt theme"
"theme"
"dark the"
"return"
# exit
"quit"
init python:
TEST_PROJECTS = "/tmp/renpy-moé"
import shutil
testcase old_default:
call new_project
call translate_project
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -494,8 +494,8 @@ translate arabic strings:
new "النقر بالزر الأيمن"
# screens.rpy:1062
old "Mouse Wheel Up"
new "تحريك عجلة الفأرة لأعلى"
old "Mouse Wheel Up\nClick Rollback Side"
new "تحريك عجلة الفأرة لأعلى\nClick Rollback Side"
# screens.rpy:1066
old "Mouse Wheel Down"
-978
View File
@@ -1,978 +0,0 @@
translate danish strings:
# renpy/common/00accessibility.rpy:28
old "Self-voicing disabled."
new "Automatisk oplæsning deaktiveret."
# renpy/common/00accessibility.rpy:29
old "Clipboard voicing enabled. "
new "Oplæsning af udklipsholder aktiveret."
# renpy/common/00accessibility.rpy:30
old "Self-voicing enabled. "
new "Automatisk oplæsning aktiveret."
# renpy/common/00accessibility.rpy:32
old "bar"
new "bjælke"
# renpy/common/00accessibility.rpy:33
old "selected"
new "valgt"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "visningsport"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
new "vandret rulning"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
new "lodret rulning"
# renpy/common/00accessibility.rpy:37
old "activate"
new "aktivér"
# renpy/common/00accessibility.rpy:38
old "deactivate"
new "deaktiver"
# renpy/common/00accessibility.rpy:39
old "increase"
new "øg"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "sænk"
# renpy/common/00accessibility.rpy:138
old "Font Override"
new "Tilsidesættelse af skrifttype"
# renpy/common/00accessibility.rpy:142
old "Default"
new "Standard"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
new "Skalering af skriftstørrelse"
# renpy/common/00accessibility.rpy:162
old "Reset"
new "Nulstil"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
new "Skalering af linjeafstand"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
new "Tekst med høj kontrast"
# renpy/common/00accessibility.rpy:182
old "Enable"
new "Slå til"
# renpy/common/00accessibility.rpy:186
old "Disable"
new "Slå fra"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
new "Automatisk oplæsning"
# renpy/common/00accessibility.rpy:197
old "Off"
new "Fra"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
new "Tekst til tale"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
new "Udklipsholder"
# renpy/common/00accessibility.rpy:209
old "Debug"
new "Fejlsøgning"
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
new "Lydstyrkesænkning ved automatisk oplæsning"
# 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 "Indstillingerne i denne menu er tiltænkt at forbedre tilgængelighed. De virker muligvis ikke med alle spil, og visse kombinationer af indstillinger gør muligvis spillet uspilleligt. Dette er ikke et problem med spillet eller spilmotoren. Prøv at bevare den originale skriftstørrelse for at opnå det bedste resultat væd ændring af skrifttype."
# renpy/common/00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}mandag"
# renpy/common/00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}tirsdag"
# renpy/common/00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}onsdag"
# renpy/common/00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}torsdag"
# renpy/common/00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}fredag"
# renpy/common/00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}lørdag"
# renpy/common/00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}søndag"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}man"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}tir"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}ons"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}tor"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}fre"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}lør"
# renpy/common/00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}søn"
# renpy/common/00action_file.rpy:47
old "{#month}January"
new "{#month}januar"
# renpy/common/00action_file.rpy:47
old "{#month}February"
new "{#month}februar"
# renpy/common/00action_file.rpy:47
old "{#month}March"
new "{#month}marts"
# renpy/common/00action_file.rpy:47
old "{#month}April"
new "{#month}april"
# renpy/common/00action_file.rpy:47
old "{#month}May"
new "{#month}maj"
# renpy/common/00action_file.rpy:47
old "{#month}June"
new "{#month}juni"
# renpy/common/00action_file.rpy:47
old "{#month}July"
new "{#month}juli"
# renpy/common/00action_file.rpy:47
old "{#month}August"
new "{#month}august"
# renpy/common/00action_file.rpy:47
old "{#month}September"
new "{#month}september"
# renpy/common/00action_file.rpy:47
old "{#month}October"
new "{#month}oktober"
# renpy/common/00action_file.rpy:47
old "{#month}November"
new "{#month}november"
# renpy/common/00action_file.rpy:47
old "{#month}December"
new "{#month}december"
# renpy/common/00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}jan"
# renpy/common/00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}feb"
# renpy/common/00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}mar"
# renpy/common/00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}apr"
# renpy/common/00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}maj"
# renpy/common/00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}jun"
# renpy/common/00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}jul"
# renpy/common/00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}aug"
# renpy/common/00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}sep"
# renpy/common/00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}okt"
# renpy/common/00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}nov"
# renpy/common/00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}dec"
# renpy/common/00action_file.rpy:258
old "%b %d, %H:%M"
new "%d. %b, %H:%M"
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
new "Gem plads %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
new "Indlæs plads %s: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
new "Slet plads [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
new "Filside auto"
# renpy/common/00action_file.rpy:595
old "File page quick"
new "Filside hurtig"
# renpy/common/00action_file.rpy:597
old "File page [text]"
new "Filside [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
new "Næste filside."
# renpy/common/00action_file.rpy:868
old "Previous file page."
new "Forrige filside."
# renpy/common/00action_file.rpy:929
old "Quick save complete."
new "Hurtiggemning fuldført."
# renpy/common/00action_file.rpy:944
old "Quick save."
new "Hurtiggem."
# renpy/common/00action_file.rpy:963
old "Quick load."
new "Hurtigindlæs."
# renpy/common/00action_other.rpy:383
old "Language [text]"
new "Sprog [text]"
# renpy/common/00action_other.rpy:724
old "Open [text] directory."
new "Åbn mappen [text]."
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
new "Det interaktive instruktionsværktøj er ikke aktiveret her."
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1574
old "Done"
new "Færdig"
# renpy/common/00director.rpy:1584
old "(statement)"
new "(sætning)"
# renpy/common/00director.rpy:1585
old "(tag)"
new "(mærke)"
# renpy/common/00director.rpy:1586
old "(attributes)"
new "(attributter)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(transformation)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(overgang)"
# renpy/common/00director.rpy:1624
old "(channel)"
new "(kanal)"
# renpy/common/00director.rpy:1625
old "(filename)"
new "(filnavn)"
# renpy/common/00director.rpy:1654
old "Change"
new "Ændr"
# renpy/common/00director.rpy:1656
old "Add"
new "Tilføj"
# renpy/common/00director.rpy:1659
old "Cancel"
new "Annuller"
# renpy/common/00director.rpy:1662
old "Remove"
new "Fjern"
# renpy/common/00director.rpy:1697
old "Statement:"
new "Sætning:"
# renpy/common/00director.rpy:1718
old "Tag:"
new "Mærke:"
# renpy/common/00director.rpy:1734
old "Attributes:"
new "Attributter:"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
new "Klik for at slå attributter til/fra, højreklik for at slå negative attributter til/fra."
# renpy/common/00director.rpy:1757
old "Transforms:"
new "Transformationer:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Klik for at stille transformation, højreklik for at tilføje til transformationsliste."
# renpy/common/00director.rpy:1780
old "Behind:"
new "Bagved:"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Klik for at stille, højreklik for at tilføje til bagvedliste."
# renpy/common/00director.rpy:1801
old "Transition:"
new "Overgang:"
# renpy/common/00director.rpy:1819
old "Channel:"
new "Kanal:"
# renpy/common/00director.rpy:1837
old "Audio Filename:"
new "Lydfilnavn:"
# renpy/common/00gui.rpy:446
old "Are you sure?"
new "Er du sikker?"
# renpy/common/00gui.rpy:447
old "Are you sure you want to delete this save?"
new "Vil du gerne slette denne gemmefil?"
# renpy/common/00gui.rpy:448
old "Are you sure you want to overwrite your save?"
new "Vil du gerne overskrive din gemmefil?"
# renpy/common/00gui.rpy:449
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Ved indlæsning vil ugemte fremskridt gå tabt.\nVil du gerne gøre dette?"
# renpy/common/00gui.rpy:450
old "Are you sure you want to quit?"
new "Vil du gerne afslutte?"
# renpy/common/00gui.rpy:451
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Vil du gerne vende tilbage til hovedmenuen?\nUgemte fremskridt vil gå tabt."
# renpy/common/00gui.rpy:452
old "Are you sure you want to end the replay?"
new "Vil du gerne afslutte genafspilningnen?"
# renpy/common/00gui.rpy:453
old "Are you sure you want to begin skipping?"
new "Vil du gerne påbegynde overspringning?"
# renpy/common/00gui.rpy:454
old "Are you sure you want to skip to the next choice?"
new "Vil du gerne springe videre til det næste valg?"
# renpy/common/00gui.rpy:455
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Vil du gerne springe over uset dialog til det næste valg?"
# 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 "Denne gemmefil blev oprettet på en anden enhed. Gemmefiler konstrueret med ondsindet hensigt kan skade din computer. Stoler du på den, der har oprettet gemmefilen, og på alle, der kan have ændret filen?"
# 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 "Stoler du på enheden, som gemmefilen oprettedes på? Du bør kun vælge ja, hvis du er enhedens eneste bruger."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
new "Kunne ikke gemme skærmbillede som %s."
# renpy/common/00keymap.rpy:334
old "Saved screenshot as %s."
new "Gemte skærmbillede som %s."
# renpy/common/00library.rpy:248
old "Skip Mode"
new "Overspringstilstand"
# renpy/common/00library.rpy:335
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Dette program indeholder gratis software under forskellige licenser, herunder MIT-licensen og GNU Lesser General Public License. En komplet liste over software, inklusiv links til fulde kildekoder, kan findes {a=https://www.renpy.org/l/license}her{/a}."
# renpy/common/00preferences.rpy:271
old "display"
new "skærmvisning"
# renpy/common/00preferences.rpy:287
old "transitions"
new "overgange"
# renpy/common/00preferences.rpy:296
old "skip transitions"
new "spring overgange over"
# renpy/common/00preferences.rpy:298
old "video sprites"
new "videosprites"
# renpy/common/00preferences.rpy:307
old "show empty window"
new "vis tomt vindue"
# renpy/common/00preferences.rpy:316
old "text speed"
new "teksthastighed"
# renpy/common/00preferences.rpy:324
old "joystick"
new "styrepind"
# renpy/common/00preferences.rpy:324
old "joystick..."
new "styrepind..."
# renpy/common/00preferences.rpy:331
old "skip"
new "spring over"
# renpy/common/00preferences.rpy:334
old "skip unseen [text]"
new "spring over uset [text]"
# renpy/common/00preferences.rpy:339
old "skip unseen text"
new "spring over uset tekst"
# renpy/common/00preferences.rpy:341
old "begin skipping"
new "påbegynd overspringning"
# renpy/common/00preferences.rpy:345
old "after choices"
new "efter valg"
# renpy/common/00preferences.rpy:352
old "skip after choices"
new "spring over efter valg"
# renpy/common/00preferences.rpy:354
old "auto-forward time"
new "auto-fremad-tid"
# renpy/common/00preferences.rpy:368
old "auto-forward"
new "auto-fremad"
# renpy/common/00preferences.rpy:375
old "Auto forward"
new "auto-fremad"
# renpy/common/00preferences.rpy:378
old "auto-forward after click"
new "auto-fremad efter klik"
# renpy/common/00preferences.rpy:387
old "automatic move"
new "automatisk bevægelse"
# renpy/common/00preferences.rpy:396
old "wait for voice"
new "vent på stemme"
# renpy/common/00preferences.rpy:405
old "voice sustain"
new "stemmebevarelse"
# renpy/common/00preferences.rpy:414
old "self voicing"
new "automatisk oplæsning"
# renpy/common/00preferences.rpy:423
old "self voicing volume drop"
new "lydstyrkesænkning ved automatisk oplæsning"
# renpy/common/00preferences.rpy:431
old "clipboard voicing"
new "oplæsning af udklipsholder"
# renpy/common/00preferences.rpy:440
old "debug voicing"
new "oplæsning af fejlsøgning"
# renpy/common/00preferences.rpy:449
old "emphasize audio"
new "fremhæv lyd"
# renpy/common/00preferences.rpy:458
old "rollback side"
new "tilbagerulningsside"
# renpy/common/00preferences.rpy:468
old "gl powersave"
new "gl-strømbesparelse"
# renpy/common/00preferences.rpy:474
old "gl framerate"
new "gl-billedhastighed"
# renpy/common/00preferences.rpy:477
old "gl tearing"
new "gl-overrivning"
# renpy/common/00preferences.rpy:480
old "font transform"
new "skrifttransformation"
# renpy/common/00preferences.rpy:483
old "font size"
new "skriftstørrelse"
# renpy/common/00preferences.rpy:491
old "font line spacing"
new "linjeafstand for skrift"
# renpy/common/00preferences.rpy:499
old "system cursor"
new "systemmarkør"
# renpy/common/00preferences.rpy:508
old "renderer menu"
new "optegningsmenu"
# renpy/common/00preferences.rpy:511
old "accessibility menu"
new "tilgængelighedsmenu"
# renpy/common/00preferences.rpy:514
old "high contrast text"
new "tekst med høj kontrast"
# renpy/common/00preferences.rpy:523
old "audio when minimized"
new "lyd ved minimeret tilstand"
# renpy/common/00preferences.rpy:532
old "audio when unfocused"
new "lyd ved ufokuseret tilstand"
# renpy/common/00preferences.rpy:541
old "web cache preload"
new "forudindlæsning af webcache"
# renpy/common/00preferences.rpy:556
old "voice after game menu"
new "stemme efter spilmenu"
# renpy/common/00preferences.rpy:575
old "main volume"
new "primær lydstyrke"
# renpy/common/00preferences.rpy:576
old "music volume"
new "musiklydstyrke"
# renpy/common/00preferences.rpy:577
old "sound volume"
new "lydeffektlydstyrke"
# renpy/common/00preferences.rpy:578
old "voice volume"
new "stemmelydstyrke"
# renpy/common/00preferences.rpy:579
old "mute main"
new "slå primær lyd fra"
# renpy/common/00preferences.rpy:580
old "mute music"
new "slå musik fra"
# renpy/common/00preferences.rpy:581
old "mute sound"
new "slå lydeffekter fra"
# renpy/common/00preferences.rpy:582
old "mute voice"
new "slå stemmer fra"
# renpy/common/00preferences.rpy:583
old "mute all"
new "slå alle fra"
# renpy/common/00preferences.rpy:657
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Oplæsning af udklipsholder aktiveret. Tryk på 'shift+C' for at deaktivere."
# renpy/common/00preferences.rpy:659
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Automatisk oplæsning ville sige \"[renpy.display.tts.last]\". Tryk på 'alt+shift+V' for at deaktivere."
# renpy/common/00preferences.rpy:661
old "Self-voicing enabled. Press 'v' to disable."
new "Automatisk oplæsning aktiveret. Tryk på 'v' for at deaktivere."
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
new "Talebobleredigering"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
new "(skjul)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
new "Synkronisering hentet."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
new "Kunne ikke oprette forbindelse til Ren'Py Sync-serveren."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "Der opstod et forbindelsestimeout til Ren'Py Sync-serveren."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
new "En ukendt fejl opstod under forbindelse til Ren'Py Sync-serveren."
# 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-serveren har ikke en kopi af denne synkronisering. Synkroniserings-id'er er muligvis ugyldig eller udløbet."
# renpy/common/00sync.rpy:412
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Indtast venligst dit genererede synkroniserings-id.\nIndtast aldrig et synkroniserings-id, som du ikke selv har oprettet."
# renpy/common/00sync.rpy:431
old "The sync ID is not in the correct format."
new "Synkroniserings-id'et er ikke i det korrekte format."
# renpy/common/00sync.rpy:451
old "The sync could not be decrypted."
new "Synkroniseringen kunne ikke afkodes."
# renpy/common/00sync.rpy:474
old "The sync belongs to a different game."
new "Synkroniseringen tilhører et andet spil."
# renpy/common/00sync.rpy:479
old "The sync contains a file with an invalid name."
new "Synkroniseringen indeholder en fil med et ugyldigt navn."
# renpy/common/00sync.rpy:532
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "Dette sender dine gemmefiler til {a=https://sync.renpy.org}Ren'Py Sync-serveren{/a}.\nVil du gerne fortsætte?"
# renpy/common/00sync.rpy:561
old "Enter Sync ID"
new "Indtast Synkroniserings-id"
# renpy/common/00sync.rpy:572
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Dette kontakter {a=https://sync.renpy.org}Ren'Py Sync-serveren{/a}."
# renpy/common/00sync.rpy:599
old "Sync Success"
new "Synkronisering lykkedes"
# renpy/common/00sync.rpy:602
old "The Sync ID is:"
new "Synkroniserings-id'et er:"
# renpy/common/00sync.rpy:608
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "Du kan bruge dette id til at hente din gemmefil på en anden enhed.\nDenne synkronisering udløber om en time.\nRen'Py Sync støttes af {a=https://www.renpy.org/sponsors.html}Ren'Pys sponsorer{/a}."
# renpy/common/00sync.rpy:612
old "Continue"
new "Fortsæt"
# renpy/common/00sync.rpy:634
old "Sync Error"
new "Synkroniseringsfejl"
# renpy/common/00iap.rpy:219
old "Contacting App Store\nPlease Wait..."
new "Kontakter App Store\nVent venligst..."
# renpy/common/00updater.rpy:419
old "The Ren'Py Updater is not supported on mobile devices."
new "Ren'Py-opdateringsprogrammet understøttes ikke på mobilenheder."
# renpy/common/00updater.rpy:548
old "An error is being simulated."
new "En fejl simuleres."
# renpy/common/00updater.rpy:738
old "Either this project does not support updating, or the update status file was deleted."
new "Enten understøtter dette projekt ikke opdatering, eller også er opdateringsstatusfilen blevet slettet."
# renpy/common/00updater.rpy:752
old "This account does not have permission to perform an update."
new "Denne bruger har ikke tilladelse til at udføre en opdatering."
# renpy/common/00updater.rpy:755
old "This account does not have permission to write the update log."
new "Denne bruger har ikke tilladelse til at skrive opdateringsloggen."
# renpy/common/00updater.rpy:783
old "Could not verify update signature."
new "Kunne ikke efterprøve opdateringssignaturen."
# renpy/common/00updater.rpy:1084
old "The update file was not downloaded."
new "Opdateringsfilen blev ikke hentet."
# renpy/common/00updater.rpy:1102
old "The update file does not have the correct digest - it may have been corrupted."
new "Opdateringsfilen har ikke det korrekte fingeraftryk - den er muligvis blevet korrupteret."
# renpy/common/00updater.rpy:1252
old "While unpacking {}, unknown type {}."
new "Under udpakning {}, ukendt type {}"
# renpy/common/00updater.rpy:1624
old "Updater"
new "Opdateringsprogram"
# renpy/common/00updater.rpy:1635
old "This program is up to date."
new "Dette program er ajour."
# renpy/common/00updater.rpy:1637
old "[u.version] is available. Do you want to install it?"
new "[u.version] er tilgængelig. Vil du gerne installere denne?"
# renpy/common/00updater.rpy:1639
old "Preparing to download the updates."
new "Forbereder hentning af opdateringerne."
# renpy/common/00updater.rpy:1641
old "Downloading the updates."
new "Henter opdateringerne."
# renpy/common/00updater.rpy:1643
old "Unpacking the updates."
new "Udpakker opdateringerne."
# renpy/common/00updater.rpy:1647
old "The updates have been installed. The program will restart."
new "Opdateringer er blevet installeret. Programmet genstarter."
# renpy/common/00updater.rpy:1649
old "The updates have been installed."
new "Opdateringerne er blevet installeret."
# renpy/common/00updater.rpy:1651
old "The updates were cancelled."
new "Opdateringerne blev annulleret."
# renpy/common/00gallery.rpy:627
old "Image [index] of [count] locked."
new "Billede [index] af [count] låst."
# renpy/common/00gallery.rpy:647
old "prev"
new "forrige"
# renpy/common/00gallery.rpy:648
old "next"
new "næste"
# renpy/common/00gallery.rpy:649
old "slideshow"
new "diasshow"
# renpy/common/00gallery.rpy:650
old "return"
new "tilbage"
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "Tilpas director.transforms for at tilføje flere transformationer."
# renpy/common/00director.rpy:1821
old "Click to set."
new "Klik for at stille."
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "Tilpas director.transitions for at tilføje flere overgange."
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "Tilpas director.audio_channels for at tilføje flere kanaler."
# renpy/common/00preferences.rpy:573
old "restore window position"
new "gendan vinduesplacering"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(opryd bibeholdte bobler)"
# renpy/common/00updater.rpy:504
old "No update methods found."
new "Ingen opdateringsmetoder fundet."
# renpy/common/00updater.rpy:551
old "Could not download file list: "
new "Kunne ikke hente filliste:"
# renpy/common/00updater.rpy:554
old "File list digest does not match."
new "Fillistens fingeraftryk matcher ikke."
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "Forbereder hentning af spildataene."
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "Henter spildataene."
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "Spildataene er blevet hentet."
# renpy/common/00updater.rpy:2078
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
old "This game cannot be run until the game data has been downloaded."
new "Dette spil kan ikke køres, indtil spildataene er blevet hentet."
# renpy/common/00updater.rpy:2090
old "Retry"
new "Prøv igen"
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Tilgængelighedsmenu. Brug op- og ned-piletasterne til at navigere og retur til at aktivere knapper og bjælker."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "Vil du gerne fortsætte fra hvor du slap?"
# renpy/common/00preferences.rpy:439
old "self voicing enable"
new "aktivér automatisk oplæsning"
# renpy/common/00preferences.rpy:441
old "self voicing disable"
new "deaktiver automatisk oplæsning"
# renpy/common/00preferences.rpy:456
old "clipboard voicing enable"
new "aktivér oplæsning af udklipsholder"
# renpy/common/00preferences.rpy:458
old "clipboard voicing disable"
new "deaktiver oplæsning af udklipsholder"
# renpy/common/00preferences.rpy:465
old "debug voicing enable"
new "aktivér oplæsning af fejlsøgning"
# renpy/common/00preferences.rpy:467
old "debug voicing disable"
new "deaktiver oplæsning af fejlsøgning"
# renpy/common/00preferences.rpy:596
old "reset"
new "nulstil"
-278
View File
@@ -1,278 +0,0 @@
translate danish strings:
# renpy/common/_developer/developer.rpym:38
old "Developer Menu"
new "Udviklermenu"
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
new "Interaktivt instruktionsværktøj (D)"
# renpy/common/_developer/developer.rpym:45
old "Reload Game (Shift+R)"
new "Genindlæs spil (Shift+R)"
# renpy/common/_developer/developer.rpym:47
old "Console (Shift+O)"
new "Konsol (Shift+O)"
# renpy/common/_developer/developer.rpym:49
old "Variable Viewer"
new "Variabelviser"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "Vedvarende data-viser"
# renpy/common/_developer/developer.rpym:53
old "Image Location Picker"
new "Billedplaceringsvælger"
# renpy/common/_developer/developer.rpym:55
old "Filename List"
new "Filnavneliste"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
new "Vis billedindlæsningslog (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
new "Skjul billedindlæsningslog (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
new "Billedattributter"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
new "Talebobleredigering (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
new "[name] [attributes] (skjult)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:151
old "Nothing to inspect."
new "Intet at inspicere."
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
new "Skjul slettede"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
new "Vis slettede"
# renpy/common/_developer/developer.rpym:318
old "Rectangle copied to clipboard."
new "Rektangel kopieret til udklipsholder."
# renpy/common/_developer/developer.rpym:321
old "Position copied to clipboard."
new "Position kopieret til udklipsholder."
# renpy/common/_developer/developer.rpym:333
old "Rectangle: %r"
new "Rektangel: %r"
# renpy/common/_developer/developer.rpym:336
old "Mouse position: %r"
new "Museposition: %r"
# renpy/common/_developer/developer.rpym:341
old "Right-click or escape to quit."
new "Højreklik eller escape for at afslutte."
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
new "Skriv for at filtrere: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Teksturer: [tex_count] ([tex_size_mb:.1f] MB)"
# renpy/common/_developer/developer.rpym:511
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Billedcache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# renpy/common/_developer/developer.rpym:521
old "✔ "
new "✔ "
# renpy/common/_developer/developer.rpym:524
old "✘ "
new "✘ "
# renpy/common/_developer/developer.rpym:529
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}✔ forudset billede (godt){/color}\n{color=#fcc}✘ uforudset billede (dårligt){/color}\n{color=#fff}Træk for at flytte.{/color}"
# renpy/common/_developer/inspector.rpym:38
old "Displayable Inspector"
new "Inspektion af visbare elementer"
# renpy/common/_developer/inspector.rpym:61
old "Size"
new "Størrelse"
# renpy/common/_developer/inspector.rpym:65
old "Style"
new "Stil"
# renpy/common/_developer/inspector.rpym:71
old "Location"
new "Placering"
# renpy/common/_developer/inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Inspicerer stile for [displayable_name!q]"
# renpy/common/_developer/inspector.rpym:139
old "displayable:"
new "visbart element:"
# renpy/common/_developer/inspector.rpym:145
old " (no properties affect the displayable)"
new " (ingen egenskaber påvirker det visbare element)"
# renpy/common/_developer/inspector.rpym:147
old " (default properties omitted)"
new " (standardegenskaber udeladt)"
# renpy/common/_developer/inspector.rpym:185
old "<repr() failed>"
new "<repr() mislykkedes>"
# renpy/common/00console.rpy:537
old "Press <esc> to exit console. Type help for help.\n"
new "Tryk <esc> for at gå ud af konsol. Skriv help for hjælp.\n"
# renpy/common/00console.rpy:541
old "Ren'Py script enabled."
new "Ren'Py-script aktiveret" #manuskripterne eller scripting?
# renpy/common/00console.rpy:543
old "Ren'Py script disabled."
new "Ren'Py-script deaktiveret." #manuskripterne eller scripting?
# renpy/common/00console.rpy:793
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "help: vis denne hjælp\n help <udtryk>: vis signaturen og dokumentationen for <udtryk>"
# renpy/common/00console.rpy:817
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "Hjælp viser muligvis udokumenterede funktioner. Tjek venligst, om den funktion\neller klasse, du gerne vil bruge, er dokumenteret.\n\n"
# renpy/common/00console.rpy:826
old "commands:\n"
new "kommandoer:\n"
# renpy/common/00console.rpy:836
old " <renpy script statement>: run the statement\n"
new " <renpy-script-ordre>: kør ordren\n"
# renpy/common/00console.rpy:838
old " <python expression or statement>: run the expression or statement"
new " <python-udtryk eller -ordre>: kør udtrykket eller ordren"
# renpy/common/00console.rpy:846
old "clear: clear the console history"
new "clear: ryd konsolhistorikken"
# renpy/common/00console.rpy:850
old "exit: exit the console"
new "exit: gå ud af konsollen"
# renpy/common/00console.rpy:858
old "stack: print the return stack"
new "stack: udskriv returstakken"
# renpy/common/00console.rpy:880
old "load <slot>: loads the game from slot"
new "load <plads>: indlæser spillet fra plads"
# renpy/common/00console.rpy:893
old "save <slot>: saves the game in slot"
new "save <plads>: gemmer spillet på plads"
# renpy/common/00console.rpy:904
old "reload: reloads the game, refreshing the scripts"
new "reload: genindlæser spiller og genopfrisker manuskripterne"
# renpy/common/00console.rpy:912
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 <udtryk>: hold øje med et python-udtryk\n watch short: gør repræsentationen af sporede udtryk kort (standard)\n watch long: gør repræsentationen af sporede udtryk, som den er"
# renpy/common/00console.rpy:949
old "unwatch <expression>: stop watching an expression"
new "unwatch <udtryk>: stop med at holde øje med et udtryk"
# renpy/common/00console.rpy:995
old "unwatchall: stop watching all expressions"
new "unwatchall: stop med at holde øje med alle udtryk"
# renpy/common/00console.rpy:1016
old "jump <label>: jumps to label"
new "jump <label>: springer til mærkat"
# renpy/common/00console.rpy:1032
old "short: Shorten the representation of objects on the console (default)."
new "short: Forkort repræsentationen af objekter i konsollen (standard)."
# renpy/common/00console.rpy:1036
old "long: Print the full representation of objects on the console."
new "long: Skriv den fulde repræsentationen af objekter til konsollen."
# renpy/common/00console.rpy:1040
old "escape: Enables escaping of unicode symbols in unicode strings."
new "escape: Aktiverer omdannelsen af unicode-tegn til undvigesekvenser i unicode-strenge."
# renpy/common/00console.rpy:1044
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
new "unescape: Deaktiverer omdannelsen af unicode-tegn til undvigesekvenser i unicode-strenge og skriver dem, som de er (standard)."
# renpy/common/_developer/developer.rpym:69
old "Show Translation Identifiers"
new "Vis oversættelsesidentifikatorer"
# renpy/common/_developer/developer.rpym:72
old "Hide Translation Identifiers"
new "Skjul oversættelsesidentifikatorer"
# renpy/common/_developer/developer.rpym:81
old "Show Filename and Line"
new "Vil filnavn og linje"
# renpy/common/_developer/developer.rpym:84
old "Hide Filename and Line"
new "Skjul filnavn og linje"
# renpy/common/_developer/developer.rpym:127
old "Layer [l]:"
new "Lag [l]:"
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (skjult)"
# 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}Kopieret til udklipsholder.{/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff}Klik for at kopiere.\nTræk for at flytte.{/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "Klik for at åbne i tekstbehandler."
-202
View File
@@ -1,202 +0,0 @@
translate danish strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Optegner"
# renpy/common/00gltest.rpy:93
old "Automatically Choose"
new "Vælg automatisk"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Påtving GL-optegner"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Påtving ANGLE-optegner"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
new "Påtving GLES-optegner"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
new "Påtving GL2-optegner"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
new "Påtving ANGLE2-optegner"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
new "Påtving GLES2-optegner"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "Aktivér (ingen blocklist)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Strømsparing"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "Billedhastighed"
# renpy/common/00gltest.rpy:177
old "Screen"
new "Skærm"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing (overrivning)"
# renpy/common/00gltest.rpy:207
old "Changes will take effect the next time this program is run."
new "Ændringer træder i kraft, næste gang dette program køres."
# renpy/common/00gltest.rpy:242
old "Performance Warning"
new "Ydeevneadvarsel"
# renpy/common/00gltest.rpy:247
old "This computer is using software rendering."
new "Denne computer bruger softwareoptegning."
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
new "Dette spil kræver brugen af GL2, som ikke kan initialiseres."
# renpy/common/00gltest.rpy:251
old "This computer has a problem displaying graphics: [problem]."
new "Denne computer har et problem med visning af grafik: [problem]."
# renpy/common/00gltest.rpy:255
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "Dens grafikdrivere er muligvis forældede eller fungerer ikke korrekt. Dette kan føre til langsom eller ukorrkekt grafikvisning."
# 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 "Filen {a=edit:1:log.txt}log.txt{/a} indeholder muligvis information, der kan hjælpe dig med at bestemme, hvad der er galt med din computer."
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "Flere detaljer om, hvordan du fikser dette, kan findes i {a=[url]}dokumentationen{/a}."
# renpy/common/00gltest.rpy:269
old "Continue, Show this warning again"
new "Fortsæt, og vis denne advarsel igen"
# renpy/common/00gltest.rpy:273
old "Continue, Don't show warning again"
new "Fortsæt, og vis ikke advarsel igen"
# renpy/common/00gltest.rpy:281
old "Change render options"
new "Ændr optegningsindstillinger"
# renpy/common/00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Vælg spillekontrol at kalibrere"
# renpy/common/00gamepad.rpy:35
old "No Gamepads Available"
new "Ingen spillekontroller tilgængelige"
# renpy/common/00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Kalibrerer [name] ([i]/[total])"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "Tryk eller bevæg '[control!s]' [kind]."
# renpy/common/00gamepad.rpy:68
old "Skip (A)"
new "Spring over (A)"
# renpy/common/00gamepad.rpy:71
old "Back (B)"
new "Tilbage (B)"
# renpy/common/_errorhandling.rpym:555
old "Open"
new "Åbn"
# renpy/common/_errorhandling.rpym:557
old "Opens the traceback.txt file in a text editor."
new "Åbner traceback.txt-filen i en tekstbehandler."
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
new "Kopiér BBCode"
# renpy/common/_errorhandling.rpym:561
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Kopierer traceback.txt-filen til udkplipsholderen som BBCode til forummer som https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
new "Kopiér Markdown"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Kopierer traceback.txt-filen til udkplipsholderen som Markdown til Discord."
# renpy/common/_errorhandling.rpym:594
old "An exception has occurred."
new "En undtagelse er opstået."
# renpy/common/_errorhandling.rpym:617
old "Rollback"
new "Tilbagerulning"
# renpy/common/_errorhandling.rpym:619
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Forsøger en tilbagerulning til et forrigt tidspunkt og gør det muligt for dig at gemme eller træffe et andet valg."
# renpy/common/_errorhandling.rpym:622
old "Ignore"
new "Ignorer"
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
new "Ignorerer undtagelsen og gør dig i stand til at fortsætte."
# renpy/common/_errorhandling.rpym:628
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignorerer undtagelsen og gør dig i stand til at fortsætte. Dette fører ofte til yderligere fejl."
# renpy/common/_errorhandling.rpym:632
old "Reload"
new "Genindlæs"
# renpy/common/_errorhandling.rpym:634
old "Reloads the game from disk, saving and restoring game state if possible."
new "Genindlæser spillet fra disken, gemmer og gendanner spilstatussen hvis muligt."
# renpy/common/_errorhandling.rpym:637
old "Console"
new "Konsol"
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
new "Åbner en konsol for at muliggøre problemløsning."
# renpy/common/_errorhandling.rpym:652
old "Quits the game."
new "Afslutter spillet."
# renpy/common/_errorhandling.rpym:673
old "Parsing the script failed."
new "Fortolkning af manuskript mislykkedes."
-442
View File
@@ -1,442 +0,0 @@
translate danish strings:
# gui/game/gui.rpy:2
old "## Initialization"
new "## Initialisering"
# gui/game/gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## Erklæringen init offset får initialiseringserklæringerne i denne fil til at køre før init-erklæringer i enhver anden fil."
# gui/game/gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Ved at kalde gui.init nulstilles stilene til fornuftige standardværdier, og bredden og højden af spillet indstilles."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Aktiver tjek efter ugyldige eller ustabile egenskaber i skærme eller transformationer"
# gui/game/gui.rpy:19
old "## GUI Configuration Variables"
new "## GUI-konfigurationsvariabler"
# gui/game/gui.rpy:23
old "## Colors"
new "## Farver"
# gui/game/gui.rpy:25
old "## The colors of text in the interface."
new "## Farverne på tekst i skærmfladen."
# gui/game/gui.rpy:27
old "## An accent color used throughout the interface to label and highlight text."
new "## En accentfarve brugt gennem hele skærmfladen til at markere og fremhæve tekst."
# gui/game/gui.rpy:31
old "## The color used for a text button when it is neither selected nor hovered."
new "## Farven brugt til en tekstknap, når den hverken er valgt eller holdes henover."
# gui/game/gui.rpy:34
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## Small-farven bruges til lille tekst, som skal være lysere/mørkere for at opnå samme effekt."
# gui/game/gui.rpy:38
old "## The color that is used for buttons and bars that are hovered."
new "## Farven, der bruges til knapper og bjælker, hvor markøren holdes henover."
# gui/game/gui.rpy:41
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 "## Farven, der bruges til en tekstknap, når den er valgt men ikke i fokus. En knap er valgt, hvis den er den nuværende skærm- eller præferenceværdi."
# gui/game/gui.rpy:45
old "## The color used for a text button when it cannot be selected."
new "## Farven, der bruges til en tekstknap, når den ikke kan vælges."
# gui/game/gui.rpy:48
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 "## Farven, der bruges til de dele af bjælker, der ikke er udfyldt. Disse bruges ikke direkte, men bruges, når bjælkebilledfilerne regenereres."
# gui/game/gui.rpy:53
old "## The colors used for dialogue and menu choice text."
new "## Farverne brugt til dialogtekst og tekst i menupunkter."
# gui/game/gui.rpy:58
old "## Fonts and Font Sizes"
new "## Skrifttyper og -størrelser"
# gui/game/gui.rpy:60
old "## The font used for in-game text."
new "## Skrifttypen brugt til tekst i spillet."
# gui/game/gui.rpy:63
old "## The font used for character names."
new "## Skrifttypen brugt til figurnavne."
# gui/game/gui.rpy:66
old "## The font used for out-of-game text."
new "## Skrifttypen brugt til tekst uden for spillet."
# gui/game/gui.rpy:69
old "## The size of normal dialogue text."
new "## Størrelsen på normal dialogtekst."
# gui/game/gui.rpy:72
old "## The size of character names."
new "## Størrelsen på figurnavne."
# gui/game/gui.rpy:75
old "## The size of text in the game's user interface."
new "## Størrelsen på tekst i spillets brugerflade."
# gui/game/gui.rpy:78
old "## The size of labels in the game's user interface."
new "## Størrelsen på mærkater i spillets brugeflade."
# gui/game/gui.rpy:81
old "## The size of text on the notify screen."
new "## Størrelsen på teksten på notifikationsskærmen."
# gui/game/gui.rpy:84
old "## The size of the game's title."
new "## Størrelsen på spillets titel."
# gui/game/gui.rpy:88
old "## Main and Game Menus"
new "## Hoved- og spilmenuer"
# gui/game/gui.rpy:90
old "## The images used for the main and game menus."
new "## Billederne brugt til hoved- og spilmenuerne."
# gui/game/gui.rpy:95
old "## Dialogue"
new "## Dialog"
# gui/game/gui.rpy:97
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## Disse variabler kontrollerer, hvordan dialog vises på skærmen én linje ad gangen."
# gui/game/gui.rpy:100
old "## The height of the textbox containing dialogue."
new "## Højden af tekstboksen, der indeholder dialog."
# gui/game/gui.rpy:103
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## Placeringen af tekstboksen lodret på skærmen. 0.0 er i toppen, 0.5 er midti og 1.0 er i bunden."
# gui/game/gui.rpy:108
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 "## Placeringen af den talende figurs navn relativt til tekstboksen. Disse kan være et helt antal af pixels fra venstre eller toppen, eller 0.5 for centrering."
# gui/game/gui.rpy:113
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."
new "## Den vandrette justering af figurens navn. Denne kan være 0.0 for venstrejusteret, 0.5 for centreret og 1.0 for højrejusteret."
# gui/game/gui.rpy:117
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## Bredden, højden og kanterne på boksen, der indeholder figurens navn, eller None for automatisk at indstille størrelsen."
# gui/game/gui.rpy:122
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## Kanterne på boksen, der indeholder figurens navn, i rækkefølgen venstre, top, højre, bund."
# gui/game/gui.rpy:126
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Ved True bliver navneboksens baggrund gentaget. Ved False bliver navneboksens baggrund skaleret."
# gui/game/gui.rpy:131
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."
new "## Placeringen af dialogen relativt til tekstboksen. Disse kan være et heltal af pixels relativt til venstre eller øverste side af tekstboksen, eller 0.5 for at centrere."
# gui/game/gui.rpy:137
old "## The maximum width of dialogue text, in pixels."
new "## Den maksimale bredde af dialogtekst i pixels."
# gui/game/gui.rpy:140
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Den vandrette justering af dialogteksten. Dette kan være 0.0 for venstrejusteret, 0.5 for centreret og 1.0 for højrejusteret."
# gui/game/gui.rpy:145
old "## Buttons"
new "## Knapper"
# gui/game/gui.rpy:147
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## Disse variable kontrollerer sammen med billedfilerne i gui/button aspekter af, hvordan knapper vises."
# gui/game/gui.rpy:150
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## Bredden og højden af en knap i pixels. Hvis None beregner Ren'Py en størrelse."
# gui/game/gui.rpy:154
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## Kanterne på hver side af knappen i rækkefølgen venstre, top, højre, bund."
# gui/game/gui.rpy:157
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Ved True gentages baggrundsbilledet. Ved False bliver baggrundsbilledet skaleret lineært."
# gui/game/gui.rpy:161
old "## The font used by the button."
new "## Skrifttypen brugt af knappen."
# gui/game/gui.rpy:164
old "## The size of the text used by the button."
new "## Størrelsen af tekst brugt af knappen."
# gui/game/gui.rpy:167
old "## The color of button text in various states."
new "## Farven af knappen i forskellige tilstande."
# gui/game/gui.rpy:173
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Den vandrette justering af knapteksten. (0.0 er venstre, 0.5 er midtfor, 1.0 er højre)."
# gui/game/gui.rpy:178
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 "## Disse variabler tilsidesætter indstillinger for forskellige typer knapper. Se venligst GUI-dokumentationen for typen af knapper, der er tilgængelige, og hvad hver af dem bruges til."
# gui/game/gui.rpy:182
old "## These customizations are used by the default interface:"
new "## Disse tilpasninger bruger af standardgrænsefladen:"
# gui/game/gui.rpy:197
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## Du kan også tilføje dine egne tilpasninger ved at tilføje variabler med det korrekte navn. For eksempel kan du afkommentere følgende linje for at angive bredden på en navigationsknap."
# gui/game/gui.rpy:204
old "## Choice Buttons"
new "## Valgmulighedsknapper"
# gui/game/gui.rpy:206
old "## Choice buttons are used in the in-game menus."
new "## Valgmulighedsknapper bruges i menuerne i spillet."
# gui/game/gui.rpy:220
old "## File Slot Buttons"
new "## Filpladsknapper"
# gui/game/gui.rpy:222
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 "## En filpladsknap er en speciel slags knap. Den indeholder et miniaturebillede og tekst, der beskriver indholdet af gemmepladsen. En gemmeplads bruger billedfiler i gui/button ligesom de andre slags knapper."
# gui/game/gui.rpy:226
old "## The save slot button."
new "## Gemmepladsknappen."
# gui/game/gui.rpy:236
old "## The width and height of thumbnails used by the save slots."
new "## Bredden og højden af miniaturebilleder brugt af gemmepladserne."
# gui/game/gui.rpy:240
old "## The number of columns and rows in the grid of save slots."
new "## Antallet af søjler og rækker i gitteret med gemmepladser."
# gui/game/gui.rpy:245
old "## Positioning and Spacing"
new "## Positionering og afstand"
# gui/game/gui.rpy:247
old "## These variables control the positioning and spacing of various user interface elements."
new "## Disse variable kontrollerer placering af og afstanden mellem forskellige brugerfladeelementer."
# gui/game/gui.rpy:250
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## Placeringen af venstre side af navigationsknapperne, relativt til venstre side af skærmen."
# gui/game/gui.rpy:254
old "## The vertical position of the skip indicator."
new "## Den lodrette placering af overspringningsindikatoren."
# gui/game/gui.rpy:257
old "## The vertical position of the notify screen."
new "## Den lodrette placering af notifikationsskærmen."
# gui/game/gui.rpy:260
old "## The spacing between menu choices."
new "## Afstanden mellem menuvalg."
# gui/game/gui.rpy:263
old "## Buttons in the navigation section of the main and game menus."
new "## Knapper i navigationssektionen af hoved- og spilmenuerne."
# gui/game/gui.rpy:266
old "## Controls the amount of spacing between preferences."
new "## Kontrollerer mængden af afstand mellem præferencer."
# gui/game/gui.rpy:269
old "## Controls the amount of spacing between preference buttons."
new "## Kontrollerer mængden af afstand mellem præferenceknapper."
# gui/game/gui.rpy:272
old "## The spacing between file page buttons."
new "## Afstanden mellem filsideknapper."
# gui/game/gui.rpy:275
old "## The spacing between file slots."
new "## Afstanden mellem filpladser."
# gui/game/gui.rpy:278
old "## The position of the main menu text."
new "## Placeringen af hovedmenuteksten."
# gui/game/gui.rpy:282
old "## Frames"
new "## Rammer"
# gui/game/gui.rpy:284
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## Disse variable kontrollerer udseendet på rammer, der kan indeholde brugefladekomponenter, når en overlejring eller et vindue ikke er til stede."
# gui/game/gui.rpy:287
old "## Generic frames."
new "## Generiske rammer."
# gui/game/gui.rpy:290
old "## The frame that is used as part of the confirm screen."
new "## Rammen, der bruges som del af bekræftelsesskærmen."
# gui/game/gui.rpy:293
old "## The frame that is used as part of the skip screen."
new "## Rammen, der bruges som del af overspringningsskærmen."
# gui/game/gui.rpy:296
old "## The frame that is used as part of the notify screen."
new "## Rammen, der bruges som del af notifikationsskærmen."
# gui/game/gui.rpy:299
old "## Should frame backgrounds be tiled?"
new "## Bør rammebaggrunde gentages?"
# gui/game/gui.rpy:303
old "## Bars, Scrollbars, and Sliders"
new "## Bjælker, rullebjælker og skydere"
# gui/game/gui.rpy:305
old "## These control the look and size of bars, scrollbars, and sliders."
new "## Disse kontrollerer udseendet og størrelsen på bjælker, rullebjælker og skydere."
# gui/game/gui.rpy:307
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## Standard-GUI'en bruger kun skydere og lodrette rullebjælker. Alle de andre bjælker bruges kun i skærme skrevet af spiludvikleren."
# gui/game/gui.rpy:310
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## Højden på vandrette bjælker, rullebjælker og skydere. Bredden på lodrette bjælker, rullebjælker og skydere."
# gui/game/gui.rpy:316
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True, hvis bjælkebilleder skal gentages. False, hvis de skal skaleres lineært."
# gui/game/gui.rpy:321
old "## Horizontal borders."
new "## Vandrette kanter."
# gui/game/gui.rpy:326
old "## Vertical borders."
new "## Lodrette kanter."
# gui/game/gui.rpy:331
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## Hvad der skal gøres ved urullelige rullebjælker i gui'en. \"hide\" skjuler dem, mens None viser dem."
# gui/game/gui.rpy:336
old "## History"
new "## Historik"
# gui/game/gui.rpy:338
old "## The history screen displays dialogue that the player has already dismissed."
new "## Historikskærmen viser dialog, som spilleren allerede er gået videre fra."
# gui/game/gui.rpy:340
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## Antallet af blokke dialoghistorik, som Ren'Py gemmer."
# gui/game/gui.rpy:343
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## Højden på et historikskærmsindlæg, eller None for at gøre højden variabel på bekostning af ydeevne."
# gui/game/gui.rpy:347
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## Placeringen, bredden og justeringen af mærkatet, der angiver navnet på den talende figur."
# gui/game/gui.rpy:354
old "## The position, width, and alignment of the dialogue text."
new "## Placeringen, bredden og justeringen af dialogteksten."
# gui/game/gui.rpy:361
old "## NVL-Mode"
new "## NVL-tilstand"
# gui/game/gui.rpy:363
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## NVL-tilstandsskærmen viser dialogen sagt af NVL-tilstandsfigurer."
# gui/game/gui.rpy:365
old "## The borders of the background of the NVL-mode background window."
new "## Kanterne på baggrunden af baggrundsvinduet i NVL-tilstand."
# gui/game/gui.rpy:368
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."
new "## Det maksimale antal af NVL-tilstandsindlæg, som Ren'Py viser. Når flere indlæg end disse skal vises, bliver det ældste indlæg fjernet."
# gui/game/gui.rpy:372
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Højden på et NVL-tilstandsindlæg. Stil denne til None for at få indlæggene til dynamisk at justere højde."
# gui/game/gui.rpy:376
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Afstanden mellem NVL-tilstandsindlæg, når gui.nvl_height er None, og mellem NVL-tilstandsindlæg og en menu i NVL-tilstand."
# gui/game/gui.rpy:393
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## Placeringen, bredden og justeringen af nvl_thought-tekst (teksten sagt af figuren nvl_narrator.)"
# gui/game/gui.rpy:400
old "## The position of nvl menu_buttons."
new "## Placeringen af nvl menu_buttons."
# gui/game/gui.rpy:405
old "## Localization"
new "## Lokalisering"
# gui/game/gui.rpy:407
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 "## Dette kontrollerer, hvor et linjeskift er tilladt. Standardinstilligen er egnet til de fleste sprog. En liste over tilgængelige værdier kan findes på https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui/game/gui.rpy:415
old "## Mobile devices"
new "## Mobilenheder"
# gui/game/gui.rpy:420
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Dette øger størrelsen på hurtigknapperne for at gøre dem lettere at ramme på tablets og mobiler."
# gui/game/gui.rpy:427
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Dette ændrer størrelsen på og afstanden mellem forskellige GUI-elementer for at sørge for, at de er let synlige på mobiler."
# gui/game/gui.rpy:432
old "## Font sizes."
new "## Skriftstørrelser."
# gui/game/gui.rpy:440
old "## Adjust the location of the textbox."
new "## Juster tekstboksens placering."
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
new "## Ændr størrelsen på og afstanden mellem forskellige ting."
# gui/game/gui.rpy:460
old "## File button layout."
new "## Filknapudformning."
# gui/game/gui.rpy:464
old "## NVL-mode."
new "## NVL-tilstand."
# gui/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## Yderligere afstand at tilføje mellem historikskærmsindlæg."
File diff suppressed because it is too large Load Diff
-26
View File
@@ -1,26 +0,0 @@
translate danish strings:
# renpy/common/_layout/classic_joystick_preferences.rpym:94
old "Joystick Mapping"
new "Styrepindskortlægning"
# renpy/common/_layout/classic_load_save.rpym:138
old "Empty Slot."
new "Tom plads."
# renpy/common/_layout/classic_load_save.rpym:170
old "a"
new "a"
# renpy/common/_layout/classic_load_save.rpym:179
old "q"
new "h"
# renpy/common/_compat/gamemenu.rpym:355
old "Previous"
new "Forrige"
# renpy/common/_compat/gamemenu.rpym:362
old "Next"
new "Næste"
-198
View File
@@ -1,198 +0,0 @@
translate danish strings:
# gui/game/options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## Denne fil indeholder indstillinger, der kan ændres for at tilpasse dit spil."
# 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 "## Linjer, der begynder med to '#'-tegn er kommentarer, og du bør ikke afkommentere dem. Linjer, der begynder med et enkelt '#'-tegn er udkommenteret kode, som du kan afkommentere i passende tilfælde."
# gui/game/options.rpy:10
old "## Basics"
new "## Grundlæggende"
# 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 "## Et menneskelæsbart navn på spillet. Dette bruges til at angive standardvinduestitlen, og det dukker op i grænsefladen og fejlrapporter."
# gui/game/options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## Tegnene _(), der omringer strengen, markerer det som kvalificeret til oversættelse."
# gui/game/options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 standard-GUI"
# 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 "## Bestemmer, om den ovenfor givne titel vises på hovedmenuskærmen. Stil dette til False for at skjule title."
# gui/game/options.rpy:26
old "## The version of the game."
new "## Spilversionen."
# 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 "## Tekst, der placeres på spillets om-skærm. Placer teksten mellem de tredobbelte citationstegn og efterlad en tom linje mellem afsnit."
# 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 "## Et kort navn til spillet, der bruges til ekskverbare filer og mapper i den fremstillede distribution. Dette må kun være ASCII, og det må ikke indeholde mellemrum, koloner eller semikoloner."
# gui/game/options.rpy:45
old "## Sounds and music"
new "## Lyde og musik"
# 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 "## Disse tre variabler kontrollerer blandt andet, hvilke mixere der vises til spilleren som standard. Ved at stille en af disse til False skjules den tilsvarende mixer."
# 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 "## For at gøre det muligt for brugeren at afspille en testlyd på lydeffekt- eller stemmekanalen, så afkommenter en linje nedenfor og brug den til at angive en prøvelyd at afspille."
# 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 "## Afkommenter følgende linje for at angive en lydfil, der afspilles, mens spilleren er i hovedmenuen. Denne fil fortsætter med at afspille inde i spillet, indtil den stoppes, eller en anden fil afspilles."
# gui/game/options.rpy:70
old "## Transitions"
new "## Overgange"
# 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 "## Disse variable angiver overgange, der bruges, når bestemte begivenheder opstår. Hver variabel bør sættes til en overgang, eller til None for at indikere, at ingen overgang skal bruges."
# gui/game/options.rpy:76
old "## Entering or exiting the game menu."
new "## Når man går ind i eller ud af spilmenuen."
# gui/game/options.rpy:82
old "## Between screens of the game menu."
new "## Mellem skærme i spilmenuen."
# gui/game/options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## En overgang, der bruges, efter et spil er blevet indlæst."
# gui/game/options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Bruges, når man går ind i hovedmenuen, efter spillet er sluttet."
# 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 "## Der findes ingen variabel til at angive overgangen, der bruges, når spillet startes. Brug i stedet en with-sætning efter visning af den første scene."
# gui/game/options.rpy:102
old "## Window management"
new "## Vinduesstyring"
# 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 "## Dette kontrollerer, hvornår dialogvinduet vises. Ved \"show\" vises det altid. Ved \"hide\" vises det kun, når dialog er til stede. Ved \"auto\" skjules vinduet før scene-sætninger og vises igen, når dialog vises."
# 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 "## Efter spillet er startet, kan dette ændres med sætningerne \"window show\", \"window hide\", og \"window auto\"."
# gui/game/options.rpy:115
old "## Transitions used to show and hide the dialogue window"
new "## Overgange brugt til at vise og skjule dialogvinduet"
# gui/game/options.rpy:121
old "## Preference defaults"
new "## Standardpræferencer"
# 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 "## Kontrollerer standardteksthastigheden. Standarden, 0, er uendelig, mens ethvert andet tal er antallet af tegn pr. sekund, der skrives."
# 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 "## Standardforsinkelsen for auto-fremad. Større tal fører til længere ventetider, med 0 til 30 som den gyldige rækkevidde."
# gui/game/options.rpy:135
old "## Save directory"
new "## Gemmefilmappe"
# 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 "## Kontrollerer det platformspecifikke sted, hvorpå Ren'Py placerer gemmefilerne for dette spil. Gemmefilerne bliver placeret i:"
# gui/game/options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
# gui/game/options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
# gui/game/options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
# 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 "## Dette bør generelt ikke ændres, og hvis det bliver, bør det altid være en litteral streng, ikke et udtryk."
# gui/game/options.rpy:152
old "## Icon"
new "## Ikon"
# gui/game/options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Ikonet vises på proceslinjen eller docken."
# gui/game/options.rpy:159
old "## Build configuration"
new "## Fremstillingskonfiguration"
# gui/game/options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Denne sektion kontrollerer, hvordan Ren'Py laver dit projekt om til distributionsfiler."
# 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 "## De følgende funktioner tager filmønstre. I filmønstre skelnes der ikke mellem små og store bogstaver, og de matches mod filstien relativt til grundmappen med og uden et foranstående /. Hvis flere mønstre matcher, bruges det første."
# gui/game/options.rpy:171
old "## In a pattern:"
new "## I et mønster:"
# gui/game/options.rpy:173
old "## / is the directory separator."
new "## / er mappeseparatoren."
# gui/game/options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * matcher alle tegn bortset fra mappeseparatoren."
# gui/game/options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** matcher alle tegn inklusiv mappeseparatoren."
# 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 "## For eksempel matcher \"*.txt\" txt-filer i grundmappen, \"game/**.ogg\" matcher ogg-filer i mappen game eller en hvilken som helst af dens undermapper, og \"**.psd\" matcher psd-filer hvor som helst i projektet."
# gui/game/options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Klassificer filer som None for at ekskludere dem fra de fremstilte distributioner."
# gui/game/options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Klassificer filer som 'archive' for at arkivere dem."
# 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 "## Filer, der matcher dokumentationsmønstre, duplikeres i fremstillingen af en mac-app, så de optræder både i appen og zip-filen."
# 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 "## En Google Play-licensnøgle er påkrævet for at udføre in-app-betalinger. Den kan findes i Google Play-udviklerkonsollen under \"Tjen penge\" > \"Konfiguration af indtægtsgenerering\" > \"Licens\"."
# gui/game/options.rpy:210
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Brugernavnet og projektnavnen forbundet med et itch.io-projekt, adskilt med en skåstreg."
-678
View File
@@ -1,678 +0,0 @@
translate danish strings:
# gui/game/screens.rpy:9
old "## Styles"
new "## Stile"
# gui/game/screens.rpy:81
old "## In-game screens"
new "## Skærme i spillet"
# gui/game/screens.rpy:85
old "## Say screen"
new "## Dialogskærmen"
# 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 "## Dialogskærmen bruges til at vise dialog til spilleren. Den tager to parametre, who (hvem) og what (hvad), som henholdsvis er navnet på den talende figur og teksten, der skal vises. (Parametren who kan være None, hvis intet navn angives.)"
# 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 "## Denne skærm skal oprette et visbart tekstelement med id'et \"what\", da Ren'Py bruger denne til at styre tekstvisning. Den kan også oprette visbare elementer med id'et \"who\" og id'et \"window\" for at anvende stilegenskaber."
# gui/game/screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## https://www.renpy.org/doc/html/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."
new "## Hvis der er et sidebillede, så vis det over teksten. Vis ikke på mobilvarianten - der er ikke plads."
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## Gør navneboksen tilgængelig for stilisering gennem Character-objektet."
# gui/game/screens.rpy:165
old "## Input screen"
new "## Inputskærmen"
# 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 "## Denne skærm bruges til at vise renpy.input. Promptparameteren bruges til at føre en tekstprompt ind."
# gui/game/screens.rpy:170
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Denne skærm skal oprette et visbart inputelement med id'et \"input\" for at acceptere de forskellige inputparametre."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://www.renpy.org/doc/html/screen_special.html#input"
# gui/game/screens.rpy:200
old "## Choice screen"
new "## Valgmulighedsskærmen"
# 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 "## Denne skærm bruges til at vise valg i spillet præsenteret af menu-sætningen. Den ene parameter, items, er en liste af objekter, hver med caption- og action-felter."
# gui/game/screens.rpy:206
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://www.renpy.org/doc/html/screen_special.html#choice"
# gui/game/screens.rpy:234
old "## Quick Menu screen"
new "## Hurtigmenuskærmen"
# gui/game/screens.rpy:236
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Hurtigmenuen vises i spillet for at give let adgang til menuerne uden for spillet."
# gui/game/screens.rpy:241
old "## Ensure this appears on top of other screens."
new "## Sørg for at denne vises oven på andre skærme."
# gui/game/screens.rpy:252
old "Back"
new "Tilbage"
# gui/game/screens.rpy:253
old "History"
new "Historik"
# gui/game/screens.rpy:254
old "Skip"
new "Spring over"
# gui/game/screens.rpy:255
old "Auto"
new "Auto"
# gui/game/screens.rpy:256
old "Save"
new "Gem"
# gui/game/screens.rpy:257
old "Q.Save"
new "H.gem"
# gui/game/screens.rpy:258
old "Q.Load"
new "H.indlæs"
# gui/game/screens.rpy:259
old "Prefs"
new "Præf."
# 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 "## Denne kode sørger for at quick_menu-skærmen vises i spillet, når end spilleren ikke eksplicit har skjult grænsefladen."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
new "## Hoved- og spilmenuskærme"
# gui/game/screens.rpy:283
old "## Navigation screen"
new "## Navigationsskærmen"
# 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 "## Denne skærm er inkluderet i hoved- og spilmenuerne og giver navigation til andre menuer og til at starte spillet."
# gui/game/screens.rpy:300
old "Start"
new "Start"
# gui/game/screens.rpy:308
old "Load"
new "Indlæs"
# gui/game/screens.rpy:310
old "Preferences"
new "Præferencer"
# gui/game/screens.rpy:314
old "End Replay"
new "Slut genafspilning"
# gui/game/screens.rpy:318
old "Main Menu"
new "Hovedmenu"
# gui/game/screens.rpy:320
old "About"
new "Om"
# gui/game/screens.rpy:324
old "## Help isn't necessary or relevant to mobile devices."
new "## Hjælp er ikke nødvendig eller relevant for mobilenheder."
# gui/game/screens.rpy:325
old "Help"
new "Hjælp"
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
new "## Afslut-knappen er forbudt på iOS og unødvendig på Android og web."
# gui/game/screens.rpy:330
old "Quit"
new "Afslut"
# gui/game/screens.rpy:344
old "## Main Menu screen"
new "## Hovedmenuskærmen"
# gui/game/screens.rpy:346
old "## Used to display the main menu when Ren'Py starts."
new "## Bruges til at vise hovedmenuen, når Ren'Py starter."
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
# gui/game/screens.rpy:352
old "## This ensures that any other menu screen is replaced."
new "## Dette sikrer, at andre eventuelle menuskærme erstattes."
# gui/game/screens.rpy:357
old "## This empty frame darkens the main menu."
new "## Denne tomme ramme mørkner hovedmenuen."
# 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 "## Sætningen use inkluderer en anden skærm inde i denne. Det faktiske indhold af hovedmenuen er i navigationsskærmen."
# gui/game/screens.rpy:406
old "## Game Menu screen"
new "## Spilmenuskærmen"
# 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 "## Denne udlægger de grundlæggende fællesstrukturer for en spilmenuskærm. Den kaldes med screen-titlen og viser baggrunden, titlen og navigationen."
# 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 "## Parameteren scroll kan være None eller en af \"viewport\" eller \"vpgrid\". Denne skærm er tiltænkt at blive brugt med et eller flere børn, som transkluderes (placeres) inde i den."
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
new "## Reserver plads til navigationssektionen"
# gui/game/screens.rpy:471
old "Return"
new "Tilbage"
# gui/game/screens.rpy:534
old "## About screen"
new "## Om-skærmen"
# gui/game/screens.rpy:536
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Denne skærm giver kreditering og ophavsretsinformation om spillet og 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."
new "## Der er intet specielt ved denne skærm, og derfor fungerer den også som et eksempel, på hvordan man laver en skræddersyet skærm."
# 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 "## Denne use-sætning inkluderer game_menu-skærmen inde i denne. Barnet vbox inkluderes derefter inde i visningsporten inde i game_menu-skærmen."
# gui/game/screens.rpy:556
old "Version [config.version!t]\n"
new "Version [config.version!t]\n"
# gui/game/screens.rpy:558
old "## gui.about is usually set in options.rpy."
new "## gui.about indstilles sædvanligvis i 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]"
new "Lavet med {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# gui/game/screens.rpy:573
old "## Load and Save screens"
new "## Indlæsnings- og gemmeskærmene"
# gui/game/screens.rpy:575
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."
new "## Disse skærme er ansvarlige for at lade spilleren gemme spillet og indlæse det igen. Siden de har næsten alting tilfælles, implementeres begge i form af en tredje skærm, file_slots."
# 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://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
# gui/game/screens.rpy:598
old "Page {}"
new "Side {}"
# gui/game/screens.rpy:598
old "Automatic saves"
new "Autogemmefiler"
# gui/game/screens.rpy:598
old "Quick saves"
new "Hurtiggemmefiler"
# gui/game/screens.rpy:604
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Dette sikrer, at inputtet får enter-begivenheden før nogen af knapperne gør."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
new "## Sidenavnet, som kan redigeres ved at klikke på en knap."
# gui/game/screens.rpy:620
old "## The grid of file slots."
new "## Filpladsgitteret."
# gui/game/screens.rpy:640
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
# gui/game/screens.rpy:640
old "empty slot"
new "tom plads"
# gui/game/screens.rpy:648
old "## Buttons to access other pages."
new "## Knapper til at tilgå andre sider."
# gui/game/screens.rpy:660
old "<"
new "<"
# gui/game/screens.rpy:663
old "{#auto_page}A"
new "{#auto_page}A"
# gui/game/screens.rpy:666
old "{#quick_page}Q"
new "{#quick_page}H"
# gui/game/screens.rpy:668
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) giver numrene fra 1 til 9."
# gui/game/screens.rpy:672
old ">"
new ">"
# gui/game/screens.rpy:676
old "Upload Sync"
new "Send synkronisering"
# gui/game/screens.rpy:680
old "Download Sync"
new "Hent synkronisering"
# gui/game/screens.rpy:717
old "## Preferences screen"
new "## Præferenceskærmen"
# gui/game/screens.rpy:719
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Præferenceskærmen gør det muligt for spilleren at konfigurere spillet til bedre at passe vedkommende."
# gui/game/screens.rpy:722
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## https://www.renpy.org/doc/html/screen_special.html#preferences"
# gui/game/screens.rpy:739
old "Display"
new "Skærmvisning"
# gui/game/screens.rpy:740
old "Window"
new "Vindue"
# gui/game/screens.rpy:741
old "Fullscreen"
new "Fuldskærm"
# gui/game/screens.rpy:746
old "Unseen Text"
new "Uset tekst"
# gui/game/screens.rpy:747
old "After Choices"
new "Efter valg"
# gui/game/screens.rpy:748
old "Transitions"
new "Overgange"
# gui/game/screens.rpy:750
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Yderligere vboxe af typen \"radio_pref\" eller \"check_pref\" kan tilføjes her for at tilføje yderligere udviklerdefinerede præferencer."
# gui/game/screens.rpy:761
old "Text Speed"
new "Teksthastighed"
# gui/game/screens.rpy:765
old "Auto-Forward Time"
new "Tid for auto-fremad"
# gui/game/screens.rpy:772
old "Music Volume"
new "Musiklydstyrke"
# gui/game/screens.rpy:779
old "Sound Volume"
new "Lydeffektlydstyrke"
# gui/game/screens.rpy:785
old "Test"
new "Test"
# gui/game/screens.rpy:789
old "Voice Volume"
new "Stemmelydstyrke"
# gui/game/screens.rpy:800
old "Mute All"
new "Slå alle fra"
# gui/game/screens.rpy:876
old "## History screen"
new "## Historikskærmen"
# gui/game/screens.rpy:878
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 "## Dette er en skærm, der viser dialoghistorikken til spilleren. Mens der ikke er noget særligt ved denne skærm, har den dog adgang til dialoghistorikken opbevaret i _history_list."
# gui/game/screens.rpy:882
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.org/doc/html/history.html"
# gui/game/screens.rpy:888
old "## Avoid predicting this screen, as it can be very large."
new "## Undgå at forudsige denne skærm, da den kan være meget stor."
# gui/game/screens.rpy:899
old "## This lays things out properly if history_height is None."
new "## Dette udlægger tingene korrekt, hvis history_height er None."
# gui/game/screens.rpy:909
old "## Take the color of the who text from the Character, if set."
new "## Tag farven fra who-teksten fra en Character, hvis den er angivet."
# gui/game/screens.rpy:918
old "The dialogue history is empty."
new "Dialoghistorikken er tom."
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Dette bestemmer, hvilke mærker der tillades at blive vist på historikskærmen."
# gui/game/screens.rpy:966
old "## Help screen"
new "## Hjælpeskærmen"
# gui/game/screens.rpy:968
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 "## En skærm, der giver information om tastatur- og musetildelinger. Den bruger andre skærme (keyboard_help, mouse_help og gamepad_help) til at vise den faktiske hjælp."
# gui/game/screens.rpy:987
old "Keyboard"
new "Tastatur"
# gui/game/screens.rpy:988
old "Mouse"
new "Mus"
# gui/game/screens.rpy:991
old "Gamepad"
new "Spillekontrol"
# gui/game/screens.rpy:1004
old "Enter"
new "Retur"
# gui/game/screens.rpy:1005
old "Advances dialogue and activates the interface."
new "Går videre i dialog og aktiverer grænsefladen."
# gui/game/screens.rpy:1008
old "Space"
new "Mellemrum"
# gui/game/screens.rpy:1009
old "Advances dialogue without selecting choices."
new "Går videre i dialog uden at træffe valg."
# gui/game/screens.rpy:1012
old "Arrow Keys"
new "Piltaster"
# gui/game/screens.rpy:1013
old "Navigate the interface."
new "Navigerer i grænsefladen."
# gui/game/screens.rpy:1016
old "Escape"
new "Escape"
# gui/game/screens.rpy:1017
old "Accesses the game menu."
new "Tilgår spilmenuen."
# gui/game/screens.rpy:1020
old "Ctrl"
new "Ctrl"
# gui/game/screens.rpy:1021
old "Skips dialogue while held down."
new "Springer over dialog ved nedholdning."
# gui/game/screens.rpy:1024
old "Tab"
new "Tab"
# gui/game/screens.rpy:1025
old "Toggles dialogue skipping."
new "Slår dialogoverspringning til/fra."
# gui/game/screens.rpy:1028
old "Page Up"
new "Page Up"
# gui/game/screens.rpy:1029
old "Rolls back to earlier dialogue."
new "Ruller tilbage til tidligere dialog."
# gui/game/screens.rpy:1032
old "Page Down"
new "Page Down"
# gui/game/screens.rpy:1033
old "Rolls forward to later dialogue."
new "Ruller fremad til senere dialog."
# gui/game/screens.rpy:1037
old "Hides the user interface."
new "Skjuler brugerfladen."
# gui/game/screens.rpy:1041
old "Takes a screenshot."
new "Tager et skærmbillede."
# gui/game/screens.rpy:1045
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Slår assisterende {a=https://www.renpy.org/l/voicing}automatisk oplæsning{/a} til/fra."
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
new "Åbner tilgængelighedsmenuen."
# gui/game/screens.rpy:1055
old "Left Click"
new "Venstreklik"
# gui/game/screens.rpy:1059
old "Middle Click"
new "Midterklik"
# gui/game/screens.rpy:1063
old "Right Click"
new "Højreklik"
# gui/game/screens.rpy:1067
old "Mouse Wheel Up\nClick Rollback Side"
new "Musehjul op\nKlik på tilbagerulningsside"
# gui/game/screens.rpy:1071
old "Mouse Wheel Down"
new "Musehjul ned"
# gui/game/screens.rpy:1078
old "Right Trigger\nA/Bottom Button"
new "Højre aftrækker\nA/Nederste knap"
# gui/game/screens.rpy:1082
old "Left Trigger\nLeft Shoulder"
new "Venstre aftrækker\nVenstre skulderknap"
# gui/game/screens.rpy:1086
old "Right Shoulder"
new "Højre skulderknap"
# gui/game/screens.rpy:1091
old "D-Pad, Sticks"
new "Retningsknapper, Pinde"
# gui/game/screens.rpy:1095
old "Start, Guide"
new "Start, Guide"
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "Start, Guide, B/Højre knap"
# gui/game/screens.rpy:1099
old "Y/Top Button"
new "Y/Øverste knap"
# gui/game/screens.rpy:1102
old "Calibrate"
new "Kalibrér"
# gui/game/screens.rpy:1130
old "## Additional screens"
new "## Yderligere skærme"
# gui/game/screens.rpy:1134
old "## Confirm screen"
new "## Bekræftelsesskærmen"
# gui/game/screens.rpy:1136
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Bekræftelsesskærmen kaldes, når Ren'Py vil stille spilleren et ja-nej-spørgsmål."
# gui/game/screens.rpy:1139
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
# gui/game/screens.rpy:1143
old "## Ensure other screens do not get input while this screen is displayed."
new "## Sørg for, at andre skærme ikke får input, mens denne skærm vises."
# gui/game/screens.rpy:1167
old "Yes"
new "Ja"
# gui/game/screens.rpy:1168
old "No"
new "Nej"
# gui/game/screens.rpy:1170
old "## Right-click and escape answer \"no\"."
new "## Højreklik og undgå svaret \"no\"."
# gui/game/screens.rpy:1197
old "## Skip indicator screen"
new "## Overspringningsindikatorskærmen"
# gui/game/screens.rpy:1199
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Skærmen skip_indicator vises for at indikere, at overspringning er i gang."
# gui/game/screens.rpy:1202
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
# gui/game/screens.rpy:1214
old "Skipping"
new "Springer over"
# gui/game/screens.rpy:1221
old "## This transform is used to blink the arrows one after another."
new "## Denne transformation bruges til at blinke med pilene en efter hinanden."
# gui/game/screens.rpy:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Vi skal bruge en skrifttype, der har tegnet BLACK RIGHT-POINTING SMALL TRIANGLE i sig."
# gui/game/screens.rpy:1253
old "## Notify screen"
new "## Notifikationsskærmen"
# gui/game/screens.rpy:1255
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 "## Notifikationsskærmen bruges til at vise spilleren en besked. (For eksempel når spillet hurtiggemmes, eller når et skærmbillede er blevet taget.)"
# gui/game/screens.rpy:1258
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
# gui/game/screens.rpy:1292
old "## NVL screen"
new "## NVL-skærmen"
# gui/game/screens.rpy:1294
old "## This screen is used for NVL-mode dialogue and menus."
new "## Denne skærm bruges til dialog og menuer i NVL-tilstand."
# gui/game/screens.rpy:1296
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
# gui/game/screens.rpy:1307
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Viser dialog i enten et vpgrid eller vboxen."
# gui/game/screens.rpy:1320
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
new "## Viser menuen, hvis angivet. Menuen kan muligvis vises ukorrekt, hvis config.narrator_menu er sat til True."
# gui/game/screens.rpy:1350
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Dette kontrollerer det maksimale antal af NVL-tilstandsindlæg, der kan vises på én gang."
# gui/game/screens.rpy:1410
old "## Bubble screen"
new "## Talebobleskærmen"
# 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 "## Talebobleskærmen bruges til at vise dialog til spilleren ved brug af talebobler. Talebobleskærmen tager imod de samme parametre som dialogskærmen. Den skal oprette et visbart element med id'et \"what\", og den kan oprette visbare elementer med id'erne \"namebox\", \"who\" og \"window\"."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
new "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
# gui/game/screens.rpy:1501
old "## Mobile Variants"
new "## Mobilvarianter"
# gui/game/screens.rpy:1508
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."
new "## Siden en mus muligvis ikke er til stede, erstatter vi hurtigmenuen med en version, der bruger færre og større knapper, der er lettere at ramme."
# gui/game/screens.rpy:1526
old "Menu"
new "Menu"
-33
View File
@@ -1,33 +0,0 @@
# Spillets manuskript puttes i denne fil.
# Erklær figurer brugt af dette spil. Farveargumentet farver
# navnet på figuren.
define e = Character("Eileen")
# Spillet starter her.
label start:
# Vis en baggrund. Der bruges som standard en stedfortræder, men du kan
# tilføje en fil (kaldt enten "bg room.png" eller "bg room.jpg") til
# mappen images for at vise den.
scene bg room
# Dette viser en figursprite. En stedfortræder bruges, men du kan
# erstatte den ved at tilføje en fil kaldt "eileen happy.png" til
# mappen images.
show eileen happy
# Disse viser linjer med dialog.
e "Du har oprettet et nyt Ren'Py-spil."
e "Når du har tilføjet en historie, billeder og musik, kan du sende det ud i verden!"
# Dette afslutter spillet.
return
+2 -9
View File
@@ -1969,8 +1969,8 @@ translate finnish strings:
new "Mukautettu teema"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}."
new "Tietoa mukautetun teeman luomisesta löytyy {a=[skins_url]}Ren'Pyn dokumentaatiosta{/a}."
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
new "Tietoa mukautetun teeman luomisesta löytyy {a=https://www.renpy.org/doc/html/skins.html}Ren'Pyn dokumentaatiosta{/a}."
# game/preferences.rpy:273
old "Install Libraries:"
@@ -2122,10 +2122,3 @@ translate finnish strings:
# Automatic translation.
new "Ennen verkkosovellusten pakkaamista sinun on ladattava RenPyWeb, Ren'Pyn verkkotuki. Haluatko ladata RenPyWebin nyt?"
translate finnish strings:
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
# Automatic translation.
new "Yöllinen versio, joka sisältää korjauksia Ren'Pyn julkaisuversioon."
+2 -2
View File
@@ -497,8 +497,8 @@ translate finnish strings:
new "Hiiren Oikea Painike"
# screens.rpy:1062
old "Mouse Wheel Up"
new "Hiiren Rulla Ylös"
old "Mouse Wheel Up\nClick Rollback Side"
new "Hiiren Rulla Ylös\nKlikkaa Palautussivua"
# screens.rpy:1066
old "Mouse Wheel Down"
+1 -1
View File
@@ -731,7 +731,7 @@
# renpy/common/_developer/developer.rpym:57
old "Show Image Load Log (F4)"
new "Afficher le log de chargement des images (F4)"
new "Montrer le log ne chargement des images (F4)"
# renpy/common/_developer/developer.rpym:60
old "Hide Image Load Log (F4)"
+28 -64
View File
@@ -1108,14 +1108,6 @@
old "Release"
new "Stable"
# game/updater.rpy:64
old "Release (Ren'Py 8, Python 3)"
new "Stable (Ren'Py 8, Python 3)"
# game/updater.rpy:65
old "Release (Ren'Py 7, Python 2)"
new "Stable (Ren'Py 7, Python 2)"
# updater.rpy:97
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
new "{b}Recommandé.{/b} La version de RenPy qui devrait être utilisée pour tous les jeux récemment sortis."
@@ -1124,14 +1116,6 @@
old "Prerelease"
new "Pré-stable"
# game/updater.rpy:69
old "Prerelease (Ren'Py 8, Python 3)"
new "Pré-stable (Ren'Py 8, Python 3)"
# game/updater.rpy:70
old "Prerelease (Ren'Py 7, Python 2)"
new "Pré-stable (Ren'Py 7, Python 2)"
# updater.rpy:108
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
new "Un aperçu de la prochaine version de RenPy qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalités, mais pas pour créer de nouveaux jeux."
@@ -1148,33 +1132,9 @@
old "Nightly"
new "Journalière"
# game/updater.rpy:77
old "Nightly (Ren'Py 8, Python 3)"
new "Journalière (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly (Ren'Py 7, Python 2)"
new "Journalière (Ren'Py 7, Python 2)"
# updater.rpy:132
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
new "La toute dernière version de RenPy, encore en développement. Elle peut contenir les toutes dernières fonctionnalités, ou alors ne pas marcher du tout."
# game/updater.rpy:76
old "Nightly Fix"
new "Journalière Corrective"
# game/updater.rpy:77
old "Nightly Fix (Ren'Py 8, Python 3)"
new "Journalière Corrective (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly Fix (Ren'Py 7, Python 2)"
new "Journalière Corrective (Ren'Py 7, Python 2)"
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
new "Une version journalière qui corrige les bugs de la dernière version stable."
new "Les toutes dernières version de RenPy encore en développement. Vous pouvez alors utiliser les toutes dernières fonctionnalités, mais le logiciel peut également ne pas sexécuter du tout."
# updater.rpy:152
old "An error has occured:"
@@ -1590,7 +1550,7 @@
# game/gui7.rpy:339
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
new "Personnalisé. Le GUI est optimisé pour un ratio de cadre 16:9."
new "Personnalisé. Le GUI est optimié pour un ratio de cadre 16:9."
# game/gui7.rpy:355
old "WIDTH"
@@ -2077,13 +2037,37 @@
new "Thème du lanceur :"
# game/preferences.rpy:254
old "Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}."
new "Plus d'informations sur comment créer un thème personnalisé se trouvent {a=[skins_url]}dans la documentation de Ren'Py{/a}."
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
new "Plus d'informations sur comment créer un thème personnalisé se trouvent {a=https://www.renpy.org/doc/html/skins.html}dans la documentation de Ren'Py{/a}."
# game/preferences.rpy:271
old "Install Libraries:"
new "Installer des bibliothèques :"
# game/updater.rpy:64
old "Release (Ren'Py 8, Python 3)"
new "Stable (Ren'Py 8, Python 3)"
# game/updater.rpy:65
old "Release (Ren'Py 7, Python 2)"
new "Stable (Ren'Py 7, Python 2)"
# game/updater.rpy:69
old "Prerelease (Ren'Py 8, Python 3)"
new "Pré-stable (Ren'Py 8, Python 3)"
# game/updater.rpy:70
old "Prerelease (Ren'Py 7, Python 2)"
new "Pré-stable (Ren'Py 7, Python 2)"
# game/updater.rpy:77
old "Nightly (Ren'Py 8, Python 3)"
new "Journalière (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly (Ren'Py 7, Python 2)"
new "Journalière (Ren'Py 7, Python 2)"
# game/preferences.rpy:327
old "{#in language font}Welcome! Please choose a language"
new "{font=fonts/Roboto-Light.ttf}Bienvenue ! Choisissez une langue{/font}"
@@ -2147,23 +2131,3 @@
# game/androidstrings.rpy:69
old "I found a bundle.keystore file in the rapt directory. Do you want to use this file?"
new "J'ai trouvé un fichier bundle.keystore dans le dossier \"rapt\". Voulez-vous l'utiliser ?"
# game/choose_directory.rpy:72
old "No directory was selected, but one is required."
new "Un chemin d'accès est nécessaire, mais aucun n'a été fourni."
# game/choose_directory.rpy:80
old "The selected directory does not exist."
new "Le dossier sélectionné n'existe pas."
# game/choose_directory.rpy:82
old "The selected directory is not writable."
new "Le dossier sélectionné n'est pas ouvert en écriture."
# game/distribute.rpy:554
old "This may be derived from build.name and config.version or build.version."
new "Cette variable peut être dérivée de build.name, et de config.version ou build.version."
# game/new_project.rpy:66
old "Warning : you are using Ren'Py 7. It is recommended to start new projects using Ren'Py 8 instead."
new "Attention : vous utilisez Ren'Py 7. Il est recommandé d'utiliser Ren'Py 8 pour de nouveaux projets."
+2 -2
View File
@@ -697,8 +697,8 @@
new "## Ceci détermine quels tags peuvent être affichés sur le screen de l'historique."
# gui/game/screens.rpy:1063
old "Mouse Wheel Up"
new "Molette vers le haut"
old "Mouse Wheel Up\nClick Rollback Side"
new "Molette vers le haut\nClic sur le côté du Rollback"
# gui/game/screens.rpy:1078
old "Left Trigger\nLeft Shoulder"
+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"
+2 -1
View File
@@ -134,7 +134,7 @@ translate german strings:
# gui.rpy:96
old "## Dialogue"
# Automatic translation.
new "## Dialog"
new "*Dialog"
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
@@ -576,3 +576,4 @@ translate german strings:
old "## Change the size and spacing of various things."
# Automatic translation.
new "## Ändern Sie die Größe und die Abstände verschiedener Dinge."
File diff suppressed because it is too large Load Diff
+37 -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."
@@ -199,13 +207,20 @@ translate german strings:
# Automatic translation.
new "## ** passt auf alle Zeichen, auch auf das Verzeichnis-Trennzeichen."
# options.rpy:173
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."
# Automatic translation.
new "*.txt\" findet beispielsweise txt-Dateien im Basisverzeichnis, \"game/**.ogg\" findet ogg-Dateien im Spielverzeichnis oder einem seiner Unterverzeichnisse und \"**.psd\" findet psd-Dateien überall im Projekt."
# 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,16 +229,21 @@ 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."
# Automatic translation.
new "## Der mit einem itch.io-Projekt verbundene Benutzername und Projektname, getrennt durch einen Schrägstrich."
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 +261,6 @@ 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\"."
+103 -67
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"
@@ -550,8 +572,9 @@ translate german strings:
new "Rechtsklick"
# screens.rpy:1062
old "Mouse Wheel Up"
new "Mausrad nach oben\nKlicke auf Rollback Seite"
old "Mouse Wheel Up\nClick Rollback Side"
# 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
+2 -9
View File
@@ -2045,9 +2045,9 @@ translate greek strings:
new "Προσαρμοσμένο θέμα"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}."
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
# Automatic translation.
new "Πληροφορίες σχετικά με τη δημιουργία ενός προσαρμοσμένου θέματος μπορείτε να βρείτε στη διεύθυνση {a=[skins_url]}στην Τεκμηρίωση Ren'Py{/a}."
new "Πληροφορίες σχετικά με τη δημιουργία ενός προσαρμοσμένου θέματος μπορείτε να βρείτε στη διεύθυνση {a=https://www.renpy.org/doc/html/skins.html}στην Τεκμηρίωση Ren'Py{/a}."
# game/preferences.rpy:273
old "Install Libraries:"
@@ -2210,10 +2210,3 @@ translate greek strings:
# Automatic translation.
new "Πριν συσκευάσετε εφαρμογές ιστού, θα πρέπει να κατεβάσετε το RenPyWeb, την υποστήριξη ιστού της Ren'Py. Θα θέλατε να κατεβάσετε το RenPyWeb τώρα;"
translate greek strings:
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
# Automatic translation.
new "Ένα νυχτερινό build με διορθώσεις στην έκδοση κυκλοφορίας του Ren'Py."
+1 -1
View File
@@ -583,7 +583,7 @@ translate greek strings:
new "Δεξί κλικ"
# screens.rpy:1062
old "Mouse Wheel Up"
old "Mouse Wheel Up\nClick Rollback Side"
# Automatic translation.
new "Τροχός ποντικιού επάνω\nΚάντε κλικ στο Rollback Side"
+18
View File
@@ -207,6 +207,11 @@ translate indonesian strings:
# Automatic translation.
new "## Tombol Pilihan"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
# Automatic translation.
new "Tombol pilihan ## digunakan dalam menu dalam game."
# gui.rpy:220
old "## File Slot Buttons"
# Automatic translation.
@@ -262,6 +267,11 @@ translate indonesian strings:
# Automatic translation.
new "## Jarak spasi di antara pilihan menu."
# gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
# Automatic translation.
new "Tombol ## di bagian navigasi pada menu utama dan menu permainan."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
# Automatic translation.
@@ -431,6 +441,11 @@ translate indonesian strings:
# Automatic translation.
new "## Ini mengubah ukuran dan spasi berbagai elemen GUI untuk memastikan elemen-elemen tersebut mudah terlihat pada ponsel."
# gui.rpy:413
old "## Font sizes."
# Automatic translation.
new "Ukuran huruf ##."
# gui.rpy:421
old "## Adjust the location of the textbox."
# Automatic translation.
@@ -456,6 +471,8 @@ translate indonesian strings:
# Automatic translation.
new "## Tombol cepat."
translate indonesian strings:
# gui.rpy:17
old "## GUI Configuration Variables"
new "## Variabel konfigurasi GUI"
@@ -515,3 +532,4 @@ translate indonesian strings:
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."
# Automatic translation.
new "## Jumlah maksimum entri mode NVL yang akan ditampilkan Ren'Py. Ketika lebih banyak entri daripada ini akan ditampilkan, entri tertua akan dihapus."
+2 -9
View File
@@ -2026,9 +2026,9 @@ translate indonesian strings:
new "Tema khusus"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}."
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
# Automatic translation.
new "Informasi tentang membuat tema khusus dapat ditemukan di {a=[skins_url]}dalam Dokumentasi Ren'Py{/a}."
new "Informasi tentang membuat tema khusus dapat ditemukan di {a=https://www.renpy.org/doc/html/skins.html}dalam Dokumentasi Ren'Py{/a}."
# game/preferences.rpy:273
old "Install Libraries:"
@@ -2168,10 +2168,3 @@ translate indonesian strings:
# Automatic translation.
new "Gambar dan musik dapat diunduh saat bermain. File 'progressive_download.txt' akan dibuat sehingga Anda dapat mengonfigurasi perilaku ini."
translate indonesian strings:
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
# Automatic translation.
new "Perbaikan versi malam hari untuk versi rilis Ren'Py."
+2 -2
View File
@@ -497,8 +497,8 @@ translate indonesian strings:
new "Klik Kanan"
# screens.rpy:1062
old "Mouse Wheel Up"
new "Roda Mouse Atas"
old "Mouse Wheel Up\nClick Rollback Side"
new "Roda Mouse Atas\nKlik Arah Rollback"
# screens.rpy:1066
old "Mouse Wheel Down"
+201 -89
View File
@@ -183,7 +183,7 @@ translate italian strings:
# 00gui.rpy:232
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Confermi di voler tornare al menu principale?\nQuesto causerà la perdita di progressi non salvati."
new "Confermi di voler tornare al menù principale?\nQuesto causerà la perdita di progressi non salvati."
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
@@ -203,7 +203,7 @@ translate italian strings:
# 00keymap.rpy:250
old "Saved screenshot as %s."
new "Cattura di schermaa salvata come %s."
new "Screenshot salvato come %s."
# 00library.rpy:142
old "Self-voicing disabled."
@@ -211,7 +211,7 @@ translate italian strings:
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Vocalizzazione Appunti abilitata. "
new "Vocalizza Appunti abilitato. "
# 00library.rpy:144
old "Self-voicing enabled. "
@@ -223,7 +223,7 @@ translate italian strings:
# 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}."
new "Questo programma contiene software libero rilasciato sotto svariate licenze, che includono la MIT License e la GNU Lesser General Public License. Una lista completa dei software, inclusi link al codice sorgente completo, si può trovare {a=https://www.renpy.org/l/license}qui{/a}."
new "Questo programma contiene software libero rilasciato sotto una quantità di licenze, che includono la MIT License e la GNU Lesser General Public License. Una lista completa dei software, inclusi link al codice sorgente completo, si può trovare {a=https://www.renpy.org/l/license}qui{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -231,7 +231,7 @@ translate italian strings:
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "L'Assistente Vocale direbbe \"[renpy.display.tts.last]\". Premi 'alt+shift+V' per disabilitare."
new "L'Assistente Vocale tenta di dire \"[renpy.display.tts.last]\". Premi 'alt+shift+V' per disabilitare."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
@@ -243,7 +243,7 @@ translate italian strings:
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
new "L'aggiornamento di Ren'Py non è supportato sui dispositivi mobili."
new "L'aggiornamento di Ren'Py non è supportato nei dispositivi mobili."
# 00updater.rpy:486
old "An error is being simulated."
@@ -333,12 +333,16 @@ translate italian strings:
old "return"
new "chiudi"
translate italian strings:
# renpy/common/00accessibility.rpy:32
old "bar"
new "barra"
new "bar"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "selezionato"
# renpy/common/00accessibility.rpy:34
@@ -347,34 +351,42 @@ translate italian strings:
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "scorrimento orizzontale"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
# Automatic translation.
new "scorrimento verticale"
# renpy/common/00accessibility.rpy:37
old "activate"
new "attiva"
# Automatic translation.
new "attivare"
# renpy/common/00accessibility.rpy:38
old "deactivate"
new "disattiva"
# Automatic translation.
new "disattivare"
# renpy/common/00accessibility.rpy:39
old "increase"
new "aumenta"
# Automatic translation.
new "aumento"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "diminuisci"
# Automatic translation.
new "diminuzione"
# renpy/common/00accessibility.rpy:138
old "Font Override"
new "Forza Famiglia Caratteri"
# Automatic translation.
new "Sovrascrittura dei caratteri"
# renpy/common/00accessibility.rpy:142
old "Default"
# Automatic translation.
new "Predefinito"
# renpy/common/00accessibility.rpy:146
@@ -387,7 +399,8 @@ translate italian strings:
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
new "Scala Dimensioni del Testo"
# Automatic translation.
new "Dimensione del testo in scala"
# renpy/common/00accessibility.rpy:162
old "Reset"
@@ -395,18 +408,22 @@ translate italian strings:
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
new "Scala Interlinea"
# Automatic translation.
new "Interlinea Scala"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
new "Testo ad Alto Contrasto"
# Automatic translation.
new "Testo ad alto contrasto"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
new "Assistente Vocale"
# Automatic translation.
new "Autocelebrazione"
# renpy/common/00accessibility.rpy:197
old "Off"
# Automatic translation.
new "Spento"
# renpy/common/00accessibility.rpy:201
@@ -415,6 +432,7 @@ translate italian strings:
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Appunti"
# renpy/common/00accessibility.rpy:209
@@ -423,63 +441,73 @@ translate italian strings:
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
new "Riduzione Volume dell'Assistente Vocale"
# Automatic translation.
new "Caduta di volume autoavvertita"
# 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 "Le opzioni di questo menu hanno lo scopo di migliorare l'accessibilità. Potrebbero non funzionare con tutti i giochi, e alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Non si tratta di un problema del gioco o del motore. Per ottenere i migliori risultati quando si cambiano i caratteri, cerca di mantenere le dimensioni del testo uguali a quelle originarie."
# Automatic translation.
new "Le opzioni di questo menu hanno lo scopo di migliorare l'accessibilità. Potrebbero non funzionare con tutti i giochi e alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Non si tratta di un problema del gioco o del motore. Per ottenere i migliori risultati quando si cambiano i caratteri, cercare di mantenere le dimensioni del testo uguali a quelle originarie."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
new "Salva nello slot %s: [text]"
# Automatic translation.
new "Salva lo slot %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
new "Carica slot %s: [text]"
# Automatic translation.
new "Caricare lo slot %s: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
# Automatic translation.
new "Elimina slot [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
new "Pagina di file automatici"
# Automatic translation.
new "Pagina di file automatica"
# renpy/common/00action_file.rpy:595
old "File page quick"
new "Pagina di file rapidi"
# Automatic translation.
new "Pagina di file veloce"
# renpy/common/00action_file.rpy:597
old "File page [text]"
# Automatic translation.
new "Pagina di file [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
new "Pagina di file successiva."
# Automatic translation.
new "Pagina successiva."
# renpy/common/00action_file.rpy:868
old "Previous file page."
new "Pagina di file precedente."
# Automatic translation.
new "Pagina precedente."
# renpy/common/00action_file.rpy:944
old "Quick save."
# Automatic translation.
new "Salvataggio rapido."
# renpy/common/00action_file.rpy:963
old "Quick load."
new "Caricamento rapido."
# Automatic translation.
new "Carico rapido."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Lingua [text]"
#
old "Language"
new "Lingua"
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
new "L'interactive director non è abilitato qui."
# Automatic translation.
new "Il direttore interattivo non è abilitato in questo caso."
# renpy/common/00director.rpy:1504
old "⬆"
@@ -491,11 +519,13 @@ translate italian strings:
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Fatto"
# renpy/common/00director.rpy:1584
old "(statement)"
new "(istruzione)"
# Automatic translation.
new "(dichiarazione)"
# renpy/common/00director.rpy:1585
old "(tag)"
@@ -503,39 +533,46 @@ translate italian strings:
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(attributi)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(trasforma)"
new "(transform)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transizioni)"
new "(transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(canale)"
# renpy/common/00director.rpy:1625
old "(filename)"
new "(nome file)"
# Automatic translation.
new "(nome del file)"
# renpy/common/00director.rpy:1654
old "Change"
new "Cambia"
# Automatic translation.
new "Cambiamento"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "Aggiungi"
# renpy/common/00director.rpy:1662
old "Remove"
new "Rimuovi"
# Automatic translation.
new "Rimuovere"
# renpy/common/00director.rpy:1697
old "Statement:"
new "Istruzione:"
# Automatic translation.
new "Dichiarazione:"
# renpy/common/00director.rpy:1718
old "Tag:"
@@ -543,51 +580,63 @@ translate italian strings:
# renpy/common/00director.rpy:1734
old "Attributes:"
# Automatic translation.
new "Attributi:"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
new "Clicca per attivare/disattivare l'attributo, clicca con il tasto destro per attivare/disattivare l'attributo negativo."
# Automatic translation.
new "Fare clic per attivare l'attributo, fare clic con il tasto destro per attivare l'attributo negativo."
# renpy/common/00director.rpy:1757
old "Transforms:"
# Automatic translation.
new "Trasformazioni:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Clicca per impostare la trasformazione, clicca con il tasto destro per aggiungere all'elenco delle trasformazioni."
# Automatic translation.
new "Fare clic per impostare la trasformazione, fare clic con il pulsante destro del mouse per aggiungere all'elenco delle trasformazioni."
# renpy/common/00director.rpy:1780
old "Behind:"
# Automatic translation.
new "Dietro:"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Clicca per impostare, clicca con il tasto destro per aggiungere all'elenco di dietro."
# Automatic translation.
new "Fare clic per impostare, fare clic con il pulsante destro del mouse per aggiungere all'elenco retrostante."
# renpy/common/00director.rpy:1801
old "Transition:"
# Automatic translation.
new "Transizione:"
# renpy/common/00director.rpy:1819
old "Channel:"
# Automatic translation.
new "Canale:"
# renpy/common/00director.rpy:1837
old "Audio Filename:"
# Automatic translation.
new "Nome del file audio:"
# 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 "Questo salvataggio è stato creato su un dispositivo diverso. Un file di salvataggio creato in modo malevolo può danneggiare il tuo computer. Puoi fidarti di chi ha creato questo salvataggio e di tutti coloro che potrebbero aver modificato il file?"
# Automatic translation.
new "Questo salvataggio è stato creato su un dispositivo diverso. I file di salvataggio creati male possono danneggiare il computer. Vi fidate del creatore di questo salvataggio e di tutti coloro che potrebbero aver modificato il file?"
# 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 "Puoi fidarti del dispositivo su cui è stato creato il salvataggio? Dovresti scegliere sì solo se si è l'unico utente del dispositivo."
# Automatic translation.
new "Vi fidate del dispositivo su cui è stato creato il salvataggio? Scegliere sì solo se si è l'unico utente del dispositivo."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
new "Impossibile salvare la cattura di schermata come %s."
# Automatic translation.
new "Impossibile salvare l'immagine come %s."
# renpy/common/00preferences.rpy:271
old "display"
@@ -595,22 +644,27 @@ translate italian strings:
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "transizioni"
# renpy/common/00preferences.rpy:292
old "skip transitions"
# Automatic translation.
new "saltare le transizioni"
# renpy/common/00preferences.rpy:294
old "video sprites"
# Automatic translation.
new "sprite video"
# renpy/common/00preferences.rpy:303
old "show empty window"
new "mostra finestra vuota"
# Automatic translation.
new "mostra la finestra vuota"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "velocità del testo"
# renpy/common/00preferences.rpy:320
@@ -623,79 +677,97 @@ translate italian strings:
# renpy/common/00preferences.rpy:327
old "skip"
new "salta"
# Automatic translation.
new "saltare"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
new "salta [text] non visto"
# Automatic translation.
new "saltare non visto [text]"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
new "salta il testo non visto"
# Automatic translation.
new "saltare il testo non visto"
# renpy/common/00preferences.rpy:337
old "begin skipping"
new "inizia a saltare"
# Automatic translation.
new "iniziare a saltare"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "dopo le scelte"
# renpy/common/00preferences.rpy:348
old "skip after choices"
new "salta dopo le scelte"
# Automatic translation.
new "saltare dopo le scelte"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
new "ritmo di avanzamento automatico"
# Automatic translation.
new "tempo di inoltro automatico"
# renpy/common/00preferences.rpy:364
old "auto-forward"
new "avanzamento automatico"
# Automatic translation.
new "Inoltro automatico"
# renpy/common/00preferences.rpy:371
old "Auto forward"
# Automatic translation.
new "Avanzamento automatico"
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
new "avanzamento automatico dopo il clic"
# Automatic translation.
new "Inoltro automatico dopo il clic"
# renpy/common/00preferences.rpy:383
old "automatic move"
# Automatic translation.
new "spostamento automatico"
# renpy/common/00preferences.rpy:392
old "wait for voice"
new "dai tempo alla voce"
# Automatic translation.
new "attendere la voce"
# renpy/common/00preferences.rpy:401
old "voice sustain"
new "mantenimento della voce"
# Automatic translation.
new "sostegno della voce"
# renpy/common/00preferences.rpy:410
old "self voicing"
new "assistente vocale"
# Automatic translation.
new "autocelebrazione"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
new "riduzione volume dell'assistente vocale"
# Automatic translation.
new "caduta di volume dell'autocelebrazione"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
new "vocalizzazione degli appunti"
# Automatic translation.
new "Votazione degli appunti"
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "debug vocalizzazione"
new "debug voicing"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
new "enfatizza audio"
# Automatic translation.
new "enfatizzare l'audio"
# renpy/common/00preferences.rpy:454
old "rollback side"
new "lato riavvolgimento"
# Automatic translation.
new "lato rollback"
# renpy/common/00preferences.rpy:464
old "gl powersave"
@@ -703,7 +775,8 @@ translate italian strings:
# renpy/common/00preferences.rpy:470
old "gl framerate"
new "gl framerate"
# Automatic translation.
new "framerate gl"
# renpy/common/00preferences.rpy:473
old "gl tearing"
@@ -711,157 +784,196 @@ translate italian strings:
# renpy/common/00preferences.rpy:476
old "font transform"
new "trasformazioni dei caratteri"
# Automatic translation.
new "trasformazione dei caratteri"
# renpy/common/00preferences.rpy:479
old "font size"
new "dimensione dei caratteri"
# Automatic translation.
new "dimensione del carattere"
# renpy/common/00preferences.rpy:487
old "font line spacing"
new "interlinea dei caratteri"
# Automatic translation.
new "interlinea del carattere"
# renpy/common/00preferences.rpy:495
old "system cursor"
# Automatic translation.
new "cursore di sistema"
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "menu del renderer"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
new "menu di accessibilità"
# Automatic translation.
new "menu accessibilità"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "testo ad alto contrasto"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
new "audio con finestra minimizzata"
# Automatic translation.
new "audio quando è ridotto a icona"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
new "audio con finestra non a fuoco"
# Automatic translation.
new "audio quando non viene messo a fuoco"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "precaricamento della cache web"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "voce dopo il menu di gioco"
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "volume principale"
# renpy/common/00preferences.rpy:572
old "music volume"
# Automatic translation.
new "volume della musica"
# renpy/common/00preferences.rpy:573
old "sound volume"
new "volume dei suoni"
# Automatic translation.
new "volume del suono"
# renpy/common/00preferences.rpy:574
old "voice volume"
# Automatic translation.
new "volume della voce"
# renpy/common/00preferences.rpy:575
old "mute main"
new "silenzia il volume principale"
# Automatic translation.
new "silenziamento principale"
# renpy/common/00preferences.rpy:576
old "mute music"
new "silenzia la musica"
# Automatic translation.
new "disattivare la musica"
# renpy/common/00preferences.rpy:577
old "mute sound"
new "silenzia i suoni"
# Automatic translation.
new "Disattivare l'audio"
# renpy/common/00preferences.rpy:578
old "mute voice"
new "silenzia voce"
# Automatic translation.
new "voce muta"
# renpy/common/00preferences.rpy:579
old "mute all"
new "silenzia tutto"
# Automatic translation.
new "disattivare tutti"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
new "Editor di Bolle di Dialogo"
# Automatic translation.
new "Editor di bolle vocali"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
new "(nascondi)"
# Automatic translation.
new "(Nascondi)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
new "Dati sincronizzati scaricati."
# Automatic translation.
new "Sincronizzazione scaricata."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Impossibile connettersi al server Ren'Py Sync."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "Il server Ren'Py Sync non ha risposto in tempo."
# Automatic translation.
new "Il server Ren'Py Sync è scaduto."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
new "Si è verificato un errore sconosciuto durante la connessione al server Ren'Py Sync."
# renpy/common/00sync.rpy:267
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
new "Il server Ren'Py Sync non dispone di una copia di questi dati. L'ID di sincronizzazione potrebbe essere invalido o scaduto."
# Automatic translation.
new "Il server Ren'Py Sync non dispone di una copia di questa sincronizzazione. L'ID della sincronizzazione potrebbe non essere valido o potrebbe essere scaduto."
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Inserire l'ID di sincronizzazione che hai generato.\nNon inserire mai un ID di sincronizzazione che non hai creato tu."
# Automatic translation.
new "Inserire l'ID di sincronizzazione generato.\nNon inserite mai un ID di sincronizzazione che non avete creato voi stessi."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "L'ID di sincronizzazione non è nel formato corretto."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
new "Non è stato possibile decifrare i dati sincronizzati."
# Automatic translation.
new "Non è stato possibile decifrare la sincronizzazione."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
new "I dati sincronizzati appartengono ad un gioco diverso."
# Automatic translation.
new "La sincronizzazione appartiene a un gioco diverso."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
new "I dati sincronizzati contengono un file con un nome non valido."
# Automatic translation.
new "La sincronizzazione contiene un file con un nome non valido."
# 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 "I tuoi salvataggi saranno caricati sul {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}.\nVuoi continuare?"
# Automatic translation.
new "Questo caricherà i salvataggi sul server di sincronizzazione {a=https://sync.renpy.org}Ren'Py{/a}.\nVuoi continuare?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
new "Immettere l'ID di Sincronizzazione"
# Automatic translation.
new "Immettere l'ID di sincronizzazione"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Verrà contattato il {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}."
# Automatic translation.
new "Questo contatterà il server di sincronizzazione {a=https://sync.renpy.org}Ren'Py{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
new "Sincronizzazione completata con Successo"
# Automatic translation.
new "Successo della sincronizzazione"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
new "L'ID di Sincronizzazione è:"
# Automatic translation.
new "L'ID di sincronizzazione è:"
# 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}."
new "Puoi usare questo ID per scaricare il tuo salvataggio su un altro dispositivo.\nQuesta sincronizzazione scadrà tra un'ora.\nRen'Py Sync è supportato dagli {a=https://www.renpy.org/sponsors.html}Sponsor di Ren'Py{/a}."
# Automatic translation.
new "È possibile utilizzare questo ID per scaricare il salvataggio su un altro dispositivo.\nQuesta sincronizzazione scadrà tra un'ora.\nRen'Py Sync è supportato da {a=https://www.renpy.org/sponsors.html}Gli sponsor di Ren'Py{/a}."
# renpy/common/00sync.rpy:631
old "Sync Error"
new "Errore di Sincronizzazione"
# Automatic translation.
new "Errore di sincronizzazione"
+41 -17
View File
@@ -23,7 +23,7 @@ translate italian strings:
# _developer/developer.rpym:51
old "Image Location Picker"
new "Selettore Posizione Immagini"
new "Selettore Locazione Immagini"
# _developer/developer.rpym:53
old "Filename List"
@@ -79,7 +79,7 @@ translate italian strings:
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Ispezionatore dei Displayable"
new "Ispettore dei Displayable"
# _developer/inspector.rpym:61
old "Size"
@@ -99,6 +99,7 @@ translate italian strings:
# _developer/inspector.rpym:139
old "displayable:"
# Automatic translation.
new "visualizzabile:"
# _developer/inspector.rpym:145
@@ -115,7 +116,7 @@ translate italian strings:
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
new "Premi <esc> per uscire dalla console. Scrivi \"help\" per avere aiuto.\n"
new "Premi <esc> per uscire dalla console. Scrivi \"help\" per aiuto.\n"
# 00console.rpy:186
old "Ren'Py script enabled."
@@ -177,32 +178,42 @@ translate italian strings:
old "jump <label>: jumps to label"
new "jump <label>: salta alla label"
translate italian strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
new "Interactive Director (D)"
# Automatic translation.
new "Direttore interattivo (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "Visualizzatore dei dati Persistenti"
# Automatic translation.
new "Visualizzatore persistente"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
new "Mostra il Registro di Caricamento delle Immagini (F4)"
# Automatic translation.
new "Mostra registro caricamento immagini (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
new "Nascondi il Registro di Caricamento delle Immagini (F4)"
# Automatic translation.
new "Nascondere il registro di caricamento dell'immagine (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
new "Attributi dell'Immagine"
# Automatic translation.
new "Attributi dell'immagine"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
new "Editor di Bolle di Dialogo (Shift+B)"
# Automatic translation.
new "Editor di bolle vocali (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (nascosto)"
# renpy/common/_developer/developer.rpym:101
@@ -211,53 +222,66 @@ translate italian strings:
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
new "Nascondi cancellati"
# Automatic translation.
new "Nascondi cancellato"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
new "Mostra cancellati"
# Automatic translation.
new "Mostra cancellata"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
new "Tipi da filtrare: "
# Automatic translation.
new "Tipo da filtrare: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
# Automatic translation.
new "Texture: [tex_count] ([tex_size_mb:.1f] MB)"
# renpy/common/_developer/developer.rpym:511
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# Automatic translation.
new "Cache immagini: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
# Automatic translation.
new "help: mostra questo aiuto\n help <expr>: mostra la firma e la documentazione di <expr>"
# 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 "La guida potrebbe visualizzare funzioni non documentate. Verifica che la funzione o\n classe che vuoi usare utilizzare sia documentata.\n\n"
# Automatic translation.
new "La guida potrebbe visualizzare funzioni non documentate. Verificate che la funzione o\nLa classe che si vuole utilizzare è documentata.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
new "stack: stampa a schermo lo stack di ritorno"
# Automatic translation.
new "stack: stampare lo stack di ritorno"
# 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>: traccia un'espressione python\n watch short: rende breve la rappresentazione delle espressioni tracciate (default)\n watch long: rende la rappresentazione delle espressioni tracciate così come è"
# Automatic translation.
new "watch <expression>: guardare un'espressione python\n watch short: rende breve la rappresentazione delle espressioni tracciate (default)\n watch long: rende la rappresentazione delle espressioni tracciate come è"
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Accorcia la rappresentazione degli oggetti sulla console (impostazione predefinita)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
new "long: Stampa sulla console la rappresentazione completa degli oggetti."
# Automatic translation.
new "long: Stampa la rappresentazione completa degli oggetti sulla console."
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: Abilita l'escape dei simboli unicode nelle stringhe unicode."
# renpy/common/00console.rpy:1040
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
new "unescape: Disabilita l'escape dei simboli unicode nelle stringhe unicode e le stampa a schermo così come sono (impostazione predefinita)."
# Automatic translation.
new "unescape: Disabilita l'escape dei simboli unicode nelle stringhe unicode e le stampa così come sono (impostazione predefinita)."
+48 -24
View File
@@ -11,15 +11,15 @@ translate italian strings:
# 00gltest.rpy:75
old "Force Angle/DirectX Renderer"
new "Forza Renderizzatore Angle/DirectX"
new "Forza Renderer Angle/DirectX"
# 00gltest.rpy:79
old "Force OpenGL Renderer"
new "Forza Renderizzatore OpenGL"
new "Forza Renderer OpenGL"
# 00gltest.rpy:83
old "Force Software Renderer"
new "Forza Renderizzatore Software"
new "Forza Renderer Software"
# 00gltest.rpy:93
old "Enable"
@@ -31,7 +31,7 @@ translate italian strings:
# 00gltest.rpy:141
old "Performance Warning"
new "Avviso sulle Prestazioni"
new "Avviso Prestazioni"
# 00gltest.rpy:146
old "This computer is using software rendering."
@@ -39,7 +39,7 @@ translate italian strings:
# 00gltest.rpy:148
old "This computer is not using shaders."
new "Questo computer non sta usando gli shader."
new "Questo computer non fa uso degli shader."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
@@ -135,7 +135,7 @@ translate italian strings:
# _errorhandling.rpym:538
old "Rollback"
new "Riavvolgi"
new "Regredisci"
# _errorhandling.rpym:540
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
@@ -167,7 +167,7 @@ translate italian strings:
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Apri Errori di Analisi"
new "Apri errori di analisi"
# _errorhandling.rpym:608
old "Opens the errors.txt file in a text editor."
@@ -177,40 +177,51 @@ translate italian strings:
old "Copies the errors.txt file to the clipboard."
new "Copia il file errors.txt negli appunti."
translate italian strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderizzatore"
new "Renderer"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Forza Renderizzatore GL"
# Automatic translation.
new "Forza il renderizzatore GL"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Forza Renderizzatore ANGLE"
# Automatic translation.
new "Rendering angolare della forza"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
new "Forza Renderizzatore GLES"
# Automatic translation.
new "Forza il renderizzatore GLES"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
new "Forza Renderizzatore GL2"
# Automatic translation.
new "Rendering Force GL2"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
new "Forza Renderizzatore ANGLE2"
# Automatic translation.
new "Forza il renderizzatore ANGLE2"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
new "Forza Renderizzatore GLES2"
# Automatic translation.
new "Forza il renderizzatore GLES2"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "Abilita (nessuna lista di blocco)"
# Automatic translation.
new "Abilitazione (nessuna lista di blocco)"
# renpy/common/00gltest.rpy:159
old "Powersave"
# Automatic translation.
new "Risparmio energetico"
# renpy/common/00gltest.rpy:173
@@ -219,6 +230,7 @@ translate italian strings:
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Schermo"
# renpy/common/00gltest.rpy:181
@@ -235,47 +247,58 @@ translate italian strings:
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
new "Questo gioco richiede l'uso di GL2, che non può essere inizializzato."
# Automatic translation.
new "Questo gioco richiede l'uso di GL2 che non può essere inizializzato."
# 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 "Il file {a=edit:1:log.txt}log.txt{/a} può contenere informazioni che possono aiutarti a determinare il problema del tuo computer."
# Automatic translation.
new "Il file {a=edit:1:log.txt}log.txt{/a} può contenere informazioni che aiutano a determinare il problema del computer."
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "Maggiori dettagli su come risolvere questo problema sono disponibili nella documentazione di {a=[url]}{/a}."
# Automatic translation.
new "Maggiori dettagli su come risolvere questo problema sono disponibili nella documentazione di {a=[url]}{/a} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
new "Modifica le opzioni di rendering"
# Automatic translation.
new "Modifica delle opzioni di rendering"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "Premi o sposta l'input '[control!s]'[kind]."
# Automatic translation.
new "Premere o spostare il pulsante '[control!s]'[kind]."
# renpy/common/_errorhandling.rpym:555
old "Open"
new "Apri"
# Automatic translation.
new "Aperto"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
new "Copia BBCode"
# Automatic translation.
new "Copiare il codice BBC"
# renpy/common/_errorhandling.rpym:561
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
# Automatic translation.
new "Copia il file traceback.txt negli appunti come BBcode per forum come https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
new "Copia Markdown"
# Automatic translation.
new "Copiare Markdown"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# Automatic translation.
new "Copia il file traceback.txt negli appunti come Markdown per Discord."
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
new "Ignora l'eccezione, permettendo di continuare l'esecuzione."
# Automatic translation.
new "Ignora l'eccezione, consentendo di continuare."
# renpy/common/_errorhandling.rpym:637
old "Console"
@@ -283,5 +306,6 @@ translate italian strings:
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
# Automatic translation.
new "Apre una console per consentire il debug del problema."
+24 -13
View File
@@ -203,23 +203,23 @@ translate italian strings:
# gui.rpy:220
old "## File Slot Buttons"
new "## Pulsanti Slot File"
new "## Pulsanti Slot"
# gui.rpy:222
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 "## Un pulsante slot è un tipo di pulsante speciale. Contiene un'immagine miniatura, e testo che riporta i contenuti dello slot. Uno slot di salvataggio usa immagini presenti in gui/button, come tutti gli altri tipi di pulsante."
new "## Un pulsante Slot è un tipo di pulsante speciale. Contiene un'immagine miniatura, e testo che riporta i contenuti dello slot. Uno Slot Save usa immagini presenti in gui/button, come tutti gli altri tipi di pulsante."
# gui.rpy:226
old "## The save slot button."
new "## Il pulsante slot salvataggio."
new "## Il pulsante slot."
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## Larghezza e altezza delle miniature usate dallo slot di salvataggio."
new "## Larghezza e altezza delle miniature usate dallo slot."
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## Numero di colonne e righe della griglia degli slot di salvataggio."
new "## Numero di colonne e righe della griglia degli slot."
# gui.rpy:243
old "## Positioning and Spacing"
@@ -327,7 +327,8 @@ translate italian strings:
# gui.rpy:331
old "## History"
new "## Cronologia"
# Automatic translation.
new "## Storia"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
@@ -379,7 +380,7 @@ translate italian strings:
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Questo aumenta la dimensione dei pulsanti rapidi per renderli più facili da toccare su tablet e telefoni."
new "## Questo aumenta la dimensione dei Pulsanti Rapidi per renderli più facili da toccare su tablet e telefoni."
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
@@ -407,7 +408,7 @@ translate italian strings:
# gui.rpy:456
old "## Quick buttons."
new "## Pulsanti rapidi."
new "## Pulsanti Rapidi."
# gui.rpy:17
old "## GUI Configuration Variables"
@@ -433,31 +434,41 @@ translate italian strings:
old "## Mobile devices"
new "## Dispositivi mobili"
translate italian strings:
# gui/game/gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## L'istruzione init offset fa sì che le istruzioni di inizializzazione in questo file vengano eseguite prima di quelle di inizializzazione in qualsiasi altro file."
# Automatic translation.
new "## L'istruzione init offset fa sì che le istruzioni di inizializzazione in questo file vengano eseguite prima delle istruzioni di init in qualsiasi altro file."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Abilita i controlli per proprietà non valide o instabili nelle schermate o nelle trasformazioni"
# Automatic translation.
new "## Abilita i controlli per le proprietà non valide o instabili nelle schermate o nelle trasformazioni"
# gui/game/gui.rpy:278
old "## The position of the main menu text."
# Automatic translation.
new "## La posizione del testo del menu principale."
# gui/game/gui.rpy:287
old "## Generic frames."
# Automatic translation.
new "## Cornici generiche."
# gui/game/gui.rpy:307
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## L'interfaccia grafica predefinita usa solo cursori e barre di scorrimento verticali. Tutte le altre barre sono utilizzate solo in schermate scritte dai creatori di giochi."
# Automatic translation.
new "## L'interfaccia grafica predefinita utilizza solo i cursori e le barre di scorrimento verticali. Tutte le altre barre sono utilizzate solo nelle schermate scritte dal creatore."
# gui/game/gui.rpy:368
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."
new "## Il numero massimo di voci in modalità NVL che Ren'Py visualizzerà. Se ne devono essere visualizzate di più, la voce più vecchia verrà rimossa."
# Automatic translation.
new "## Il numero massimo di voci in modalità NVL che Ren'Py visualizzerà. Se devono essere visualizzate più voci di questa, la voce più vecchia verrà rimossa."
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
new "## Cambia dimensione e spaziatura di vari elementi."
# Automatic translation.
new "## Cambia la dimensione e la spaziatura di vari elementi."
File diff suppressed because it is too large Load Diff
+10 -2
View File
@@ -23,6 +23,7 @@ translate italian strings:
# options.rpy:17
old "Ren'Py 7 Default GUI"
# Automatic translation.
new "GUI predefinita di Ren'Py 7"
# options.rpy:20
@@ -197,19 +198,26 @@ translate italian strings:
old "## Icon"
new "## Icona"
translate italian 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 "## Testo che viene inserito nella schermata informazioni del gioco. Inserisci il testo tra triple virgolette e lascia una riga vuota tra i paragrafi."
# Automatic translation.
new "## Testo che viene inserito nella schermata del gioco. Posizionare il testo tra le virgolette triple e lasciare una riga vuota tra i paragrafi."
# 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 "## Queste tre variabili controllano, tra le altre cose, quali mixer vengono mostrati al giocatore per impostazione predefinita. Impostando una di queste a False, si nasconde il mixer appropriato."
# Automatic translation.
new "## Queste tre variabili controllano, tra le altre cose, quali mixer vengono mostrati al giocatore per impostazione predefinita. Impostando una di queste variabili a False, si nasconde il mixer appropriato."
# gui/game/options.rpy:82
old "## Between screens of the game menu."
# Automatic translation.
new "## Tra le schermate del menu di gioco."
# 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\"."
# Automatic translation.
new "## Per eseguire gli acquisti in-app è necessaria una chiave di licenza Google Play. Si trova nella console per sviluppatori di Google Play, in \"Monetizzazione\" > \"Impostazione monetizzazione\" > \"Licenze\"."
+93 -61
View File
@@ -1,4 +1,5 @@
translate italian strings:
translate italian strings:
# screens.rpy:9
old "## Styles"
@@ -6,19 +7,20 @@
# screens.rpy:87
old "## In-game screens"
new "## Schermate interne al gioco"
new "## Schermi interni al gioco"
# screens.rpy:91
old "## Say screen"
new "## Schermata dei dialoghi"
# Automatic translation.
new "## Dire schermo"
# 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.)"
new "## La schermata dei dialoghi (say) è usata per mostrare dialoghi al giocatore. Richiede due parametri, who e what, che sono il nome del personaggio che parla e il testo da mostrare. (Il parametro who può essere None se non si intende fornire un nome)"
new "## Il say screen è usato per mostrare dialoghi al giocatore. Richiede due parametri, who e what, che sono il nome del personaggio che parla e il testo da mostrare. (Il parametro who può essere None se non si intende fornire un nome)"
# screens.rpy:98
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 "## Questa schermata crea un displayable di testo con id \"what\", che Ren'Py usa per gestire la visualizzazione del testo. Può creare anche displayable con id \"who\" e id \"window\" per applicarvi proprietà di stile."
new "## Questo schermo crea un displayable di testo con id \"what\", che Ren'py usa per gestire la visualizzazione del testo. Può creare anche displayable con id \"who\" e id \"window\" per applicarvi proprietà di stile."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -26,15 +28,16 @@
# screens.rpy:169
old "## Input screen"
new "## Schermata di inserimento"
# Automatic translation.
new "## Schermata di ingresso"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Questa schermata si usa per mostrare renpy.input. Il parametro prompt è usato per fornire un prompt testuale."
new "## Questo schermo si usa per mostrare renpy.input. Il parametro prompt è usato per fornire un prompt testuale."
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Questa schermata deve creare un displayable input con id \"input\" per accettare i vari parametri dell'input."
new "## Questo schermo deve creare un input displayable con id \"input\" per accettare i vari parametri dell'input."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -42,11 +45,12 @@
# screens.rpy:205
old "## Choice screen"
# Automatic translation.
new "## Schermata di scelta"
# 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 "## Questa schermata è usata per mostrare le scelte nel gioco, offerte dal comando 'menu'. Il solo parametro, 'items', è una lista di oggetti, ciascuna coi campi 'caption' e 'action'."
new "## Questo screen è usato per mostrare le scelte nel gioco, offerte dal comando 'menu'. Il solo parametro, 'items', è una lista di oggetti, ciascuna coi campi 'caption' e 'action'."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -58,11 +62,12 @@
# screens.rpy:244
old "## Quick Menu screen"
new "## Schermata del Menu Rapido"
# Automatic translation.
new "## Schermata del menu rapido"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Il menu rapido è mostrato durante il gioco per fornire accesso facile ai menu esterni."
new "## Il Quick Menu è mostrato durante il gioco per fornire accesso rapido ai menu esterni."
# screens.rpy:261
old "Back"
@@ -86,11 +91,11 @@
# screens.rpy:266
old "Q.Save"
new "Salva R."
new "Salva V."
# screens.rpy:267
old "Q.Load"
new "Carica R."
new "Carica V."
# screens.rpy:268
old "Prefs"
@@ -102,11 +107,12 @@
# screens.rpy:291
old "## Navigation screen"
# Automatic translation.
new "## Schermata di navigazione"
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Questa schermata è inclusa nei menu principale e di gioco, e consente di navigare verso altri menu o di iniziare il gioco."
new "## Questo screen è incluso nel main menu e nel game menu, e consente di navigare verso altri menu o di iniziare il gioco."
# screens.rpy:308
old "Start"
@@ -134,7 +140,7 @@
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## L'Aiuto non è necessario o rilevante sui dispositivi mobili."
new "## L'Aiuto non è necessario nei dispositivi mobili."
# screens.rpy:333
old "Help"
@@ -142,7 +148,7 @@
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## Il pulsante esci è vietato su iOS e inutile su Android."
new "## Il pulsante Esci è vietato in iOS e inutile su Android."
# screens.rpy:336
old "Quit"
@@ -150,11 +156,12 @@
# screens.rpy:350
old "## Main Menu screen"
# Automatic translation.
new "## Schermata del menu principale"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Usato per mostrare il menu principale quando si avvia Ren'Py."
new "## Usato per mostrare il main menu quando si avvia Ren'Py."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -162,19 +169,20 @@
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Il comando 'use' include un'altra schermata all'interno della corrente. I contenuti effettivi del menu principale sono nella schermata di navigazione."
new "## Il comando 'use' include un'altro schermo all'interno di questo. I reali contenuti del main menu sono nel navigation screen."
# screens.rpy:413
old "## Game Menu screen"
new "## Schermata del Menu di Gioco"
# Automatic translation.
new "## Schermata del menu di gioco"
# screens.rpy:415
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 "## Costituisce la struttura comune di qualunque schermata del menu di gioco. Viene avviato nella schermata del titolo, e mostra lo sfondo, il titolo e la navigazione."
new "## Costruisce la struttura comune di tutti gli screen game menu. Viene avviato nella schermata del titolo, e mostra lo sfondo, il titolo e la navigazione."
# screens.rpy:418
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 "## Il parametro 'scroll' può essere None, oppure uno fra \"viewport\" o \"vpgrid\". Questa schermata è progettata per essere usata con uno o più figli, che sono trasclusi (piazzati) dentro di esso."
new "## Il parametro 'scroll' può essere None, oppure uno fra \"viewport\" o \"vpgrid\". Questo screen è creato per essere usato con uno o più figli, che sono trasclusi (piazzati) dentro di esso."
# screens.rpy:476
old "Return"
@@ -182,19 +190,20 @@
# screens.rpy:539
old "## About screen"
new "## Schermata delle informazioni"
# Automatic translation.
new "## Informazioni sullo schermo"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Questa schermata visualizza i crediti e le informazioni di copyright sul gioco e su Ren'Py."
new "## Questo screen fornisce i crediti e le informazioni di copyright sul gioco e su 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."
new "## Non c'è niente di speciale in questa schermata, pertanto può servire come esempio su come si crea una schermata personalizzata."
new "## Non c'è niente di speciale in questo screen, pertanto può servire come esempio su come si crea uno screen personalizzato."
# 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."
new "## Questo comando 'use' include la schermata game_menu all'interno della corrente. Il figlio di vbox è quindi incluso nel viewport all'interno dello screen game_menu. \n## ===PER NEOFITI===: in pratica viene prima chiamato il game menu che stabilisce spaziature, sfondo, titoli e una viewport. Questo screen chiama e mostra il navigation screen a sinistra, che a sua volta determina quale screen (opzioni, slot, aiuto...) mostrare nella viewport a destra."
new "## Questo comando 'use' include lo screen game_menu dentro questo screen. Il figlio di vbox è quindi incluso nel viewport all'interno dello screen game_menu. \n## ===PER NEOFITI===: in pratica viene prima chiamato il game menu che stabilisce spaziature, sfondo, titoli e una viewport. Questo screen chiama e mostra il navigation screen a sinistra, che a sua volta determina quale screen (opzioni, slot, aiuto...) mostrare nella viewport a destra."
# screens.rpy:561
old "Version [config.version!t]\n"
@@ -214,7 +223,8 @@
# screens.rpy:582
old "## Load and Save screens"
new "## Schermate di Caricamento e Salvataggio"
# Automatic translation.
new "## Schermate di caricamento e salvataggio"
# 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."
@@ -274,6 +284,7 @@
# screens.rpy:711
old "## Preferences screen"
# Automatic translation.
new "## Schermata delle preferenze"
# screens.rpy:713
@@ -330,19 +341,19 @@
# screens.rpy:767
old "Text Speed"
new "Velocità del Testo"
new "Velocità Testo"
# screens.rpy:771
old "Auto-Forward Time"
new "Ritmo di Avanzamento Automatico"
new "Avanzamento automatico"
# screens.rpy:778
old "Music Volume"
new "Volume della Musica"
new "Volume Musica"
# screens.rpy:785
old "Sound Volume"
new "Volume dei Suoni"
new "Volume Suoni"
# screens.rpy:791
old "Test"
@@ -350,15 +361,16 @@
# screens.rpy:795
old "Voice Volume"
new "Volume della Voce"
new "Volume Voce"
# screens.rpy:806
old "Mute All"
new "Silenzia Tutto"
new "Silenzio"
# screens.rpy:882
old "## History screen"
new "## Schermata della cronologia"
# Automatic translation.
new "## Schermata della storia"
# 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."
@@ -386,6 +398,7 @@
# screens.rpy:965
old "## Help screen"
# Automatic translation.
new "## Schermata di aiuto"
# screens.rpy:967
@@ -410,7 +423,7 @@
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Avanza nei dialoghi e conferma opzioni."
new "Avanza nei dialoghi e conferma scelta."
# screens.rpy:1007
old "Space"
@@ -454,7 +467,8 @@
# screens.rpy:1027
old "Page Up"
new "Pagina Su"
# Automatic translation.
new "Pagina su"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
@@ -462,7 +476,8 @@
# screens.rpy:1031
old "Page Down"
new "Pagina Giù"
# Automatic translation.
new "Pagina giù"
# screens.rpy:1032
old "Rolls forward to later dialogue."
@@ -470,7 +485,7 @@
# screens.rpy:1036
old "Hides the user interface."
new "Nascondi l'interfaccia utente."
new "Nascondi l'interfaccia."
# screens.rpy:1040
old "Takes a screenshot."
@@ -493,12 +508,12 @@
new "Click Destro"
# screens.rpy:1062
old "Mouse Wheel Up"
new "Rotella Su"
old "Mouse Wheel Up\nClick Rollback Side"
new "Rotella Su\nClicca il Lato Riavvolgimento"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Rotella Giù"
new "Rotella Giu"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
@@ -514,7 +529,7 @@
# screens.rpy:1081
old "Right Shoulder"
new "Dorsale Destro"
new "Laterale Destro"
# screens.rpy:1082
old "Roll forward to later dialogue."
@@ -522,11 +537,13 @@
# screens.rpy:1085
old "D-Pad, Sticks"
new "Croce direzionale, Joystick"
# Automatic translation.
new "D-Pad, bastoni"
# screens.rpy:1089
old "Start, Guide"
new "Start, Guida"
# Automatic translation.
new "Avvio, Guida"
# screens.rpy:1090
old "Access the game menu."
@@ -534,7 +551,7 @@
# screens.rpy:1093
old "Y/Top Button"
new "Pulsante Y/Superiore"
new "Y/Pulsante superiore"
# screens.rpy:1096
old "Calibrate"
@@ -542,15 +559,16 @@
# screens.rpy:1124
old "## Additional screens"
new "## Schermate addizionali"
new "## Screen addizionali"
# screens.rpy:1128
old "## Confirm screen"
new "## Schermata di conferma"
# Automatic translation.
new "## Conferma la schermata"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## La schermata di conferma (confirm) è usata quando Ren'Py vuole porre una domanda 'sì o no?' al giocatore."
new "## Lo screen confirm è usato quando Ren'Py vuole porre una domanda 'sì o no?' al giocatore."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -574,11 +592,12 @@
# screens.rpy:1191
old "## Skip indicator screen"
# Automatic translation.
new "## Schermata dell'indicatore di salto"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## La schermata skip_indicator è visualizzata per indicare che è in corso la modalità salto."
new "## Lo screen skip_indicator è impiegato per indicare che è in corso la modalità salto."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -594,11 +613,12 @@
# screens.rpy:1247
old "## Notify screen"
# Automatic translation.
new "## Schermata di notifica"
# 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.)"
new "## La schermata di notifica (notify) è usata per mostrare una notifica al giocatore (per esempio, quando si salva rapidamente o si cattura una schermata)."
new "## Lo screen notify è usato per mostrare una notifica al giocatore (per esempio, quando si salva rapidamente o si cattura una schermata)."
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -606,11 +626,12 @@
# screens.rpy:1286
old "## NVL screen"
new "## Schermata NVL"
# Automatic translation.
new "## Schermo NVL"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## Questa schermata è usata per dialoghi e menu in modalità NVL."
new "## Questo screen è usato per dialoghi e menu in modalità NVL."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -630,7 +651,7 @@
# screens.rpy:1406
old "## Mobile Variants"
new "## Varianti Mobili"
new "## Varianti Mobili"
# 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."
@@ -674,11 +695,14 @@
# screens.rpy:1079
old "Left Trigger\nLeft Shoulder"
new "Grilletto Sinistro\nDorsale Sinistro"
new "Grilletto Sinistro\nLaterale Sinistro"
translate italian strings:
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## Rendi la casella dei nomi disponibile per lo styling attraverso l'oggetto Character."
# Automatic translation.
new "## Rendere la casella dei nomi disponibile per lo styling attraverso l'oggetto Character."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
@@ -690,7 +714,8 @@
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
new "## Il pulsante esci è vietato su iOS e inutile su Android e sul Web."
# Automatic translation.
new "## Il pulsante di abbandono è vietato su iOS e non è necessario su Android e sul Web."
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -698,19 +723,23 @@
# gui/game/screens.rpy:676
old "Upload Sync"
new "Carica dati per la Sincronizzazione"
# Automatic translation.
new "Sincronizzazione del caricamento"
# gui/game/screens.rpy:680
old "Download Sync"
new "Scarica dati Sincronizzati"
# Automatic translation.
new "Scarica Sync"
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
# Automatic translation.
new "## Determina quali tag possono essere visualizzati nella schermata della cronologia."
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
new "Apri il menu di accessibilità."
# Automatic translation.
new "Apre il menu di accessibilità."
# gui/game/screens.rpy:1139
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -718,7 +747,8 @@
# gui/game/screens.rpy:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Bisogna usare un carattere che contenga il glifo BLACK RIGHT-POINTING SMALL TRIANGLE."
# Automatic translation.
new "## Dobbiamo usare un carattere che contenga il glifo NERO TRIANGOLO PICCOLO IN PUNTA DESTRA."
# gui/game/screens.rpy:1296
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -726,11 +756,13 @@
# gui/game/screens.rpy:1410
old "## Bubble screen"
new "## Schermata a bolle"
# Automatic translation.
new "## Schermo a bolle"
# 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 "## La schermata a bolle (bubble) è usata per visualizzare il dialogo al giocatore quando si usano le bolle di dialogo. La schermata a bolle prende gli stessi parametri della schermata say, deve creare un visualizzabile con l'id \"what\" e può creare visualizzabili con gli id \"namebox\", \"who\" e \"window\"."
# Automatic translation.
new "## La schermata bubble è usata per visualizzare il dialogo al giocatore quando si usano le bolle vocali. Lo schermo a bolle prende gli stessi parametri dello schermo say, deve creare un visualizzabile con l'id \"what\" e può creare visualizzabili con gli id \"namebox\", \"who\" e \"window\"."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
+3 -2
View File
@@ -13,6 +13,7 @@ label start:
# aggiungere un file (chiamato "bg room.png" oppure "bg room.jpg")
# alla directory 'images' per cambiarla.
scene bg room
# Mostra lo sprite di un personaggio.
@@ -25,11 +26,11 @@ label start:
"Funziona davvero!"
e "Hai creato un nuovo gioco Ren'Py."
e "Hai creato un nuovo gioco Ren'py."
e "Quando aggiungerai una storia, immagini e musica, potrai distribuirlo nel mondo!"
# Questo termina il gioco.
# Questo finisce il gioco.
return
+2 -102
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"
@@ -920,103 +920,3 @@ translate japanese strings:
old "Sync Error"
new "同期エラー"
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "director.transform を設定して transform を追加できます。"
# 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/00preferences.rpy:573
old "restore window position"
new "ウィンドウ位置を復元する"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(保持されている吹き出しをクリアします)"
# renpy/common/00updater.rpy:504
old "No update methods found."
new "update メソッドが見付かりません"
# renpy/common/00updater.rpy:551
old "Could not download file list: "
new "ファイルリストがダウンロードできません : "
# renpy/common/00updater.rpy:554
old "File list digest does not match."
new "File listの要約がマッチしません"
# 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 occured 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 "リトライ"
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "アクセシビリティーメニュー。上下矢印キーをナビゲーションに使用し、ボタンとバーのアクティブ化にはエンターを使用します"
# renpy/common/00accessibility.rpy:197
old "Self-voicing support is limited when using a touch screen."
new "セルフボイシングのサポートはタッチスクリーン使用時に限定されます"
# 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:595
old "reset"
new "リセット"
+3 -39
View File
@@ -201,6 +201,9 @@ translate japanese strings:
old "stack: print the return stack"
new "stack: リターンスタックの出力"
translate japanese strings:
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "永続データビューア"
@@ -217,42 +220,3 @@ translate japanese strings:
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"
# 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 "Layer [l]:"
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (hidden)"
# 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 "エディターで開く"
+2 -5
View File
@@ -458,11 +458,8 @@ translate japanese strings:
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
translate japanese strings:
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## スクリーンやトランスフォームのプロパティが無効または不安定であることをチェックできるようにする。"
# gui/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## history screen の追加の行間を設定します。"
+2 -148
View File
@@ -2032,8 +2032,8 @@
new "ランチャーテーマ:"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}."
new "カスタムテーマ作成情報は {a=[skins_url]}Ren'Pyのドキュメント{/a}で読めます。"
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
new "カスタムテーマ作成情報は {a=https://www.renpy.org/doc/html/skins.html}Ren'Pyのドキュメント{/a}で読めます。"
# game/preferences.rpy:273
old "Install Libraries:"
@@ -2153,149 +2153,3 @@ translate japanese strings:
old "Creating package..."
new "パッケージの作成..."
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
# Automatic translation.
new "Ren'Py のリリース版に対する修正を行ったナイトリービルドです。"
# game/androidstrings.rpy:46
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}https://adoptium.net/{/a}\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Please install JDK [JDK_REQUIREMENT], and add it to your PATH.\n\nWithout a working JDK, I can't continue."
new "javac を使用してテストファイルをコンパイルできませんでした。Java Development Kitをまだインストールしていないならば:\n\n{a=https://adoptium.net}https://adoptium.net/{/a}からダウンロードしてください。\n\nJDKはJREとは異なるため、JDKがなくてもJavaを使用できる可能性があります。JDK [JDK_REQUIREMENT] をインストールしてパスに追加してください。\n\n動作するJDKなしでは続行できません。"
# game/androidstrings.rpy:47
old "The version of Java on your computer does not appear to be JDK [JDK_REQUIREMENT], which is required to build Android apps. If you need to install a newer JDK, you can download it from:\n\n{a=https://adoptium.net/}https://adoptium.net/{/a}, and add it to your PATH.\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
new "コンピューター上のJavaのバージョンはAndroidアプリをビルドするのに必要なJDK [JDK_REQUIREMENT] からはわかりません。より新しいJDKをインストール必要があれば次からダウンロードしてパスに追加してください。:\n\n{a=https://adoptium.net/}https://adoptium.net/{/a}\n\n JAVA_HOME 環境変数を設定して異なるバージョンのJavaの使用もできます。"
# game/choose_directory.rpy:72
old "No directory was selected, but one is required."
new "ディレクトリーを選択してください。"
# game/choose_directory.rpy:80
old "The selected directory does not exist."
new "選択されたディレクトリーがありません。"
# game/choose_directory.rpy:82
old "The selected directory is not writable."
new "選択されたディレクトリーは書き込みできません。"
# game/distribute.rpy:535
old "Building distributions failed:\n\nThe project is the Ren'Py Tutorial, which can't be distributed outside of Ren'Py. Consider using The Question as a test project."
new "配布物のビルドに失敗しました:\n\nプロジェクトは Tutorial ですが、これは Ren'Py 外に出せません。テストプロジェクトには The Question を使用してください。"
# game/distribute.rpy:562
old "This may be derived from build.name and config.version or build.version."
new "これは build.name と config.version または build.version から所得されます。"
# game/distribute.rpy:1620
old "Finishing the [variant] [format] package."
new "[variant] [format] のパッケージを完了しました。"
# game/editor.rpy:185
old "Atom is deprecated and its bugs are known for corrupting games, using another editor is recommended."
new "Atomは非推奨であり、そのバグはゲームを破壊することで知られているので他のエディタを使うことをお勧めします。"
# game/editor.rpy:214
old "JEdit is deprecated, using another editor is recommended."
new "JEditは非推奨です。他のエディタを使うことをお勧めします。"
# game/editor.rpy:607
old "The Atom text editor is no longer supported by its developers. We suggest switching to Visual Studio Code or another editor."
new "Atom はもう開発者自身にサポートされていません。Visual Studio Code や他のエディターを進めます。"
# game/editor.rpy:607
old "Select editor now."
new "今エディターを選択する"
# game/editor.rpy:607
old "Ignore until next launch."
new "次の起動まで無視する"
# game/editor.rpy:607
old "Do not ask again."
new "次回は尋ねません"
# game/new_project.rpy:38
old "Warning : you are using Ren'Py 7. It is recommended to start new projects using Ren'Py 8 instead."
new "警告 : Ren'Py 7 を使用しています。新しいプロジェクトの開始には代りに Ren'Py 8 の使用が推奨されています。"
# game/new_project.rpy:49
old "Please select a template project to use."
new "使用するテンプレートプロジェクトを選択してください。"
# game/new_project.rpy:49
old "Do not use a template project."
new "テンプレートプロジェクトを使用しない"
# game/preferences.rpy:94
old "Lint"
new "Lint"
# game/preferences.rpy:233
old "Game Options:"
new "ゲームオプション"
# game/preferences.rpy:240
old "Skip splashscreen"
new "スプラッシュスクリーンをスキップします"
# game/preferences.rpy:258
old "Restore window position"
new "ウィンドウ位置を復元します"
# game/preferences.rpy:262
old "Prefer RPU updates"
new "RPU アップデートを優先します"
# game/preferences.rpy:332
old "Open projects.txt"
new "projects.txt を開きます"
# game/preferences.rpy:356
old "Lint toggles:"
new "Lint トグル"
# game/preferences.rpy:360
old "Check for orphan/obsolete translations"
new "未使用の翻訳の確認"
# game/preferences.rpy:363
old "Check parameters shadowing reserved names"
new "予約された名前を shadowing するパラメーターを確認します"
# game/preferences.rpy:366
old "Print block, word, and character counts by speaking character."
new "ブロック、単語、話をするキャラクターの数を出力します"
# game/preferences.rpy:369
old "Unclosed text tags"
new "閉じられていないテキストタグ"
# game/preferences.rpy:372
old "Show all unreachable blocks and orphaned translations."
new "すべての到達できないブロックと対応するもののない翻訳を表示します"
# game/project.rpy:776
old "Splashscreen skipped in launcher preferences."
new "スプラッシュスクリーンはランチャー設定でスキップされています"
# game/updater.rpy:76
old "Nightly Fix"
new "Nightly Fix"
# game/updater.rpy:77
old "Nightly Fix (Ren'Py 8, Python 3)"
new "Nightly Fix (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly Fix (Ren'Py 7, Python 2)"
new "Nightly Fix (Ren'Py 7, Python 2)"
# game/install.rpy:186
old "The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc."
new "{a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} は Live2D モデルの表示サポートを追加します。CubismSdkForNative-{i}version{/i}.zip を Ren'Py SDK ディレクトリーに配置して、インストールをクリックしてください。Live2Dと共にゲームを配布するには Live2D, Inc からあなたがライセンスを所得する必要がります"
# game/preferences.rpy:258
old "Prefer the web documentation"
new "Web上のドキュメントを優先する"
+8 -11
View File
@@ -346,15 +346,15 @@ translate japanese strings:
# screens.rpy:752
old "Unseen Text"
new "未読テキスト"
new "未読テキストもスキップ"
# screens.rpy:753
old "After Choices"
new "選択肢後"
new "選択肢後もスキップ継続"
# screens.rpy:754
old "Transitions"
new "トランジション"
new "トランジションをスキップ"
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
@@ -525,8 +525,8 @@ translate japanese strings:
new "右クリック"
# screens.rpy:1062
old "Mouse Wheel Up"
new "マウスホイール上回転"
old "Mouse Wheel Up\nClick Rollback Side"
new "マウスホイール上回転\n画面サイドをタッチ"
# screens.rpy:1066
old "Mouse Wheel Down"
@@ -697,13 +697,15 @@ 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."
new "## 指定されれば選択肢を表示します。config.narrator_menuがTrueだと、メニューは正常に表示されないでしょう。"
translate japanese strings:
# gui/game/screens.rpy:676
old "Upload Sync"
new "同期のアップロード"
@@ -723,8 +725,3 @@ translate japanese strings:
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
new "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "スタート、ガイド、 B / Right ボタン"
+5 -10
View File
@@ -2046,8 +2046,9 @@ translate korean strings:
new "사용자 지정 테마"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=[skins_url]}in the Ren'Py Documentation{/a}."
new "사용자 지정 테마를 만드는 방법에 대한 정보는 {a=[skins_url]}Ren'Py 문서{/a} 에서 확인할 수 있습니다."
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
# Automatic translation.
new "사용자 지정 테마를 만드는 방법에 대한 정보는 Ren'Py 문서{/a} 에서 {a=https://www.renpy.org/doc/html/skins.html}확인할 수 있습니다."
# game/preferences.rpy:273
old "Install Libraries:"
@@ -2067,12 +2068,12 @@ translate korean strings:
# game/preferences.rpy:338
old "{#in language font}Welcome! Please choose a language"
# Automatic translation.
new "{font=SourceHanSansLite.ttf}환영합니다! 언어를 선택해 주세요."
new "{#in language font}환영합니다! 언어를 선택해 주세요."
# game/preferences.rpy:373
old "{#in language font}Start using Ren'Py in [lang_name]"
# Automatic translation.
new "{font=SourceHanSansLite.ttf}다음에서 Ren'Py 사용 시작 [lang_name]"
new "{#in language font}다음에서 Ren'Py 사용 시작 [lang_name]"
# game/project.rpy:46
old "Lint checks your game for potential mistakes, and gives you statistics."
@@ -2149,9 +2150,3 @@ translate korean strings:
# Automatic translation.
new "재생 중에 이미지와 음악을 다운로드할 수 있습니다. 이 동작을 구성할 수 있도록 'progressive_download.txt' 파일이 생성됩니다."
translate korean strings:
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
# Automatic translation.
new "Ren'Py 릴리스 버전에 대한 수정 사항이 포함된 야간 빌드입니다."
+6
View File
@@ -207,7 +207,13 @@ translate korean strings:
# Automatic translation.
new "## 이 세 가지 변수는 무엇보다도 플레이어에게 기본적으로 표시되는 믹서를 제어합니다. 이 중 하나를 False로 설정하면 해당 믹서가 숨겨집니다."
# gui/game/options.rpy:152
old "## Icon"
# Automatic translation.
new "아이콘 ##"
# 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\"."
# Automatic translation.
new "## 인앱 구매를 수행하려면 Google Play 라이선스 키가 필요합니다. Google Play 개발자 콘솔의 '수익 창출' > '수익 창출 설정' > '라이선스'에서 찾을 수 있습니다."
+7 -2
View File
@@ -517,8 +517,8 @@
new "우클릭"
# screens.rpy:1065
old "Mouse Wheel Up"
new "휠 위로"
old "Mouse Wheel Up\nClick Rollback Side"
new "휠 위로\n롤백 클릭"
# screens.rpy:1069
old "Mouse Wheel Down"
@@ -704,6 +704,11 @@ translate korean strings:
# Automatic translation.
new "## 주어진 경우 메뉴를 표시합니다. config.narrator_menu가 True로 설정된 경우 메뉴가 잘못 표시될 수 있습니다."
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
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."
# Automatic translation.
+2 -2
View File
@@ -533,8 +533,8 @@
new "Klik Kanan"
# screens.rpy:1063
old "Mouse Wheel Up"
new "Tatal Ke Atas"
old "Mouse Wheel Up\nClick Rollback Side"
new "Tatal Ke Atas\nKlik Sisi Undur"
# screens.rpy:1067
old "Mouse Wheel Down"
+161 -253
View File
@@ -49,75 +49,71 @@ translate piglatin strings:
old "decrease"
new "ecreaseday"
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Ccessibilityaay Enumay. Seuay upay anday ownday arrowsay otay avigatenay, anday enteray otay activateay uttonsbay anday arsbay."
# renpy/common/00accessibility.rpy:139
# renpy/common/00accessibility.rpy:138
old "Font Override"
new "Ontfay Verrideoay"
# renpy/common/00accessibility.rpy:143
# renpy/common/00accessibility.rpy:142
old "Default"
new "Efaultday"
# renpy/common/00accessibility.rpy:147
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "Ejavuday Anssay"
# renpy/common/00accessibility.rpy:151
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Pendyslexicoay"
# renpy/common/00accessibility.rpy:157
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
new "Exttay Izesay Calingsay"
# renpy/common/00accessibility.rpy:163
# renpy/common/00accessibility.rpy:162
old "Reset"
new "Esetray"
# renpy/common/00accessibility.rpy:169
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
new "Inelay Pacingsay Calingsay"
# renpy/common/00accessibility.rpy:181
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
new "Ighhay Ontrastcay Exttay"
# renpy/common/00accessibility.rpy:183
# renpy/common/00accessibility.rpy:182
old "Enable"
new "Nableeay"
# renpy/common/00accessibility.rpy:187
# renpy/common/00accessibility.rpy:186
old "Disable"
new "Isableday"
# renpy/common/00accessibility.rpy:194
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
new "Elfsay-Oicingvay"
# renpy/common/00accessibility.rpy:198
# renpy/common/00accessibility.rpy:197
old "Off"
new "Ffoay"
# renpy/common/00accessibility.rpy:202
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
new "Exttay-otay-peechsay"
# renpy/common/00accessibility.rpy:206
# renpy/common/00accessibility.rpy:205
old "Clipboard"
new "Lipboardcay"
# renpy/common/00accessibility.rpy:210
# renpy/common/00accessibility.rpy:209
old "Debug"
new "Ebugday"
# renpy/common/00accessibility.rpy:224
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
new "Elfsay-Oicingvay Olumevay Ropday"
# renpy/common/00accessibility.rpy:235
# 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 "Hetay optionsay onay histay enumay areay intendeday otay improveay accessibilityay. Heytay aymay otnay orkway ithway allay amesgay, anday omesay ombinationscay ofay optionsay aymay enderray hetay amegay unplayableay. Histay isay otnay anay issueay ithway hetay amegay oray engineay. Orfay hetay estbay esultsray henway angingchay ontsfay, ytray otay eepkay hetay exttay izesay hetay amesay asay itay originallyay asway."
@@ -277,502 +273,446 @@ translate piglatin strings:
old "%b %d, %H:%M"
new "%bay %day, %Hay:%May"
# renpy/common/00action_file.rpy:395
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
new "Avesay otslay %say: [text]"
# renpy/common/00action_file.rpy:480
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
new "Oadlay otslay %say: [text]"
# renpy/common/00action_file.rpy:533
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
new "Eleteday otslay [text]"
# renpy/common/00action_file.rpy:612
# renpy/common/00action_file.rpy:593
old "File page auto"
new "Ilefay agepay autoay"
# renpy/common/00action_file.rpy:614
# renpy/common/00action_file.rpy:595
old "File page quick"
new "Ilefay agepay uickqay"
# renpy/common/00action_file.rpy:616
# renpy/common/00action_file.rpy:597
old "File page [text]"
new "Ilefay agepay [text]"
# renpy/common/00action_file.rpy:815
# renpy/common/00action_file.rpy:796
old "Next file page."
new "Extnay ilefay agepay."
# renpy/common/00action_file.rpy:887
# renpy/common/00action_file.rpy:868
old "Previous file page."
new "Reviouspay ilefay agepay."
# renpy/common/00action_file.rpy:948
# renpy/common/00action_file.rpy:929
old "Quick save complete."
new "Uickqay avesay ompletecay."
# renpy/common/00action_file.rpy:963
# renpy/common/00action_file.rpy:944
old "Quick save."
new "Uickqay avesay."
# renpy/common/00action_file.rpy:982
# renpy/common/00action_file.rpy:963
old "Quick load."
new "Uickqay oadlay."
# renpy/common/00action_other.rpy:383
# renpy/common/00action_other.rpy:381
old "Language [text]"
new "Anguagelay [text]"
# renpy/common/00action_other.rpy:746
# renpy/common/00action_other.rpy:721
old "Open [text] directory."
new "Penoay [text] irectoryday."
# renpy/common/00director.rpy:712
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
new "Hetay interactiveay irectorday isay otnay enableday erehay."
# renpy/common/00director.rpy:1511
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1517
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1581
# renpy/common/00director.rpy:1574
old "Done"
new "Oneday"
# renpy/common/00director.rpy:1591
# renpy/common/00director.rpy:1584
old "(statement)"
new "(atementstay)"
# renpy/common/00director.rpy:1592
# renpy/common/00director.rpy:1585
old "(tag)"
new "(agtay)"
# renpy/common/00director.rpy:1593
# renpy/common/00director.rpy:1586
old "(attributes)"
new "(attributesay)"
# renpy/common/00director.rpy:1594
# renpy/common/00director.rpy:1587
old "(transform)"
new "(ansformtray)"
# renpy/common/00director.rpy:1619
# renpy/common/00director.rpy:1612
old "(transition)"
new "(ansitiontray)"
# renpy/common/00director.rpy:1631
# renpy/common/00director.rpy:1624
old "(channel)"
new "(annelchay)"
# renpy/common/00director.rpy:1632
# renpy/common/00director.rpy:1625
old "(filename)"
new "(ilenamefay)"
# renpy/common/00director.rpy:1661
# renpy/common/00director.rpy:1654
old "Change"
new "Hangecay"
# renpy/common/00director.rpy:1663
# renpy/common/00director.rpy:1656
old "Add"
new "Ddaay"
# renpy/common/00director.rpy:1666
# renpy/common/00director.rpy:1659
old "Cancel"
new "Ancelcay"
# renpy/common/00director.rpy:1669
# renpy/common/00director.rpy:1662
old "Remove"
new "Emoveray"
# renpy/common/00director.rpy:1704
# renpy/common/00director.rpy:1697
old "Statement:"
new "Tatementsay:"
# renpy/common/00director.rpy:1725
# renpy/common/00director.rpy:1718
old "Tag:"
new "Agtay:"
# renpy/common/00director.rpy:1741
# renpy/common/00director.rpy:1734
old "Attributes:"
new "Ttributesaay:"
# renpy/common/00director.rpy:1752
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
new "Lickcay otay oggletay attributeay, ightray ickclay otay oggletay egativenay attributeay."
# renpy/common/00director.rpy:1764
# renpy/common/00director.rpy:1757
old "Transforms:"
new "Ransformstay:"
# renpy/common/00director.rpy:1775
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Lickcay otay etsay ansformtray, ightray ickclay otay adday otay ansformtray istlay."
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "Ustomizecay irectorday.ansformstray otay adday oremay ansformstray."
# renpy/common/00director.rpy:1788
# renpy/common/00director.rpy:1780
old "Behind:"
new "Ehindbay:"
# renpy/common/00director.rpy:1799
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Lickcay otay etsay, ightray ickclay otay adday otay ehindbay istlay."
# renpy/common/00director.rpy:1811
# renpy/common/00director.rpy:1801
old "Transition:"
new "Ransitiontay:"
# renpy/common/00director.rpy:1821
old "Click to set."
new "Lickcay otay etsay."
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "Ustomizecay irectorday.ansitionstray otay adday oremay ansitionstray."
# renpy/common/00director.rpy:1834
# renpy/common/00director.rpy:1819
old "Channel:"
new "Hannelcay:"
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "Ustomizecay irectorday.audio_channelsay otay adday oremay annelschay."
# renpy/common/00director.rpy:1857
# renpy/common/00director.rpy:1837
old "Audio Filename:"
new "Udioaay Ilenamefay:"
# renpy/common/00gui.rpy:448
# renpy/common/00gui.rpy:446
old "Are you sure?"
new "Reaay ouyay uresay?"
# renpy/common/00gui.rpy:449
# renpy/common/00gui.rpy:447
old "Are you sure you want to delete this save?"
new "Reaay ouyay uresay ouyay antway otay eleteday histay avesay?"
# renpy/common/00gui.rpy:450
# renpy/common/00gui.rpy:448
old "Are you sure you want to overwrite your save?"
new "Reaay ouyay uresay ouyay antway otay overwriteay ouryay avesay?"
# renpy/common/00gui.rpy:451
# renpy/common/00gui.rpy:449
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Oadinglay illway oselay unsaveday rogresspay.\nReaay ouyay uresay ouyay antway otay oday histay?"
# renpy/common/00gui.rpy:452
# renpy/common/00gui.rpy:450
old "Are you sure you want to quit?"
new "Reaay ouyay uresay ouyay antway otay uitqay?"
# renpy/common/00gui.rpy:453
# renpy/common/00gui.rpy:451
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Reaay ouyay uresay ouyay antway otay eturnray otay hetay ainmay enumay?\nHistay illway oselay unsaveday rogresspay."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "Reaay ouyay uresay ouyay antway otay ontinuecay hereway ouyay eftlay offay?"
# renpy/common/00gui.rpy:455
# renpy/common/00gui.rpy:452
old "Are you sure you want to end the replay?"
new "Reaay ouyay uresay ouyay antway otay enday hetay eplayray?"
# renpy/common/00gui.rpy:456
# renpy/common/00gui.rpy:453
old "Are you sure you want to begin skipping?"
new "Reaay ouyay uresay ouyay antway otay eginbay kippingsay?"
# renpy/common/00gui.rpy:457
# renpy/common/00gui.rpy:454
old "Are you sure you want to skip to the next choice?"
new "Reaay ouyay uresay ouyay antway otay kipsay otay hetay extnay oicechay?"
# renpy/common/00gui.rpy:458
# renpy/common/00gui.rpy:455
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Reaay ouyay uresay ouyay antway otay kipsay unseenay ialogueday otay hetay extnay oicechay?"
# renpy/common/00gui.rpy:459
# 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 "Histay avesay asway reatedcay onay aay ifferentday eviceday. Aliciouslymay onstructedcay avesay ilesfay ancay armhay ouryay omputercay. Oday ouyay usttray histay avesay'say reatorcay anday everyoneay howay ouldcay avehay angedchay hetay ilefay?"
# renpy/common/00gui.rpy:460
# 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 "Oday ouyay usttray hetay eviceday hetay avesay asway reatedcay onay? Ouyay ouldshay onlyay oosechay esyay ifay ouyay areay hetay eviceday'say olesay useray."
# renpy/common/00keymap.rpy:323
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
new "Ailedfay otay avesay creenshotsay asay %say."
# renpy/common/00keymap.rpy:335
# renpy/common/00keymap.rpy:334
old "Saved screenshot as %s."
new "Avedsay creenshotsay asay %say."
# renpy/common/00library.rpy:248
# renpy/common/00library.rpy:235
old "Skip Mode"
new "Kipsay Odemay"
# renpy/common/00library.rpy:317
# renpy/common/00library.rpy:340
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Histay rogrampay ontainscay eefray oftwaresay underay aay umbernay ofay icenseslay, includingay hetay Itmay Icenselay anday Nugay Esserlay Eneralgay Ublicpay Icenselay. Aay ompletecay istlay ofay oftwaresay, includingay inkslay otay ullfay ourcesay odecay, ancay ebay oundfay {a=https://www.renpy.org/l/license}erehay{/a}."
# renpy/common/00preferences.rpy:289
# renpy/common/00preferences.rpy:271
old "display"
new "isplayday"
# renpy/common/00preferences.rpy:309
# renpy/common/00preferences.rpy:283
old "transitions"
new "ansitionstray"
# renpy/common/00preferences.rpy:318
# renpy/common/00preferences.rpy:292
old "skip transitions"
new "kipsay ansitionstray"
# renpy/common/00preferences.rpy:320
# renpy/common/00preferences.rpy:294
old "video sprites"
new "ideovay pritessay"
# renpy/common/00preferences.rpy:329
# renpy/common/00preferences.rpy:303
old "show empty window"
new "owshay emptyay indowway"
# renpy/common/00preferences.rpy:338
# renpy/common/00preferences.rpy:312
old "text speed"
new "exttay peedsay"
# renpy/common/00preferences.rpy:346
# renpy/common/00preferences.rpy:320
old "joystick"
new "oystickjay"
# renpy/common/00preferences.rpy:346
# renpy/common/00preferences.rpy:320
old "joystick..."
new "oystickjay..."
# renpy/common/00preferences.rpy:353
# renpy/common/00preferences.rpy:327
old "skip"
new "kipsay"
# renpy/common/00preferences.rpy:356
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
new "kipsay unseenay [text]"
# renpy/common/00preferences.rpy:361
# renpy/common/00preferences.rpy:335
old "skip unseen text"
new "kipsay unseenay exttay"
# renpy/common/00preferences.rpy:363
# renpy/common/00preferences.rpy:337
old "begin skipping"
new "eginbay kippingsay"
# renpy/common/00preferences.rpy:367
# renpy/common/00preferences.rpy:341
old "after choices"
new "afteray oiceschay"
# renpy/common/00preferences.rpy:374
# renpy/common/00preferences.rpy:348
old "skip after choices"
new "kipsay afteray oiceschay"
# renpy/common/00preferences.rpy:376
# renpy/common/00preferences.rpy:350
old "auto-forward time"
new "autoay-orwardfay imetay"
# renpy/common/00preferences.rpy:390
# renpy/common/00preferences.rpy:364
old "auto-forward"
new "autoay-orwardfay"
# renpy/common/00preferences.rpy:397
# renpy/common/00preferences.rpy:371
old "Auto forward"
new "Utoaay orwardfay"
# renpy/common/00preferences.rpy:400
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
new "autoay-orwardfay afteray ickclay"
# renpy/common/00preferences.rpy:409
# renpy/common/00preferences.rpy:383
old "automatic move"
new "automaticay ovemay"
# renpy/common/00preferences.rpy:418
# renpy/common/00preferences.rpy:392
old "wait for voice"
new "aitway orfay oicevay"
# renpy/common/00preferences.rpy:427
# renpy/common/00preferences.rpy:401
old "voice sustain"
new "oicevay ustainsay"
# renpy/common/00preferences.rpy:436
# renpy/common/00preferences.rpy:410
old "self voicing"
new "elfsay oicingvay"
# renpy/common/00preferences.rpy:439
old "self voicing enable"
new "elfsay oicingvay enableay"
# renpy/common/00preferences.rpy:441
old "self voicing disable"
new "elfsay oicingvay isableday"
# renpy/common/00preferences.rpy:445
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
new "elfsay oicingvay olumevay ropday"
# renpy/common/00preferences.rpy:453
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
new "ipboardclay oicingvay"
# renpy/common/00preferences.rpy:456
old "clipboard voicing enable"
new "ipboardclay oicingvay enableay"
# renpy/common/00preferences.rpy:458
old "clipboard voicing disable"
new "ipboardclay oicingvay isableday"
# renpy/common/00preferences.rpy:462
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "ebugday oicingvay"
# renpy/common/00preferences.rpy:465
old "debug voicing enable"
new "ebugday oicingvay enableay"
# renpy/common/00preferences.rpy:467
old "debug voicing disable"
new "ebugday oicingvay isableday"
# renpy/common/00preferences.rpy:471
# renpy/common/00preferences.rpy:445
old "emphasize audio"
new "emphasizeay audioay"
# renpy/common/00preferences.rpy:480
# renpy/common/00preferences.rpy:454
old "rollback side"
new "ollbackray idesay"
# renpy/common/00preferences.rpy:490
# renpy/common/00preferences.rpy:464
old "gl powersave"
new "glay owersavepay"
# renpy/common/00preferences.rpy:496
# renpy/common/00preferences.rpy:470
old "gl framerate"
new "glay ameratefray"
# renpy/common/00preferences.rpy:499
# renpy/common/00preferences.rpy:473
old "gl tearing"
new "glay earingtay"
# renpy/common/00preferences.rpy:502
# renpy/common/00preferences.rpy:476
old "font transform"
new "ontfay ansformtray"
# renpy/common/00preferences.rpy:505
# renpy/common/00preferences.rpy:479
old "font size"
new "ontfay izesay"
# renpy/common/00preferences.rpy:513
# renpy/common/00preferences.rpy:487
old "font line spacing"
new "ontfay inelay pacingsay"
# renpy/common/00preferences.rpy:521
# renpy/common/00preferences.rpy:495
old "system cursor"
new "ystemsay ursorcay"
# renpy/common/00preferences.rpy:530
# renpy/common/00preferences.rpy:504
old "renderer menu"
new "endererray enumay"
# renpy/common/00preferences.rpy:533
# renpy/common/00preferences.rpy:507
old "accessibility menu"
new "accessibilityay enumay"
# renpy/common/00preferences.rpy:536
# renpy/common/00preferences.rpy:510
old "high contrast text"
new "ighhay ontrastcay exttay"
# renpy/common/00preferences.rpy:545
# renpy/common/00preferences.rpy:519
old "audio when minimized"
new "audioay henway inimizedmay"
# renpy/common/00preferences.rpy:554
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
new "audioay henway unfocuseday"
# renpy/common/00preferences.rpy:563
# renpy/common/00preferences.rpy:537
old "web cache preload"
new "ebway achecay reloadpay"
# renpy/common/00preferences.rpy:578
# renpy/common/00preferences.rpy:552
old "voice after game menu"
new "oicevay afteray amegay enumay"
# renpy/common/00preferences.rpy:587
old "restore window position"
new "estoreray indowway ositionpay"
# renpy/common/00preferences.rpy:596
old "reset"
new "esetray"
# renpy/common/00preferences.rpy:609
# renpy/common/00preferences.rpy:571
old "main volume"
new "ainmay olumevay"
# renpy/common/00preferences.rpy:610
# renpy/common/00preferences.rpy:572
old "music volume"
new "usicmay olumevay"
# renpy/common/00preferences.rpy:611
# renpy/common/00preferences.rpy:573
old "sound volume"
new "oundsay olumevay"
# renpy/common/00preferences.rpy:612
# renpy/common/00preferences.rpy:574
old "voice volume"
new "oicevay olumevay"
# renpy/common/00preferences.rpy:613
# renpy/common/00preferences.rpy:575
old "mute main"
new "utemay ainmay"
# renpy/common/00preferences.rpy:614
# renpy/common/00preferences.rpy:576
old "mute music"
new "utemay usicmay"
# renpy/common/00preferences.rpy:615
# renpy/common/00preferences.rpy:577
old "mute sound"
new "utemay oundsay"
# renpy/common/00preferences.rpy:616
# renpy/common/00preferences.rpy:578
old "mute voice"
new "utemay oicevay"
# renpy/common/00preferences.rpy:617
# renpy/common/00preferences.rpy:579
old "mute all"
new "utemay allay"
# renpy/common/00preferences.rpy:699
# renpy/common/00preferences.rpy:653
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Lipboardcay oicingvay enableday. Resspay 'iftshay+Cay' otay isableday."
# renpy/common/00preferences.rpy:701
# renpy/common/00preferences.rpy:655
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Elfsay-oicingvay ouldway aysay \"[renpy.display.tts.last]\". Resspay 'altay+iftshay+Vay' otay isableday."
# renpy/common/00preferences.rpy:703
# renpy/common/00preferences.rpy:657
old "Self-voicing enabled. Press 'v' to disable."
new "Elfsay-oicingvay enableday. Resspay 'vay' otay isableday."
# renpy/common/00speechbubble.rpy:392
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
new "Peechsay Ubblebay Ditoreay"
# renpy/common/00speechbubble.rpy:397
# renpy/common/00speechbubble.rpy:349
old "(hide)"
new "(idehay)"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(earclay etainedray ubblesbay)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
new "Yncsay ownloadedday."
@@ -793,166 +733,134 @@ translate piglatin strings:
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 "Hetay Enray'Ypay Yncsay erversay oesday otnay avehay aay opycay ofay histay yncsay. Hetay yncsay Diay aymay ebay invaliday, oray itay aymay avehay imedtay outay."
# renpy/common/00sync.rpy:412
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Leasepay enteray hetay yncsay Diay ouyay eneratedgay.\nEvernay enteray aay yncsay Diay ouyay idnday'tay reatecay ourselfyay."
# renpy/common/00sync.rpy:431
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
new "Hetay yncsay Diay isay otnay inay hetay orrectcay ormatfay."
# renpy/common/00sync.rpy:451
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
new "Hetay yncsay ouldcay otnay ebay ecryptedday."
# renpy/common/00sync.rpy:474
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
new "Hetay yncsay elongsbay otay aay ifferentday amegay."
# renpy/common/00sync.rpy:479
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
new "Hetay yncsay ontainscay aay ilefay ithway anay invaliday amenay."
# renpy/common/00sync.rpy:538
# 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 "Histay illway uploaday ouryay avessay otay hetay {a=https://sync.renpy.org}Enray'Ypay Yncsay Erversay{/a}.\nOday ouyay antway otay ontinuecay?"
# renpy/common/00sync.rpy:569
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
new "Ntereay Yncsay Diay"
# renpy/common/00sync.rpy:580
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Histay illway ontactcay hetay {a=https://sync.renpy.org}Enray'Ypay Yncsay Erversay{/a}."
# renpy/common/00sync.rpy:609
# renpy/common/00sync.rpy:596
old "Sync Success"
new "Yncsay Uccesssay"
# renpy/common/00sync.rpy:612
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
new "Hetay Yncsay Diay isay:"
# renpy/common/00sync.rpy:618
# 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}."
new "Ouyay ancay useay histay Diay otay ownloadday ouryay avesay onay anotheray eviceday.\nHistay yncsay illway expireay inay anay ourhay.\nEnray'Ypay Yncsay isay upportedsay ybay {a=https://www.renpy.org/sponsors.html}Enray'Ypay'say Ponsorssay{/a}."
# renpy/common/00sync.rpy:622
# renpy/common/00sync.rpy:609
old "Continue"
new "Ontinuecay"
# renpy/common/00sync.rpy:646
# renpy/common/00sync.rpy:631
old "Sync Error"
new "Yncsay Rroreay"
# renpy/common/00iap.rpy:231
# renpy/common/00iap.rpy:219
old "Contacting App Store\nPlease Wait..."
new "Ontactingcay Ppaay Toresay\nLeasepay Aitway..."
# renpy/common/00updater.rpy:504
old "No update methods found."
new "Onay updateay ethodsmay oundfay."
# renpy/common/00updater.rpy:419
old "The Ren'Py Updater is not supported on mobile devices."
new "Hetay Enray'Ypay Pdateruay isay otnay upportedsay onay obilemay evicesday."
# renpy/common/00updater.rpy:551
old "Could not download file list: "
new "Ouldcay otnay ownloadday ilefay istlay: "
# renpy/common/00updater.rpy:554
old "File list digest does not match."
new "Ilefay istlay igestday oesday otnay atchmay."
# renpy/common/00updater.rpy:763
# renpy/common/00updater.rpy:548
old "An error is being simulated."
new "Naay erroray isay eingbay imulatedsay."
# renpy/common/00updater.rpy:951
# renpy/common/00updater.rpy:738
old "Either this project does not support updating, or the update status file was deleted."
new "Ithereay histay rojectpay oesday otnay upportsay updatingay, oray hetay updateay atusstay ilefay asway eletedday."
# renpy/common/00updater.rpy:965
# renpy/common/00updater.rpy:752
old "This account does not have permission to perform an update."
new "Histay accountay oesday otnay avehay ermissionpay otay erformpay anay updateay."
# renpy/common/00updater.rpy:968
# renpy/common/00updater.rpy:755
old "This account does not have permission to write the update log."
new "Histay accountay oesday otnay avehay ermissionpay otay riteway hetay updateay oglay."
# renpy/common/00updater.rpy:1048
# renpy/common/00updater.rpy:783
old "Could not verify update signature."
new "Ouldcay otnay erifyvay updateay ignaturesay."
# renpy/common/00updater.rpy:1367
# renpy/common/00updater.rpy:1084
old "The update file was not downloaded."
new "Hetay updateay ilefay asway otnay ownloadedday."
# renpy/common/00updater.rpy:1385
# renpy/common/00updater.rpy:1102
old "The update file does not have the correct digest - it may have been corrupted."
new "Hetay updateay ilefay oesday otnay avehay hetay orrectcay igestday - itay aymay avehay eenbay orruptedcay."
# renpy/common/00updater.rpy:1535
# renpy/common/00updater.rpy:1252
old "While unpacking {}, unknown type {}."
new "Hileway unpackingay {}, unknownay ypetay {}."
# renpy/common/00updater.rpy:2015
# renpy/common/00updater.rpy:1624
old "Updater"
new "Pdateruay"
# renpy/common/00updater.rpy:2026
# renpy/common/00updater.rpy:1635
old "This program is up to date."
new "Histay rogrampay isay upay otay ateday."
# renpy/common/00updater.rpy:2028
# renpy/common/00updater.rpy:1637
old "[u.version] is available. Do you want to install it?"
new "[u.version] isay availableay. Oday ouyay antway otay installay itay?"
# renpy/common/00updater.rpy:2030
# renpy/common/00updater.rpy:1639
old "Preparing to download the updates."
new "Reparingpay otay ownloadday hetay updatesay."
# renpy/common/00updater.rpy:2032
# renpy/common/00updater.rpy:1641
old "Downloading the updates."
new "Ownloadingday hetay updatesay."
# renpy/common/00updater.rpy:2034
# renpy/common/00updater.rpy:1643
old "Unpacking the updates."
new "Npackinguay hetay updatesay."
# renpy/common/00updater.rpy:2038
# renpy/common/00updater.rpy:1647
old "The updates have been installed. The program will restart."
new "Hetay updatesay avehay eenbay installeday. Hetay rogrampay illway estartray."
# renpy/common/00updater.rpy:2040
# renpy/common/00updater.rpy:1649
old "The updates have been installed."
new "Hetay updatesay avehay eenbay installeday."
# renpy/common/00updater.rpy:2042
# renpy/common/00updater.rpy:1651
old "The updates were cancelled."
new "Hetay updatesay ereway ancelledcay."
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "Reparingpay otay ownloadday hetay amegay ataday."
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "Ownloadingday hetay amegay ataday."
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "Hetay amegay ataday ashay eenbay ownloadedday."
# renpy/common/00updater.rpy:2078
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
old "This game cannot be run until the game data has been downloaded."
new "Histay amegay annotcay ebay unray untilay hetay amegay ataday ashay eenbay ownloadedday."
# renpy/common/00updater.rpy:2090
old "Retry"
new "Etryray"
# renpy/common/00gallery.rpy:627
old "Image [index] of [count] locked."
new "Mageiay [index] ofay [count] ockedlay."
+43 -75
View File
@@ -45,106 +45,74 @@ translate piglatin strings:
old "Image Attributes"
new "Mageiay Ttributesaay"
# renpy/common/_developer/developer.rpym:69
old "Show Translation Identifiers"
new "Howsay Ranslationtay Dentifiersiay"
# renpy/common/_developer/developer.rpym:72
old "Hide Translation Identifiers"
new "Idehay Ranslationtay Dentifiersiay"
# renpy/common/_developer/developer.rpym:77
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
new "Peechsay Ubblebay Ditoreay (Hiftsay+Bay)"
# renpy/common/_developer/developer.rpym:81
old "Show Filename and Line"
new "Howsay Ilenamefay anday Inelay"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
new "[name] [attributes] (iddenhay)"
# renpy/common/_developer/developer.rpym:84
old "Hide Filename and Line"
new "Idehay Ilenamefay anday Inelay"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:127
old "Layer [l]:"
new "Ayerlay [l]:"
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (iddenhay)"
# renpy/common/_developer/developer.rpym:135
old " [name] [attributes]"
new " [name] [attributes]"
# renpy/common/_developer/developer.rpym:187
# renpy/common/_developer/developer.rpym:151
old "Nothing to inspect."
new "Othingnay otay inspectay."
# renpy/common/_developer/developer.rpym:198
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
new "Idehay eletedday"
# renpy/common/_developer/developer.rpym:198
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
new "Howsay eletedday"
# renpy/common/_developer/developer.rpym:349
# renpy/common/_developer/developer.rpym:318
old "Rectangle copied to clipboard."
new "Ectangleray opiedcay otay ipboardclay."
# renpy/common/_developer/developer.rpym:352
# renpy/common/_developer/developer.rpym:321
old "Position copied to clipboard."
new "Ositionpay opiedcay otay ipboardclay."
# renpy/common/_developer/developer.rpym:364
# renpy/common/_developer/developer.rpym:333
old "Rectangle: %r"
new "Ectangleray: %ray"
# renpy/common/_developer/developer.rpym:367
# renpy/common/_developer/developer.rpym:336
old "Mouse position: %r"
new "Ousemay ositionpay: %ray"
# renpy/common/_developer/developer.rpym:372
# renpy/common/_developer/developer.rpym:341
old "Right-click or escape to quit."
new "Ightray-ickclay oray escapeay otay uitqay."
# renpy/common/_developer/developer.rpym:420
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
new "Ypetay otay ilterfay: "
# renpy/common/_developer/developer.rpym:538
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Exturestay: [tex_count] ([tex_size_mb:.1f] Bmay)"
# renpy/common/_developer/developer.rpym:542
# renpy/common/_developer/developer.rpym:511
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Mageiay achecay: [cache_pct:.1f]% ([cache_size_mb:.1f] Bmay)"
# renpy/common/_developer/developer.rpym:552
# renpy/common/_developer/developer.rpym:521
old "✔ "
new "✔ "
# renpy/common/_developer/developer.rpym:555
# renpy/common/_developer/developer.rpym:524
old "✘ "
new "✘ "
# renpy/common/_developer/developer.rpym:560
# renpy/common/_developer/developer.rpym:529
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}✔ redictedpay imageay (oodgay){/color}\n{color=#fcc}✘ unpredicteday imageay (adbay){/color}\n{color=#fff}Ragday otay ovemay.{/color}"
# renpy/common/_developer/developer.rpym:606
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff}Opiedcay otay ipboardclay.{/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff}Lickcay otay opycay.\nRagday otay ovemay.{/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "Lickcay otay openay inay editoray."
# renpy/common/_developer/inspector.rpym:38
old "Displayable Inspector"
new "Isplayableday Nspectoriay"
@@ -181,91 +149,91 @@ translate piglatin strings:
old "<repr() failed>"
new "<eprray() ailedfay>"
# renpy/common/00console.rpy:537
# renpy/common/00console.rpy:533
old "Press <esc> to exit console. Type help for help.\n"
new "Resspay <escay> otay exitay onsolecay. Ypetay elphay orfay elphay.\n"
# renpy/common/00console.rpy:541
# renpy/common/00console.rpy:537
old "Ren'Py script enabled."
new "Enray'Ypay criptsay enableday."
# renpy/common/00console.rpy:543
# renpy/common/00console.rpy:539
old "Ren'Py script disabled."
new "Enray'Ypay criptsay isabledday."
# renpy/common/00console.rpy:793
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "elphay: owshay histay elphay\n elphay <expray>: owshay ignaturesay anday ocumentationday ofay <expray>"
# renpy/common/00console.rpy:817
# 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 "Elphay aymay isplayday undocumenteday unctionsfay. Leasepay eckchay hattay hetay unctionfay oray\nassclay ouyay antway otay useay isay ocumentedday.\n\n"
# renpy/common/00console.rpy:826
# renpy/common/00console.rpy:822
old "commands:\n"
new "ommandscay:\n"
# renpy/common/00console.rpy:836
# renpy/common/00console.rpy:832
old " <renpy script statement>: run the statement\n"
new " <enpyray criptsay atementstay>: unray hetay atementstay\n"
# renpy/common/00console.rpy:838
# renpy/common/00console.rpy:834
old " <python expression or statement>: run the expression or statement"
new " <ythonpay expressionay oray atementstay>: unray hetay expressionay oray atementstay"
# renpy/common/00console.rpy:846
# renpy/common/00console.rpy:842
old "clear: clear the console history"
new "earclay: earclay hetay onsolecay istoryhay"
# renpy/common/00console.rpy:850
# renpy/common/00console.rpy:846
old "exit: exit the console"
new "exitay: exitay hetay onsolecay"
# renpy/common/00console.rpy:858
# renpy/common/00console.rpy:854
old "stack: print the return stack"
new "ackstay: rintpay hetay eturnray ackstay"
# renpy/common/00console.rpy:880
# renpy/common/00console.rpy:876
old "load <slot>: loads the game from slot"
new "oadlay <otslay>: oadslay hetay amegay omfray otslay"
# renpy/common/00console.rpy:893
# renpy/common/00console.rpy:889
old "save <slot>: saves the game in slot"
new "avesay <otslay>: avessay hetay amegay inay otslay"
# renpy/common/00console.rpy:904
# renpy/common/00console.rpy:900
old "reload: reloads the game, refreshing the scripts"
new "eloadray: eloadsray hetay amegay, efreshingray hetay criptssay"
# renpy/common/00console.rpy:912
# 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 "atchway <expressionay>: atchway aay ythonpay expressionay\n atchway ortshay: akesmay hetay epresentationray ofay acedtray expressionsay ortshay (efaultday)\n atchway onglay: akesmay hetay epresentationray ofay acedtray expressionsay asay isay"
# renpy/common/00console.rpy:949
# renpy/common/00console.rpy:945
old "unwatch <expression>: stop watching an expression"
new "unwatchay <expressionay>: opstay atchingway anay expressionay"
# renpy/common/00console.rpy:995
# renpy/common/00console.rpy:991
old "unwatchall: stop watching all expressions"
new "unwatchallay: opstay atchingway allay expressionsay"
# renpy/common/00console.rpy:1016
# renpy/common/00console.rpy:1012
old "jump <label>: jumps to label"
new "umpjay <abellay>: umpsjay otay abellay"
# renpy/common/00console.rpy:1032
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
new "ortshay: Hortensay hetay epresentationray ofay objectsay onay hetay onsolecay (efaultday)."
# renpy/common/00console.rpy:1036
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
new "onglay: Rintpay hetay ullfay epresentationray ofay objectsay onay hetay onsolecay."
# renpy/common/00console.rpy:1040
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
new "escapeay: Nableseay escapingay ofay unicodeay ymbolssay inay unicodeay ringsstay."
# renpy/common/00console.rpy:1044
# renpy/common/00console.rpy:1040
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
new "unescapeay: Isablesday escapingay ofay unicodeay ymbolssay inay unicodeay ringsstay anday rintpay itay asay isay (efaultday)."
+20 -20
View File
@@ -51,11 +51,11 @@ translate piglatin strings:
# renpy/common/00gltest.rpy:181
old "60"
new "60"
new "06ay"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
new "03ay"
# renpy/common/00gltest.rpy:191
old "Tearing"
@@ -129,75 +129,75 @@ translate piglatin strings:
old "Back (B)"
new "Ackbay (Bay)"
# renpy/common/_errorhandling.rpym:662
# renpy/common/_errorhandling.rpym:555
old "Open"
new "Penoay"
# renpy/common/_errorhandling.rpym:664
# renpy/common/_errorhandling.rpym:557
old "Opens the traceback.txt file in a text editor."
new "Pensoay hetay acebacktray.xttay ilefay inay aay exttay editoray."
# renpy/common/_errorhandling.rpym:666
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
new "Opycay Bcodebay"
# renpy/common/_errorhandling.rpym:668
# renpy/common/_errorhandling.rpym:561
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Opiescay hetay acebacktray.xttay ilefay otay hetay ipboardclay asay Bcodebay orfay orumsfay ikelay ttpshay://emmasoftlay.enairay.usay/."
# renpy/common/_errorhandling.rpym:670
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
new "Opycay Arkdownmay"
# renpy/common/_errorhandling.rpym:672
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Opiescay hetay acebacktray.xttay ilefay otay hetay ipboardclay asay Arkdownmay orfay Iscordday."
# renpy/common/_errorhandling.rpym:703
# renpy/common/_errorhandling.rpym:594
old "An exception has occurred."
new "Naay exceptionay ashay occurreday."
# renpy/common/_errorhandling.rpym:726
# renpy/common/_errorhandling.rpym:617
old "Rollback"
new "Ollbackray"
# renpy/common/_errorhandling.rpym:728
# renpy/common/_errorhandling.rpym:619
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Ttemptsaay aay ollray ackbay otay aay riorpay imetay, allowingay ouyay otay avesay oray oosechay aay ifferentday oicechay."
# renpy/common/_errorhandling.rpym:731
# renpy/common/_errorhandling.rpym:622
old "Ignore"
new "Gnoreiay"
# renpy/common/_errorhandling.rpym:735
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay."
# renpy/common/_errorhandling.rpym:737
# renpy/common/_errorhandling.rpym:628
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay. Histay oftenay eadslay otay additionalay errorsay."
# renpy/common/_errorhandling.rpym:741
# renpy/common/_errorhandling.rpym:632
old "Reload"
new "Eloadray"
# renpy/common/_errorhandling.rpym:743
# renpy/common/_errorhandling.rpym:634
old "Reloads the game from disk, saving and restoring game state if possible."
new "Eloadsray hetay amegay omfray iskday, avingsay anday estoringray amegay atestay ifay ossiblepay."
# renpy/common/_errorhandling.rpym:746
# renpy/common/_errorhandling.rpym:637
old "Console"
new "Onsolecay"
# renpy/common/_errorhandling.rpym:748
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
new "Pensoay aay onsolecay otay alloway ebuggingday hetay roblempay."
# renpy/common/_errorhandling.rpym:761
# renpy/common/_errorhandling.rpym:652
old "Quits the game."
new "Uitsqay hetay amegay."
# renpy/common/_errorhandling.rpym:782
# renpy/common/_errorhandling.rpym:673
old "Parsing the script failed."
new "Arsingpay hetay criptsay ailedfay."
+25 -29
View File
@@ -123,15 +123,15 @@ translate piglatin strings:
# gui/game/gui.rpy:103
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## Hetay acementplay ofay hetay extboxtay erticallyvay onay hetay creensay. 0.0 isay hetay optay, 0.5 isay entercay, anday 1.0 isay hetay ottombay."
new "## Hetay acementplay ofay hetay extboxtay erticallyvay onay hetay creensay. 0ay.0ay isay hetay optay, 0ay.5ay isay entercay, anday 1ay.0ay isay hetay ottombay."
# gui/game/gui.rpy:108
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 "## Hetay acementplay ofay hetay peakingsay aracterchay'say amenay, elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay omfray hetay eftlay oray optay, oray 0.5 otay entercay."
new "## Hetay acementplay ofay hetay peakingsay aracterchay'say amenay, elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay omfray hetay eftlay oray optay, oray 0ay.5ay otay entercay."
# gui/game/gui.rpy:113
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."
new "## Hetay orizontalhay alignmentay ofay hetay aracterchay'say amenay. Histay ancay ebay 0.0 orfay eftlay-aligneday, 0.5 orfay enteredcay, anday 1.0 orfay ightray-aligneday."
new "## Hetay orizontalhay alignmentay ofay hetay aracterchay'say amenay. Histay ancay ebay 0ay.0ay orfay eftlay-aligneday, 0ay.5ay orfay enteredcay, anday 1ay.0ay orfay ightray-aligneday."
# gui/game/gui.rpy:117
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
@@ -147,7 +147,7 @@ translate piglatin strings:
# gui/game/gui.rpy:131
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."
new "## Hetay acementplay ofay ialogueday elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay elativeray otay hetay eftlay oray optay idesay ofay hetay extboxtay, oray 0.5 otay entercay."
new "## Hetay acementplay ofay ialogueday elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay elativeray otay hetay eftlay oray optay idesay ofay hetay extboxtay, oray 0ay.5ay otay entercay."
# gui/game/gui.rpy:137
old "## The maximum width of dialogue text, in pixels."
@@ -155,7 +155,7 @@ translate piglatin strings:
# gui/game/gui.rpy:140
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Hetay orizontalhay alignmentay ofay hetay ialogueday exttay. Histay ancay ebay 0.0 orfay eftlay-aligneday, 0.5 orfay enteredcay, anday 1.0 orfay ightray-aligneday."
new "## Hetay orizontalhay alignmentay ofay hetay ialogueday exttay. Histay ancay ebay 0ay.0ay orfay eftlay-aligneday, 0ay.5ay orfay enteredcay, anday 1ay.0ay orfay ightray-aligneday."
# gui/game/gui.rpy:145
old "## Buttons"
@@ -191,7 +191,7 @@ translate piglatin strings:
# gui/game/gui.rpy:173
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Hetay orizontalhay alignmentay ofay hetay uttonbay exttay. (0.0 isay eftlay, 0.5 isay entercay, 1.0 isay ightray)."
new "## Hetay orizontalhay alignmentay ofay hetay uttonbay exttay. (0ay.0ay isay eftlay, 0ay.5ay isay entercay, 1ay.0ay isay ightray)."
# gui/game/gui.rpy:178
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."
@@ -358,86 +358,82 @@ translate piglatin strings:
new "## Hetay eighthay ofay aay istoryhay creensay entryay, oray Onenay otay akemay hetay eighthay ariablevay atay hetay ostcay ofay erformancepay."
# gui/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## Dditionalaay pacesay otay adday etweenbay istoryhay creensay entriesay."
# gui/game/gui.rpy:350
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## Hetay ositionpay, idthway, anday alignmentay ofay hetay abellay ivinggay hetay amenay ofay hetay peakingsay aracterchay."
# gui/game/gui.rpy:357
# gui/game/gui.rpy:354
old "## The position, width, and alignment of the dialogue text."
new "## Hetay ositionpay, idthway, anday alignmentay ofay hetay ialogueday exttay."
# gui/game/gui.rpy:364
# gui/game/gui.rpy:361
old "## NVL-Mode"
new "## Vlnay-Odemay"
# gui/game/gui.rpy:366
# gui/game/gui.rpy:363
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## Hetay Vlnay-odemay creensay isplaysday hetay ialogueday pokensay ybay Vlnay-odemay aracterschay."
# gui/game/gui.rpy:368
# gui/game/gui.rpy:365
old "## The borders of the background of the NVL-mode background window."
new "## Hetay ordersbay ofay hetay ackgroundbay ofay hetay Vlnay-odemay ackgroundbay indowway."
# gui/game/gui.rpy:371
# gui/game/gui.rpy:368
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."
new "## Hetay aximummay umbernay ofay Vlnay-odemay entriesay Enray'Ypay illway isplayday. Henway oremay entriesay hantay histay areay otay ebay owshay, hetay oldestay entryay illway ebay emovedray."
# gui/game/gui.rpy:375
# gui/game/gui.rpy:372
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Hetay eighthay ofay anay Vlnay-odemay entryay. Etsay histay otay Onenay otay avehay hetay entriesay ynamicallyday adjustay eighthay."
# gui/game/gui.rpy:379
# gui/game/gui.rpy:376
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Hetay pacingsay etweenbay Vlnay-odemay entriesay henway uigay.vl_heightnay isay Onenay, anday etweenbay Vlnay-odemay entriesay anday anay Vlnay-odemay enumay."
# gui/game/gui.rpy:396
# gui/game/gui.rpy:393
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## Hetay ositionpay, idthway, anday alignmentay ofay vl_thoughtnay exttay (hetay exttay aidsay ybay hetay vl_narratornay aracterchay.)"
# gui/game/gui.rpy:403
# gui/game/gui.rpy:400
old "## The position of nvl menu_buttons."
new "## Hetay ositionpay ofay vlnay enu_buttonsmay."
# gui/game/gui.rpy:408
# gui/game/gui.rpy:405
old "## Localization"
new "## Ocalizationlay"
# gui/game/gui.rpy:410
# gui/game/gui.rpy:407
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 "## Histay ontrolscay hereway aay inelay eakbray isay ermittedpay. Hetay efaultday isay uitablesay orfay ostmay anguageslay. Aay istlay ofay availableay aluesvay ancay ebay oundfay atay ttpshay://wwway.enpyray.orgay/ocday/tmlhay/yle_propertiesstay.tmlhay#ylestay-ropertypay-anguagelay"
# gui/game/gui.rpy:418
# gui/game/gui.rpy:415
old "## Mobile devices"
new "## Obilemay evicesday"
# gui/game/gui.rpy:423
# gui/game/gui.rpy:420
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Histay increasesay hetay izesay ofay hetay uickqay uttonsbay otay akemay hemtay easieray otay ouchtay onay abletstay anday onesphay."
# gui/game/gui.rpy:430
# gui/game/gui.rpy:427
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Histay angeschay hetay izesay anday pacingsay ofay ariousvay Uigay elementsay otay ensureay heytay areay easilyay isiblevay onay onesphay."
# gui/game/gui.rpy:435
# gui/game/gui.rpy:432
old "## Font sizes."
new "## Ontfay izessay."
# gui/game/gui.rpy:443
# gui/game/gui.rpy:440
old "## Adjust the location of the textbox."
new "## Djustaay hetay ocationlay ofay hetay extboxtay."
# gui/game/gui.rpy:449
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
new "## Hangecay hetay izesay anday pacingsay ofay ariousvay hingstay."
# gui/game/gui.rpy:463
# gui/game/gui.rpy:460
old "## File button layout."
new "## Ilefay uttonbay ayoutlay."
# gui/game/gui.rpy:467
# gui/game/gui.rpy:464
old "## NVL-mode."
new "## Vlnay-odemay."

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