Compare commits
299 Commits
6.99
...
6.99.0.299
| Author | SHA1 | Date | |
|---|---|---|---|
| 80158aa151 | |||
| 907fc3f29e | |||
| b65089fbed | |||
| c334aeece2 | |||
| b7be16b987 | |||
| c2f07ca7ca | |||
| 9b1c9ff25d | |||
| f89191bbf9 | |||
| 6af546147a | |||
| ff177be12c | |||
| 3e6ddc46b6 | |||
| 1094f693f0 | |||
| f0efeede9a | |||
| ecbe84ad39 | |||
| 302fa846ca | |||
| 511d48f067 | |||
| 5b0a6ede56 | |||
| cec6ebd9df | |||
| cd3b7c1239 | |||
| 86f759c80f | |||
| 7ce97dbaeb | |||
| 0b317c4c24 | |||
| 4c6fd3c8fa | |||
| f5cc5e5829 | |||
| f284d82f9d | |||
| 8c1f6c7701 | |||
| 82d40f75f5 | |||
| a755b04ab1 | |||
| 8c5fcc9a95 | |||
| 6625a46dcb | |||
| c7b7e26c33 | |||
| 45c61c4972 | |||
| b944591ec7 | |||
| 3c3c8c7933 | |||
| e0207369c3 | |||
| 40de615c66 | |||
| 53c50b1e00 | |||
| 95f39c725f | |||
| 0e251e1bf4 | |||
| cd136bc6a0 | |||
| b66ede5e19 | |||
| ba7d4e6582 | |||
| bda9f96f28 | |||
| 2f77e1fd4a | |||
| 3d4ef2df96 | |||
| 2b20ef7834 | |||
| e4fe7f3586 | |||
| 7cfc6ad1ba | |||
| 57c27cfde4 | |||
| 3ceec0b62d | |||
| fe1d1e5499 | |||
| ca944b5089 | |||
| 92163cd704 | |||
| edfd705a52 | |||
| 4a1557edf3 | |||
| 4c55cab9fc | |||
| 8a9eb86bac | |||
| 077c7818ec | |||
| 136db345c9 | |||
| 31b711b672 | |||
| 7aeed18720 | |||
| 7da86f27e9 | |||
| e851096b77 | |||
| 91cdebd401 | |||
| 0fbdd3b68f | |||
| 939034a481 | |||
| 4ae3092877 | |||
| db23bd0f91 | |||
| 5e0de94e9a | |||
| cdfbfcd481 | |||
| 5d49b6b75b | |||
| f9a7b7dc21 | |||
| 61b7550157 | |||
| fc7fcc8db9 | |||
| 2cdb8adb64 | |||
| a22b406f46 | |||
| cff0b43f96 | |||
| 0a2bee8a78 | |||
| 0e53af427f | |||
| 3120b5e438 | |||
| 01689fc02a | |||
| afc9a2d97c | |||
| df5d891ee7 | |||
| d7ba76f44f | |||
| 10cda2103f | |||
| 616cdbd218 | |||
| 2199a4db1c | |||
| c4b673099f | |||
| c61b01ee0c | |||
| 24f26acea4 | |||
| f4e5e0f297 | |||
| a78d9bbccf | |||
| 89ec94a72b | |||
| cf495ac494 | |||
| 0eb54ef113 | |||
| 3043543901 | |||
| 6f56cbb12e | |||
| a7542015ab | |||
| 3e20a92c80 | |||
| 93812b4a1b | |||
| 4f3a0c546f | |||
| 097978b044 | |||
| da041e5170 | |||
| 9b626fe039 | |||
| c51db4ce64 | |||
| 01b66c6197 | |||
| 2a31925ef7 | |||
| 9480b544fb | |||
| 8c989bb684 | |||
| d9dd895775 | |||
| a149858701 | |||
| 3a1105935c | |||
| c5fa5ca98b | |||
| e40e780834 | |||
| 5f23501413 | |||
| 0631221d98 | |||
| 87fc8b0468 | |||
| b6d16ef601 | |||
| 72704eb945 | |||
| 23c202e25f | |||
| 253cf2a5c7 | |||
| dfce28b881 | |||
| 013cfdadea | |||
| 71545e6d3a | |||
| 8282084f48 | |||
| 5d53028f62 | |||
| c43f364eab | |||
| 93b25e9627 | |||
| 3051687b4c | |||
| 94cca9458b | |||
| c63e58f170 | |||
| 3aa40537e9 | |||
| 495fa5512c | |||
| f561b1ce04 | |||
| 7def90322f | |||
| 75c8861de9 | |||
| 9b5de49aae | |||
| 3e5197f909 | |||
| 152ba2d7e5 | |||
| 1d4d093a88 | |||
| 955e02ce26 | |||
| b499d95390 | |||
| df36d206d3 | |||
| 9af5e19054 | |||
| 8492045273 | |||
| 49a3b15816 | |||
| f015bb7b81 | |||
| 44aa9c6fc8 | |||
| d4eebdff49 | |||
| f42572c1f8 | |||
| 356c6e346a | |||
| 22eb62afff | |||
| 7d17c87ed0 | |||
| 7c8e93a046 | |||
| 86d250079b | |||
| b2cb51a61b | |||
| 4cfe681d00 | |||
| c670a25f8b | |||
| db5ee1e91f | |||
| ca1f1f1032 | |||
| 32800f1c48 | |||
| 66544cd4b2 | |||
| 94df2f93b7 | |||
| 4c1269c62e | |||
| a94989eb06 | |||
| 0cc2df8800 | |||
| d62f28d849 | |||
| 31de055d6f | |||
| a3daed1409 | |||
| d7ccd581ae | |||
| f559367d6a | |||
| 064d24e838 | |||
| ec894fc458 | |||
| 845f802a59 | |||
| 6680a16db6 | |||
| d838a3d07a | |||
| 1e35f405fb | |||
| 9900bf6ecc | |||
| ab36e3d59a | |||
| d370760071 | |||
| 0310e60b1c | |||
| 54614e2b83 | |||
| 92032f123b | |||
| f799dfcb31 | |||
| 99698fdd06 | |||
| 4bf0b7ca67 | |||
| 685fd09a75 | |||
| 75825e7c2c | |||
| 052ec96f54 | |||
| a4ab8fa083 | |||
| 75e5a29470 | |||
| 04db67cad7 | |||
| 0550a85716 | |||
| 91d5f6cc21 | |||
| 82433d3dc0 | |||
| 663cac933f | |||
| 520ff08595 | |||
| 95e12cab07 | |||
| 52093520fd | |||
| f92e459801 | |||
| b8d08dda5a | |||
| f8453fc4fd | |||
| c5c3a57f9d | |||
| 83245c7432 | |||
| 5715bdec00 | |||
| c57253cfce | |||
| 85fa790711 | |||
| c379dd6bc3 | |||
| e42d04ad9e | |||
| f361f7d0ef | |||
| 69bd85f98f | |||
| b4cee2db25 | |||
| b16e7ebf8e | |||
| 4f9dcd4fdc | |||
| 3dc33d4238 | |||
| aa16b64225 | |||
| f93d3b9fc9 | |||
| 250103bf4e | |||
| bc6767bdf4 | |||
| 15a6b39a40 | |||
| 83352e3e29 | |||
| c8c52477c9 | |||
| 042ae30b62 | |||
| b9f3bbe950 | |||
| 2fd1416ce4 | |||
| 722c99ed04 | |||
| b59c94ad7f | |||
| 547a504f7b | |||
| 51a168c12f | |||
| 3573a42ef7 | |||
| 23d69c7c8e | |||
| 77e44a5ab5 | |||
| b892ca4791 | |||
| 4775d4f082 | |||
| 2148a68df8 | |||
| 52a8fd1b63 | |||
| 422db61d71 | |||
| 749462beec | |||
| 8726c6d50b | |||
| 6ae531e893 | |||
| dc117ffbe1 | |||
| 40e3eaaf64 | |||
| 72e4607e82 | |||
| cfdaa95bea | |||
| 2be0638602 | |||
| 6ec5a0c122 | |||
| fd1902ecd2 | |||
| ec77844b1a | |||
| 8c238ae4ff | |||
| 4c909922d4 | |||
| 8358539667 | |||
| 5c87617652 | |||
| a102a7dca9 | |||
| a2e8758965 | |||
| 5914e9317c | |||
| 094dbe7386 | |||
| 84debf31c7 | |||
| 5afacd4dec | |||
| 4221eb049f | |||
| 4971ff139f | |||
| e5a50b4b4d | |||
| 5222a47b9d | |||
| 98afd6402c | |||
| 24fdc18a47 | |||
| e5632b27b2 | |||
| 14db5d588f | |||
| dbb990c0f7 | |||
| a34bed7e11 | |||
| 7c61befcb0 | |||
| 9381c7399b | |||
| 439365977f | |||
| 5b3a7bf02e | |||
| 1be45fb2d4 | |||
| a327517cf8 | |||
| f9204ad5a0 | |||
| 5b5a7ab907 | |||
| 634bb3ad64 | |||
| 329d8d3ee1 | |||
| 24c7e845c3 | |||
| 3f01f49da3 | |||
| 6d7c28560c | |||
| 23931a5676 | |||
| b4dd9f6878 | |||
| 2903b81360 | |||
| 942cf82354 | |||
| 4dcdd1ad65 | |||
| a2a3c284a3 | |||
| 4497d5e30f | |||
| 9c5e037db6 | |||
| 2b6c7941d6 | |||
| 4e11d77258 | |||
| 9791e379e3 | |||
| b59dc7906c | |||
| 253726c433 | |||
| 06e3a75515 | |||
| 2925e1e64f | |||
| ead574ae6b | |||
| 1f4d4cd974 | |||
| 2deaf3689a |
@@ -10,6 +10,7 @@
|
||||
saves
|
||||
tmp
|
||||
cache
|
||||
env
|
||||
|
||||
log.txt
|
||||
/errors.txt
|
||||
|
||||
+24
-10
@@ -49,30 +49,44 @@ Building the modules requires you have the many dependencies installed on
|
||||
your system. On Ubuntu and Debian, these dependencies can be installed with
|
||||
the command::
|
||||
|
||||
apt-get install python-dev python-pygame libavcodec-dev libavformat-dev \
|
||||
libavresample-dev libfreetype6-dev libglew1.6-dev libsdl1.2-dev \
|
||||
libsdl-image1.2-dev libfribidi-dev libswscale-dev libesd0-dev libpulse-dev
|
||||
|
||||
Other platforms may have an equivalent command. Otherwise, you'll need to
|
||||
build `renpy-deps <https://github.com/renpy/renpy-deps>`_.
|
||||
apt-get install virtualenvwrapper python-dev libavcodec-dev libavformat-dev \
|
||||
libavresample-dev libswscale-dev libfreetype6-dev libglew1.6-dev \
|
||||
libfribidi-dev libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev \
|
||||
libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-turbo8-dev
|
||||
|
||||
We strongly suggest installing the Ren'Py modules into a Python
|
||||
virtualenv. `This page <http://dabapps.com/blog/introduction-to-pip-and-virtualenv-python/>`_
|
||||
describes how to install pip and the virtualenv tool, and set up a new virtualenv.
|
||||
virtualenv. To create a new virtualenv, open a new terminal and run::
|
||||
|
||||
mkvirtualenv renpy
|
||||
|
||||
To return to this virtualenv later, run::
|
||||
|
||||
workon renpy
|
||||
|
||||
After activating the virtualenv, install cython::
|
||||
|
||||
pip install -U cython
|
||||
|
||||
Then, install pygame_sdl2 by running the following commands::
|
||||
|
||||
git clone https://www.github.com/renpy/pygame_sdl2
|
||||
pushd pygame_sdl2
|
||||
python fix_virtualenv.py $VIRTUAL_ENV
|
||||
python setup.py install
|
||||
popd
|
||||
|
||||
Next, set RENPY_DEPS_INSTALL To a \::-separated list of paths containing the
|
||||
dependencies, and RENPY_CYTHON to the name of the cython command::
|
||||
|
||||
export RENPY_DEPS_INSTALL=/usr::/usr/lib/x86_64-linux-gnu/
|
||||
export RENPY_DEPS_INSTALL="/usr::/usr/lib/x86_64-linux-gnu/
|
||||
export RENPY_CYTHON=cython
|
||||
|
||||
Finally, change into the `modules` directory, and run::
|
||||
Finally, use setup.py in the Ren'Py ``module`` directory to compile and
|
||||
install the modules that support Ren'Py::
|
||||
|
||||
pushd module
|
||||
python setup.py install
|
||||
popd
|
||||
|
||||
Ren'Py will be installed into the activated virtualenv. It can then be run
|
||||
using the command::
|
||||
|
||||
@@ -34,22 +34,34 @@ else:
|
||||
tag = False
|
||||
|
||||
|
||||
def check_dirty():
|
||||
if args.no_tag:
|
||||
return
|
||||
SOURCE = [
|
||||
"/home/tom/ab/renpy",
|
||||
"/home/tom/ab/android/",
|
||||
"/home/tom/ab/android/python-for-android",
|
||||
"/home/tom/ab/ripe/renios",
|
||||
"/home/tom/ab/renpy-deps",
|
||||
"/home/tom/ab/pygame_sdl2",
|
||||
]
|
||||
|
||||
if subprocess.check_call([ "git", "diff", "--quiet", "HEAD" ]):
|
||||
print "Directory not checked in: {}".format(os.getcwd())
|
||||
sys.exit(1)
|
||||
if tag:
|
||||
for i in SOURCE:
|
||||
os.chdir(i)
|
||||
|
||||
os.chdir("/home/tom/ab/renpy")
|
||||
check_dirty()
|
||||
if subprocess.call([ "git", "diff", "--quiet", "HEAD" ]):
|
||||
print "Directory not checked in: {}".format(os.getcwd())
|
||||
sys.exit(1)
|
||||
|
||||
os.chdir("/home/tom/ab/renpy/android")
|
||||
check_dirty()
|
||||
for i in SOURCE:
|
||||
|
||||
os.chdir(i)
|
||||
|
||||
if i == SOURCE[0]:
|
||||
tag = version
|
||||
else:
|
||||
tag = "renpy-" + version
|
||||
|
||||
subprocess.check_call([ "git", "tag", "-a", tag, "-m", "Tagging Ren'Py + " + version + " release." ])
|
||||
|
||||
if not args.no_tag:
|
||||
subprocess.check_call([ "git", "tag", "-a", "rapt-" + version, "-m", "Tagging RAPT release." ])
|
||||
|
||||
os.chdir("/home/tom/ab/renpy/dl")
|
||||
|
||||
@@ -58,11 +70,5 @@ for i in links:
|
||||
os.unlink(i)
|
||||
os.symlink(short_version, i)
|
||||
|
||||
os.chdir("/home/tom/ab/renpy")
|
||||
|
||||
if tag and not args.no_tag:
|
||||
cmd = [ "git", "tag", "-a", version, "-m", "Ren'Py " + version ]
|
||||
subprocess.check_call(cmd)
|
||||
|
||||
os.chdir("/home/tom/ab/website")
|
||||
subprocess.check_call("./upload.sh")
|
||||
|
||||
+1
-1
@@ -1,2 +1,2 @@
|
||||
lib\windows-i686\python.exe -OO renpy.py
|
||||
lib\windows-i686\python.exe -OO renpy.py tutorial
|
||||
pause
|
||||
|
||||
+9
-2
@@ -45,6 +45,7 @@ def main():
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("version")
|
||||
ap.add_argument("--fast", action="store_true")
|
||||
ap.add_argument("--pygame", action="store", default=None)
|
||||
|
||||
args = ap.parse_args()
|
||||
|
||||
@@ -123,11 +124,17 @@ def main():
|
||||
|
||||
android = os.path.abspath("android")
|
||||
|
||||
rapt_build = subprocess.Popen([
|
||||
rapt_cmd = [
|
||||
os.path.join(android, "build_renpy.sh"),
|
||||
"renpy",
|
||||
ROOT,
|
||||
],
|
||||
]
|
||||
|
||||
if args.pygame:
|
||||
rapt_cmd.append(args.pygame)
|
||||
|
||||
rapt_build = subprocess.Popen(
|
||||
rapt_cmd,
|
||||
cwd = android,
|
||||
stdout=out,
|
||||
stderr=out)
|
||||
|
||||
@@ -2,131 +2,160 @@
|
||||
<head>
|
||||
<title>README</title>
|
||||
<style>
|
||||
|
||||
BODY {
|
||||
background: #fff;
|
||||
color: #444;
|
||||
padding-left: 20%;
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1em;
|
||||
padding-right: 20%;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.6em;
|
||||
background: #fff;
|
||||
color: #444;
|
||||
padding-left: 20%;
|
||||
padding-top: 1em;
|
||||
padding-bottom: 1em;
|
||||
padding-right: 20%;
|
||||
font-family: sans-serif;
|
||||
line-height: 1.6em;
|
||||
}
|
||||
|
||||
DT {
|
||||
font-weight: bold;
|
||||
margin-top: .33em;
|
||||
font-weight: bold;
|
||||
margin-top: .33em;
|
||||
}
|
||||
|
||||
H2 {
|
||||
color: #000;
|
||||
margin-left: -2.5em;
|
||||
color: #000;
|
||||
margin-left: -2.5em;
|
||||
}
|
||||
|
||||
H3 {
|
||||
color: #000;
|
||||
margin-left: -1.5em;
|
||||
color: #000;
|
||||
margin-left: -1.5em;
|
||||
}
|
||||
|
||||
.editsection {
|
||||
display: none;
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<div id="renpy_help"></div>
|
||||
<h2>Basic Help</h2>
|
||||
<p>
|
||||
To advance through the game, <tt>left-click</tt> or press the <tt>space</tt>
|
||||
or <tt>enter</tt> keys. When at a menu, <tt>left-click</tt> to make
|
||||
a choice, or use the arrow keys to select a choice and <tt>enter</tt>
|
||||
to activate it.
|
||||
</p>
|
||||
|
||||
<h3>Game Menu</h3>
|
||||
<p>
|
||||
When playing a game, <tt>right-click</tt> or press the <tt>escape</tt>
|
||||
key to enter the game menu. The game menu gives the following
|
||||
choices:
|
||||
</p>
|
||||
<dl>
|
||||
<dt>Return</dt>
|
||||
<dd>Returns to the game.</dd>
|
||||
<dt>Save Game</dt>
|
||||
<dd>Allows you to save a game by clicking on a save slot.</dd>
|
||||
<dt>Load Game</dt>
|
||||
<dd>Allows you to load a game by clicking on a save slot.
|
||||
Clicking on "Auto" accesses the automatic save slots.</dd>
|
||||
<dt>Preferences</dt>
|
||||
<dd>
|
||||
Changes the game preferences (options/configuration):
|
||||
<dl>
|
||||
<dt>Display</dt>
|
||||
<dd>Switches between fullscreen and windowed mode.</dd>
|
||||
<dt>Transitions</dt>
|
||||
<dd>Controls the display of transitions between game
|
||||
screens.</dd>
|
||||
<dt>Text Speed</dt>
|
||||
<dd>Controls the rate at which text displays. The further
|
||||
to the right this slider is, the faster the text will display.
|
||||
All the way to the right causes text to be shown instantly.</dd>
|
||||
<dt>Joystick</dt>
|
||||
<dd>Lets you control the game using a joystick.</dd>
|
||||
<dt>Skip</dt>
|
||||
<dd>Chooses between skipping messages that have been
|
||||
already seen (in any play through the game), and skipping all
|
||||
messages.</dd>
|
||||
<dt>Begin Skipping</dt>
|
||||
<dd>Returns to the game, while skipping.</dd>
|
||||
<dt>After Choices</dt>
|
||||
<dd>Controls if skipping stops upon reaching a menu.</dd>
|
||||
<dt>Auto-Forward Time</dt>
|
||||
<dd>Controls automatic advance. The further to the left
|
||||
this slider is, the shorter the amount of time before the game
|
||||
advances. All the way to the right means text will never
|
||||
auto-forward.</dd>
|
||||
<dt>Music, Sound, and Voice Volume</dt>
|
||||
<dd>Controls the volume of the Music, Sound effect, and
|
||||
Voice channels, respectively. The further to the right these
|
||||
are, the louder the volume.</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>Main Menu</dt>
|
||||
<dd>Returns to the main menu, ending the current game.</dd>
|
||||
<dt>Help</dt>
|
||||
<dd>Shows this help screen.</dd>
|
||||
<dt>Quit</dt>
|
||||
<dd>Exits the game; the game will be closed and ended.</dd>
|
||||
</dl>
|
||||
|
||||
<h3>Key and Mouse Bindings</h3>
|
||||
<dl>
|
||||
<dt>Left-click, Enter</dt>
|
||||
<dd>Advances through the game, activates menu choices, buttons,
|
||||
and sliders.</dd>
|
||||
<dt>Space</dt>
|
||||
<dd>Advances through the game, but does not activate choices.</dd>
|
||||
<dt>Arrow Keys</dt>
|
||||
<dd>Selects menu choices, buttons, and sliders.</dd>
|
||||
<dt>Ctrl</dt>
|
||||
<dd>Causes skipping to occur while the ctrl key is held down.</dd>
|
||||
<dt>Tab</dt>
|
||||
<dd>Toggles skipping, causing it to occur until tab is pressed
|
||||
again.</dd>
|
||||
<dt>Mousewheel-Up, PageUp</dt>
|
||||
<dd>Causes rollback to occur. Rollback reverses the game back
|
||||
in time, showing prior text and even allowing menu choices to be
|
||||
changed.</dd>
|
||||
<dt>Mousewheel-Down, PageDown</dt>
|
||||
<dd>Causes rollforward to occur, canceling out a previous
|
||||
rollback.</dd>
|
||||
<dt>Right-click, Escape</dt>
|
||||
<dd>Enters the game menu. When in the game menu, returns to the
|
||||
game.</dd>
|
||||
<dt>Middle-click, H</dt>
|
||||
<dd>Hides the text window and other transient displays.</dd>
|
||||
<dt>F</dt>
|
||||
<dd>Toggles fullscreen mode</dd>
|
||||
<dt>S</dt>
|
||||
<dd>Takes a screenshot, saving it in a file named
|
||||
screenshotxxxx.png, where xxxx is a serial number.</dd>
|
||||
<dt>Alt-M, Command-H</dt>
|
||||
<dd>Hides (iconifies) the window.</dd>
|
||||
<dt>Alt-F4, Command-Q</dt>
|
||||
<dd>Quits the game.</dd>
|
||||
<dt>Delete</dt>
|
||||
<dd>When a save slot is selected, deletes that save slot.</dd>
|
||||
<dt>v</dt>
|
||||
<dd>
|
||||
Toggles self-voicing mode, which reads text to the user using an
|
||||
os-supplied speech synthesizer. For more information, please read
|
||||
the <a href="http://www.renpy.org/doc/html/self_voicing.html">self-voicing</a>
|
||||
documentation.
|
||||
</dd>
|
||||
<dt>Shift+C</dt>
|
||||
<dd>Toggles clipboard-voicing mode, which copies text to the
|
||||
clipboard so it can be read by a screen reader.</dd>
|
||||
</dl>
|
||||
|
||||
|
||||
<p><a name="Basic_Help" id="Basic_Help"></a></p>
|
||||
<h2><span class="editsection">[<a href="/w/index.php?title=renpy/Help&action=edit&section=1" title="Edit section: Basic Help">edit</a>]</span> <span class="mw-headline">Basic Help</span></h2>
|
||||
<p>To advance through the game, <tt>left-click</tt> or press the <tt>space</tt> or <tt>enter</tt> keys. When at a menu, <tt>left-click</tt> to make a choice, or use the arrow keys to select a choice and <tt>enter</tt> to activate it.</p>
|
||||
<p><a name="Game_Menu" id="Game_Menu"></a></p>
|
||||
<h3><span class="editsection">[<a href="/w/index.php?title=renpy/Help&action=edit&section=2" title="Edit section: Game Menu">edit</a>]</span> <span class="mw-headline">Game Menu</span></h3>
|
||||
<p>When playing a game, <tt>right-click</tt> or press the <tt>escape</tt> key to enter the game menu. The game menu gives the following choices:</p>
|
||||
<dl>
|
||||
<dt>Return</dt>
|
||||
<dd>Returns to the game.</dd>
|
||||
<dt>Save Game</dt>
|
||||
<dd>Allows you to save a game by clicking on a save slot.</dd>
|
||||
<dt>Load Game</dt>
|
||||
<dd>Allows you to load a game by clicking on a save slot. Clicking on "Auto" accesses the automatic save slots.</dd>
|
||||
<dt>Preferences</dt>
|
||||
<dd>Changes the game preferences (options/configuration):
|
||||
<dl>
|
||||
<dt>Display</dt>
|
||||
<dd>Switches between fullscreen and windowed mode.</dd>
|
||||
<dt>Transitions</dt>
|
||||
<dd>Controls the display of transitions between game screens.</dd>
|
||||
<dt>Text Speed</dt>
|
||||
<dd>Controls the rate at which text displays. The further to the right this slider is, the faster the text will display. All the way to the right causes text to be shown instantly.</dd>
|
||||
<dt>Joystick</dt>
|
||||
<dd>Lets you control the game using a joystick.</dd>
|
||||
<dt>Skip</dt>
|
||||
<dd>Chooses between skipping messages that have been already seen (in any play through the game), and skipping all messages.</dd>
|
||||
<dt>Begin Skipping</dt>
|
||||
<dd>Returns to the game, while skipping.</dd>
|
||||
<dt>After Choices</dt>
|
||||
<dd>Controls if skipping stops upon reaching a menu.</dd>
|
||||
<dt>Auto-Forward Time</dt>
|
||||
<dd>Controls automatic advance. The further to the left this slider is, the shorter the amount of time before the game advances. All the way to the right means text will never auto-forward.</dd>
|
||||
<dt>Music, Sound, and Voice Volume</dt>
|
||||
<dd>Controls the volume of the Music, Sound effect, and Voice channels, respectively. The further to the right these are, the louder the volume.</dd>
|
||||
</dl>
|
||||
</dd>
|
||||
</dl>
|
||||
<dl>
|
||||
<dt>Main Menu</dt>
|
||||
<dd>Returns to the main menu, ending the current game.</dd>
|
||||
<dt>Help</dt>
|
||||
<dd>Shows this help screen.</dd>
|
||||
<dt>Quit</dt>
|
||||
<dd>Exits the game; the game will be closed and ended.</dd>
|
||||
</dl>
|
||||
<p><a name="Key_and_Mouse_Bindings" id="Key_and_Mouse_Bindings"></a></p>
|
||||
<h3><span class="editsection">[<a href="/w/index.php?title=renpy/Help&action=edit&section=3" title="Edit section: Key and Mouse Bindings">edit</a>]</span> <span class="mw-headline">Key and Mouse Bindings</span></h3>
|
||||
<dl>
|
||||
<dt>Left-click, Enter</dt>
|
||||
<dd>Advances through the game, activates menu choices, buttons, and sliders.</dd>
|
||||
<dt>Space</dt>
|
||||
<dd>Advances through the game, but does not activate choices.</dd>
|
||||
<dt>Arrow Keys</dt>
|
||||
<dd>Selects menu choices, buttons, and sliders.</dd>
|
||||
<dt>Ctrl</dt>
|
||||
<dd>Causes skipping to occur while the ctrl key is held down.</dd>
|
||||
<dt>Tab</dt>
|
||||
<dd>Toggles skipping, causing it to occur until tab is pressed again.</dd>
|
||||
<dt>Mousewheel-Up, PageUp</dt>
|
||||
<dd>Causes rollback to occur. Rollback reverses the game back in time, showing prior text and even allowing menu choices to be changed.</dd>
|
||||
<dt>Mousewheel-Down, PageDown</dt>
|
||||
<dd>Causes rollforward to occur, cancelling out a previous rollback.</dd>
|
||||
<dt>Right-click, Escape</dt>
|
||||
<dd>Enters the game menu. When in the game menu, returns to the game.</dd>
|
||||
<dt>Middle-click, H</dt>
|
||||
<dd>Hides the text window and other transient displays.</dd>
|
||||
<dt>F</dt>
|
||||
<dd>Toggles fullscreen mode</dd>
|
||||
<dt>S</dt>
|
||||
<dd>Takes a screenshot, saving it in a file named screenshotxxxx.png, where xxxx is a serial number.</dd>
|
||||
<dt>Alt-M, Command-H</dt>
|
||||
<dd>Hides (iconifies) the window.</dd>
|
||||
<dt>Alt-F4, Command-Q</dt>
|
||||
<dd>Quits the game.</dd>
|
||||
<dt>Delete</dt>
|
||||
<dd>When a save slot is selected, deletes that save slot.</dd>
|
||||
<dt>v</dt>
|
||||
<dd>Toggles self-voicing mode, which reads text to the user using an os-supplied
|
||||
speech synthesizer. For more information, please read the <a href="http://www.renpy.org/dev-doc/html/self_voicing.html">self-voicing</a>
|
||||
documentation.</dd>
|
||||
</dl>
|
||||
<p><a name="Legal_Notice" id="Legal_Notice"></a></p>
|
||||
<h2><span class="editsection">[<a href="/w/index.php?title=renpy/Help&action=edit&section=4" title="Edit section: Legal Notice">edit</a>]</span> <span class="mw-headline">Legal Notice</span></h2>
|
||||
<p>This game uses source code from a number of open source projects. For a list, and a location where the source code can be downloaded from, please view the LICENSE.txt file in the renpy directory, or visit <a href="http://www.renpy.org/wiki/renpy/License" class="external free" title="http://www.renpy.org/wiki/renpy/License" rel="nofollow">http://www.renpy.org/wiki/renpy/License</a> .</p>
|
||||
|
||||
|
||||
<h2>Legal Notice</h2>
|
||||
<p>
|
||||
This program contains free software licensed under a number of
|
||||
licenses, including the GNU Lesser Public License. A complete list
|
||||
of software is available at <a
|
||||
href="http://www.renpy.org/doc/html/license.html"
|
||||
>http://www.renpy.org/doc/html/license.html</a>.
|
||||
</body>
|
||||
</html>
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
|
||||
+27
-206
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -43,6 +43,7 @@ init python:
|
||||
PLAY_KEYS_TEXT = _("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.")
|
||||
BUILD_TEXT = _("Builds the Android package.")
|
||||
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.")
|
||||
@@ -66,7 +67,6 @@ init python:
|
||||
sys.path.insert(0, os.path.join(RAPT_PATH, "buildlib"))
|
||||
else:
|
||||
RAPT_PATH = None
|
||||
RAPT_PATH is None
|
||||
|
||||
find_rapt()
|
||||
|
||||
@@ -79,6 +79,8 @@ init python:
|
||||
import rapt.install_sdk
|
||||
import rapt.plat
|
||||
import rapt.interface
|
||||
|
||||
rapt.plat.renpy = True
|
||||
else:
|
||||
rapt = None
|
||||
|
||||
@@ -131,184 +133,6 @@ init python:
|
||||
else:
|
||||
return None
|
||||
|
||||
class AndroidInterface(object):
|
||||
|
||||
def __init__(self):
|
||||
self.process = None
|
||||
self.filename = project.current.temp_filename("android.txt")
|
||||
|
||||
self.info_msg = ""
|
||||
|
||||
with open(self.filename, "w"):
|
||||
pass
|
||||
|
||||
def log(self, msg):
|
||||
with open(self.filename, "a") as f:
|
||||
f.write("\n")
|
||||
f.write(msg)
|
||||
f.write("\n")
|
||||
|
||||
def info(self, prompt):
|
||||
self.info_msg = prompt
|
||||
interface.processing(prompt, pause=False)
|
||||
self.log(prompt)
|
||||
|
||||
def yesno(self, prompt, submessage=None):
|
||||
return interface.yesno(prompt, submessage=submessage)
|
||||
|
||||
def yesno_choice(self, prompt, default=None):
|
||||
choices = [ (True, "Yes"), (False, "No") ]
|
||||
return interface.choice(prompt, choices, default)
|
||||
|
||||
def terms(self, url, prompt):
|
||||
submessage = _("{a=%s}%s{/a}") % (url, url)
|
||||
|
||||
if not interface.yesno(prompt, submessage=submessage):
|
||||
self.fail("You must accept the terms and conditions to proceed.", edit=False)
|
||||
|
||||
|
||||
def input(self, prompt, empty=None):
|
||||
|
||||
if empty is None:
|
||||
empty = ''
|
||||
|
||||
while True:
|
||||
rv = interface.input(_("QUESTION"), prompt, default=empty, cancel=Jump("android"))
|
||||
|
||||
rv = rv.strip()
|
||||
|
||||
if rv:
|
||||
return rv
|
||||
|
||||
def choice(self, prompt, choices, default):
|
||||
return interface.choice(prompt, choices, default, cancel=Jump("android"))
|
||||
|
||||
def fail(self, prompt, edit=True):
|
||||
self.log(prompt)
|
||||
prompt = re.sub(r'(http://\S+)', r'{a=\1}\1{/a}', prompt)
|
||||
|
||||
# Open android.txt in the editor.
|
||||
if edit:
|
||||
editor.EditAbsolute(self.filename)()
|
||||
|
||||
interface.error(prompt, label="android")
|
||||
|
||||
def success(self, prompt):
|
||||
self.log(prompt)
|
||||
interface.info(prompt, pause=False)
|
||||
|
||||
def final_success(self, prompt):
|
||||
self.log(prompt)
|
||||
interface.info(prompt, label="android")
|
||||
|
||||
def run_yes_thread(self):
|
||||
import time
|
||||
|
||||
try:
|
||||
while self.run_yes:
|
||||
self.process.stdin.write('y\n')
|
||||
self.process.stdin.flush()
|
||||
time.sleep(.2)
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
def call(self, cmd, cancel=False, use_path=False, yes=False):
|
||||
|
||||
print
|
||||
print " ".join(cmd)
|
||||
|
||||
self.cmd = cmd
|
||||
|
||||
f = open(self.filename, "a")
|
||||
|
||||
f.write("\n\n\n")
|
||||
|
||||
if cancel:
|
||||
cancel_action = self.cancel
|
||||
else:
|
||||
cancel_action = None
|
||||
|
||||
startupinfo = None
|
||||
if renpy.windows:
|
||||
startupinfo = subprocess.STARTUPINFO()
|
||||
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
|
||||
|
||||
self.yes_thread = None
|
||||
|
||||
try:
|
||||
interface.processing(self.info_msg, show_screen=True, cancel=cancel_action)
|
||||
|
||||
kwargs = { }
|
||||
if yes:
|
||||
kwargs["stdin"] = subprocess.PIPE
|
||||
|
||||
try:
|
||||
self.process = subprocess.Popen(cmd, cwd=RAPT_PATH, stdout=f, stderr=f, startupinfo=startupinfo, **kwargs)
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc(file=f)
|
||||
raise
|
||||
|
||||
if yes:
|
||||
import threading
|
||||
self.run_yes = True
|
||||
self.yes_thread = threading.Thread(target=self.run_yes_thread)
|
||||
self.yes_thread.daemon = True
|
||||
self.yes_thread.start()
|
||||
|
||||
renpy.call_screen("android_process", interface=self)
|
||||
finally:
|
||||
f.close()
|
||||
interface.hide_screen()
|
||||
|
||||
if yes and self.yes_thread:
|
||||
self.run_yes = False
|
||||
self.yes_thread.join()
|
||||
|
||||
self.process = None
|
||||
self.yes_thread = None
|
||||
|
||||
def check_process(self):
|
||||
rv = self.process.poll()
|
||||
|
||||
if rv is not None:
|
||||
if rv:
|
||||
raise subprocess.CalledProcessError(rv, self.cmd)
|
||||
else:
|
||||
return True
|
||||
|
||||
def download(self, url, dest):
|
||||
try:
|
||||
d = Downloader(url, dest)
|
||||
cancel_action = [ d.cancel, Jump("android") ]
|
||||
interface.processing(self.info_msg, show_screen=True, cancel=cancel_action, bar_value=DownloaderValue(d))
|
||||
ui.timer(.1, action=d.check, repeat=True)
|
||||
ui.interact()
|
||||
finally:
|
||||
interface.hide_screen()
|
||||
|
||||
def background(self, f):
|
||||
try:
|
||||
t = threading.Thread(target=f)
|
||||
t.start()
|
||||
|
||||
interface.processing(self.info_msg, show_screen=True)
|
||||
|
||||
while t.is_alive():
|
||||
renpy.pause(0)
|
||||
t.join(0.25)
|
||||
|
||||
finally:
|
||||
interface.hide_screen()
|
||||
|
||||
|
||||
def cancel(self):
|
||||
if self.process:
|
||||
self.process.terminate()
|
||||
|
||||
renpy.jump("android")
|
||||
|
||||
|
||||
class AndroidBuild(Action):
|
||||
"""
|
||||
@@ -321,22 +145,6 @@ init python:
|
||||
def __call__(self):
|
||||
renpy.jump(self.label)
|
||||
|
||||
class LaunchEmulator(Action):
|
||||
|
||||
def __init__(self, emulator, variants):
|
||||
self.emulator = emulator
|
||||
self.variants = variants
|
||||
|
||||
def __call__(self):
|
||||
|
||||
env = {
|
||||
"RENPY_EMULATOR" : self.emulator,
|
||||
"RENPY_VARIANT" : self.variants,
|
||||
}
|
||||
|
||||
p = project.current
|
||||
p.launch(env=env)
|
||||
|
||||
def update_android_json(p, gui):
|
||||
"""
|
||||
Updates .android.json to include the google play information.
|
||||
@@ -372,7 +180,7 @@ init python:
|
||||
with open(filename, "w") as f:
|
||||
json.dump(android_json, f)
|
||||
|
||||
def android_build(command, p=None, gui=True):
|
||||
def android_build(command, p=None, gui=True, launch=False):
|
||||
"""
|
||||
This actually builds the package.
|
||||
"""
|
||||
@@ -389,7 +197,7 @@ init python:
|
||||
|
||||
if gui:
|
||||
reporter = distribute.GuiReporter()
|
||||
rapt_interface = AndroidInterface()
|
||||
rapt_interface = MobileInterface("android")
|
||||
else:
|
||||
reporter = distribute.TextReporter()
|
||||
rapt_interface = rapt.interface.Interface()
|
||||
@@ -404,7 +212,7 @@ init python:
|
||||
)
|
||||
|
||||
with interface.nolinks():
|
||||
rapt.build.build(rapt_interface, dist, command)
|
||||
rapt.build.build(rapt_interface, dist, command, launch=launch)
|
||||
|
||||
# The android support can stick unicode into os.environ. Fix that.
|
||||
init 100 python:
|
||||
@@ -468,7 +276,8 @@ screen android:
|
||||
|
||||
frame style "l_indent":
|
||||
|
||||
has vbox
|
||||
has hbox:
|
||||
spacing 15
|
||||
|
||||
textbutton _("Phone"):
|
||||
action LaunchEmulator("touch", "small phone touch android")
|
||||
@@ -478,7 +287,7 @@ screen android:
|
||||
action LaunchEmulator("touch", "medium tablet touch android")
|
||||
hovered tt.Action(TABLET_TEXT)
|
||||
|
||||
textbutton _("Television / OUYA"):
|
||||
textbutton _("Television"):
|
||||
action LaunchEmulator("tv", "small tv ouya android")
|
||||
hovered tt.Action(OUYA_TEXT)
|
||||
|
||||
@@ -514,6 +323,10 @@ screen android:
|
||||
action AndroidIfState(state, ANDROID_OK, AndroidBuild("android_build_and_install"))
|
||||
hovered tt.Action(BUILD_AND_INSTALL_TEXT)
|
||||
|
||||
textbutton _("Build, Install & Launch"):
|
||||
action AndroidIfState(state, ANDROID_OK, AndroidBuild("android_build_install_and_launch"))
|
||||
hovered tt.Action(BUILD_INSTALL_AND_LAUNCH_TEXT)
|
||||
|
||||
add SPACER
|
||||
add SEPARATOR2
|
||||
|
||||
@@ -576,7 +389,7 @@ label android_installsdk:
|
||||
|
||||
python:
|
||||
with interface.nolinks():
|
||||
rapt.install_sdk.install_sdk(AndroidInterface())
|
||||
rapt.install_sdk.install_sdk(MobileInterface("android"))
|
||||
|
||||
jump android
|
||||
|
||||
@@ -584,7 +397,7 @@ label android_installsdk:
|
||||
label android_configure:
|
||||
|
||||
python:
|
||||
rapt.configure.configure(AndroidInterface(), project.current.path)
|
||||
rapt.configure.configure(MobileInterface("android", edit=False), project.current.path)
|
||||
|
||||
jump android
|
||||
|
||||
@@ -602,6 +415,13 @@ label android_build_and_install:
|
||||
|
||||
jump android
|
||||
|
||||
label android_build_install_and_launch:
|
||||
|
||||
$ android_build([ 'release', 'install' ], launch=True)
|
||||
|
||||
jump android
|
||||
|
||||
|
||||
label android_connect:
|
||||
|
||||
python hide:
|
||||
@@ -641,7 +461,7 @@ label android_connect:
|
||||
|
||||
persistent.connect_address = address
|
||||
|
||||
rapt_interface = AndroidInterface()
|
||||
rapt_interface = MobileInterface("android")
|
||||
rapt.build.connect(rapt_interface, address)
|
||||
|
||||
jump android
|
||||
@@ -650,7 +470,7 @@ label android_disconnect:
|
||||
|
||||
python hide:
|
||||
|
||||
rapt_interface = AndroidInterface()
|
||||
rapt_interface = MobileInterface("android")
|
||||
rapt.build.disconnect(rapt_interface)
|
||||
|
||||
jump android
|
||||
@@ -661,12 +481,13 @@ init python:
|
||||
ap = renpy.arguments.ArgumentParser()
|
||||
ap.add_argument("project", help="The path to the project directory.")
|
||||
ap.add_argument("command", help="Commands to pass to ant. (Try 'release' 'install'.)", nargs='+')
|
||||
ap.add_argument("--launch", action="store_true", help="Launches the app after build and install compete.")
|
||||
|
||||
args = ap.parse_args()
|
||||
|
||||
p = project.Project(args.project)
|
||||
|
||||
android_build(args.command, p=p, gui=False)
|
||||
android_build(args.command, p=p, gui=False, launch=args.launch)
|
||||
|
||||
return False
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
# Copyright 2004-2015 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
|
||||
# (the "Software"), to deal in the Software without restriction,
|
||||
# including without limitation the rights to use, copy, modify, merge,
|
||||
# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
# and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
init python:
|
||||
|
||||
|
||||
def choose_directory(path):
|
||||
"""
|
||||
Pops up a directory chooser.
|
||||
|
||||
`path`
|
||||
The directory that is selected by default. If None, config.renpy_base
|
||||
is selected.
|
||||
|
||||
Returns a (path, is_default) tuple, where path is the chosen directory,
|
||||
and is_default is true if and only if it was chosen by default mechanism
|
||||
rather than user choice.
|
||||
"""
|
||||
|
||||
if path:
|
||||
default_path = path
|
||||
else:
|
||||
try:
|
||||
default_path = os.path.dirname(os.path.abspath(config.renpy_base))
|
||||
except:
|
||||
default_path = os.path.abspath(config.renpy_base)
|
||||
|
||||
if EasyDialogs:
|
||||
|
||||
choice = EasyDialogs.AskFolder(defaultLocation=default_path, wanted=unicode)
|
||||
|
||||
if choice is not None:
|
||||
path = choice
|
||||
else:
|
||||
path = None
|
||||
|
||||
else:
|
||||
|
||||
try:
|
||||
|
||||
cmd = [ "/usr/bin/python", os.path.join(config.gamedir, "tkaskdir.py"), renpy.fsencode(default_path) ]
|
||||
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
choice = p.stdout.read()
|
||||
code = p.wait()
|
||||
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
code = 0
|
||||
choice = ""
|
||||
path = None
|
||||
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."), label=None)
|
||||
|
||||
if code:
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."), label=None)
|
||||
|
||||
elif choice:
|
||||
path = choice.decode("utf-8")
|
||||
|
||||
is_default = False
|
||||
|
||||
if path is None:
|
||||
path = default_path
|
||||
is_default = True
|
||||
|
||||
path = renpy.fsdecode(path)
|
||||
|
||||
if not os.path.isdir(path):
|
||||
path = os.path.abspath(config.renpy_base)
|
||||
is_default = True
|
||||
|
||||
return path, is_default
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -399,13 +399,13 @@ init python in distribute:
|
||||
# Add Python (with the same name as our executables)
|
||||
self.add_python()
|
||||
|
||||
# Build the mac app.
|
||||
# Build the mac app and windows exes.
|
||||
self.add_mac_files()
|
||||
self.add_windows_files()
|
||||
|
||||
# Add generated/special files.
|
||||
if not build['renpy']:
|
||||
self.add_renpy_files()
|
||||
self.add_windows_files()
|
||||
|
||||
# Assign the x-bit as necessary.
|
||||
self.mark_executable()
|
||||
@@ -630,6 +630,9 @@ init python in distribute:
|
||||
],
|
||||
)
|
||||
|
||||
if self.build.get('allow_integrated_gpu', False):
|
||||
plist["NSSupportsAutomaticGraphicsSwitching"] = True
|
||||
|
||||
rv = self.temp_filename("Info.plist")
|
||||
plistlib.writePlist(plist, rv)
|
||||
return rv
|
||||
@@ -663,10 +666,10 @@ init python in distribute:
|
||||
os.path.join(config.renpy_base, "lib/darwin-x86_64/pythonw"),
|
||||
True)
|
||||
|
||||
self.add_file(
|
||||
windows,
|
||||
"lib/windows-i686/" + self.executable_name + ".exe",
|
||||
os.path.join(config.renpy_base, "lib/windows-i686/pythonw.exe"))
|
||||
# self.add_file(
|
||||
# windows,
|
||||
# "lib/windows-i686/" + self.executable_name + ".exe",
|
||||
# os.path.join(config.renpy_base, "lib/windows-i686/renpy.exe"))
|
||||
|
||||
def add_mac_files(self):
|
||||
"""
|
||||
@@ -700,19 +703,31 @@ init python in distribute:
|
||||
Adds windows-specific files.
|
||||
"""
|
||||
|
||||
if self.build['renpy']:
|
||||
windows = 'binary'
|
||||
else:
|
||||
windows = 'windows'
|
||||
|
||||
icon_fn = os.path.join(self.project.path, "icon.ico")
|
||||
old_exe_fn = os.path.join(config.renpy_base, "renpy.exe")
|
||||
old_main_fn = os.path.join(config.renpy_base, "lib/windows-i686/renpy.exe")
|
||||
|
||||
if os.path.exists(icon_fn):
|
||||
exe_fn = self.temp_filename("renpy.exe")
|
||||
main_fn = self.temp_filename("main.exe")
|
||||
|
||||
with open(exe_fn, "wb") as f:
|
||||
f.write(change_icons(old_exe_fn, icon_fn))
|
||||
|
||||
with open(main_fn, "wb") as f:
|
||||
f.write(change_icons(old_main_fn, icon_fn))
|
||||
|
||||
else:
|
||||
exe_fn = old_exe_fn
|
||||
main_fn = old_main_fn
|
||||
|
||||
self.add_file("windows", "renpy.exe", exe_fn)
|
||||
self.add_file(windows, self.exe, exe_fn)
|
||||
self.add_file(windows, "lib/windows-i686/" + self.exe, main_fn)
|
||||
|
||||
def mark_executable(self):
|
||||
"""
|
||||
@@ -737,9 +752,7 @@ init python in distribute:
|
||||
parts = fn.split('/')
|
||||
p = parts[0]
|
||||
|
||||
if p == "renpy.exe":
|
||||
p = self.exe
|
||||
elif p == "renpy.sh":
|
||||
if p == "renpy.sh":
|
||||
p = self.sh
|
||||
elif p == "renpy.py":
|
||||
p = self.py
|
||||
@@ -866,7 +879,7 @@ init python in distribute:
|
||||
if not data:
|
||||
break
|
||||
|
||||
sums.write(struct.pack("I", zlib.adler32(data) & 0xffffffff))
|
||||
sums.write(struct.pack("<I", zlib.adler32(data) & 0xffffffff))
|
||||
|
||||
if self.include_update and not self.build_update and not dlc:
|
||||
os.unlink(update_fn)
|
||||
@@ -888,12 +901,15 @@ init python in distribute:
|
||||
with open(fn, "rb") as f:
|
||||
digest = hashlib.sha256(f.read()).hexdigest()
|
||||
|
||||
sums_size = os.path.getsize(self.destination + "/" + self.base_name + "-" + variant + ".sums")
|
||||
|
||||
index[variant] = {
|
||||
"version" : self.update_version,
|
||||
"pretty_version" : self.pretty_version,
|
||||
"digest" : digest,
|
||||
"zsync_url" : self.base_name + "-" + variant + ".zsync",
|
||||
"sums_url" : self.base_name + "-" + variant + ".sums",
|
||||
"sums_size" : sums_size,
|
||||
"json_url" : self.base_name + "-" + variant + ".update.json",
|
||||
}
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -191,6 +191,7 @@ screen build_distributions:
|
||||
has vbox
|
||||
|
||||
textbutton _("Edit options.rpy") action editor.Edit("game/options.rpy", check=True)
|
||||
textbutton _("Add from clauses to calls, once") action Jump("add_from")
|
||||
textbutton _("Refresh") action Jump("build_distributions")
|
||||
|
||||
|
||||
@@ -219,14 +220,44 @@ screen build_distributions:
|
||||
$ description = pkg["description"]
|
||||
textbutton "[description!q]" action PackageToggle(pkg["name"]) style "l_checkbox"
|
||||
|
||||
add SPACER
|
||||
add SPACER
|
||||
add HALF_SPACER
|
||||
add SEPARATOR2
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("Options:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
if project.current.dump["build"]["include_update"]:
|
||||
textbutton _("Build Updates") action DataToggle("build_update") style "l_checkbox"
|
||||
|
||||
textbutton _("Add from clauses to calls") action DataToggle("add_from") style "l_checkbox"
|
||||
|
||||
|
||||
textbutton _("Back") action Jump("front_page") style "l_left_button"
|
||||
textbutton _("Build") action Jump("distribute") style "l_right_button"
|
||||
textbutton _("Build") action Jump("start_distribute") style "l_right_button"
|
||||
|
||||
label add_from_common:
|
||||
python:
|
||||
interface.processing(_("Adding from clauses to call statements that do not have them."))
|
||||
project.current.launch([ "add_from" ], wait=True)
|
||||
|
||||
return
|
||||
|
||||
label add_from:
|
||||
call add_from_common
|
||||
jump build_distributions
|
||||
|
||||
|
||||
label start_distribute:
|
||||
if project.current.data["add_from"]:
|
||||
call add_from_common
|
||||
|
||||
jump distribute
|
||||
|
||||
label build_update_dump:
|
||||
python:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -197,18 +197,19 @@ screen front_page_project:
|
||||
textbutton _("base") action OpenDirectory(".")
|
||||
# textbutton _("images") action OpenDirectory("game/images") style "l_list"
|
||||
# textbutton _("save") action None style "l_list"
|
||||
|
||||
|
||||
vbox:
|
||||
if persistent.show_edit_funcs:
|
||||
|
||||
label _("Edit File") style "l_label_small"
|
||||
label _("Edit File") style "l_label_small"
|
||||
|
||||
frame style "l_indent":
|
||||
has vbox
|
||||
frame style "l_indent":
|
||||
has vbox
|
||||
|
||||
textbutton "script.rpy" action editor.Edit("game/script.rpy", check=True)
|
||||
textbutton "options.rpy" action editor.Edit("game/options.rpy", check=True)
|
||||
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
|
||||
textbutton _("All script files") action editor.EditAll()
|
||||
textbutton "script.rpy" action editor.Edit("game/script.rpy", check=True)
|
||||
textbutton "options.rpy" action editor.Edit("game/options.rpy", check=True)
|
||||
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
|
||||
textbutton _("All script files") action editor.EditAll()
|
||||
|
||||
add SPACER
|
||||
add SEPARATOR
|
||||
@@ -242,6 +243,7 @@ screen front_page_project:
|
||||
textbutton _("Build Distributions") action Jump("build_distributions")
|
||||
|
||||
textbutton _("Android") action Jump("android")
|
||||
textbutton _("iOS") action Jump("ios")
|
||||
textbutton _("Generate Translations") action Jump("translate")
|
||||
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
|
||||
@@ -0,0 +1,363 @@
|
||||
# Copyright 2004-2015 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
|
||||
# (the "Software"), to deal in the Software without restriction,
|
||||
# including without limitation the rights to use, copy, modify, merge,
|
||||
# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
# and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
init python:
|
||||
IOS_NO_RENIOS = 0
|
||||
IOS_NO_DIRECTORY = 1
|
||||
IOS_NO_PROJECT = 2
|
||||
IOS_OK = 3
|
||||
|
||||
IOS_NO_RENIOS_TEXT = _("To build iOS packages, please download renios, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher.")
|
||||
IOS_NO_DIRECTORY_TEXT = _("The directory in where Xcode projects will be placed has not been selected. Choose 'Select Directory' to select it.")
|
||||
IOS_NO_PROJECT_TEXT = _("There is no Xcode project corresponding to the current Ren'Py project. Choose 'Create Xcode Project' to create one.")
|
||||
IOS_OK_TEXT = _("An Xcode project exists. Choose 'Update Xcode Project' to update it with the latest game files, or use Xcode to build and install it.")
|
||||
|
||||
IPHONE_TEXT = _("Attempts to emulate an iPhone.\n\nTouch input is emulated through the mouse, but only when the button is held down.")
|
||||
IPAD_TEXT = _("Attempts to emulate an iPad.\n\nTouch input is emulated through the mouse, but only when the button is held down.")
|
||||
|
||||
IOS_SELECT_DIRECTORY_TEXT = _("Selects the directory where Xcode projects will be placed.")
|
||||
IOS_CREATE_PROJECT_TEXT = _("Creates an Xcode project corresponding to the current Ren'Py project.")
|
||||
IOS_UPDATE_PROJECT_TEXT = _("Updates the Xcode project with the latest game files. This must be done each time the Ren'Py project changes.")
|
||||
IOS_XCODE_TEXT = _("Opens the Xcode project in Xcode.")
|
||||
|
||||
IOS_OPEN_DIRECTORY_TEXT = _("Opens the directory containing Xcode projects.")
|
||||
|
||||
def find_renios():
|
||||
|
||||
global RENIOS_PATH
|
||||
|
||||
candidates = [ ]
|
||||
|
||||
RENIOS_PATH = os.path.join(config.renpy_base, "renios")
|
||||
|
||||
if os.path.isdir(RENIOS_PATH):
|
||||
import sys
|
||||
sys.path.insert(0, os.path.join(RENIOS_PATH, "buildlib"))
|
||||
else:
|
||||
RENIOS_PATH = None
|
||||
|
||||
find_renios()
|
||||
|
||||
if RENIOS_PATH:
|
||||
import renios.create
|
||||
|
||||
def IOSState():
|
||||
if not RENIOS_PATH:
|
||||
return IOS_NO_RENIOS
|
||||
elif not persistent.xcode_projects_directory:
|
||||
return IOS_NO_DIRECTORY
|
||||
elif not os.path.exists(xcode_project()):
|
||||
return IOS_NO_PROJECT
|
||||
else:
|
||||
return IOS_OK
|
||||
|
||||
def IOSStateText(state):
|
||||
if state == IOS_NO_RENIOS:
|
||||
return IOS_NO_RENIOS_TEXT
|
||||
elif state == IOS_NO_DIRECTORY:
|
||||
return IOS_NO_DIRECTORY_TEXT
|
||||
elif state == IOS_NO_PROJECT:
|
||||
return IOS_NO_PROJECT_TEXT
|
||||
else:
|
||||
return IOS_OK_TEXT
|
||||
|
||||
def IOSIfState(state, needed, action):
|
||||
"""
|
||||
If `state` is `needed` or better, `action` is returned. Otherwise,
|
||||
returns None, disabling the button.
|
||||
"""
|
||||
|
||||
if state >= needed:
|
||||
return action
|
||||
else:
|
||||
return None
|
||||
|
||||
xcode_name_cache = { }
|
||||
|
||||
def xcode_name(s):
|
||||
"""
|
||||
Returns a version of `s` that's safe to use in Xcode.
|
||||
"""
|
||||
|
||||
if s in xcode_name_cache:
|
||||
return xcode_name_cache[s]
|
||||
|
||||
s = re.sub(r'[^\w\-\.]', '', s)
|
||||
xcode_name_cache[s] = s
|
||||
return s
|
||||
|
||||
def xcode_project(p=None):
|
||||
"""
|
||||
Return the path to the Xcode project corresponding to `p`, or the current
|
||||
project if `p` is None
|
||||
"""
|
||||
|
||||
if p is None:
|
||||
p = project.current
|
||||
|
||||
if persistent.xcode_projects_directory is None:
|
||||
raise Exception("The Xcode projects directory has not been set.")
|
||||
|
||||
return os.path.join(persistent.xcode_projects_directory, xcode_name(p.name))
|
||||
|
||||
def ios_create(p=None, gui=True):
|
||||
|
||||
dest = xcode_project(p)
|
||||
|
||||
if os.path.exists(dest):
|
||||
interface.yesno(_("The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"), no=Jump("ios"))
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
i += 1
|
||||
backup = dest + "." + str(i)
|
||||
if not os.path.exists(backup):
|
||||
break
|
||||
|
||||
os.rename(dest, backup)
|
||||
|
||||
iface = MobileInterface("ios")
|
||||
renios.create.create_project(iface, dest)
|
||||
|
||||
ios_populate(p, gui=gui)
|
||||
|
||||
def ios_populate(p=None, gui=True):
|
||||
"""
|
||||
This actually builds the package.
|
||||
"""
|
||||
|
||||
import shutil
|
||||
|
||||
if p is None:
|
||||
p = project.current
|
||||
|
||||
dist = os.path.join(xcode_project(p), "base")
|
||||
|
||||
if os.path.exists(dist):
|
||||
shutil.rmtree(dist)
|
||||
|
||||
if gui:
|
||||
reporter = distribute.GuiReporter()
|
||||
else:
|
||||
reporter = distribute.TextReporter()
|
||||
|
||||
distribute.Distributor(p,
|
||||
reporter=reporter,
|
||||
packages=[ 'ios' ],
|
||||
build_update=False,
|
||||
noarchive=True,
|
||||
packagedest=dist,
|
||||
report_success=False,
|
||||
)
|
||||
|
||||
for fn in os.listdir(dist):
|
||||
if fn.endswith(".py"):
|
||||
os.rename(
|
||||
os.path.join(dist, fn),
|
||||
os.path.join(dist, "main.py"),
|
||||
)
|
||||
|
||||
break
|
||||
|
||||
def launch_xcode():
|
||||
dist = xcode_project(None)
|
||||
base = os.path.basename(dist)
|
||||
xcodeproj = "{}/{}.xcodeproj".format(dist, base)
|
||||
|
||||
subprocess.call([ 'open', renpy.fsencode(xcodeproj) ])
|
||||
|
||||
screen ios:
|
||||
|
||||
default tt = Tooltip(None)
|
||||
$ state = IOSState()
|
||||
|
||||
frame:
|
||||
style_group "l"
|
||||
style "l_root"
|
||||
|
||||
window:
|
||||
|
||||
has vbox
|
||||
|
||||
label _("iOS: [project.current.name!q]")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
hbox:
|
||||
|
||||
# Left side.
|
||||
frame:
|
||||
style "l_indent"
|
||||
xmaximum ONEHALF
|
||||
xfill True
|
||||
|
||||
has vbox
|
||||
|
||||
add SEPARATOR2
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("Emulation:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
frame style "l_indent":
|
||||
|
||||
has hbox:
|
||||
spacing 15
|
||||
|
||||
textbutton _("iPhone"):
|
||||
action LaunchEmulator("ios-touch", "small phone touch ios")
|
||||
hovered tt.Action(IPHONE_TEXT)
|
||||
|
||||
textbutton _("iPad"):
|
||||
action LaunchEmulator("ios-touch", "medium tablet touch ios")
|
||||
hovered tt.Action(IPAD_TEXT)
|
||||
|
||||
|
||||
add SPACER
|
||||
add SEPARATOR2
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("Build:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
frame style "l_indent":
|
||||
|
||||
has vbox
|
||||
|
||||
textbutton _("Select Xcode Projects Directory"):
|
||||
action IOSIfState(state, IOS_NO_DIRECTORY, Jump("select_xcode_projects_directory"))
|
||||
hovered tt.Action(IOS_SELECT_DIRECTORY_TEXT)
|
||||
|
||||
textbutton _("Create Xcode Project"):
|
||||
action IOSIfState(state, IOS_NO_PROJECT, Jump("create_xcode_project"))
|
||||
hovered tt.Action(IOS_CREATE_PROJECT_TEXT)
|
||||
|
||||
textbutton _("Update Xcode Project"):
|
||||
action IOSIfState(state, IOS_NO_PROJECT, Jump("update_xcode_project"))
|
||||
hovered tt.Action(IOS_UPDATE_PROJECT_TEXT)
|
||||
|
||||
if renpy.macintosh:
|
||||
textbutton _("Launch Xcode"):
|
||||
action IOSIfState(state, IOS_OK, launch_xcode)
|
||||
hovered tt.Action(IOS_XCODE_TEXT)
|
||||
|
||||
# textbutton _("Configure"):
|
||||
# action AndroidIfState(state, ANDROID_NO_CONFIG, Jump("android_configure"))
|
||||
# hovered tt.Action(CONFIGURE_TEXT)
|
||||
#
|
||||
# textbutton _("Build Package"):
|
||||
# action AndroidIfState(state, ANDROID_OK, AndroidBuild("android_build"))
|
||||
# hovered tt.Action(BUILD_TEXT)
|
||||
#
|
||||
# textbutton _("Build & Install"):
|
||||
# action AndroidIfState(state, ANDROID_OK, AndroidBuild("android_build_and_install"))
|
||||
# hovered tt.Action(BUILD_AND_INSTALL_TEXT)
|
||||
#
|
||||
# textbutton _("Build, Install & Launch"):
|
||||
# action AndroidIfState(state, ANDROID_OK, AndroidBuild("android_build_install_and_launch"))
|
||||
# hovered tt.Action(BUILD_INSTALL_AND_LAUNCH_TEXT)
|
||||
|
||||
add SPACER
|
||||
add SEPARATOR2
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("Other:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
frame style "l_indent":
|
||||
|
||||
has vbox
|
||||
|
||||
textbutton _("Open Xcode Projects Directory"):
|
||||
action IOSIfState(state, IOS_NO_PROJECT, OpenDirectory(persistent.xcode_projects_directory, absolute=True))
|
||||
hovered tt.Action(IOS_OPEN_DIRECTORY_TEXT)
|
||||
|
||||
|
||||
# Right side.
|
||||
frame:
|
||||
style "l_indent"
|
||||
xmaximum ONEHALF
|
||||
xfill True
|
||||
|
||||
has vbox
|
||||
|
||||
add SEPARATOR2
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
add SPACER
|
||||
|
||||
if tt.value:
|
||||
text tt.value
|
||||
else:
|
||||
text IOSStateText(state)
|
||||
|
||||
|
||||
textbutton _("Back") action Jump("front_page") style "l_left_button"
|
||||
|
||||
|
||||
label ios:
|
||||
|
||||
if RENIOS_PATH is None:
|
||||
$ interface.yesno(_("Before packaging iOS apps, you'll need to download renios, Ren'Py's iOS support. Would you like to download renios now?"), no=Jump("front_page"))
|
||||
$ add_dlc("renios", restart=True)
|
||||
|
||||
call screen ios
|
||||
|
||||
label select_xcode_projects_directory:
|
||||
|
||||
python hide:
|
||||
|
||||
interface.interaction(_("XCODE PROJECTS DIRECTORY"), _("Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"))
|
||||
|
||||
path, is_default = choose_directory(persistent.xcode_projects_directory)
|
||||
|
||||
if is_default:
|
||||
interface.info(_("Ren'Py has set the Xcode Projects Directory to:"), "[path!q]", path=path)
|
||||
|
||||
persistent.xcode_projects_directory = path
|
||||
|
||||
jump ios
|
||||
|
||||
label create_xcode_project:
|
||||
|
||||
$ ios_create(None, True)
|
||||
|
||||
jump ios
|
||||
|
||||
label update_xcode_project:
|
||||
$ ios_populate(None, True)
|
||||
|
||||
jump ios
|
||||
@@ -0,0 +1,234 @@
|
||||
# Copyright 2004-2015 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
|
||||
# (the "Software"), to deal in the Software without restriction,
|
||||
# including without limitation the rights to use, copy, modify, merge,
|
||||
# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
# and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# This file contains mobile build things that are shared by the android
|
||||
# and iOS builds.
|
||||
|
||||
init python:
|
||||
|
||||
class LaunchEmulator(Action):
|
||||
|
||||
def __init__(self, emulator, variants):
|
||||
self.emulator = emulator
|
||||
self.variants = variants
|
||||
|
||||
def __call__(self):
|
||||
|
||||
env = {
|
||||
"RENPY_EMULATOR" : self.emulator,
|
||||
"RENPY_VARIANT" : self.variants,
|
||||
}
|
||||
|
||||
p = project.current
|
||||
p.launch(env=env)
|
||||
|
||||
class MobileInterface(object):
|
||||
"""
|
||||
This is used to interface between the launcher and RAPT/RENIOS.
|
||||
"""
|
||||
|
||||
def __init__(self, platform, edit=True):
|
||||
"""
|
||||
`platform`
|
||||
The name of the platform we're using for. Used for libraries,
|
||||
cancel labels, and logfiles.
|
||||
|
||||
`edit`
|
||||
If true, we launch the log file in the editor on failure.
|
||||
"""
|
||||
|
||||
self.platform = platform
|
||||
self.edit = edit
|
||||
|
||||
self.process = None
|
||||
self.filename = project.current.temp_filename(platform + ".txt")
|
||||
|
||||
self.info_msg = ""
|
||||
|
||||
with open(self.filename, "w"):
|
||||
pass
|
||||
|
||||
def log(self, msg):
|
||||
with open(self.filename, "a") as f:
|
||||
f.write("\n")
|
||||
f.write(msg)
|
||||
f.write("\n")
|
||||
|
||||
def info(self, prompt):
|
||||
self.info_msg = prompt
|
||||
interface.processing(prompt, pause=False)
|
||||
self.log(prompt)
|
||||
|
||||
def yesno(self, prompt, submessage=None):
|
||||
return interface.yesno(prompt, submessage=submessage)
|
||||
|
||||
def yesno_choice(self, prompt, default=None):
|
||||
choices = [ (True, "Yes"), (False, "No") ]
|
||||
return interface.choice(prompt, choices, default)
|
||||
|
||||
def terms(self, url, prompt):
|
||||
submessage = _("{a=%s}%s{/a}") % (url, url)
|
||||
|
||||
if not interface.yesno(prompt, submessage=submessage):
|
||||
self.fail("You must accept the terms and conditions to proceed.", edit=False)
|
||||
|
||||
|
||||
def input(self, prompt, empty=None):
|
||||
|
||||
if empty is None:
|
||||
empty = ''
|
||||
|
||||
while True:
|
||||
rv = interface.input(_("QUESTION"), prompt, default=empty, cancel=Jump("android"))
|
||||
|
||||
rv = rv.strip()
|
||||
|
||||
if rv:
|
||||
return rv
|
||||
|
||||
def choice(self, prompt, choices, default):
|
||||
return interface.choice(prompt, choices, default, cancel=Jump("android"))
|
||||
|
||||
def fail(self, prompt, edit=True):
|
||||
self.log(prompt)
|
||||
prompt = re.sub(r'(http://\S+)', r'{a=\1}\1{/a}', prompt)
|
||||
|
||||
# Open android.txt in the editor.
|
||||
if edit and self.edit:
|
||||
editor.EditAbsolute(self.filename)()
|
||||
|
||||
interface.error(prompt, label="android")
|
||||
|
||||
def success(self, prompt):
|
||||
self.log(prompt)
|
||||
interface.info(prompt, pause=False)
|
||||
|
||||
def final_success(self, prompt):
|
||||
self.log(prompt)
|
||||
interface.info(prompt, label="android")
|
||||
|
||||
def run_yes_thread(self):
|
||||
import time
|
||||
|
||||
try:
|
||||
while self.run_yes:
|
||||
self.process.stdin.write('y\n')
|
||||
self.process.stdin.flush()
|
||||
time.sleep(.2)
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
def call(self, cmd, cancel=False, use_path=False, yes=False):
|
||||
|
||||
cmd = [ renpy.fsencode(i) for i in cmd ]
|
||||
|
||||
self.cmd = cmd
|
||||
|
||||
f = open(self.filename, "a")
|
||||
|
||||
f.write("\n\n\n")
|
||||
|
||||
if cancel:
|
||||
cancel_action = self.cancel
|
||||
else:
|
||||
cancel_action = None
|
||||
|
||||
startupinfo = None
|
||||
if renpy.windows:
|
||||
startupinfo = subprocess.STARTUPINFO()
|
||||
startupinfo.dwFlags |= subprocess.STARTF_USESHOWWINDOW
|
||||
|
||||
self.yes_thread = None
|
||||
|
||||
try:
|
||||
interface.processing(self.info_msg, show_screen=True, cancel=cancel_action)
|
||||
|
||||
kwargs = { }
|
||||
if yes:
|
||||
kwargs["stdin"] = subprocess.PIPE
|
||||
|
||||
try:
|
||||
self.process = subprocess.Popen(cmd, cwd=renpy.fsencode(RAPT_PATH), stdout=f, stderr=f, startupinfo=startupinfo, **kwargs)
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc(file=f)
|
||||
raise
|
||||
|
||||
if yes:
|
||||
import threading
|
||||
self.run_yes = True
|
||||
self.yes_thread = threading.Thread(target=self.run_yes_thread)
|
||||
self.yes_thread.daemon = True
|
||||
self.yes_thread.start()
|
||||
|
||||
renpy.call_screen("android_process", interface=self)
|
||||
finally:
|
||||
f.close()
|
||||
interface.hide_screen()
|
||||
|
||||
if yes and self.yes_thread:
|
||||
self.run_yes = False
|
||||
self.yes_thread.join()
|
||||
|
||||
self.process = None
|
||||
self.yes_thread = None
|
||||
|
||||
def check_process(self):
|
||||
rv = self.process.poll()
|
||||
|
||||
if rv is not None:
|
||||
if rv:
|
||||
raise subprocess.CalledProcessError(rv, self.cmd)
|
||||
else:
|
||||
return True
|
||||
|
||||
def download(self, url, dest):
|
||||
try:
|
||||
d = Downloader(url, dest)
|
||||
cancel_action = [ d.cancel, Jump(self.platform) ]
|
||||
interface.processing(self.info_msg, show_screen=True, cancel=cancel_action, bar_value=DownloaderValue(d))
|
||||
ui.timer(.1, action=d.check, repeat=True)
|
||||
ui.interact()
|
||||
finally:
|
||||
interface.hide_screen()
|
||||
|
||||
def background(self, f):
|
||||
try:
|
||||
t = threading.Thread(target=f)
|
||||
t.start()
|
||||
|
||||
interface.processing(self.info_msg, show_screen=True)
|
||||
|
||||
while t.is_alive():
|
||||
renpy.pause(0)
|
||||
t.join(0.25)
|
||||
|
||||
finally:
|
||||
interface.hide_screen()
|
||||
|
||||
|
||||
def cancel(self):
|
||||
if self.process:
|
||||
self.process.terminate()
|
||||
|
||||
renpy.jump(self.platform)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -245,13 +245,22 @@ init python:
|
||||
|
||||
## Now, add the Ren'Py distribution in using classify_renpy.
|
||||
|
||||
build.classify_renpy("rapt/**", "rapt")
|
||||
|
||||
build.classify_renpy("**~", None)
|
||||
build.classify_renpy("**/#*", None)
|
||||
build.classify_renpy("**/thumbs.db", None)
|
||||
build.classify_renpy("**/.*", None)
|
||||
|
||||
build.classify_renpy("rapt/**", "rapt")
|
||||
|
||||
build.classify_renpy("renios/prototype/base/", None)
|
||||
build.classify_renpy("renios/prototype/prototype.xcodeproj/*.xcworkspace/", None)
|
||||
build.classify_renpy("renios/prototype/prototype.xcodeproj/xcuserdata/", None)
|
||||
build.classify_renpy("renios/prototype/**", "renios")
|
||||
build.classify_renpy("renios/buildlib/**", "renios")
|
||||
build.classify_renpy("renios/ios.py", "renios")
|
||||
build.classify_renpy("renios/", "renios")
|
||||
|
||||
build.classify_renpy("**.old", None)
|
||||
build.classify_renpy("**.new", None)
|
||||
build.classify_renpy("**.bak", None)
|
||||
@@ -310,11 +319,12 @@ init python:
|
||||
build.classify_renpy("module/pysdlsound/*.pyx", "source")
|
||||
|
||||
# all-platforms binary.
|
||||
build.classify_renpy("lib/**/_renpysteam*", None)
|
||||
build.classify_renpy("lib/**/*steam_api*", None)
|
||||
build.classify_renpy("lib/*/renpy", None)
|
||||
build.classify_renpy("lib/*/renpy.exe", None)
|
||||
build.classify_renpy("lib/**", "binary")
|
||||
build.classify_renpy("renpy.sh", "binary")
|
||||
build.classify_renpy("renpy.exe", "binary")
|
||||
# renpy.app is now built from scratch from distribute.rpy.
|
||||
|
||||
# jedit rules.
|
||||
@@ -343,4 +353,4 @@ init python:
|
||||
build.package("editra-mac", "zip", "editra-all editra-mac", dlc=True)
|
||||
build.package("editra-windows", "zip", "editra-all editra-windows", dlc=True)
|
||||
build.package("rapt", "zip", "rapt", dlc=True)
|
||||
|
||||
build.package("renios", "zip", "renios", dlc=True)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -107,7 +107,28 @@ init python in distribute:
|
||||
"""
|
||||
|
||||
def __init__(self, filename):
|
||||
self.zipfile = ZipFile(filename, "w", zipfile.ZIP_DEFLATED)
|
||||
self.zipfile = ZipFile(filename, "w", zipfile.ZIP_DEFLATED, True)
|
||||
|
||||
def get_date_time(self, path):
|
||||
"""
|
||||
Gets the datetime for a file. If the time doesn't exist or is
|
||||
weird, use the current time instead.
|
||||
"""
|
||||
|
||||
try:
|
||||
s = os.stat(path)
|
||||
rv = time.gmtime(s.st_mtime)[:6]
|
||||
|
||||
# Check that the time is sensible.
|
||||
if rv[0] < 2000:
|
||||
rv = None
|
||||
except:
|
||||
rv = None
|
||||
|
||||
if rv is None:
|
||||
rv = time.gmtime()[:6]
|
||||
|
||||
return rv
|
||||
|
||||
def add_file(self, name, path, xbit):
|
||||
|
||||
@@ -115,13 +136,7 @@ init python in distribute:
|
||||
raise Exception("path for " + name + " must not be None.")
|
||||
|
||||
zi = zipfile.ZipInfo(name)
|
||||
|
||||
try:
|
||||
s = os.stat(path)
|
||||
zi.date_time = time.gmtime(s.st_mtime)[:6]
|
||||
except:
|
||||
zi.date_time = time.gmtime()[:6]
|
||||
|
||||
zi.date_time = self.get_date_time(path)
|
||||
zi.compress_type = zipfile.ZIP_DEFLATED
|
||||
zi.create_system = 3
|
||||
|
||||
@@ -137,9 +152,7 @@ init python in distribute:
|
||||
return
|
||||
|
||||
zi = zipfile.ZipInfo(name + "/")
|
||||
|
||||
s = os.stat(path)
|
||||
zi.date_time = time.gmtime(s.st_mtime)[:6]
|
||||
zi.date_time = self.get_date_time(path)
|
||||
zi.compress_type = zipfile.ZIP_STORED
|
||||
zi.create_system = 3
|
||||
zi.external_attr = (long(0040755) << 16) | 0x10
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -25,6 +25,9 @@ init python:
|
||||
|
||||
config.gl_enable = persistent.gl_enable
|
||||
|
||||
if persistent.show_edit_funcs is None:
|
||||
persistent.show_edit_funcs = True
|
||||
|
||||
if persistent.windows_console is None:
|
||||
persistent.windows_console = False
|
||||
|
||||
@@ -168,7 +171,9 @@ screen preferences:
|
||||
|
||||
textbutton _("Hardware rendering") style "l_checkbox" action ToggleField(persistent, "gl_enable")
|
||||
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
|
||||
textbutton _("Show edit file section") style "l_checkbox" action ToggleField(persistent, "show_edit_funcs")
|
||||
textbutton _("Large fonts") style "l_checkbox" action [ ToggleField(persistent, "large_print"), renpy.utter_restart ]
|
||||
textbutton _("Generate empty strings for translations") style "l_checkbox" action ToggleField(persistent, "generate_empty_strings")
|
||||
|
||||
if renpy.windows:
|
||||
textbutton _("Console output") style "l_checkbox" action ToggleField(persistent, "windows_console")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -121,6 +121,7 @@ init python in project:
|
||||
|
||||
data.setdefault("build_update", False)
|
||||
data.setdefault("packages", [ "all" ])
|
||||
data.setdefault("add_from", True)
|
||||
|
||||
def make_tmp(self):
|
||||
"""
|
||||
@@ -553,62 +554,12 @@ label choose_projects_directory:
|
||||
|
||||
interface.interaction(_("PROJECTS DIRECTORY"), _("Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"), _("This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."),)
|
||||
|
||||
path = persistent.projects_directory
|
||||
path, is_default = choose_directory(persistent.projects_directory)
|
||||
|
||||
if path:
|
||||
default_path = path
|
||||
else:
|
||||
try:
|
||||
default_path = os.path.dirname(os.path.abspath(config.renpy_base))
|
||||
except:
|
||||
default_path = os.path.abspath(config.renpy_base)
|
||||
|
||||
|
||||
if EasyDialogs:
|
||||
|
||||
choice = EasyDialogs.AskFolder(defaultLocation=default_path, wanted=unicode)
|
||||
|
||||
if choice is not None:
|
||||
path = choice
|
||||
else:
|
||||
path = None
|
||||
|
||||
else:
|
||||
|
||||
try:
|
||||
|
||||
cmd = [ "/usr/bin/python", os.path.join(config.gamedir, "tkaskdir.py"), renpy.fsencode(default_path) ]
|
||||
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
choice = p.stdout.read()
|
||||
code = p.wait()
|
||||
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
code = 0
|
||||
choice = ""
|
||||
path = None
|
||||
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the projects directory. Please install the python-tk or tkinter package."), label=None)
|
||||
|
||||
if code:
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the projects directory. Please install the python-tk or tkinter package."), label=None)
|
||||
|
||||
elif choice:
|
||||
path = choice.decode("utf-8")
|
||||
|
||||
if path is None:
|
||||
path = default_path
|
||||
if is_default:
|
||||
interface.info(_("Ren'Py has set the projects directory to:"), "[path!q]", path=path)
|
||||
|
||||
path = renpy.fsdecode(path)
|
||||
|
||||
if os.path.isdir(path):
|
||||
persistent.projects_directory = path
|
||||
else:
|
||||
path = os.path.abspath(config.renpy_base)
|
||||
persistent.projects_directory = path
|
||||
|
||||
project.manager.scan()
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 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
|
||||
@@ -104,9 +104,9 @@ init 1 python:
|
||||
|
||||
def checkbox(full, color):
|
||||
if full:
|
||||
return im.Twocolor("images/checkbox_full.png", color, color, yalign=0.5)
|
||||
return im.Twocolor("images/checkbox_full.png", color, color, style="l_checkbox_box")
|
||||
else:
|
||||
return im.Twocolor("images/checkbox_empty.png", color, color, yalign=0.5)
|
||||
return im.Twocolor("images/checkbox_empty.png", color, color, style="l_checkbox_box")
|
||||
|
||||
init 1:
|
||||
|
||||
@@ -322,6 +322,10 @@ init 1:
|
||||
selected_hover_background checkbox(True, HOVER)
|
||||
insensitive_background checkbox(False, DISABLED)
|
||||
|
||||
style l_checkbox_box:
|
||||
yanchor 0.5
|
||||
ypos 11
|
||||
|
||||
style l_checkbox_text is l_button_text:
|
||||
selected_font LIGHT
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Copyright 2004-2014 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2015 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/about.rpy:21
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/add_file.rpy:7
|
||||
|
||||
@@ -80,7 +80,7 @@ translate arabic strings:
|
||||
|
||||
# game/android.rpy:409
|
||||
old "Build:"
|
||||
new ""
|
||||
new "بناء"
|
||||
|
||||
# game/android.rpy:417
|
||||
old "Install SDK & Create Keys"
|
||||
@@ -162,3 +162,18 @@ translate arabic strings:
|
||||
old "The port must be a number."
|
||||
new "يجب ان يكون العنوان مكون من أرقام فقط"
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/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 "يبني الحزمة الخاصة بالأندرويد و يقوم بتنصيبها على جهاز أندرويد متصل بجهازك, ثم يقوم بإقلاع البرنامج على جهاز الأندرويد."
|
||||
|
||||
# game/android.rpy:290
|
||||
old "Television"
|
||||
new "تلفاز"
|
||||
|
||||
# game/android.rpy:326
|
||||
old "Build, Install & Launch"
|
||||
new "بناء,تنصيب و إقلاع."
|
||||
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/choose_directory.rpy:73
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
|
||||
new "لم يتمكن رينباي من تشغيل بايثون باستخدام tkinter لاختيار المجلد. الرجال تنصيب حزمة tkinter أو python-tk."
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/choose_theme.rpy:274
|
||||
|
||||
@@ -526,3 +526,64 @@ translate arabic strings:
|
||||
old "Location"
|
||||
new "الموقع"
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# renpy/common/00preferences.rpy:387
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "تشغيل الأصوات من الحافظة مفعّل. إضغط لإيقافه زريّ: Shift+C"
|
||||
|
||||
# renpy/common/00preferences.rpy:389
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "التكلّم التلقائي مفعَل. لإيقافه إضغط زر V"
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# renpy/common/00updater.rpy:362
|
||||
old "The Ren'Py Updater is not supported on mobile devices."
|
||||
new "تحديث برنامج رينباي غير مدعوم على الأجهزة المحمولة."
|
||||
|
||||
# renpy/common/00updater.rpy:478
|
||||
old "An error is being simulated."
|
||||
new "يتم محاكاة خطأ الآن."
|
||||
|
||||
# renpy/common/00updater.rpy:654
|
||||
old "Either this project does not support updating, or the update status file was deleted."
|
||||
new "هذا المشروع لا يدعم التحديث، أو أن ملف حالة نسخة البرنامج محذوفة."
|
||||
|
||||
# renpy/common/00updater.rpy:668
|
||||
old "This account does not have permission to perform an update."
|
||||
new "هذا الحساب ليست لديه الصلاحية ليقوم بالتحديث."
|
||||
|
||||
# renpy/common/00updater.rpy:671
|
||||
old "This account does not have permission to write the update log."
|
||||
new " هذا الحساب ليست لديه الصلاحية ليكتب ملف التحديث."
|
||||
|
||||
# renpy/common/00updater.rpy:696
|
||||
old "Could not verify update signature."
|
||||
new "لم نتمكن من التحقق من توقيع التحديث update signature."
|
||||
|
||||
# renpy/common/00updater.rpy:956
|
||||
old "The update file was not downloaded."
|
||||
new "لم يتم تحميل ملف التحديث."
|
||||
|
||||
# renpy/common/00updater.rpy:974
|
||||
old "The update file does not have the correct digest - it may have been corrupted."
|
||||
new "ملف التحديث لا يحتوي على المختصرات الصحيحة - قد يكون معطوباً."
|
||||
|
||||
# renpy/common/00updater.rpy:1030
|
||||
old "While unpacking {}, unknown type {}."
|
||||
new "عند فك الحزمة {}، نوع مجهول {}."
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# renpy/common/_developer/developer.rpym:437
|
||||
old "Rectangle copied to clipboard."
|
||||
new "تم نسخ المربع إلى الحافظة."
|
||||
|
||||
# renpy/common/_developer/developer.rpym:440
|
||||
old "Position copied to clipboard."
|
||||
new "تم نسخ الموضع إلى الحافظة."
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
|
||||
@@ -45,3 +45,22 @@ translate arabic strings:
|
||||
old "Your project does not contain build information. Would you like to add build information to the end of options.rpy?"
|
||||
new "مشروعك يخلو من معلومات النشر, هل ترغب في إضافة هذه المعلومات في نهاية ملف options.rpy؟"
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/distribute_gui.rpy:194
|
||||
old "Add from clauses to calls, once"
|
||||
new "إضافة بند 'مِن' إلى أمر الجلب, مرة واحدة"
|
||||
|
||||
# game/distribute_gui.rpy:231
|
||||
old "Options:"
|
||||
new "خيارات:"
|
||||
|
||||
# game/distribute_gui.rpy:238
|
||||
old "Add from clauses to calls"
|
||||
new "إضافة بنود 'مِن' إلى أمر الجلب"
|
||||
|
||||
# game/distribute_gui.rpy:246
|
||||
old "Adding from clauses to call statements that do not have them."
|
||||
new "إضافة بنود 'مِن' إلى أوامر الجلب التي لا تحتوي عليها."
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Translation updated at 2013-04-30 07:54
|
||||
# Translation updated at 2013-04-30 07:54
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
|
||||
@@ -114,3 +114,10 @@ translate arabic strings:
|
||||
old "Recompiling all rpy files into rpyc files..."
|
||||
new "يتم إعادة حزم الملفات من صيغة rpy إلى rpyc..."
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/front_page.rpy:246
|
||||
old "iOS"
|
||||
new "iOS نظام تشغيل"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/interface.rpy:89
|
||||
|
||||
@@ -0,0 +1,100 @@
|
||||
# Translation updated at 2015-03-22 20:50
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/ios.rpy:28
|
||||
old "To build iOS packages, please download renios, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
|
||||
new "لبناء حزم الـ iOS, الرجاء تحميل البرنامج الخاص بذلك renios و فك الضغط عنه, ثم وضعه في مجلد رينباي الرئيسي. بعد ذلك قم بإعادة تشغيل رينباي."
|
||||
|
||||
# game/ios.rpy:29
|
||||
old "The directory in where Xcode projects will be placed has not been selected. Choose 'Select Directory' to select it."
|
||||
new "لم يتم اختيار المسار الذي سيتم وضع Xcode فيه. الرجاء ضغط زر اختيار المجلد لاختيار المكان الصحيح."
|
||||
|
||||
# game/ios.rpy:30
|
||||
old "There is no Xcode project corresponding to the current Ren'Py project. Choose 'Create Xcode Project' to create one."
|
||||
new "لا يوجد مشروع Xcode متطابق مع مشروع رينباي الحالي. الرجاء اختيار زر 'صنع مشروع Xcode' لبدء واحد."
|
||||
|
||||
# game/ios.rpy:31
|
||||
old "An Xcode project exists. Choose 'Update Xcode Project' to update it with the latest game files, or use Xcode to build and install it."
|
||||
new "يوجد مشروع Xcode. لتحديثه قم بضغط زر 'تحديث مشروع Xcode' ليصبح متطابقاً مع آخر التعديلات على اللعبة’ او قم باستعمال Xcode للبناء و التنصيب."
|
||||
|
||||
# game/ios.rpy:33
|
||||
old "Attempts to emulate an iPhone.\n\nTouch input is emulated through the mouse, but only when the button is held down."
|
||||
new "يقوم بمحاكاة جهاز أيفون. اللمس يتم محاكاته عن طريق الضغط بالزر الأيسر للفأرة."
|
||||
|
||||
# game/ios.rpy:34
|
||||
old "Attempts to emulate an iPad.\n\nTouch input is emulated through the mouse, but only when the button is held down."
|
||||
new "يقوم بمحاكاة جهاز أيفون. اللمس يتم محاكاته عن طريق الضغط بالزر الأيسر للفأرة."
|
||||
|
||||
# game/ios.rpy:36
|
||||
old "Selects the directory where Xcode projects will be placed."
|
||||
new "إختر المجلد الذي سيكون فيه مشروع Xcode."
|
||||
|
||||
# game/ios.rpy:37
|
||||
old "Creates an Xcode project corresponding to the current Ren'Py project."
|
||||
new "يقوم بصنع مشروع Xcode متطابق مع مشروع رينباي الحالي."
|
||||
|
||||
# game/ios.rpy:38
|
||||
old "Updates the Xcode project with the latest game files. This must be done each time the Ren'Py project changes."
|
||||
new "يقوم بتحديث مشروع Xcode ليصبح متطابقاً مع ملفات اللعبة. يجب أن يتم تكرار هذه العملية مع كل تغيير في اللعبة."
|
||||
|
||||
# game/ios.rpy:39
|
||||
old "Opens the Xcode project in Xcode."
|
||||
new "يقوم بفتح مشروع Xcode في Xcode."
|
||||
|
||||
# game/ios.rpy:41
|
||||
old "Opens the directory containing Xcode projects."
|
||||
new "يقوم بفتح المجلد الموجود فيه مشاريع Xcode."
|
||||
|
||||
# game/ios.rpy:126
|
||||
old "The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"
|
||||
new "مشروع Xcode موجود مسبقاً. هل تريد تغيير إسم المشروع القديم, و استبداله بالجديد؟"
|
||||
|
||||
# game/ios.rpy:200
|
||||
old "iOS: [project.current.name!q]"
|
||||
new "iOS: [project.current.name!q]"
|
||||
|
||||
# game/ios.rpy:229
|
||||
old "iPhone"
|
||||
new "أيفون"
|
||||
|
||||
# game/ios.rpy:233
|
||||
old "iPad"
|
||||
new "أيباد"
|
||||
|
||||
# game/ios.rpy:253
|
||||
old "Select Xcode Projects Directory"
|
||||
new "إختر مسار مشاريع Xcode"
|
||||
|
||||
# game/ios.rpy:257
|
||||
old "Create Xcode Project"
|
||||
new "صنع مشروع Xcode"
|
||||
|
||||
# game/ios.rpy:261
|
||||
old "Update Xcode Project"
|
||||
new "تحديث مشروع Xcode"
|
||||
|
||||
# game/ios.rpy:266
|
||||
old "Launch Xcode"
|
||||
new "إقلاع Xcode"
|
||||
|
||||
# game/ios.rpy:301
|
||||
old "Open Xcode Projects Directory"
|
||||
new "فتح مجلد مشاريع Xcode"
|
||||
|
||||
# game/ios.rpy:334
|
||||
old "Before packaging iOS apps, you'll need to download renios, Ren'Py's iOS support. Would you like to download renios now?"
|
||||
new "قبل صنع الحزم الخاصة ببرامج iOS يجب ان تقوم بتحميل برنامج renios المساند لرينباي على اجهزة أبل. هل تريد تحميل renios الآن؟"
|
||||
|
||||
# game/ios.rpy:343
|
||||
old "XCODE PROJECTS DIRECTORY"
|
||||
new "مسار مشاريع Xcode"
|
||||
|
||||
# game/ios.rpy:343
|
||||
old "Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "الرجاء إختيار المجلد الذي سيتم وضع مشاريع Xcode فيه باستخدام نافذة اختيار المجلد. قد تكون النافذة مفتوحة خلف هذه النافذة."
|
||||
|
||||
# game/ios.rpy:348
|
||||
old "Ren'Py has set the Xcode Projects Directory to:"
|
||||
new "رينباي قام بتحديد مجلد مشاريع Xcode إلى:"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/navigation.rpy:150
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
|
||||
@@ -82,3 +82,14 @@ translate arabic strings:
|
||||
old "Large fonts"
|
||||
new "خط كبير"
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/preferences.rpy:174
|
||||
old "Show edit file section"
|
||||
new "عرض قسم تعديل الملف"
|
||||
|
||||
# game/preferences.rpy:176
|
||||
old "Generate empty strings for translations"
|
||||
new "صنع خانات فارغة للترجمات"
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
translate arabic python:
|
||||
translate arabic python:
|
||||
al = "DejaVuSans.ttf"
|
||||
style.l_default.font = al
|
||||
style.l_default.size = 16
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
# game/translations.rpy:10
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
# : Translation updated at 2013-04-30 07:54
|
||||
|
||||
translate arabic strings:
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/about.rpy:39
|
||||
old "[version!q]"
|
||||
new "[version!q]"
|
||||
|
||||
# game/about.rpy:43
|
||||
old "View license"
|
||||
new "Näytä lisenssi"
|
||||
|
||||
# game/about.rpy:45
|
||||
old "Back"
|
||||
new "Takaisin"
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/add_file.rpy:28
|
||||
old "FILENAME"
|
||||
new "TIEDOSTONIMI"
|
||||
|
||||
# game/add_file.rpy:28
|
||||
old "Enter the name of the script file to create."
|
||||
new "Kirjoita skriptitiedoston nimi, jonka haluat luoda."
|
||||
|
||||
# game/add_file.rpy:31
|
||||
old "The filename must have the .rpy extension."
|
||||
new "Tiedostolla on oltava .rpy -tunniste."
|
||||
|
||||
# game/add_file.rpy:39
|
||||
old "The file already exists."
|
||||
new "Tiedosto on jo olemassa."
|
||||
|
||||
# game/add_file.rpy:42
|
||||
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"
|
||||
new "# Ren'Py lataa automaattisesti kaikki scriptitiedostot, joilla on .rpy pääte. Käyttääksesi tätä\n# tiedostoa, luo label ja hyppää siihen toisesta tiedostosta.\n"
|
||||
|
||||
@@ -0,0 +1,155 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/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 "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."
|
||||
|
||||
# game/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."
|
||||
|
||||
# game/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 "RAPT on asennettu, mutta sinun on asennettava Android SDK ennen kuin voit luoda Android-sovelluksia. Valitse 'Asenna SDK' tehdäksesi tämän."
|
||||
|
||||
# game/android.rpy:33
|
||||
old "RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore."
|
||||
new "RAPT on asennettu, mutta avainta ei ole konfiguroitu. Luo uusi avain, tai palauta android.keystore."
|
||||
|
||||
# game/android.rpy:34
|
||||
old "The current project has not been configured. Use \"Configure\" to configure it before building."
|
||||
new "Valittua projektia ei ole konfiguroitu. Käytä \"Konfigurointi\" -toimintoa konfiguroidaksesi sen ennen sovelluksen kokoamista."
|
||||
|
||||
# game/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 "Valitse \"Kokoa\" kootaksesi projektin, tai kiinnitä Android-laite ja valitse \"Kokoa ja asenna\" kootaksesi ja asentaaksesi sen laitteeseen."
|
||||
|
||||
# game/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."
|
||||
new "Pyrkii emuloimaan Android-puhelinta.\n\nKosketus valintaa emuloidaan hiirellä, mutta vain kun nappia pidetään pohjassa. Esc toimii Menu-näppäimenä ja Pg Up toimii peruutusnappina."
|
||||
|
||||
# game/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 "Pyrkii emuloimaan Android-tablettia.\n\nKosketus valintaa emuloidaan hiirellä, mutta vain kun nappia pidetään pohjassa. Esc toimii Menu-näppäimenä ja Pg Up toimii peruutusnappina."
|
||||
|
||||
# game/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 "Pyrkii emuloimaan televisiopohjaista Android-konsolia, kuten OUYA tai Fire TV.\n\nOhjainnäppäimet ovat nuolinäppäimet, Enter toimii valitsijana, Esc toimii Menu-näppäimenä ja Pg Up toimii peruutusnappina."
|
||||
|
||||
# game/android.rpy:41
|
||||
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
|
||||
new "Lataa ja asentaa Android SDK:n ja tarvittavat lisäpaketit. Lisäksi, voidaan käyttää avainten luomiseen."
|
||||
|
||||
# game/android.rpy:42
|
||||
old "Configures the package name, version, and other information about this project."
|
||||
new "Konfiguroi paketin nimen, version sekä kaiken muun projektia koskevan tiedon."
|
||||
|
||||
# game/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."
|
||||
new "Avaa tiedoston, joka sisältää Google Play -avaimet, editorissa.\n\nTätä tarvitaan vain, jos sovellus käyttää laajennus-APK:ta. Lue dokumentit saadaksesi lisätietoa."
|
||||
|
||||
# game/android.rpy:44
|
||||
old "Builds the Android package."
|
||||
new "Rakentaa Android-paketin."
|
||||
|
||||
# game/android.rpy:45
|
||||
old "Builds the Android package, and installs it on an Android device connected to your computer."
|
||||
new "Rakentaa Android-paketin, ja asentaa sen tietokoneeseen kytkettyyn Android-laitteeseen."
|
||||
|
||||
# game/android.rpy:47
|
||||
old "Connects to an Android device running ADB in TCP/IP mode."
|
||||
new "Yhdistää Android-laitteeseen, jossa on käytössä ADB TCP/IP -tilassa."
|
||||
|
||||
# game/android.rpy:48
|
||||
old "Disconnects from an Android device running ADB in TCP/IP mode."
|
||||
new "Katkaisee yhteyden Android-laitteeseen, jossa on käytössä ADB TCP/IP -tila."
|
||||
|
||||
# game/android.rpy:164
|
||||
old "{a=%s}%s{/a}"
|
||||
new "{a=%s}%s{/a}"
|
||||
|
||||
# game/android.rpy:176
|
||||
old "QUESTION"
|
||||
new "KYSYMYS"
|
||||
|
||||
# game/android.rpy:445
|
||||
old "Android: [project.current.name!q]"
|
||||
new "Android: [project.current.name!q]"
|
||||
|
||||
# game/android.rpy:465
|
||||
old "Emulation:"
|
||||
new "Emulointi:"
|
||||
|
||||
# game/android.rpy:473
|
||||
old "Phone"
|
||||
new "Puhelin"
|
||||
|
||||
# game/android.rpy:477
|
||||
old "Tablet"
|
||||
new "Tablettitietokone"
|
||||
|
||||
# game/android.rpy:481
|
||||
old "Television / OUYA"
|
||||
new "Televisio / OUYA"
|
||||
|
||||
# game/android.rpy:493
|
||||
old "Build:"
|
||||
new "Kokoa:"
|
||||
|
||||
# game/android.rpy:501
|
||||
old "Install SDK & Create Keys"
|
||||
new "Asenna SDK & Luo avaimet"
|
||||
|
||||
# game/android.rpy:505
|
||||
old "Configure"
|
||||
new "Muokkaa asetuksia"
|
||||
|
||||
# game/android.rpy:509
|
||||
old "Build Package"
|
||||
new "Kokoamispaketti:"
|
||||
|
||||
# game/android.rpy:513
|
||||
old "Build & Install"
|
||||
new "Kokoa & Asenna"
|
||||
|
||||
# game/android.rpy:524
|
||||
old "Other:"
|
||||
new "Muu:"
|
||||
|
||||
# game/android.rpy:532
|
||||
old "Remote ADB Connect"
|
||||
new "Langaton ADB-yhdistäminen:"
|
||||
|
||||
# game/android.rpy:536
|
||||
old "Remote ADB Disconnect"
|
||||
new "Langaton ADB-katkaisu:"
|
||||
|
||||
# game/android.rpy:569
|
||||
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
|
||||
new "Ennen Android-sovellusten pakkausta, sinun on ladattava RAPT (Ren'Py Android Packaging Tool). Haluatko ladata RAPT:in nyt?"
|
||||
|
||||
# game/android.rpy:615
|
||||
old "Remote ADB Address"
|
||||
new "Langaton ADB-osoite"
|
||||
|
||||
# game/android.rpy:615
|
||||
old "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."
|
||||
new "Syötä yhdistettävän kohteen IP-osoite ja porttinumero, esimerkin \"192.168.1.143:5555\" mukaisesti. Selvitä laitteesi tiedoista kykeneekö se langattomaan ADB:hen, ja jos näin on, käytettävä osoite ja portti."
|
||||
|
||||
# game/android.rpy:627
|
||||
old "Invalid remote ADB address"
|
||||
new "Langaton ADB-osoite ei kelpaa."
|
||||
|
||||
# game/android.rpy:627
|
||||
old "The address must contain one exactly one ':'."
|
||||
new "Osoitteessa on oltava yksi, ja vain yksi, ':'."
|
||||
|
||||
# game/android.rpy:631
|
||||
old "The host may not contain whitespace."
|
||||
new "Isäntä ei voi sisältää välilyöntejä."
|
||||
|
||||
# game/android.rpy:637
|
||||
old "The port must be a number."
|
||||
new "Portin on oltava numero."
|
||||
|
||||
@@ -0,0 +1,43 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/choose_theme.rpy:303
|
||||
old "Teemaa ei voitu vaihtaa. Kenties options.rpy:tä muutettiin liikaa."
|
||||
new ""
|
||||
|
||||
# game/choose_theme.rpy:368
|
||||
old "Display"
|
||||
new "Näyttö"
|
||||
|
||||
# game/choose_theme.rpy:369
|
||||
old "Window"
|
||||
new "Ikkuna"
|
||||
|
||||
# game/choose_theme.rpy:370
|
||||
old "Fullscreen"
|
||||
new "Koko näyttö"
|
||||
|
||||
# game/choose_theme.rpy:371
|
||||
old "Planetarium"
|
||||
new "Planetaario"
|
||||
|
||||
# game/choose_theme.rpy:378
|
||||
old "Sound Volume"
|
||||
new "Ääniefektien voimakkuus"
|
||||
|
||||
# game/choose_theme.rpy:412
|
||||
old "Choose Theme"
|
||||
new "Valitse teema"
|
||||
|
||||
# game/choose_theme.rpy:425
|
||||
old "Theme"
|
||||
new "Teema"
|
||||
|
||||
# game/choose_theme.rpy:449
|
||||
old "Color Scheme"
|
||||
new "Värikartta"
|
||||
|
||||
# game/choose_theme.rpy:480
|
||||
old "Continue"
|
||||
new "Jatka"
|
||||
|
||||
@@ -0,0 +1,497 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00action_file.rpy:142
|
||||
old "%b %d, %H:%M"
|
||||
new "%b %d, %H:%M"
|
||||
|
||||
# renpy/common/00action_file.rpy:621
|
||||
old "Quick save complete."
|
||||
new "Pikatallennus suoritettu."
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00console.rpy:179
|
||||
old "%(version)s console, originally by Shiz, C, and delta.\n"
|
||||
new "%(version)n konsoli, alunperin tehneet Shiz, C ja delta.\n"
|
||||
|
||||
# renpy/common/00console.rpy:180
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "Paina <esc> poistuaksesi konsolista. Käytä komentoa help saadaksesi apua."
|
||||
|
||||
# renpy/common/00console.rpy:184
|
||||
old "Ren'Py script enabled."
|
||||
new "Ren'Py-skriptikieli käytössä."
|
||||
|
||||
# renpy/common/00console.rpy:186
|
||||
old "Ren'Py script disabled."
|
||||
new "Ren'Py-skriptikieli poissa käytöstä."
|
||||
|
||||
# renpy/common/00console.rpy:392
|
||||
old "help: show this help"
|
||||
new "help: näytä tämä apuviesti"
|
||||
|
||||
# renpy/common/00console.rpy:397
|
||||
old "commands:\n"
|
||||
new "komennot:\n"
|
||||
|
||||
# renpy/common/00console.rpy:407
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <renpy script-väite>: suorita väite\n"
|
||||
|
||||
# renpy/common/00console.rpy:409
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <python ekspressio tai väite>: suorita ekspressio tai väite"
|
||||
|
||||
# renpy/common/00console.rpy:417
|
||||
old "clear: clear the console history"
|
||||
new "clear: tyhjennä konsolin historia"
|
||||
|
||||
# renpy/common/00console.rpy:421
|
||||
old "exit: exit the console"
|
||||
new "exit: poistu konsolista"
|
||||
|
||||
# renpy/common/00console.rpy:429
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "load <tallennuspaikka>: lataa pelin halutusta tallennuspaikasta"
|
||||
|
||||
# renpy/common/00console.rpy:442
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "save <tallennuspaikka>: tallentaa pelin tallennuspaikkaan"
|
||||
|
||||
# renpy/common/00console.rpy:453
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "reload: lataa pelin uudelleen, päivittäen skriptit"
|
||||
|
||||
# renpy/common/00console.rpy:461
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "watch <ekspressio>: tarkkaile python-ekspressiota"
|
||||
|
||||
# renpy/common/00console.rpy:470
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatch <ekspressio>: lakkaa tarkkailemasta ekspressiota"
|
||||
|
||||
# renpy/common/00console.rpy:478
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchall: lopeta kaikkien ekspressioiden tarkkailu"
|
||||
|
||||
# renpy/common/00console.rpy:484
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <tunnus>: hyppää 'script.rpy'-tiedosto(i)ssa olevaan, tunnuksella merkittyyn kohtaan"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00gallery.rpy:561
|
||||
old "Image [index] of [count] locked."
|
||||
new ""
|
||||
|
||||
# renpy/common/00gallery.rpy:581
|
||||
old "prev"
|
||||
new "edellinen"
|
||||
|
||||
# renpy/common/00gallery.rpy:582
|
||||
old "next"
|
||||
new "seuraava"
|
||||
|
||||
# renpy/common/00gallery.rpy:583
|
||||
old "slideshow"
|
||||
new "diaesitys"
|
||||
|
||||
# renpy/common/00gallery.rpy:584
|
||||
old "return"
|
||||
new "palaa"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:68
|
||||
old "Graphics Acceleration"
|
||||
new "Grafiikkakiihdytys"
|
||||
|
||||
# renpy/common/00gltest.rpy:72
|
||||
old "Automatically Choose"
|
||||
new "Valitse automaattisesti"
|
||||
|
||||
# renpy/common/00gltest.rpy:77
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Pakota Angle/DirectX-renderöinti"
|
||||
|
||||
# renpy/common/00gltest.rpy:81
|
||||
old "Force OpenGL Renderer"
|
||||
new "Pakota OpenGL-renderöinti"
|
||||
|
||||
# renpy/common/00gltest.rpy:85
|
||||
old "Force Software Renderer"
|
||||
new "Pakota Software-renderöinti"
|
||||
|
||||
# renpy/common/00gltest.rpy:91
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "Muutokset tulevat voimaan, kun käynnistät ohjelman uudelleen."
|
||||
|
||||
# renpy/common/00gltest.rpy:95
|
||||
old "Quit"
|
||||
new "Poistu"
|
||||
|
||||
# renpy/common/00gltest.rpy:100
|
||||
old "Return"
|
||||
new "Palaa"
|
||||
|
||||
# renpy/common/00gltest.rpy:130
|
||||
old "Performance Warning"
|
||||
new "Suorituskyvyn varoitus"
|
||||
|
||||
# renpy/common/00gltest.rpy:135
|
||||
old "This computer is using software rendering."
|
||||
new "Tietokone käyttää software-renderöintiä."
|
||||
|
||||
# renpy/common/00gltest.rpy:137
|
||||
old "This computer is not using shaders."
|
||||
new "Tietokone ei käytä varjostimia."
|
||||
|
||||
# renpy/common/00gltest.rpy:139
|
||||
old "This computer is displaying graphics slowly."
|
||||
new "Tietokone näyttää grafiikkaa hitaasti."
|
||||
|
||||
# renpy/common/00gltest.rpy:141
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "Tietokoneella on ongelmia grafiikan näyttämisessä: [problem]"
|
||||
|
||||
# renpy/common/00gltest.rpy:146
|
||||
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 "Sen grafiikka-ajurit voivat olla vanhentuneita tai ne saattavat toimia väärin. Tämä voi johtaa hitaaseen tai väärään grafiikan esittämiseen. DirectX:n päivittäminen saattaa korjata ongelman."
|
||||
|
||||
# renpy/common/00gltest.rpy:148
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
|
||||
new "Sen grafiikka-ajurit voivat olla vanhentuneita tai ne saattavat toimia väärin. Tämä voi johtaa hitaaseen tai väärään grafiikan esittämiseen."
|
||||
|
||||
# renpy/common/00gltest.rpy:153
|
||||
old "Update DirectX"
|
||||
new "Päivitä DirectX"
|
||||
|
||||
# renpy/common/00gltest.rpy:159
|
||||
old "Continue, Show this warning again"
|
||||
new "Jatka, näytä tämä varoitus uudelleen"
|
||||
|
||||
# renpy/common/00gltest.rpy:163
|
||||
old "Continue, Don't show warning again"
|
||||
new "Jatka, älä näytä tätä varoitusta enää uudelleen"
|
||||
|
||||
# renpy/common/00gltest.rpy:189
|
||||
old "Updating DirectX."
|
||||
new "Päivitetään DirectX:ää."
|
||||
|
||||
# renpy/common/00gltest.rpy:193
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "DirectX verkkoasennus on alkanut. Se voi olla aluksi minimisoituna työkalupalkilla. Seuraa ohjeita asentaaksesi DirectX:n."
|
||||
|
||||
# renpy/common/00gltest.rpy:197
|
||||
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}Huomaa:{/b} Microsoftin DirectX verkkoasennusohjelma asentaa, oletusarvoisesti, Bing-työkalupalkin. Jos et halua tätä työkalupalkkia, poista valinta oikeasta laatikosta."
|
||||
|
||||
# renpy/common/00gltest.rpy:201
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "Kun asennus on valmis, klikkaa alhaalta käynnistääksesi tämän ohjelman uudelleen."
|
||||
|
||||
# renpy/common/00gltest.rpy:203
|
||||
old "Restart"
|
||||
new "Käynnistä uudelleen"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00keymap.rpy:199
|
||||
old "Saved screenshot as %s."
|
||||
new "Näytönkaappaus tallennettu nimellä %s."
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00layout.rpy:444
|
||||
old "Are you sure?"
|
||||
new "Oletko varma?"
|
||||
|
||||
# renpy/common/00layout.rpy:445
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "Oletko varma, että haluat poistaa tämän tallennuksen?"
|
||||
|
||||
# renpy/common/00layout.rpy:446
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "Oletko varma, että haluat korvata tallennuksen uudella?"
|
||||
|
||||
# renpy/common/00layout.rpy:447
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "Lataamalla tallennuksen menetät tallentamattoman edistyksen.\nOletko varma, että haluat tehdä näin?"
|
||||
|
||||
# renpy/common/00layout.rpy:448
|
||||
old "Are you sure you want to quit?"
|
||||
new "Haluatko varmasti lopettaa?"
|
||||
|
||||
# renpy/common/00layout.rpy:449
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Haluatko varmasti palata päävalikkoon?\nMenetät kaikki tallentamattomat tiedot."
|
||||
|
||||
# renpy/common/00layout.rpy:450
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "Oletko varma, että haluat käyttää skippausta?"
|
||||
|
||||
# renpy/common/00layout.rpy:451
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "Oletko varma, että haluat skipata seuraavaan valintaan?"
|
||||
|
||||
# renpy/common/00layout.rpy:452
|
||||
old "Are you sure you want to skip to unseen dialogue or the next choice?"
|
||||
new "Oletko varma, että haluat skipata uuteen dialogiin tai seuraavaan valintaan?"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00library.rpy:149
|
||||
old "Skip Mode"
|
||||
new "Skippaustila"
|
||||
|
||||
# renpy/common/00library.rpy:152
|
||||
old "Fast Skip Mode"
|
||||
new "Pikaskippaustila"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00preferences.rpy:373
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Tietokoneen ääninäyttely käytössä. Paina 'v' lopettaaksesi."
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/00updater.rpy:1377
|
||||
old "Updater"
|
||||
new "Päivittäjä"
|
||||
|
||||
# renpy/common/00updater.rpy:1386
|
||||
old "This program is up to date."
|
||||
new "Käytät jo uuinta versiota."
|
||||
|
||||
# renpy/common/00updater.rpy:1388
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] on saatavilla. Haluatko asentaa sen?"
|
||||
|
||||
# renpy/common/00updater.rpy:1390
|
||||
old "Preparing to download the updates."
|
||||
new "Valmistellaan päivitysten lataamista."
|
||||
|
||||
# renpy/common/00updater.rpy:1392
|
||||
old "Downloading the updates."
|
||||
new "Ladataan päivityksiä."
|
||||
|
||||
# renpy/common/00updater.rpy:1394
|
||||
old "Unpacking the updates."
|
||||
new "Puretaan päivityksiä."
|
||||
|
||||
# renpy/common/00updater.rpy:1398
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "Päivitykset on asennettu. Ohjelma käynnistyy nyt uudelleen."
|
||||
|
||||
# renpy/common/00updater.rpy:1400
|
||||
old "The updates have been installed."
|
||||
new "Päivitykset on asennettu."
|
||||
|
||||
# renpy/common/00updater.rpy:1402
|
||||
old "The updates were cancelled."
|
||||
new "Päivitykset peruttiin."
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
new "Tyhjä paikka."
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "Edellinen"
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "Seuraava"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/_compat/preferences.rpym:428
|
||||
old "Joystick Mapping"
|
||||
new "Peliohjaimen näppäimet"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/_developer/developer.rpym:65
|
||||
old "Developer Menu"
|
||||
new "Kehittäjävalikko"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:67
|
||||
old "Reload Game (Shift+R)"
|
||||
new "Käynnistä peli uudelleen (Shift+R)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:69
|
||||
old "Console (Shift+O)"
|
||||
new "Konsoli (Shift+O)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:71
|
||||
old "Variable Viewer"
|
||||
new "Muuttujat"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:73
|
||||
old "Theme Test"
|
||||
new "Teematesti"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:75
|
||||
old "Image Location Picker"
|
||||
new "Kuvan sijainnin selvitin"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:77
|
||||
old "Filename List"
|
||||
new "Tiedostonimilista"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:81
|
||||
old "Show Image Load Log"
|
||||
new "Näytä kuvanlatausloki"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:84
|
||||
old "Hide Image Load Log"
|
||||
new "Piilota kuvanlatausloki"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:150
|
||||
old "No variables have changed since the game started."
|
||||
new "Yksikään muuttuja ei ole muuttunut pelin alkamisen jälkeen."
|
||||
|
||||
# renpy/common/_developer/developer.rpym:153
|
||||
old "Return to the developer menu"
|
||||
new "Palaa kehittäjävalikkoon"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:385
|
||||
old "Rectangle: %r"
|
||||
new "Suorakulmio: %r"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:390
|
||||
old "Mouse position: %r"
|
||||
new "Hiiren sijainti: %r"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:392
|
||||
old "Right-click or escape to quit."
|
||||
new "Paina Esc tai hiiren oikeaa näppäintä poistuaksesi."
|
||||
|
||||
# renpy/common/_developer/developer.rpym:443
|
||||
old "Done"
|
||||
new "Valmis"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:46
|
||||
old "Displayable Inspector"
|
||||
new "Näkyvien objektien tutkija"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:52
|
||||
old "Nothing to inspect."
|
||||
new "Ei tutkittavaa."
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:70
|
||||
old "Size"
|
||||
new "Koko"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:74
|
||||
old "Style"
|
||||
new "Tyyli"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:80
|
||||
old "Location"
|
||||
new "Sijainti"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:142
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "Tutkitaan [displayable_name!q]n tyylejä"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:155
|
||||
old "displayable:"
|
||||
new "näkyvä objekti:"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:162
|
||||
old " (no properties affect the displayable)"
|
||||
new " (mitkään ominaisuudet eivät vaikuta objektiin)"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:164
|
||||
old " (default properties omitted)"
|
||||
new " (perusominaisuudet sivuutettu)"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:206
|
||||
old "<repr() failed>"
|
||||
new "<repr() epäonnistui>"
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/_errorhandling.rpym:451
|
||||
old "An exception has occurred."
|
||||
new "Odottamaton virhe on tapahtunut."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:477
|
||||
old "Rollback"
|
||||
new "Palaa edelliseen tilaan"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:479
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "Yrittää palata ajassa taaksepäin, antaen sinun tallentaa tai tehdä eri valinnan."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:482
|
||||
old "Ignore"
|
||||
new "Sivuuta"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:484
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "Sivuuttaa poikkeuksen, antaen sinun jatkaa. Tämä johtaa usein uusiin virheisiin."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:487
|
||||
old "Reload"
|
||||
new "Lataa uudelleen"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:489
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "Lataa pelin uudelleen muistista, tallentaen ja palauttaen pelitilan jos mahdollista."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:491
|
||||
old "Open Traceback"
|
||||
new "Avaa virheenjäljitystoiminto"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:493
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "Avaa traceback.txt-tiedoston tekstieditorissa."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:499
|
||||
old "Quits the game."
|
||||
new "Lopettaa pelin."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:526
|
||||
old "Parsing the script failed."
|
||||
new "Skriptin jäsennys epäonnistui."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:553
|
||||
old "Open Parse Errors"
|
||||
new "Avaa jäsennysvirheet"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:555
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "Avaa errors.txt-tiedoston tekstieditorissa."
|
||||
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# renpy/common/_layout/classic_load_save.rpym:170
|
||||
old "a"
|
||||
new "a"
|
||||
|
||||
# renpy/common/_layout/classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "q"
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/distribute.rpy:335
|
||||
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
|
||||
new "Ohjelman kokoaminen epäonnistui:\n\nbuild.directory_name -muuttuja ei saa sisältää välilyöntejä, pilkkuja tai puolipilkkuja."
|
||||
|
||||
# game/distribute.rpy:381
|
||||
old "No packages are selected, so there's nothing to do."
|
||||
new "Yhtäkään pakettia ei valittu, joten mitään ei ole tehtävissä."
|
||||
|
||||
# game/distribute.rpy:386
|
||||
old "Scanning project files..."
|
||||
new "Skannataan projektin tiedostoja..."
|
||||
|
||||
# game/distribute.rpy:396
|
||||
old "Scanning Ren'Py files..."
|
||||
new "Skannataan Ren'Py-tiedostoja..."
|
||||
|
||||
# game/distribute.rpy:444
|
||||
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 "Kaikki paketit on koottu.\n\nLupainformaation läsnäolon vuoksi Linux- ja Macintosh-sovellusten pakkaamista Windows-järjestelmässä ei tueta."
|
||||
|
||||
# game/distribute.rpy:568
|
||||
old "Archiving files..."
|
||||
new "Arkistoidaan tiedostoja..."
|
||||
|
||||
# game/distribute.rpy:832
|
||||
old "Writing the [variant] [format] package."
|
||||
new "Kirjoitetaan [variant] [format]-pakettia."
|
||||
|
||||
# game/distribute.rpy:845
|
||||
old "Making the [variant] update zsync file."
|
||||
new "Luodaan [variant] zsync-päivitystiedostoa."
|
||||
|
||||
# game/distribute.rpy:941
|
||||
old "Processed {b}[complete]{/b} of {b}[total]{/b} files."
|
||||
new "Prosessoitu {b}[complete]{/b}/{b}[total]{/b} tiedostoa."
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/distribute_gui.rpy:157
|
||||
old "Build Distributions: [project.current.name!q]"
|
||||
new "Kokoa ohjelma levitykseen: [project.current.name!q]"
|
||||
|
||||
# game/distribute_gui.rpy:171
|
||||
old "Directory Name:"
|
||||
new "Kansion nimi:"
|
||||
|
||||
# game/distribute_gui.rpy:175
|
||||
old "Executable Name:"
|
||||
new "Suoritettavan tiedoston nimi:"
|
||||
|
||||
# game/distribute_gui.rpy:185
|
||||
old "Actions:"
|
||||
new "Toiminnot:"
|
||||
|
||||
# game/distribute_gui.rpy:193
|
||||
old "Edit options.rpy"
|
||||
new "Muokkaa options.rpy-tiedostoa"
|
||||
|
||||
# game/distribute_gui.rpy:194
|
||||
old "Refresh"
|
||||
new "Päivitä"
|
||||
|
||||
# game/distribute_gui.rpy:211
|
||||
old "Build Packages:"
|
||||
new "Kokoa paketteja:"
|
||||
|
||||
# game/distribute_gui.rpy:225
|
||||
old "Build Updates"
|
||||
new "Kokoa päivityksiä"
|
||||
|
||||
# game/distribute_gui.rpy:229
|
||||
old "Build"
|
||||
new "Kokoa"
|
||||
|
||||
# game/distribute_gui.rpy:236
|
||||
old "Errors were detected when running the project. Please ensure the project runs without errors before building distributions."
|
||||
new "Virheitä havaittu projektia suoritettaessa. Varmista, että projekti toimii moitteetta ennen kuin kokoat ohjelman."
|
||||
|
||||
# game/distribute_gui.rpy:253
|
||||
old "Your project does not contain build information. Would you like to add build information to the end of options.rpy?"
|
||||
new "Projektisi ei sisällä kokoamisinformaatiota. Haluatko lisätä kokoamisinormaation options.rpy-tiedoston loppuun?"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/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}Suositeltu.{/b} Helppokäyttöinen beta-asteella oleva tekstieditori, joka sisältää kehitystä helpottavia toimintoja. Toistaiseksi Editrasta puuttuu täysin kiinalaisen, japanilaisen ja korealaisen tekstin kannatus."
|
||||
|
||||
# game/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}Suositeltu.{/b} Helppokäyttöinen beta-asteella oleva tekstieditori, joka sisältää kehitystä helpottavia toimintoja. Toistaiseksi Editrasta puuttuu täysin kiinalaisen, japanilaisen ja korealaisen tekstin kannatus."
|
||||
|
||||
# game/editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
new "Tämä saattoi tapahtua, koska wxPythonia ei ole asennettu järjestelmään."
|
||||
|
||||
# game/editor.rpy:169
|
||||
old "Up to 22 MB download required."
|
||||
new "22 MB lataus vaaditaan"
|
||||
|
||||
# game/editor.rpy:182
|
||||
old "A mature editor that requires Java."
|
||||
new "Edistynyt editori, joka vaatii Javan."
|
||||
|
||||
# game/editor.rpy:182
|
||||
old "1.8 MB download required."
|
||||
new "1.8 MB lataus vaaditaan."
|
||||
|
||||
# game/editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
new "Tämä saattoi tapahtua, koska Javaa ei ole asennettu."
|
||||
|
||||
# game/editor.rpy:191
|
||||
old "Invokes the editor your operating system has associated with .rpy files."
|
||||
new "Käyttää editoria, jota käyttöjärjestelmäsi käyttää .rpy-tiedostojen kanssa."
|
||||
|
||||
# game/editor.rpy:207
|
||||
old "Prevents Ren'Py from opening a text editor."
|
||||
new "Estää Ren'Py-ohjelmaa avaamasta tekstieditoria."
|
||||
|
||||
# game/editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
new "Virhe käynnistäessä tekstieditoria:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:457
|
||||
old "Select Editor"
|
||||
new "Valitse editori"
|
||||
|
||||
# game/editor.rpy:472
|
||||
old "A text editor is the program you'll use to edit Ren'Py script files. Here, you can select the editor Ren'Py will use. If not already present, the editor will be automatically downloaded and installed."
|
||||
new "Tekstieditori on ohjelma, jota käytät Ren'Py-skriptitiedostojen muokkaamiseen. Täällä voit valita, mitä editoria Ren'Py käyttää. Jos valitsemaasi editoria ei vielä ole asennettu, se ladataan ja asennetaan automaattisesti."
|
||||
|
||||
# game/editor.rpy:494
|
||||
old "Cancel"
|
||||
new "Peruuta"
|
||||
|
||||
@@ -0,0 +1,107 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/front_page.rpy:35
|
||||
old "Open [text] directory."
|
||||
new "Avaa [text] sijainti."
|
||||
|
||||
# game/front_page.rpy:93
|
||||
old "refresh"
|
||||
new "päivitä"
|
||||
|
||||
# game/front_page.rpy:120
|
||||
old "+ Create New Project"
|
||||
new "+ Luo uusi projekti"
|
||||
|
||||
# game/front_page.rpy:132
|
||||
old "Launch Project"
|
||||
new "Käynnistä projekti"
|
||||
|
||||
# game/front_page.rpy:148
|
||||
old "[p.name!q] (template)"
|
||||
new "[p.name!q] (pohja)"
|
||||
|
||||
# game/front_page.rpy:150
|
||||
old "Select project [text]."
|
||||
new "Valitse projekti [text]."
|
||||
|
||||
# game/front_page.rpy:166
|
||||
old "Tutorial"
|
||||
new "Opas"
|
||||
|
||||
# game/front_page.rpy:167
|
||||
old "The Question"
|
||||
new "The Question -esimerkkipeli"
|
||||
|
||||
# game/front_page.rpy:183
|
||||
old "Active Project"
|
||||
new "Aktiivinen projekti"
|
||||
|
||||
# game/front_page.rpy:191
|
||||
old "Open Directory"
|
||||
new "Avaa sijainti"
|
||||
|
||||
# game/front_page.rpy:196
|
||||
old "game"
|
||||
new "game"
|
||||
|
||||
# game/front_page.rpy:197
|
||||
old "base"
|
||||
new "base"
|
||||
|
||||
# game/front_page.rpy:203
|
||||
old "Edit File"
|
||||
new "Muokkaa tiedostoa"
|
||||
|
||||
# game/front_page.rpy:211
|
||||
old "All script files"
|
||||
new "Kaikki skriptitiedostot"
|
||||
|
||||
# game/front_page.rpy:220
|
||||
old "Navigate Script"
|
||||
new "Navigoi skriptiä"
|
||||
|
||||
# game/front_page.rpy:231
|
||||
old "Check Script (Lint)"
|
||||
new "Tarkista skripti (Lint)"
|
||||
|
||||
# game/front_page.rpy:232
|
||||
old "Change Theme"
|
||||
new "Vaihda teemaa"
|
||||
|
||||
# game/front_page.rpy:233
|
||||
old "Delete Persistent"
|
||||
new "Poista pysyvästi tallennettu data"
|
||||
|
||||
# game/front_page.rpy:234
|
||||
old "Force Recompile"
|
||||
new "Pakota uudelleenkokoaminen"
|
||||
|
||||
# game/front_page.rpy:242
|
||||
old "Build Distributions"
|
||||
new "Kokoa jakeluun"
|
||||
|
||||
# game/front_page.rpy:244
|
||||
old "Android"
|
||||
new "Android"
|
||||
|
||||
# game/front_page.rpy:245
|
||||
old "Generate Translations"
|
||||
new "Luo käännöksiä"
|
||||
|
||||
# game/front_page.rpy:246
|
||||
old "Extract Dialogue"
|
||||
new "Kopioi dialogi"
|
||||
|
||||
# game/front_page.rpy:262
|
||||
old "Checking script for potential problems..."
|
||||
new "Tarkista skripti mahdollisten virheiden varalta..."
|
||||
|
||||
# game/front_page.rpy:277
|
||||
old "Deleting persistent data..."
|
||||
new "Poistetaan pysyvästi tallennettua dataa..."
|
||||
|
||||
# game/front_page.rpy:285
|
||||
old "Recompiling all rpy files into rpyc files..."
|
||||
new "Kasataan kaikista .rpy-tiedostoista .rpyc-tiedostoja..."
|
||||
|
||||
@@ -0,0 +1,79 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/interface.rpy:107
|
||||
old "Documentation"
|
||||
new "Dokumentit"
|
||||
|
||||
# game/interface.rpy:108
|
||||
old "Ren'Py Website"
|
||||
new "Ren'Py:n verkkosivut"
|
||||
|
||||
# game/interface.rpy:109
|
||||
old "Ren'Py Games List"
|
||||
new "Lista Ren'Py-peleistä"
|
||||
|
||||
# game/interface.rpy:110
|
||||
old "About"
|
||||
new "Tietoja"
|
||||
|
||||
# game/interface.rpy:117
|
||||
old "update"
|
||||
new "päivitä"
|
||||
|
||||
# game/interface.rpy:119
|
||||
old "preferences"
|
||||
new "asetukset"
|
||||
|
||||
# game/interface.rpy:120
|
||||
old "quit"
|
||||
new "poistu"
|
||||
|
||||
# game/interface.rpy:192
|
||||
old "Yes"
|
||||
new "Kyllä"
|
||||
|
||||
# game/interface.rpy:194
|
||||
old "No"
|
||||
new "Ei"
|
||||
|
||||
# game/interface.rpy:229
|
||||
old "Due to package format limitations, non-ASCII file and directory names are not allowed."
|
||||
new "Pakettiformaatin rajoitusten vuoksi, ei-ASCII tiedostot ja kansion nimet eivät ole sallittuja."
|
||||
|
||||
# game/interface.rpy:321
|
||||
old "ERROR"
|
||||
new "VIRHE"
|
||||
|
||||
# game/interface.rpy:350
|
||||
old "While [what!q], an error occured:"
|
||||
new "Kun [what!q], tapahtui virhe."
|
||||
|
||||
# game/interface.rpy:350
|
||||
old "[exception!q]"
|
||||
new "[exception!q]"
|
||||
|
||||
# game/interface.rpy:369
|
||||
old "Text input may not contain the {{ or [[ characters."
|
||||
new "Teksti ei voi sisältää {{ tai [[-merkkejä."
|
||||
|
||||
# game/interface.rpy:374
|
||||
old "File and directory names may not contain / or \\."
|
||||
new "Tiedostot ja kansioiden nimet eivät voi sisältää / tai \\-merkkejä."
|
||||
|
||||
# game/interface.rpy:380
|
||||
old "File and directory names must consist of ASCII characters."
|
||||
new "Tiedostojen ja kansioiden nimet saavat koostua vain ASCII-merkeistä."
|
||||
|
||||
# game/interface.rpy:401
|
||||
old "INFORMATION"
|
||||
new "TIETOA"
|
||||
|
||||
# game/interface.rpy:448
|
||||
old "PROCESSING"
|
||||
new "PROSESSOIDAAN"
|
||||
|
||||
# game/interface.rpy:478
|
||||
old "CHOICE"
|
||||
new "VALITSE"
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/navigation.rpy:168
|
||||
old "Navigate: [project.current.name]"
|
||||
new "Navigoi: [project.current.name]"
|
||||
|
||||
# game/navigation.rpy:177
|
||||
old "Order: "
|
||||
new "Järjestys: "
|
||||
|
||||
# game/navigation.rpy:178
|
||||
old "alphabetical"
|
||||
new "aakkosellinen"
|
||||
|
||||
# game/navigation.rpy:180
|
||||
old "by-file"
|
||||
new "tiedoston mukaan"
|
||||
|
||||
# game/navigation.rpy:182
|
||||
old "natural"
|
||||
new "luonnollinen"
|
||||
|
||||
# game/navigation.rpy:194
|
||||
old "Category:"
|
||||
new "Kategoria:"
|
||||
|
||||
# game/navigation.rpy:196
|
||||
old "files"
|
||||
new "tiedostot"
|
||||
|
||||
# game/navigation.rpy:197
|
||||
old "labels"
|
||||
new "tunnukset"
|
||||
|
||||
# game/navigation.rpy:198
|
||||
old "defines"
|
||||
new "määritelmät"
|
||||
|
||||
# game/navigation.rpy:199
|
||||
old "transforms"
|
||||
new "muutokset"
|
||||
|
||||
# game/navigation.rpy:200
|
||||
old "screens"
|
||||
new "ikkunat"
|
||||
|
||||
# game/navigation.rpy:201
|
||||
old "callables"
|
||||
new "kutsuttavat"
|
||||
|
||||
# game/navigation.rpy:202
|
||||
old "TODOs"
|
||||
new "TODO:t"
|
||||
|
||||
# game/navigation.rpy:241
|
||||
old "+ Add script file"
|
||||
new "+ Lisää skriptitiedosto"
|
||||
|
||||
# game/navigation.rpy:249
|
||||
old "No TODO comments found.\n\nTo create one, include \"# TODO\" in your script."
|
||||
new "TODO-kommentteja ei löytynyt.\n\nLuodaksesi sellaisen, lisää \"# TODO\" skriptiisi."
|
||||
|
||||
# game/navigation.rpy:256
|
||||
old "The list of names is empty."
|
||||
new "Nimilista on tyhjä."
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/new_project.rpy:40
|
||||
old "Choose Project Template"
|
||||
new "Valitse projektipohja"
|
||||
|
||||
# game/new_project.rpy:58
|
||||
old "Please select a template to use for your new project. The template sets the default font and the user interface language. If your language is not supported, choose 'english'."
|
||||
new "Valitse pohja käytettäväksi uudessa projektissasi. Se asettaa perusfontin ja kielen. Jos kieltäsi ei löydy, valitse englanti (English)."
|
||||
|
||||
# game/new_project.rpy:71
|
||||
old "The projects directory could not be set. Giving up."
|
||||
new "Projektin kansiota ei voitu asettaa."
|
||||
|
||||
# game/new_project.rpy:75
|
||||
old "PROJECT NAME"
|
||||
new "PROJEKTIN NIMI"
|
||||
|
||||
# game/new_project.rpy:75
|
||||
old "Please enter the name of your project:"
|
||||
new "Ole hyvä ja anna projektillesi nimi."
|
||||
|
||||
# game/new_project.rpy:83
|
||||
old "The project name may not be empty."
|
||||
new "Projektin nimi ei voi olla tyhjä."
|
||||
|
||||
# game/new_project.rpy:88
|
||||
old "[project_name!q] already exists. Please choose a different project name."
|
||||
new "[project_name!q] on jo olemassa. Ole hyvä ja valitse toinen nimi projektillesi."
|
||||
|
||||
# game/new_project.rpy:91
|
||||
old "[project_dir!q] already exists. Please choose a different project name."
|
||||
new "[project_dir!q] on jo olemassa. Ole hyvä ja valitse toinen nimi projektillesi."
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/preferences.rpy:61
|
||||
old "Launcher Preferences"
|
||||
new "Työkalun asetukset"
|
||||
|
||||
# game/preferences.rpy:82
|
||||
old "Projects Directory:"
|
||||
new "Projektien kansio"
|
||||
|
||||
# game/preferences.rpy:89
|
||||
old "[persistent.projects_directory!q]"
|
||||
new "[persistent.projects_directory!q]"
|
||||
|
||||
# game/preferences.rpy:91
|
||||
old "Projects directory: [text]"
|
||||
new "Projektikansio: [text]"
|
||||
|
||||
# game/preferences.rpy:93
|
||||
old "Not Set"
|
||||
new "Ei asetettu"
|
||||
|
||||
# game/preferences.rpy:108
|
||||
old "Text Editor:"
|
||||
new "Tekstieditori:"
|
||||
|
||||
# game/preferences.rpy:114
|
||||
old "Text editor: [text]"
|
||||
new "Tekstieditori: [text]"
|
||||
|
||||
# game/preferences.rpy:130
|
||||
old "Update Channel:"
|
||||
new "Päivityskanava:"
|
||||
|
||||
# game/preferences.rpy:150
|
||||
old "Navigation Options:"
|
||||
new "Hakuasetukset"
|
||||
|
||||
# game/preferences.rpy:154
|
||||
old "Include private names"
|
||||
new "Sisällytä yksityiset nimet"
|
||||
|
||||
# game/preferences.rpy:155
|
||||
old "Include library names"
|
||||
new "Sisällytä kirjastot"
|
||||
|
||||
# game/preferences.rpy:165
|
||||
old "Launcher Options:"
|
||||
new "Työkalun asetukset"
|
||||
|
||||
# game/preferences.rpy:169
|
||||
old "Hardware rendering"
|
||||
new "Laitteistorenderöinti"
|
||||
|
||||
# game/preferences.rpy:170
|
||||
old "Show templates"
|
||||
new "Näytä esimerkkipohjat"
|
||||
|
||||
# game/preferences.rpy:171
|
||||
old "Large fonts"
|
||||
new "Suuret fontit"
|
||||
|
||||
# game/preferences.rpy:174
|
||||
old "Console output"
|
||||
new "Konsolisyöte"
|
||||
|
||||
# game/preferences.rpy:195
|
||||
old "Open launcher project"
|
||||
new "Avaa työkaluprojekti"
|
||||
|
||||
# game/preferences.rpy:209
|
||||
old "Language:"
|
||||
new "Kieli:"
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/project.rpy:47
|
||||
old "After making changes to the script, press shift+R to reload your game."
|
||||
new "Kun olet tehnyt muutoksia pelin tiedostoihin, paina shift+R käynnistääksesi pelisi automaattisesti uudelleen."
|
||||
|
||||
# game/project.rpy:47
|
||||
old "Press shift+O (the letter) to access the console."
|
||||
new "Paina shift+O (kirjain) päästäksesi käsiksi konsoliin."
|
||||
|
||||
# game/project.rpy:47
|
||||
old "Press shift+D to access the developer menu."
|
||||
new "Paina shift+D avataksesi kehittäjävalikon."
|
||||
|
||||
# game/project.rpy:47
|
||||
old "Have you backed up your projects recently?"
|
||||
new "Oletko ottanut projekteistasi varmuuskopiot viime aikoina?"
|
||||
|
||||
# game/project.rpy:223
|
||||
old "Launching the project failed."
|
||||
new "Projektin käynnistys epäonnistui."
|
||||
|
||||
# game/project.rpy:223
|
||||
old "Please ensure that your project launches normally before running this command."
|
||||
new "Varmista, että projektisi käynnistyy normaalisti ennen kuin käytät tätä komentoa."
|
||||
|
||||
# game/project.rpy:236
|
||||
old "Ren'Py is scanning the project..."
|
||||
new "Ren'Py skannaa projektia..."
|
||||
|
||||
# game/project.rpy:525
|
||||
old "Launching"
|
||||
new "Käynnistetään..."
|
||||
|
||||
# game/project.rpy:554
|
||||
old "PROJECTS DIRECTORY"
|
||||
new "PROJEKTIKANSIO"
|
||||
|
||||
# game/project.rpy:554
|
||||
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "Ole hyvä ja valitse kansio, jota haluat käyttää projektiesi tallentamiseen.\n{b}Kansion valitsija on saattanut aueta tämän ikkunan taakse.{/b}"
|
||||
|
||||
# game/project.rpy:554
|
||||
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."
|
||||
new "Tämä työkalu etsii, luo sekä muokkaa projekteja, jotka löytyvät tästä kansiosta."
|
||||
|
||||
# game/project.rpy:594
|
||||
old "Ren'Py was unable to run python with tkinter to choose the projects directory. Please install the python-tk or tkinter package."
|
||||
new "Ren'Py ei kyennyt käyttämään pythonia tkinterillä valitakseen projektikansion. Ole hyvä ja asenna python-tk tai tkinter-paketti."
|
||||
|
||||
# game/project.rpy:604
|
||||
old "Ren'Py has set the projects directory to:"
|
||||
new "Ren'Py on valinnut projektikansioksi:"
|
||||
|
||||
@@ -0,0 +1,35 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/translations.rpy:31
|
||||
old "Create or Update Translations"
|
||||
new "Luo tai päivitä käännöksiä"
|
||||
|
||||
# game/translations.rpy:31
|
||||
old "Please enter the name of the language for which you want to create or update translations."
|
||||
new "Ole hyvä ja anna sen kielen nimi, jolle haluat luoda tai päivittää käännöksen."
|
||||
|
||||
# game/translations.rpy:36
|
||||
old "The language name can not be the empty string."
|
||||
new "Kielen nimi ei voi olla tyhjä."
|
||||
|
||||
# game/translations.rpy:47
|
||||
old "Ren'Py is generating translations...."
|
||||
new "Ren'Py luo käännöksiä...."
|
||||
|
||||
# game/translations.rpy:51
|
||||
old "Ren'Py has finished generating [language] translations."
|
||||
new "Ren'Py on onnistuneesti luonut [language] käännöstiedostot."
|
||||
|
||||
# game/translations.rpy:64
|
||||
old "What format would you like for the extracted dialogue?"
|
||||
new "Millä formaatilla haluat kopioida dialogin?"
|
||||
|
||||
# game/translations.rpy:77
|
||||
old "Ren'Py is extracting dialogue...."
|
||||
new "Ren'Py kopioi dialogia...."
|
||||
|
||||
# game/translations.rpy:81
|
||||
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[format] in the base directory."
|
||||
new "Ren'Py on onnistuneesti kopioinut dialogin. Kopio löytyy tiedostosta dialogue.[format] projektin kansiosta."
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
|
||||
translate finnish strings:
|
||||
|
||||
# game/updater.rpy:78
|
||||
old "Select Update Channel"
|
||||
new "Valitse päivityskanava"
|
||||
|
||||
# game/updater.rpy:89
|
||||
old "The update channel controls the version of Ren'Py the updater will download. Please select an update channel:"
|
||||
new "Päivityskanava vaikuttaa siihen, mihin versioon Ren'Py päivitetään. Valitse päivityskanava:"
|
||||
|
||||
# game/updater.rpy:94
|
||||
old "Release"
|
||||
new "Versio"
|
||||
|
||||
# game/updater.rpy:100
|
||||
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
|
||||
new "{b}Suositeltu.{/b} Ren'Py:n uusin, vakaa versio, jota suositellaan käytettäväksi."
|
||||
|
||||
# game/updater.rpy:105
|
||||
old "Prerelease"
|
||||
new "Esiversiot"
|
||||
|
||||
# game/updater.rpy:111
|
||||
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 "Ennakkoversio Ren'Py:n seuraavasta versiosta, jota voidaan käyttää uusien ominaisuuksien testaamiseen ja hyödyntämiseen. Ei suositella pelien julkaisemiseen."
|
||||
|
||||
# game/updater.rpy:117
|
||||
old "Experimental"
|
||||
new "Kokeelliset versiot"
|
||||
|
||||
# game/updater.rpy:123
|
||||
old "Experimental versions of Ren'Py. You shouldn't select this channel unless asked by a Ren'Py developer."
|
||||
new "Ren'Py:n kokeellisia versioita. Sinun ei kannata valita tätä, ellei joku Ren'Py:n kehittäjistä erikseen sitä pyydä."
|
||||
|
||||
# game/updater.rpy:129
|
||||
old "Nightly"
|
||||
new "Jokaöiset julkaisut"
|
||||
|
||||
# game/updater.rpy:135
|
||||
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
|
||||
new "Upouudet Ren'Py-kehitysjulkaisut. Voi sisältää uusimmat toiminnot, tai ei ehkä toimi lainkaan."
|
||||
|
||||
# game/updater.rpy:155
|
||||
old "An error has occured:"
|
||||
new "On tapahtunut virhe:"
|
||||
|
||||
# game/updater.rpy:157
|
||||
old "Checking for updates."
|
||||
new "Haetaan päivityksiä."
|
||||
|
||||
# game/updater.rpy:159
|
||||
old "Ren'Py is up to date."
|
||||
new "Käytät uusinta Ren'Py-versiota."
|
||||
|
||||
# game/updater.rpy:161
|
||||
old "[u.version] is now available. Do you want to install it?"
|
||||
new "[u.version] on nyt saatavilla. Haluatko asentaa sen?"
|
||||
|
||||
# game/updater.rpy:163
|
||||
old "Preparing to download the update."
|
||||
new "Valmistellaan päivityksen lataamista."
|
||||
|
||||
# game/updater.rpy:165
|
||||
old "Downloading the update."
|
||||
new "Ladataan päivitystä."
|
||||
|
||||
# game/updater.rpy:167
|
||||
old "Unpacking the update."
|
||||
new "Puretaan päivitystä."
|
||||
|
||||
# game/updater.rpy:169
|
||||
old "Finishing up."
|
||||
new "Viimeistellään asennusta."
|
||||
|
||||
# game/updater.rpy:171
|
||||
old "The update has been installed. Ren'Py will restart."
|
||||
new "Päivitys on nyt asennettu. Ren'Py käynnistyy nyt uudelleen."
|
||||
|
||||
# game/updater.rpy:173
|
||||
old "The update has been installed."
|
||||
new "Päivitys on asennettu."
|
||||
|
||||
# game/updater.rpy:175
|
||||
old "The update was cancelled."
|
||||
new "Päivitys peruttiin."
|
||||
|
||||
# game/updater.rpy:192
|
||||
old "Ren'Py Update"
|
||||
new "Ren'Py-päivitys"
|
||||
|
||||
# game/updater.rpy:198
|
||||
old "Proceed"
|
||||
new "Jatka"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
#translation: renpy/common/00action_file.rpy
|
||||
#translation: renpy/common/00action_file.rpy
|
||||
translate italian strings:
|
||||
|
||||
# renpy/common/00action_file.rpy:124
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
translate italian strings:
|
||||
translate italian strings:
|
||||
|
||||
# game/distribute.rpy:358
|
||||
old "No packages are selected, so there's nothing to do."
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
translate italian strings:
|
||||
translate italian strings:
|
||||
|
||||
# game/new_project.rpy:22
|
||||
old "Choose Project Template"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
translate italian strings:
|
||||
translate italian strings:
|
||||
|
||||
# game/project.rpy:201
|
||||
old "Launching the project failed."
|
||||
|
||||
@@ -3,11 +3,11 @@ translate japanese strings:
|
||||
|
||||
# game/android.rpy:12
|
||||
old "To build Android packages, please download RAPT (from {a=http://www.renpy.org/dl/android}here{/a}), unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
|
||||
new "Androidパッケージをビルドするためには{a=http://www.renpy.org/dl/android}RAPT{/a}をダウンロードして解凍し、Ren'Py ディレクトリーに配置してからランチャーを再起動してください。"
|
||||
new "Androidパッケージをビルドするためには{a=http://www.renpy.org/dl/android}RAPT{/a}をダウンロードして解凍し、Ren'Py ディレクトリーに配置してランチャーを再起動してください。"
|
||||
|
||||
# game/android.rpy:13
|
||||
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 "RAPT はインストールされましたが、Androidパッケージをビルドする前に Android SDK もインストールする必要があります。このためにSDKをインストールしてください。"
|
||||
new "RAPT はインストールされましたが、Androidパッケージをビルドする前に Android SDK もインストールする必要があります。SDKをインストールしてください。"
|
||||
|
||||
# game/android.rpy:14
|
||||
old "RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore."
|
||||
@@ -15,7 +15,7 @@ translate japanese strings:
|
||||
|
||||
# game/android.rpy:15
|
||||
old "The current project has not been configured. Use \"Configure\" to configure it before building."
|
||||
new "現在のプロジェクトは設定されていません。「設定」を利用してビルド前に設定してください。"
|
||||
new "現在のプロジェクトは設定がされていません。「設定」を使用してビルド前に設定してください。"
|
||||
|
||||
# game/android.rpy:16
|
||||
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."
|
||||
@@ -23,23 +23,23 @@ translate japanese strings:
|
||||
|
||||
# game/android.rpy:18
|
||||
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."
|
||||
new "Android Phoneをエミュレートします。\n\nタッチ入力はマウスを利用してエミュレートされますが、ボタン押下時のみです。Escapeはメニューボタン、PageUpはバックボタンにマップされています。"
|
||||
new "Android Phoneをエミュレートします。\n\nタッチ入力はマウスを利用してエミュレートされますが、ボタン押下時のみ反応します。Escapeはメニューボタン、PageUpはバックボタンに割り当てられています。"
|
||||
|
||||
# game/android.rpy:19
|
||||
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 "Android tabletをエミュレートします。\n\nタッチ入力はマウスを利用してエミュレートされますが、ボタン押下時のみです。Escapeはメニューボタン、PageUpはバックボタンにマップされています。"
|
||||
new "Android tabletをエミュレートします。\n\nタッチ入力はマウスを利用してエミュレートされますが、ボタン押下時のみ反応します。Escapeはメニューボタン、PageUpはバックボタンに割り当てられています。"
|
||||
|
||||
# game/android.rpy:20
|
||||
old "Attempts to emulate an OUYA console.\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 "Android OUYAをエミュレートします。\n\nコントローラーの入力は矢印キー、Enterはセレクトボタン、Escapeはメニューボタン、PageUpはバックボタンにマップされています。"
|
||||
new "Android OUYAをエミュレートします。\n\nコントローラーの入力は矢印キー、Enterはセレクトボタン、Escapeはメニューボタン、PageUpはバックボタンに割り当てられています。"
|
||||
|
||||
# game/android.rpy:22
|
||||
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
|
||||
new "Android SDKをダウンロード後インストールします。任意でサインに必要なキーを生成します。"
|
||||
new "Android SDKをダウンロード後インストールします。サインに必要なキーを任意で生成します。"
|
||||
|
||||
# game/android.rpy:23
|
||||
old "Configures the package name, version, and other information about this project."
|
||||
new "このプロジェクトについてパッケージ名、バージョン、その他の情報を設定してください。"
|
||||
new "このプロジェクトについてパッケージ名とバージョン、その他の情報を設定してください。"
|
||||
|
||||
# game/android.rpy:24
|
||||
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."
|
||||
@@ -115,7 +115,7 @@ translate japanese strings:
|
||||
|
||||
# game/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 "OUYAやFire TVのようなテレビで動作する Android デバイスをエミュレートします。\n\nコントローラーの入力は矢印キー、Enterはセレクトボタン、Escapeはメニューボタン、PageUpはバックボタンにマップされています。"
|
||||
new "OUYAやFire TVのようなテレビで動作する Android デバイスをエミュレートします。\n\nコントローラーの入力は矢印キー、Enterはセレクトボタン、Escapeはメニューボタン、PageUpはバックボタンに割り当てられています。"
|
||||
|
||||
# game/android.rpy:47
|
||||
old "Connects to an Android device running ADB in TCP/IP mode."
|
||||
@@ -161,3 +161,15 @@ translate japanese strings:
|
||||
old "The port must be a number."
|
||||
new "ポートは数字でなければなりません。"
|
||||
|
||||
# game/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 "Android パッケージをビルドして、接続された Android にインストール、 そのデバイスでアプリを起動します。"
|
||||
|
||||
# game/android.rpy:288
|
||||
old "Television"
|
||||
new "Television"
|
||||
|
||||
# game/android.rpy:324
|
||||
old "Build, Install & Launch"
|
||||
new "ビルドとインストール、起動"
|
||||
|
||||
|
||||
+7
@@ -0,0 +1,7 @@
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# game/choose_directory.rpy:73
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
|
||||
new "Ren'Py は tkinter でディレクトリーを選択出来ません。 python-tk か tkinter をインストールしてください。"
|
||||
|
||||
Regular → Executable
+493
-499
@@ -1,499 +1,493 @@
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00action_file.rpy:124
|
||||
old "%b %d, %H:%M"
|
||||
new "%m月%d日, %H:%M"
|
||||
|
||||
# renpy/common/00action_file.rpy:587
|
||||
old "Quick save complete."
|
||||
new "クイックセーブ完了。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00gallery.rpy:521
|
||||
old "Image [index] of [count] locked."
|
||||
new "画像 [index] / [count] はロックされています。"
|
||||
|
||||
# renpy/common/00gallery.rpy:539
|
||||
old "prev"
|
||||
new "前へ"
|
||||
|
||||
# renpy/common/00gallery.rpy:540
|
||||
old "next"
|
||||
new "次へ"
|
||||
|
||||
# renpy/common/00gallery.rpy:541
|
||||
old "slideshow"
|
||||
new "スライドショー"
|
||||
|
||||
# renpy/common/00gallery.rpy:542
|
||||
old "return"
|
||||
new "戻る"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:50
|
||||
old "Graphics Acceleration"
|
||||
new "グラフィック・アクセラレーション"
|
||||
|
||||
# renpy/common/00gltest.rpy:54
|
||||
old "Automatically Choose"
|
||||
new "自動選択"
|
||||
|
||||
# renpy/common/00gltest.rpy:59
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Angle/DirectX による描画を強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:63
|
||||
old "Force OpenGL Renderer"
|
||||
new "OpenGL による描画を強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:67
|
||||
old "Force Software Renderer"
|
||||
new "ソフトウェアによる描画を強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:73
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "変更は、次にプログラムを起動した時に反映されます。"
|
||||
|
||||
# renpy/common/00gltest.rpy:77
|
||||
old "Quit"
|
||||
new "終了"
|
||||
|
||||
# renpy/common/00gltest.rpy:82
|
||||
old "Return"
|
||||
new "戻る"
|
||||
|
||||
# renpy/common/00gltest.rpy:112
|
||||
old "Performance Warning"
|
||||
new "パフォーマンスに関する注意"
|
||||
|
||||
# renpy/common/00gltest.rpy:117
|
||||
old "This computer is using software rendering."
|
||||
new "このコンピュータはソフトウェアレンダリングを使用しています。"
|
||||
|
||||
# renpy/common/00gltest.rpy:119
|
||||
old "This computer is not using shaders."
|
||||
new "このコンピューターはシェーダーを使用していません。"
|
||||
|
||||
# renpy/common/00gltest.rpy:121
|
||||
old "This computer is displaying graphics slowly."
|
||||
new "このコンピューターは描画速度が遅いです。"
|
||||
|
||||
# renpy/common/00gltest.rpy:123
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "このコンピューターはグラフィックスの表示に問題があります: [problem]。"
|
||||
|
||||
# renpy/common/00gltest.rpy:128
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
|
||||
new "グラフィックドライバーは古いか、あるいは正常に動作していません。これはグラフィックスの表示が遅くなったり、正常に表示されない原因となります。DirectXをアップデートするとこの問題を解決できます。"
|
||||
|
||||
# renpy/common/00gltest.rpy:130
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
|
||||
new "グラフィックドライバーは古いか、あるいは正常に動作していません。これはグラフィックスの表示が遅くなったり、正常に表示されない原因となります。"
|
||||
|
||||
# renpy/common/00gltest.rpy:135
|
||||
old "Update DirectX"
|
||||
new "DirectXのアップデート"
|
||||
|
||||
# renpy/common/00gltest.rpy:141
|
||||
old "Continue, Show this warning again"
|
||||
new "今後も、この注意を表示する"
|
||||
|
||||
# renpy/common/00gltest.rpy:145
|
||||
old "Continue, Don't show warning again"
|
||||
new "今後は、この注意を表示しない"
|
||||
|
||||
# renpy/common/00gltest.rpy:171
|
||||
old "Updating DirectX."
|
||||
new "DirectXのアップデート中"
|
||||
|
||||
# renpy/common/00gltest.rpy:175
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "DirectXウェブセットアップが開始されました。タスクバーに最小化された状態で開始したので、画面に従ってDirectXをインストールして下さい。"
|
||||
|
||||
# renpy/common/00gltest.rpy:179
|
||||
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
|
||||
new "{b}メモ:{/b} MicrosoftのDirectXウェブセットアッププログラムは、デフォルトでBingツールバーをインストールします。このツールバーが不要な場合は、対応したチェックボックスを解除して下さい。"
|
||||
|
||||
# renpy/common/00gltest.rpy:183
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "セットアップが完了したら、以下をクリックしてプログラムを再起動して下さい。"
|
||||
|
||||
# renpy/common/00gltest.rpy:185
|
||||
old "Restart"
|
||||
new "再起動"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00keymap.rpy:168
|
||||
old "Saved screenshot as %s."
|
||||
new "スクリーンショットを %s に保存しました。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00layout.rpy:421
|
||||
old "Are you sure?"
|
||||
new "本当にいいですか?"
|
||||
|
||||
# renpy/common/00layout.rpy:422
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "この保存データを本当に削除しますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:423
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "本当に保存データを上書きしますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:424
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "読み込みによって未保存のゲームが失われます。\n本当に読み込みますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:425
|
||||
old "Are you sure you want to quit?"
|
||||
new "本当にゲームを終了しますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:426
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "本当にメインメニューに戻りますか?\nこれによって未保存のゲームが失われます。"
|
||||
|
||||
# renpy/common/00layout.rpy:427
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "本当にスキップモードを開始しますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:428
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "本当に次の選択肢までスキップしますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:429
|
||||
old "Are you sure you want to skip to unseen dialogue or the next choice?"
|
||||
new "本当に未読の会話、もしくは次の選択肢までスキップしますか?"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00library.rpy:77
|
||||
old "Skip Mode"
|
||||
new "スキップモード"
|
||||
|
||||
# renpy/common/00library.rpy:80
|
||||
old "Fast Skip Mode"
|
||||
new "高速スキップモード"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00updater.rpy:1258
|
||||
old "Updater"
|
||||
new "アップデーター"
|
||||
|
||||
# renpy/common/00updater.rpy:1267
|
||||
old "This program is up to date."
|
||||
new "このプログラムは最新版です。"
|
||||
|
||||
# renpy/common/00updater.rpy:1269
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] が利用可能です。インストールしますか?"
|
||||
|
||||
# renpy/common/00updater.rpy:1271
|
||||
old "Preparing to download the updates."
|
||||
new "アップデートをダウンロードする準備をしています。"
|
||||
|
||||
# renpy/common/00updater.rpy:1273
|
||||
old "Downloading the updates."
|
||||
new "アップデートをダウンロードしています。"
|
||||
|
||||
# renpy/common/00updater.rpy:1275
|
||||
old "Unpacking the updates."
|
||||
new "アップデートを展開しています。"
|
||||
|
||||
# renpy/common/00updater.rpy:1279
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "アップデートがインストールされました。プログラムを再起動します。"
|
||||
|
||||
# renpy/common/00updater.rpy:1281
|
||||
old "The updates have been installed."
|
||||
new "アップデートがインストールされました。"
|
||||
|
||||
# renpy/common/00updater.rpy:1283
|
||||
old "The updates were cancelled."
|
||||
new "アップデートがキャンセルされました。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:180
|
||||
old "Empty Slot."
|
||||
new "空のスロット"
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:337
|
||||
old "Previous"
|
||||
new "前へ"
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:344
|
||||
old "Next"
|
||||
new "次へ"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/_compat/preferences.rpym:411
|
||||
old "Joystick Mapping"
|
||||
new "ジョイスティックのマッピング"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/_errorhandling.rpym:408
|
||||
old "An exception has occurred."
|
||||
new "例外が発生しました。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:434
|
||||
old "Rollback"
|
||||
new "ロールバック"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:436
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "一つ前へのロールバックを試み、セーブまたは他の選択肢を選ぶことを許可します。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:439
|
||||
old "Ignore"
|
||||
new "無視"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:441
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "例外を無視し、ゲームの継続を許可します。この場合、付加的なエラーが発生する原因となることがあります。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:444
|
||||
old "Reload"
|
||||
new "再読み込み"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:446
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "ディスクからゲームを再読み込みし、可能であればゲームの保存と復元をします。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:448
|
||||
old "Open Traceback"
|
||||
new "トレースバックを開く"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:450
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "テキストエディターで traceback.txt を開きます。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:456
|
||||
old "Quits the game."
|
||||
new "ゲームを終了します。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:483
|
||||
old "Parsing the script failed."
|
||||
new "スクリプトの変換に失敗しました。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:510
|
||||
old "Open Parse Errors"
|
||||
new "変換エラーを開く"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:512
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "テキストエディターで errors.txt を開きます。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/_layout/classic_load_save.rpym:152
|
||||
old "a"
|
||||
new "a"
|
||||
|
||||
# renpy/common/_layout/classic_load_save.rpym:161
|
||||
old "q"
|
||||
new "q"
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00console.rpy:179
|
||||
old "%(version)s console, originally by Shiz, C, and delta.\n"
|
||||
new "%(version)s コンソール, 作成者: Shiz, C, delta\n"
|
||||
|
||||
# renpy/common/00console.rpy:180
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "<esc> を押して終了。help と入力してヘルプを表示。\n"
|
||||
|
||||
# renpy/common/00console.rpy:184
|
||||
old "Ren'Py script enabled."
|
||||
new "Ren'Py スクリプト有効。"
|
||||
|
||||
# renpy/common/00console.rpy:186
|
||||
old "Ren'Py script disabled."
|
||||
new "Ren'Py スクリプト無効。"
|
||||
|
||||
# renpy/common/00console.rpy:392
|
||||
old "help: show this help"
|
||||
new "help: このヘルプを表示"
|
||||
|
||||
# renpy/common/00console.rpy:397
|
||||
old "commands:\n"
|
||||
new "コマンド:\n"
|
||||
|
||||
# renpy/common/00console.rpy:407
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <Ren'Py スクリプトステートメント>: ステートメントを実行\n"
|
||||
|
||||
# renpy/common/00console.rpy:409
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <Python 式またはステートメント>: 式またはステートメントを実行"
|
||||
|
||||
# renpy/common/00console.rpy:417
|
||||
old "clear: clear the console history"
|
||||
new "clear: コンソール履歴を消去"
|
||||
|
||||
# renpy/common/00console.rpy:421
|
||||
old "exit: exit the console"
|
||||
new "exit: コンソールを終了"
|
||||
|
||||
# renpy/common/00console.rpy:429
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "load <スロット>: スロットからゲームをロード"
|
||||
|
||||
# renpy/common/00console.rpy:442
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "save <スロット>: スロットにゲームを保存"
|
||||
|
||||
# renpy/common/00console.rpy:453
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "reload: ゲームをリロードしてスクリプトを再読み込み"
|
||||
|
||||
# renpy/common/00console.rpy:461
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "watch <式>: Python 式をウォッチ"
|
||||
|
||||
# renpy/common/00console.rpy:470
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatch <式>: Python 式のウォッチを解除"
|
||||
|
||||
# renpy/common/00console.rpy:478
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchall: すべての式のウォッチを解除"
|
||||
|
||||
# renpy/common/00console.rpy:484
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <ラベル>: ラベルにジャンプ"
|
||||
|
||||
# renpy/common/00keymap.rpy:332
|
||||
old "Autoreload"
|
||||
new "オートリロード"
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/_developer/developer.rpym:65
|
||||
old "Developer Menu"
|
||||
new "開発者メニュー"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:67
|
||||
old "Reload Game (Shift+R)"
|
||||
new "ゲームのリロード (Shift+R)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:69
|
||||
old "Console (Shift+O)"
|
||||
new "コンソール (Shift+D)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:71
|
||||
old "Variable Viewer"
|
||||
new "変数ビューアー"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:73
|
||||
old "Theme Test"
|
||||
new "テーマのテスト"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:75
|
||||
old "Image Location Picker"
|
||||
new "画像位置ピッカー"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:77
|
||||
old "Filename List"
|
||||
new "ファイル名のリスト"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:81
|
||||
old "Show Image Load Log"
|
||||
new "画像ロード履歴の表示"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:84
|
||||
old "Hide Image Load Log"
|
||||
new "画像ロード履歴の非表示"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:149
|
||||
old "No variables have changed since the game started."
|
||||
new "ゲーム起動時から変更された変数はありません。"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:152
|
||||
old "Return to the developer menu"
|
||||
new "開発者メニューに戻ります"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:309
|
||||
old "Undefined Images"
|
||||
new "未定義の画像"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:409
|
||||
old "Rectangle: %r"
|
||||
new "矩形: %r"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:414
|
||||
old "Mouse position: %r"
|
||||
new "マウス位置: %r"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:416
|
||||
old "Right-click or escape to quit."
|
||||
new "右クリックまたはEscで終了。"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:467
|
||||
old "Done"
|
||||
new "完了"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:43
|
||||
old "Displayable Inspector"
|
||||
new "Displayable インスペクター"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:49
|
||||
old "Nothing to inspect."
|
||||
new "インスペクトするものがありません"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:58
|
||||
old "Size"
|
||||
new "サイズ"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:63
|
||||
old "Style"
|
||||
new "スタイル"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:123
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "[displayable_name!q] のスタイルをインスペクト中"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:135
|
||||
old "displayable:"
|
||||
new "Displayable:"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:142
|
||||
old " (no properties affect the displayable)"
|
||||
new " (Displayable に影響しているプロパティーはありません)"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:144
|
||||
old " (default properties omitted)"
|
||||
new " (デフォルトのプロパティーは省略します)"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:174
|
||||
old "<repr() failed>"
|
||||
new "<repr() 失敗>"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:273
|
||||
old "{b}Missing Images{/b}"
|
||||
new "{b}M画像が見付かりません{/b}"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:80
|
||||
old "Location"
|
||||
new "ファイル"
|
||||
# Translation updated at 2013-02-18 11:40
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00library.rpy:77
|
||||
old "Skip Mode"
|
||||
new "スキップモード"
|
||||
|
||||
# renpy/common/00library.rpy:80
|
||||
old "Fast Skip Mode"
|
||||
new "高速スキップモード"
|
||||
|
||||
# renpy/common/00updater.rpy:1255
|
||||
old "Updater"
|
||||
new "アップデーター"
|
||||
|
||||
# renpy/common/00updater.rpy:1264
|
||||
old "This program is up to date."
|
||||
new "このプログラムは最新の状態です。"
|
||||
|
||||
# renpy/common/00updater.rpy:1266
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] が利用可能です。インストールしますか?"
|
||||
|
||||
# renpy/common/00updater.rpy:1268
|
||||
old "Preparing to download the updates."
|
||||
new "ダウンロードする準備をしています。"
|
||||
|
||||
# renpy/common/00updater.rpy:1270
|
||||
old "Downloading the updates."
|
||||
new "アップデートをダウンロードしています。"
|
||||
|
||||
# renpy/common/00updater.rpy:1272
|
||||
old "Unpacking the updates."
|
||||
new "アップデートを展開しています。"
|
||||
|
||||
# renpy/common/00updater.rpy:1276
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "アップデートがインストールされました。プログラムを再起動します。"
|
||||
|
||||
# renpy/common/00updater.rpy:1278
|
||||
old "The updates have been installed."
|
||||
new "アップデートが完了しました。"
|
||||
|
||||
# renpy/common/00updater.rpy:1280
|
||||
old "The updates were cancelled."
|
||||
new "アップデートがキャンセルされました。"
|
||||
|
||||
# renpy/common/_compat/preferences.rpym:411
|
||||
old "Joystick Mapping"
|
||||
new "ジョイスティックの割り当て"
|
||||
|
||||
# renpy/common/00layout.rpy:421
|
||||
old "Are you sure?"
|
||||
new "続けますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:422
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "このセーブデータを消去しますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:423
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "このセーブデータに上書きしますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:424
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "セーブされていないデータは失われます\n続けますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:425
|
||||
old "Are you sure you want to quit?"
|
||||
new "終了しますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:426
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "メインメニューに戻りますか?\nセーブされていないデータは破棄されます"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:408
|
||||
old "An exception has occurred."
|
||||
new "例外が発生しました。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:434
|
||||
old "Rollback"
|
||||
new "ロールバック"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:436
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "セーブまたは他の選択肢が選べるように、ロールバックを使って直前に戻ります。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:439
|
||||
old "Ignore"
|
||||
new "無視"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:441
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "例外を無視してゲームを続行します。連鎖的にエラーが発生する可能性があります。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:444
|
||||
old "Reload"
|
||||
new "リロード"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:446
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "ディスクからゲームをリロードして、現在の状況を保存、可能であれば復元します。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:448
|
||||
old "Open Traceback"
|
||||
new "トレースバックを開く"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:450
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "テキストエディターで traceback.txt を開きます。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:456
|
||||
old "Quits the game."
|
||||
new "ゲームを終了します。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:483
|
||||
old "Parsing the script failed."
|
||||
new "スクリプトの変換に失敗しました。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:510
|
||||
old "Open Parse Errors"
|
||||
new "変換エラーを開く"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:512
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "テキストエディターで errors.txt を開きます。"
|
||||
|
||||
# renpy/common/00keymap.rpy:167
|
||||
old "Saved screenshot as %s."
|
||||
new "スクリーンショットを %s に保存しました。"
|
||||
|
||||
# renpy/common/00gltest.rpy:50
|
||||
old "Graphics Acceleration"
|
||||
new "グラフィック・アクセラレーション"
|
||||
|
||||
# renpy/common/00gltest.rpy:54
|
||||
old "Automatically Choose"
|
||||
new "自動で選択する"
|
||||
|
||||
# renpy/common/00gltest.rpy:59
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Angle/DirectX レンダラーを使う"
|
||||
|
||||
# renpy/common/00gltest.rpy:63
|
||||
old "Force OpenGL Renderer"
|
||||
new "OpenGL レンダラーを使う"
|
||||
|
||||
# renpy/common/00gltest.rpy:67
|
||||
old "Force Software Renderer"
|
||||
new "ソフトウェアレンダラーを使う"
|
||||
|
||||
# renpy/common/00gltest.rpy:73
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "変更は次回起動時から適用されます"
|
||||
|
||||
# renpy/common/00gltest.rpy:112
|
||||
old "Performance Warning"
|
||||
new "パフォーマンスに関する注意"
|
||||
|
||||
# renpy/common/00gltest.rpy:117
|
||||
old "This computer is using software rendering."
|
||||
new "このコンピューターはソフトウェアレンダリングを使用しています。"
|
||||
|
||||
# renpy/common/00gltest.rpy:119
|
||||
old "This computer is not using shaders."
|
||||
new "このコンピューターはシェーダーを使用していません。"
|
||||
|
||||
# renpy/common/00gltest.rpy:121
|
||||
old "This computer is displaying graphics slowly."
|
||||
new "このコンピューターは描画速度が遅いです。"
|
||||
|
||||
# renpy/common/00gltest.rpy:123
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "このコンピューターではグラフィックに以下の問題があります:[problem] "
|
||||
|
||||
# renpy/common/00gltest.rpy:128
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
|
||||
new "グラフィックドライバーが古いか、正常に動作していません。表示が遅れたり、正しく表示されない可能性があります。DirectX を更新すると解決することがあります。"
|
||||
|
||||
# renpy/common/00gltest.rpy:130
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
|
||||
new "グラフィックドライバーが古いか、正常に動作していません。表示が遅れたり、正しく表示されない可能性があります。"
|
||||
|
||||
# renpy/common/00gltest.rpy:135
|
||||
old "Update DirectX"
|
||||
new "DirectXのアップデート"
|
||||
|
||||
# renpy/common/00gltest.rpy:141
|
||||
old "Continue, Show this warning again"
|
||||
new "次回もこの注意を表示する。"
|
||||
|
||||
# renpy/common/00gltest.rpy:145
|
||||
old "Continue, Don't show warning again"
|
||||
new "次回はこの注意を表示しない。"
|
||||
|
||||
# renpy/common/00gltest.rpy:171
|
||||
old "Updating DirectX."
|
||||
new "DirectXのアップデート中"
|
||||
|
||||
# renpy/common/00gltest.rpy:175
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "DirectX ウェブセットアップを開始しました。タスクバーに最小化されていることがありますが、指示通りにインストールしてください。"
|
||||
|
||||
# renpy/common/00gltest.rpy:179
|
||||
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
|
||||
new "{b}注意:{/b} MicrosoftのDirectXウェブセットアッププログラムは、デフォルトでBingツールバーをインストールします。このツールバーが不要な場合は、対応したチェックボックスを解除して下さい。"
|
||||
|
||||
# renpy/common/00gltest.rpy:183
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "セットアップが完了したら、下のボタンを押して再起動してください。"
|
||||
|
||||
# renpy/common/00gltest.rpy:185
|
||||
old "Restart"
|
||||
new "再起動"
|
||||
|
||||
# renpy/common/_layout/imagemap_load_save.rpym:115
|
||||
old "a"
|
||||
new "a"
|
||||
|
||||
# renpy/common/_layout/imagemap_load_save.rpym:124
|
||||
old "q"
|
||||
new "q"
|
||||
|
||||
# renpy/common/00action_file.rpy:118
|
||||
old "%b %d, %H:%M"
|
||||
new "%m月%d日, %H:%M"
|
||||
|
||||
# renpy/common/00layout.rpy:427
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "スキップを開始しますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:428
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "次の選択肢までスキップしますか?"
|
||||
|
||||
# renpy/common/00layout.rpy:429
|
||||
old "Are you sure you want to skip to unseen dialogue or the next choice?"
|
||||
new "次の選択肢または未読までスキップしますか?"
|
||||
|
||||
# renpy/common/00gallery.rpy:521
|
||||
old "Image [index] of [count] locked."
|
||||
new "画像 [index] / [count] はロックされています。"
|
||||
|
||||
# renpy/common/00gallery.rpy:539
|
||||
old "prev"
|
||||
new "前へ"
|
||||
|
||||
# renpy/common/00gallery.rpy:540
|
||||
old "next"
|
||||
new "次へ"
|
||||
|
||||
# renpy/common/00gallery.rpy:541
|
||||
old "slideshow"
|
||||
new "スライドショー"
|
||||
|
||||
# renpy/common/00gallery.rpy:542
|
||||
old "return"
|
||||
new "戻る"
|
||||
|
||||
# renpy/common/00action_file.rpy:587
|
||||
old "Quick save complete."
|
||||
new "クイックセーブ完了。"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:43
|
||||
old "Displayable Inspector"
|
||||
new "Displayable インスペクター"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:49
|
||||
old "Nothing to inspect."
|
||||
new "インスペクトするものがありません"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:58
|
||||
old "Size"
|
||||
new "サイズ"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:63
|
||||
old "Style"
|
||||
new "スタイル"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:123
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "[displayable_name!q] のスタイルをインスペクト中"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:135
|
||||
old "displayable:"
|
||||
new "Displayable:"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:142
|
||||
old " (no properties affect the displayable)"
|
||||
new " (Displayable に影響しているプロパティーはありません)"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:144
|
||||
old " (default properties omitted)"
|
||||
new " (デフォルトのプロパティーは省略します)"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:174
|
||||
old "<repr() failed>"
|
||||
new "<repr() 失敗>"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:65
|
||||
old "Developer Menu"
|
||||
new "開発者メニュー"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:67
|
||||
old "Reload Game (Shift+R)"
|
||||
new "ゲームのリロード (Shift+R)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:69
|
||||
old "Console (Shift+O)"
|
||||
new "コンソール (Shift+D)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:71
|
||||
old "Variable Viewer"
|
||||
new "変数ビューアー"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:73
|
||||
old "Theme Test"
|
||||
new "テーマのテスト"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:75
|
||||
old "Image Location Picker"
|
||||
new "画像位置ピッカー"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:77
|
||||
old "Filename List"
|
||||
new "ファイル名のリスト"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:81
|
||||
old "Show Image Load Log"
|
||||
new "画像ロード履歴の表示"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:84
|
||||
old "Hide Image Load Log"
|
||||
new "画像ロード履歴の非表示"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:149
|
||||
old "No variables have changed since the game started."
|
||||
new "ゲーム起動時から変更された変数はありません。"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:152
|
||||
old "Return to the developer menu"
|
||||
new "開発者メニューに戻ります"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:309
|
||||
old "Undefined Images"
|
||||
new "未定義の画像"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:409
|
||||
old "Rectangle: %r"
|
||||
new "矩形: %r"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:414
|
||||
old "Mouse position: %r"
|
||||
new "マウス位置: %r"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:416
|
||||
old "Right-click or escape to quit."
|
||||
new "右クリックまたはEscで終了。"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:467
|
||||
old "Done"
|
||||
new "完了"
|
||||
|
||||
# renpy/common/00console.rpy:179
|
||||
old "%(version)s console, originally by Shiz, C, and delta.\n"
|
||||
new "%(version)s コンソール, 作成者: Shiz, C, delta\n"
|
||||
|
||||
# renpy/common/00console.rpy:180
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "<esc> を押して終了。help と入力してヘルプを表示。\n"
|
||||
|
||||
# renpy/common/00console.rpy:184
|
||||
old "Ren'Py script enabled."
|
||||
new "Ren'Py スクリプト有効。"
|
||||
|
||||
# renpy/common/00console.rpy:186
|
||||
old "Ren'Py script disabled."
|
||||
new "Ren'Py スクリプト無効。"
|
||||
|
||||
# renpy/common/00console.rpy:392
|
||||
old "help: show this help"
|
||||
new "help: このヘルプを表示"
|
||||
|
||||
# renpy/common/00console.rpy:397
|
||||
old "commands:\n"
|
||||
new "コマンド:\n"
|
||||
|
||||
# renpy/common/00console.rpy:407
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <Ren'Py スクリプトステートメント>: ステートメントを実行\n"
|
||||
|
||||
# renpy/common/00console.rpy:409
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <Python 式またはステートメント>: 式またはステートメントを実行"
|
||||
|
||||
# renpy/common/00console.rpy:417
|
||||
old "clear: clear the console history"
|
||||
new "clear: コンソール履歴を消去"
|
||||
|
||||
# renpy/common/00console.rpy:421
|
||||
old "exit: exit the console"
|
||||
new "exit: コンソールを終了"
|
||||
|
||||
# renpy/common/00console.rpy:429
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "load <スロット>: スロットからゲームをロード"
|
||||
|
||||
# renpy/common/00console.rpy:442
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "save <スロット>: スロットにゲームを保存"
|
||||
|
||||
# renpy/common/00console.rpy:453
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "reload: ゲームをリロードしてスクリプトを再読み込み"
|
||||
|
||||
# renpy/common/00console.rpy:461
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "watch <式>: Python 式をウォッチ"
|
||||
|
||||
# renpy/common/00console.rpy:470
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatch <式>: Python 式のウォッチを解除"
|
||||
|
||||
# renpy/common/00console.rpy:478
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchall: すべての式のウォッチを解除"
|
||||
|
||||
# renpy/common/00console.rpy:484
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <ラベル>: ラベルにジャンプ"
|
||||
|
||||
# renpy/common/00keymap.rpy:332
|
||||
old "Autoreload"
|
||||
new "オートリロード"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:272
|
||||
old "{b}Missing Images{/b}"
|
||||
new "{b}M画像が見付かりません{/b}"
|
||||
|
||||
# renpy/common/_developer/inspector.rpym:80
|
||||
old "Location"
|
||||
new "ファイル"
|
||||
|
||||
# renpy/common/00preferences.rpy:387
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "クリップボードボイシングが有効化しました。 'shift+C'で無効化します。"
|
||||
|
||||
# renpy/common/00preferences.rpy:389
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "セルフボイシングが有効化しました。 'v' で無効化します。"
|
||||
|
||||
##Lancherでのみ必要###########################################
|
||||
# renpy/common/00gltest.rpy:95
|
||||
old "Quit"
|
||||
new "終了"
|
||||
|
||||
# renpy/common/00gltest.rpy:100
|
||||
old "Return"
|
||||
new "戻る"
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
new "空のスロット"
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "前へ"
|
||||
|
||||
# renpy/common/_compat/gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "次へ"
|
||||
##templateでのみ必要############################################
|
||||
#
|
||||
# # renpy/common/00updater.rpy:1385
|
||||
# old "An error has occured:"
|
||||
# new "エラーが派生しました。"
|
||||
#
|
||||
# # renpy/common/00updater.rpy:1387
|
||||
# old "Checking for updates."
|
||||
# new "更新をチェックしています。"
|
||||
#
|
||||
# # renpy/common/00updater.rpy:1399
|
||||
# old "Finishing up."
|
||||
# new "更新を完了しました。"
|
||||
#
|
||||
# # renpy/common/00updater.rpy:1419
|
||||
# old "Proceed"
|
||||
# new "処理中"
|
||||
#
|
||||
# # renpy/common/00updater.rpy:1422
|
||||
# old "Cancel"
|
||||
# new "キャンセル"
|
||||
|
||||
@@ -105,3 +105,7 @@ translate japanese strings:
|
||||
old "Recompiling all rpy files into rpyc files..."
|
||||
new "すべての rpy ファイルを rpyc ファイルにコンパイルしています。"
|
||||
|
||||
# game/front_page.rpy:245
|
||||
old "iOS"
|
||||
new "iOS"
|
||||
|
||||
|
||||
Executable
+99
@@ -0,0 +1,99 @@
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# game/ios.rpy:28
|
||||
old "To build iOS packages, please download renios, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
|
||||
new "iOS パッケージをビルドするには、 renios をダウンロードして、Ren'Py ディレクトリーに配置、ランチャーを再起動してください。"
|
||||
|
||||
# game/ios.rpy:29
|
||||
old "The directory in where Xcode projects will be placed has not been selected. Choose 'Select Directory' to select it."
|
||||
new "'Select Directory' から、 xcode プロジェクトが配置されるディレクトリーを選択してください。"
|
||||
|
||||
# game/ios.rpy:30
|
||||
old "There is no Xcode project corresponding to the current Ren'Py project. Choose 'Create Xcode Project' to create one."
|
||||
new "現在の Ren'Py プロジェクトに対応する Xcode プロジェクトがありません。'Create Xcode Project' から作成してください。"
|
||||
|
||||
# game/ios.rpy:31
|
||||
old "An Xcode project exists. Choose 'Update Xcode Project' to update it with the latest game files, or use Xcode to build and install it."
|
||||
new "Xcode プロジェクトが存在します。'Update Xcode Project' を選択して最新のゲームファイルに更新するか、 Xcode を使用してそれをビルド、インストールしてください。"
|
||||
|
||||
# game/ios.rpy:33
|
||||
old "Attempts to emulate an iPhone.\n\nTouch input is emulated through the mouse, but only when the button is held down."
|
||||
new "iPhone をエミュレートします。\n\nタッチ入力はマウスを利用してエミュレートされますが、ボタン押下時のみ反応します"
|
||||
|
||||
# game/ios.rpy:34
|
||||
old "Attempts to emulate an iPad.\n\nTouch input is emulated through the mouse, but only when the button is held down."
|
||||
new "iPad をエミュレートします。\n\nタッチ入力はマウスを利用してエミュレートされますが、ボタン押下時のみ反応します"
|
||||
|
||||
# game/ios.rpy:36
|
||||
old "Selects the directory where Xcode projects will be placed."
|
||||
new "Xcode プロジェクトが配置されるディレクトリーを選択します。"
|
||||
|
||||
# game/ios.rpy:37
|
||||
old "Creates an Xcode project corresponding to the current Ren'Py project."
|
||||
new "現在の Ren'PY プロジェクトに対応する Xcode プロジェクトを作成します。"
|
||||
|
||||
# game/ios.rpy:38
|
||||
old "Updates the Xcode project with the latest game files. This must be done each time the Ren'Py project changes."
|
||||
new "最新のゲームファイルに Xcode プロジェクトを更新します。これは Ren'Py プロジェクトが変更される度に行わなければなりません。"
|
||||
|
||||
# game/ios.rpy:39
|
||||
old "Opens the Xcode project in Xcode."
|
||||
new "Xcode から Xcode プロジェクトを開きます。"
|
||||
|
||||
# game/ios.rpy:41
|
||||
old "Opens the directory containing Xcode projects."
|
||||
new "対応する Xcode プロジェクトを開きます。"
|
||||
|
||||
# game/ios.rpy:126
|
||||
old "The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"
|
||||
new "その Xcode プロジェクトは既に存在します。古いプロジェクトをリネームするか、新しいもので置き換えますか?"
|
||||
|
||||
# game/ios.rpy:202
|
||||
old "iOS: [project.current.name!q]"
|
||||
new "iOS: [project.current.name!q]"
|
||||
|
||||
# game/ios.rpy:231
|
||||
old "iPhone"
|
||||
new "iPhone"
|
||||
|
||||
# game/ios.rpy:235
|
||||
old "iPad"
|
||||
new "iPad"
|
||||
|
||||
# game/ios.rpy:255
|
||||
old "Select Xcode Projects Directory"
|
||||
new "Xcode プロジェクトディレクトリーを選択してください。"
|
||||
|
||||
# game/ios.rpy:259
|
||||
old "Create Xcode Project"
|
||||
new "Xcode プロジェクトを作成してください。"
|
||||
|
||||
# game/ios.rpy:263
|
||||
old "Update Xcode Project"
|
||||
new "Xcode プロジェクトを更新してください。"
|
||||
|
||||
# game/ios.rpy:268
|
||||
old "Launch Xcode"
|
||||
new "Xcode 起動"
|
||||
|
||||
# game/ios.rpy:303
|
||||
old "Open Xcode Projects Directory"
|
||||
new "Xcode プロジェクトディレクトリーを開いてください。"
|
||||
|
||||
# game/ios.rpy:336
|
||||
old "Before packaging iOS apps, you'll need to download renios, Ren'Py's iOS support. Would you like to download renios now?"
|
||||
new "iOS アプリをパッケージする前に、reniosをダウンロードする必要があります。 renios をダウンロードしますか?"
|
||||
|
||||
# game/ios.rpy:345
|
||||
old "XCODE PROJECTS DIRECTORY"
|
||||
new "XCODE PROJECTS DIRECTORY"
|
||||
|
||||
# game/ios.rpy:345
|
||||
old "Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "Xcode プロジェクトディレクトリーを選択してください。\n{b}ディレクトリー選択ウィンドウはこのウィンドウの裏に開くかもしれません。{/b}"
|
||||
|
||||
# game/ios.rpy:350
|
||||
old "Ren'Py has set the Xcode Projects Directory to:"
|
||||
new "Ren'Py は Xcode プロジェクトディレクトリーを以下に設定しました。:"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/about.rpy:39
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/add_file.rpy:28
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/android.rpy:30
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/choose_theme.rpy:292
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# renpy/common/00action_file.rpy:142
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/distribute.rpy:335
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/distribute_gui.rpy:157
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/editor.rpy:150
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/front_page.rpy:89
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/interface.rpy:107
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/navigation.rpy:168
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/new_project.rpy:40
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/preferences.rpy:58
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/project.rpy:48
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
translate korean python:
|
||||
translate korean python:
|
||||
|
||||
NANUM = "tl/korean/NanumGothic.ttf"
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/translations.rpy:31
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2014-05-02 21:49
|
||||
|
||||
|
||||
translate korean strings:
|
||||
|
||||
# game/updater.rpy:78
|
||||
|
||||
@@ -1,12 +1 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# game/about.rpy:21
|
||||
old "[version!q]"
|
||||
new "[version!q]"
|
||||
|
||||
# game/about.rpy:25
|
||||
old "View license"
|
||||
new "Просмотреть лицензию"
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# game/add_file.rpy:7
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# game/android.rpy:13
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# game/choose_theme.rpy:274
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# renpy/common/_layout/classic_load_save.rpym:120
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# game/distribute.rpy:358
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
# TODO: Translation updated at 2013-12-08 21:52
|
||||
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# game/distribute_gui.rpy:139
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user