Compare commits

...

109 Commits

Author SHA1 Message Date
Tom Rothamel 5664e29c7d Sponsor doc. 2019-07-01 22:17:03 -04:00
Tom Rothamel ae61f801f8 Update changelog. 2019-07-01 22:15:40 -04:00
Tom Rothamel cac70f9544 Merge pull request #1915 from Moshibit/master
correction in spanish translation
2019-07-01 22:00:53 -04:00
Tom Rothamel 45b792b4bd Only emulate the platform if asked.
Fixes #1917.
2019-07-01 21:58:33 -04:00
Tom Rothamel 97f578baac Bump version. 2019-07-01 21:14:02 -04:00
Tom Rothamel 2d9c8565be Automatically tag renpyweb. 2019-06-30 23:34:49 -04:00
Tom Rothamel a4596ecfbc Update changelog. 2019-06-30 23:21:09 -04:00
Tom Rothamel 740400db2c Make the preload thread actually do something.
Fixes #1890.
2019-06-30 23:09:05 -04:00
Tom Rothamel b1c6a3a16d Update keywords. 2019-06-30 22:45:44 -04:00
Moshibit 0f90a189f3 Merge pull request #2 from renpy/master
a
2019-06-30 17:49:04 -05:00
Tom Rothamel d427968170 Fix and update translations. 2019-06-30 01:50:00 -04:00
Tom Rothamel 673b1fcb4a Update changelog and sponsor docs. 2019-06-29 22:58:56 -04:00
Tom Rothamel 9a6f7f3975 sl2: Do not update scopes in used screens.
This is a much simpler fix for the problem in a1dd218560,
which is that the wrong scope will be given in a used screen that happens to be
constant.

The realization is that if a used screen is constant, it can't change - and hence
it doesn't need to be given a new scope at all.
2019-06-29 03:04:30 -04:00
Tom Rothamel af5e885e17 Revert "sl2: Store the scopes to provide them to _scope."
This reverts commit a1dd218560.
2019-06-29 02:46:54 -04:00
Tom Rothamel af0314885b Revert "Fix issues with screens and scopes."
This reverts commit df8f27f0d0.
2019-06-29 02:45:50 -04:00
Tom Rothamel e76411a6c9 Merge pull request #1900 from lee-yunseok/lee-yunseok
Update Korean strings.
2019-06-28 16:53:56 -04:00
Tom Rothamel bf9b60aa59 Merge pull request #1910 from Andykl/fixes
Update Russian
2019-06-28 16:53:38 -04:00
Moshibit d9aa172882 Merge pull request #1 from renpy/master
Fix issues with screens and scopes.
2019-06-27 22:08:14 -05:00
Moshibit 79a67705f1 correction 2019-06-27 22:04:06 -05:00
Tom Rothamel df8f27f0d0 Fix issues with screens and scopes.
Fixes #1905, where several bugs got collected into one place. The
main problem is that we need to store the actual values of
non-constant variables that, for example, change durting iteration,
while at the same time allowing things that use the scope to
update when the screen scope changes (from new parameters, or
something like SetScreenVairable).

This uses a method (scope_changed, similar to copy_on_change) to
take things that use the scope out of the cache when a scope change
happens.
2019-06-27 21:44:44 -04:00
Andy_kl d85241bfa7 Update Russian 2019-06-27 11:32:31 +03:00
Tom Rothamel c5cf467274 Fix spurious spaces in Spanish translation.
Fixes #1906.
2019-06-26 21:31:14 -04:00
Tom Rothamel 641a1b4f99 Fix None error in 8c36a9a4a5. 2019-06-25 22:29:14 -04:00
Tom Rothamel 01a0b6ed42 Always initialize the sound system.
To ensure silent movies can play, even if sounds aren't involved.

Fixes #1901.
2019-06-25 20:56:11 -04:00
Tom Rothamel 8c36a9a4a5 Fix double duplication in Transform.
Fixes #1903.
2019-06-25 20:49:22 -04:00
Tom Rothamel bfeb11a7be Merge pull request #1902 from Andykl/has-subblock
Added Lexer.has_subblock method.
2019-06-25 20:33:27 -04:00
Tom Rothamel f937f4bf42 Improve descriptive text.
- Move it to 00acessibility.rpy, where I can find it.
- sv -> alt (The old name still works.)
- Allow the creator to supply a character that's used to display
  descriptive text.
2019-06-25 01:52:14 -04:00
Tom Rothamel ba9accfd5e Process text tags when self_closing_custom_text_tags is set.
The check hadn't included that, which means that text tags would
not be processed when self_closing_custom_text_tags was set, and
custom_text_tags was not.
2019-06-24 19:28:53 -04:00
Andy_kl 0ca1f3ef66 Added Lexer.has_subblock method. 2019-06-24 23:31:40 +03:00
Lee Yunseok d19148f282 Fix typo. 2019-06-24 18:51:07 +09:00
Lee Yunseok 72d7b9ba59 Fix 2019-06-24 18:33:24 +09:00
Lee Yunseok 6231ffe2f3 Update Korean translation for renpyweb. 2019-06-24 18:09:41 +09:00
Lee Yunseok 097c24b140 Korean translation for accessibility in Tutorial, The Question. 2019-06-24 18:09:06 +09:00
Tom Rothamel c49f697b4d Avoid runing the gl test on a restart.
This prevents a with_none call that broke config.end_game_transition.
2019-06-23 10:42:16 -04:00
Tom Rothamel 8fc5225985 focus: Prioritize the highest default_focus value. 2019-06-22 14:59:49 -04:00
Tom Rothamel ac60c3ec9e To fix a conflict, replace default with default_focus. 2019-06-22 13:23:45 -04:00
Tom Rothamel 6165d4aa11 Remove 'set' from the list of Ren'Py keywords.
It's used often in Python and expressions, and rarely in
Ren'Py.
2019-06-21 19:10:37 -04:00
Tom Rothamel 5e717b9bbe Improvements to rt run.
* The command is run with os.exec, so that ctrl-C can trigger
  a traceback.
* Command line arguments are passed to rt run in the right order.
2019-06-21 19:10:14 -04:00
Tom Rothamel 90b2f69876 Merge pull request #1897 from Andykl/fix-flatten
Flatten passing the position from child.
2019-06-20 17:18:40 -04:00
Andy_kl adbb05c99d Flatten passing the position from child. 2019-06-20 22:26:57 +03:00
Tom Rothamel ce2b11e7cf Add a random number generator that supports Rollback.
This is now returned by renpy.random.Random, and ensures the
numbers returned by it are deterministic.

Fixes #1893.
2019-06-20 09:58:06 -04:00
Tom Rothamel ae4369d223 Fix bad path to render_for_size. 2019-06-19 15:49:55 -04:00
Tom Rothamel 9a2cf214dc Properly generate the nvl clear UserStatement.
Fixes #1888.
2019-06-19 15:40:38 -04:00
Tom Rothamel 2ac606980a Add a function to render in sizing mode.
This doesn't catch the rendering that's done in sizing mode, but
reuses renders that are already cached at the same size.
2019-06-18 20:17:48 -04:00
Tom Rothamel f89de7e332 Set the platform as part of the emulator. 2019-06-17 19:32:21 -04:00
Tom Rothamel 2f12cdf843 Distinguish real and emulated platform.
This is to prep for a change where the emulator can set the platform,
so renpy.android is true under the android emulator.
2019-06-17 19:29:48 -04:00
Tom Rothamel c0ed44651c Pass the text input rectangle through subsurface. 2019-06-17 18:36:16 -04:00
Tom Rothamel ecbe0952c8 Fix the {clear} tag.
There was a regression caused by the UserStatement changes.
2019-06-17 00:03:01 -04:00
Tom Rothamel e48f24d8d1 Bump version. 2019-06-16 19:38:50 -04:00
Tom Rothamel e8b50d55f3 Add an example of a gallery button that's always unlocked.
Per discussion in 1887.
2019-06-16 16:06:52 -04:00
Tom Rothamel fbcdfe8561 Document that Showif creates a displayable.
Addresses #1886.
2019-06-16 13:38:46 -04:00
Tom Rothamel 99524a1033 sl2: Allow a has statement after an if statement with no children.
Addresses #1886.
2019-06-16 13:26:47 -04:00
Tom Rothamel 9781c0d07e Fix spurious spaces in the_question. 2019-06-16 11:58:58 -04:00
Tom Rothamel c09d0142df Package web-presplash.{jpg,png}, ignore oyua_icon.png. 2019-06-16 11:26:25 -04:00
Tom Rothamel 5bb8ae6772 Clean up translations. 2019-06-15 20:57:12 -04:00
Tom Rothamel 7c48ffc3f3 Updateyay igpay atinlay. 2019-06-15 20:56:13 -04:00
Tom Rothamel efec9192b7 Fix spacing. 2019-06-15 20:54:25 -04:00
Tom Rothamel 12b0decd15 Merge pull request #1885 from Moshibit/master
Update common.rpy
2019-06-15 19:54:37 -04:00
Moshibit c0185751d6 Update common.rpy 2019-06-15 18:47:30 -05:00
Moshibit fc06af1d93 Update common.rpy 2019-06-15 18:46:51 -05:00
Moshibit e44d6d14c3 Update common.rpy 2019-06-15 18:41:47 -05:00
Moshibit 7aae8c506f Update common.rpy 2019-06-15 18:31:47 -05:00
Tom Rothamel 2d47ae004e Merge pull request #1884 from Moshibit/master
accessibility message changed to translatable string
2019-06-15 19:11:13 -04:00
Moshibit 148c74a312 change to translatable string 2019-06-15 18:05:30 -05:00
Tom Rothamel 1c34d0643e Merge pull request #1883 from Moshibit/master
corrections in the Spanish translation
2019-06-15 18:53:27 -04:00
Moshibit 196517ac34 Update launcher.rpy 2019-06-15 17:49:24 -05:00
Moshibit 041832a573 Add files via upload 2019-06-15 17:34:28 -05:00
Moshibit 8533a6e089 Add files via upload 2019-06-15 17:32:36 -05:00
Moshibit 610a13bf20 Add files via upload 2019-06-15 17:31:22 -05:00
Tom Rothamel 3e2fbe4554 Screen sensitivity passes timer events.
Fixes #1882.
2019-06-15 11:58:21 -04:00
Tom Rothamel 038ea8fee2 Merge pull request #1880 from mal/screen-sensitivity-scope
Use scope when evalling screen sensitivity
2019-06-15 10:58:39 -04:00
Tom Rothamel f97dc0c0f0 Merge pull request #1881 from Andykl/fix-sluse-report
More sensitive report about inexistent screen in sl use expression
2019-06-15 10:58:11 -04:00
Andy_kl b064ea9a82 More sensitive report about inexistent screen in sl use expression 2019-06-15 17:56:55 +03:00
Mal Graty 3fc13fad93 Use scope when evalling screen sensitivity 2019-06-15 15:49:23 +01:00
Tom Rothamel d86d188dc8 Fix documentation and update sponsors doc. 2019-06-15 00:21:44 -04:00
Tom Rothamel 71beb64a4a Document that tooltip requires equality. 2019-06-14 17:12:53 -04:00
Tom Rothamel 6b27321496 Tweak the error message for a Side with the wrong number of children. 2019-06-13 23:26:06 -04:00
Tom Rothamel 1446c2b31d Merge pull request #1874 from Andykl/fix-side-mistake
Raise exception if Side not completely full at the render
2019-06-13 21:24:29 -04:00
Tom Rothamel 97b844cd9b Merge pull request #1876 from Andykl/fix-adjustment-bug
Fix adjustment bug
2019-06-13 21:23:36 -04:00
Andy_kl a17f63368b Do not redraw if we are sizing 2019-06-13 10:31:48 +03:00
Andy_kl 1bc3945f1d Kill the render is the right way. 2019-06-13 10:28:41 +03:00
Andy_kl 884b7901bf Raise exception if Side not completely full at the render 2019-06-12 08:49:30 +03:00
Tom Rothamel acc48b08ae Avoid redrawing when fixing a per-frame render.
Fixes #1869.
2019-06-11 02:47:34 -04:00
Tom Rothamel b24a2b06db Fix code-typo.
Fixes #1871.
2019-06-10 22:36:50 -04:00
Tom Rothamel ae402797cf Update changelog. 2019-06-09 22:41:45 -04:00
Tom Rothamel 51c726f736 Update changelog. 2019-06-09 22:40:38 -04:00
Tom Rothamel c8cc2b0353 Use a Window's minimums to determine the width and height of its children.
See https://lemmasoft.renai.us/forums/viewtopic.php?f=32&t=55574
2019-06-09 22:33:17 -04:00
Tom Rothamel dd7cdea0c2 Check in updated keywords. 2019-06-09 22:32:58 -04:00
Tom Rothamel ff59a3060d Apply AdjustTimes to images displayed in the gallery.
This makes sure that any ATL or other transforms start running from
the frame where the image is first shown.

Fixes #1867.
2019-06-09 21:39:51 -04:00
Tom Rothamel ae123b383a Fix local variable masking global variable. 2019-06-09 21:08:49 -04:00
Tom Rothamel 1175e65552 Proxy get_tooltip from Confirm to its yes action. 2019-06-09 20:50:10 -04:00
Tom Rothamel a1c1c15a3c Disallow style properties on tooltips. 2019-06-09 20:35:03 -04:00
Tom Rothamel 8d7236b32e cds: Pass the label of the next statement to predict_next.
This is necessary to properly emulate a conditional statement,
where we might go directly to the next statement.
2019-06-09 20:20:38 -04:00
Tom Rothamel 718628e48a Add a get_tooltip method to Action and BarValue.
This allows actions to supply tooltips to buttons and bars,
keeping that logic in one place. Per #1868.
2019-06-09 20:14:32 -04:00
Tom Rothamel 75f666479c Fix prediction problems in character.
Fixes #1853.
2019-06-09 00:00:09 -04:00
Tom Rothamel 63f2f9db47 Make sure we can't save between a menu and it's dialogue.
Fixes #1861.
2019-06-08 23:41:31 -04:00
Tom Rothamel 3c3c8963a3 Document narration and display_menu.
Fixes #1863.
2019-06-08 23:17:37 -04:00
Tom Rothamel 0399767528 cds: Fix prediction.
Fixes #1864.
2019-06-08 23:00:21 -04:00
Tom Rothamel c4ee0e8e5d cds: Allow lexer.renpy_block to deal with empty blocks.
Either by reporting the error, or by creating a block with a pass
statement.
2019-06-08 22:44:14 -04:00
Tom Rothamel 36ed61735d Merge pull request #1862 from Andykl/return-statement-argument
Added return value argument to renpy.return_statement
2019-06-08 19:13:33 -04:00
Tom Rothamel 4af01f3192 Avoid the repeated setting of adjustments when siding for a side.
Fixes #1858.
2019-06-08 01:42:44 -04:00
Tom Rothamel a72e17baea Document android input change. 2019-06-07 23:28:48 -04:00
Tom Rothamel 88728c932c Merge pull request #1855 from nyaatrap/master
Update Japanese
2019-06-06 22:50:46 -04:00
Andy_kl 298bf1d1c3 Added return value argument to renpy.return_statement 2019-06-06 22:01:37 +03:00
Beuc 59cc091828 Typo 2019-06-06 11:19:47 +02:00
Beuc 6aa9d6b920 Typo 2019-06-06 11:18:22 +02:00
Tom Rothamel 3241176e8f Ensure that the render_cache is updated after invalidation.
Before this change, if an invaidation was to occur mid-render,
it was possible the new render would not be added to the cache.

Fixes #1856.

This also defers invalidation when a redraw is going to happen.
2019-06-05 00:56:24 -04:00
Tom Rothamel 0d4d5f6621 accessibility: Cache the opendyslexic font group.
This makes displaying opendyslexic much faster.

