Turns out that a .zip can't really represent the extended
attributes used for signing some files properly, but the
tar format can. So we use that to ship things over, and
get a working .dmg.
This should fix a race condition where that could cause unprefixed
key commands (like 'v' or 'a') to trigger if KEYDOWN is present
but the TEXTINPUT hasn't been delivered yet.
This is a backport of a performance improvement from the gl2
branch, where profiling reported that rebinding the framebuffer
was very slow, and simply copying the pixels out is much
faster.
Additional stores are available as local variables in the default 'store' under their name already, consequently 'import store.mystore as mystore' is a no-op
While we could have just added it to the tuple of shaders created in
GL2DrawingContext, that would lead to creating a tuple on every
render. So instead, it's added in the shader compiler.
* Ask GL for the maximum size.
* Remove the idea of generations - we swap out the loader when a
generation is obsolete.
* Cache the fbo so changing it is needed less often.
This improves gl2 Polygons and Meshes by making it clear if a
new object is created or they're updated in place, by supporting
multiplication by matrices directly, and by including the repr
function everywhere.
Really, a quality of life improvement.
After extensive profiling my GTX 1060, it appears that using
glFrameBufferTexture2D is unacceptably slow. (300+us for just that
one call). glCopyTexImage seem to be much faster, with realistic
small texture loads (like button images) taking 60us or so.
Add support for tile="integer" to frame.
This is a version of tiling that always does an integer number of repeats, scaling as necessary to accomplish this.
This might actually change over the lifecycle of a polygon, as the
winding of the polygon changes when it goes from the pygame/Ren'Py
coordinate space to the OpenGL viewport space.
This change means it doesn't matter - polygon intersection can
always occur.
The differentiation between .deinit() and .quit() was hard to understand.
This change makes it clear - .kill_textures frees all of the OpenGL textures,
while .quit() releases all GL resources.
This is a much simpler fix for the problem in a1dd218560,
which is that the wrong scope will be given in a used screen that happens to be
constant.
The realization is that if a used screen is constant, it can't change - and hence
it doesn't need to be given a new scope at all.
Fixes#1905, where several bugs got collected into one place. The
main problem is that we need to store the actual values of
non-constant variables that, for example, change durting iteration,
while at the same time allowing things that use the scope to
update when the screen scope changes (from new parameters, or
something like SetScreenVairable).
This uses a method (scope_changed, similar to copy_on_change) to
take things that use the scope out of the cache when a scope change
happens.
- Move it to 00acessibility.rpy, where I can find it.
- sv -> alt (The old name still works.)
- Allow the creator to supply a character that's used to display
descriptive text.
The check hadn't included that, which means that text tags would
not be processed when self_closing_custom_text_tags was set, and
custom_text_tags was not.
A field (especially a global Variable) might not exists at the beginning of the interaction. This causes the application to crash e.g. if the variable is set on the 'action' of a button.
The solution is that the get_selected returns False if the given field does not exists at the moment.
Before this change, if an invaidation was to occur mid-render,
it was possible the new render would not be added to the cache.
Fixes#1856.
This also defers invalidation when a redraw is going to happen.
In file included from ffmedia.c:13:
/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
#error "<malloc.h> has been replaced by <stdlib.h>"
^
This allows the BMFont object to understand "kerning" lines embedded within BMFont definitions.
The kerning information is added to the existing "self.kerns" property.
There is a way to scale the size per font file, and a way to scale the
vertical extent by font file. The main reason for these is to provide
a way to rescale opendyslexic to fit in the same space as DejaVuSans.
This is an accesibility function that can turn one font into
another font, or a font group. It's currently being used to
enable OpenDyslexic when it's needed.
It's now O(1) in operation, at the cost of increasing the size of the
FontGroup. There's also the option to specify a default font, and
it's possible to add a FontGroup to a FontGroup.
This provides context to the callback about the image it's affecting
with the transition. This can be used in isolation, or with the current
state to intelligently utilise a transition based upon the
tags/attributes of the image being displayed.
That's because when a scope is involved, it's possible for two
DynamicImages with the same name to be different, even if the
name is the same.
This can cause problems with displayable reuse in screens.
Fixes#1759.
Calls to renpy.restart_interaction were causing the screen to
restart early, which means that the show events never were
dispatched, and the update event would overwrite it.
Fixes#1753.
This is because checking redraws happens once per event, but
we might handle multiple events before the redraw itself occurs.
After process_redraws happens, the Renders are in an invalid state
until the next draw_screen.
When in this invalid state, if the inspector is called, a crash
occurs.
This moves from trying to maintain the zorder, to just sorting
the children any time it changes. This makes it possible to
persist the zorder through interaction restarts in a sensible
way.
Fixes#1727.
Switch back to prepending temporary_attrs with speaking_attribute so
that temporary say attributes have the chance to suppress the
speaking_attribute.
The use case for this is catering for infrequent lines of a character's
internal monologue, for which they are responsible, but do not actively
speak.
This fixes a problem with layeredimages for which "foo red happy"
and "foo red happy speaking" will both be defined. In that case,
"show foo red happy" won't remove speaking, and so we need to
do an explicit "show red happy -speaking".
We had been using the width and height offered to the drag as
the places where it can move. However, those are affected by
any xmaximum or ymaximum in effect.
This changes that so the original width and height are stored an
passed to the drag.
This makes sure that we can't create a window too big to fit on the
user's monitor.
It aso now highlights the Window preference when it's as big as it
can be, even if less than 100% of the game's size.
Fixes#1716.
We don't want the after_load block to be a distinct part of the
game for the purpose of rollback, as it might come and go and
hence block roll-forward.
Fixes#1718.
Having that extra pixel guarantees all the data is present, preventing
a blank (black or white) line from appearing at the bottom of the screen
during dissolves.
When given, the attributes are defined without the group - that
means that auto can be used to define multiple attributes, of
which any of them can be selected at once.
This is a compromise between the 6.99 and 7.x behavior. In the older
stuff, we would never automatically clear the screenshot, meaning
if a game called renpy.take_screenshot, it could grow stale.
In the newer behavior, we would clear it after each interaction,
even meanigless ones, like an implie with.
This uses renpy.checkpoint to clear the screenshot, which is a proxy
for the game state meaningfully advancing. In addition, this behavior
can be disabled by setting config.auto_clear_screenshot to False.
Fixes#1680.
This works around an issue in Steam where the injected libraries
change the variable to STEAM_DYLD_INSERT_LIBRARIES, which means
python never sees it and the overlay doesn't load.
This detects a problem where the creator passed something else to
text, and had a hard-to-diagnose problem. ie:
text ("!" + what) id "what"
will cause weird tag errors.
This is to prevent Ren'Py from causing problems if it deletes a
.rpy file when the .rpyc file is present, where the translation
is available in multiple files.
SourceHanSans-Light-Lite, based on SourceHanSansCN-Light, which contain General specification Chinese table (China Mainland) 1st-order table (3500 characters) and Common Chinese character standard font table (Taiwan) (aka A-order table) (4808 characters), have already tested in "The Question" and launcher.
Because of changes that have been made over the past few years,
it was possible to write:
show eileen happy but with random attributes appended
And Ren'Py would take it. That was never intended, and this closes
off this case.
Some tags that require value, when supplied none, raise python's
exceptions which might be hard to interpret.
Added simple checks to those tags to see if the supplied value is
empty. Raises exception that is easier to read than the ones
Python raises.
This is used by displayables embedded in text. The unicode standard
allows us to handle this however we want, so we break unless there
is a non-breaking-space before or after the CB. (including ZWNBSP).
This is the OBJECT REPLACEMENT CHARACTER, which is useful because
it creates a character of breaking class CB, which allows Ren'Py
to decide if it wants to put a break before or after the object.
A bug was causing choose_attribute to return the same attribute
more than once, which prevents the rest of Ren'Py from selecting
the image.
Fixes#1514.
This now checkes the image, instead of the tag, for a
_choose_attributes method. If one exists, an exact match
is ignored, and attributes are retained.
Fixes#1517.
Ignoring a TIMEEVENT is reasonable to do - it makes sense for a
modal to be able to cancel out things like a pause. Such ignoring
should not post a second TIMEEVENT, as that trigers constant
processing of TIMEEEVENTS.
Fixes#1502.
* When a channel is muted.
* When sound is queued then immediately dequeued.
This fixes a bug that occured when a muted sound channel didn't
start, and hence stopped a movie from synchro-starting at the
same time.
This is done a bit earlier now, when trying to find the attributes,
rather than checking that the attributes are okay. This makes it
possible to have multiple layeredimages in which one is the prefix
of the next, so long as no attributes overlap.
Fixes#1455. I believe the issue there was that if a frame was
dropped from the main or mask movies, the two would get out of
sync. This prevents that entirely.
This allows two blocks of ruby text to appear at once, such as
one above the text and one below it. The use case this is intended
to support is a project that would like both a translation and
pronunciation guide at the same time.
The prefix property gives a prefix that applies to attributes
defined within the group.
The variant property adds an additional section to file and
image names defined within the group.
For now, this just adds a Null displayable, but that might change
in the future. Semantically, it lets the creator declare an
attribute that exists for the use of if_all, if_any, if_not,
and the upcoming attribute modifier function.
With this change, writing:
define dis = { "master" : Dissolve(0.5, alpha=True) }
will apply the dissolve operation to the master layer, as if
$ renpy.transition(Dissolve(0.5, alpha=True), layer="master")
had been called instead.
The main reason for this is so that the _list_attributes and
_choose_attributes functions are used with a multi-part image
name.
Now that it's possible to list attributes from multiple places,
we have to combine them. A topological sort on the order of
attributes is used for this.
* if_also becomes if_all.
* if_any has been added.
* if_any, if_all, and if_not have been added to conditions.
* The image takes style properties, not transition properties.
And the code has been cleaned up to remove some duplication.
This fixes a problem in the code:
default x = False
label start:
$ x = True
"[ x ]"
When accessing the console. The problem is that the changes to rollback
in 6.14 cause there to only be one Rollback here, which is right after
label start. This means that when in the console, x loses its changed
value.
To fix this, when doing a non-greedy rollback, we rollback the minimum
we can, then start executing forwards until we reach the current
statement. This was implemented by adding a "come from" feature
to the context - when a statement is started, the current come
from is checked, and a label is called if it's been reached.
Layer images tend to use displayables with names like eileen_mouth_smile,
which have the real image name, eileen, as a prefix. We don't want these
cluttering up the id, so filter tags like this out.
We've gone from "eileen mouth happy" to "eileen_mouth_happy". This
is to prevent potential problems - with the spaces, it's possible
for the images that are used in a LayerImage to conflict with
the image itself, causing huge problems.
When there is an underscore in the name, that's mitigated.
This makes it possible to change which entry in the cache corresponds
to an entry in the list being iterated over, which can fix certain
problems where those don't match up.
We've been on the new stuff for a year now, and I've gotten (mostly)
good feedback on everything. So it's time to shrink the distribution
by removing this legacy content.
Thanks to everyone who contributed this - your contributions will
live on in git and the Ren'Py 6 downloads.
Fixes#1426.
During skipping, a normal screen was never updated, which means
that the hide handler was not called. This changes it so we force
an update if need be, provided the screen is not transient.
Why not transient? It's because a transient screen is used for
the window in with_none, and updating that screen is expensive
for the 90% of time it isn't seen.
This fixes a problem caused by default getting confused due to
ever_been_changed being set once, but then defaults not getting
set since it doesn't change after a rollback.
This is a reasonable way to fix the problem in #1415, which
I'm theorizing is happening because the game was launched
before the images are finished generating.
The from clause, since it's added automatically, shouldn't change
the game semantics. Unfortunately, this wasn't the case - adding
a from clause would change the translation identifier.
Since games could rely on this behavior without knowing it, we had
to split the difference. Now, when a label begins with an _, it
introduces an alternate tlid. If the main tlid exists, it's used.
Otherwise, the alternate tlid is tried.
Generation uses the main tlid.
A transform can only be interpolated if it contains plain property
assignments. Previously, this required putting them all on one line;
but semantically this is the same as putting each one on its own line,
so there's no reason not to allow that too.
This fixes a problem where the cache of a screen could contain
a transform in the old state. What's more, since the cache was
persisting between screens, showing two screens with the same
tag would use the (long obsolete) cached data, and hide the
old screen.
By breaking things up into old and new generations, a transform
not used in the new generation will "go away", and be reset when
shown again.
This works around an issue with the python compiler, where it seems
to emit incorrect code when compiling for the outermost context,
code that has an assumption that the locas and globals are the
same thing, when in a hide block, they're not.
Fixes#1397.
This fixes a problem with newer SDL (or maybe X, etc - an upgraded
Ubuntu seems related) where pressing CTRL causes the modifier to
be added as part of the KEYDOWN event.
Previously, the storedicts were being cycled on log.complete(),
which is called during a save as well as normal statement begin.
When cycled, the storedicts would record the information while
in the save context, and restore it.
This was causing problems with suppress_overlay, and less likely
other problems.
Fixes#1383.
Attempts to fix#1383. The idea is that all the symptoms there
seem to be caused by suppress_overlay being set wrong, and
it might be set wrong because a rollback is happening.
This will make it more available to editors, as it becomes
possible to find it automatically. Since game/saves has been
excluded from being shipped, it should also not be a problem
for distro or vcs.
Spanish translation "Eqtiquetas" could be confused with 'tags'. It's better to leave this untranslated (in the script, the developer must write the word "label" anyway)
Add an actions section, with Navigate Script as the first button
inside it. The idea behind this is that many people didn't
realize it was a button they could click.
DD could return a list for prediction, but it would always
be taken as a displayable and fail. This fixes that, and makes
the new predict_all behavior do something.
Not having it tends to spin the fans on people's laptops,
while enabling it doesn't really seem to have much effect,
as it just increases the framerate on otherwise-static
screens.
This fixes a problem where we'd update a screen, and something in
it would cause a redraw, that caused us to redraw the screen...
which means we'd never go into low frameratem mode.
This prevents the framerate from glitching out due to prediction
when the screen should be redrawn. (We'll still get a small
glitch when the screen is static, but that shouldn't
be visible.)
This cases Ren'Py to predict all displayables, not just the
currently selected one. It could be used, for example, to make
a ConditionSwitch that predicts all possible emotions of a
character.
This actually helps to reduce some memory consumption, as we can
toss the premultiplied texture early and rely on OpenGL to keep a
copy of the texture for us in video RAM or wherever OpenGL keeps
things.
Predicting takes place in the main thread, and can be expensive. We
don't want to hit the disk while predicting, so we check for that
case and abort the prediction, rather than taking the slowdown.
When loading an image, we scan for the bounding box of the
non-transparent sections, and only load that box into the
texture. This is a big win for common patterns, like photoshop
layers converted into pngs.
This fixes a problem where, if screens are present in two or more
files, two nodes can be created with the same serial number. These
could then cause caching problems, or one displyable being replaced
with another, when switching from one screen to the other.
Fixes#1340.
This prevents the call to the _after_load label from affecting
the value of _return in the game proper, which should be
preserved over a save and load.
Fixes#1330.
It now causes Ren'Py to check to see if anything handles the hide
or replace event, and only dispatches the event if something does,
which is much safer than ignoring it every time.
Fixes#1325.
This would cause the old dict to drop one item, which would fail
to be restored when the StoreBackup come into play before a load,
causing pickling problems.
This integrates with gui.rebuild, and make it possible to do things
like:
define gui.accent_color = gui.preference("accent_color", "#f00")
or
style say_dialogue:
italic gui.preference("italic", False)
Gui preferences are set with:
textbutton "Blue" action gui.SetPreference("accent_color", "#00f")
It does the same thing as define, except only once at init time.
This means that after re-running the GUI defines, they'll get
the updated value of a default gui variable.
The resolves obvious ambiguities in styles, like making xpos take
priority over xalign. (This is to fix an issue with gui.rpy where
we can supply both xalign and xpos.)
This fixes a problem that occurred when we had:
image a a:
zoom .5
image a b:
zoom .5
show a a
pause
show a b:
xoffset 10
The first zoom would be taken from a a, and put into the new
transform created by the show statement, and then we'd have
a b also contribute it's zoom, and so we'd have a .25 zoom
total.
0777826d introduces some major regressions, including breaking the
behavior of `{w}` and `{p}` tags, hyperlinks, and ruby text. This commit
correctly copies over the necessary information from `splits_from` in
the `Layout` constructor (as far as I can tell), and preserves the value
of `start_segment` in `Layout` objects so that it can be copied
properly.
It seems like when an android phone goes to sleep, it's possible
for something in the audio thread to block. That was causing the
audio periodic thread to block, and since the recent changes, the
main thread as well.
Now, we use a separate condition to tell the periodic thread to
run, so if the periodic thread is blocked, the main thread will
always make progress.
This probably also can improve performance of the main thread
in some rare cases.
Fixes#1301.
The garbage collector was tuned to run too frequently, to the point
where it would run during every .subsurface() call. This bumps up
the threshold significantly, preventing most GC.
This only matters when a frame is very slow - like if a ton of
rendering has to be done, on an unpredicted image load. If
rendering the first frame took .1 seconds, the second frame of
a transform and move would be .1 later than the first.
Now, it's 1 frame later - the .1s becomes time spent before
the first frame, rather than time spend between frames.
Intel chips seem to block on glClear, not the flip, so measuring
the flip speed could add pauses when none are appropriate. We now
only sleep once we accumulate enough fast frames.
x
* gl_powersave controls the framerate dropping behavior.
* gl_framerate locks the gl framerate.
* gl_tearing determines if tearing is allowed to keep framerate.
This commit makes Ren'Py smarter about where it starts and ends a
rollback object. Rather then for (essentially) every statement,
it only starts a new rollback after a checkpoint or an interaction
occurs. This makes Ren'Py much faster, to the tune of 1ms or so per
click.
This also avoids beginning or completing a rollback on trivial
statements - right now, BeginTranslate and EndTranslate are the
trival statements that are ignored.
This is used when we create a displayable with style="default" and
no properties, and saves about 10us each time we do that, which is
multiple times per frame.
This also changes Transform and certain Fixeds to use the default
style, to benefit from this.
Previously, Ren'Py would check to see if a transient displayable
(often a screen) had a _hide method. They never did, but this
could be very expensive.
Now, Ren'Py will just remove transient screens, avoiding
rendering things for no reason.
Compiling python take ~100 us, and it's something we'd have to do
multiple times per frame. This stores the compiled bytecode in
a cache, and tries to compile every PyExpr at parse/load to
seed that cache.
When we change a line, remove it, and re-add it, there's no
guarantee the next line is at the line number. (There could be a space
intervening.) So we have to search forward for the next line.
This works when a displayable is given the show event and its
button child generates the idle event - both are delivered to
the transform, with the one it supports being what it responds
to.
Per #1174.
This is one of the few places where Ren'Py reads from a file,
completely unpredictably. Hence, it's one of the few places
where disk access outside Ren'Py can block the main thread.
Now, audio files are opened in a special thread, leaving the
GUI thread to do its thing.
2017-10-20 22:35:13 -04:00
1099 changed files with 156475 additions and 72235 deletions
contents += _("# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n")
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -28,7 +28,7 @@ init python:
ANDROID_OK = 5
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 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 64-bit/x64 Java 8 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}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 create a new key, or restore android.keystore.")
NO_CONFIG_TEXT = _("The current project has not been configured. Use \"Configure\" to configure it before building.")
@@ -45,10 +45,11 @@ init python:
BUILD_AND_INSTALL_TEXT = _("Builds the Android package, and installs it on an Android device connected to your computer.")
BUILD_INSTALL_AND_LAUNCH_TEXT = _("Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device.")
CONNECT_TEXT = _("Connects to an Android device running ADB in TCP/IP mode.")
DISCONNECT_TEXT = _("Disconnects from an Android device running ADB in TCP/IP mode.")
LOGCAT_TEXT = _("Retrieves the log from the Android device and writes it to a file.")
DEBUG_TEXT = _("Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device.")
RELEASE_TEXT = _("Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device.")
import subprocess
import re
@@ -83,6 +84,8 @@ init python:
import rapt.interface
rapt.plat.renpy = True
rapt.plat.translate = __
else:
rapt = None
@@ -95,11 +98,9 @@ init python:
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.path("android-sdk/platforms/" + rapt.plat.target)):
if not os.path.exists(rapt.plat.adb):
return ANDROID_NO_SDK
if not os.path.exists(rapt.plat.path("android.keystore")):
return ANDROID_NO_KEY
if not os.path.exists(rapt.plat.path("local.properties")):
if not os.path.exists(rapt.plat.path("project/local.properties")):
return ANDROID_NO_KEY
if not os.path.exists(os.path.join(project.current.path, ".android.json")):
_("Please enter the IP address and port number to connect to, in the form \"192.168.1.143:5555\". Consult your device's documentation to determine if it supports remote ADB, and if so, the address and port to use."),
default=address,
cancel=Jump("android"),
)
address = address.strip()
try:
host, port = address.split(":")
except:
interface.error(_("Invalid remote ADB address"), _("The address must contain one exactly one ':'."), label=None)
continue
if " " in host:
interface.error(_("Invalid remote ADB address"), _("The host may not contain whitespace."), label=None)
continue
try:
int(port)
except:
interface.error(_("Invalid remote ADB address"), _("The port must be a number."), label=None)
# 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.
init python hide:
__("{} is not a directory.")
__("{} does not contain a Ren'Py game.")
__("Run configure before attempting to build the app.")
__("Google Play support is enabled, but build.google_play_key is not defined.")
__("Updating project.")
__("Creating assets directory.")
__("Creating expansion file.")
__("Packaging internal data.")
__("I'm using Gradle to build the package.")
__("Uploading expansion file.")
__("The build seems to have failed.")
__("Launching app.")
__("The build seems to have succeeded.")
__("The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks.")
__("What is the full name of your application? This name will appear in the list of installed applications.")
__("What is the short name of your application? This name will be used in the launcher, and for application shortcuts.")
__("What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot.")
__("The package name may not be empty.")
__("The package name may not contain spaces.")
__("The package name must contain at least one dot.")
__("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.")
__("What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions.")
__("The numeric version must contain only numbers.")
__("How would you like your application to be displayed?")
__("In landscape orientation.")
__("In portrait orientation.")
__("In the user's preferred orientation.")
__("Which app store would you like to support in-app purchasing through?")
__("Google Play.")
__("Amazon App Store.")
__("Both, in one app.")
__("Neither.")
__("Would you like to create an expansion APK?")
__("No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded.")
__("Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)")
__("Do you want to allow the app to access the Internet?")
__("Do you want to automatically update the generated project?")
__("Yes. This is the best choice for most projects.")
__("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\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without 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\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\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?")
__("I'm downloading the Android SDK. This might take a while.")
__("I'm extracting the Android SDK.")
__("I've finished unpacking the Android SDK.")
__("I'm about to download and install the required Android packages. This might take a while.")
__("I was unable to accept the Android licenses.")
__("I was unable to install the required Android packages.")
__("I've finished installing the required Android packages.")
__("You set the keystore yourself, so I'll assume it's how you want it.")
__("You've already created an Android keystore, so I won't create a new one for you.")
__("I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\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\n\You 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?")
__("Please enter your name or the name of your organization.")
__("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.")
__("It looks like you're ready to start packaging games.")
ED = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
ED = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 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
@@ -62,28 +62,52 @@ label new_project:
if persistent.projects_directory is None:
$ interface.error(_("The projects directory could not be set. Giving up."))
if not persistent.legacy:
python:
if persistent.legacy:
python:
check_language_support()
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_project_language = (_preferences.language or "english").title()
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] language project. Change the launcher language in preferences to create a project in another language."))
jump 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."))
python:
check_language_support()
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 "لبناء ملفات الأندرويد, الرجاء تحميل RAPT, ثم فك الضغط عن الملف ووضعه في مجلد رينباي. قد تحتاج لإعادة تشغيل رينباي ليعمل بشكل صحيح."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "تحتاج لنسخة برمجية من جافا تعتمد الـ 32-بت لتستطيع إنشاء ملفات الأندرويد على نظام الوندوز. حزمة JDK تختلف عن JRE, قد تكون الجافا لديك موجوده لكنها تفتقد الـ JDK. \n\n الرجاء {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}تحميل و تنصيب JDK{/a} ثم إعادة تشغيل رينباي"
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "تحتاج لنسخة برمجية من جافا تعتمد الـ 32-بت لتستطيع إنشاء ملفات الأندرويد على نظام الوندوز. حزمة JDK تختلف عن JRE, قد تكون الجافا لديك موجوده لكنها تفتقد الـ JDK. \n\n الرجاء {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}تحميل و تنصيب JDK{/a} ثم إعادة تشغيل رينباي"
# android.rpy:32
old "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."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
# gui.rpy:132
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 "Luodaksesi Android-sovelluksia, ole hyvä ja lataa RAPT, pura se, ja aseta se Ren'Py kansioon. Tämän jälkeen käynnistä Ren'Py uudelleen."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "32-bittinen Javan kehitystyökalu vaaditaan Android-sovellusten luomiseen Windowsilla. JDK on erilainen kuin JRE, joten on mahdollista, että sinulla on Java ilman JDK:ta.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}Lataa ja asenna JDK{/a}, ja sen jälkeen käynnistä Ren'Py uudelleen."
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "32-bittinen Javan kehitystyökalu vaaditaan Android-sovellusten luomiseen Windowsilla. JDK on erilainen kuin JRE, joten on mahdollista, että sinulla on Java ilman JDK:ta.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}Lataa ja asenna JDK{/a}, ja sen jälkeen käynnistä Ren'Py uudelleen."
# android.rpy:32
old "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."
new "## Les bordures de la zone contenant le nom du personnage dans l’ordre suivant gauche, haut, droite, bas."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Si « True » (vrai), l’arrière plan de zone du nom sera en mosaïque, si « False »(faux), l’arrière plan de la zone du nom sera mis à l’échelle."
old "# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n"
@@ -31,11 +31,11 @@ translate french strings:
# android.rpy:30
old "To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
new "Pour compiler les paquets Android, veuillez télécharger RAPT, le décompresser et le placer dans le répertoir de Ren’Py. Ensuite, redémarrez le lanceur Ren’Py."
new "Pour compiler les paquets Android, veuillez télécharger RAPT, le décompresser et le placer dans le répertoire de Ren’Py. Ensuite, redémarrez le lanceur Ren’Py."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Un Kit de Développement Java (JDK) 32 bits est nécessaire pour compiler les paquets Android depuis Windows. Le JDK n’est pas la même chose que le JRE, il est possible que Java soit installé sur votre machine sans le JDK.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}Téléchargez et installez le JDK{/a}, puis relancez le lanceur Ren’Py."
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Un Kit de Développement Java (JDK) 32 bits est nécessaire pour compiler les paquets Android depuis Windows. Le JDK n’est pas la même chose que le JRE, il est possible que Java soit installé sur votre machine sans le JDK.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}Téléchargez et installez le JDK{/a}, puis relancez le lanceur Ren’Py."
# android.rpy:32
old "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."
@@ -51,7 +51,7 @@ translate french strings:
# android.rpy:35
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
new "Choisissez « Compiler »(build) pour compiler le projet actuel ou connectez un appareil Android et choisissez « Compiler et installer » (Build & Install) pour l’installer sur l’appareil."
new "Choisissez « Compiler »(build) pour compiler le projet actuel ou connectez un appareil Android et choisissez « Compiler et installer » (Build & Install) pour l’installer sur l’appareil."
# android.rpy:37
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
@@ -59,11 +59,11 @@ translate french strings:
# android.rpy:38
old "Attempts to emulate an Android tablet.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentative d’émulation d'une tablette Android.\n\nLe contact est émulé par la souris, mails uniquement lorsque le bouton est pressé. La barre d’espace correspond au bouton menu et la touche PageUp correspond au bouton retour."
new "Tentative d’émulation d'une tablette Android.\n\nLe contact est émulé par la souris, mais uniquement lorsque le bouton est pressé. La barre d’espace correspond au bouton menu et la touche PageUp correspond au bouton retour."
# android.rpy:39
old "Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentative d’émulation d'une console télé basée sur Android, comme OUYA ou Fire TV.\n\n Le contrôleur est émulé par les touches fléchées, le bouton select par la touche Entrée, le bouton menu par la touche Echap, et le bouton retour par la touche PageUp."
# android.rpy:41
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
@@ -71,7 +71,7 @@ translate french strings:
# android.rpy:42
old "Configures the package name, version, and other information about this project."
new "Configure le nom du packet, sa version et d’autres informations à propos de ce projet."
new "Configure le nom du paquet, sa version et d’autres informations à propos de ce projet."
# android.rpy:43
old "Opens the file containing the Google Play keys in the editor.\n\nThis is only needed if the application is using an expansion APK. Read the documentation for more details."
@@ -87,7 +87,7 @@ translate french strings:
# android.rpy:46
old "Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device."
new "Compile le paquet Android, l’installe sur l’appareil Android connécté à votre ordinateur et lance l’application sur l’appareil."
new "Compile le paquet Android, l’installe sur l’appareil Android connecté à votre ordinateur et lance l’application sur l’appareil."
# android.rpy:48
old "Connects to an Android device running ADB in TCP/IP mode."
@@ -239,7 +239,7 @@ translate french strings:
# distribute.rpy:459
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
new "La compilation de la distribution a échoué :\n\nLe variable « build.directory_name » ne doit pas contenir d’espace, ni de virgule, ni de point-virgule."
new "La compilation de la distribution a échoué :\n\nLa variable « build.directory_name » ne doit pas contenir d’espace, ni de virgule, ni de point-virgule."
# distribute.rpy:504
old "No packages are selected, so there's nothing to do."
@@ -251,7 +251,7 @@ translate french strings:
# distribute.rpy:569
old "All packages have been built.\n\nDue to the presence of permission information, unpacking and repacking the Linux and Macintosh distributions on Windows is not supported."
new "Tous les paquets ont été contruits.\n\nDu fait de l’absence de systèmes de permissions sur Windows, il n’est pas possible de reconstruire les paquets construits sur GNU-Linux ou Mac OS sur Windows."
new "Tous les paquets ont été construits.\n\nDu fait de l’absence de systèmes de permissions sur Windows, il n’est pas possible de reconstruire les paquets construits sur GNU-Linux ou Mac OS sur Windows."
# distribute.rpy:752
old "Archiving files..."
@@ -259,7 +259,7 @@ translate french strings:
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
new "Décompression de l’application Machintosh pour calcul de la signature..."
new "Décompression de l’application Macintosh pour calcul de la signature..."
# distribute.rpy:1060
old "Signing the Macintosh application..."
@@ -287,7 +287,7 @@ translate french strings:
# distribute_gui.rpy:157
old "Build Distributions: [project.current.name!q]"
new "Construction des packets: [project.current.name!q]"
new "Construction des paquets: [project.current.name!q]"
# distribute_gui.rpy:171
old "Directory Name:"
@@ -319,7 +319,7 @@ translate french strings:
# distribute_gui.rpy:215
old "Build Packages:"
new "Compiler les packets:"
new "Compiler les paquets:"
# distribute_gui.rpy:234
old "Options:"
@@ -347,7 +347,7 @@ translate french strings:
# distribute_gui.rpy:271
old "Errors were detected when running the project. Please ensure the project runs without errors before building distributions."
new "Des erreurs ont été détectées lors de l’exécution du projet. Assurez-vous qu’il n'y ait plus d’erreur avant de compiler les paquets."
new "Des erreurs ont été détectées lors de l’exécution du projet. Assurez-vous qu’il n'y ait plus d’erreurs avant de compiler les paquets."
# distribute_gui.rpy:288
old "Your project does not contain build information. Would you like to add build information to the end of options.rpy?"
@@ -355,11 +355,11 @@ translate french strings:
# editor.rpy:150
old "{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input."
new "{b}Recommendé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités d’assistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen."
new "{b}Recommandé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités d’assistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen."
# editor.rpy:151
old "{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
new "{b}Recommendé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités d’assistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen. Sur GNU-Linux, Editra nécessite wxPython."
new "{b}Recommandé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités d’assistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen. Sur GNU-Linux, Editra nécessite wxPython."
# editor.rpy:167
old "This may have occured because wxPython is not installed on this system."
@@ -523,7 +523,7 @@ translate french strings:
# gui7.rpy:236
old "Select Accent and Background Colors"
new "Selectionner les couleurs des surbrillances et des arrière-plans"
new "Sélectionner les couleurs des surbrillances et des arrière-plans"
# gui7.rpy:250
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
@@ -606,8 +606,8 @@ translate french strings:
new "ERREUR"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Pendant que [what!q], une erreur est survenue:"
old "While [what!qt], an error occured:"
new "Pendant que [what!qt], une erreur est survenue:"
# interface.rpy:356
old "[exception!q]"
@@ -979,7 +979,7 @@ translate french strings:
# project.rpy:597
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
new "Choisissez le répertoire de projets avec le sélectionneur de fichier.\n{b}Il se peut que le sélectionneur de fichier s’ouvre derière cette fenêtre.{/b}"
new "Choisissez le répertoire de projets avec le sélectionneur de fichier.\n{b}Il se peut que le sélectionneur de fichier s’ouvre derrière cette fenêtre.{/b}"
# project.rpy:597
old "This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."
@@ -1107,7 +1107,7 @@ translate french strings:
# updater.rpy:97
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
new "{b}Recommendé.{/b} La version de Ren’Py qui devrait être utilisée pour tous les jeux récemment sortis."
new "{b}Recommandé.{/b} La version de Ren’Py qui devrait être utilisée pour tous les jeux récemment sortis."
# updater.rpy:102
old "Prerelease"
@@ -1115,7 +1115,7 @@ translate french strings:
# 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 Ren’Py qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalitées, mais par pour créer de nouveaux jeux."
new "Un aperçu de la prochaine version de Ren’Py qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalités, mais par pour créer de nouveaux jeux."
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text qui est placé dans l’écran « À propos ». Pour insérer une ligne vide entre deux paragraphes écrivez \\n\\n."
new "## Texte qui est placé dans l’écran « À propos ». Pour insérer une ligne vide entre deux paragraphes écrivez \\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."
new "## Un nom court pour le jeu qui sera utilisé pour les répertoires et le nom de l’exécutable. Il ne doit contenir que des caractères ASCII et ne doit pas contenir d’espace, de virgules ou de points-virgule."
new "## Un nom court pour le jeu qui sera utilisé pour les répertoires et le nom de l’exécutable. Il ne doit contenir que des caractères ASCII et ne doit pas contenir d’espace, de virgules ou de points-virgules."
# options.rpy:44
old "## Sounds and music"
@@ -63,7 +63,7 @@ translate french strings:
# options.rpy:71
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 "## Ces varaibles configurent les transitions qui sont utilisées quand certains événements surviennent. Chaque variable peuvent être configurée pour une transition. La valeur None indique qu’aucune transition ne doit être utilisée."
new "## Ces variables configurent les transitions qui sont utilisées quand certains événements surviennent. Chaque variable peuvent être configurée pour une transition. La valeur None indique qu’aucune transition ne doit être utilisée."
# options.rpy:75
old "## Entering or exiting the game menu."
@@ -107,7 +107,7 @@ translate french strings:
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Le délai d’avancée automatique. Des nombres importants entraîne une longue attente. Des valeurs réputées correctes sont comprises dans une plage allant de 0 à 30."
new "## Le délai d’avancée automatique. Des nombres importants entraînent une longue attente. Des valeurs réputées correctes sont comprises dans une plage allant de 0 à 30."
# options.rpy:129
old "## Save directory"
@@ -115,7 +115,7 @@ translate french strings:
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Ces valeurs, dépendant de la plateforme, détermine l’emplacement où Ren’Py stockera les fichiers de sauvegarde. Les fichiers de sauvegardes seront stockés dans :"
new "## Ces valeurs, dépendant de la plateforme, déterminent l’emplacement où Ren’Py stockera les fichiers de sauvegarde. Les fichiers de sauvegardes seront stockés dans :"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -192,4 +192,3 @@ translate french strings:
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Le nom d’utilisateur et du projet associé au projet itch.io, séparé par un slash."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
# gui.rpy:132
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."
old "Enter the name of the script file to create."
new "Geben Sie den Namen der Script-Datei ein, um sie zu erstellen."
new "Geben Sie den Namen der zu erstellenden Script-Datei ein."
# add_file.rpy:31
old "The filename must have the .rpy extension."
@@ -34,8 +34,8 @@ translate german strings:
new "Um eine Android-Datei zu erstellen, laden Sie bitte RAPT herunter, entpacken Sie es und platzieren Sie es im Ren’Py Verzeichnis. Starten Sie dann bitte Ren’Py neu."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Ein 32-bit Java-Development-Kit wird benötigt, um Android-Packages auf Windows zu erstellen. Das JDK unterscheidet sich vom JRE, daher ist es möglich, dass Sie Java ohne das JDK installiert haben.\n\nBitte {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}laden Sie das JDK herunter und installieren Sie es{/a}, dann starten Sie den Ren’Py-Launcher neu."
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Ein x86 Java-Development-Kit wird benötigt, um Android-Packages auf Windows zu erstellen. Das JDK unterscheidet sich vom JRE, daher ist es möglich, dass Sie Java ohne das JDK installiert haben.\n\nBitte {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}laden Sie das JDK herunter und installieren Sie es{/a}, dann starten Sie den Ren’Py-Launcher neu."
# android.rpy:32
old "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."
@@ -235,7 +235,7 @@ translate german strings:
# distribute.rpy:443
old "Scanning project files..."
new "Projektdateien werden geprüft …"
new "Projektdateien werden geprüft..."
# distribute.rpy:459
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
@@ -247,7 +247,7 @@ translate german strings:
# distribute.rpy:516
old "Scanning Ren'Py files..."
new "Ren’Py-Dateien werden geprüft …"
new "Ren’Py-Dateien werden geprüft..."
# distribute.rpy:569
old "All packages have been built.\n\nDue to the presence of permission information, unpacking and repacking the Linux and Macintosh distributions on Windows is not supported."
@@ -255,7 +255,7 @@ translate german strings:
# distribute.rpy:752
old "Archiving files..."
new "Dateien werden archiviert …"
new "Dateien werden archiviert..."
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
@@ -335,7 +335,7 @@ translate german strings:
# distribute_gui.rpy:242
old "Force Recompile"
new "Force Recompile"
new "Neu kompilieren"
# distribute_gui.rpy:246
old "Build"
@@ -409,6 +409,10 @@ translate german strings:
old "Open [text] directory."
new "Open [text] directory."
# front_page.rpy:91
old "PROJECTS:"
new "PROJEKTE:"
# front_page.rpy:93
old "refresh"
new "Aktualisieren"
@@ -469,6 +473,10 @@ translate german strings:
old "All script files"
new "Alle Dateien"
# front_page.rpy:221
old "Actions"
new "Aktionen"
# front_page.rpy:223
old "Navigate Script"
new "Skript navigieren"
@@ -479,7 +487,7 @@ translate german strings:
# front_page.rpy:237
old "Change/Update GUI"
new "Change/Update GUI"
new "GUI anpassen/aktualisieren"
# front_page.rpy:239
old "Change Theme"
@@ -487,7 +495,7 @@ translate german strings:
# front_page.rpy:242
old "Delete Persistent"
new "Persistent-Dateien löschen"
new "Persistenz-Dateien löschen"
# front_page.rpy:251
old "Build Distributions"
@@ -511,11 +519,11 @@ translate german strings:
# front_page.rpy:272
old "Checking script for potential problems..."
new "Überprüft Script auf potentielle Probleme …"
new "Überprüfe Script auf potentielle Probleme..."
# front_page.rpy:287
old "Deleting persistent data..."
new "Löscht Persistent-Dateien …"
new "Lösche Persistent-Dateien..."
# front_page.rpy:295
old "Recompiling all rpy files into rpyc files..."
@@ -606,8 +614,8 @@ translate german strings:
new "FEHLER"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Während [what!q] ist ein Fehler aufgetreten:"
old "While [what!qt], an error occured:"
new "Während [what!qt] ist ein Fehler aufgetreten:"
# interface.rpy:356
old "[exception!q]"
@@ -879,7 +887,7 @@ translate german strings:
# preferences.rpy:94
old "Projects directory: [text]"
new "Projects directory: [text]"
new "Projektverzeichnis: [text]"
# preferences.rpy:96
old "Not Set"
@@ -891,7 +899,7 @@ translate german strings:
# preferences.rpy:117
old "Text editor: [text]"
new "Texteditor: [text]"
new "Texteditor: [text]"
# preferences.rpy:133
old "Update Channel:"
@@ -923,11 +931,15 @@ translate german strings:
# preferences.rpy:174
old "Show edit file section"
new "Show edit file section"
new "'Dateien bearbeiten' anzeigen"
# preferences.rpy:175
old "Large fonts"
new "Large fonts"
new "Große Schriftarten"
# preferences.rpy:182
old "Sponsor message"
new "Sponsoren-Hinweis"
# preferences.rpy:178
old "Console output"
@@ -967,7 +979,7 @@ translate german strings:
# project.rpy:242
old "Ren'Py is scanning the project..."
new "Ren’Py scannt das Projekt …"
new "Ren’Py scannt das Projekt..."
# project.rpy:568
old "Launching"
@@ -1031,7 +1043,7 @@ translate german strings:
# translations.rpy:224
old "Ren'Py is generating translations...."
new "Ren’Py erstellt Übersetzungen …"
new "Ren’Py erstellt Übersetzungen..."
# translations.rpy:235
old "Ren'Py has finished generating [language] translations."
@@ -1087,7 +1099,7 @@ translate german strings:
# translations.rpy:374
old "Ren'Py is extracting dialogue...."
new "Ren’Py extrahiert Dialoge …"
new "Ren’Py extrahiert Dialoge..."
# translations.rpy:378
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
# gui.rpy:132
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 "Για να χτίσετε πακέτα για το Android, παρακαλούμε κατεβάστε το RAPT και τοποθετήστε το στον φάκελο της Ren'Py. Κατόπιν αυτού, επανεκκινήστε τον Εκκινητή."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Αν εργάζεστε σε Windows, για τη δημιουργία πακέτων Android, απαιτείται ένα 32-bit Java Development Kit. Το JDK είναι διαφορετικό του JRE, οπότε μπορεί να έχετε Java χωρίς όμως να έχετε το JDK. Παρακαλoύμε λοιπόν να {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html} κατεβάσετε κι εγκαταστήσετε από εδώ το JDK{/a} και κατόπιν να επανεκκινήσετε τον Εκκινητή της Ren'Py. "
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Αν εργάζεστε σε Windows, για τη δημιουργία πακέτων Android, απαιτείται ένα x86 Java Development Kit. Το JDK είναι διαφορετικό του JRE, οπότε μπορεί να έχετε Java χωρίς όμως να έχετε το JDK. Παρακαλoύμε λοιπόν να {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html} κατεβάσετε κι εγκαταστήσετε από εδώ το JDK{/a} και κατόπιν να επανεκκινήσετε τον Εκκινητή της Ren'Py. "
# android.rpy:32
old "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."
new "Untuk membuat package Android, silahkan download RAPT, unzip/extrak, dan taruh di direktori Ren,Py. Dan restart launcher Ren'Py."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Java Development Kit 32-bit di perlukan untuk membuat package Android di Windows, JDK itu berbeda dari JRE, jadi sangat mungkin kamu memiliki java tanpa JDK\n\nTolong {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}Download dan install JDK{/a}, lalu restart launcher Ren'Py "
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Java Development Kit 32-bit di perlukan untuk membuat package Android di Windows, JDK itu berbeda dari JRE, jadi sangat mungkin kamu memiliki java tanpa JDK\n\nTolong {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}Download dan install JDK{/a}, lalu restart launcher Ren'Py "
# android.rpy:32
old "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."
@@ -606,8 +606,8 @@ translate indonesian strings:
new "ERROR"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Kesalahan terjadi ketika : [what!q] adalah :"
old "While [what!qt], an error occured:"
new "Kesalahan terjadi ketika : [what!qt] adalah :"
# interface.rpy:356
old "[exception!q]"
@@ -1253,7 +1253,7 @@ translate indonesian strings:
new "Navigasi: [project.current.display_name!q]"
# new_project.rpy:71
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
old "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."
new "Kamu akan membuat bahasa proyek : [new_project_language]. Ganti bahasa launcher di pengaturan untuk membuat proyek dalam bahasa lain."
# preferences.rpy:187
@@ -1271,4 +1271,3 @@ translate indonesian strings:
# translations.rpy:343
old "Extract Dialogue: [project.current.display_name!q]"
new "Extrak Dialog: [project.current.display_name!q]"
new "Per compilare un pacchetto di Android si prega di scaricare RAPT, estrarlo, posizionarlo nella cartella di Ren'Py e riavviare il launcher di Ren'Py."
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "La versione a 32-bit del Java Development Kit é necessaria per compilare pacchetti Android su Windows. Il JDK é diverso dal JRE ed é quindi possibile che tu abbia installato Java senza però aver installato il JDK.\n\nSi prega di {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}scaricare ed installare il JDK{/a} e, successivamente, riavviare il launcher di Ren'Py."
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "La versione a 32-bit del Java Development Kit é necessaria per compilare pacchetti Android su Windows. Il JDK é diverso dal JRE ed é quindi possibile che tu abbia installato Java senza però aver installato il JDK.\n\nSi prega di {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}scaricare ed installare il JDK{/a} e, successivamente, riavviare il launcher di Ren'Py."
# android.rpy:32
old "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."
@@ -606,8 +606,8 @@ translate italian strings:
new "ERRORE"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Durante [what!q], si é verificato un errore:"
old "While [what!qt], an error occured:"
new "Durante [what!qt], si é verificato un errore:"
new "Android パッケージをビルドするには、RAPT をダウンロード・展開し、Ren'Py のディレクトリーに設置して下さい。その後、Ren'Py を再起動して下さい。"
# android.rpy:31
old "A 32-bit Java 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=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
old "An x86 Java 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
old "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."
@@ -51,7 +51,7 @@ translate japanese strings:
# android.rpy:35
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルド & インストール」を選択し、ビルド後そのデバイスにインストールしてください。"
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルドとインストール」を選択し、そのデバイスにインストールしてください。"
# android.rpy:37
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
@@ -135,7 +135,7 @@ translate japanese strings:
# android.rpy:365
old "Configure"
new "設定"
new "構成の設定"
# android.rpy:369
old "Build Package"
@@ -143,7 +143,7 @@ translate japanese strings:
# android.rpy:373
old "Build & Install"
new "ビルド & インストール"
new "ビルドとインストール"
# android.rpy:377
old "Build, Install & Launch"
@@ -563,7 +563,7 @@ translate japanese strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初期のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が合理的な妥協サイズです。"
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は最初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が理にかなった推奨サイズです。"
# gui7.rpy:389
old "Creating the new project..."
@@ -606,8 +606,8 @@ translate japanese strings:
new "エラー"
# interface.rpy:356
old "While [what!q], an error occured:"
new "[what!q] 中にエラーが発生しました:"
old "While [what!qt], an error occured:"
new "[what!qt] 中にエラーが発生しました:"
# interface.rpy:356
old "[exception!q]"
@@ -623,7 +623,7 @@ translate japanese strings:
# interface.rpy:386
old "File and directory names must consist of ASCII characters."
new "ファイル、ディレクトリー名はアスキーコードの文字列で構成される必要があります。"
new "ファイル、ディレクトリー名はアスキーコードの文字列でなければなりません。"
# interface.rpy:454
old "PROCESSING"
@@ -1221,7 +1221,7 @@ translate japanese strings:
new "ナビゲーション: [project.current.display_name!q]"
# new_project.rpy:71
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
old "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."
new "日本語のプロジェクトを作成します。別の言語のプロジェクトを作成するには、設定でランチャーの言語を変更してください。"
# preferences.rpy:187
@@ -1244,3 +1244,456 @@ translate japanese strings:
old "Extract Dialogue: [project.current.display_name!q]"
new "台詞の抽出: [project.current.display_name!q]"
translate japanese strings:
# dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
new "Ren'Py が読み取り専用フォルダーで起動しています。使えない機能があります。"
# dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "原因は Ren'Py が Macintosh drive image から直接起動しているためだと思われます.。この問題を解決するには、ランチャーを閉じて %s フォルダー全体をコンピューターのどこか別の場所へ移動してから、もう一度 Ren'Py を起動してみてください。"
# gui7.rpy:357
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
new "カスタム。GUI は 16:9 のアスペクト比に最適化されています。"
# gui7.rpy:372
old "WIDTH"
new "画面の幅"
# gui7.rpy:372
old "Please enter the width of your game, in pixels."
new "ピクセルでゲーム画面の幅を入力してください。"
# gui7.rpy:377
old "The width must be a number."
new "画面の幅は数字でなければなりません。"
# gui7.rpy:379
old "HEIGHT"
new "画面の高さ"
# gui7.rpy:379
old "Please enter the height of your game, in pixels."
new "ピクセルでゲーム画面の高さを入力してください。"
# gui7.rpy:384
old "The height must be a number."
new "画面の高さは数字でなければなりません。"
translate japanese strings:
# editor.rpy:152
old "(Recommended) A modern and approachable text editor."
new "(推奨)モダンで親しみやすいテキストエディターです。"
# editor.rpy:164
old "Up to 150 MB download required."
new "最大 150 MB のダウンロードが必要です。"
# editor.rpy:178
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input."
new "成熟したエディターです。Editra は中国語・韓国語・日本語の入力に必要な IME のサポートに欠陥があります。"
# editor.rpy:179
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
new "成熟したエディターです。Editra は中国語・韓国語・日本語の入力に必要な IME のサポートに欠陥があります。Linux では Editra は wxpython を必要とします。"
# editor.rpy:219
old "System Editor"
new "システムエディタ―"
# editor.rpy:235
old "None"
new "無効"
# editor.rpy:338
old "Edit [text]."
new "Edit [text]."
# front_page.rpy:215
old "Open project"
new "プロジェクトを開く"
# front_page.rpy:221
old "Actions"
new "アクション"
translate japanese strings:
# game/add_file.rpy:37
old "The file name may not be empty."
new "ファイル名が与えられていません。"
# game/android.rpy:31
old "A 64-bit/x64 Java 8 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=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "ウィンドウズでアンドロイドパッケージをビルドするには、 64-bit/x64 Java 8 Development Kit が必要になります。 JDK は JRE とは違うもので、Java には含まれていません。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}から JDK をダンロードしてインストールし{/a}、それから Ren'Py ランチャーを再起動してください。"
# game/android.rpy:50
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
new "Android Studio からアクセスできるデバッグビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
# game/android.rpy:51
old "Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device."
new "ストアへアップロード可能なリリースビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
# game/androidstrings.rpy:7
old "{} is not a directory."
new "{} はディレクトリーではありません。"
# game/androidstrings.rpy:8
old "{} does not contain a Ren'Py game."
new "{} に Ren'Py のゲームは含まれていません。"
# game/androidstrings.rpy:9
old "Run configure before attempting to build the app."
new "アプリをビルドする前に構成を変更する。"
# game/androidstrings.rpy:10
old "Google Play support is enabled, but build.google_play_key is not defined."
new "Google Play サポートは有効になりましたが、 build.google_play_key が定義されていません。"
# game/androidstrings.rpy:11
old "Updating project."
new "プロジェクトを更新しています。"
# game/androidstrings.rpy:12
old "Creating assets directory."
new "アセットディレクトリーを作成しています"
# game/androidstrings.rpy:13
old "Creating expansion file."
new "拡張ファイルを作成しています。"
# game/androidstrings.rpy:14
old "Packaging internal data."
new "内部データをパッケージングしています。"
# game/androidstrings.rpy:15
old "I'm using Gradle to build the package."
new "パッケージのビルドに Gradle を使用しています。"
# game/androidstrings.rpy:16
old "Uploading expansion file."
new "拡張ファイルをアップロードしています。"
# game/androidstrings.rpy:17
old "The build seems to have failed."
new "ビルドに失敗したようです"
# game/androidstrings.rpy:18
old "Launching app."
new "アプリを起動しています。"
# game/androidstrings.rpy:19
old "The build seems to have succeeded."
new "ビルドに成功したようです。"
# game/androidstrings.rpy:20
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
new "arm64-v8a version は新しいアンドロイドデバイスで動きます。 armeabi-v7a version は古いデバイスで動きます。 the x86_64 version はシミュレーターやクロームブックで動きます。"
# game/androidstrings.rpy:21
old "What is the full name of your application? This name will appear in the list of installed applications."
new "アプリのフルネームはなんですか? フルネームはインストール済みアプリの一覧に表示されます。"
# game/androidstrings.rpy:22
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
new "アプリのショートネームは何ですか? ショートネームはランチャーやショートカットで使われます。"
# game/androidstrings.rpy:23
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
new "パッケージ名はなんですか?\n\nこれは通常 com.domain.program や com.domain.email.program の形を取ります。 ASCII 文字とドットのみで構成され、最低一つのドットを含まなければなりません。"
# game/androidstrings.rpy:24
old "The package name may not be empty."
new "パッケージ名が与えられていません。"
# game/androidstrings.rpy:25
old "The package name may not contain spaces."
new "パッケージ名はスペースを含んではいけません。"
# game/androidstrings.rpy:26
old "The package name must contain at least one dot."
new "パッケージ名は最低一つのドットを含まなければなりません。"
# game/androidstrings.rpy:27
old "The package name may not contain two dots in a row, or begin or end with a dot."
new "パッケージ名は2つのドットが連続したり、最初や最後がドットになってはいけません。"
# game/androidstrings.rpy:28
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
new "パッケージ名の各部分は文字から始めまり、文字・数字・アンダースコアのみを使用しなければなりません"
# game/androidstrings.rpy:29
old "{} is a Java keyword, and can't be used as part of a package name."
new "{} は Java のキーワードのため、パッケージ名に使用することはできません。."
# game/androidstrings.rpy:30
old "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."
new "アプリケーションのバージョンはなんですか?\n\nバージョンは他の人に分かりやすい名前にします。数字とドットのみが使用できます。"
# game/androidstrings.rpy:31
old "The version number must contain only numbers and dots."
new "バージョンナンバーは数字とドットのみが使用できます。"
# game/androidstrings.rpy:32
old "What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions."
new "バージョンコードは何ですか?\n\nこれは正の整数で、バージョンが上がるごとに増えていきます。"
# game/androidstrings.rpy:33
old "The numeric version must contain only numbers."
new "バージョンコードは数字のみが使用できます。"
# game/androidstrings.rpy:34
old "How would you like your application to be displayed?"
new "どのようにアプリケーションを表示したいですか?"
# game/androidstrings.rpy:35
old "In landscape orientation."
new "ランドスケープ(横向き)"
# game/androidstrings.rpy:36
old "In portrait orientation."
new "ポートレイト(縦向き)"
# game/androidstrings.rpy:37
old "In the user's preferred orientation."
new "ユーザーが選択した向き"
# game/androidstrings.rpy:38
old "Which app store would you like to support in-app purchasing through?"
new "アプリ内課金をどのアプリストアに対応させますか?"
# game/androidstrings.rpy:39
old "Google Play."
new "Google Play"
# game/androidstrings.rpy:40
old "Amazon App Store."
new "Amazon App Store"
# game/androidstrings.rpy:41
old "Both, in one app."
new "一つのアプリで両方とも"
# game/androidstrings.rpy:42
old "Neither."
new "どちらも対応させない"
# game/androidstrings.rpy:43
old "Would you like to create an expansion APK?"
new "APK 拡張ファイルを作成しますか?"
# game/androidstrings.rpy:44
old "No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded."
new "いいえ。Google Play では100MBのサイズ制限がありますが、他のストアを通したり、直接配布することが可能です。"
# game/androidstrings.rpy:45
old "Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)"
new "はい。2GBのサイズまで作成できますが、 Google Play 以外では動きません。(ドキュメンテーションを参照してください。)"
# game/androidstrings.rpy:46
old "Do you want to allow the app to access the Internet?"
new "アプリのインターネット接続を許可しますか?"
# game/androidstrings.rpy:47
old "Do you want to automatically update the generated project?"
new "作成したプロジェクトを自動的に更新させますか?"
# game/androidstrings.rpy:48
old "Yes. This is the best choice for most projects."
new "はい。多くのプロジェクトで最良の選択です。"
# game/androidstrings.rpy:49
old "No. This may require manual updates when Ren'Py or the project configuration changes."
new "いいえ。Ren'Py やプロジェクトの構成が変更されるごとに、手動でアップデートする必要があります。"
# game/androidstrings.rpy:50
old "Unknown configuration variable: {}"
new "未知の構成変数: {}"
# game/androidstrings.rpy:51
old "I'm compiling a short test program, to see if you have a working JDK on your system."
new "小さなテストプログラムをコンパイルして、あなたのシステムで JDK が動作するか確認しています。"
# game/androidstrings.rpy:52
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\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue."
new "テストファイルのコンパイルに javac が利用できません。Java Development Kit をダウンロードしていないなら、\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードしてください。 JDK は JRE とは違うもので、Java には含まれていません。JDK がなければ継続できません。"
# game/androidstrings.rpy:53
old "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\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
old "Do you accept the Android SDK Terms and Conditions?"
new "Android SDK の契約内容・条件を承諾しますか?"
# game/androidstrings.rpy:57
old "I'm downloading the Android SDK. This might take a while."
new "Android SDK をダウンロードしています。この処理にはしばらくかかります。"
# game/androidstrings.rpy:58
old "I'm extracting the Android SDK."
new "Android SDK を解凍しています。"
# game/androidstrings.rpy:59
old "I've finished unpacking the Android SDK."
new "Android SDK の解凍を完了しました。"
# game/androidstrings.rpy:60
old "I'm about to download and install the required Android packages. This might take a while."
new "必要な Android パッケージをダウンロードしてインストールしようとしています。この処理にはしばらくかかります。"
# game/androidstrings.rpy:61
old "I was unable to accept the Android licenses."
new "Android ライセンスを承諾出来ませんでした。"
# game/androidstrings.rpy:62
old "I was unable to install the required Android packages."
new "必要な Android パッケージをインストールできませんでした。"
# game/androidstrings.rpy:63
old "I've finished installing the required Android packages."
new "必要な Android パッケージのインストールが終了しました。"
# game/androidstrings.rpy:64
old "You set the keystore yourself, so I'll assume it's how you want it."
new "keystore が設定されているため、あなた自身で設定したいのだと判断しました。"
# game/androidstrings.rpy:65
old "You've already created an Android keystore, so I won't create a new one for you."
new "Android keystore が既に作成済みのため、新しい keystore の作成は行いません。"
# game/androidstrings.rpy:66
old "I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?"
new "アプリケーションに署名するキーを発行できます。このキーでアプリケーションに署名すると、アンドロイドマーケットや他のストアで配布できるようになります。\n\nキーを作成しますか?"
# game/androidstrings.rpy:67
old "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\n\\You 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?"
new "android.keystore ファイルを作成します。\n\nこのファイルはバックアップしてください。もし失くした場合はアプリをアップグレードすることが出来なくなります。\n\nまた、このファイルは安全な場所に保管してください。このファイルが悪意のある人間の手に渡ると、アプリのフェイクバージョンを作られたり、ユーザーデータを盗まれる恐れがあります。\n\nandroid.keystore のバックアップを作成し、安全な場所に保存しますか?"
# game/androidstrings.rpy:68
old "Please enter your name or the name of your organization."
new "あなたの名前か組織名を入力してください。"
# game/androidstrings.rpy:69
old "Could not create android.keystore. Is keytool in your path?"
new "android.keystore を作成できませんでした。keytool があなたのパスに存在しますか?"
# game/androidstrings.rpy:70
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
new "android.keystore の作成を終了しました。 このファイルをバックアップして、安全な場所に保管してください。"
# game/androidstrings.rpy:71
old "It looks like you're ready to start packaging games."
new "ゲームのパッケージングの準備が整ったようです。"
# game/choose_theme.rpy:507
old "changing the theme"
new "テーマを変更しています。"
# game/front_page.rpy:252
old "Web"
new "Web"
# game/front_page.rpy:252
old "(Beta)"
new "(Beta)"
# game/gui7.rpy:429
old "creating a new project"
new "新しいプロジェクトを作成しています。"
# game/gui7.rpy:433
old "activating the new project"
new "新しいプロジェクトを認証しています。"
# game/interface.rpy:372
old "opening the log file"
new "ログファイルを開いています。"
# game/itch.rpy:43
old "Downloading the itch.io butler."
new "itch.io butler をダウンロードしています。"
# game/updater.rpy:101
old "The update channel controls the version of Ren'Py the updater will download."
new "アップロードチャンネルはアップデーターのバージョンをコントロールします。"
# game/updater.rpy:110
old "• This version is installed and up-to-date."
new "• このバージョンは最新の状態でインストールされています。"
# game/updater.rpy:118
old "%B %d, %Y"
new "%B %d, %Y"
# game/updater.rpy:188
old "Fetching the list of update channels"
new "アップデートチャンネルのリストを取得しています。"
# game/updater.rpy:194
old "downloading the list of update channels"
new "アップデートチャンネルのリストをダウンロードしています。"
# game/updater.rpy:198
old "parsing the list of update channels"
new "アップデートチャンネルのリストを解析しています。"
# game/web.rpy:118
old "Web: [project.current.display_name!q]"
new "Web: [project.current.display_name!q]"
# game/web.rpy:148
old "Build Web Application"
new "ウェブアプリケーションをビルドする"
# game/web.rpy:149
old "Build and Open in Browser"
new "ビルドしてブラウザで開く"
# game/web.rpy:150
old "Open in Browser"
new "ブラウザで開く"
# game/web.rpy:151
old "Open build directory"
new "ビルドしたディレクトリーを開く"
# game/web.rpy:155
old "Support:"
new "サポート:"
# game/web.rpy:163
old "RenPyWeb Home"
new "RenPyWeb ホーム"
# game/web.rpy:164
old "Beuc's Patreon"
new "Beuc's Patreon"
# game/web.rpy:182
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
new "Ren'Py ウェブアプリケーションは、ゲームをスタートする前に、プレイヤーのコンピューターにデータを全てダウンロードする必要があります。"
# game/web.rpy:186
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
new "現在のウェブプラットホームの限界により、一般的なパフォーマンスの低下や、大きな画像・音声・動画ファイルのロードによる音声やフレームレートの異常が発生します。"
# game/web.rpy:195
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
new "ウェブアプリをパッケージングするために、RenPyWeb (Ren'Py's web support) をダウンロードする必要があります。 RenPyWeb をダウンロードしますか?"
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## 人が読みやすいゲーム名。ゲーム名はデフォルトのウィンドウタイトルに使われる他、インターフェースやエラーリポートにも表示されます。"
new "## 人の目で読み取れるゲーム名。ゲーム名はデフォルトのウィンドウタイトルに使われる他、インターフェースやエラーリポートにも表示されます。"
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
@@ -51,19 +51,19 @@ translate japanese 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 "## サウンドやボイスの設定画面でユーザーがテストサウンドを再生できるようにしたい場合、以下の行をアンコメントしてサンプルサウンドを指定します。"
new "## サウンドやボイスの設定画面で、ユーザーがテストサウンドを再生可能にする場合、以下の行をアンコメントしてサンプルサウンドを指定します。"
# 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 "## 次の行をアンコメントしてオーディオファイルを指定すると、メインメニューで再生することができます。このファイルは、停止するか他の音楽が再生されない限りゲーム中で流れ続けます。"
new "## 次の行をアンコメントしてオーディオファイルを指定すると、メインメニューで再生されます。このファイルは、停止するか他の音楽が再生されない限りゲーム中で流れ続けます。"
# options.rpy:69
old "## Transitions"
new "## トランジション(画面遷移効果)"
new "## トランジション"
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 以下の変数は、メニュー切り替えなどのイベントに対するトランジションを設定します。各変数にはトランジションオブジェクトを指定します。トランジションを使わない場合は None に設定します。"
new "## 以下の変数は、メニュー切り替えなどのイベントに対するトランジションを設定します。各変数にはトランジションを指定します。トランジションを使わない場合は None に設定します。"
# options.rpy:75
old "## Entering or exiting the game menu."
@@ -79,7 +79,7 @@ translate japanese 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 "## メインメニューからゲームを開始する時のトランジションは、ここでは設定できません。代わりに、ゲーム開始後の最初のシーンで with ステートメント(文)を使ってください。"
new "## メインメニューからゲームを開始する時のトランジションは、ここでは設定できません。代わりに、ゲーム開始後の最初のシーンで with ステートメントを使ってください。"
# options.rpy:96
old "## Window management"
@@ -91,7 +91,7 @@ translate japanese strings:
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## ゲーム開始後は、\"window show\"、\"window hide\"、\"window auto\" ステートメントで変更することができます。"
new "## ゲーム開始後でも \"window show\"、\"window hide\"、\"window auto\" ステートメントで変更することができます。"
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
@@ -199,5 +199,19 @@ translate japanese strings:
# options.rpy:196
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Mac のコード署名を有効にするため Apple Developer ID アプリケーション を含む文字列を設定します。必ず Apple が発行したあなたの ID に変更してください。"
new "## Mac のコード署名を有効にするために Apple Developer ID アプリケーション を含む文字列を設定します。必ず Apple が発行したあなたの ID に変更してください。"
translate japanese strings:
# options.rpy:81
old "## Between screens of the game menu."
new "## ゲームメニューのスクリーンを切り替える時のトランジション。"
translate japanese strings:
# 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 "## About(バージョン情報)スクリーンに表示されるテキスト。トリプルクオートの間にテキストを入力します。段落の間には空行を挿入して下さい。"
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## このスクリーンは、テキストを表示するために \"what\" のIDを持つ text displayable(表示可能オブジェクト)を必ず作成しなければなりません。また、スタイルのプロパティを適用するために、ID \"who\" とID \"window\" を持つ text displayable も作成するといいでしょう。"
new "## このスクリーンは、テキストを表示するために \"what\" のIDを持つ text displayableを必ず作成しなければなりません。また、スタイルのプロパティを適用するために、ID \"who\" とID \"window\" を持つ text displayable も作成するといいでしょう。"
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -39,7 +39,7 @@ translate japanese strings:
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## このスクリーンは input のパラメーター を受け付けるために \"input\" をIDに持つ input displayable(表示可能オブジェクト)を作成する必要があります。"
new "## このスクリーンは input のパラメーター を受け付けるために \"input\" をIDに持つ input displayableを作成する必要があります。"
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -51,7 +51,7 @@ translate japanese strings:
# 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 "## このスクリーンは、ゲーム内の選択肢を表示するのに使います。items のパラメーターは caption(選択肢のテキスト)と action(クリック時の実行内容)を要素に持つオブジェクトのリスト(配列)です。"
new "## このスクリーンは、ゲーム内の選択肢を表示する menu ステートメントに使います。items のパラメーターは caption(選択肢のテキスト)と action(クリック時の実行内容)を要素に持つオブジェクトのリスト(配列)です。"
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -67,7 +67,7 @@ translate japanese strings:
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## クイックメニューはゲーム中つねに表示されるスクリーンで、ゲーム外の機能に素早くアクセスすることができます。"
new "## クイックメニューはゲーム中に常時表示されるスクリーンで、ゲーム外の機能に素早くアクセスすることができます。"
# screens.rpy:251
old "## Ensure this appears on top of other screens."
@@ -166,7 +166,7 @@ translate japanese strings:
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Ren'py が起動した時に表示されるメインメニューを表示するスクリーンです。"
new "## Ren'Py が起動した時に表示されるメインメニューを表示するスクリーンです。"
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -182,7 +182,7 @@ translate japanese strings:
# 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 "## use 文は、他のスクリーンを現在のスクリーンの内に表示するのに使います。メインメニューの実際のコンテンツは navigation(ナビゲーション)スクリーンです。"
new "## use ステートメントは、他のスクリーンを現在のスクリーンの内に表示するのに使います。メインメニューの実際のコンテンツは navigation(ナビゲーション)スクリーンです。"
# screens.rpy:413
old "## Game Menu screen"
@@ -218,7 +218,7 @@ translate japanese 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."
new "## 次の use 文は game_menu(ゲームメニュー)スクリーンをこのスクリーンの内に表示しています。use 文の子(内包されたオブジェクト)の vbox は game_menu スクリーンの中の viewport に配置されます。"
new "## 次の use ステートメントは game_menu(ゲームメニュー)スクリーンをこのスクリーンの内に表示しています。use 文の子(内包されたオブジェクト)の vbox は game_menu スクリーンの中の viewport に配置されます。"
old "The interactive director is not enabled here."
new "인터렉티브 디렉터는 여기에서 사용할 수 없습니다."
# 00director.rpy:1481
old "⬆"
new "⬆"
# 00director.rpy:1487
old "⬇"
new "⬇"
# 00director.rpy:1551
old "Done"
new "완료"
# 00director.rpy:1561
old "(statement)"
new "(명령문)"
# 00director.rpy:1562
old "(tag)"
new "(태그)"
# 00director.rpy:1563
old "(attributes)"
new "(속성)"
# 00director.rpy:1564
old "(transform)"
new "(변환)"
# 00director.rpy:1589
old "(transition)"
new "(전환)"
# 00director.rpy:1601
old "(channel)"
new "(채널)"
# 00director.rpy:1602
old "(filename)"
new "(파일이름)"
# 00director.rpy:1631
old "Change"
new "교체"
# 00director.rpy:1633
old "Add"
new "추가"
# 00director.rpy:1636
old "Cancel"
new "취소"
# 00director.rpy:1639
old "Remove"
new "제거"
# 00director.rpy:1674
old "Statement:"
new "명령문:"
# 00director.rpy:1695
old "Tag:"
new "태그:"
# 00director.rpy:1711
old "Attributes:"
new "속성:"
# 00director.rpy:1729
old "Transforms:"
new "변환:"
# 00director.rpy:1748
old "Behind:"
new "뒤에:"
# 00director.rpy:1767
old "Transition:"
new "전환:"
# 00director.rpy:1785
old "Channel:"
new "채널:"
# 00director.rpy:1803
old "Audio Filename:"
new "오디오 파일이름:"
# 00gui.rpy:370
old "Are you sure?"
new "정말입니까?"
# 00gui.rpy:228
# 00gui.rpy:371
old "Are you sure you want to delete this save?"
new "이 세이브 파일을 지우겠습니까?"
# 00gui.rpy:229
# 00gui.rpy:372
old "Are you sure you want to overwrite your save?"
new "이 세이브 파일에 덮어쓰겠습니까?"
# 00gui.rpy:230
# 00gui.rpy:373
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "불러오기를 하면 저장하지 않은 데이터를 잃게 됩니다.\n파일을 불러올까요?"
# 00gui.rpy:231
# 00gui.rpy:374
old "Are you sure you want to quit?"
new "종료하겠습니까?"
# 00gui.rpy:232
# 00gui.rpy:375
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "메인 메뉴로 돌아가겠습니까?\n저장하지 않은 데이터는 잃게 됩니다."
# 00gui.rpy:233
# 00gui.rpy:376
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "리플레이를 종료하겠습니까?"
# 00gui.rpy:234
# 00gui.rpy:377
old "Are you sure you want to begin skipping?"
new "스킵을 시작하겠습니까?"
# 00gui.rpy:235
# 00gui.rpy:378
old "Are you sure you want to skip to the next choice?"
new "다음 선택지가 나타날 때까지 스킵하겠습니까?"
# 00gui.rpy:236
# 00gui.rpy:379
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "다음 선택지가 나타날 때까지 본 적이 없는 대사까지 모두 스킵하겠습니까?"
# 00keymap.rpy:250
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "%s 에 스크린샷 저장을 실패했습니다."
# 00keymap.rpy:270
old "Saved screenshot as %s."
new "스크린샷을 %s 에 저장했습니다."
# 00library.rpy:142
# 00library.rpy:146
old "Self-voicing disabled."
new "Self-voicing disabled."
new "대사 읽기를 끕니다."
# 00library.rpy:143
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "대사 복사하기를 켭니다. "
# 00library.rpy:144
# 00library.rpy:148
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "대사 읽기를 켭니다. "
# 00library.rpy:179
# 00library.rpy:150
old "bar"
new "바"
# 00library.rpy:151
old "selected"
new "선택된"
# 00library.rpy:152
old "viewport"
new "뷰포트"
# 00library.rpy:153
old "horizontal scroll"
new "수평 스크롤"
# 00library.rpy:154
old "vertical scroll"
new "수직 스크롤"
# 00library.rpy:155
old "activate"
new "활성화"
# 00library.rpy:156
old "deactivate"
new "비활성화"
# 00library.rpy:157
old "increase"
new "증가"
# 00library.rpy:158
old "decrease"
new "감소"
# 00library.rpy:193
old "Skip Mode"
new "스킵 모드"
# 00preferences.rpy:207
old "display"
new "화면 모드"
# 00preferences.rpy:219
old "transitions"
new "화면 전환"
# 00preferences.rpy:228
old "skip transitions"
new "화면 전환 스킵"
# 00preferences.rpy:230
old "video sprites"
new "비디오 스프라이트"
# 00preferences.rpy:239
old "show empty window"
new "빈 창 보이기"
# 00preferences.rpy:248
old "text speed"
new "텍스트 속도"
# 00preferences.rpy:256
old "joystick"
new "조이스틱"
# 00preferences.rpy:256
old "joystick..."
new "조이스틱..."
# 00preferences.rpy:263
old "skip"
new "스킵"
# 00preferences.rpy:266
old "skip unseen [text]"
new "읽지 않은 [text] 스킵"
# 00preferences.rpy:271
old "skip unseen text"
new "읽지 않은 텍스트까지 모두 스킵"
# 00preferences.rpy:273
old "begin skipping"
new "스킵 시작"
# 00preferences.rpy:277
old "after choices"
new "선택지 이후에도 스킵"
# 00preferences.rpy:284
old "skip after choices"
new "선택후 스킵"
# 00preferences.rpy:286
old "auto-forward time"
new "자동 진행 시간"
# 00preferences.rpy:300
old "auto-forward"
new "자동 진행"
# 00preferences.rpy:307
old "Auto forward"
new "자동 진행"
# 00preferences.rpy:310
old "auto-forward after click"
new "클릭후 자동 진행"
# 00preferences.rpy:319
old "automatic move"
new "자동 이동"
# 00preferences.rpy:328
old "wait for voice"
new "음성 기다리기"
# 00preferences.rpy:337
old "voice sustain"
new "음성 지속"
# 00preferences.rpy:346
old "self voicing"
new "대사 읽기"
# 00preferences.rpy:355
old "clipboard voicing"
new "대사 복사하기"
# 00preferences.rpy:364
old "debug voicing"
new "음성 디버그"
# 00preferences.rpy:373
old "emphasize audio"
new "오디오 강조"
# 00preferences.rpy:382
old "rollback side"
new "롤백 클릭 옵션"
# 00preferences.rpy:392
old "gl powersave"
new "GL 절전"
# 00preferences.rpy:398
old "gl framerate"
new "GL 프레임 속도"
# 00preferences.rpy:401
old "gl tearing"
new "GL 티어링"
# 00preferences.rpy:413
old "music volume"
new "배경음악 크기"
# 00preferences.rpy:414
old "sound volume"
new "효과음 크기"
# 00preferences.rpy:415
old "voice volume"
new "음성 크기"
# 00preferences.rpy:416
old "mute music"
new "배경음악 크기"
# 00preferences.rpy:417
old "mute sound"
new "효과음 끄기"
# 00preferences.rpy:418
old "mute voice"
new "음성 끄기"
# 00preferences.rpy:419
old "mute all"
new "모두 음소거"
# 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 "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "이 프로그램은 MIT 라이선스와 GNU 라이선스를 포함한 여러 가지 라이선스의 적용을 받는 오픈소스 소프트웨어를 포함하고 있습니다. {a=https://www.renpy.org/l/license}이곳{/a}에서 포함된 모든 소프트웨어와 그 소스코드를 확인할 수 있습니다."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -231,15 +550,71 @@ translate korean strings:
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "대사 읽기 기능이 \"[renpy.display.tts.last]\" 를(을) 말할 것입니다. 'alt+shift+V'를 누르면 비활성화됩니다."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "대사 읽기 기능을 실행했습니다. 'v' 키를 눌러 종료합니다."
# _compat\gamemenu.rpym:198
old "Empty Slot."
new "빈 슬롯"
# _compat\gamemenu.rpym:355
old "Previous"
new "이전"
# _compat\gamemenu.rpym:362
old "Next"
new "다음"
# _developer\developer.rpym:43
old "Interactive Director (D)"
new "인터렉티브 디렉터 (D)"
# _developer\developer.rpym:57
old "Show Image Load Log (F4)"
new "이미지 불러오기 목록을 표시하기 (F4)"
# _developer\developer.rpym:60
old "Hide Image Load Log (F4)"
new "이미지 불러오기 목록을 숨기기 (F4)"
# _developer\developer.rpym:63
old "Image Attributes"
new "이미지 속성"
# _developer\developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (hidden)"
# _developer\developer.rpym:94
old "[name] [attributes]"
new "[name] [attributes]"
# _developer\developer.rpym:489
old "Type to filter: "
new "필터: "
# _developer\developer.rpym:617
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "텍스쳐: [tex_count] ([tex_size_mb:.1f] MB)"
# _developer\developer.rpym:621
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "이미지 캐시: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# _layout\classic_load_save.rpym:170
old "a"
new "a"
# _layout\classic_load_save.rpym:179
old "q"
new "q"
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
new "앱스토어와 통신 중\n잠시만 기다려주십시오..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -333,3 +708,70 @@ translate korean strings:
old "return"
new "돌아가기"
# _developer\developer.rpym:154
old "Hide deleted"
new "삭제항목 숨기기"
# _developer\developer.rpym:154
old "Show deleted"
new "삭제항목 보이기"
# 00accessibility.rpy:76
old "Font Override"
new "글꼴 덮어쓰기"
# 00accessibility.rpy:80
old "Default"
new "기본"
# 00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# 00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# 00accessibility.rpy:94
old "Text Size Scaling"
new "글자 크기 조절"
# 00accessibility.rpy:100
old "Reset"
new "초기화"
# 00accessibility.rpy:105
old "Line Spacing Scaling"
new "줄 간격 조절"
# 00accessibility.rpy:117
old "Self-Voicing"
new "대사 읽기"
# 00accessibility.rpy:121
old "Off"
new "끄기"
# 00accessibility.rpy:125
old "Text-to-speech"
new "텍스트 음성 변환"
# 00accessibility.rpy:129
old "Clipboard"
new "클립보드"
# 00accessibility.rpy:146
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 "이 메뉴의 옵션은 접근성을 향상시키기 위한 것입니다. 모든 게임에서 작동하지 않을 수 있고 일부 옵션 조합은 게임을 플레이할 수 없게 만들 수 있으며 이러한 경우 게임이나 엔진의 문제가 아닙니다. 글꼴을 변경할 때 최상의 결과를 얻으려면 글자 크기를 원래대로 유지하십시오."
old "Changes will take effect the next time this program is run."
new "변경사항은 프로그램을 재시작하면 적용됩니다."
# 00gltest.rpy:141
# 00gltest.rpy:213
old "Performance Warning"
new "성능 경고"
# 00gltest.rpy:146
# 00gltest.rpy:218
old "This computer is using software rendering."
new "이 컴퓨터에서는 소프트웨어 렌더링을 사용하고 있습니다."
# 00gltest.rpy:148
# 00gltest.rpy:220
old "This computer is not using shaders."
new "이 컴퓨터에서는 쉐이더를 사용하지 않습니다."
# 00gltest.rpy:150
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
new "이 컴퓨터에서는 그래픽을 느리게 표시합니다."
# 00gltest.rpy:152
# 00gltest.rpy:224
old "This computer has a problem displaying graphics: [problem]."
new "이 컴퓨터에는 그래픽 표시에 문제가 있습니다. [problem]."
# 00gltest.rpy:157
# 00gltest.rpy:229
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "컴퓨터의 그래픽 드라비어가 구버전이거나 제대로 작동하지 않습니다. 그래픽을 느리게 표시하거나 제대로 표시하지 못할 수 있습니다. 다이렉트X를 업데이트하면 이 문제를 해결할 수 있습니다."
# 00gltest.rpy:159
# 00gltest.rpy:231
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "컴퓨터의 그래픽 드라비어가 구버전이거나 제대로 작동하지 않습니다. 그래픽을 느리게 표시하거나 제대로 표시하지 못할 수 있습니다."
# 00gltest.rpy:164
# 00gltest.rpy:236
old "Update DirectX"
new "다이렉트X 업데이트하기"
# 00gltest.rpy:170
# 00gltest.rpy:242
old "Continue, Show this warning again"
new "계속한다. 이 경고를 다시 표시한다."
# 00gltest.rpy:174
# 00gltest.rpy:246
old "Continue, Don't show warning again"
new "계속한다. 이 경고를 다시 표시하지 않는다."
# 00gltest.rpy:192
# 00gltest.rpy:264
old "Updating DirectX."
new "다이렉트X를 업데이트하고 있습니다."
# 00gltest.rpy:196
# 00gltest.rpy:268
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "다이렉트X 웹 설치를 시작했습니다. 작업표시줄에 최소화 상태로 시작되었을 수도 있습니다. 설치 안내창에 따라 다이렉트X를 설치하세요."
# 00gltest.rpy:200
# 00gltest.rpy:272
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}* 주의{/b}/n 마이크로소프트의 다이렉트X 웹 설치 프로그램은 기본적으로 Bing 툴바를 설치합니다. 이 툴바를 설치하고 싶지 않다면 체크 박스의 체크 표시를 해제하세요."
# 00gltest.rpy:204
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "설치가 완료되면 아래 버튼을 눌러 프로그램을 다시 시작하세요."
# 00gltest.rpy:206
# 00gltest.rpy:278
old "Restart"
new "다시 시작"
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "보정할 게임패드 선택"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "사용 가능한 게임패드가 없습니다."
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "[name]를 보정 중입니다. ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
new "[control!r] [kind]를 누르거나 이동합니다."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "스킵 (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "뒤로 (B)"
# _errorhandling.rpym:495
old "Open Traceback"
new "Traceback.txt 파일 열기"
# _errorhandling.rpym:529
old "Open"
new "열기"
# _errorhandling.rpym:497
# _errorhandling.rpym:531
old "Opens the traceback.txt file in a text editor."
new "traceback.txt 파일을 스크립트 에디터로 엽니다."
new "traceback.txt 파일을 텍스트 에디터로 엽니다."
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
# _errorhandling.rpym:533
old "Copy"
new "복사"
# _errorhandling.rpym:501
# _errorhandling.rpym:535
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "traceback.txt 파일을 클립보드로 복사합니다."
# _errorhandling.rpym:519
# _errorhandling.rpym:562
old "An exception has occurred."
new "예외가 발생했습니다."
# _errorhandling.rpym:538
# _errorhandling.rpym:582
old "Rollback"
new "롤백"
# _errorhandling.rpym:540
# _errorhandling.rpym:584
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "게임을 저장하거나 다른 선택지를 선택할 수 있도록 이전으로 롤백합니다."
# _errorhandling.rpym:543
# _errorhandling.rpym:587
old "Ignore"
new "무시"
# _errorhandling.rpym:545
# _errorhandling.rpym:591
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "예외를 무시하고 게임을 계속합니다. 간혹 오류가 추가 발생할 수 있습니다."
# _errorhandling.rpym:548
# _errorhandling.rpym:593
old "Reload"
new "다시 불러오기"
# _errorhandling.rpym:550
# _errorhandling.rpym:597
old "Reloads the game from disk, saving and restoring game state if possible."
new "현재 상태를 저장한 뒤 복원하여 게임을 디스크에서 다시 불러옵니다."
# _errorhandling.rpym:560
# _errorhandling.rpym:602
old "Console"
new "콘솔"
# _errorhandling.rpym:604
old "Opens a console to allow debugging the problem."
new "콘솔을 열어 문제를 디버깅합니다."
# _errorhandling.rpym:614
old "Quits the game."
new "게임을 종료합니다."
# _errorhandling.rpym:582
# _errorhandling.rpym:638
old "Parsing the script failed."
new "스크립트 해석 실패."
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Error.txt 파일 열기"
# _errorhandling.rpym:608
# _errorhandling.rpym:664
old "Opens the errors.txt file in a text editor."
new "errors.txt 파일을 스크립트 에디터로 엽니다."
new "errors.txt 파일을 텍스트 에디터로 엽니다."
# _errorhandling.rpym:612
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
new "errors.txt 파일을 클립보드로 복사합니다."
# _errorhandling.rpym:542
old "Copy BBCode"
new "BB코드 복사"
# _errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "traceback.txt 파일을 https://lemmasoft.renai.us/ 같은 포럼에서 사용하는 BB코드로 클립보드에 복사합니다."
# _errorhandling.rpym:546
old "Copy Markdown"
new "마크다운 복사"
# _errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "traceback.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
# _errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "errors.txt 파일을 https://lemmasoft.renai.us/ 같은 포럼에서 사용하는 BB코드로 클립보드에 복사합니다."
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "errors.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## The init offset statement causes the init code in this file to run before init code in any other file."
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## 이 파일에서 init offset 문을 사용하면 이 파일의 초기화 문이 다른 파일의 init 코드보다 먼저 실행됩니다."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## gui.init의 호출은 스타일을 합리적인 기본값으로 재설정하고, 게임의 너비(width)와 높이(height)를 설정합니다."
# gui.rpy:17
old "## GUI Configuration Variables"
new "## GUI 설정 변수"
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## 색상"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## 인터페이스에서 글자의 색상입니다."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## 강조 색상은 레이블(label)과 강조된 글자로 인터페이스 전체에서 사용됩니다."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## 텍스트 버튼(text button)이 선택(selected)됐거나 커서를 올리지(hovered) 않았을 때 사용됩니다."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## 작은(small) 색상은 같은 효과를 내기 위해 더 밝거나 어두워야 하는 작은 글자에 사용됩니다."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## 버튼(button)과 막대(bar)에 커서를 올렸을 때(hovered) 사용됩니다."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## 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 "## 텍스트 버튼(text button)에 선택됐지만(selected) 포커스되지(focused) 않았을 때 사용됩니다. 버튼(button)은 현재 화면이거나 설정값인 경우 선택됨(selected)이 됩니다."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## 텍스트 버튼(text button)이 선택되지(selected) 않았을 때 사용됩니다."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## 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 "## 채워지지 않은 빈 막대(bar)에 사용됩니다. 이것은 바로 사용되지 않지만, 막대(bar) 이미지 파일이 재생성됐을 때 사용됩니다."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## 대사(dialogue)와 선택지(menu choice)의 글자에서 사용됩니다."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "## 글자와 글자 크기"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "## 인-게임 글자에 사용됩니다."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "## 캐릭터의 이름에 사용됩니다."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "## 인터페이스에 사용됩니다."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "## 일반 대사의 글자 크기입니다."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "## 캐릭터 이름의 글자 크기입니다."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "## 게임의 유저 인터페이스에서 글자의 크기입니다."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## 게임의 유저 인터페이스에서 레이블(label)들의 글자 크기입니다."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "## 통지(notify) 화면의 글자 크기입니다."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## 게임의 타이틀(title) 글자의 크기입니다."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## 메인과 게임 메뉴들"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## 이미지들은 메인(main)과 게임 메뉴(game menu)에 사용됩니다."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
# gui.rpy:96
# gui.rpy:93
old "## Dialogue"
new "## Dialogue"
new "## 대사"
# gui.rpy:95
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## 이러한 변수들은 한 번에 한 줄의 대사가 어떻게 화면에 표시되는지 제어합니다."
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
old "## The height of the textbox containing dialogue."
new "## 대사를 포함하는 텍스트 박스의 높이입니다."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
# gui.rpy:104
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 "## 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 "## 화면에 텍스트박스를 세로로 배치합니다. 0.0은 최상단, 0.5는 중앙, 그리고 1.0은 최하단입니다."
# gui.rpy:109
# gui.rpy:106
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## 말하는 캐릭터의 이름을 텍스트 박스를 기준으로 배치합니다. 이것은 좌측이나 최상단으로부터 전체 픽셀값의 숫자가 되거나, 0.5로 중앙이 될 수 있습니다."
# gui.rpy:114
# gui.rpy:111
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 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 "## 캐릭터들의 이름을 수평으로 정렬합니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬될 수 있습니다."
# gui.rpy:118
# gui.rpy:115
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## 캐릭터들의 이름이 들어 있는 박스의 너비, 높이, 그리고 테두리입니다. 혹은 그것을 None으로 자동 설정할 수 있습니다."
# gui.rpy:123
# gui.rpy:120
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## 캐릭터의 이름이 들어 있는 박스의 테두리를 좌측, 상단, 우측, 하단의 순서로 정합니다."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
# gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## 만약 참(True)이면, 네임박스의 배경은 바둑판식으로 배열(tiled)될 것이고, 거짓(False)이면, 네임박스의 배경은 채워질(scaled) 것입니다."
# gui.rpy:132
# gui.rpy:129
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## 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 "## 텍스트박스에서 대사의 위치입니다. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
# gui.rpy:135
old "## The maximum width of dialogue text, in pixels."
new "## 픽셀값에서 대사의 최대 너비입니다."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
# gui.rpy:141
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 "## 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 "## 대사 글자의 수평 정렬입니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬이 될 수 있습니다."
# gui.rpy:146
# gui.rpy:143
old "## Buttons"
new "## Buttons"
new "## 버튼들"
# gui.rpy:145
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## 이러한 변수들은 GUI/버튼에서 이미지 파일들과 함께 어떻게 버튼이 표시되는지 제어합니다."
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## 픽셀값에서 버튼의 너비와 높이입니다. 만약 None이면, 렌파이가 크기를 계산합니다."
# gui.rpy:152
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## 좌측, 상단, 우측, 하단의 순서에서 버튼의 테두리 값입니다."
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## 만약 참(True)이면, 배경 이미지는 바둑판식으로 배열(tiled)될 것입니다. 만약 거짓(False)이면, 배경 이미지는 선으로 채워질(scaled) 것입니다."
# gui.rpy:159
old "## The font used by the button."
new "## 버튼에 사용된 글자의 폰트입니다."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
old "## The size of the text used by the button."
new "## 버튼에 사용된 글자의 크기입니다."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
old "## The color of button text in various states."
new "## 다양한 상태의 버튼 글자의 색상입니다."
# gui.rpy:179
# gui.rpy:171
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## 버튼 글자의 수평 정렬(0.0은 왼쪽,0.5은 가운데,1.0은 오른쪽)입니다."
# gui.rpy:176
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## 이러한 변수는 다른 종류의 버튼 설정을 덮어씌웁니다. 사용 가능한 버튼의 종류와, 각각 무엇을 위해 사용하는지는 gui 문서를 확인해주세요."
# gui.rpy:183
# gui.rpy:180
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## 이러한 사용자 지정은 기본 인터페이스에 사용됩니다:"
# gui.rpy:198
# gui.rpy:195
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 "## 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 "## 당신은 또한 설정된 이름의 변수를 추가함으로써 당신만의 커스텀을 추가할 수 있습니다. 예를 들어, 다음 행의 주석 표시를 제거하여 탐색(navigation) 버튼의 너비를 설정할 수 있습니다."
# gui.rpy:205
# gui.rpy:202
old "## Choice Buttons"
new "## Choice Buttons"
new "## 선택 버튼들"
# gui.rpy:207
# gui.rpy:204
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## 선택 버튼은 인-게임 메뉴에 사용됩니다."
# gui.rpy:220
# gui.rpy:217
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## 파일 슬롯 버튼"
# gui.rpy:222
# gui.rpy:219
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 "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## 파일 슬롯 버튼은 버튼의 특별한 종류입니다. 그것은 썸네일 이미지나 저장 슬롯의 콘텐츠를 설명하는 글자를 포함합니다. GUI/버튼에서 저장 슬롯은 버튼의 다른 종류와 같은 이미지 파일을 사용합니다."
# gui.rpy:226
# gui.rpy:223
old "## The save slot button."
new "## The save slot button."
new "## 저장 슬롯 버튼입니다."
# gui.rpy:234
# gui.rpy:233
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## 저장 슬롯에 사용되는 썸네일의 너비와 높이입니다."
# gui.rpy:238
# gui.rpy:237
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## 저장 슬롯의 그리드(grid)에서 행(rows)과 열(columns)의 갯수입니다."
# gui.rpy:243
# gui.rpy:242
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## 위치와 간격"
# gui.rpy:245
# gui.rpy:244
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## 이러한 변수들은 다양한 사용자 인터페이스 요소들의 위치와 간격을 제어합니다."
# gui.rpy:248
# gui.rpy:247
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## 화면의 왼쪽을 기준으로 하는 네비게이션 버튼의 왼쪽 위치입니다."
# gui.rpy:252
# gui.rpy:251
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## 스킵 표시기(skip indicator)의 수직 위치입니다."
# gui.rpy:255
# gui.rpy:254
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## 통지(notify) 스크린의 수직 위치입니다."
# gui.rpy:258
# gui.rpy:257
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## 선택지의 메뉴 선택 간의 간격입니다."
# gui.rpy:261
# gui.rpy:260
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## 메인과 게임 메뉴에서 네비게이션 섹션의 버튼들 간의 간격입니다."
# gui.rpy:264
# gui.rpy:263
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## 환경 설정들 간의 간격을 제어합니다."
# gui.rpy:267
# gui.rpy:266
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## 환경 설정 버튼들 사이의 간격을 제어합니다."
# gui.rpy:270
# gui.rpy:269
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## 파일 페이지 버튼들 간의 간격입니다."
# gui.rpy:273
# gui.rpy:272
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## 파일 슬롯들 간의 간격입니다."
# gui.rpy:277
old "## Frames"
new "## Frames"
# gui.rpy:275
old "## The position of the main menu text."
new "## 메인 메뉴 글자의 위치입니다."
# gui.rpy:279
old "## Frames"
new "## 프레임들"
# gui.rpy:281
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## 이러한 변수들은 오버레이되거나 창이 없을 때 보여지는 사용자 인터페이스 구성 요소들을 포함하는 프레임을 제어합니다."
# gui.rpy:282
# gui.rpy:284
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## 플레이어 코드에 의해 소개되는 일반 프레임."
# gui.rpy:285
# gui.rpy:287
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## 프레임은 확인(confirm) 화면의 일부로 사용됩니다."
# gui.rpy:288
# gui.rpy:290
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## 프레임은 스킵(skip) 화면의 일부로 사용됩니다."
# gui.rpy:291
# gui.rpy:293
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## 프레임은 통지(notify) 화면의 일부로 사용됩니다."
# gui.rpy:294
# gui.rpy:296
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## 프레임 배경들은 바둑판식으로 배열해야 할까요?"
# gui.rpy:298
# gui.rpy:230
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## 막대, 스크롤바, 슬라이더"
# gui.rpy:302
old "## These control the look and size of bars, scrollbars, and sliders."
new "## 이러한 설정은 막대와 스크롤바, 그리고 슬라이더의 보여지는 것과 크기를 제어합니다."
# gui.rpy:304
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## 기본 GUI는 슬라이더와 세로 스크롤바만 사용합니다. 다른 모든 막대들은 창작자가 작성한 코드에서 사용됩니다."
# gui.rpy:305
# gui.rpy:307
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## 수평 막대, 스크롤바, 슬라이더의 높이. 수직 막대, 스크롤바, 슬라이더의 너비."
# gui.rpy:311
# gui.rpy:313
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## 막대 이미지가 바둑판식 배열돼야 하면 참(True)입니다. 선으로 채워져야 한다면 거짓(False)입니다."
# gui.rpy:316
# gui.rpy:318
old "## Horizontal borders."
new "## Horizontal borders."
new "## 수평 테두리입니다."
# gui.rpy:321
# gui.rpy:323
old "## Vertical borders."
new "## Vertical borders."
new "## 수직 테두리입니다."
# gui.rpy:326
# gui.rpy:328
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
# gui.rpy:331
old "## History"
new "## History"
new "## GUI에서 스크롤할 수 없는 스크롤 막대로 뭘 할 수 있나요? \"hide\"로 그것들을 숨기고, None은 그것들을 보여줍니다."
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
old "## History"
new "## 대사록"
# gui.rpy:335
old "## The history screen displays dialogue that the player has already dismissed."
new "## 대사록 화면은 사용자가 이미 확인한 다이얼로그를 표시합니다."
# gui.rpy:337
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## 렌파이가 보관할 대사록의 블록 갯수입니다."
# gui.rpy:338
# gui.rpy:340
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## 대사록 화면 항목의 높이를 지정하거나 None으로 하여 높이를 성능에 맡길 수 있습니다."
# gui.rpy:342
# gui.rpy:344
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## 말하는 캐릭터의 이름을 나타내는 레이블의 위치, 너비, 그리고 정렬입니다."
# gui.rpy:349
# gui.rpy:351
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## 대사 글자의 위치, 너비, 그리고 정렬입니다."
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
old "## NVL-Mode"
new "## NVL-모드"
# gui.rpy:360
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## NVL-모드 화면은 NVL-모드 캐릭터들에 의한 대화를 화면에 표시합니다."
# gui.rpy:362
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## NVL-모드 배경 창에서 배경의 테두리입니다."
# gui.rpy:363
# gui.rpy:365
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 "## 렌파이가 표시할 NVL-mode 항목의 최대 수입니다. 설정보다 많은 항목이 표시되면 가장 오래된 항목이 제거됩니다."
# gui.rpy:369
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## NVL-모드 항목의 높이입니다. 이것을 None으로 설정하면 항목들은 동적으로 높이를 조정합니다."
# gui.rpy:367
# gui.rpy:373
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## gui.nvl_height 값이 None일 때 NVL-모드 항목들, 그리고 NVL-모드 항목들과 NVL-모드 메뉴간의 간의 간격입니다."
# gui.rpy:384
# gui.rpy:390
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## nvl_thought 글자의 위치, 너비, 정렬(nvl_narrator 캐릭터에 의해 표시되는 글자)입니다."
# gui.rpy:391
# gui.rpy:397
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## NVL 메뉴 버튼의 위치입니다."
# gui.rpy:401
old "## Localization"
new "## 현지화"
# gui.rpy:403
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## 줄 바꿈이 허용되는 위치를 제어합니다. 기본값은 대부분의 언어에 적합합니다. 사용 가능한 값 목록은 https://www.renpy.org/doc/html/style_properties.html#style-property-language 에서 찾을 수 있습니다."
# gui.rpy:411
old "## Mobile devices"
new "## 모바일 기기"
# gui.rpy:416
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## 이것은 휴대전화와 태블릿에서 쉽게 터치할 수 있도록 빠른(Quick) 버튼들의 크기를 크게 합니다."
# gui.rpy:409
# gui.rpy:422
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## 이것은 휴대전화에서 다양한 GUI 요소들의 크기와 간격을 쉽게 보일 수 있도록 변경합니다."
# gui.rpy:413
# gui.rpy:426
old "## Font sizes."
new "## Font sizes."
new "## 글자 크기들."
# gui.rpy:421
# gui.rpy:434
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## 텍스트박스의 위치를 조정합니다."
# gui.rpy:440
old "## Change the size and spacing of items in the game menu."
old "## This file contains options that can be changed to customize your game."
new "## This file contains options that can be changed to customize your game."
new "## 이 파일은 귀하의 게임 커스텀으로 변경될 수 있는 옵션을 포함합니다."
# 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 "## 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 "## 두 개의 '#' 표시로 시작되는 줄은 주석이며, 그것을 없애지 말아야 합니다. 한 개의 '#' 표시로 시작되는 줄은 주석 처리된 코드로 필요한 경우 제거해도 됩니다."
# options.rpy:10
old "## Basics"
new "## Basics"
new "## 기본"
# 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 "## 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 "## 인간이 읽을 수 있는 게임의 이름. 기본 윈도우의 제목으로 사용되며, 인터페이스와 오류 보고에서 보여집니다."
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## The _() surrounding the string marks it as eligible for translation."
new "## 문자열을 _()로 둘러 쌓으면 씌우면 번역의 대상으로 표시됩니다."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
new "렌파이 7 기본 GUI"
# 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 "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## 위에 주어진 제목이 주 메뉴 화면에 표시되는지 결정합니다. 제목을 숨기려면 이것을 False로 설정하십시오."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
new "## 게임의 버전입니다."
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
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 "## 게임의 about 스크린에 배치되는 텍스트입니다. 텍스트를 삼중 따옴표 사이에 배치하고 단락 사이에 빈 줄을 남겨 둡니다."
# options.rpy:37
# 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 "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## 배포판의 실행 파일과 디렉토리에 사용되는 게임의 약식 이름. 이것은 ASCII 전용이어야 하며 공백, 콜론 또는 세미콜론을 포함해서는 안 됩니다."
# options.rpy:44
# options.rpy:45
old "## Sounds and music"
new "## Sounds and music"
new "## 음악과 음향"
# options.rpy:46
# options.rpy:47
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."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## 이 세 가지 변수는 기본적으로 플레이어에 표시되는 믹서를 제어합니다. 이들 중 하나를 False로 설정하면 해당 믹서가 숨겨집니다."
# options.rpy:55
# 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 "## 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 "## 사용자가 음향 또는 음성 채널에서 테스트 사운드를 재생할 수 있게 하려면 아래 줄의 주석을 제거하고 이를 사용하여 재생할 샘플 사운드를 설정하십시오."
# options.rpy:62
# 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 "## 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 "## 플레이어가 주 메뉴에 있을 때 재생할 오디오 파일을 설정하려면 다음 줄의 주석 처리를 제거하십시오. 이 파일은 중지되거나 다른 파일이 재생 될 때까지 계속 재생합니다."
# options.rpy:69
# options.rpy:70
old "## Transitions"
new "## Transitions"
new "## 번역"
# options.rpy:71
# 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 "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 이러한 변수는 특정 이벤트가 발생할 때 사용되는 전환을 설정합니다. 각 변수는 전환으로 설정해야 하며, 전환을 사용하지 말아야 한다는 것을 나타내려면 None으로 설정해야 합니다."
# options.rpy:75
# options.rpy:76
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## 게임 메뉴에 진입하거나 나갑니다."
# options.rpy:81
# options.rpy:82
old "## Between screens of the game menu."
new "## 게임 메뉴 화면 사이입니다."
# options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## 게임이 로드된 후 사용되는 전환입니다."
# options.rpy:86
# options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## 게임 종료 후 주 메뉴에 진입할 때 사용됩니다."
# options.rpy:91
# 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 "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## 게임을 시작할 때 사용되는 전환을 설정하는 변수가 없습니다. 대신, 초기 장면을 표시한 후 with 문을 사용하십시오."
# options.rpy:96
# options.rpy:102
old "## Window management"
new "## Window management"
new "## 창 관리"
# options.rpy:98
# 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 "## 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."
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## 이것은 대사 창이 표시됐을 때 제어합니다. 만약 \"show\"면, 그것은 상항 표시됩니다. 만약 \"hide\"면, 그것은 대사가 주어질 때만 표시됩니다. 만약 \"auto\"면, 창은 장면(scene) 문 앞에 숨겨져 대화 상자가 표시되면 다시 표시됩니다."
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## 게임이 시작된 후에는 \"window show\", \"window hide\", 그리고 \"window auto\" 문을 사용하여 변경할 수 있습니다."
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
old "## Transitions used to show and hide the dialogue window"
new "## 대화 창을 표시하고 숨기는 데 사용되는 전환"
# 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."
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
# options.rpy:121
old "## Preference defaults"
new "## 환경설정 기본값"
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## 기본 글자 속도를 제어합니다. 기본적으로, 0은 즉시이며 다른 숫자는 초당 입력 할 문자 수입니다."
# options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## 기본 auto-forward 지연 시간입니다. 숫자가 클수록 대기 시간이 길어지며, 0 ~ 30이 유효한 범위가 됩니다."
# options.rpy:135
old "## Save directory"
new "## Save directory"
new "## 세이브 디렉토리"
# options.rpy:131
# 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 "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:136
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:138
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
new "## 렌파이는 이 게임에 대한 저장 파일을 플랫폼 별로 배치합니다. 세이브 파일들은 여기에 있습니다:"
# options.rpy:140
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## 윈도우즈: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## 매킨토시: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## 리눅스: $HOME/.renpy/<config.save_directory>"
# options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## 이것은 일반적으로 변경해서는 안 되며, 항상 표현형식이 아닌 정확한 문자열이어야 합니다."
# options.rpy:152
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## 아이콘 #######################################################################'"
# options.rpy:148
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## 작업 표시 줄 또는 독에 표시되는 아이콘."
# options.rpy:153
# options.rpy:159
old "## Build configuration"
new "## Build configuration"
new "## 빌드 구성"
# options.rpy:155
# options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## 이 섹션은 렌파이가 프로젝트를 배포 파일로 만드는 방법을 제어합니다."
# options.rpy:160
# 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 "## 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."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
new "## 다음 함수는 파일 패턴을 사용합니다. 파일 패턴은 대/소문자를 구분하지 않으며, /의 유무와 관계없이 기본 디렉터리의 상대 경로와 일치합니다. 여러 패턴이 일치하면 첫 번째 패턴이 사용됩니다."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
old "## In a pattern:"
new "## 패턴 있음:"
# 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."
new "## 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."
old "## / is the directory separator."
new "## / 는 디렉토리 구분 기호입니다."
# options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * 는 디렉토리 구분자를 제외한 모든 문자와 일치합니다."
# options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** 는 디렉토리 구분자를 포함해 모든 문자와 일치합니다."
# options.rpy:179
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## 예를 들어, \"*.txt\" 는 기본 디렉토리의 txt 파일들과 일치하고, \"game/**.ogg\" 는 게임 디렉토리 또는 그 서브 디렉토리의 ogg 파일들과 일치하며, \"**.psd\" 는 프로젝트에서 모든 곳의 psd 파일들과 일치합니다."
# options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Classify files as None to exclude them from the built distributions."
new "## 파일을 None으로 분류하여 배포판으로부터 제외하십시오."
# options.rpy:185
# options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
# 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."
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## 파일을 아카이브하려면 'archive'로 분류하십시오."
# options.rpy:196
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## 파일들의 매칭 문서 패턴은 맥앱(Mac App) 빌드에서 중복되므로 app 및 zip 파일에 모두 나타납니다."
# options.rpy:202
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## 맥(Mac)에서 코드 서명을 사용하려면 Apple Developer ID Application이 포함된 문자열로 설정하십시오. 애플(Apple)에서 발행한 ID로 변경하십시오."
# options.rpy:209
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 "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## 확장 파일을 다운로드하고 인앱 구매를 수행하려면 Google Play 라이센스 키가 필요합니다. Google Play 개발자 콘솔의 \"서비스 및 API\"페이지에서 확인할 수 있습니다."
# options.rpy:203
# options.rpy:216
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## The username and project name associated with an itch.io project, separated by a slash."
new "## itch.io 프로젝트와 연관된 사용자 이름과 프로젝트 이름이며 슬래시로 구분됩니다."
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff
Show More
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.