Fixes #1857.
2019-06-04 19:16:04 -04:00
nyaatraps badb0e7803 Update Japanese 2019-06-04 17:34:52 +09:00
125 changed files with 10725 additions and 9627 deletions
+1
View File
@@ -14,6 +14,7 @@ SOURCE = [
"/home/tom/ab/ripe/renios",
"/home/tom/ab/renpy-deps",
"/home/tom/ab/pygame_sdl2",
"/home/tom/ab/renpyweb",
]
version = ".".join(str(i) for i in version_tuple)
+80
View File
@@ -694,3 +694,83 @@ translate japanese strings:
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "イメージキャッシュ: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# renpy/common/00accessibility.rpy:76
old "Font Override"
new "フォントオーバーライド"
# renpy/common/00accessibility.rpy:80
old "Default"
new "デフォルト"
# renpy/common/00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:94
old "Text Size Scaling"
new "テキストサイズのスケーリング"
# renpy/common/00accessibility.rpy:100
old "Reset"
new "リセット"
# renpy/common/00accessibility.rpy:105
old "Line Spacing Scaling"
new "行間のスケーリング"
# renpy/common/00accessibility.rpy:117
old "Self-Voicing"
new "セルフボイシング"
# renpy/common/00accessibility.rpy:121
old "Off"
new "オフ"
# renpy/common/00accessibility.rpy:125
old "Text-to-speech"
new "テキストを読む"
# renpy/common/00accessibility.rpy:129
old "Clipboard"
new "クリップボード"
# renpy/common/00accessibility.rpy:133
old "Debug"
new "デバッグ"
# renpy/common/00preferences.rpy:430
old "font transform"
new "フォント変換"
# renpy/common/00preferences.rpy:433
old "font size"
new "フォントサイズ"
# renpy/common/00preferences.rpy:441
old "font line spacing"
new "フォントの行間"
# renpy/common/_developer/developer.rpym:63
old "Image Attributes"
new "画像属性"
# renpy/common/_developer/developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (hidden)"
# renpy/common/_developer/developer.rpym:94
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:154
old "Hide deleted"
new "消去済みを隠す"
# renpy/common/_developer/developer.rpym:154
old "Show deleted"
new "消去済みを表示する"
+8
View File
@@ -177,3 +177,11 @@ translate japanese strings:
old "jump <label>: jumps to label"
new "jump <ラベル>: ラベルにジャンプ"
# renpy/common/00console.rpy:685
old "short: Shorten the representation of objects on the console (default)."
new "short: コンソール上のオブジェクトを短く表現する(デフォルト)"
# renpy/common/00console.rpy:690
old "long: Print the full representation of objects on the console."
new "long: コンソール上のオブジェクトを全て表現する"
+24
View File
@@ -235,3 +235,27 @@ translate japanese strings:
old "Tearing"
new "ティアリング"
# renpy/common/_errorhandling.rpym:542
old "Copy BBCode"
new "BBCode でコピー"
# renpy/common/_errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "クリップボードに traceback.txt を https://lemmasoft.renai.us/ 等のフォーラムに適した BBcode 形式でコピーする。"
# renpy/common/_errorhandling.rpym:546
old "Copy Markdown"
new "Markdown でコピー"
# renpy/common/_errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "クリップボードに traceback.txt を Discord に適した Markdown 形式でコピーする。"
# renpy/common/_errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "クリップボードに errors.txt を https://lemmasoft.renai.us/ 等のフォーラムに適した BBcode 形式でコピーする。"
# renpy/common/_errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "クリップボードに errors.txt を Discord に適した Markdown 形式でコピーする。"
+380 -4
View File
@@ -51,7 +51,7 @@ translate japanese strings:
# android.rpy:35
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルド & インストール」を選択し、ビルド後そのデバイスにインストールしてください。"
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルドインストール」を選択し、そのデバイスにインストールしてください。"
# android.rpy:37
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
@@ -135,7 +135,7 @@ translate japanese strings:
# android.rpy:365
old "Configure"
new "設定"
new "構成の設定"
# android.rpy:369
old "Build Package"
@@ -143,7 +143,7 @@ translate japanese strings:
# android.rpy:373
old "Build & Install"
new "ビルド & インストール"
new "ビルドインストール"
# android.rpy:377
old "Build, Install & Launch"
@@ -623,7 +623,7 @@ translate japanese strings:
# interface.rpy:386
old "File and directory names must consist of ASCII characters."
new "ファイル、ディレクトリー名はアスキーコードの文字列で構成される必要があります。"
new "ファイル、ディレクトリー名はアスキーコードの文字列でなければなりません。"
# interface.rpy:454
old "PROCESSING"
@@ -1321,3 +1321,379 @@ translate japanese strings:
# front_page.rpy:221
old "Actions"
new "アクション"
translate japanese strings:
# game/add_file.rpy:37
old "The file name may not be empty."
new "ファイル名が与えられていません。"
# game/android.rpy:31
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "ウィンドウズでアンドロイドパッケージをビルドするには、 64-bit/x64 Java 8 Development Kit が必要になります。 JDK は JRE とは違うもので、Java には含まれていません。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}から JDK をダンロードしてインストールし{/a}、それから Ren'Py ランチャーを再起動してください。"
# game/android.rpy:50
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
new "Android Studio からアクセスできるデバッグビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
# game/android.rpy:51
old "Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device."
new "ストアへアップロード可能なリリースビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
# game/androidstrings.rpy:7
old "{} is not a directory."
new "{} はディレクトリーではありません。"
# game/androidstrings.rpy:8
old "{} does not contain a Ren'Py game."
new "{} に Ren'Py のゲームは含まれていません。"
# game/androidstrings.rpy:9
old "Run configure before attempting to build the app."
new "アプリをビルドする前に構成を変更する。"
# game/androidstrings.rpy:10
old "Google Play support is enabled, but build.google_play_key is not defined."
new "Google Play サポートは有効になりましたが、 build.google_play_key が定義されていません。"
# game/androidstrings.rpy:11
old "Updating project."
new "プロジェクトを更新しています。"
# game/androidstrings.rpy:12
old "Creating assets directory."
new "アセットディレクトリーを作成しています"
# game/androidstrings.rpy:13
old "Creating expansion file."
new "拡張ファイルを作成しています。"
# game/androidstrings.rpy:14
old "Packaging internal data."
new "内部データをパッケージングしています。"
# game/androidstrings.rpy:15
old "I'm using Gradle to build the package."
new "パッケージのビルドに Gradle を使用しています。"
# game/androidstrings.rpy:16
old "Uploading expansion file."
new "拡張ファイルをアップロードしています。"
# game/androidstrings.rpy:17
old "The build seems to have failed."
new "ビルドに失敗したようです"
# game/androidstrings.rpy:18
old "Launching app."
new "アプリを起動しています。"
# game/androidstrings.rpy:19
old "The build seems to have succeeded."
new "ビルドに成功したようです。"
# game/androidstrings.rpy:20
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
new "arm64-v8a version は新しいアンドロイドデバイスで動きます。 armeabi-v7a version は古いデバイスで動きます。 the x86_64 version はシミュレーターやクロームブックで動きます。"
# game/androidstrings.rpy:21
old "What is the full name of your application? This name will appear in the list of installed applications."
new "アプリのフルネームはなんですか? フルネームはインストール済みアプリの一覧に表示されます。"
# game/androidstrings.rpy:22
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
new "アプリのショートネームは何ですか? ショートネームはランチャーやショートカットで使われます。"
# game/androidstrings.rpy:23
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
new "パッケージ名はなんですか?\n\nこれは通常 com.domain.program や com.domain.email.program の形を取ります。 ASCII 文字とドットのみで構成され、最低一つのドットを含まなければなりません。"
# game/androidstrings.rpy:24
old "The package name may not be empty."
new "パッケージ名が与えられていません。"
# game/androidstrings.rpy:25
old "The package name may not contain spaces."
new "パッケージ名はスペースを含んではいけません。"
# game/androidstrings.rpy:26
old "The package name must contain at least one dot."
new "パッケージ名は最低一つのドットを含まなければなりません。"
# game/androidstrings.rpy:27
old "The package name may not contain two dots in a row, or begin or end with a dot."
new "パッケージ名は2つのドットが連続したり、最初や最後がドットになってはいけません。"
# game/androidstrings.rpy:28
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
new "パッケージ名の各部分は文字から始めまり、文字・数字・アンダースコアのみを使用しなければなりません"
# game/androidstrings.rpy:29
old "{} is a Java keyword, and can't be used as part of a package name."
new "{} は Java のキーワードのため、パッケージ名に使用することはできません。."
# game/androidstrings.rpy:30
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
new "アプリケーションのバージョンはなんですか?\n\nバージョンは他の人に分かりやすい名前にします。数字とドットのみが使用できます。"
# game/androidstrings.rpy:31
old "The version number must contain only numbers and dots."
new "バージョンナンバーは数字とドットのみが使用できます。"
# game/androidstrings.rpy:32
old "What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions."
new "バージョンコードは何ですか?\n\nこれは正の整数で、バージョンが上がるごとに増えていきます。"
# game/androidstrings.rpy:33
old "The numeric version must contain only numbers."
new "バージョンコードは数字のみが使用できます。"
# game/androidstrings.rpy:34
old "How would you like your application to be displayed?"
new "どのようにアプリケーションを表示したいですか?"
# game/androidstrings.rpy:35
old "In landscape orientation."
new "ランドスケープ(横向き)"
# game/androidstrings.rpy:36
old "In portrait orientation."
new "ポートレイト(縦向き)"
# game/androidstrings.rpy:37
old "In the user's preferred orientation."
new "ユーザーが選択した向き"
# game/androidstrings.rpy:38
old "Which app store would you like to support in-app purchasing through?"
new "アプリ内課金をどのアプリストアに対応させますか?"
# game/androidstrings.rpy:39
old "Google Play."
new "Google Play"
# game/androidstrings.rpy:40
old "Amazon App Store."
new "Amazon App Store"
# game/androidstrings.rpy:41
old "Both, in one app."
new "一つのアプリで両方とも"
# game/androidstrings.rpy:42
old "Neither."
new "どちらも対応させない"
# game/androidstrings.rpy:43
old "Would you like to create an expansion APK?"
new "APK 拡張ファイルを作成しますか?"
# game/androidstrings.rpy:44
old "No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded."
new "いいえ。Google Play では100MBのサイズ制限がありますが、他のストアを通したり、直接配布することが可能です。"
# game/androidstrings.rpy:45
old "Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)"
new "はい。2GBのサイズまで作成できますが、 Google Play 以外では動きません。(ドキュメンテーションを参照してください。)"
# game/androidstrings.rpy:46
old "Do you want to allow the app to access the Internet?"
new "アプリのインターネット接続を許可しますか?"
# game/androidstrings.rpy:47
old "Do you want to automatically update the generated project?"
new "作成したプロジェクトを自動的に更新させますか?"
# game/androidstrings.rpy:48
old "Yes. This is the best choice for most projects."
new "はい。多くのプロジェクトで最良の選択です。"
# game/androidstrings.rpy:49
old "No. This may require manual updates when Ren'Py or the project configuration changes."
new "いいえ。Ren'Py やプロジェクトの構成が変更されるごとに、手動でアップデートする必要があります。"
# game/androidstrings.rpy:50
old "Unknown configuration variable: {}"
new "未知の構成変数: {}"
# game/androidstrings.rpy:51
old "I'm compiling a short test program, to see if you have a working JDK on your system."
new "小さなテストプログラムをコンパイルして、あなたのシステムで JDK が動作するか確認しています。"
# game/androidstrings.rpy:52
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue."
new "テストファイルのコンパイルに javac が利用できません。Java Development Kit をダウンロードしていないなら、\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードしてください。 JDK は JRE とは違うもので、Java には含まれていません。JDK がなければ継続できません。"
# game/androidstrings.rpy:53
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
new "あなたのコンピューターにある Java のバージョンは JDK 8 ではないようです。JDK 8 は Android SDK がサポートする唯一のバージョンです。JDK 8 は:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードできます。 異なるバージョンの JAVA を使う場合は、JAVA_HOME の環境変数を設定します。"
# game/androidstrings.rpy:54
old "The JDK is present and working. Good!"
new "JDK が動作することを確認しました。"
# game/androidstrings.rpy:55
old "The Android SDK has already been unpacked."
new "Android SDK の解凍は完了しています。"
# game/androidstrings.rpy:56
old "Do you accept the Android SDK Terms and Conditions?"
new "Android SDK の契約内容・条件を承諾しますか?"
# game/androidstrings.rpy:57
old "I'm downloading the Android SDK. This might take a while."
new "Android SDK をダウンロードしています。この処理にはしばらくかかります。"
# game/androidstrings.rpy:58
old "I'm extracting the Android SDK."
new "Android SDK を解凍しています。"
# game/androidstrings.rpy:59
old "I've finished unpacking the Android SDK."
new "Android SDK の解凍を完了しました。"
# game/androidstrings.rpy:60
old "I'm about to download and install the required Android packages. This might take a while."
new "必要な Android パッケージをダウンロードしてインストールしようとしています。この処理にはしばらくかかります。"
# game/androidstrings.rpy:61
old "I was unable to accept the Android licenses."
new "Android ライセンスを承諾出来ませんでした。"
# game/androidstrings.rpy:62
old "I was unable to install the required Android packages."
new "必要な Android パッケージをインストールできませんでした。"
# game/androidstrings.rpy:63
old "I've finished installing the required Android packages."
new "必要な Android パッケージのインストールが終了しました。"
# game/androidstrings.rpy:64
old "You set the keystore yourself, so I'll assume it's how you want it."
new "keystore が設定されているため、あなた自身で設定したいのだと判断しました。"
# game/androidstrings.rpy:65
old "You've already created an Android keystore, so I won't create a new one for you."
new "Android keystore が既に作成済みのため、新しい keystore の作成は行いません。"
# game/androidstrings.rpy:66
old "I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?"
new "アプリケーションに署名するキーを発行できます。このキーでアプリケーションに署名すると、アンドロイドマーケットや他のストアで配布できるようになります。\n\nキーを作成しますか?"
# game/androidstrings.rpy:67
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
new "android.keystore ファイルを作成します。\n\nこのファイルはバックアップしてください。もし失くした場合はアプリをアップグレードすることが出来なくなります。\n\nまた、このファイルは安全な場所に保管してください。このファイルが悪意のある人間の手に渡ると、アプリのフェイクバージョンを作られたり、ユーザーデータを盗まれる恐れがあります。\n\nandroid.keystore のバックアップを作成し、安全な場所に保存しますか?"
# game/androidstrings.rpy:68
old "Please enter your name or the name of your organization."
new "あなたの名前か組織名を入力してください。"
# game/androidstrings.rpy:69
old "Could not create android.keystore. Is keytool in your path?"
new "android.keystore を作成できませんでした。keytool があなたのパスに存在しますか?"
# game/androidstrings.rpy:70
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
new "android.keystore の作成を終了しました。 このファイルをバックアップして、安全な場所に保管してください。"
# game/androidstrings.rpy:71
old "It looks like you're ready to start packaging games."
new "ゲームのパッケージングの準備が整ったようです。"
# game/choose_theme.rpy:507
old "changing the theme"
new "テーマを変更しています。"
# game/front_page.rpy:252
old "Web"
new "Web"
# game/front_page.rpy:252
old "(Beta)"
new "(Beta)"
# game/gui7.rpy:429
old "creating a new project"
new "新しいプロジェクトを作成しています。"
# game/gui7.rpy:433
old "activating the new project"
new "新しいプロジェクトを認証しています。"
# game/interface.rpy:372
old "opening the log file"
new "ログファイルを開いています。"
# game/itch.rpy:43
old "Downloading the itch.io butler."
new "itch.io butler をダウンロードしています。"
# game/updater.rpy:101
old "The update channel controls the version of Ren'Py the updater will download."
new "アップロードチャンネルはアップデーターのバージョンをコントロールします。"
# game/updater.rpy:110
old "• This version is installed and up-to-date."
new "• このバージョンは最新の状態でインストールされています。"
# game/updater.rpy:118
old "%B %d, %Y"
new "%B %d, %Y"
# game/updater.rpy:188
old "Fetching the list of update channels"
new "アップデートチャンネルのリストを取得しています。"
# game/updater.rpy:194
old "downloading the list of update channels"
new "アップデートチャンネルのリストをダウンロードしています。"
# game/updater.rpy:198
old "parsing the list of update channels"
new "アップデートチャンネルのリストを解析しています。"
# game/web.rpy:118
old "Web: [project.current.display_name!q]"
new "Web: [project.current.display_name!q]"
# game/web.rpy:148
old "Build Web Application"
new "ウェブアプリケーションをビルドする"
# game/web.rpy:149
old "Build and Open in Browser"
new "ビルドしてブラウザで開く"
# game/web.rpy:150
old "Open in Browser"
new "ブラウザで開く"
# game/web.rpy:151
old "Open build directory"
new "ビルドしたディレクトリーを開く"
# game/web.rpy:155
old "Support:"
new "サポート:"
# game/web.rpy:163
old "RenPyWeb Home"
new "RenPyWeb ホーム"
# game/web.rpy:164
old "Beuc's Patreon"
new "Beuc's Patreon"
# game/web.rpy:182
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
new "Ren'Py ウェブアプリケーションは、ゲームをスタートする前に、プレイヤーのコンピューターにデータを全てダウンロードする必要があります。"
# game/web.rpy:186
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
new "現在のウェブプラットホームの限界により、一般的なパフォーマンスの低下や、大きな画像・音声・動画ファイルのロードによる音声やフレームレートの異常が発生します。"
# game/web.rpy:195
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
new "ウェブアプリをパッケージングするために、RenPyWeb (Ren'Py's web support) をダウンロードする必要があります。 RenPyWeb をダウンロードしますか?"
+1 -1
View File
@@ -166,7 +166,7 @@ translate japanese strings:
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Ren'py が起動した時に表示されるメインメニューを表示するスクリーンです。"
new "## Ren'Py が起動した時に表示されるメインメニューを表示するスクリーンです。"
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
+4 -8
View File
@@ -20,7 +20,7 @@ label start:
# 背景を表示します。デフォルトではプレースホルダー(仮画像)を使用しますが、
# images ディレクトリーにファイル(ファイル名は "bg room.png" や "bg room.jpg"
# を追加することにより表示できます。
# を追加すること表示できます。
scene bg room
@@ -39,14 +39,10 @@ label start:
with dissolve
# 音楽を再生します。ここではタグを利用して無音を再生していますが、
# game ディレクトリーに "music.ogg" などと命名したファイルを追加すると
# play music "music.ogg" の形で再生することができます。
# 音楽を再生します。
# game ディレクトリーに "music.ogg" などファイルを追加すると再生できます。
# 効果音を再生する時は play audio "filename" を使用します。
# play music とは違って複数の効果音を同時に再生することができます。
play music "<silence .5>"
# play music "music.ogg"
# 以下は台詞を表示します。
+5 -1
View File
@@ -760,6 +760,10 @@
old "Clipboard"
new "클립보드"
# 00accessibility.rpy:146
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "이 메뉴의 옵션은 접근성을 향상시키기 위한 것입니다. 모든 게임에서 작동하지 않을 수 있고 일부 옵션 조합은 게임을 플레이할 수 없게 만들 수 있으며 이러한 경우 게임이나 엔진의 문제가 아닙니다. 글꼴을 변경할 때 최상의 결과를 얻으려면 글자 크기를 원래대로 유지하십시오."
# 00preferences.rpy:430
old "font transform"
new "글꼴 변형"
@@ -770,4 +774,4 @@
# 00preferences.rpy:441
old "font line spacing"
new "글꼴 줄 간격"
new "글꼴 줄 간격"
+1 -1
View File
@@ -175,7 +175,7 @@
# 00console.rpy:536
old "jump <label>: jumps to label"
new "jump <label>: label로 점프한다"
# 00console.rpy:685
old "short: Shorten the representation of objects on the console (default)."
new "short: 콘솔에서 오브젝트 표시를 줄인다 (기본값)."
+1 -1
View File
@@ -207,7 +207,7 @@
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "errors.txt 파일을 클립보드로 복사합니다."
# _errorhandling.rpym:542
old "Copy BBCode"
new "BB코드 복사"
+8 -4
View File
@@ -1525,8 +1525,12 @@
new "빌드 및 브라우저에서 열기"
# web.rpy:150
old "Open without Build"
new "빌드하지 않고 열기"
old "Open in Browser"
new "브라우저에서 열기"
# web.rpy:151
old "Open build directory"
new "빌드 디렉토리 열기"
# web.rpy:154
old "Support:"
@@ -1538,7 +1542,7 @@
# web.rpy:163
old "Beuc's Patreon"
new "Beuc의 페트론"
new "Beuc의 페이트리온"
# web.rpy:181
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
@@ -1555,7 +1559,7 @@
# updater.rpy:188
old "Fetching the list of update channels"
new "업데이트 채널 목록 가져오기"
# choose_theme.rpy:507
old "changing the theme"
new "테마를 바꾸는 중"
+71 -67
View File
@@ -1,54 +1,106 @@
translate piglatin strings:
# renpy/common/00accessibility.rpy:76
# renpy/common/00accessibility.rpy:28
old "Self-voicing disabled."
new "Elfsay-oicingvay isabledday."
# renpy/common/00accessibility.rpy:29
old "Clipboard voicing enabled. "
new "Lipboardcay oicingvay enableday. "
# renpy/common/00accessibility.rpy:30
old "Self-voicing enabled. "
new "Elfsay-oicingvay enableday. "
# renpy/common/00accessibility.rpy:32
old "bar"
new "arbay"
# renpy/common/00accessibility.rpy:33
old "selected"
new "electedsay"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "iewportvay"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
new "orizontalhay crollsay"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
new "erticalvay crollsay"
# renpy/common/00accessibility.rpy:37
old "activate"
new "activateay"
# renpy/common/00accessibility.rpy:38
old "deactivate"
new "eactivateday"
# renpy/common/00accessibility.rpy:39
old "increase"
new "increaseay"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "ecreaseday"
# renpy/common/00accessibility.rpy:128
old "Font Override"
new "Ontfay Verrideoay"
# renpy/common/00accessibility.rpy:80
# renpy/common/00accessibility.rpy:132
old "Default"
new "Efaultday"
# renpy/common/00accessibility.rpy:84
# renpy/common/00accessibility.rpy:136
old "DejaVu Sans"
new "Ejavuday Anssay"
# renpy/common/00accessibility.rpy:88
# renpy/common/00accessibility.rpy:140
old "Opendyslexic"
new "Pendyslexicoay"
# renpy/common/00accessibility.rpy:94
# renpy/common/00accessibility.rpy:146
old "Text Size Scaling"
new "Exttay Izesay Calingsay"
# renpy/common/00accessibility.rpy:100
# renpy/common/00accessibility.rpy:152
old "Reset"
new "Esetray"
# renpy/common/00accessibility.rpy:105
# renpy/common/00accessibility.rpy:157
old "Line Spacing Scaling"
new "Inelay Pacingsay Calingsay"
# renpy/common/00accessibility.rpy:117
# renpy/common/00accessibility.rpy:169
old "Self-Voicing"
new "Elfsay-Oicingvay"
# renpy/common/00accessibility.rpy:121
# renpy/common/00accessibility.rpy:173
old "Off"
new "Ffoay"
# renpy/common/00accessibility.rpy:125
# renpy/common/00accessibility.rpy:177
old "Text-to-speech"
new "Exttay-otay-peechsay"
# renpy/common/00accessibility.rpy:129
# renpy/common/00accessibility.rpy:181
old "Clipboard"
new "Lipboardcay"
# renpy/common/00accessibility.rpy:133
# renpy/common/00accessibility.rpy:185
old "Debug"
new "Ebugday"
# renpy/common/00accessibility.rpy:191
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "Hetay optionsay onay histay enumay areay intendeday otay improveay accessibilityay. Heytay aymay otnay orkway ithway allay amesgay, anday omesay ombinationscay ofay optionsay aymay enderray hetay amegay unplayableay. Histay isay otnay anay issueay ithway hetay amegay oray engineay. Orfay hetay estbay esultsray henway angingchay ontsfay, ytray otay eepkay hetay exttay izesay hetay amesay asay itay originallyay asway."
# renpy/common/00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Ondaymay"
@@ -393,59 +445,11 @@ translate piglatin strings:
old "Saved screenshot as %s."
new "Avedsay creenshotsay asay %say."
# renpy/common/00library.rpy:175
old "Self-voicing disabled."
new "Elfsay-oicingvay isabledday."
# renpy/common/00library.rpy:176
old "Clipboard voicing enabled. "
new "Lipboardcay oicingvay enableday. "
# renpy/common/00library.rpy:177
old "Self-voicing enabled. "
new "Elfsay-oicingvay enableday. "
# renpy/common/00library.rpy:179
old "bar"
new "arbay"
# renpy/common/00library.rpy:180
old "selected"
new "electedsay"
# renpy/common/00library.rpy:181
old "viewport"
new "iewportvay"
# renpy/common/00library.rpy:182
old "horizontal scroll"
new "orizontalhay crollsay"
# renpy/common/00library.rpy:183
old "vertical scroll"
new "erticalvay crollsay"
# renpy/common/00library.rpy:184
old "activate"
new "activateay"
# renpy/common/00library.rpy:185
old "deactivate"
new "eactivateday"
# renpy/common/00library.rpy:186
old "increase"
new "increaseay"
# renpy/common/00library.rpy:187
old "decrease"
new "ecreaseday"
# renpy/common/00library.rpy:222
# renpy/common/00library.rpy:195
old "Skip Mode"
new "Kipsay Odemay"
# renpy/common/00library.rpy:308
# renpy/common/00library.rpy:281
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Histay rogrampay ontainscay eefray oftwaresay underay aay umbernay ofay icenseslay, includingay hetay Itmay Icenselay anday Nugay Esserlay Eneralgay Ublicpay Icenselay. Aay ompletecay istlay ofay oftwaresay, includingay inkslay otay ullfay ourcesay odecay, ancay ebay oundfay {a=https://www.renpy.org/l/license}erehay{/a}."
@@ -693,23 +697,23 @@ translate piglatin strings:
old "The updates were cancelled."
new "Hetay updatesay ereway ancelledcay."
# renpy/common/00gallery.rpy:587
# renpy/common/00gallery.rpy:592
old "Image [index] of [count] locked."
new "Mageiay [index] ofay [count] ockedlay."
# renpy/common/00gallery.rpy:607
# renpy/common/00gallery.rpy:612
old "prev"
new "revpay"
# renpy/common/00gallery.rpy:608
# renpy/common/00gallery.rpy:613
old "next"
new "extnay"
# renpy/common/00gallery.rpy:609
# renpy/common/00gallery.rpy:614
old "slideshow"
new "ideshowslay"
# renpy/common/00gallery.rpy:610
# renpy/common/00gallery.rpy:615
old "return"
new "eturnray"
+12 -8
View File
@@ -1562,30 +1562,34 @@ translate piglatin strings:
new "Uildbay anday Penoay inay Rowserbay"
# game/web.rpy:150
old "Open without Build"
new "Penoay ithoutway Uildbay"
old "Open in Browser"
new "Penoay inay Rowserbay"
# game/web.rpy:154
# game/web.rpy:151
old "Open build directory"
new "Penoay uildbay irectoryday"
# game/web.rpy:155
old "Support:"
new "Upportsay:"
# game/web.rpy:162
# game/web.rpy:163
old "RenPyWeb Home"
new "Enpywebray Omehay"
# game/web.rpy:163
# game/web.rpy:164
old "Beuc's Patreon"
new "Eucbay'say Atreonpay"
# game/web.rpy:181
# game/web.rpy:182
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
new "Enray'Ypay ebway applicationsay equireray hetay entireay amegay otay ebay ownloadedday otay hetay ayerplay'say omputercay eforebay itay ancay artstay."
# game/web.rpy:185
# game/web.rpy:186
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
new "Urrentcay imitationslay inay hetay ebway atformplay eanmay hattay oadinglay argelay imagesay, audioay ilesfay, oray oviesmay aymay ausecay audioay oray ameratefray itchesglay, anday owerlay erformancepay inay eneralgay."
# game/web.rpy:194
# game/web.rpy:195
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
new "Eforebay ackagingpay ebway appsay, ouyay'llay eednay otay ownloadday Enpywebray, Enray'Ypay'say ebway upportsay. Ouldway ouyay ikelay otay ownloadday Enpywebray ownay?"
+4
View File
@@ -876,3 +876,7 @@ translate russian strings:
# 00preferences.rpy:441
old "font line spacing"
new "межстрочный интервал"
# renpy/common/00accessibility.rpy:191
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "Параметры этого меню предназначены для увеличения доступности. Они могут работать не со всеми играми, а некоторые комбинации опций могут сделать игру отображаемой некорректно. Это не проблема с игрой или движком. Для достижения наилучших результатов при изменении шрифтов старайтесь сохранять размер текста таким, каким он был изначально."
+11 -3
View File
@@ -1517,9 +1517,9 @@ translate russian strings:
old "Web"
new "Веб-инструменты"
# front_page.rpy:252
old "Web (Beta)"
new "Веб-инструменты (Бета)"
# game/front_page.rpy:252
old "(Beta)"
new "(Бета)"
# interface.rpy:394
old "While [what!qt], an error occured:"
@@ -1596,3 +1596,11 @@ translate russian strings:
# updater.rpy:198
old "parsing the list of update channels"
new "разбор списка каналов обновления"
# game/web.rpy:150
old "Open in Browser"
new "Открыть в браузере"
# game/web.rpy:151
old "Open build directory"
new "Открыть папку сборки"
+8 -5
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
@@ -653,7 +652,7 @@ translate spanish strings:
# 00accessibility.rpy:76
old "Font Override"
new "Invalidar Fuente"
new "Cambiar Fuente"
# 00accessibility.rpy:80
old "Default"
@@ -669,7 +668,7 @@ translate spanish strings:
# 00accessibility.rpy:94
old "Text Size Scaling"
new "Tamaño de la Escala del Texto"
new "Escala del tamaño del texto"
# 00accessibility.rpy:100
old "Reset"
@@ -677,7 +676,7 @@ translate spanish strings:
# 00accessibility.rpy:105
old "Line Spacing Scaling"
new "Escalado del espaciado de línea"
new "Escala del espacio de línea"
# 00accessibility.rpy:117
old "Self-Voicing"
@@ -735,3 +734,7 @@ translate spanish strings:
old "Show deleted"
new "Mostrar borrados"
# renpy/common/00accessibility.rpy:146
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "Las opciones en este menú están destinadas a mejorar la accesibilidad. Es posible que no funcionen con todos los juegos, y algunas combinaciones de opciones pueden hacer que el juego no se pueda jugar. Esto no es un problema con el juego o el motor. Para obtener los mejores resultados al cambiar las fuentes, intente mantener el tamaño del texto igual al original."
+11 -14
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# _developer/developer.rpym:38
old "Developer Menu"
@@ -187,15 +186,13 @@ translate spanish strings:
# 00console.rpy:639
old "jump <label>: jumps to label"
new "jump <label>: salta a la etiqueta"
translate spanish strings:
# 00console.rpy:680
old "short: Shorten the representation of objects on the console (default)."
new "corto: Acorta la representación de los objetos en la consola (predeterminado)."
# 00console.rpy:685
old "long: Print the full representation of objects on the console."
new "largo: imprime la representación completa de los objetos en la consola."
new "jump <label>: salta a la etiqueta"
# 00console.rpy:680
old "short: Shorten the representation of objects on the console (default)."
new "corto: Acorta la representación de los objetos en la consola (predeterminado)."
# 00console.rpy:685
old "long: Print the full representation of objects on the console."
new "largo: imprime la representación completa de los objetos en la consola."
+27 -30
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# 00gltest.rpy:70
old "Renderer"
@@ -211,31 +210,29 @@ translate spanish strings:
# _errorhandling.rpym:667
old "Copies the errors.txt file to the clipboard."
new "Copia el archivo errors.txt al portapapeles."
translate spanish strings:
# _errorhandling.rpym:542
old "Copy BBCode"
new "Copiar BBCode"
# _errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copia el archivo traceback.txt en el portapapeles como BBcode para foros como https://lemmasoft.renai.us/."
# _errorhandling.rpym:546
old "Copy Markdown"
new "Copiar Markdown"
# _errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Copia el archivo traceback.txt al portapapeles como Markdown paara Discord."
# _errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copia el archivo errors.txt en el portapapeles como BBcode para foros como https://lemmasoft.renai.us/."
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "Copia el archivo errors.txt al portapapeles como Markdown para Discord."
new "Copia el archivo errors.txt al portapapeles."
# _errorhandling.rpym:542
old "Copy BBCode"
new "Copiar BBCode"
# _errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copia el archivo traceback.txt en el portapapeles como BBcode para foros como https://lemmasoft.renai.us/."
# _errorhandling.rpym:546
old "Copy Markdown"
new "Copiar Markdown"
# _errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Copia el archivo traceback.txt al portapapeles como Markdown paara Discord."
# _errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copia el archivo errors.txt en el portapapeles como BBcode para foros como https://lemmasoft.renai.us/."
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "Copia el archivo errors.txt al portapapeles como Markdown para Discord."
+1 -2
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# gui.rpy:2
old "## Initialization"
+10 -3
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# about.rpy:39
old "[version!q]"
@@ -1577,7 +1576,7 @@ translate spanish strings:
# game/itch.rpy:43
old "Downloading the itch.io butler."
new "DEscargando el butler de itch.io"
new "Descargando el butler de itch.io"
# game/updater.rpy:101
old "The update channel controls the version of Ren'Py the updater will download."
@@ -1643,3 +1642,11 @@ translate spanish strings:
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
new "Antes de empaquetar aplicaciones web, deberá descargar RenPyWeb, el soporte web de Ren'Py. ¿Te gustaría descargar RenPyWeb ahora?"
# game/web.rpy:150
old "Open in Browser"
new "Abrir en Navegador"
# game/web.rpy:151
old "Open build directory"
new "Abrir directorio de construcción"
+1 -2
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# _layout/classic_joystick_preferences.rpym:94
old "Joystick Mapping"
+3 -4
View File
@@ -1,5 +1,4 @@
translate spanish strings:
translate spanish strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
@@ -139,11 +138,11 @@ translate spanish strings:
# options.rpy:152
old "## Icon"
new "## Icono"
new "## Ícono"
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## El icono mostrado en la barra de tareas."
new "## El ícono mostrado en la barra de tareas."
# options.rpy:159
old "## Build configuration"
+1 -1
View File
@@ -279,7 +279,7 @@ translate spanish strings:
# screens.rpy:646
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
new "{#file_time}%A, %d de %B %Y, %H:%M"
# screens.rpy:646
old "empty slot"
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-11 23:37
translate turkish strings:
# 00console.rpy:271
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-11 23:37
translate turkish strings:
# 00gltest.rpy:70
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-11 23:37
translate turkish strings:
# gui.rpy:2
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-11 23:37
translate turkish strings:
# about.rpy:39
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-11 23:37
translate turkish strings:
# options.rpy:1
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-11 23:37
translate turkish strings:
# screens.rpy:9
+1 -1
View File
@@ -40,7 +40,7 @@ except ImportError:
vc_version = 0
# The tuple giving the version number.
version_tuple = (7, 3, 0, vc_version)
version_tuple = (7, 3, 2, vc_version)
# The name of this version.
version_name = "The world (wide web) is not enough."
+13 -4
View File
@@ -589,6 +589,7 @@ class Say(Node):
'attributes',
'arguments',
'temporary_attributes',
'rollback',
]
def diff_info(self):
@@ -600,6 +601,7 @@ class Say(Node):
self.interact = True
self.arguments = None
self.temporary_attributes = None
self.rollback = "normal"
return self
def __init__(self, loc, who, what, with_, interact=True, attributes=None, arguments=None, temporary_attributes=None):
@@ -1516,7 +1518,6 @@ class Return(Node):
class Menu(Node):
translation_relevant = True
rollback = "force"
__slots__ = [
'items',
@@ -1525,6 +1526,7 @@ class Menu(Node):
'has_caption',
'arguments',
'item_arguments',
'rollback',
]
def __new__(cls, *args, **kwargs):
@@ -1532,6 +1534,7 @@ class Menu(Node):
self.has_caption = False
self.arguments = None
self.item_arguments = None
self.rollback = "force"
return self
def __init__(self, loc, items, set, with_, has_caption, arguments, item_arguments): # @ReservedAssignment
@@ -1951,12 +1954,18 @@ class UserStatement(Node):
renpy.easy.predict(i)
if self.parsed and renpy.statements.get("predict_all", self.parsed):
return [ i[0] for i in self.subparses ] + [ self.next ]
return [ i.block[0] for i in self.subparses ] + [ self.next ]
next_list = self.call("predict_next")
if self.next:
next_label = self.next.name
else:
next_label = None
next_list = self.call("predict_next", next_label)
if next_list is not None:
return [ renpy.game.script.lookup(i) for i in next_list if i is not None ]
nexts = [ renpy.game.script.lookup_or_none(i) for i in next_list if i is not None ]
return [ i for i in nexts if i is not None ]
return [ self.next ]
+6 -1
View File
@@ -388,7 +388,12 @@ class ATLTransformBase(renpy.object.Object):
self.atl_st_offset = t.atl_st_offset
if self.child is renpy.display.motion.null:
self.child = t.child
if t.child and t.child._duplicatable:
self.child = t.child._duplicate(None)
else:
self.child = t.child
self.raw_child = t.raw_child
def __call__(self, *args, **kwargs):
+2 -5
View File
@@ -893,7 +893,7 @@ class ADVCharacter(object):
show_image = (self.image_tag,) + attrs + tuple(wanted) + tuple( "-" + i for i in remove)
if predict:
images.predict_show(show_image)
images.predict_show(layer, show_image)
else:
renpy.exports.show(show_image)
return True
@@ -974,7 +974,7 @@ class ADVCharacter(object):
delta = ()
trans, layer = renpy.config.say_attribute_transition_callback(
self.image_tag, mode, *delta)
self.image_tag, mode, *delta)
if trans is not None:
if layer is None:
@@ -1170,9 +1170,6 @@ class ADVCharacter(object):
old_attr_state = self.handle_say_attributes(True, True)
if renpy.config.speaking_attribute is not None:
self.resolve_say_attributes(True, wanted=[ renpy.config.speaking_attribute ])
old_side_image_attributes = renpy.store._side_image_attributes
if self.image_tag:
+53 -1
View File
@@ -19,10 +19,61 @@
# 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 -1500 python:
##########################################################################
# Self-voicing
# Strings used internally in Ren'Py.
_("Self-voicing disabled.")
_("Clipboard voicing enabled. ")
_("Self-voicing enabled. ")
_("bar")
_("selected")
_("viewport")
_("horizontal scroll")
_("vertical scroll")
_("activate")
_("deactivate")
_("increase")
_("decrease")
# The character that's used for descriptive text.
config.descriptive_text_character = None
def alt(what, interact=True):
"""
Uses the narrator to speak `what` if self-voicing is enabled.
"""
if _preferences.self_voicing:
c = config.descriptive_text_character
if c is None:
c = narrator
return c(what, interact=interact)
# Old name for alt.
sv = alt
init -1500 python hide:
##########################################################################
# Font Transforms.
store.__opendyslexic = { }
def opendyslexic(f):
rv = store.__opendyslexic.get(f, None)
if rv is not None:
return rv
# Generated with fc-query --format=%{charset} OpenDyslexic3-Regular.ttf
charset = "20-7e a0-107 10a-113 116-11b 11e-123 126-12b 12e-133 136-137 139-148 14a-14d 150-15b 15e-16b 16e-17e 186 188-189 18e-192 194 197 19d 1a0-1a1 1a9 1ac 1af-1b4 1c0-1c3 1cd-1df 1e6-1e7 1fe-1ff 218-21b 228-22b 241-244 24b-24c 250-254 256-259 25b-25c 261-262 265 268 26a-26b 26f-270 272 274-276 279-27a 280-281 283 289-28a 28c-28f 294-295 298-299 29b-29c 29f 2a1-2a2 2c6-2c7 2d8-2dd 309 31b 323 326 32d 331 3b2 3b8 3c0 3c7 401 403 405-408 40c 40e 410 412 415 418 41c-41e 420-422 425 427 42f-430 432 435 437 439 43e 440-441 443 445 44f 451 453 455-458 45b-45c 45e 472 498-499 4ae 4b1 4c0 4d0 4d2-4df 4e2-4f5 4f8-4f9 1e04-1e05 1e0c-1e0f 1e12-1e13 1e24-1e25 1e2e-1e2f 1e36-1e37 1e3c-1e3f 1e44-1e47 1e4a-1e4d 1e50-1e53 1e62-1e63 1e6c-1e71 1e80-1e85 1e92-1e93 1ea0-1ef9 2013-2014 2018-201a 201c-201e 2020-2022 2026 2030 2039-203a 203d 2044 20ac 2122 2126 215b-215e 2202 2206 220f 2211-2212 2219-221a 221e 222b 2248 2260 2264-2265 25ca 2c64 2c6d 2c72-2c73 2e18 fb01-fb02"
@@ -37,6 +88,7 @@ init -1500 python hide:
rv.add(f, None, None)
store.__opendyslexic[f] = rv
return rv
config.font_transforms["opendyslexic"] = opendyslexic
@@ -136,7 +188,7 @@ screen _accessibility():
vbox:
text ("The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was.")
text _("The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was.")
hbox:
spacing gui._scale(25)
+3
View File
@@ -564,6 +564,9 @@ init -1500 python:
def get_selected(self):
return renpy.is_selected(self.yes)
def get_tooltip(self):
return renpy.display.behavior.get_tooltip(self.yes)
@renpy.pure
class Scroll(Action, DictEquality):
+4 -1
View File
@@ -149,12 +149,15 @@ init -1500 python in build:
(".android.json", "android"),
("android-*.png", "android"),
("android-*.jpg", "android"),
("ouya_icon.png", "android"),
("ouya_icon.png", None),
("ios-presplash.*", "ios"),
("ios-launchimage.png", None),
("ios-icon.png", None),
("web-presplash.png", "web"),
("web-presplash.jpg", "web"),
])
base_patterns = [ ]
+2 -1
View File
@@ -185,9 +185,10 @@ init -1900 python:
if version <= (7, 2, 2):
config.say_attribute_transition_callback_attrs = False
config.keep_side_render_order = False
if version <= (7, 3, 0):
config.keep_side_render_order = False
config.force_sound = False
# The version of Ren'Py this script is intended for, or
# None if it's intended for the current version.
+5
View File
@@ -41,6 +41,9 @@ init -1500 python:
def check(self, all_prior):
for i in self.images:
print(i, renpy.seen_image(i))
if not renpy.seen_image(i):
return False
@@ -92,6 +95,8 @@ init -1500 python:
else:
d = config.default_transform(d)
d = renpy.display.layout.AdjustTimes(d, None, None)
displayables.append(d)
renpy.show_screen("_gallery", locked=locked, index=index + 1, count=count, displayables=displayables, gallery=self.gallery)
+3 -3
View File
@@ -182,7 +182,7 @@ init -1500 python in iap:
def init(self):
restore(False)
if renpy.ios:
if renpy.renpy.ios:
import pyobjus
IAPHelper = pyobjus.autoclass(b"IAPHelper")
NSMutableArray = pyobjus.autoclass(b"NSMutableArray")
@@ -583,9 +583,9 @@ init -1500 python in iap:
persistent._iap_purchases[p.identifier] = False
# Set up the back end.
if renpy.android:
if renpy.renpy.android:
backend = init_android()
elif renpy.ios:
elif renpy.renpy.ios:
backend = IOSBackend()
else:
backend = NoneBackend()
+3 -29
View File
@@ -168,33 +168,6 @@ init -1700 python:
extend.record_say = False
##########################################################################
# Self-voicing
# Strings used internally in Ren'Py.
_("Self-voicing disabled.")
_("Clipboard voicing enabled. ")
_("Self-voicing enabled. ")
_("bar")
_("selected")
_("viewport")
_("horizontal scroll")
_("vertical scroll")
_("activate")
_("deactivate")
_("increase")
_("decrease")
def sv(what, interact=True):
"""
Uses the narrator to speak `what` iff self-voicing is enabled.
"""
if _preferences.self_voicing:
return narrator(what, interact=interact)
##########################################################################
# Skip indicator
@@ -326,6 +299,7 @@ init -1000 python:
for i in """
adv
alt
anim
blinds
center
@@ -419,9 +393,9 @@ init 1700 python hide:
# Used by renpy.return() to return.
# Used by renpy.return_statement() to return.
label _renpy_return:
return
return _return
# Entry point for the developer screen. The rest of it is loaded from
# _developer.rpym
+2 -3
View File
@@ -24,9 +24,8 @@
init -1600 python hide:
# Set to true in the very unlikely event you want to manually init
# the sound system.
config.force_sound = False
# Set to False if you don't want sound to initialize without any mixers.
config.force_sound = True
# basics: True if the game will have music.
config.has_music = True
+2 -1
View File
@@ -195,7 +195,8 @@ label _start:
scene black
call _gl_test
if not _restart:
call _gl_test
python hide:
renpy.warp.warp()
+28 -1
View File
@@ -356,6 +356,23 @@ def run_periodic(var, st):
return var.periodic(st)
def get_tooltip(action):
if isinstance(action, (list, tuple)):
for i in action:
rv = get_tooltip(i)
if rv is not None:
return rv
return None
func = getattr(action, "get_tooltip", None)
if func is None:
return None
return func()
def is_selected(action):
"""
:name: renpy.is_selected
@@ -603,7 +620,7 @@ class SayBehavior(renpy.display.layout.Null):
if not renpy.config.enable_rollback_side:
rollback_side = "disable"
if renpy.mobile:
if renpy.exports.mobile:
rollback_side = renpy.game.preferences.mobile_rollback_side
else:
rollback_side = renpy.game.preferences.desktop_rollback_side
@@ -722,6 +739,12 @@ class Button(renpy.display.layout.Window):
return self
def _get_tooltip(self):
if self._tooltip is not None:
return self._tooltip
return get_tooltip(self.action)
def predict_one_action(self):
predict_action(self.clicked)
predict_action(self.hovered)
@@ -1596,6 +1619,10 @@ class Bar(renpy.display.core.Displayable):
adjustment = value.get_adjustment()
renpy.game.interface.timeout(0)
tooltip = value.get_tooltip()
if tooltip is not None:
properties.setdefault("tooltip", tooltip)
else:
adjustment = Adjustment(range, value, step=step, page=page, changed=changed)
+10 -5
View File
@@ -316,7 +316,7 @@ class Displayable(renpy.object.Object):
def __ne__(self, o):
return not (self == o)
def __init__(self, focus=None, default=False, style='default', _args=None, tooltip=None, **properties):
def __init__(self, focus=None, default=False, style='default', _args=None, tooltip=None, default_focus=False, **properties):
global default_style
@@ -326,7 +326,7 @@ class Displayable(renpy.object.Object):
self.style = renpy.style.Style(style, properties) # @UndefinedVariable
self.focus_name = focus
self.default = default
self.default = default or default_focus
self._tooltip = tooltip
if _args is not None:
@@ -367,6 +367,13 @@ class Displayable(renpy.object.Object):
return self
def _get_tooltip(self):
"""
Returns the tooltip of this displayable.
"""
return self._tooltip
def _in_current_store(self):
"""
Returns a version of this displayable that will not change as it is
@@ -1406,15 +1413,13 @@ class SceneLists(renpy.object.Object):
else:
at = 0
surf = renpy.display.render.render(sle.displayable, width, height, st, at)
surf = renpy.display.render.render_for_size(sle.displayable, width, height, st, at)
sw = surf.width
sh = surf.height
x, y = place(width, height, sw, sh, sle.displayable.get_placement())
surf.kill()
return (x, y, sw, sh)
+12
View File
@@ -149,10 +149,12 @@ def init_emulator():
if name == "touch":
emulator = touch_emulator
overlay = [ renpy.store.DynamicDisplayable(dynamic_keyboard) ]
elif name == "ios-touch":
emulator = touch_emulator
overlay = [ renpy.store.DynamicDisplayable(dynamic_keyboard) ]
ios = True
elif name == "tv":
emulator = tv_emulator
overlay = [ renpy.display.motion.Transform(
@@ -161,6 +163,16 @@ def init_emulator():
yalign=0.5,
size=(int(renpy.config.screen_height * 16.0 / 9.0), renpy.config.screen_height),
) ]
else:
emulator = null_emulator
overlay = [ ]
if emulator is not null_emulator:
renpy.exports.windows = False
renpy.exports.linux = False
renpy.exports.macintosh = False
renpy.exports.web = False
renpy.exports.android = renpy.exports.variant("android")
renpy.exports.ios = renpy.exports.variant("ios")
renpy.exports.mobile = renpy.exports.android or renpy.exports.ios # @UndefinedVariable
+17 -7
View File
@@ -106,7 +106,7 @@ def set_focused(widget, arg, screen):
if widget is None:
new_tooltip = None
else:
new_tooltip = widget._tooltip
new_tooltip = widget._get_tooltip()
if tooltip != new_tooltip:
tooltip = new_tooltip
@@ -281,16 +281,26 @@ def before_interact(roots):
else:
current = None
# Otherwise, focus the default widget, or nothing.
# Otherwise, focus the default widget.
if current is None:
defaults = [ ]
for f, n, screen in fwn:
if f.default:
current = f
set_focused(f, None, screen)
break
else:
set_focused(None, None, None)
defaults.append((f.default, f, screen))
if defaults:
if len(defaults) > 1:
defaults.sort()
_, f, screen = defaults[-1]
current = f
set_focused(f, None, screen)
if current is None:
set_focused(None, None, None)
# Finally, mark the current widget as the focused widget, and
# all other widgets as unfocused.
+2
View File
@@ -442,6 +442,8 @@ class Cache(object):
self.preload_lock.wait()
self.preload_lock.release()
self.preload_thread_pass()
def preload_thread_pass(self):
while self.preloads and self.keep_preloading:
+11 -5
View File
@@ -1038,7 +1038,7 @@ class SizeGroup(renpy.object.Object):
maxwidth = 0
for i in self.members:
rend = i.render(width, height, st, at)
rend = renpy.display.render.render_for_size(i, width, height, st, at)
maxwidth = max(rend.width, maxwidth)
self._width = maxwidth
@@ -1096,6 +1096,9 @@ class Window(Container):
if size_group and size_group in size_groups:
xminimum = max(xminimum, size_groups[size_group].width(width, height, st, at))
width = max(xminimum, width)
height = max(yminimum, height)
left_margin = scale(style.left_margin, width)
left_padding = scale(style.left_padding, width)
@@ -1525,6 +1528,9 @@ class Side(Container):
def render(self, width, height, st, at):
if renpy.config.developer and len(self.positions) != len(self.children):
raise Exception("A side has the wrong number of children.")
pos_d = { }
pos_i = { }
@@ -1567,10 +1573,8 @@ class Side(Container):
if pos not in pos_d:
return owidth, oheight
rend = render(pos_d[pos], width, height, st, at)
rv = max(owidth, rend.width), max(oheight, rend.height)
rend.kill()
return rv
rend = renpy.display.render.render_for_size(pos_d[pos], width, height, st, at)
return max(owidth, rend.width), max(oheight, rend.height)
cwidth, cheight = sizeit('c', width, height, 0, 0)
cwidth, top = sizeit('t', cwidth, height, cwidth, top)
@@ -1865,6 +1869,8 @@ class Flatten(Container):
return rv
def get_placement(self):
return self.child.get_placement()
class AlphaMask(Container):
"""
+41 -10
View File
@@ -56,6 +56,9 @@ frame_time = 0
# Are we doing a per_frame update?
per_frame = False
# Are we rendering for the purpose of sizing something.
sizing = False
def adjust_render_cache_times(old_time, new_time):
"""
This adjusts the render cache such that if a render starts at
@@ -258,30 +261,57 @@ cpdef render(d, object widtho, object heighto, double st, double at):
rv.render_of.append(d)
renpy.plog(4, "after clipping")
render_cache_d[wh] = rv
if wh is not orig_wh:
render_cache_d[orig_wh] = rv
if not sizing:
# This lookup is needed because invalidations are possible.
render_cache_d = render_cache[id_d]
render_cache_d[wh] = rv
if wh is not orig_wh:
render_cache_d[orig_wh] = rv
renpy.plog(2, "end render {!r}", d)
return rv
def render_for_size(d, width, height, st, at):
"""
This returns a render of `d` that's useful for getting the size or
screen location, but not for actual rendering.
"""
global sizing
id_d = id(d)
orig_wh = (width, height, frame_time-st, frame_time-at)
render_cache_d = render_cache[id_d]
rv = render_cache_d.get(orig_wh, None)
if rv is not None:
return rv
old_sizing = sizing
sizing = True
try:
return render(d, width, height, st, at)
finally:
sizing = old_sizing
def invalidate(d):
"""
Removes d from the render cache. If we're not in a redraw, triggers
a redraw to start.
"""
for v in render_cache[id(d)].values():
v.kill_cache()
if per_frame:
if (not rendering) and (not per_frame) and (not sizing):
redraw(d, 0)
return
if not rendering:
redraw(d, 0)
for v in render_cache[id(d)].values():
v.kill_cache()
def check_redraws():
"""
@@ -1025,6 +1055,7 @@ cdef class Render:
rv.operation_alpha = self.operation_alpha
rv.operation_complete = self.operation_complete
rv.nearest = self.nearest
rv.text_input = self.text_input
return rv
+3 -3
View File
@@ -680,7 +680,7 @@ class ScreenDisplayable(renpy.display.layout.Container):
rv.focus_screen = self
hiding = (self.phase == OLD) or (self.phase == HIDE)
sensitive = renpy.python.py_eval(self.screen.sensitive)
sensitive = renpy.python.py_eval(self.screen.sensitive, locals=self.scope)
rv.blit(child, (0, 0), focus=sensitive and not hiding, main=not hiding)
rv.modal = self.modal and not hiding
@@ -698,8 +698,8 @@ class ScreenDisplayable(renpy.display.layout.Container):
if (self.phase == OLD) or (self.phase == HIDE):
return
if not renpy.python.py_eval(self.screen.sensitive):
return
if not renpy.python.py_eval(self.screen.sensitive, locals=self.scope):
ev = renpy.display.interface.time_event
try:
push_current_screen(self)
-3
View File
@@ -993,9 +993,6 @@ class Transform(Container):
rv.take_execution_state(self)
rv._unique()
if rv.child and rv.child._duplicatable:
rv.child = rv.child._duplicate(None)
return rv
def _in_current_store(self):
+3 -3
View File
@@ -106,10 +106,10 @@ class Viewport(renpy.display.layout.Container):
self._show()
if isinstance(replaces, Viewport):
if isinstance(replaces, Viewport) and replaces.offsets:
self.xadjustment.range = replaces.xadjustment.range
self.yadjustment.range = replaces.yadjustment.range
self.xadjustment.value = replaces.xadjustment.value
self.yadjustment.range = replaces.yadjustment.range
self.yadjustment.value = replaces.yadjustment.value
self.xoffset = replaces.xoffset
self.yoffset = replaces.yoffset
@@ -206,7 +206,7 @@ class Viewport(renpy.display.layout.Container):
width = max(width, self.style.xminimum)
height = max(height, self.style.yminimum)
if self.set_adjustments:
if (not renpy.display.render.sizing) and self.set_adjustments:
xarange = max(cw - width, 0)
+8 -1
View File
@@ -1081,6 +1081,12 @@ def display_menu(items,
`screen`
The name of the screen used to display the menu.
Note that most Ren'Py games do not use menu captions, but use narration
instead. To display a menu using narration, write::
$ narrator("Which direction would you like to go?", interact=False)
$ result = renpy.display_menu([ ("East", "east"), ("West", "west") ])
"""
menu_args, menu_kwargs = get_menu_args()
@@ -1833,13 +1839,14 @@ def call(label, *args, **kwargs):
raise renpy.game.CallException(label, args, kwargs, from_current=from_current)
def return_statement():
def return_statement(value=None):
"""
:doc: se_call
Causes Ren'Py to return from the current Ren'Py-level call.
"""
renpy.store._return = value
jump("_renpy_return")
+20 -3
View File
@@ -507,7 +507,6 @@ KEYWORDS = set([
'python',
'return',
'scene',
'set',
'show',
'with',
'while',
@@ -755,6 +754,12 @@ class Lexer(object):
if not self.subblock:
self.error('%s expects a non-empty block.' % stmt)
def has_block(self):
"""
Called to check if the current line has a non-empty block.
"""
return bool(self.subblock)
def subblock_lexer(self, init=False):
"""
Returns a new lexer object, equiped to parse the block
@@ -1382,7 +1387,7 @@ class Lexer(object):
return sp
def renpy_block(self):
def renpy_block(self, empty=False):
if self.subparses is None:
raise Exception("A renpy_block can only be parsed inside a creator-defined statement.")
@@ -1406,6 +1411,12 @@ class Lexer(object):
parse_errors.append(e.message)
self.advance()
if not block:
if empty:
block.append(ast.Pass(self.get_location()))
else:
self.error("At least one Ren'Py statement is expected.")
sp = SubParse(block)
self.subparses.append(sp)
@@ -1679,6 +1690,12 @@ def parse_menu(stmtl, loc, arguments):
rv.append(ast.Menu(loc, items, set, with_, has_say or has_caption, arguments, item_arguments))
for index, i in enumerate(rv):
if index:
i.rollback = "normal"
else:
i.rollback = "force"
return rv
@@ -2693,7 +2710,7 @@ def finish_say(l, loc, who, what, attributes=None, temporary_attributes=None):
for i in what:
if i == "{clear}":
rv.append(ast.UserStatement(loc, "nvl clear", [ ]))
rv.append(ast.UserStatement(loc, "nvl clear", [ ], (("nvl", "clear"), { })))
else:
rv.append(ast.Say(loc, who, i, with_, attributes=attributes, interact=interact, arguments=arguments, temporary_attributes=temporary_attributes))
+50 -5
View File
@@ -1046,9 +1046,51 @@ class RevertableObject(object):
self.__dict__.update(compressed)
# An object that handles deterministic randomness, or something.
class RollbackRandom(random.Random):
"""
This is used for Random objects returned by renpy.random.Random.
"""
def __init__(self):
log = renpy.game.log
if log is not None:
log.mutated[id(self)] = None
super(RollbackRandom, self).__init__()
def _clean(self):
return self.getstate()
def _compress(self, clean):
return clean
def _rollback(self, compressed):
super(RollbackRandom, self).setstate(compressed)
setstate = mutator(random.Random.setstate)
jumpahead = mutator(random.Random.jumpahead)
getrandbits = mutator(random.Random.getrandbits)
seed = mutator(random.Random.seed)
random = mutator(random.Random.random)
def Random(self, seed=None):
"""
Returns a new RNG object separate from the main one.
"""
if seed is None:
seed = self.random()
new = RollbackRandom()
new.seed(seed)
return new
class DetRandom(random.Random):
"""
This is renpy.random.
"""
def __init__(self):
super(DetRandom, self).__init__()
@@ -1091,7 +1133,10 @@ class DetRandom(random.Random):
Returns a new RNG object separate from the main one.
"""
new = DetRandom()
if seed is None:
seed = self.random()
new = RollbackRandom()
new.seed(seed)
return new
@@ -1601,9 +1646,9 @@ class RollbackLog(renpy.object.Object):
fwd_name, fwd_data = self.forward[0]
if (self.current.context.current == fwd_name
and data == fwd_data
and (keep_rollback or self.rolled_forward)
):
and data == fwd_data
and (keep_rollback or self.rolled_forward)
):
self.forward.pop(0)
else:
del self.forward[:]
+13
View File
@@ -911,6 +911,19 @@ class Script(object):
return label in self.namemap
def lookup_or_none(self, label):
"""
Looks up the label if it exists, or returns None if it does not.
"""
if label is None:
return None
if not self.has_label(label):
return None
return self.lookup(label)
def analyze(self):
"""
Analyzes all statements that need analysis.
+30 -5
View File
@@ -461,6 +461,28 @@ class SLBlock(SLNode):
def has_python(self):
return any(i.has_python() for i in self.children)
def has_noncondition_child(self):
"""
Returns true if this block has a child that is not an SLIf statement,
or false otherwise.
"""
worklist = list(self.children)
while worklist:
n = worklist.pop(0)
if type(n) is SLBlock:
worklist.extend(n.children)
elif isinstance(n, SLIf):
for _, block in n.entries:
worklist.append(block)
else:
return True
return False
list_or_tuple = (list, tuple)
@@ -728,11 +750,13 @@ class SLDisplayable(SLBlock):
if cache.constant and (cache.style_prefix == context.style_prefix):
for i, scope, local_scope in cache.constant_uses_scope:
for i, local_scope in cache.constant_uses_scope:
if local_scope:
scope = dict(scope)
scope = dict(context.scope)
scope.update(local_scope)
else:
scope = context.scope
if copy_on_change:
if i._scope(scope, False):
@@ -1063,7 +1087,7 @@ class SLDisplayable(SLBlock):
if i in ctx.scope:
local_scope[i] = ctx.scope[i]
ctx.uses_scope.append((main, ctx.scope, local_scope))
ctx.uses_scope.append((main, local_scope))
cache.constant_uses_scope = ctx.uses_scope
@@ -1733,7 +1757,7 @@ class SLUse(SLNode):
target = renpy.display.screen.get_screen_variant(target_name)
if target is None:
raise Exception("A screen named {} does not exist.".format(self.target))
raise Exception("A screen named {} does not exist.".format(target_name))
ast = target.ast.not_const_ast
@@ -1755,6 +1779,7 @@ class SLUse(SLNode):
ctx = SLContext(context)
ctx.new_cache = context.new_cache[self.serial] = { }
ctx.miss_cache = context.miss_cache.get(self.serial, None) or { }
ctx.uses_scope = [ ]
if self.id:
@@ -1811,6 +1836,7 @@ class SLUse(SLNode):
# Run the child screen.
ctx.scope = scope
ctx.parent = weakref.ref(context)
ctx.transclude = self.block
try:
@@ -1867,7 +1893,6 @@ class SLTransclude(SLNode):
ctx.children = context.children
ctx.showif = context.showif
ctx.uses_scope = context.uses_scope
try:
renpy.ui.stack.append(ctx)
+1 -5
View File
@@ -302,9 +302,6 @@ class Parser(object):
parse_keyword(l, 'expected a keyword argument, colon, or end of line.', True)
# The index of the child we're adding to this statement.
child_index = 0
# A list of lexers we need to parse the contents of.
lexers = [ ]
@@ -328,7 +325,7 @@ class Parser(object):
if not can_has:
l.error("The has statement is not allowed here.")
if child_index != 0:
if target.has_noncondition_child():
l.error("The has statement may not be given after a child has been supplied.")
c = self.parse_statement(loc, l, layout_mode=True, keyword=keyword)
@@ -352,7 +349,6 @@ class Parser(object):
# If not none, add the child to our AST.
if c is not None:
target.children.append(c)
child_index += 1
if c.has_python():
keyword = False
+5 -5
View File
@@ -51,15 +51,14 @@ position_property_names = [
"xysize",
"alt",
"debug",
"tooltip",
]
position_properties = [ Style(i) for i in position_property_names ]
position_properties = [ Style(i) for i in position_property_names ] + [ Keyword("tooltip") ]
text_position_properties = [ PrefixStyle("text_", i) for i in position_property_names ]
side_position_properties = [ PrefixStyle("side_", i) for i in position_property_names ]
side_position_properties = [ PrefixStyle("side_", i) for i in position_property_names ] + [ Keyword("tooltip") ]
viewport_position_properties = [ PrefixStyle("viewport_", i) for i in position_property_names ]
scrollbar_position_properties = [ PrefixStyle("scrollbar_", i) for i in position_property_names ]
vscrollbar_position_properties = [ PrefixStyle("vscrollbar_", i) for i in position_property_names ]
scrollbar_position_properties = [ PrefixStyle("scrollbar_", i) for i in position_property_names ] + [ Keyword("tooltip") ]
vscrollbar_position_properties = [ PrefixStyle("vscrollbar_", i) for i in position_property_names ] + [ Keyword("tooltip") ]
text_property_names = [
"antialias",
@@ -206,6 +205,7 @@ ui_properties = [
Keyword("style_suffix"),
Keyword("focus"),
Keyword("default"),
Keyword("default_focus"),
]
property_groups = {
+6 -3
View File
@@ -51,7 +51,7 @@ def register(
force_begin_rollback=False,
post_execute=None,
post_label=None,
predict_all=False,
predict_all=True,
predict_next=None,
):
"""
@@ -149,10 +149,13 @@ def register(
label. This can be used to create a unique return point.
`predict_all`
If True, then all sub-parses of this statement are considered to be
equally likely as the next statement, for prediction purposes.
If True, then this predicts all sub-parses of this statement and
the statement after this statement.
`predict_next`
This is called with a single argument, the label of the statement
that would run after this statement.
This should be called to predict the statements that can run after
this one. It's expected to return a list of of labels or SubParse
objects. This is not called if `predict_all` is true.
+1 -1
View File
@@ -1686,7 +1686,7 @@ class Text(renpy.display.core.Displayable):
# Tokenize the text.
tokens = self.tokenize(text)
if renpy.config.custom_text_tags or (renpy.config.replace_text is not None):
if renpy.config.custom_text_tags or renpy.config.self_closing_custom_text_tags or (renpy.config.replace_text is not None):
tokens = self.apply_custom_tags(tokens)
# self.tokens is a list of pairs, where the first component of
+6
View File
@@ -54,6 +54,9 @@ class Action(renpy.object.Object):
def get_selected(self):
return False
def get_tooltip(self):
return None
def periodic(self, st):
return
@@ -84,6 +87,9 @@ class BarValue(renpy.object.Object):
def get_style(self):
return "bar", "vbar"
def get_tooltip(self):
return None
##############################################################################
# Things we can add to. These have two methods: add is called with the
+13 -4
View File
@@ -101,10 +101,17 @@ def new_command(args):
def run_command(args):
subprocess.call([
RENPY / "run.sh",
CURRENT.resolve()
] + args.args)
dash_args = [ i for i in args.args if i.startswith("-") if (i != "--") ]
nodash_args = [ i for i in args.args if not i.startswith("-") ]
if args.lint:
dash_args.insert(0, "--lint")
if args.compile:
dash_args.insert(0, "--compile")
args = [ RENPY / "run.sh" ] + dash_args + [ CURRENT.resolve() ] + nodash_args
os.execv(args[0], args)
def main():
@@ -133,6 +140,8 @@ def main():
sp = asp.add_parser('run')
sp.set_defaults(func=run_command)
sp.add_argument("--lint", action="store_true")
sp.add_argument("--compile", action="store_true")
sp.add_argument("args", nargs=argparse.REMAINDER)
args = ap.parse_args()
+4
View File
@@ -66,6 +66,10 @@ due to the Android software and hardware are:
`this page <http://developer.android.com/guide/appendix/media-formats.html>`_
for a list of supported video formats.
* Text input (such as :func:`renpy.input`) is limited to the input methods
that do not require completions to work. (Western languages probably work,
while other languages might not.)
In addition, there are a few changes that may be necessary due to
human factors:
+11 -1
View File
@@ -71,6 +71,10 @@ The parse method takes a Lexer object:
block is present. `stmt` should be a string, it will be added
to the message with an error.
.. method:: has_block()
True if the current line has a non-empty block.
.. method:: match(re)
Matches an arbitrary regexp string.
@@ -181,7 +185,7 @@ The parse method takes a Lexer object:
transfered to the statement after the creator-defined statement.
(Which might be the statement created using post_execute).
.. method:: renpy_block()
.. method:: renpy_block(empty=False)
This parses all of the remaining lines in the current block
as Ren'Py script, and returns a SubParse corresponding to the
@@ -204,6 +208,12 @@ The parse method takes a Lexer object:
return { "child" : child }
`empty`
If True, allows an empty block to be parsed. (An empty block
is equivalent to a block with a single ``pass`` statement.)
If False, an empty block triggers an error.
.. method:: catch_error()
+82 -1
View File
@@ -2,6 +2,78 @@
Full Changelog
==============
.. _renpy-7.3.2
7.3.2
=====
Fixes
-----
Fix a regression in the platform variables, caused by the previous
release.
Translations
------------
Update the spanish translation.
.. _renpy-7.3.1:
7.3.1
=====
Changes
-------
Descriptive text (text that is intended to be show when self-voicing is
enabled, so that scenes can be described to the vision impared) has been
updated. Descriptive text is now accessed using the ``alt`` character
(the old ``sv`` character has been retained as an alias.) It's also now
possible to display descriptive text using a custom character, rather than
the narrator.
Ren'Py now always initializes the media playback system, so that a movie
can be played even if no audio will be played.
The `default` property of most displayables, which is used to choose a
displayable to be focused by default, has been renamed to `default_focus`
so that it does not conflict with the ``default`` statement. It also now
takes an integer, with the displayable with the highest focus number
getting focus.
The :func:`Flatten` displayable now passes positions from the child.
Seeded random number generators created with renpy.random.Random now
support rollback.
When emulating Android or iOS, the platform variables (like renpy.android,
renpy.ios, renpy.windows, and renpy.mobile) are set properly.
Renpyweb now stores the date and time that a save file was created.
Fixes
-----
This release fixes a fairly major issue that could cause screens that
interpolate text to not update, or update improperly.
This release properly runs the image prediction routine from the
image prediction thread.
A problem with the {clear} text tag has been fixed.
The :var:`config.end_game_transition`, which was not working properly
in most circumstances, has been fixed.
Translations
------------
The Russian, Korean, and Spanish translations were updated.
.. _renpy-7.3.0:
7.3.0
@@ -108,6 +180,12 @@ and iOS.
Ren'Py now produces 64-bit arm binaries for Android. These will be
required by the Google Play store later this year.
Text input on Android was rewritten again, to fix problems where the user
was unable to advance. Completion was eliminated, as it was the source
of the problems. While languages that require input methods will need
a larger rewrite to function, Ren'Py should now properly handle all direct
input keyboards.
Translations
------------
@@ -116,7 +194,7 @@ by Arda Güler.
The Ren'Py tutorial game has been translated into Spanish by Moshibit.
French, Korean, Russian and Spanish translations have been updated for
French, Japanese, Korean, Russian and Spanish translations have been updated for
this release.
@@ -147,6 +225,9 @@ The interface of :var:`config.say_attribute_transition_callback` has been
changed in an incompatible way, to allow sets of old and new tags to be
given.
:class:`Action` and :class:`BarValue` now support a get_tooltip method,
which allows the object to supply a default tooltip.
Fixes
-----
+1 -1
View File
@@ -426,7 +426,7 @@ Occasionally Used
If true, Ren'Py will attempt to determine the name of the language
to use based on the locale of the player's system. If successful,
this languagfe will be used as the default language.
this language will be used as the default language.
.. var:: config.enter_sound = None
File diff suppressed because one or more lines are too long
+6
View File
@@ -66,6 +66,10 @@ Here's an example of the first three steps::
# Step 2. Add buttons and images to the gallery.
# A button with an image that is always unlocked.
g.button("title")
g.image("title")
# A button that contains an image that automatically unlocks.
g.button("dawn")
g.image("dawn1")
@@ -158,6 +162,8 @@ Here's an example of the first three steps::
add g.make_button("dark mary", "gal-dark_mary.png", xalign=0.5, yalign=0.5)
add g.make_button("dawn mary", "gal-dawn_mary.png", xalign=0.5, yalign=0.5)
add g.make_button("title", "title.png", xalign=0.5, yalign=0.5)
# The screen is responsible for returning to the main menu. It could also
# navigate to other gallery screens.
+16
View File
@@ -173,6 +173,14 @@ sensitive, and when it is selected.
The default implemention returns False.
.. method:: get_tooltip(self)
This gets a default tooltip for this button, if a specific
tooltip is not assigned. It should return the tooltip value,
or None if a tooltip is not known.
This defaults to returning None.
.. method:: periodic(self, st)
This method is called once at the start of each interaction,
@@ -232,6 +240,14 @@ the adjustment and styles.
This defaults to ("bar", "vbar").
.. method:: get_tooltip(self)
This gets a default tooltip for this button, if a specific
tooltip is not assigned. It should return the tooltip value,
or None if a tooltip is not known.
This defaults to returning None.
.. method:: replaces(self, other)
This is called when a BarValue replaces another BarValue, such
+20 -15
View File
@@ -174,20 +174,18 @@ All user interface statements take the following common properties:
`at`
This can be a transform, or a list of transforms, or an anonymous
transform (a transform that is defined directly in at)
transform (a transform that is defined directly in at) ::
::
transform hello_t:
align (0.7, 0.5) alpha 0.0
linear 0.5 alpha 1.0
transform hello_t:
align (0.7, 0.5) alpha 0.0
linear 0.5 alpha 1.0
screen hello_title():
text "Hello." at hello_t
text "Hello.":
at transform:
align (0.2, 0.5) alpha 0.0
linear 0.5 alpha 1.0
screen hello_title():
text "Hello." at hello_t
text "Hello.":
at transform:
align (0.2, 0.5) alpha 0.0
linear 0.5 alpha 1.0
This transforms are used to wrap this displayable. The show, hide,
replace, and replaced external events are delivered to a transform
@@ -198,9 +196,10 @@ All user interface statements take the following common properties:
a transform wraps a textbutton that is added to the vbox, this
second transform is not given events.
`default`
If given and true, the displayable is focused by default. Only one
displayable should have this.
`default_focus`
If given and true, the displayable is focused by default. When
multiple displayables have this, the values are compared and the
displayable with the greatest default focus becomes the default.
`id`
An identifier for the user-interface statement. When a screen is
@@ -262,6 +261,9 @@ All user interface statements take the following common properties:
:func:`GetTooltip` function. See the :ref:`tooltips` section for
more details.
Objects passed to tooltip must support equality. If equality is
not supported, an infinite loop may occur.
`arguments`
A tuple or list containing additional positional arguments that
are given to the displayable.
@@ -1810,6 +1812,9 @@ When showif's children have transforms, it will supply them with ATL
events to manage the show and hide process, so that Ren'Py can animate
the show and hide process.
The ``showif`` statement wraps its children in a displayable that manages
the show and hide process.
Multiple showif statements can be grouped together into a single
``showif``/``elif``/``else`` construct, similiar to an if statement.
**Unlike the if statement, showif executes all of its blocks, including Python, even if the condition is false.**
+9 -2
View File
@@ -96,7 +96,7 @@ Descriptive Text
disabled. Self-voicing text uses the :var:`sv` variable, which is defined to
be similar to a character.
.. var:: sv = ...
.. var:: alt = ...
A character-like object that uses the narrator to speak text if
self-voicing is enabled.
@@ -105,12 +105,19 @@ Descriptive Text
e "Hang on, this is gonna be a bumpy ride!"
sv "And then the sun exploded..."
alt "And then the sun exploded..."
# A complex and exciting cut scene.
show event sun_exploding
pause 10
There is a variable that controls descriptive text:
.. var:: config.descriptive_text_character = None
If not None, this should be a character object that is used to
display the descriptive text.
A self-voicing debug mode can be enabled by typing Shift+Alt+V. This will
display the text that would be voiced on the screen for development
purposes.
+177 -153
View File
@@ -1,211 +1,235 @@
<ul class='sponsors'>
<li> 017Bluefield (7.1.27.2)
<li> __skwrl__ (6.99.14.37.2.2)
<li> __skwrl__ (6.99.14.37.3.0)
<li> Adia Alderson (6.99.137.1.2)
<li> Aleema (6.99.137.2.2)
<li> <a href="http://alexdodge.net/" rel="nofollow">Alex Dodge</a> (6.99.147.2.2)
<li> <a href="https://rabidb.com/" rel="nofollow">AlexSSZ</a> (6.99.137.2.2)
<li> <a href="https://alic-szecsei.com" rel="nofollow">Alic Szecsei</a> (6.99.14.37.2.2)
<li> Almost Human (7.27.2.2)
<li> Ana Raffali (7.27.2.2)
<li> Andurin (7.1.27.2.2)
<li> Anne Camlin (7.07.2.2)
<li> Aleema (6.99.137.3.2)
<li> <a href="http://alexdodge.net/" rel="nofollow">Alex Dodge</a> (6.99.147.3.0)
<li> <a href="https://rabidb.com/" rel="nofollow">AlexSSZ</a> (6.99.137.3.2)
<li> <a href="https://alic-szecsei.com" rel="nofollow">Alic Szecsei</a> (6.99.14.37.3.2)
<li> Almost Human (7.27.3.0)
<li> Almost Human (7.3.07.3.2)
<li> Amelia Aronsohn (7.3.07.3.2)
<li> Ana Raffali (7.27.3.2)
<li> Andurin (7.1.27.3.2)
<li> Anne Camlin (7.07.3.2)
<li> <a href="https://lemmasoft.renai.us/forums/viewtopic.php?f=51&t=34131" rel="nofollow">AR09FQF-AQ09FRF</a> (6.99.14.17.0)
<li> Ariane Barnes (7.3.07.3.2)
<li> Asatiir (6.99.137.0)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/ASLPro3D" rel="nofollow">ASLPro3D</a> (7.07.2.2)
<li> <a href="https://www.atwistedspirit.com/" rel="nofollow">ATwistedSpirit</a> (7.17.2.2)
<li> Ashley (7.3.07.3.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/ASLPro3D" rel="nofollow">ASLPro3D</a> (7.07.3.0)
<li> <a href="https://www.atwistedspirit.com/" rel="nofollow">ATwistedSpirit</a> (7.17.3.2)
<li> <a href="https://patchworkprincess.moe/" rel="nofollow">Azura (Vanessa Parker)</a> (7.07.1)
<li> <a href="https://www.youtube.com/channel/UC3Xm0sk-rRCtD-yVp64WPWQ" rel="nofollow">BadGamer</a> (6.99.14.37.2.2)
<li> <a href="https://www.youtube.com/channel/UC3Xm0sk-rRCtD-yVp64WPWQ" rel="nofollow">BadGamer</a> (6.99.14.37.3.0)
<li> Balrog Gaming (7.3.07.3.2)
<li> Belfort and Bastion (6.99.137.1)
<li> Biotikos Development (6.99.137.2.2)
<li> Biotikos Development (6.99.137.3.2)
<li> Bob (6.99.137.0)
<li> <a href="https://bobcgames.itch.io" rel="nofollow">Bob Conway</a> (6.99.14.17.2.2)
<li> Bob Reus (7.17.2.2)
<li> bob_xxii (7.27.2.2)
<li> Booom313's tinker corner (6.99.147.2.2)
<li> Boreas Bear (6.99.137.2.2)
<li> <a href="http://boyslaughplus.moe" rel="nofollow">Boys Laugh +</a> (6.99.137.2.2)
<li> <a href="https://bobcgames.itch.io" rel="nofollow">Bob Conway</a> (6.99.14.17.3.2)
<li> Bob Reus (7.17.3.2)
<li> bob_xxii (7.27.3.2)
<li> Booom313's tinker corner (6.99.147.3.2)
<li> Boreas Bear (6.99.137.3.2)
<li> <a href="http://boyslaughplus.moe" rel="nofollow">Boys Laugh +</a> (6.99.137.3.2)
<li> Brett Douglas (6.99.146.99.14.3)
<li> Brimney (6.99.137.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.brunimultimedia.com" rel="nofollow">Bruni Multimedia</a> (6.99.147.2.2)
<li> <a href="https://briankellum.net" rel="nofollow">Brian Kellum</a> (7.3.07.3.2)
<li> Brimney (6.99.137.3.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.brunimultimedia.com" rel="nofollow">Bruni Multimedia</a> (6.99.147.3.2)
<li> <a href="http://www.bura.cl" rel="nofollow">BURA</a> (6.99.13)
<li> Cameron Woodard (6.99.14.37.2.2)
<li> Cara Hillstock (6.99.137.2.2)
<li> <a href="https://www.celebrityhunter.com.br" rel="nofollow">Celebrity Hunter</a> (7.17.2.2)
<li> Charlene Gilbert (6.99.137.2.2)
<li> <a href="http://charliethegoldfish.com" rel="nofollow">Charlie Francis Cassidy</a> (6.99.137.2.2)
<li> Cameron Woodard (6.99.14.37.3.2)
<li> Cara Hillstock (6.99.137.3.2)
<li> <a href="https://www.catmpro.com/" rel="nofollow">CatMoun-P</a> (7.3.07.3.2)
<li> <a href="https://www.celebrityhunter.com.br" rel="nofollow">Celebrity Hunter</a> (7.17.3.2)
<li> Charlene Gilbert (6.99.137.3.2)
<li> <a href="http://charliethegoldfish.com" rel="nofollow">Charlie Francis Cassidy</a> (6.99.137.3.2)
<li> Chekhov's Ghost (7.17.2)
<li> Cherry Kiss Games (6.99.14.17.2.2)
<li> Chrysoula Tzavelas (6.99.137.2.2)
<li> <a href="https://cloverfirefly.itch.io" rel="nofollow">cloverfirefly</a> (6.99.137.2.2)
<li> CobaltCore (7.1.17.2.2)
<li> CobraPL (7.17.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://obscurasoft.com/" rel="nofollow">Coming Out On Top</a> (6.99.137.2.2)
<li> <a href="http://www.computerart.club/" rel="nofollow">computerart.club</a> (6.99.147.2.2)
<li> CookieNomNom (7.1.17.2.2)
<li> Crazy Cactus (6.99.14.37.2.2)
<li> <a href="https://www.renpy.org/agegate?url=http://cricketbat.me" rel="nofollow">cricketbat_</a> (7.07.2.2)
<li> Cherry Kiss Games (6.99.14.17.3.2)
<li> Christopher S. Ma (7.3.0)
<li> Chrysoula Tzavelas (6.99.137.3.2)
<li> <a href="https://cloverfirefly.itch.io" rel="nofollow">cloverfirefly</a> (6.99.137.3.2)
<li> Clyde Duensing III (7.3.07.3.2)
<li> CobaltCore (7.1.17.3.2)
<li> CobraPL (7.17.3.2)
<li> <a href="https://www.renpy.org/agegate?url=https://obscurasoft.com/" rel="nofollow">Coming Out On Top</a> (6.99.137.3.2)
<li> <a href="http://www.computerart.club/" rel="nofollow">computerart.club</a> (6.99.147.3.2)
<li> CookieNomNom (7.1.17.3.2)
<li> Crazy Cactus (6.99.14.37.3.2)
<li> <a href="https://www.renpy.org/agegate?url=http://cricketbat.me" rel="nofollow">cricketbat_</a> (7.07.3.2)
<li> <a href="http://cultofape.com" rel="nofollow">CultOfApe</a> (6.99.147.0)
<li> Culture4Jam (6.99.137.2.2)
<li> Culture4Jam (6.99.137.3.2)
<li> Daniel Burns (7.17.2)
<li> <a href="https://www.renpy.org/agegate?url=http://www.darkministry.net" rel="nofollow">Dark Ministry</a> (7.27.2.2)
<li> <a href="https://www.renpy.org/agegate?url=http://www.darkministry.net" rel="nofollow">Dark Ministry</a> (7.27.3.0)
<li> <a href="http://dark-aii.net" rel="nofollow">Dark-Aii</a> (6.99.14.16.99.14.3)
<li> <a href="http://www.darksirengames.com" rel="nofollow">DarkSirenGames</a> (6.99.137.2.2)
<li> Darryl Taylor (7.07.2.2)
<li> David Koster (6.99.147.2.2)
<li> David Yingling (6.99.14.17.2.2)
<li> Dee (7.17.2.2)
<li> Denny Cheng (6.99.14.27.2.2)
<li> Dharker Studios Ltd (6.99.136.99.14, 7.1.17.2.2)
<li> <a href="http://coriginate.com" rel="nofollow">Ds110</a> (6.99.137.2.2)
<li> DuoDevelopers (7.1.17.2.2)
<li> E. William Brown (6.99.137.2.2)
<li> DarkDrake1371 (7.3.07.3.2)
<li> <a href="http://www.darksirengames.com" rel="nofollow">DarkSirenGames</a> (6.99.137.3.2)
<li> Darryl Taylor (7.07.3.2)
<li> David Koster (6.99.147.3.2)
<li> David Yingling (6.99.14.17.3.2)
<li> Dee (7.17.3.2)
<li> Denny Cheng (6.99.14.27.3.2)
<li> Dharker Studios Ltd (6.99.136.99.14, 7.1.17.3.2)
<li> Drake Wells (7.3.07.3.2)
<li> <a href="http://coriginate.com" rel="nofollow">Ds110</a> (6.99.137.3.2)
<li> DuoDevelopers (7.1.17.3.2)
<li> E. William Brown (6.99.137.3.0)
<li> <a href="https://twitter.com/WC_EchoFrost" rel="nofollow">EchoFrost (Watercress)</a> (6.99.14.27.2)
<li> <a href="https://www.youtube.com/c/ElaineDoesCoding" rel="nofollow">ElaineDoesCoding</a> (7.07.2.2)
<li> eric chi hung ng (7.07.2.2)
<li> Euan 'Xolf' Robertson (6.99.137.2.2)
<li> Eileen Koven (7.3.07.3.2)
<li> <a href="https://www.youtube.com/c/ElaineDoesCoding" rel="nofollow">ElaineDoesCoding</a> (7.07.3.2)
<li> eric chi hung ng (7.07.3.0)
<li> Ertal Games (7.1.17.3.2)
<li> Euan 'Xolf' Robertson (6.99.137.3.2)
<li> Eve Hallows (6.99.136.99.14)
<li> Exiscoming (6.99.147.2.2)
<li> Exiscoming (6.99.147.3.2)
<li> Fuseblower (7.07.2)
<li> George (7.17.2.2)
<li> George (7.17.3.2)
<li> <a href="http://www.gtbono.com" rel="nofollow">Giovanni Tempobono</a> (7.17.1.2)
<li> <a href="https://goldengamebarn.com/" rel="nofollow">Golden Game Barn</a> (6.99.137.2.2)
<li> <a href="https://twitter.com/goodtalesvn" rel="nofollow">Good Tales</a> (7.17.2.2)
<li> Great Chicken Studio (6.99.147.2.2)
<li> Grimiku (7.07.2.2)
<li> <a href="https://goldengamebarn.com/" rel="nofollow">Golden Game Barn</a> (6.99.137.3.2)
<li> <a href="https://twitter.com/goodtalesvn" rel="nofollow">Good Tales</a> (7.17.3.2)
<li> Great Chicken Studio (6.99.147.3.2)
<li> Grimiku (7.07.3.2)
<li> Gunso (6.99.137.2)
<li> HAG Productions (7.1.17.2.2)
<li> <a href="http://hanb.jp" rel="nofollow">HanbitGaram (MOEWORK Entertainment)</a> (7.17.2.2)
<li> HAG Productions (7.1.17.3.2)
<li> <a href="http://hanb.jp" rel="nofollow">HanbitGaram (MOEWORK Entertainment)</a> (7.17.3.2)
<li> Happimochi (6.99.136.99.14)
<li> HopesGaming (7.1.17.2.2)
<li> HopesGaming (7.1.17.3.2)
<li> <a href="https://ijemin.com" rel="nofollow">I_Jemin</a> (6.99.137.0)
<li> <a href="https://irredeemable.net/" rel="nofollow">Irredeemable Games</a> (6.99.147.2.2)
<li> J. C. Holder (6.99.137.2.2)
<li> <a href="https://www.irinakuksova.ie" rel="nofollow">Irina Kuksova</a> (7.3.07.3.2)
<li> <a href="https://irredeemable.net/" rel="nofollow">Irredeemable Games</a> (6.99.147.3.2)
<li> J. C. Holder (6.99.137.3.2)
<li> James Tyner (6.99.137.1)
<li> JeongPyo Lee (6.99.137.2.2)
<li> Joanna B (6.99.137.2.2)
<li> JoeBanks (7.17.2.2)
<li> Jonas Kyratzes (7.1.17.2.2)
<li> jonnymelabo (6.99.137.2.2)
<li> Joseph Denicola (7.27.2.2)
<li> JeongPyo Lee (6.99.137.3.2)
<li> Joanna B (6.99.137.3.2)
<li> JoeBanks (7.17.3.2)
<li> Jonas Kyratzes (7.1.17.3.2)
<li> jonnymelabo (6.99.137.3.2)
<li> Joseph Denicola (7.27.3.2)
<li> Josh Kaplan (6.99.136.99.14.2)
<li> K. Starbuck (6.99.136.99.14)
<li> Kampmichi (7.1.17.2.2)
<li> Katryna Starks (7.2.17.2.2)
<li> Kayde Initials (6.99.137.2.2)
<li> <a href="http://kexboy.com" rel="nofollow">KEXBOY</a> (6.99.137.2.2)
<li> Kikai Digital (7.07.2.2)
<li> <a href="http://www.gamesbykinmoku.com" rel="nofollow">Kinmoku</a> (6.99.137.2.2)
<li> <a href="http://krsm94.web.fc2.com/" rel="nofollow">Klast Halc (crAsm)</a> (6.99.14.27.2.2)
<li> Kosmos Games (6.99.147.2.2)
<li> Kampmichi (7.1.17.3.2)
<li> Katryna Starks (7.2.17.3.2)
<li> Kayde Initials (6.99.137.3.2)
<li> <a href="http://kexboy.com" rel="nofollow">KEXBOY</a> (6.99.137.3.2)
<li> Kikai Digital (7.07.3.2)
<li> <a href="http://www.gamesbykinmoku.com" rel="nofollow">Kinmoku</a> (6.99.137.3.2)
<li> <a href="http://krsm94.web.fc2.com/" rel="nofollow">Klast Halc (crAsm)</a> (6.99.14.27.3.2)
<li> Kosmos Games (6.99.147.3.2)
<li> <a href="https://de.koubaibu.tech/" rel="nofollow">Koubaibu Technology Group</a> (7.17.1.2)
<li> Kraig Halfpap (6.99.14.27.2.2)
<li> L C (7.27.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://la-cucaracha-studios.itch.io/" rel="nofollow">La Cucaracha Studios</a> (7.1.27.2.2)
<li> lain105/EckoMars (6.99.137.2.2)
<li> <a href="http://waltz.moe/portfolio/" rel="nofollow">Laiska</a> (7.27.2.2)
<li> LateWhiteRabbit (6.99.147.2.2)
<li> <a href="https://lernakow.itch.io" rel="nofollow">Lernakow</a> (6.99.14.37.2.2)
<li> Kraig Halfpap (6.99.14.27.3.2)
<li> L C (7.27.3.2)
<li> <a href="https://www.renpy.org/agegate?url=https://la-cucaracha-studios.itch.io/" rel="nofollow">La Cucaracha Studios</a> (7.1.27.3.2)
<li> lain105/EckoMars (6.99.137.3.2)
<li> <a href="http://waltz.moe/portfolio/" rel="nofollow">Laiska</a> (7.27.3.2)
<li> LateWhiteRabbit (6.99.147.3.2)
<li> <a href="https://lernakow.itch.io" rel="nofollow">Lernakow</a> (6.99.14.37.3.2)
<li> LewdKitty (7.07.2)
<li> LewdKitty (7.2.17.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.lewdlab.com/" rel="nofollow">Lewdlab</a> (6.99.14.17.2.2)
<li> <a href="https://lemmasoft.renai.us/forums/viewtopic.php?f=66&t=48011&p=482643" rel="nofollow">Lezalith</a> (7.17.2.2)
<li> LewdKitty (7.2.17.3.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.lewdlab.com/" rel="nofollow">Lewdlab</a> (6.99.14.17.3.2)
<li> <a href="https://lemmasoft.renai.us/forums/viewtopic.php?f=66&t=48011&p=482643" rel="nofollow">Lezalith</a> (7.17.3.2)
<li> Lictor (6.99.14.27.1.2)
<li> Little Napoleon (7.17.2.2)
<li> <a href="http://trash.moe/" rel="nofollow">Lore</a> (6.99.137.2.2)
<li> Luke Jackson (6.99.137.2.2)
<li> <a href="http://luscious-spirit-studios.tumblr.com/" rel="nofollow">Luscious Spirit Studios</a> (6.99.137.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/Luxee" rel="nofollow">Luxee</a> (6.99.14.37.2.2)
<li> Maeve Bandruid (6.99.137.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/manitu" rel="nofollow">MANITU Games CO.</a> (6.99.137.2.2)
<li> <a href="https://manorstories.fr" rel="nofollow">ManorStories</a> (6.99.147.2.2)
<li> <a href="http://www.marionettecode.com/" rel="nofollow">Marionette</a> (6.99.147.2.2)
<li> Little Napoleon (7.17.3.2)
<li> <a href="http://trash.moe/" rel="nofollow">Lore</a> (6.99.137.3.2)
<li> Luke Jackson (6.99.137.3.2)
<li> <a href="http://luscious-spirit-studios.tumblr.com/" rel="nofollow">Luscious Spirit Studios</a> (6.99.137.3.0)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/Luxee" rel="nofollow">Luxee</a> (6.99.14.37.3.2)
<li> Maeve Bandruid (6.99.137.3.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/manitu" rel="nofollow">MANITU Games CO.</a> (6.99.137.3.2)
<li> <a href="https://manorstories.fr" rel="nofollow">ManorStories</a> (6.99.147.3.2)
<li> <a href="http://www.marionettecode.com/" rel="nofollow">Marionette</a> (6.99.147.3.2)
<li> Matthew (7.2)
<li> Matthew Preston (7.2)
<li> Matthew Preston (7.27.2.2)
<li> Matthew Preston (7.27.3.2)
<li> MAW.3D.Art (6.99.13)
<li> Max J Sher (6.99.137.2.2)
<li> MCatter Dev (7.17.2.2)
<li> <a href="https://meagantrott.com" rel="nofollow">Meagan Trott</a> (6.99.137.2.2)
<li> <a href="http://metasepia.icecavern.net" rel="nofollow">Metasepia Games</a> (6.99.137.2.2)
<li> Meyvol (6.99.14.17.2.2)
<li> Michael Lewis (7.27.2.2)
<li> Michael Simon (7.1.17.2.2)
<li> Michaela Laws (6.99.137.2.2)
<li> Max J Sher (6.99.137.3.2)
<li> MCatter Dev (7.17.3.2)
<li> <a href="https://meagantrott.com" rel="nofollow">Meagan Trott</a> (6.99.137.3.2)
<li> <a href="http://metasepia.icecavern.net" rel="nofollow">Metasepia Games</a> (6.99.137.3.2)
<li> Meyvol (6.99.14.17.3.2)
<li> <a href="https://store.steampowered.com/developer/mia" rel="nofollow">Mia Blais-Côté</a> (7.3.07.3.2)
<li> Michael Lewis (7.27.3.2)
<li> Michael Simon (7.1.17.3.2)
<li> Michaela Laws (6.99.137.3.2)
<li> <a href="http://www.milkteestudios.com" rel="nofollow">Milktee Studios</a> (7.07.1)
<li> Miss Skizzors (7.07.2.2)
<li> Montse Latre (7.1.17.2.2)
<li> <a href="https://moonlitworks.com/" rel="nofollow">Moonlit Works</a> (7.07.2.2)
<li> <a href="https://mrvaldez.ph/" rel="nofollow">MrValdez</a> (7.07.2.2)
<li> Miss Skizzors (7.07.3.2)
<li> <a href="https://moonlitworks.com/" rel="nofollow">Moonlit Works</a> (7.07.3.0)
<li> <a href="https://mrvaldez.ph/" rel="nofollow">MrValdez</a> (7.07.3.2)
<li> <a href="https://ms45.itch.io" rel="nofollow">Ms .45</a> (6.99.13)
<li> nasredin (6.99.14.37.2.2)
<li> Natalie Van Sistine (7.07.2.2)
<li> <a href="https://cafe.naver.com/vmo.cafe" rel="nofollow">Naver cafe VMO</a> (7.17.2.2)
<li> <a href="https://www.patreon.com/muplur" rel="nofollow">MUPLUR</a> (7.3.07.3.2)
<li> nasredin (6.99.14.37.3.2)
<li> Natalie Van Sistine (7.07.3.2)
<li> <a href="https://cafe.naver.com/vmo.cafe" rel="nofollow">Naver cafe VMO</a> (7.17.3.2)
<li> <a href="http://cafe.naver.com/vmo" rel="nofollow">NaverCafe VMO</a> (6.99.137.1)
<li> Neigan (7.0)
<li> Nicholas Swenson (6.99.147.2.2)
<li> <a href="https://www.patreon.com/nikraria" rel="nofollow">nikraria</a> (6.99.137.2.2)
<li> Nova Alamak (6.99.14.37.2.2)
<li> Nicholas Swenson (6.99.147.3.2)
<li> <a href="https://www.patreon.com/nikraria" rel="nofollow">nikraria</a> (6.99.137.3.2)
<li> Nova Alamak (6.99.14.37.3.2)
<li> <a href="http://devety.com" rel="nofollow">Oleksii olety Kyrylchuk</a> (6.99.14.16.99.14.2)
<li> Panda Penguin Games (7.27.2.2)
<li> Panda Penguin Games (7.27.3.2)
<li> Panthera Morag (6.99.137.2)
<li> Patchwork Princess (7.17.2.2)
<li> Patchwork Princess (7.17.3.0)
<li> Patricia (6.99.137.1.1)
<li> <a href="http://peachpattch.com/" rel="nofollow">peachpattch</a> (6.99.147.2.2)
<li> philat (6.99.14.17.2.2)
<li> Pi3shark (7.27.2.2)
<li> plasterbrain (6.99.137.2.2)
<li> Paul Birchenough (7.3.0)
<li> <a href="http://peachpattch.com/" rel="nofollow">peachpattch</a> (6.99.147.3.2)
<li> Pete Goodwin (7.3.07.3.2)
<li> philat (6.99.14.17.3.2)
<li> Pi3shark (7.27.3.2)
<li> plasterbrain (6.99.137.3.2)
<li> Ploppertje (6.99.136.99.14.3)
<li> Podge (6.99.137.2.2)
<li> Podge (6.99.137.3.2)
<li> Puriwit Sesupaponphong (6.99.13)
<li> Puriwit Sesupaponphong (6.99.137.1)
<li> Pyonkotchi (7.17.3.2)
<li> Pólyí Konrád (7.17.1.1)
<li> <a href="http://www.cottoncandycyanide.com/" rel="nofollow">Quantum Suicide</a> (7.17.2)
<li> <a href="http://razzartvisual.com/" rel="nofollow">Razz</a> (6.99.137.2.2)
<li> <a href="http://razzartvisual.com/" rel="nofollow">Razz</a> (6.99.137.3.2)
<li> <a href="https://twitter.com/ragnarhomsar" rel="nofollow">Realga</a> (7.07.1)
<li> René Dudfield (6.99.137.2.2)
<li> Richard (6.99.147.2.2)
<li> <a href="http://impqueen.com/" rel="nofollow">Rinmaru</a> (6.99.137.2.2)
<li> Rizia Praja (6.99.14.17.2.2)
<li> Robyn Rosenfeld (7.1, 7.27.2.2)
<li> <a href="http://redlotusdesignz.com" rel="nofollow">Red Lotus Designz</a> (7.3.07.3.2)
<li> René Dudfield (6.99.137.3.2)
<li> Richard (6.99.147.3.2)
<li> <a href="http://impqueen.com/" rel="nofollow">Rinmaru</a> (6.99.137.3.0)
<li> Rizia Praja (6.99.14.17.3.2)
<li> Robyn Rosenfeld (7.1, 7.27.3.2)
<li> <a href="http://sunkoiwish.com/" rel="nofollow">Royce A Xaiyeon</a> (6.99.137.2)
<li> Ryan Balgos (6.99.147.2.2)
<li> Rui Jiang (7.3.07.3.2)
<li> Ryan Balgos (6.99.147.3.2)
<li> Ryan Whited (6.99.147.1)
<li> <a href="https://saiffyros.wordpress.com/" rel="nofollow">Saiffyros</a> (6.99.147.2.2)
<li> Sam Yang (6.99.137.2.2)
<li> <a href="https://saiffyros.wordpress.com/" rel="nofollow">Saiffyros</a> (6.99.147.3.2)
<li> Sam Yang (6.99.137.3.0)
<li> Simply Aria (6.99.147.2)
<li> <a href="http://sleepyagents.co.uk" rel="nofollow">Sleepy Agents</a> (6.99.137.2.2)
<li> Snowlocke (7.07.2.2)
<li> <a href="https://www.skybeargames.com" rel="nofollow">Sky Bear Games</a> (7.3.07.3.2)
<li> <a href="http://sleepyagents.co.uk" rel="nofollow">Sleepy Agents</a> (6.99.137.3.2)
<li> Snowlocke (7.07.3.2)
<li> <a href="http://store.steampowered.com/app/570350/Sorry_Entschuldigung__A_Psychological_Horror_Visual_Novel/" rel="nofollow">Sorry. (Entschuldigung)</a> (6.99.14.27.1)
<li> Spyros Panagiotopoulos (6.99.147.1)
<li> Steamgirl (6.99.136.99.14, 7.27.2.2)
<li> Steamlynx (6.99.14.17.2.2)
<li> Stefan Gagne (6.99.137.2.2)
<li> <a href="https://www.renpy.org/agegate?url=http://www.patreon.com/errilhl" rel="nofollow">Studio Errilhl</a> (6.99.14.37.2.2)
<li> <a href="https://vnstudioelan.com/" rel="nofollow">Studio Élan</a> (7.2.17.2.2)
<li> Steamgirl (6.99.136.99.14, 7.27.3.2)
<li> Steamlynx (6.99.14.17.3.2)
<li> Stefan Gagne (6.99.137.3.2)
<li> <a href="https://www.renpy.org/agegate?url=http://www.patreon.com/errilhl" rel="nofollow">Studio Errilhl</a> (6.99.14.37.3.2)
<li> <a href="https://vnstudioelan.com/" rel="nofollow">Studio Élan</a> (7.2.17.3.2)
<li> <a href="https://play.google.com/store/apps/developer?id=Suhaimizs&hl=en" rel="nofollow">Suhaimizs</a> (7.2)
<li> Taosym (6.99.137.2.2)
<li> <a href="https://ladyisak.itch.io/" rel="nofollow">Sych Games</a> (7.3.07.3.2)
<li> T-Patch (7.3.07.3.2)
<li> Taosym (6.99.137.3.2)
<li> Team Borsch (7.3.07.3.2)
<li> Teofilo Hurtado (6.99.147.1.1)
<li> the66 (7.27.2.2)
<li> the66 (7.27.3.2)
<li> Thomas Charlie (6.99.137.2)
<li> Timothy Landreth (6.99.137.2.2)
<li> Timothy Young (6.99.14.17.2.2)
<li> TJ Huckabee (6.99.137.2.2)
<li> Timothy Landreth (6.99.137.3.2)
<li> Timothy Young (6.99.14.17.3.2)
<li> TJ Huckabee (6.99.137.3.2)
<li> ToastCrust (6.99.136.99.14)
<li> Tobias Wüthrich (6.99.136.99.14.3)
<li> <a href="http://tremmigames.tk/" rel="nofollow">tremmiGames</a> (7.07.2.2)
<li> trooper6 (6.99.137.2.2)
<li> <a href="https://www.youtube.com/tryinmorning" rel="nofollow">tryinmorning</a> (6.99.137.2.2)
<li> <a href="https://studiomugenjohncel.wordpress.com/" rel="nofollow">Uncle Mugen (Mugenjohncel</a> (6.99.14.27.2.2)
<li> <a href="http://www.visualsaga.com/" rel="nofollow">Visual Saga</a> (6.99.137.2.2)
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/tremmiGames" rel="nofollow">tremmiGames</a> (7.07.3.2)
<li> trooper6 (6.99.137.3.2)
<li> <a href="https://www.youtube.com/tryinmorning" rel="nofollow">tryinmorning</a> (6.99.137.3.2)
<li> <a href="https://studiomugenjohncel.wordpress.com/" rel="nofollow">Uncle Mugen (Mugenjohncel</a> (6.99.14.27.3.2)
<li> <a href="http://www.visualsaga.com/" rel="nofollow">Visual Saga</a> (6.99.137.3.2)
<li> Vollschauer (6.99.136.99.14)
<li> <a href="http://vxlloyd.com" rel="nofollow">VX Lloyd</a> (6.99.14.37.0)
<li> Wayne Wollesen (6.99.14.37.1.1)
<li> <a href="https://www.facebook.com/weeabooriot" rel="nofollow">Weeabooriot Cosplay</a> (6.99.137.2.2)
<li> <a href="https://arcaniinteractive.com/" rel="nofollow">William Lucht</a> (7.07.2.2)
<li> <a href="https://www.facebook.com/weeabooriot" rel="nofollow">Weeabooriot Cosplay</a> (6.99.137.3.2)
<li> <a href="https://arcaniinteractive.com/" rel="nofollow">William Lucht</a> (7.07.3.2)
<li> William Tumeo (6.99.137.1.2)
<li> <a href="http://winterwolves.com/ambersmagicshop.htm" rel="nofollow">Winter Wolves</a> (6.99.137.2.2)
<li> <a href="https://www.wolfbiteinteractive.com/" rel="nofollow">WolfBite Interactive</a> (7.27.2.2)
<li> Y Press Games (7.27.2.2)
<li> <a href="http://astralore.com/" rel="nofollow">Yakmala!</a> (6.99.137.2.2)
<li> <a href="http://winterwolves.com/ambersmagicshop.htm" rel="nofollow">Winter Wolves</a> (6.99.137.3.2)
<li> <a href="https://www.wolfbiteinteractive.com/" rel="nofollow">WolfBite Interactive</a> (7.27.3.2)
<li> Y Press Games (7.27.3.2)
<li> <a href="http://astralore.com/" rel="nofollow">Yakmala!</a> (6.99.137.3.2)
</ul>
+1 -1
View File
@@ -382,7 +382,7 @@ The default language is chosen using the following method:
used.
* If this is the first time the game has been run and
:var:`config.enable_language_autodetect` is True, Ren'Py tries to
autodtetect the language using :var:`config.locale_to_language_function`.
autodetect the language using :var:`config.locale_to_language_function`.
* If this is the first time the game has been run,
:var:`config.default_language` is used. (This defaults to the None
language.)
+1 -1
View File
@@ -134,7 +134,7 @@ class, we'll present them with the `self` parameter.
Base class for creator-defined displayables.
.. method:: __init__(**properties):
.. method:: __init__(**properties)
A subclass may override the constructor, perhaps adding new
parameters. If it does, it should pass all unknown keyword
+48
View File
@@ -1039,3 +1039,51 @@
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "errors.txt 파일을 클립보드로 복사합니다."
# 00accessibility.rpy:76
old "Font Override"
new "글꼴 덮어쓰기"
# 00accessibility.rpy:80
old "Default"
new "기본"
# 00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# 00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# 00accessibility.rpy:94
old "Text Size Scaling"
new "글자 크기 조절"
# 00accessibility.rpy:100
old "Reset"
new "초기화"
# 00accessibility.rpy:105
old "Line Spacing Scaling"
new "줄 간격 조절"
# 00accessibility.rpy:117
old "Self-Voicing"
new "대사 읽기"
# 00accessibility.rpy:121
old "Off"
new "끄기"
# 00accessibility.rpy:125
old "Text-to-speech"
new "텍스트 음성 변환"
# 00accessibility.rpy:129
old "Clipboard"
new "클립보드"
# 00accessibility.rpy:146
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "이 메뉴의 옵션은 접근성을 향상시키기 위한 것입니다. 모든 게임에서 작동하지 않을 수 있고 일부 옵션 조합은 게임을 플레이할 수 없게 만들 수 있으며 이러한 경우 게임이나 엔진의 문제가 아닙니다. 글꼴을 변경할 때 최상의 결과를 얻으려면 글자 크기를 원래대로 유지하십시오."
File diff suppressed because it is too large Load Diff
+15 -15
View File
@@ -1,15 +1,15 @@

translate spanish strings:
# options.rpy:15
old "The Question"
new "La Pregunta"
# options.rpy:26
old "Ren'Py 7 Edition"
new "Edición Ren'Py 7"
# options.rpy:32
old "Character Art: Deji.\nOriginal Character Art: derik.\n\nBackground Art: Mugenjohncel.\nOriginal Background Art: DaFool\n\nMusic By: Alessio\n\nWritten By: mikey"
new "Arte de Personajes: Deji.\nArte de Personajes Original: derik.\n\nArte de Fondos: Mugenjohncel.\nArte de Fondos Original: DaFool\n\nMúsica: Alessic\n\nEscrito por: mikey"

translate spanish strings:
# options.rpy:15
old "The Question"
new "La Pregunta"
# options.rpy:26
old "Ren'Py 7 Edition"
new "Edición Ren'Py 7"
# options.rpy:32
old "Character Art: Deji.\nOriginal Character Art: derik.\n\nBackground Art: Mugenjohncel.\nOriginal Background Art: DaFool\n\nMusic By: Alessio\n\nWritten By: mikey"
new "Arte de Personajes: Deji.\nArte de Personajes Original: derik.\n\nArte de Fondos: Mugenjohncel.\nArte de Fondos Original: DaFool\n\nMúsica: Alessic\n\nEscrito por: mikey"
+403 -403
View File
@@ -1,403 +1,403 @@

translate spanish strings:
# screens.rpy:251
old "Back"
new "Atrás"
# screens.rpy:252
old "History"
new "Historial"
# screens.rpy:253
old "Skip"
new "Saltar"
# screens.rpy:254
old "Auto"
new "Auto"
# screens.rpy:255
old "Save"
new "Guardar"
# screens.rpy:256
old "Q.Save"
new "Guardar R."
# screens.rpy:257
old "Q.Load"
new "Cargar R."
# screens.rpy:258
old "Prefs"
new "Prefs."
# screens.rpy:299
old "Start"
new "Comenzar"
# screens.rpy:307
old "Load"
new "Cargar"
# screens.rpy:309
old "Preferences"
new "Opciones"
# screens.rpy:313
old "End Replay"
new "Finaliza repetición"
# screens.rpy:317
old "Main Menu"
new "Menú principal"
# screens.rpy:319
old "About"
new "Acerca de"
# screens.rpy:324
old "Help"
new "Ayuda"
# screens.rpy:327
old "Quit"
new "Salir"
# screens.rpy:467
old "Return"
new "Volver"
# screens.rpy:551
old "[config.version!t]\n"
new "[config.version!t]\n"
# screens.rpy:555
old "Updated Character Art"
new "Nuevo Arte de Personajes"
# screens.rpy:556
old "Deji"
new "Deji"
# screens.rpy:560
old "Original Character Art"
new "Arte de Personajes Original"
# screens.rpy:561
old "Derik"
new "Derik"
# screens.rpy:567
old "Updated Background Art"
new "Nuevo Arte de Fondos"
# screens.rpy:568
old "Mugenjohncel"
new "Mugenjohncel"
# screens.rpy:572
old "Original Background Art"
new "Arte de Fondos Original"
# screens.rpy:573
old "DaFool"
new "DaFool"
# screens.rpy:579
old "Music By"
new "Música"
# screens.rpy:580
old "Alessio"
new "Alessio"
# screens.rpy:586
old "Update Written By"
new "Nuevo Guión"
# screens.rpy:587
old "Lore"
new "Lore"
# screens.rpy:591
old "Originally Written By "
new "Guión Original"
# screens.rpy:592
old "mikey (ATP Projects)"
new "mikey (ATP Projects)"
# screens.rpy:595
old "\nMade with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only]"
new "\nHecho con {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:597
old "[renpy.license!t]"
new "[renpy.license!t]"
# screens.rpy:643
old "Page {}"
new "Página {}"
# screens.rpy:643
old "Automatic saves"
new "Grabación automática"
# screens.rpy:643
old "Quick saves"
new "Grabación rápida"
# screens.rpy:685
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
# screens.rpy:685
old "empty slot"
new "vacío"
# screens.rpy:702
old "<"
new "<"
# screens.rpy:705
old "{#auto_page}A"
new "{#auto_page}A"
# screens.rpy:708
old "{#quick_page}Q"
new "{#quick_page}R"
# screens.rpy:714
old ">"
new ">"
# screens.rpy:776
old "Display"
new "Pantalla"
# screens.rpy:777
old "Window"
new "Ventana"
# screens.rpy:778
old "Fullscreen"
new "Pant. completa"
# screens.rpy:782
old "Rollback Side"
new "Lado de retroceso"
# screens.rpy:783
old "Disable"
new "Desactivar"
# screens.rpy:784
old "Left"
new "Izquierda"
# screens.rpy:785
old "Right"
new "Derecha"
# screens.rpy:790
old "Unseen Text"
new "Texto no visto"
# screens.rpy:791
old "After Choices"
new "Tras opciones"
# screens.rpy:792
old "Transitions"
new "Transiciones"
# screens.rpy:800
old "Language"
new "Idioma"
# screens.rpy:820
old "Text Speed"
new "Veloc. texto"
# screens.rpy:824
old "Auto-Forward Time"
new "Veloc. auto-avance"
# screens.rpy:831
old "Music Volume"
new "Volumen música"
# screens.rpy:838
old "Sound Volume"
new "Volumen sonido"
# screens.rpy:844
old "Test"
new "Prueba"
# screens.rpy:848
old "Voice Volume"
new "Volumen voz"
# screens.rpy:859
old "Mute All"
new "Silencia todo"
# screens.rpy:978
old "The dialogue history is empty."
new "El historial está vacío."
# screens.rpy:1044
old "Keyboard"
new "Teclado"
# screens.rpy:1045
old "Mouse"
new "Ratón"
# screens.rpy:1048
old "Gamepad"
new "Mando"
# screens.rpy:1061
old "Enter"
new "Enter"
# screens.rpy:1062
old "Advances dialogue and activates the interface."
new "Avanza el diálogo y activa la interfaz."
# screens.rpy:1065
old "Space"
new "Espacio"
# screens.rpy:1066
old "Advances dialogue without selecting choices."
new "Avanza el dilogo sin seleccionar opciones."
# screens.rpy:1069
old "Arrow Keys"
new "Teclas de flecha"
# screens.rpy:1070
old "Navigate the interface."
new "Navega la interfaz."
# screens.rpy:1073
old "Escape"
new "Escape"
# screens.rpy:1074
old "Accesses the game menu."
new "Accede al menú del juego."
# screens.rpy:1077
old "Ctrl"
new "Ctrl"
# screens.rpy:1078
old "Skips dialogue while held down."
new "Salta el diálogo mientras se presiona."
# screens.rpy:1081
old "Tab"
new "Tabulador"
# screens.rpy:1082
old "Toggles dialogue skipping."
new "Activa/desactiva el salto de diálogo."
# screens.rpy:1085
old "Page Up"
new "Av. pág."
# screens.rpy:1086
old "Rolls back to earlier dialogue."
new "Retrocede al diálogo anterior."
# screens.rpy:1089
old "Page Down"
new "Re. pág."
# screens.rpy:1090
old "Rolls forward to later dialogue."
new "Avanza hacia el diálogo siguiente."
# screens.rpy:1094
old "Hides the user interface."
new "Oculta la interfaz."
# screens.rpy:1098
old "Takes a screenshot."
new "Captura la pantalla."
# screens.rpy:1102
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Activa/desactiva la asistencia por {a=https://www.renpy.org/l/voicing}voz-automática{/a}."
# screens.rpy:1108
old "Left Click"
new "Clic izquierdo"
# screens.rpy:1112
old "Middle Click"
new "Clic medio"
# screens.rpy:1116
old "Right Click"
new "Clic derecho"
# screens.rpy:1120
old "Mouse Wheel Up\nClick Rollback Side"
new "Rueda del ratón arriba\nClic en lado de retroceso"
# screens.rpy:1124
old "Mouse Wheel Down"
new "Rueda del ratón abajo"
# screens.rpy:1131
old "Right Trigger\nA/Bottom Button"
new "Gatillo derecho\nA/Botón inferior"
# screens.rpy:1135
old "Left Trigger\nLeft Shoulder"
new "Gatillo izquierdo\nBotón sup. frontal izq."
# screens.rpy:1139
old "Right Shoulder"
new "Botón sup. frontal der."
# screens.rpy:1143
old "D-Pad, Sticks"
new "D-Pad, Sticks"
# screens.rpy:1147
old "Start, Guide"
new "Comenzar, Guía"
# screens.rpy:1151
old "Y/Top Button"
new "Y/Botón superior"
# screens.rpy:1154
old "Calibrate"
new "Calibrar"
# screens.rpy:1219
old "Yes"
new "Sí"
# screens.rpy:1220
old "No"
new "No"
# screens.rpy:1266
old "Skipping"
new "Saltando"
# screens.rpy:1487
old "Menu"
new "Menú"

translate spanish strings:
# screens.rpy:251
old "Back"
new "Atrás"
# screens.rpy:252
old "History"
new "Historial"
# screens.rpy:253
old "Skip"
new "Saltar"
# screens.rpy:254
old "Auto"
new "Auto"
# screens.rpy:255
old "Save"
new "Guardar"
# screens.rpy:256
old "Q.Save"
new "Guardar R."
# screens.rpy:257
old "Q.Load"
new "Cargar R."
# screens.rpy:258
old "Prefs"
new "Prefs."
# screens.rpy:299
old "Start"
new "Comenzar"
# screens.rpy:307
old "Load"
new "Cargar"
# screens.rpy:309
old "Preferences"
new "Opciones"
# screens.rpy:313
old "End Replay"
new "Finaliza repetición"
# screens.rpy:317
old "Main Menu"
new "Menú principal"
# screens.rpy:319
old "About"
new "Acerca de"
# screens.rpy:324
old "Help"
new "Ayuda"
# screens.rpy:327
old "Quit"
new "Salir"
# screens.rpy:467
old "Return"
new "Volver"
# screens.rpy:551
old "[config.version!t]\n"
new "[config.version!t]\n"
# screens.rpy:555
old "Updated Character Art"
new "Nuevo Arte de Personajes"
# screens.rpy:556
old "Deji"
new "Deji"
# screens.rpy:560
old "Original Character Art"
new "Arte de Personajes Original"
# screens.rpy:561
old "Derik"
new "Derik"
# screens.rpy:567
old "Updated Background Art"
new "Nuevo Arte de Fondos"
# screens.rpy:568
old "Mugenjohncel"
new "Mugenjohncel"
# screens.rpy:572
old "Original Background Art"
new "Arte de Fondos Original"
# screens.rpy:573
old "DaFool"
new "DaFool"
# screens.rpy:579
old "Music By"
new "Música"
# screens.rpy:580
old "Alessio"
new "Alessio"
# screens.rpy:586
old "Update Written By"
new "Nuevo Guión"
# screens.rpy:587
old "Lore"
new "Lore"
# screens.rpy:591
old "Originally Written By "
new "Guión Original"
# screens.rpy:592
old "mikey (ATP Projects)"
new "mikey (ATP Projects)"
# screens.rpy:595
old "\nMade with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only]"
new "\nHecho con {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:597
old "[renpy.license!t]"
new "[renpy.license!t]"
# screens.rpy:643
old "Page {}"
new "Página {}"
# screens.rpy:643
old "Automatic saves"
new "Grabación automática"
# screens.rpy:643
old "Quick saves"
new "Grabación rápida"
# screens.rpy:685
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d de %B %Y, %H:%M"
# screens.rpy:685
old "empty slot"
new "vacío"
# screens.rpy:702
old "<"
new "<"
# screens.rpy:705
old "{#auto_page}A"
new "{#auto_page}A"
# screens.rpy:708
old "{#quick_page}Q"
new "{#quick_page}R"
# screens.rpy:714
old ">"
new ">"
# screens.rpy:776
old "Display"
new "Pantalla"
# screens.rpy:777
old "Window"
new "Ventana"
# screens.rpy:778
old "Fullscreen"
new "Pant. completa"
# screens.rpy:782
old "Rollback Side"
new "Lado de retroceso"
# screens.rpy:783
old "Disable"
new "Desactivar"
# screens.rpy:784
old "Left"
new "Izquierda"
# screens.rpy:785
old "Right"
new "Derecha"
# screens.rpy:790
old "Unseen Text"
new "Texto no visto"
# screens.rpy:791
old "After Choices"
new "Tras opciones"
# screens.rpy:792
old "Transitions"
new "Transiciones"
# screens.rpy:800
old "Language"
new "Idioma"
# screens.rpy:820
old "Text Speed"
new "Veloc. texto"
# screens.rpy:824
old "Auto-Forward Time"
new "Veloc. auto-avance"
# screens.rpy:831
old "Music Volume"
new "Volumen música"
# screens.rpy:838
old "Sound Volume"
new "Volumen sonido"
# screens.rpy:844
old "Test"
new "Prueba"
# screens.rpy:848
old "Voice Volume"
new "Volumen voz"
# screens.rpy:859
old "Mute All"
new "Silencia todo"
# screens.rpy:978
old "The dialogue history is empty."
new "El historial está vacío."
# screens.rpy:1044
old "Keyboard"
new "Teclado"
# screens.rpy:1045
old "Mouse"
new "Ratón"
# screens.rpy:1048
old "Gamepad"
new "Mando"
# screens.rpy:1061
old "Enter"
new "Enter"
# screens.rpy:1062
old "Advances dialogue and activates the interface."
new "Avanza el diálogo y activa la interfaz."
# screens.rpy:1065
old "Space"
new "Espacio"
# screens.rpy:1066
old "Advances dialogue without selecting choices."
new "Avanza el dilogo sin seleccionar opciones."
# screens.rpy:1069
old "Arrow Keys"
new "Teclas de flecha"
# screens.rpy:1070
old "Navigate the interface."
new "Navega la interfaz."
# screens.rpy:1073
old "Escape"
new "Escape"
# screens.rpy:1074
old "Accesses the game menu."
new "Accede al menú del juego."
# screens.rpy:1077
old "Ctrl"
new "Ctrl"
# screens.rpy:1078
old "Skips dialogue while held down."
new "Salta el diálogo mientras se presiona."
# screens.rpy:1081
old "Tab"
new "Tabulador"
# screens.rpy:1082
old "Toggles dialogue skipping."
new "Activa/desactiva el salto de diálogo."
# screens.rpy:1085
old "Page Up"
new "Av. pág."
# screens.rpy:1086
old "Rolls back to earlier dialogue."
new "Retrocede al diálogo anterior."
# screens.rpy:1089
old "Page Down"
new "Re. pág."
# screens.rpy:1090
old "Rolls forward to later dialogue."
new "Avanza hacia el diálogo siguiente."
# screens.rpy:1094
old "Hides the user interface."
new "Oculta la interfaz."
# screens.rpy:1098
old "Takes a screenshot."
new "Captura la pantalla."
# screens.rpy:1102
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Activa/desactiva la asistencia por {a=https://www.renpy.org/l/voicing}voz-automática{/a}."
# screens.rpy:1108
old "Left Click"
new "Clic izquierdo"
# screens.rpy:1112
old "Middle Click"
new "Clic medio"
# screens.rpy:1116
old "Right Click"
new "Clic derecho"
# screens.rpy:1120
old "Mouse Wheel Up\nClick Rollback Side"
new "Rueda del ratón arriba\nClic en lado de retroceso"
# screens.rpy:1124
old "Mouse Wheel Down"
new "Rueda del ratón abajo"
# screens.rpy:1131
old "Right Trigger\nA/Bottom Button"
new "Gatillo derecho\nA/Botón inferior"
# screens.rpy:1135
old "Left Trigger\nLeft Shoulder"
new "Gatillo izquierdo\nBotón sup. frontal izq."
# screens.rpy:1139
old "Right Shoulder"
new "Botón sup. frontal der."
# screens.rpy:1143
old "D-Pad, Sticks"
new "D-Pad, Sticks"
# screens.rpy:1147
old "Start, Guide"
new "Comenzar, Guía"
# screens.rpy:1151
old "Y/Top Button"
new "Y/Botón superior"
# screens.rpy:1154
old "Calibrate"
new "Calibrar"
# screens.rpy:1219
old "Yes"
new "Sí"
# screens.rpy:1220
old "No"
new "No"
# screens.rpy:1266
old "Skipping"
new "Saltando"
# screens.rpy:1487
old "Menu"
new "Menú"
+450 -450
View File
@@ -1,450 +1,450 @@

# game/script.rpy:19
translate spanish start_915cb944:
# "It's only when I hear the sounds of shuffling feet and supplies being put away that I realize that the lecture's over."
"Sólo cuando escucho los sonidos de los pies arrastrandose y los suministros que se guardan, me doy cuenta de que la conferencia ha terminado."
# game/script.rpy:21
translate spanish start_d48fb984:
# "Professor Eileen's lectures are usually interesting, but today I just couldn't concentrate on it."
"Las conferencias del profesora Eileen suelen ser interesantes, pero hoy no pude concentrarme."
# game/script.rpy:23
translate spanish start_622654e3:
# "I've had a lot of other thoughts on my mind...thoughts that culminate in a question."
"He tenido muchos otros pensamientos en mi mente ... pensamientos que culminan en una pregunta."
# game/script.rpy:25
translate spanish start_5aee3489:
# "It's a question that I've been meaning to ask a certain someone."
"Es una pregunta que he querido hacer a alguien en particular."
# game/script.rpy:30
translate spanish start_66c6d238:
# "When we come out of the university, I spot her right away."
"Cuando salimos de la universidad, la veo enseguida."
# game/script.rpy:35
translate spanish start_1d44d9d7:
# "I've known Sylvie since we were kids. She's got a big heart and she's always been a good friend to me."
"Conozco a Sylvie desde que éramos niños. Ella tiene un gran corazón y siempre ha sido una buena amiga para mí."
# game/script.rpy:37
translate spanish start_1c8af99f:
# "But recently... I've felt that I want something more."
"Pero recientemente ... he sentido que quiero algo más."
# game/script.rpy:39
translate spanish start_17a1771f:
# "More than just talking, more than just walking home together when our classes end."
"Más que solo hablar, más que solo caminar juntos a casa cuando nuestras clases terminan."
# game/script.rpy:58
translate spanish rightaway_cf214f74:
# s "Hi there! How was class?"
s "¡Hola! ¿Como estuvo la clase?"
# game/script.rpy:60
translate spanish rightaway_f5f51c33:
# m "Good..."
m "Buena..."
# game/script.rpy:62
translate spanish rightaway_027fd9f0:
# "I can't bring myself to admit that it all went in one ear and out the other."
"No puedo admitir que todo entro por un oído y salio por el otro."
# game/script.rpy:64
translate spanish rightaway_1e626e6b:
# m "Are you going home now? Wanna walk back with me?"
m "¿Vas a casa ahora? ¿Quieres volver conmigo?"
# game/script.rpy:66
translate spanish rightaway_ed1dfb9d:
# s "Sure!"
s "¡Por supuesto!"
# game/script.rpy:71
translate spanish rightaway_03faae39:
# "After a short while, we reach the meadows just outside the neighborhood where we both live."
"Después de poco tiempo, llegamos a los prados a las afueras del vecindario donde ambos vivimos."
# game/script.rpy:73
translate spanish rightaway_b3b54d3c:
# "It's a scenic view I've grown used to. Autumn is especially beautiful here."
"Es una vista panorámica a la que me he acostumbrado. El otoño es especialmente hermoso aquí."
# game/script.rpy:75
translate spanish rightaway_8f173bb5:
# "When we were children, we played in these meadows a lot, so they're full of memories."
"Cuando éramos niños, jugábamos mucho en estas praderas, así que están llenos de recuerdos."
# game/script.rpy:77
translate spanish rightaway_aa84c954:
# m "Hey... Umm..."
m "Hey... Umm..."
# game/script.rpy:82
translate spanish rightaway_79becbf8:
# "She turns to me and smiles. She looks so welcoming that I feel my nervousness melt away."
"Ella se vuelve hacia mí y sonríe. Se ve tan acogedora que siento que mi nerviosismo se desvanece."
# game/script.rpy:84
translate spanish rightaway_6a5d032c:
# "I'll ask her...!"
"¡Le preguntaré...!"
# game/script.rpy:86
translate spanish rightaway_29e68260:
# m "Ummm... Will you..."
m "Ummm ... ¿Quieres ..."
# game/script.rpy:88
translate spanish rightaway_6c267868:
# m "Will you be my artist for a visual novel?"
m "¿Serás mi artista para una novela visual?"
# game/script.rpy:92
translate spanish rightaway_16b8cb94:
# "Silence."
"Silencio."
# game/script.rpy:94
translate spanish rightaway_289664f3:
# "She looks so shocked that I begin to fear the worst. But then..."
"Ella se ve tan sorprendida que empiezo a temer lo peor. Pero entonces..."
# game/script.rpy:98
translate spanish rightaway_8cb5deeb:
# s "Sure, but what's a \"visual novel?\"" nointeract
s "Claro, pero ¿qué es una \"novela visual?\"" nointeract
# game/script.rpy:111
translate spanish game_65cca574:
# m "It's a kind of videogame you can play on your computer or a console."
m "Es un tipo de videojuego que puedes jugar en tu computadora o en una consola."
# game/script.rpy:113
translate spanish game_da120cd2:
# m "Visual novels tell a story with pictures and music."
m "Las novelas visuales cuentan una historia con imágenes y música."
# game/script.rpy:115
translate spanish game_0157c4d2:
# m "Sometimes, you also get to make choices that affect the outcome of the story."
m "A veces, también puedes tomar decisiones que afectan el resultado de la historia."
# game/script.rpy:117
translate spanish game_68b33461:
# s "So it's like those choose-your-adventure books?"
s "¿Así que es como esos libros de elige tu aventura?"
# game/script.rpy:119
translate spanish game_fa834128:
# m "Exactly! I've got lots of different ideas that I think would work."
m "¡Exactamente! Tengo muchas ideas diferentes que creo que funcionarían."
# game/script.rpy:121
translate spanish game_d9b28ade:
# m "And I thought maybe you could help me...since I know how you like to draw."
m "Y pensé que quizás podrías ayudarme ... ya que sé cómo te gusta dibujar."
# game/script.rpy:123
translate spanish game_eaa56bc9:
# m "It'd be hard for me to make a visual novel alone."
m "Me sería difícil hacer una novela visual por mi cuenta."
# game/script.rpy:127
translate spanish game_9befd1bf:
# s "Well, sure! I can try. I just hope I don't disappoint you."
s "Bueno, claro! Puedo probar. Solo espero no decepcionarte."
# game/script.rpy:129
translate spanish game_c788ae90:
# m "You know you could never disappoint me, Sylvie."
m "Sabes que nunca podrías decepcionarme, Sylvie."
# game/script.rpy:138
translate spanish book_4221b3bd:
# m "It's like an interactive book that you can read on a computer or a console."
m "Es como un libro interactivo que puede leer en una computadora o una consola."
# game/script.rpy:142
translate spanish book_4cfd8044:
# s "Interactive?"
s "¿Interactivo?"
# game/script.rpy:144
translate spanish book_b9c732c8:
# m "You can make choices that lead to different events and endings in the story."
m "Puede tomar decisiones que conduzcan a diferentes eventos y finales en la historia."
# game/script.rpy:146
translate spanish book_1c7ac61a:
# s "So where does the \"visual\" part come in?"
s "Entonces, ¿dónde entra la parte \"visual\"?"
# game/script.rpy:148
translate spanish book_763f25a8:
# m "Visual novels have pictures and even music, sound effects, and sometimes voice acting to go along with the text."
m "Las novelas visuales tienen imágenes e incluso música, efectos de sonido y, a veces, actuación de voz para acompañar el texto."
# game/script.rpy:152
translate spanish book_2277f2aa:
# s "I see! That certainly sounds like fun. I actually used to make webcomics way back when, so I've got lots of story ideas."
s "¡Veo! Eso ciertamente suena divertido. De hecho, solía hacer webcomics hace mucho tiempo, así que tengo muchas ideas para historias."
# game/script.rpy:154
translate spanish book_ccd3e9b0:
# m "That's great! So...would you be interested in working with me as an artist?"
m "¡Eso es genial! Entonces ... ¿te interesaría trabajar conmigo como artista?"
# game/script.rpy:156
translate spanish book_e325967b:
# s "I'd love to!"
s "¡Me encantaría!"
# game/script.rpy:165
translate spanish marry_4509e340:
# "And so, we become a visual novel creating duo."
"Y así, nos convertimos en dúo creador de novelas visuales."
# game/script.rpy:170
translate spanish marry_0f82ff7f:
# "Over the years, we make lots of games and have a lot of fun making them."
"A lo largo de los años, hacimos muchos juegos y nos divertimos mucho haciéndolos."
# game/script.rpy:174
translate spanish marry_08e24a18:
# "Our first game is based on one of Sylvie's ideas, but afterwards I get to come up with stories of my own, too."
"Nuestro primer juego se basa en una de las ideas de Sylvie, pero luego también se me ocurren historias propias."
# game/script.rpy:176
translate spanish marry_285256a1:
# "We take turns coming up with stories and characters and support each other to make some great games!"
"¡Nos turnamos para crear historias y personajes y nos apoyamos mutuamente para hacer algunos juegos geniales!"
# game/script.rpy:178
translate spanish marry_27260f18:
# "And one day..."
"Y un día..."
# game/script.rpy:183
translate spanish marry_bf690666:
# s "Hey..."
s "Hey..."
# game/script.rpy:185
translate spanish marry_7a5c1899:
# m "Yes?"
m "¿Sí?"
# game/script.rpy:189
translate spanish marry_3c154e68:
# s "Will you marry me?"
s "¿Te casarías conmigo?"
# game/script.rpy:191
translate spanish marry_8bcbc4b9:
# m "What? Where did this come from?"
m "¿Qué? ¿De dónde viene esto?"
# game/script.rpy:195
translate spanish marry_f913278c:
# s "Come on, how long have we been dating?"
s "Vamos, ¿cuánto tiempo hemos estado saliendo?"
# game/script.rpy:197
translate spanish marry_4ba892a0:
# m "A while..."
m "Durante un rato..."
# game/script.rpy:201
translate spanish marry_39d7f0df:
# s "These last few years we've been making visual novels together, spending time together, helping each other..."
s "Estos últimos años hemos estado haciendo novelas visuales juntos, pasando tiempo juntos, ayudándonos mutuamente ..."
# game/script.rpy:203
translate spanish marry_1516df50:
# s "I've gotten to know you and care about you better than anyone else. And I think the same goes for you, right?"
s "Te conozco y me preocupo por ti mejor que nadie. Y creo que lo mismo va para ti, ¿verdad?"
# game/script.rpy:205
translate spanish marry_3234b0ab:
# m "Sylvie..."
m "Sylvie..."
# game/script.rpy:209
translate spanish marry_8179b35b:
# s "But I know you're the indecisive type. If I held back, who knows when you'd propose?"
s "Pero sé que eres del tipo indeciso. Si me contuviera, ¿quién sabe cuándo lo propondrías?"
# game/script.rpy:213
translate spanish marry_373937d9:
# s "So will you marry me?"
s "¿Entonces te casarás conmigo?"
# game/script.rpy:215
translate spanish marry_857958dc:
# m "Of course I will! I've actually been meaning to propose, honest!"
m "¡Por su puesto que lo hare! En realidad he querido proponelo, ¡soy honesto!"
# game/script.rpy:217
translate spanish marry_81ed468b:
# s "I know, I know."
s "Lo sé, lo sé."
# game/script.rpy:219
translate spanish marry_1c4ae954:
# m "I guess... I was too worried about timing. I wanted to ask the right question at the right time."
m "Supongo ... estaba demasiado preocupado por el tiempo. Quería hacer la pregunta correcta en el momento adecuado."
# game/script.rpy:223
translate spanish marry_0db38565:
# s "You worry too much. If only this were a visual novel and I could pick an option to give you more courage!"
s "Te preocupas demasiado. ¡Si solo fuera una novela visual y pudiera elegir una opción para darle más valor!"
# game/script.rpy:228
translate spanish marry_ca27786f:
# "We get married shortly after that."
"Nos casamos poco después de eso."
# game/script.rpy:230
translate spanish marry_621ed4fc:
# "Our visual novel duo lives on even after we're married...and I try my best to be more decisive."
"Nuestro dúo de novelas visuales sigue vivo incluso después de que nos casemos ... y hago todo lo posible por ser más decisivo."
# game/script.rpy:232
translate spanish marry_3c7f0bf0:
# "Together, we live happily ever after even now."
"Juntos, vivimos felices para siempre incluso ahora."
# game/script.rpy:234
translate spanish marry_2ad49007:
# "{b}Good Ending{/b}."
"{b}Final Bueno{/b}."
# game/script.rpy:240
translate spanish later_3c679c17:
# "I can't get up the nerve to ask right now. With a gulp, I decide to ask her later."
"No puedo preguntar ahora por los nervios. Con un trago, decido preguntarle después."
# game/script.rpy:245
translate spanish later_a77741b6:
# "But I'm an indecisive person."
"Pero soy una persona indecisa."
# game/script.rpy:247
translate spanish later_982e14b6:
# "I couldn't ask her that day and I end up never being able to ask her."
"No pude preguntarle ese día y al final nunca pude preguntárselo."
# game/script.rpy:249
translate spanish later_f0f9a061:
# "I guess I'll never know the answer to my question now..."
"Supongo que ahora nunca sabré la respuesta a mi pregunta..."
# game/script.rpy:251
translate spanish later_f5219ac2:
# "{b}Bad Ending{/b}."
"{b}Final Malo{/b}."
translate spanish strings:
# script.rpy:2
old "Sylvie"
new "Sylvie"
# script.rpy:3
old "Me"
new "Yo"
# script.rpy:41
old "As soon as she catches my eye, I decide..."
new "Tan pronto como ella llama mi atención, decido ..."
# script.rpy:41
old "To ask her right away."
new "Preguntarle de inmediato."
# script.rpy:41
old "To ask her later."
new "Preguntarle después."
# script.rpy:98
old "It's a videogame."
new "Es un videojuego."
# script.rpy:98
old "It's an interactive book."
new "Es un libro interactivo."

# game/script.rpy:19
translate spanish start_915cb944:
# "It's only when I hear the sounds of shuffling feet and supplies being put away that I realize that the lecture's over."
"Sólo cuando escucho los sonidos de los pies arrastrandose y los suministros que se guardan, me doy cuenta de que la conferencia ha terminado."
# game/script.rpy:21
translate spanish start_d48fb984:
# "Professor Eileen's lectures are usually interesting, but today I just couldn't concentrate on it."
"Las conferencias del profesora Eileen suelen ser interesantes, pero hoy no pude concentrarme."
# game/script.rpy:23
translate spanish start_622654e3:
# "I've had a lot of other thoughts on my mind...thoughts that culminate in a question."
"He tenido muchos otros pensamientos en mi mente ... pensamientos que culminan en una pregunta."
# game/script.rpy:25
translate spanish start_5aee3489:
# "It's a question that I've been meaning to ask a certain someone."
"Es una pregunta que he querido hacer a alguien en particular."
# game/script.rpy:30
translate spanish start_66c6d238:
# "When we come out of the university, I spot her right away."
"Cuando salimos de la universidad, la veo enseguida."
# game/script.rpy:35
translate spanish start_1d44d9d7:
# "I've known Sylvie since we were kids. She's got a big heart and she's always been a good friend to me."
"Conozco a Sylvie desde que éramos niños. Ella tiene un gran corazón y siempre ha sido una buena amiga para mí."
# game/script.rpy:37
translate spanish start_1c8af99f:
# "But recently... I've felt that I want something more."
"Pero recientemente ... he sentido que quiero algo más."
# game/script.rpy:39
translate spanish start_17a1771f:
# "More than just talking, more than just walking home together when our classes end."
"Más que solo hablar, más que solo caminar juntos a casa cuando nuestras clases terminan."
# game/script.rpy:58
translate spanish rightaway_cf214f74:
# s "Hi there! How was class?"
s "¡Hola! ¿Como estuvo la clase?"
# game/script.rpy:60
translate spanish rightaway_f5f51c33:
# m "Good..."
m "Buena..."
# game/script.rpy:62
translate spanish rightaway_027fd9f0:
# "I can't bring myself to admit that it all went in one ear and out the other."
"No puedo admitir que todo entro por un oído y salio por el otro."
# game/script.rpy:64
translate spanish rightaway_1e626e6b:
# m "Are you going home now? Wanna walk back with me?"
m "¿Vas a casa ahora? ¿Quieres volver conmigo?"
# game/script.rpy:66
translate spanish rightaway_ed1dfb9d:
# s "Sure!"
s "¡Por supuesto!"
# game/script.rpy:71
translate spanish rightaway_03faae39:
# "After a short while, we reach the meadows just outside the neighborhood where we both live."
"Después de poco tiempo, llegamos a los prados a las afueras del vecindario donde ambos vivimos."
# game/script.rpy:73
translate spanish rightaway_b3b54d3c:
# "It's a scenic view I've grown used to. Autumn is especially beautiful here."
"Es una vista panorámica a la que me he acostumbrado. El otoño es especialmente hermoso aquí."
# game/script.rpy:75
translate spanish rightaway_8f173bb5:
# "When we were children, we played in these meadows a lot, so they're full of memories."
"Cuando éramos niños, jugábamos mucho en estas praderas, así que están llenos de recuerdos."
# game/script.rpy:77
translate spanish rightaway_aa84c954:
# m "Hey... Umm..."
m "Hey... Umm..."
# game/script.rpy:82
translate spanish rightaway_79becbf8:
# "She turns to me and smiles. She looks so welcoming that I feel my nervousness melt away."
"Ella se vuelve hacia mí y sonríe. Se ve tan acogedora que siento que mi nerviosismo se desvanece."
# game/script.rpy:84
translate spanish rightaway_6a5d032c:
# "I'll ask her...!"
"¡Le preguntaré...!"
# game/script.rpy:86
translate spanish rightaway_29e68260:
# m "Ummm... Will you..."
m "Ummm ... ¿Quieres ..."
# game/script.rpy:88
translate spanish rightaway_6c267868:
# m "Will you be my artist for a visual novel?"
m "¿Serás mi artista para una novela visual?"
# game/script.rpy:92
translate spanish rightaway_16b8cb94:
# "Silence."
"Silencio."
# game/script.rpy:94
translate spanish rightaway_289664f3:
# "She looks so shocked that I begin to fear the worst. But then..."
"Ella se ve tan sorprendida que empiezo a temer lo peor. Pero entonces..."
# game/script.rpy:98
translate spanish rightaway_8cb5deeb:
# s "Sure, but what's a \"visual novel?\"" nointeract
s "Claro, pero ¿qué es una \"novela visual?\"" nointeract
# game/script.rpy:111
translate spanish game_65cca574:
# m "It's a kind of videogame you can play on your computer or a console."
m "Es un tipo de videojuego que puedes jugar en tu computadora o en una consola."
# game/script.rpy:113
translate spanish game_da120cd2:
# m "Visual novels tell a story with pictures and music."
m "Las novelas visuales cuentan una historia con imágenes y música."
# game/script.rpy:115
translate spanish game_0157c4d2:
# m "Sometimes, you also get to make choices that affect the outcome of the story."
m "A veces, también puedes tomar decisiones que afectan el resultado de la historia."
# game/script.rpy:117
translate spanish game_68b33461:
# s "So it's like those choose-your-adventure books?"
s "¿Así que es como esos libros de elige tu aventura?"
# game/script.rpy:119
translate spanish game_fa834128:
# m "Exactly! I've got lots of different ideas that I think would work."
m "¡Exactamente! Tengo muchas ideas diferentes que creo que funcionarían."
# game/script.rpy:121
translate spanish game_d9b28ade:
# m "And I thought maybe you could help me...since I know how you like to draw."
m "Y pensé que quizás podrías ayudarme ... ya que sé cómo te gusta dibujar."
# game/script.rpy:123
translate spanish game_eaa56bc9:
# m "It'd be hard for me to make a visual novel alone."
m "Me sería difícil hacer una novela visual por mi cuenta."
# game/script.rpy:127
translate spanish game_9befd1bf:
# s "Well, sure! I can try. I just hope I don't disappoint you."
s "Bueno, claro! Puedo probar. Solo espero no decepcionarte."
# game/script.rpy:129
translate spanish game_c788ae90:
# m "You know you could never disappoint me, Sylvie."
m "Sabes que nunca podrías decepcionarme, Sylvie."
# game/script.rpy:138
translate spanish book_4221b3bd:
# m "It's like an interactive book that you can read on a computer or a console."
m "Es como un libro interactivo que puede leer en una computadora o una consola."
# game/script.rpy:142
translate spanish book_4cfd8044:
# s "Interactive?"
s "¿Interactivo?"
# game/script.rpy:144
translate spanish book_b9c732c8:
# m "You can make choices that lead to different events and endings in the story."
m "Puede tomar decisiones que conduzcan a diferentes eventos y finales en la historia."
# game/script.rpy:146
translate spanish book_1c7ac61a:
# s "So where does the \"visual\" part come in?"
s "Entonces, ¿dónde entra la parte \"visual\"?"
# game/script.rpy:148
translate spanish book_763f25a8:
# m "Visual novels have pictures and even music, sound effects, and sometimes voice acting to go along with the text."
m "Las novelas visuales tienen imágenes e incluso música, efectos de sonido y, a veces, actuación de voz para acompañar el texto."
# game/script.rpy:152
translate spanish book_2277f2aa:
# s "I see! That certainly sounds like fun. I actually used to make webcomics way back when, so I've got lots of story ideas."
s "¡Veo! Eso ciertamente suena divertido. De hecho, solía hacer webcomics hace mucho tiempo, así que tengo muchas ideas para historias."
# game/script.rpy:154
translate spanish book_ccd3e9b0:
# m "That's great! So...would you be interested in working with me as an artist?"
m "¡Eso es genial! Entonces ... ¿te interesaría trabajar conmigo como artista?"
# game/script.rpy:156
translate spanish book_e325967b:
# s "I'd love to!"
s "¡Me encantaría!"
# game/script.rpy:165
translate spanish marry_4509e340:
# "And so, we become a visual novel creating duo."
"Y así, nos convertimos en dúo creador de novelas visuales."
# game/script.rpy:170
translate spanish marry_0f82ff7f:
# "Over the years, we make lots of games and have a lot of fun making them."
"A lo largo de los años, hacimos muchos juegos y nos divertimos mucho haciéndolos."
# game/script.rpy:174
translate spanish marry_08e24a18:
# "Our first game is based on one of Sylvie's ideas, but afterwards I get to come up with stories of my own, too."
"Nuestro primer juego se basa en una de las ideas de Sylvie, pero luego también se me ocurren historias propias."
# game/script.rpy:176
translate spanish marry_285256a1:
# "We take turns coming up with stories and characters and support each other to make some great games!"
"¡Nos turnamos para crear historias y personajes y nos apoyamos mutuamente para hacer algunos juegos geniales!"
# game/script.rpy:178
translate spanish marry_27260f18:
# "And one day..."
"Y un día..."
# game/script.rpy:183
translate spanish marry_bf690666:
# s "Hey..."
s "Hey..."
# game/script.rpy:185
translate spanish marry_7a5c1899:
# m "Yes?"
m "¿Sí?"
# game/script.rpy:189
translate spanish marry_3c154e68:
# s "Will you marry me?"
s "¿Te casarías conmigo?"
# game/script.rpy:191
translate spanish marry_8bcbc4b9:
# m "What? Where did this come from?"
m "¿Qué? ¿De dónde viene esto?"
# game/script.rpy:195
translate spanish marry_f913278c:
# s "Come on, how long have we been dating?"
s "Vamos, ¿cuánto tiempo hemos estado saliendo?"
# game/script.rpy:197
translate spanish marry_4ba892a0:
# m "A while..."
m "Durante un rato..."
# game/script.rpy:201
translate spanish marry_39d7f0df:
# s "These last few years we've been making visual novels together, spending time together, helping each other..."
s "Estos últimos años hemos estado haciendo novelas visuales juntos, pasando tiempo juntos, ayudándonos mutuamente ..."
# game/script.rpy:203
translate spanish marry_1516df50:
# s "I've gotten to know you and care about you better than anyone else. And I think the same goes for you, right?"
s "Te conozco y me preocupo por ti mejor que nadie. Y creo que lo mismo va para ti, ¿verdad?"
# game/script.rpy:205
translate spanish marry_3234b0ab:
# m "Sylvie..."
m "Sylvie..."
# game/script.rpy:209
translate spanish marry_8179b35b:
# s "But I know you're the indecisive type. If I held back, who knows when you'd propose?"
s "Pero sé que eres del tipo indeciso. Si me contuviera, ¿quién sabe cuándo lo propondrías?"
# game/script.rpy:213
translate spanish marry_373937d9:
# s "So will you marry me?"
s "¿Entonces te casarás conmigo?"
# game/script.rpy:215
translate spanish marry_857958dc:
# m "Of course I will! I've actually been meaning to propose, honest!"
m "¡Por su puesto que lo hare! En realidad he querido proponelo, ¡soy honesto!"
# game/script.rpy:217
translate spanish marry_81ed468b:
# s "I know, I know."
s "Lo sé, lo sé."
# game/script.rpy:219
translate spanish marry_1c4ae954:
# m "I guess... I was too worried about timing. I wanted to ask the right question at the right time."
m "Supongo ... estaba demasiado preocupado por el tiempo. Quería hacer la pregunta correcta en el momento adecuado."
# game/script.rpy:223
translate spanish marry_0db38565:
# s "You worry too much. If only this were a visual novel and I could pick an option to give you more courage!"
s "Te preocupas demasiado. ¡Si solo fuera una novela visual y pudiera elegir una opción para darle más valor!"
# game/script.rpy:228
translate spanish marry_ca27786f:
# "We get married shortly after that."
"Nos casamos poco después de eso."
# game/script.rpy:230
translate spanish marry_621ed4fc:
# "Our visual novel duo lives on even after we're married...and I try my best to be more decisive."
"Nuestro dúo de novelas visuales sigue vivo incluso después de que nos casemos ... y hago todo lo posible por ser más decisivo."
# game/script.rpy:232
translate spanish marry_3c7f0bf0:
# "Together, we live happily ever after even now."
"Juntos, vivimos felices para siempre incluso ahora."
# game/script.rpy:234
translate spanish marry_2ad49007:
# "{b}Good Ending{/b}."
"{b}Final Bueno{/b}."
# game/script.rpy:240
translate spanish later_3c679c17:
# "I can't get up the nerve to ask right now. With a gulp, I decide to ask her later."
"No puedo preguntar ahora por los nervios. Con un trago, decido preguntarle después."
# game/script.rpy:245
translate spanish later_a77741b6:
# "But I'm an indecisive person."
"Pero soy una persona indecisa."
# game/script.rpy:247
translate spanish later_982e14b6:
# "I couldn't ask her that day and I end up never being able to ask her."
"No pude preguntarle ese día y al final nunca pude preguntárselo."
# game/script.rpy:249
translate spanish later_f0f9a061:
# "I guess I'll never know the answer to my question now..."
"Supongo que ahora nunca sabré la respuesta a mi pregunta..."
# game/script.rpy:251
translate spanish later_f5219ac2:
# "{b}Bad Ending{/b}."
"{b}Final Malo{/b}."
translate spanish strings:
# script.rpy:2
old "Sylvie"
new "Sylvie"
# script.rpy:3
old "Me"
new "Yo"
# script.rpy:41
old "As soon as she catches my eye, I decide..."
new "Tan pronto como ella llama mi atención, decido ..."
# script.rpy:41
old "To ask her right away."
new "Preguntarle de inmediato."
# script.rpy:41
old "To ask her later."
new "Preguntarle después."
# script.rpy:98
old "It's a videogame."
new "Es un videojuego."
# script.rpy:98
old "It's an interactive book."
new "Es un libro interactivo."
File diff suppressed because one or more lines are too long
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

translate korean strings:
# 01example.rpy:473
+48
View File
@@ -1043,3 +1043,51 @@
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "errors.txt 파일을 클립보드로 복사합니다."
# 00accessibility.rpy:76
old "Font Override"
new "글꼴 덮어쓰기"
# 00accessibility.rpy:80
old "Default"
new "기본"
# 00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# 00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# 00accessibility.rpy:94
old "Text Size Scaling"
new "글자 크기 조절"
# 00accessibility.rpy:100
old "Reset"
new "초기화"
# 00accessibility.rpy:105
old "Line Spacing Scaling"
new "줄 간격 조절"
# 00accessibility.rpy:117
old "Self-Voicing"
new "대사 읽기"
# 00accessibility.rpy:121
old "Off"
new "끄기"
# 00accessibility.rpy:125
old "Text-to-speech"
new "텍스트 음성 변환"
# 00accessibility.rpy:129
old "Clipboard"
new "클립보드"
# 00accessibility.rpy:146
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "이 메뉴의 옵션은 접근성을 향상시키기 위한 것입니다. 모든 게임에서 작동하지 않을 수 있고 일부 옵션 조합은 게임을 플레이할 수 없게 만들 수 있으며 이러한 경우 게임이나 엔진의 문제가 아닙니다. 글꼴을 변경할 때 최상의 결과를 얻으려면 글자 크기를 원래대로 유지하십시오."
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_character.rpy:11
translate korean demo_character_e7e1b1bb:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_displayables.rpy:15
translate korean simple_displayables_db46fd25:
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_minigame.rpy:220
translate korean demo_minigame_8f14835c:
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_style.rpy:40
translate korean new_gui_17a0326e:
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_text.rpy:22
translate korean a_label_8d79d234:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_transitions.rpy:56
translate korean demo_transitions_5bbc72fe:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/indepth_translations.rpy:12
translate korean translations_c4ef181f:
+1 -1
View File
@@ -1,4 +1,4 @@
translate korean python:
translate korean python:
gui.system_font = gui.main_font = gui.text_font = gui.name_text_font = gui.interface_text_font = gui.button_text_font = gui.choice_button_text_font = "../../launcher/game/fonts/NanumGothic.ttf"
config.window_title = u"길라잡이"
+1 -1
View File
@@ -1,4 +1,4 @@
translate korean strings:
translate korean strings:
# screens.rpy:261
old "Back"
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/script.rpy:156
translate korean start_0e6a5bb4:
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/tutorial_atl.rpy:205
translate korean tutorial_positions_a09a3fd1:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-05-03 14:36

# game/tutorial_director.rpy:5
translate korean director_e4543d9b:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/tutorial_distribute.rpy:3
translate korean distribute_7db9b042:
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/tutorial_nvlmode.rpy:17
translate korean tutorial_nvlmode_76b2fe88:
+1 -2
View File
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/tutorial_playing.rpy:11
translate korean tutorial_playing_2985ab86:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/tutorial_quickstart.rpy:28
translate korean tutorial_create_27048c11:
@@ -1,5 +1,4 @@
# TODO: Translation updated at 2019-01-15 15:31

# game/tutorial_screen_displayables.rpy:3
translate korean screen_displayables_7c897a6d:

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