Compare commits

...

978 Commits

Author SHA1 Message Date
Tom Rothamel 92bd507781 Update the credits. 2018-10-30 00:18:36 -04:00
Tom Rothamel b6966bdc21 Update changelog. 2018-10-30 00:04:27 -04:00
Tom Rothamel 6f5c8975b6 Minor cleanups for the last PR. 2018-10-29 22:38:54 -04:00
Tom Rothamel 35b60303ff Merge pull request #1610 from Andykl/UserLanguage
Added stuff for autodetect language by user's locale
2018-10-29 22:21:08 -04:00
Tom Rothamel 969e269f4d Merge pull request #1611 from KosMos-pv/master
Add missing history_allow_tags set to tutorial and The question.
2018-10-29 21:53:09 -04:00
Konstantin Mozheyko 291af49bc9 Add missing history_allow_tags set to tutorial and The question. 2018-10-29 15:00:20 +02:00
Tom Rothamel ffa33a8f29 Merge pull request #1609 from Beuc/patch-2
emscripten: detect and start configuring accordingly
2018-10-28 23:48:57 -04:00
Tom Rothamel 10e3acf760 Merge pull request #1608 from Beuc/patch-1
Rename IMG_SavePNG* to avoid conflict with PygameSDL2's
2018-10-28 23:48:36 -04:00
Andy_kl 93a9b9deee Doc last 2018-10-29 06:41:51 +03:00
Tom Rothamel 37604894e4 Lint now properly checks images for existence, even in superset cases. 2018-10-28 23:35:58 -04:00
Andy_kl 67717ef9b7 Added configuration variables to control language autodetect. 2018-10-29 06:20:03 +03:00
Andy_kl 43534a758c Added function for detect user locale 2018-10-29 06:14:06 +03:00
Sylvain Beucler bf8e70485d emscripten: detect and start configuring accordingly 2018-10-28 21:51:35 +01:00
Sylvain Beucler b3af65d7ab Rename IMG_SavePNG* to avoid conflict with PygameSDL2's during static linking 2018-10-28 21:15:39 +01:00
Tom Rothamel 6b7260fe39 Report and error out on extraneous arguments.
Because of changes that have been made over the past few years,
it was possible to write:

    show eileen happy but with random attributes appended

And Ren'Py would take it. That was never intended, and this closes
off this case.
2018-10-28 00:59:16 -04:00
Tom Rothamel 4809c16cd9 lint: Have show deal with layeredimages.
It now considers the available attributes when checking the
image.

Fixes #1604.
2018-10-27 23:13:11 -04:00
Tom Rothamel df0e0086c7 Draw underline and strikethrough when a glyph's width is zero.
Fixes #1605.
2018-10-26 22:22:41 -04:00
Tom Rothamel abd01eb734 Create phone choice images.
Fixes renpy/rapt#16.
2018-10-25 21:22:05 -04:00
Tom Rothamel 4818e43632 Allow shift keys in the emulator.
This lets one do shift+I, to inspect styles in small or touch mode.
2018-10-25 21:17:58 -04:00
Tom Rothamel a3ed117153 Lower version to 7.1.2. 2018-10-24 21:26:30 -04:00
Tom Rothamel f73acbdf9f Merge pull request #1602 from ShehriyarQureshi/master
Add checks for tags that require value
2018-10-24 19:07:33 -04:00
Shehriyar Qureshi 0b0c97e2ec Add checks for tags that require value
Some tags that require value, when supplied none, raise python's
exceptions which might be hard to interpret.

Added simple checks to those tags to see if the supplied value is
empty. Raises exception that is easier to read than the ones
Python raises.
2018-10-24 09:49:51 +05:00
Tom Rothamel ffbe373dbb Display the text tag and string when parsing a text tag fails.
Fixes #1598.
2018-10-23 22:30:14 -04:00
Tom Rothamel 3f0e21b174 Merge pull request #1599 from fblampe/master
translation: Translated more strings to German, fixed ellipses.
2018-10-22 18:39:05 -04:00
Tom Rothamel f725485412 Indicate we require a 64-bit Java. 2018-10-21 11:04:20 -04:00
Felix Lampe e7015b9b88 translation: Translated more strings to German, fixed ellipses. 2018-10-21 14:22:59 +02:00
Tom Rothamel 4b74d34580 gui: Add gui.choice_button_text_insensitive_color 2018-10-21 01:05:26 -04:00
Tom Rothamel 9ca2db8869 Document config.menu_include_disabled. 2018-10-21 00:34:23 -04:00
Tom Rothamel 274934d356 Compat menu actions. 2018-10-20 22:58:51 -04:00
Tom Rothamel 56fe28955a Add config.menu_include_disabled.
This causes Ren'Py to include disabled menu items as part of the
a menu, rather than removing them entirely.
2018-10-19 21:49:50 -04:00
Tom Rothamel ba06e9538b Add requirements to the documentation. 2018-10-18 21:05:31 -04:00
Tom Rothamel e117adb219 Clear kwargs and args from being set inappropriatey.
This is an attempt to fix a bug in Planet Stronghold 2 that was
caused by kwargs being set when it should not have been.
2018-10-18 00:50:33 -04:00
Tom Rothamel 27aa12a5f0 Include the current Ren'Py version in a savefile. 2018-10-17 11:14:35 -04:00
Tom Rothamel 25c39eebf9 Changelog last. 2018-10-17 02:01:56 -04:00
Tom Rothamel 4b4aa38455 Add SetLocalVariable and ToggleLocalVariable
These make it possible to set variables in the local context of a
used screen.
2018-10-16 21:47:47 -04:00
Tom Rothamel c468f8c60e ShowIf should not pass focus when it's hiding.
Fixes #1592.
2018-10-15 23:16:37 -04:00
Tom Rothamel 1d8643045a Merge pull request #1594 from Andykl/Directly_At
Added the ability to specify a transform directly in the SL
2018-10-14 08:38:14 -04:00
Tom Rothamel 51e79498f0 Merge pull request #1577 from Andykl/Displayable_Changes
Avoid skipping displayables with redefined __bool__
2018-10-13 19:37:48 -04:00
Tom Rothamel 06590beca2 Merge pull request #1593 from XelaPy/patch-1
Adds "transpose" keyword to SL2 vpgrid.
2018-10-13 09:39:46 -04:00
Andy_kl 496d5d1c14 Doc for this 2018-10-13 16:18:30 +03:00
Tom Rothamel 96a6f9556c Start the 7.1.2 changelog. 2018-10-12 23:16:44 -04:00
Andy_kl 1ae6255301 Move creating ATLTransform in SLBlock 2018-10-12 21:45:20 +03:00
Andy_kl 207c9ad79b Mark constant for atl_transform 2018-10-12 19:12:18 +03:00
Andy_kl 788ee0399a Rework it 2018-10-12 19:01:01 +03:00
Andy_kl ee1027a8da Added the ability to specify a transform directly in the SL 2018-10-12 18:09:32 +03:00
Xela b3a528ddcc Adds "transpose" keyword to SL2 vpgrid.
Fixes #1560
2018-10-12 15:31:42 +03:00
Tom Rothamel 19204d0f82 Force the size of FriBidiChr to 4 bytes on all problems.
Fixes a problem where on windows it was corrupting RTL text into
garbage.
2018-10-12 01:41:52 -04:00
Tom Rothamel 8f0c7df619 Start the 7.2 series. 2018-10-11 17:06:39 -04:00
Tom Rothamel 41e9f86d1d Update sponsors list. 2018-10-10 00:16:46 -04:00
Tom Rothamel f3bee22ae7 Changelog last. 2018-10-08 23:02:22 -04:00
Tom Rothamel 0923ca9880 SetVariable and ToggleVariable now take fields along with variables. 2018-10-08 20:05:34 -04:00
Tom Rothamel abef9ac3f9 Automatically determine the version number to use. 2018-10-06 12:55:20 -04:00
Tom Rothamel 966adf6821 Distribute checks that checksums.txt exists, refuses to run if so. 2018-10-06 11:49:15 -04:00
Tom Rothamel 99d8a021c6 Changelog. 2018-10-06 08:32:55 -04:00
Tom Rothamel 6f379ca291 Add the new string to Android. 2018-10-06 08:20:15 -04:00
Tom Rothamel 326f8532f6 distribute: Sign by default. 2018-10-03 22:54:40 -04:00
Tom Rothamel 63a9c3943c Fix typos in changelog. 2018-10-03 22:50:08 -04:00
Tom Rothamel 8bf108be2e Update incompatible. 2018-10-02 21:11:53 -04:00
Tom Rothamel 20fa4cb41d New icon background for the_question. 2018-10-01 22:43:33 -04:00
Tom Rothamel 16c9e776b2 Fix the sense of the version test. 2018-10-01 22:42:06 -04:00
Tom Rothamel 866ee50498 Chain translates even if a module isn't loaded.
Fixes #1569.
2018-09-30 14:49:01 -04:00
Tom Rothamel 018887163f Update changelog. 2018-09-29 02:56:30 -04:00
Tom Rothamel 0ad2f6b847 Store the locations of displaybales in text.
Fixes #1582.
2018-09-28 23:23:08 -04:00
Tom Rothamel a5222719b0 window auto treats menu-with-caption differently. 2018-09-27 10:31:04 -04:00
Tom Rothamel d1f5ab37d9 Give menu-with-caption a different statement name.
This then lets us treat it differently for the purpose of window
auto.
2018-09-27 10:29:00 -04:00
Tom Rothamel 5c0ab50d22 Place displayables-in-text on every frame.
Fixes #1573.
2018-09-26 23:01:54 -04:00
Tom Rothamel f2a824e2ef Changelog android. 2018-09-26 01:36:19 -04:00
Tom Rothamel 7e30c7ee0a Restart the interaction after taking a screenshot.
Fixes #1581.
2018-09-25 02:23:34 -04:00
Tom Rothamel 31e85a14c2 Dcoument the history fix. 2018-09-24 21:27:05 -04:00
Tom Rothamel a9dfb15d14 Set motion.null properly.
Fixes #1578. This is used to transfer an animation if no frame would
otherwise have been shown - a rare case.
2018-09-23 23:45:59 -04:00
Tom Rothamel a1f0fbaa19 Give the tutorial a valid version number.
Fixes #1580. Fixes #1579.
2018-09-23 16:38:06 -04:00
Tom Rothamel 52083b2be9 Handle zero-width characters in Ren'Py for image fonts. 2018-09-22 13:33:07 -04:00
Tom Rothamel 40d481b72f Handle all of the zero-width characters in Ren'Py's freetype support. 2018-09-22 13:24:10 -04:00
Andy_kl a6a97a3f4f Avoid skipping displayables with redefined __bool__ 2018-09-22 11:36:32 +03:00
Tom Rothamel 6985e14737 Make menus respect window show/hide/auto.
This addresses #1576, by keeping the window up all the time, as
it should have been.
2018-09-22 01:28:09 -04:00
Tom Rothamel 5e567f040b Do not substitute history text.
It has already been substituted, so we don't want to do it again.

Fixes #1575. Fixes #1516.
2018-09-21 01:02:21 -04:00
Tom Rothamel 6a1873be1a Expose the substitute property for label. 2018-09-20 22:45:06 -04:00
Tom Rothamel 8add50b930 Merge pull request #1568 from lee-yunseok/master
Fix a little bit in Korean comments.
2018-09-19 16:33:03 -05:00
Tom Rothamel a9c4b72bb0 Wrap error handling writes to stdout in exception handling.
At least one computer has been having problems with stdout on
windows, so we want to error handle this.
2018-09-18 20:53:52 -04:00
Tom Rothamel e52eb6fead Fix doc typo. 2018-09-18 20:44:16 -04:00
Tom Rothamel 01b37552f6 Translate the current update status. 2018-09-18 20:39:58 -04:00
Tom Rothamel ea31af9bc2 Remove russian obsolete.rpy.
It duplicates translations found in other files - something went
wrong with #1570.
2018-09-18 20:35:46 -04:00
Tom Rothamel e5a3cff41e Merge pull request #1570 from Ria-kon/master
Russian update 7.1.0
2018-09-17 16:12:27 -05:00
Ria-kon 70881c90a4 Russian update 7.0.1. 2018-09-16 23:01:01 +03:00
Tom Rothamel 607a1acc00 Add nestled-close as an option for ctc_position. 2018-09-16 12:22:14 -04:00
Tom Rothamel 53ffeed805 Allow multiple segments to be passed to CTC, internally. 2018-09-16 12:12:00 -04:00
Tom Rothamel 0ae0bf4c0d Handle the CB (contingient break) breaking class.
This is used by displayables embedded in text. The unicode standard
allows us to handle this however we want, so we break unless there
is a non-breaking-space before or after the CB. (including ZWNBSP).
2018-09-15 23:42:07 -04:00
Tom Rothamel 8f40cf2da5 Use U+FFFC to represent displayables in text.
This is the OBJECT REPLACEMENT CHARACTER, which is useful because
it creates a character of breaking class CB, which allows Ren'Py
to decide if it wants to put a break before or after the object.
2018-09-15 23:39:01 -04:00
Tom Rothamel 08dba61bd9 Add alternate click to Drag.
This seems like it would make sense for things like a Minecraft-like
crafting system.

Fixes #1567.
2018-09-14 23:17:11 -04:00
Lee Yunseok 41fce3426d Merge pull request #5 from renpy/master
Keep going to latest.
2018-09-15 08:43:53 +09:00
Lee Yunseok 057ea1ea2c Fix some comments. 2018-09-15 08:42:11 +09:00
Tom Rothamel 8baaa7654f Changelog 7.1.1. 2018-09-13 21:11:09 -04:00
Tom Rothamel 14bf26efd6 Voice fixes.
* Always compute and use the tlid.
* Handle the sustain preference before an interaction, rather
  than after it.

Fixes #1566.
2018-09-13 00:09:38 -04:00
Tom Rothamel 8ad281048b Bump version. 2018-09-12 01:21:29 -04:00
Tom Rothamel 1b169672ba Add fribidi-src to the source archive.
This should address #1562, though I'll check for the nightly to
see that the build completed.
2018-09-11 18:34:25 -04:00
Tom Rothamel 4b4c3b73a3 Do not use ruby top text when computing typewriter blits. 2018-09-10 19:40:49 -04:00
Tom Rothamel 9270013b9a Fix the combination of ART and Knuth-Plass. 2018-09-09 21:38:30 -04:00
Tom Rothamel 0f618bc54f Log the Ren'Py version in android.txt. 2018-09-08 11:45:37 -04:00
Tom Rothamel 06979f6ade sl2: Give vpgrid its transpose property. 2018-09-08 11:19:22 -04:00
Tom Rothamel b4ff687efe Fix parsing of r at the end of a line. 2018-09-07 23:37:12 -04:00
Tom Rothamel 5c5408a490 Sponsors and keywords. 2018-09-07 10:03:30 -04:00
Tom Rothamel 492cacca02 Add the activated property to Drag.
This lets a function run when the user clicks on the drag.
2018-09-07 00:53:59 -04:00
Tom Rothamel 1fabbf4976 Credits and changelog. 2018-09-06 00:22:59 -04:00
Tom Rothamel 87bf27a7bb Mark prototype/gradlew as executable. 2018-09-05 01:31:51 -04:00
Tom Rothamel 1af96ca83c After applying retain_after_load, keep the flag set.
Fixes #1527.
2018-09-05 01:08:33 -04:00
Tom Rothamel 41f1124052 Remove Context.translate_block_language.
Which was never used. Fixes #1554.
2018-09-04 20:55:35 -04:00
Lee Yunseok cd33c95cc9 Merge pull request #4 from renpy/master
Keep going with latest.
2018-09-05 03:40:19 +09:00
Tom Rothamel c5adab69df Merge pull request #1552 from lee-yunseok/master
Update Korean translations.
2018-09-03 23:26:58 -05:00
Tom Rothamel ce980ddb2c li: Ensure that an attribute is only chosen once.
A bug was causing choose_attribute to return the same attribute
more than once, which prevents the rest of Ren'Py from selecting
the image.

Fixes #1514.
2018-09-03 15:42:52 -04:00
Tom Rothamel 09b25592b6 Retain attributes on an exact match of a layeredimage.
This now checkes the image, instead of the tag, for a
_choose_attributes method. If one exists, an exact match
is ignored, and attributes are retained.

Fixes #1517.
2018-09-03 15:30:14 -04:00
Tom Rothamel d78d035402 Merge pull request #1535 from bvtsang/typofix
to used the same -> to use the same
2018-09-03 10:05:38 -05:00
Tom Rothamel 79fe07c44b Merge pull request #1558 from Andykl/FixInteract
Prevent doing unused computing
2018-09-03 10:04:12 -05:00
Andy_kl 91f69320fc Prevent doing unused computing 2018-09-03 17:58:10 +03:00
Andykl 56eeec5b94 Merge pull request #2 from renpy/master
!
2018-09-03 17:44:26 +03:00
Tom Rothamel 22a9900fad Fix raw strings.
This was broken by image attribytes, where r'' would have  the r
parsed as an image attribute.
2018-09-02 22:10:59 -04:00
Tom Rothamel 282676a653 Fix with statement.
Fixes #1543.
2018-09-02 11:25:38 -04:00
Tom Rothamel d72bf5e411 Merge pull request #1557 from Andykl/Transition-fix
Transition fix
2018-09-02 10:17:43 -05:00
Andy_kl 83ca8571f0 Fix typo 2018-09-02 18:04:15 +03:00
Andy_kl d42c73389a Fix typo 2018-09-02 17:43:48 +03:00
Andykl 8bb870a5c5 Merge pull request #1 from renpy/master
!
2018-09-02 17:39:04 +03:00
Tom Rothamel 3013bab470 Fix typo. 2018-09-02 10:35:43 -04:00
Tom Rothamel 55d3d1fe40 Update .gitignore. 2018-09-02 10:35:13 -04:00
Tom Rothamel a8f3a64d64 Add back in sphinx/source/keywords.rpy
Fixes #1551.
2018-09-02 09:24:06 -04:00
Tom Rothamel 4d320baaa2 Android proofreading. 2018-09-02 02:12:40 -04:00
Tom Rothamel 9deb0a3759 Changelog say-with-attributes. 2018-09-02 00:47:26 -04:00
Tom Rothamel 8fff014801 Compat last. 2018-09-01 23:15:29 -04:00
Tom Rothamel 98b85feab3 Use the side image to resolve say attributes of an image that isn't shown. 2018-09-01 23:14:08 -04:00
Tom Rothamel fec0c06576 get_side_image uses the tag default layer. 2018-09-01 22:33:53 -04:00
Tom Rothamel 97d5a4a753 Compat last change. 2018-08-31 21:18:54 -04:00
Tom Rothamel 8679023013 Add the ability to reject relative paths. 2018-08-31 21:17:29 -04:00
Lee Yunseok 1e0293e6a0 Merge pull request #3 from renpy/master
Merge from original branch
2018-09-01 08:02:41 +09:00
Lee Yunseok fe32eb3149 Fix missing strings. 2018-08-30 01:52:58 +09:00
Tom Rothamel 01f536fc69 Change to a release build by default. 2018-08-28 22:24:38 -04:00
Lee Yunseok ce9e41f1bf Fix typo. 2018-08-28 00:17:10 +09:00
Tom Rothamel 6390253c45 Add config.context_callback.
A way to call a python function on each new context.
2018-08-26 23:11:07 -04:00
Lee Yunseok 328d176365 Fix typo. 2018-08-27 09:40:55 +09:00
Lee Yunseok fccb1e76cb Fix missing strings. 2018-08-27 09:37:14 +09:00
Lee Yunseok e98e37aec0 Salt. 2018-08-27 09:28:30 +09:00
Lee Yunseok 7001b18315 Update Korean strings. 2018-08-27 09:25:03 +09:00
Lee Yunseok 5a01bccdad Update Korean strings. 2018-08-27 08:50:55 +09:00
Lee Yunseok f42aa482f3 Update Korean strings. 2018-08-27 08:16:59 +09:00
Lee Yunseok 48708bf46b Fix typo. 2018-08-27 07:21:34 +09:00
Lee Yunseok 348b9c33be Fix typo. 2018-08-27 07:21:10 +09:00
Lee Yunseok 298595ac8e Fix typo. 2018-08-27 07:20:47 +09:00
Lee Yunseok 7dbe133be8 Fix typo. 2018-08-27 07:20:26 +09:00
Lee Yunseok 4912e024c6 Fix typo. 2018-08-27 07:19:56 +09:00
Lee Yunseok 2505e07ab0 Fix typo. 2018-08-27 07:19:25 +09:00
Lee Yunseok 982acd905a Fix typo. 2018-08-27 07:19:04 +09:00
Lee Yunseok 3baa13fc88 Fix typo. 2018-08-27 07:18:33 +09:00
Lee Yunseok 871abf17d7 Fix typo. 2018-08-27 07:18:01 +09:00
Lee Yunseok 72fb8332e5 Fix typo. 2018-08-27 07:17:39 +09:00
Lee Yunseok 30662cda80 Fix typo. 2018-08-27 07:17:12 +09:00
Lee Yunseok e5f5ce0352 Fix typo. 2018-08-27 07:16:47 +09:00
Lee Yunseok a1325997af Fix typo. 2018-08-27 07:16:06 +09:00
Lee Yunseok 96a92e7894 Fix typo. 2018-08-27 07:15:39 +09:00
Lee Yunseok 532fae9cf1 Fix typo. 2018-08-27 07:15:10 +09:00
Lee Yunseok b65965869c Fix typo. 2018-08-27 07:13:55 +09:00
Lee Yunseok 0498b77b72 Fix typo. 2018-08-27 07:13:17 +09:00
Lee Yunseok 93c4da4259 Update Korean Strings. 2018-08-27 05:54:07 +09:00
Lee Yunseok 037ce66e1c Merge pull request #2 from renpy/master
latest
2018-08-27 05:41:54 +09:00
Tom Rothamel 5dd5b3b4eb Update translations. 2018-08-26 00:44:53 -04:00
Tom Rothamel 67872949f1 Run python code before initiing system styles.
This lets the python code change the system styles.
2018-08-26 00:44:24 -04:00
Tom Rothamel 54999085ad Report translation errors. 2018-08-26 00:38:11 -04:00
Tom Rothamel bc2065041f Fix Korean translation. 2018-08-26 00:35:28 -04:00
Tom Rothamel 8321cd4a7f Update the android translations. 2018-08-25 20:33:19 -04:00
Lee Yunseok 32f295d33a Merge pull request #1 from renpy/master
d
2018-08-26 08:24:04 +09:00
Tom Rothamel e5f6d76726 Merge pull request #1550 from sbrn10/master
Update Korean translations for Ren'py 7
2018-08-23 01:01:30 -05:00
philat 619485cd5f Merge pull request #1 from sbrn10/sbrn10-patch-1
Update Korean translations for Ren'py 7
2018-08-23 14:49:33 +09:00
philat 27a20774ae Update screens.rpy 2018-08-23 14:44:47 +09:00
philat bd77fad010 Update common.rpy 2018-08-23 14:44:20 +09:00
philat a3e09f09a0 Update Korean translations for Ren'py 7 2018-08-23 14:40:01 +09:00
philat b3e1022338 Update screens.rpy 2018-08-23 14:31:55 +09:00
Tom Rothamel 93c87209f7 Fix Motion.
It has broken at some point in the past, probably back when None
stopped being a value for xanchor and yanchor.
2018-08-21 21:47:34 -04:00
Tom Rothamel 4f01e83fb9 Merge branch 'master' of github.com:renpy/renpy 2018-08-20 10:33:23 -04:00
Tom Rothamel bbe63fb04f Allow TextButton to take text_ prefixed properties. 2018-08-20 09:29:33 -05:00
Tom Rothamel 10a6c01e6a Merge pull request #1540 from jsfehler/expose_buttons
Expose ImageButton and TextButton displayables
2018-08-19 08:36:14 -05:00
Tom Rothamel 42619ec25c Merge pull request #1542 from lee-yunseok/patch-1
Update translating_renpy.rst
2018-08-19 08:35:31 -05:00
Tom Rothamel 0d780e24d7 Mark gradlew as executable. 2018-08-17 09:49:23 -05:00
Tom Rothamel 154cde899e Use ** when adding in kwargs. 2018-08-16 21:21:29 -05:00
Tom Rothamel 9272f013b6 Include arguments when generating say translations.
Fixes #1541.
2018-08-16 20:26:37 -05:00
Tom Rothamel ffbe29151b Update the changelog. 2018-08-15 23:38:40 -04:00
Tom Rothamel 88abd4a30a Don't tag python-for-android.
Which we stopped using awhile back.
2018-08-15 21:51:50 -04:00
Tom Rothamel 689e680258 Change the name of 7.1 2018-08-15 21:39:55 -04:00
Tom Rothamel 95b5cf4da8 Check in the changelog. 2018-08-15 21:10:56 -04:00
Tom Rothamel e61c798146 Changelog android. 2018-08-15 01:34:18 -04:00
Tom Rothamel a2b8da104b Update android documentation. 2018-08-14 22:35:48 -04:00
Lee Yunseok cf35745027 Update translating_renpy.rst
Just Ren'PY to Ren'Py.
2018-08-14 15:31:17 +09:00
Tom Rothamel d45ae50925 Allow spacing to be adjusted in a single direction.
Fixes #1525.
2018-08-14 00:32:43 -04:00
Joshua Fehler 9f750d8706 Expose ImageButton and TextButton displayables 2018-08-13 19:34:55 -04:00
Tom Rothamel a674fa2a10 Bump the version and update keywords. 2018-08-13 00:08:48 -04:00
Tom Rothamel 76f9ed2ac0 Update pig latin translation. 2018-08-12 19:48:38 -04:00
Tom Rothamel 7e27fbf968 Support for translating Android. 2018-08-12 19:45:45 -04:00
Tom Rothamel 712e0f00f9 Clarify JDK 8 is needed. 2018-08-12 08:53:05 -04:00
Tom Rothamel fcebe42b31 Use ca certificates when downloading android. 2018-08-12 08:52:00 -04:00
Tom Rothamel d845c7b357 Avoid saving on suspend while at the main menu. 2018-08-09 23:04:46 -04:00
Bryan Tsang 262694e6aa to used the same -> to use the same 2018-08-08 22:59:15 -07:00
Tom Rothamel d829d14393 Allow substitution in LayeredImageProxy. 2018-08-09 01:40:53 -04:00
Tom Rothamel 6fe1487ac2 Fix documentation for speaking attribute. 2018-08-08 23:01:22 -04:00
Tom Rothamel 9e3149b984 id: Make scanning for blacklisted image tags an O(n) operation.
Since O(n**2) is bad.
2018-08-07 09:48:06 -04:00
Tom Rothamel 08ac3e484b Document box_wrap_spacing. 2018-08-07 08:33:24 -04:00
Tom Rothamel 3c2054e3b2 Merge pull request #1522 from Andykl/Box-wrap_spacing
Added new box_wrap_spacing style property
2018-08-06 07:31:01 -04:00
Tom Rothamel d438b764d6 Change the android params. 2018-08-04 22:54:35 -04:00
Tom Rothamel d2550f31d7 Pass parameters through an ImageReference. 2018-08-03 09:53:18 -04:00
Tom Rothamel 226fb7ded0 Update RAPT. 2018-08-03 01:17:22 -04:00
Tom Rothamel e820270f5d Remove the target version question. 2018-08-01 22:16:31 -04:00
Tom Rothamel 8f5046a5a9 New regexps for android-specific icons. 2018-07-26 23:48:24 -04:00
Tom Rothamel eba56d7fb2 Change the android icons for The Question. 2018-07-26 23:44:06 -04:00
Tom Rothamel 39e76d7249 Merge pull request #1520 from AXYPB/master
Typo corrections in documentation
2018-07-25 16:33:05 -04:00
Craig Donson 6ba17709fd Typo correction in Displayables documentation 2018-07-25 10:27:33 -04:00
Craig Donson 223e7b6cf0 Typo corrections in docstrings 2018-07-25 10:27:09 -04:00
Tom Rothamel a687b678f5 Merge pull request #1524 from Saltome/patch-1
game_menu() no longer ignores screen parameter.
2018-07-24 17:07:19 -04:00
Saltome 659cd40846 game_menu() no longer ignores screen parameter.
The screen argument needs to be passed as a keyword.
2018-07-24 22:44:32 +02:00
Craig Donson dbd7cc05dd Escape @ symbols in font indexes 2018-07-23 23:39:50 -04:00
Craig Donson ce14610ec2 Typo corrections 2018-07-23 18:39:29 -04:00
Tom Rothamel bae6f8551d Document the language_tailor function. 2018-07-21 22:06:43 -04:00
Andy_kl d368c98744 Added new box_wrap_spacing style property 2018-07-21 07:28:59 +05:00
Craig Donson 27dab57802 Typo corrections 2018-07-19 11:40:52 -04:00
Tom Rothamel e73c81ccc6 Merge pull request #1513 from AXYPB/master
Typo corrections in documentation
2018-07-15 15:02:24 -04:00
Craig Donson 90d1edb3c9 Typo corrections 2018-07-15 11:56:03 -04:00
Craig Donson 8f5231ff81 Correct capitalization of "Python" 2018-07-15 11:55:55 -04:00
Tom Rothamel abe4b61f79 Merge pull request #1512 from Moshibit/master
Fix typo
2018-07-14 09:24:20 -04:00
Tom Rothamel 6e649e3548 Merge pull request #1511 from AXYPB/master
Typo corrections in documentation
2018-07-13 17:08:58 -04:00
Craig Donson 7e6972f5c4 Correct capitalization of "Python" 2018-07-13 07:14:00 -04:00
Craig Donson fdc0cef96b Typo corrections in documentation 2018-07-13 04:14:56 -04:00
Moshibit 9213472a67 Merge pull request #1 from Moshibit/Moshibit-patch-1
Update gui.rpy
2018-07-12 23:41:00 -05:00
Moshibit f122fa4b8b Update gui.rpy
fix typo
2018-07-12 23:36:34 -05:00
Tom Rothamel db2e8038e2 Update the piglatin translation. 2018-07-12 22:17:28 -04:00
Tom Rothamel 8aa234c790 Update the credits and changelog. 2018-07-12 21:40:24 -04:00
Tom Rothamel 36f4bb2048 Update sponsor list. 2018-07-11 23:37:07 -04:00
Tom Rothamel c9ffdaf1f2 Remove fribidi charset conversions.
As we don't use them.
2018-07-11 00:49:32 -04:00
Tom Rothamel fe9af97b34 Convert directly from Python's unicode to Fribidi's unicode.
This prevents a security flaw in the fribidi charset conversion
code.

Fixes #1509.
2018-07-11 00:17:48 -04:00
Tom Rothamel 4a9efc0cab Include a private copy of fribidi.
The non-glib version has been unmainted outside of Ren'Py,
but it's a much better version for us to use. So instead,
cut it down and include it.
2018-07-10 19:17:20 -04:00
Tom Rothamel 4185bbd0b3 Use an unverified SSL context to pull the list of channels.
This fixes the updater, when run under renpython.
2018-07-09 22:04:25 -04:00
Tom Rothamel 05f91a70d2 Update comment. 2018-07-08 22:56:44 -04:00
Tom Rothamel 58e8413e79 Merge pull request #1506 from AXYPB/master
Typo corrections in documentation
2018-07-08 22:16:05 -04:00
Craig Donson 498dfd5cbb Typo corrections in documentation 2018-07-08 20:23:09 -04:00
Tom Rothamel 99cd6a3b91 Merge pull request #1504 from Beuc/patch-2
render: typos in docstring
2018-07-08 18:12:17 -04:00
Sylvain Beucler a74578635b render: typos in docstring 2018-07-08 12:37:51 +02:00
Tom Rothamel b36dd59710 Include dependencies for requests.
(But not requests itself.)
2018-07-06 18:07:37 -04:00
Tom Rothamel 2f7c9328ad Changelog. 2018-07-06 02:38:28 -04:00
Tom Rothamel 8ed3b8e009 Do not post a TIMEVENT when a TIMEEVENT is ignored.
Ignoring a TIMEEVENT is reasonable to do - it makes sense for a
modal to be able to cancel out things like a pause. Such ignoring
should not post a second TIMEEVENT, as that trigers constant
processing of TIMEEEVENTS.

Fixes #1502.
2018-07-05 19:45:45 -04:00
Tom Rothamel 7a613e6b7b Use os.pathsep to split RENPY_DEPS_INSTALL.
(If :: is not given.)

Fixes #1499.
2018-07-04 12:44:58 -04:00
Tom Rothamel 9f16b1457e Fix the optimization of visit_all. 2018-07-03 22:23:27 -04:00
Tom Rothamel ba5951eddd Revert "Only visit children once in visit_all."
This reverts commit 160b2eb1f6.
2018-07-03 22:15:17 -04:00
Tom Rothamel 32d0153dc7 Fix problems with renpy.log during startup.
Fixes #1491 in a slightly different way.
2018-07-03 20:15:06 -04:00
Tom Rothamel 160b2eb1f6 Only visit children once in visit_all. 2018-07-03 10:53:36 -04:00
Tom Rothamel e7e2f4a505 Call per_interact on syle children of Window, Bar, and Frame.
This lets DynamicDisplayables be used here (and in ImageButtons, etc),
while ensuring the DD updates properly.
2018-07-03 10:53:36 -04:00
Tom Rothamel 9ce4be18be Merge pull request #1492 from AXYPB/master
Documentation corrections
2018-07-02 17:11:30 -04:00
Craig Donson 4bcec62df0 Typo correction 2018-07-02 16:57:36 -04:00
Tom Rothamel 68f1f37064 Fix typo. 2018-07-01 23:11:31 -04:00
Tom Rothamel ce8a034d6d Expose renpy.translate_string.
This allows Ren'Py to translate a string into a foreign language,
without changing the language as whole.
2018-07-01 21:00:36 -04:00
Tom Rothamel 6d38f66fc7 Apply pngcrush to launcher images. 2018-07-01 09:51:09 -04:00
Tom Rothamel 1dede9828f Fix documentation. 2018-07-01 09:51:09 -04:00
Tom Rothamel 59f276dac0 Update credits. 2018-07-01 09:51:09 -04:00
Tom Rothamel e877db4b48 Merge pull request #1494 from MuhdNurHidayat/malay-in-latin-script-translation
Add Malay translation (part 1)
2018-07-01 09:37:01 -04:00
Muhammad Nur Hidayat Yasuyoshi (MNH48.com) 3455b1a78b Add Malay 2018-07-01 01:10:56 +08:00
Muhammad Nur Hidayat Yasuyoshi (MNH48.com) 4bc6cb9a84 Add Malay translation for Launcher (#2)
* Created directory for Malay language
* Translated all files to Malay language
2018-06-30 20:48:54 +08:00
Muhammad Nur Hidayat Yasuyoshi (MNH48.com) 60c6555d7e Add Malay translation for The Question (#1)
* Created directory for Malay
* Translated the files to Malay
* Added Malay into the screen menu
2018-06-30 20:33:33 +08:00
Craig Donson bca06bf124 Typo corrections 2018-06-29 22:40:56 -04:00
Tom Rothamel 21fabf6c06 Check in sponsors doc. 2018-06-29 19:32:40 -04:00
Tom Rothamel 849b9e677b Update changelog. 2018-06-28 23:33:50 -04:00
Tom Rothamel e6d67a3291 Check in an updates project.json. 2018-06-28 19:12:50 -04:00
Tom Rothamel 51a33656e1 Say supplys actual attributes to renpy.show.
This fixes an issue where foo -bar computes foo, then shows foo,
retaining bar.

Fixes #1488.
2018-06-27 23:01:47 -04:00
Tom Rothamel af8839f0f9 File actions can take slot=True to ignore the page. 2018-06-26 22:33:29 -04:00
Tom Rothamel ae62a57a33 Ensure a button can't be selected & inactive.
It's just inactive. Fixes #1490.
2018-06-25 19:08:28 -04:00
Tom Rothamel a8664fe73e Document _quit_slot. 2018-06-24 11:56:05 -04:00
Tom Rothamel a540d81abb Remove unused config variable. 2018-06-24 11:52:15 -04:00
Tom Rothamel 861ef10609 Reset the screenshot at the end of a full interaction, not a restart. 2018-06-24 11:41:57 -04:00
Tom Rothamel e281635b47 Call the quit label from renpy.quit.
This ensures it's called in all/more cases.
2018-06-24 11:36:03 -04:00
Tom Rothamel 275906938f Move the quit slot code to renpy.quit.
This means that all places where Ren'Py quits should try to run
this quit code.
2018-06-24 10:59:42 -04:00
Tom Rothamel 2a027f6adb Lose the screenshot after an interaction in a non-rollback context.
This prevents a problem where if take_screenshot isn't explicitly
called before a save, the wrong screenshot can be saved.
2018-06-23 23:59:50 -04:00
Tom Rothamel 1d2ad923a7 Report when screens use each other in an infinite loop. 2018-06-23 11:53:42 -04:00
Tom Rothamel 659d294492 Do not allow a screen to be nested in a screen. 2018-06-23 11:47:03 -04:00
Tom Rothamel 41573ccb0a Add config.quit_slot. 2018-06-22 23:20:00 -04:00
Tom Rothamel cf851317c1 Merge pull request #1479 from AXYPB/master
Documentation corrections
2018-06-22 21:41:52 -04:00
Tom Rothamel 0eb69138dc update: Remove the channel preference. 2018-06-22 01:40:37 -04:00
Tom Rothamel af4e629403 updater: New update flow.
This removes the confirm step from the launcher update, since the
channel is being explicity selected and the version presented.
2018-06-21 23:57:15 -04:00
Tom Rothamel faf3e49d49 update: New channel selection screen. 2018-06-21 23:34:06 -04:00
Craig Donson d7de9b6c04 Correct misplaced line in translation page 2018-06-21 11:13:17 -04:00
Tom Rothamel 92e41d68b6 update: Pick the correct location for nightly DLC. 2018-06-20 18:08:48 -04:00
Tom Rothamel c7f3c14763 updater: Add a fuction to let the launcher get the updater state. 2018-06-20 17:54:47 -04:00
Tom Rothamel 9a327a4f3d Include the base name in current.json, so we can tell if we're
on a nightly build.
2018-06-20 02:56:53 -04:00
Tom Rothamel cf0cb707d6 Take the update simulation from the environment. 2018-06-20 01:17:46 -04:00
Tom Rothamel eef75d5c68 Add image attribute viewer. 2018-06-19 01:39:00 -04:00
Tom Rothamel c13ae210c9 Update changelog. 2018-06-18 20:38:31 -04:00
Tom Rothamel 6c3689aec7 Changelog. 2018-06-18 01:42:24 -04:00
Tom Rothamel 8ee5a066f2 Gallery make_buttons inherit from None.
Fixes #1485.
2018-06-17 14:36:22 -04:00
Tom Rothamel f40e61dfdf py3: Add from __future__ import print_function to all files. 2018-06-16 13:20:44 -04:00
Tom Rothamel d1cdeddfaa py3: Script to add from __future__ print_function to everything. 2018-06-16 13:20:08 -04:00
Tom Rothamel f9d1d90535 Always call slow_done from the event method.
This prevents slow done from being called in a context where the
events are disabled, like the old side of a transition.

Fixes #1484.
2018-06-15 23:03:45 -04:00
Tom Rothamel 3fcf9b2074 Consider displayable prefix when finding auto images.
Fixes #1478.
2018-06-15 00:55:29 -04:00
Tom Rothamel 2e0669f12c Use eval_who in scry.
Fixes #1477.
2018-06-14 22:28:15 -04:00
Tom Rothamel c6a3a4a8f2 Take the state from a child transform.
Just like we take the execution state.

Fixes #1483.
2018-06-14 00:18:01 -04:00
Tom Rothamel 0d329d2b36 Ignore files not representable in the system encoding.
Fixes #1481.
2018-06-13 02:51:11 -04:00
Tom Rothamel ebb8c29b86 monologue: Document NVL-mode. 2018-06-12 09:25:19 -04:00
Tom Rothamel 6f5eb07ca7 Use correct lexer for layered image errors.
Fixes #1482.
2018-06-12 01:47:36 -04:00
Tom Rothamel 9f2bf54ed0 Catch and ignore errors during scry.
This prevents problems with something like:

   define a = Character(None, kind=nvl)

   a "1"
   b "2"

Where b is not defined, and hence the scry would fail.
2018-06-11 23:15:30 -04:00
Tom Rothamel 6d63384046 Doc the basic monologue support. 2018-06-10 22:24:17 -04:00
Tom Rothamel 531cfb1520 Add rpy monologue. 2018-06-10 22:23:52 -04:00
Tom Rothamel 4c9f55bef5 Merge pull request #1480 from maxlefou/master
More french typo/grammar fixes
2018-06-09 11:11:51 -04:00
Max le Fou 93c30aeeb5 More french translation fixes
This time for the launcher
2018-06-09 14:58:08 +02:00
Max le Fou ac7007d93f More french translation fixes
Adds french translation fixes for "the question"
2018-06-09 14:29:29 +02:00
Tom Rothamel a1607a96fa tqs: Make delimiter configurable. 2018-06-09 02:34:33 -04:00
Tom Rothamel e89d31dac9 tqs: Initial implementation. 2018-06-08 23:03:12 -04:00
Tom Rothamel d65e95d2f5 tqs: Change return type. 2018-06-08 02:33:59 -04:00
Tom Rothamel d366fee5cf Add support for parsing triple-quoted strings. 2018-06-07 10:15:55 -04:00
Tom Rothamel 0f7c241ae4 Merge pull request #1475 from maxlefou/master
Grammar and typo corrections (french)
2018-06-07 00:34:20 -04:00
Tom Rothamel 13016045ac tl: Fix a missing alternate translation. 2018-06-06 22:29:37 -04:00
Tom Rothamel 023ed52b99 Prevent synchro start from blocking.
* When a channel is muted.
* When sound is queued then immediately dequeued.

This fixes a bug that occured when a muted sound channel didn't
start, and hence stopped a movie from synchro-starting at the
same time.
2018-06-06 03:22:42 -04:00
Tom Rothamel a5d027e4dd Explicitly set the paused flag. 2018-06-05 23:25:27 -04:00
Craig Donson 64a8f04002 Grammar corrections 2018-06-05 10:43:49 -04:00
Craig Donson c4d81a327b Unify "init time" 2018-06-05 10:43:39 -04:00
Tom Rothamel 5dc58ccd5a Add :func:renpy.transform_text, a function to transform text without
touching text tags or interpolation.
2018-06-04 22:24:06 -04:00
Tom Rothamel 329b7a7d2c Add chinese translated docs. 2018-06-04 01:47:55 -04:00
Tom Rothamel 44fc36ed44 Add access to image attributes. 2018-06-04 01:13:08 -04:00
Tom Rothamel 3527945daf Merge branch 'master' of github.com:renpy/renpy 2018-06-02 09:12:18 -04:00
Tom Rothamel 5dfa2aedc8 Merge pull request #1476 from AXYPB/master
Corrections to layered image documentation
2018-06-02 09:12:09 -04:00
Tom Rothamel 84606a2d70 Bump version. 2018-06-02 09:10:33 -04:00
Craig Donson da3a60ce3d Add backticks 2018-06-02 08:58:53 -04:00
Craig Donson 41ef5aac5b Correct corrupted dash characters 2018-06-02 08:56:54 -04:00
Max le Fou 044bdb321c Grammar and typo corrections (french)
Grammar and typo corrections in the french version of the tutorial
2018-06-02 14:42:58 +02:00
Tom Rothamel d5b8b8ca53 Merge pull request #1472 from AXYPB/master
Minor documentation corrections
2018-05-31 02:24:06 -04:00
Craig Donson 820647de5f Correction to Unicode capitalization 2018-05-31 00:30:26 -04:00
Craig Donson 0eaaff325c Corrections to Python capitalization and backticks 2018-05-30 10:17:51 -04:00
Craig Donson 6b0b672546 Change to UTF-8 encoding 2018-05-30 10:14:26 -04:00
Tom Rothamel 787a053e8d doc: Fix ypos. 2018-05-30 09:23:45 -04:00
Craig Donson 392a3fead1 Minor documentation corrections 2018-05-30 03:19:14 -04:00
Tom Rothamel f1fbbc740d doc: Fix encoding issues and other errors. 2018-05-29 11:41:17 -04:00
Tom Rothamel db9ffb706e Update docs. 2018-05-29 09:40:53 -04:00
Tom Rothamel ccfdb991ac Translate file page name input values.
Fixes #1470.
2018-05-28 12:41:29 -04:00
Tom Rothamel 891eea363c doc: True -> true. 2018-05-28 12:18:24 -04:00
Tom Rothamel c472ecdddc Merge pull request #1469 from AXYPB/master
Additional documentation corrections
2018-05-28 12:17:30 -04:00
Tom Rothamel 8da9a6c415 Update translations. 2018-05-27 16:58:48 -04:00
Tom Rothamel a4058b8c5f Update the piglatin translation. 2018-05-27 16:34:45 -04:00
Craig Donson 099c372b28 Additional documentation corrections 2018-05-27 16:30:25 -04:00
Tom Rothamel ec16d57d3f Merge pull request #1468 from Ria-kon/master
Small fix for Tutorial
2018-05-26 23:35:39 -04:00
Ria-kon 327653a924 Fix for French Tutorial 2018-05-27 01:20:11 +03:00
Ria-kon 9d189e3386 Updating Russian Tutorial... 2018-05-27 01:18:51 +03:00
Ria-kon a345a887a0 Slightleft ruines every translation =) 2018-05-27 01:09:05 +03:00
Tom Rothamel 190aae94e4 Use _choose_attributes to select an image.
This is done a bit earlier now, when trying to find the attributes,
rather than checking that the attributes are okay. This makes it
possible to have multiple layeredimages in which one is the prefix
of the next, so long as no attributes overlap.
2018-05-26 10:51:54 -04:00
Tom Rothamel d154a4041b Do not choose an image with unknown attributes.
This makes it possible to have both a layered image and special
poses, and the layered image will only be chosen if a special
pose isn't used.
2018-05-26 10:46:47 -04:00
Tom Rothamel 0e4830a49a from __future__ import print_function 2018-05-26 03:14:39 -04:00
Tom Rothamel 9ae1aed773 Check file alt translations. 2018-05-25 00:05:03 -04:00
Tom Rothamel f043a4270c Merge pull request #1466 from jsfehler/invocation_typo
Fix typo in comments
2018-05-24 18:55:01 -04:00
Joshua Fehler 1aa0b2d0c3 Fix typo in comments 2018-05-23 20:20:50 -04:00
Tom Rothamel e68e1b17e3 Set text as focusable iff it contains an {a tag. 2018-05-23 02:25:56 -04:00
Tom Rothamel 775c1510a3 Allow focus to return to a hyperlink when an interaction starts. 2018-05-22 22:44:36 -04:00
Tom Rothamel 801b3ae6cf Do not greedy rollback past the rollback limit.
This prevents greedy rollback from violaing the limit imposed
by renpy.block_rollback.
2018-05-21 09:55:51 -04:00
Tom Rothamel b4a7e0d599 Purge the rollback log when in the main menu.
Purging it blocks all rollback, including to the current
statement. This ensures the player can never roll back before
label start.
2018-05-21 09:55:51 -04:00
Tom Rothamel 1cfed994f7 Merge pull request #1463 from AXYPB/master
Additional documentation corrections
2018-05-21 02:38:46 -04:00
Tom Rothamel 80bb98dd41 Remove special handling of labels during rollback.
This has the potential of causing things to rollback too far, or
to the wrong place.
2018-05-20 16:20:15 -04:00
Tom Rothamel 20b8fbaf14 Greedy rollback goes to a hard checkpoint.
This makes more of the game available to the id.
2018-05-20 02:34:43 -04:00
Tom Rothamel 1eb9780871 Update return nodes on script edit.
This helps with the return from _after_load when the director
first loads.
2018-05-20 02:25:31 -04:00
Tom Rothamel c79ef6f498 When a node is added, roll back to before it.
Fixes an issue editing the first appearance of Sylvie in The Question.
2018-05-19 22:31:38 -04:00
Craig P. Donson cdc3738eca Update README.rst
Correct capitalizations
2018-05-19 13:24:08 -04:00
Tom Rothamel 8cfbe4af8f Make contexts printable. 2018-05-18 22:55:43 -04:00
Tom Rothamel 9dc8d62d4a Fix docs.
Fix #1462.
2018-05-18 08:19:56 -04:00
Craig P. Donson d547c37f44 Update developer_tools.rst 2018-05-17 23:34:50 -04:00
Craig P. Donson e7aebe5e70 Update developer_tools.rst
Typo corrections
2018-05-17 23:34:23 -04:00
Craig P. Donson cd325c80d5 Update store_variables.rst
Typo corrections;
Correct capitalization of True and False
2018-05-17 23:31:10 -04:00
Craig P. Donson f8b7c730df Update config.rst
Correct capitalization of True, False, and Python
2018-05-17 23:27:41 -04:00
Craig P. Donson 2d5b3265da Update screen_optimization.rst
Formatting corrections
2018-05-17 23:23:57 -04:00
Craig P. Donson 97760df1a4 Update screen_special.rst
Typo corrections;
Correct capitalization of True and False
2018-05-17 23:21:35 -04:00
Craig P. Donson b8c72be304 Update screens.rst
Formatting corrections;
Correct capitalization of True, False, and Python;
Remove potentially erroneous statement in Default documentation
2018-05-17 23:17:52 -04:00
Craig P. Donson 7b9f1955f1 Update style_properties.rst
Correct capitalization;
Add hyperlinks to style properties
2018-05-17 23:00:53 -04:00
Craig P. Donson e1c512a982 Update style.rst
Formatting corrections
2018-05-17 22:42:26 -04:00
Craig P. Donson c05ca5de4a Update atl.rst
Formatting corrections
2018-05-17 22:36:03 -04:00
Craig P. Donson 4c14b6c939 Update transition.py
Correct capitalization of True and False
2018-05-17 22:28:15 -04:00
Craig P. Donson 1526535ec7 Update text.rst
Change hyperlink for FontGroup
2018-05-17 22:15:03 -04:00
Craig P. Donson f49faf1796 Update side_image.rst
Formatting corrections
2018-05-17 22:11:12 -04:00
Craig P. Donson 2125065ec7 Update input.rst
Typo corrections
2018-05-17 22:02:34 -04:00
Craig P. Donson e7ee26c1a3 Update character.py
Formatting corrections
2018-05-17 21:56:44 -04:00
Craig P. Donson f36712bfc3 Update voice.rst
Formatting corrections
2018-05-17 21:47:50 -04:00
Craig P. Donson bebbde3529 Update dialogue.rst 2018-05-17 19:53:48 -04:00
Craig P. Donson 8771c7e877 Update dialogue.rst
Add indentation to window statements
2018-05-17 19:51:36 -04:00
Craig P. Donson d99f80125d Update dialogue.rst 2018-05-17 19:47:47 -04:00
Craig P. Donson d553f7aade Update exports.py
Correct capitalization of True and False
2018-05-17 19:41:26 -04:00
Craig P. Donson ee813131c0 Update exports.py
Formatting correction; needs verification
2018-05-17 19:32:46 -04:00
Craig P. Donson 802b8ac98a Update displaying_images.rst
Formatting corrections
2018-05-17 19:26:43 -04:00
Craig P. Donson ade8bfed6f Update menus.rst
Formatting corrections
2018-05-17 19:19:57 -04:00
Craig P. Donson 935a086a46 Update python.rst
Formatting corrections
2018-05-17 19:18:05 -04:00
Craig P. Donson 429c8ed498 Update conditional.rst
Formatting corrections
2018-05-17 19:12:15 -04:00
Craig P. Donson a0654e7259 Update audio.rst
Typo corrections
2018-05-17 18:36:47 -04:00
Craig P. Donson 76b866f03a Update movie.rst 2018-05-17 18:26:06 -04:00
Craig P. Donson a919a65a5a Update movie.rst
Typo corrections
2018-05-17 18:25:48 -04:00
Craig P. Donson 4db0ca5ff8 Update voice.rst
Formatting corrections
2018-05-17 18:17:59 -04:00
Craig P. Donson 16b2d4a611 Update 00voice.rpy
Formatting corrections
2018-05-17 18:16:13 -04:00
Craig P. Donson 7f5c514ebc Update script.py
Correct capitalization of True and False
2018-05-17 18:05:17 -04:00
Craig P. Donson 9c5103d28d Update label.rst
Typo corrections;
Change reference to PEP 3102 to a hyperlink
2018-05-17 18:00:46 -04:00
Craig P. Donson 47f811540e Update statement_equivalents.rst
Typo corrections; 
Change names of Python functions to hyperlinks
2018-05-17 17:08:30 -04:00
Craig P. Donson 580e81cc45 Update text.rst
Typo and formatting corrections
2018-05-17 17:07:12 -04:00
Craig P. Donson ed6e3e867d Update chromeos.rst
Typo corrections
2018-05-17 16:51:03 -04:00
Craig P. Donson f77370a3c9 Update iap.rst
Typo corrections; consistency with Amazon Appstore branding
2018-05-17 16:48:35 -04:00
Craig P. Donson 9600ed33da Update custom_text_tags.rst
Formatting corrections
2018-05-17 16:46:18 -04:00
Craig P. Donson 147273950e Update self_voicing.rst
Typo corrections
2018-05-17 16:45:40 -04:00
Craig P. Donson 7ed037e13e Update changelog.rst
Typo corrections to 7.0 changelog
2018-05-17 16:36:46 -04:00
Craig P. Donson 80bdfd0f4d Update problems.rst
Correct formatting
2018-05-17 16:28:13 -04:00
Craig P. Donson 893a4c7837 Update raspi.rst
Typo corrections
2018-05-17 16:24:27 -04:00
Craig P. Donson 2588029806 Update font.py
Correct docstring for renpy.register_sfont()
2018-05-17 16:16:38 -04:00
Tom Rothamel a84109b296 Merge pull request #1461 from AXYPB/master
Documentation corrections
2018-05-17 10:51:38 -04:00
Craig P. Donson 508ef78a7b Update layeredimage.rst
Typo corrections
2018-05-17 10:30:57 -04:00
Craig P. Donson b94ece9bba Update config.rst
Correct reference to `preference-variables`
2018-05-17 09:46:04 -04:00
Tom Rothamel 52702a6f77 Force a checkpoint when blocking rollback.
So the rollback has a place to stop at.
2018-05-16 22:24:05 -04:00
Tom Rothamel fc0b94ab37 Merge pull request #1456 from xavi-mat/master
Update Spanish translation
2018-05-16 01:01:51 -04:00
Tom Rothamel 7a10005dc6 id: Make it easier to debug the statement. 2018-05-14 17:58:58 -04:00
xavi-mat cef338c242 Update developer.rpy
Small changes: capitalized titles
2018-05-14 03:17:48 +02:00
xavi-mat 0cbb2e99c4 Update common.rpy
It seems this line is throwing an error:
```# 00action_file.rpy:417
old "Load slot %s: [text]"
new "Cargar partida %s: [text]"```
2018-05-14 03:07:08 +02:00
xavi-mat 8274fdd270 Update Spanish translation
Spanish translation should be complete now.
2018-05-14 02:21:18 +02:00
Tom Rothamel 90e6228360 Fix the list of attributes from a visual novel. 2018-05-13 19:59:13 -04:00
Tom Rothamel f2d6ae644a Showing a movie sprite that is already showing will now re-play the movie. 2018-05-13 18:44:05 -04:00
Tom Rothamel 6a84eac9d2 Fix documentation. 2018-05-13 14:14:38 -04:00
Tom Rothamel 890d92274c Fix bad link. 2018-05-13 01:20:07 -04:00
Tom Rothamel 4fe5d526d0 Document LayeredImageProxy. 2018-05-13 01:17:24 -04:00
Tom Rothamel 559c657349 Add LayeredImageProxy.
This is a way of proxying attributes between layered image,
perhaps with a transformation as well.
2018-05-12 23:45:58 -04:00
Tom Rothamel 8da0b588f8 Add a function that returns the raw registered image. 2018-05-12 21:07:58 -04:00
Tom Rothamel 99093c5333 Add functions to better access the showing and hidden tags. 2018-05-11 22:57:36 -04:00
Tom Rothamel 05c23a4aff Update sponsors. 2018-05-11 18:33:18 -04:00
Tom Rothamel 7731085dc6 Do not framedrop when playing a movie sprite with a mask.
Fixes #1455. I believe the issue there was that if a frame was
dropped from the main or mask movies, the two would get out of
sync. This prevents that entirely.
2018-05-10 22:08:09 -04:00
Tom Rothamel bc82a255c6 Add the ability to playback video without framedropping.
This is to support the fix for #1445.
2018-05-10 22:04:27 -04:00
Tom Rothamel 32237ba6de Update Java URL.
And in general, make it clear what people need to succeed.
2018-05-10 02:22:30 -04:00
Tom Rothamel f1cfb3c69a Update credits. 2018-05-09 20:45:25 -04:00
Tom Rothamel 78d3088360 Force black in a few places, rather than forcing transparency. 2018-05-08 22:49:26 -04:00
Tom Rothamel 8c0caa9f17 Update translations. 2018-05-07 23:25:13 -04:00
Tom Rothamel 6608288eef Update changelog. 2018-05-07 23:25:13 -04:00
Tom Rothamel 087f4aaa5b Merge pull request #1449 from Alexandre-T/master
French translation of "The Question" game.
2018-05-07 19:45:54 -04:00
Tom Rothamel 6e8835a5b7 Store the scope in the new cache when using a screen. 2018-05-06 19:21:35 -04:00
Tom Rothamel 213359d212 More compatible version of the gl test.
This should work better now that Dissolve has alpha=True.
2018-05-05 13:34:12 -04:00
Tom Rothamel 6ac58511a0 Enable the zipping of files > 2GB. 2018-05-05 10:28:10 -04:00
Tom Rothamel dec7b962ea Document Displayable Prefix 2018-05-05 08:47:07 -04:00
Tom Rothamel 2cf0f96b0d Add config.displayable_prefix
This lets creators make their own displayables available in the
same way that image files, images, and colors are.
2018-05-04 22:26:15 -04:00
Alexandre-T 4cc5e00745 Merge remote-tracking branch 'upstream/master' 2018-05-04 19:48:03 +02:00
Tom Rothamel e649c46e60 Remove debug print. 2018-05-03 18:47:27 -04:00
Tom Rothamel 173fcc32e1 Treat RUBY_ALT like RUBY_TOP everywhere.
Fixes an issue where RUBY_ALT would leave blank space,
and perhaps other possible problems.
2018-05-03 18:46:26 -04:00
Tom Rothamel f5f9809b95 Remove usage of style. 2018-05-03 01:21:49 -04:00
Tom Rothamel 0f0da971ec Document alternate ruby text. 2018-05-03 01:10:21 -04:00
Tom Rothamel d53f49ad5d Add support for alternative ruby text.
This allows two blocks of ruby text to appear at once, such as
one above the text and one below it. The use case this is intended
to support is a project that would like both a translation and
pronunciation guide at the same time.
2018-05-02 22:17:37 -04:00
Tom Rothamel 57dfe4fbf3 doc: Changelog and doc sl2 index. 2018-05-02 10:27:44 -04:00
Alexandre-T 32d4e453e7 French translation of "The Question" game. 2018-05-02 09:23:06 +02:00
Tom Rothamel c3f5cf4245 Merge pull request #1448 from Alexandre-T/master
French translation of the tutorial.
2018-05-01 17:15:26 -04:00
Alexandre-T 1d040a5ad3 French translation of the tutorial. 2018-05-01 18:11:56 +02:00
Tom Rothamel b118b6b629 Allow the Rollback action to be given arguments. 2018-04-30 21:14:50 -04:00
Tom Rothamel 3af70a67f6 Add the scroll action. 2018-04-29 17:43:59 -04:00
Tom Rothamel 9415995ba0 li: Document poses and some FAQs. 2018-04-29 12:25:53 -04:00
Tom Rothamel 4602d1cb8d li: Document variant and prefix. 2018-04-29 11:45:38 -04:00
Tom Rothamel cb774b625c li: Add the prefix and variant properties to group.
The prefix property gives a prefix that applies to attributes
defined within the group.

The variant property adds an additional section to file and
image names defined within the group.
2018-04-29 01:48:06 -04:00
Tom Rothamel 49c995d1c4 li: Improve parsing.
Using l.keyword() and l.name() rather than l.match, so we don't
match prefixes improperly.
2018-04-29 00:39:51 -04:00
Tom Rothamel f0396aeeb4 li: Add attribute_function.
This is a function that can add (or perhaps, remove) attributes
after the attributes have been selected or before attributes have
been shown.
2018-04-29 00:31:00 -04:00
Tom Rothamel c35086e4a5 Fix doc typo. 2018-04-28 12:50:19 -04:00
Tom Rothamel 9d52a1e626 li: Document if_also->if_all, if_any. 2018-04-28 12:31:20 -04:00
Tom Rothamel 4074f45c6d li: An attribute can take the null keyword.
For now, this just adds a Null displayable, but that might change
in the future. Semantically, it lets the creator declare an
attribute that exists for the use of if_all, if_any, if_not,
and the upcoming attribute modifier function.
2018-04-28 12:06:57 -04:00
Tom Rothamel 409bab07bb Merge pull request #1443 from Alexandre-T/master
LiveComposite replaced by Composite in tutorial and its translations.
2018-04-28 09:01:30 -04:00
Alexandre-T 8771045493 LiveComposite replaced by Composite in tutorial and its translations. 2018-04-28 08:33:17 +02:00
Tom Rothamel db679ca2b3 Dissolve now defaults to alpha=True
The idea is to let the same dissolves be used throughout Ren'Py,
rather than having alpha/noalpha versions of each.
2018-04-28 01:36:06 -04:00
Tom Rothamel 5328f81e20 Document dict transitions. 2018-04-28 01:11:06 -04:00
Tom Rothamel 1c42c156d5 Allow renpy.transition to take a dict transition. 2018-04-28 01:10:38 -04:00
Tom Rothamel 766b158684 Allow the with statement/clause to take a dict of layer transitions.
With this change, writing:

    define dis = { "master" : Dissolve(0.5, alpha=True) }

will apply the dissolve operation to the master layer, as if

    $ renpy.transition(Dissolve(0.5, alpha=True), layer="master")

had been called instead.
2018-04-27 22:45:46 -04:00
Tom Rothamel 5d74e7396b Explicitly select the new console-syle rollback labels.
Since they're not useful outside of the console, and trying
to auto-select breaks after_load.

Fixes #1439.
2018-04-27 01:30:15 -04:00
Tom Rothamel ba832e5e3d Fix signature of render.
Per #1442. Keeping open, so after 7.0 I can evaluate and see if
the opaque optimization even matters anymore, or should be
removed.
2018-04-26 08:55:46 -04:00
Tom Rothamel bbf9f36c47 Implement eval for non-default stores.
Fixes #1441.
2018-04-26 01:43:34 -04:00
Tom Rothamel 83620695dc li: Evaluate expressions using store.eval.
This ensures that expressions are transformed and evaluated in
the right scope.

Fixes #1438, points 2 and 3.
2018-04-25 22:32:52 -04:00
Tom Rothamel 3861f19fa1 Rewrite checking and ordering image attributes.
The main reason for this is so that the _list_attributes and
_choose_attributes functions are used with a multi-part image
name.

Now that it's possible to list attributes from multiple places,
we have to combine them. A topological sort on the order of
attributes is used for this.
2018-04-25 01:06:48 -04:00
Tom Rothamel 21f3e5635c li: Fixed how auto works with an layerd image with a multi-part name. 2018-04-25 01:06:02 -04:00
Tom Rothamel 87f2ed02d4 Change the type of renpy.image.image_attributes.
This doesn't affect Ren'Py, but will make it possible to pull attributes
from a displayable.
2018-04-24 22:45:10 -04:00
Tom Rothamel b393f1fd98 Remove debug print. 2018-04-24 09:02:51 -04:00
Tom Rothamel 748ada5378 li: Move displayable wrapping to a method. 2018-04-23 23:52:53 -04:00
Tom Rothamel 437b742163 li: Some changes.
* if_also becomes if_all.
* if_any has been added.
* if_any, if_all, and if_not have been added to conditions.
* The image takes style properties, not transition properties.

And the code has been cleaned up to remove some duplication.
2018-04-23 23:12:05 -04:00
Tom Rothamel 2232421843 Fix problem with a missing oldtutorial. 2018-04-22 22:10:44 -04:00
Tom Rothamel 8912a0a73a Minor fixes to translations. 2018-04-22 16:21:34 -04:00
Tom Rothamel 73bd716090 Update piglatin. 2018-04-22 16:21:01 -04:00
Tom Rothamel cc272addc2 Merge pull request #1434 from nyaatrap/master
Update japanese
2018-04-22 16:20:28 -04:00
Tom Rothamel c2f626d3c7 Update changelog. 2018-04-22 16:19:50 -04:00
Tom Rothamel fbe4a4e7e2 ShowTransient couldn't take positional arguments.
As it would try to pass transition twice.
2018-04-22 16:16:09 -04:00
nyaatraps b28eebff4f Update japanese 2018-04-22 16:06:43 +09:00
Tom Rothamel 3368cfe3ab Document incompatible changes, add fix to changelog. 2018-04-21 23:26:48 -04:00
Tom Rothamel 3ff9f2d135 Update the changelog. 2018-04-21 22:34:16 -04:00
Tom Rothamel b5306f1065 Update sponsor documentation. 2018-04-21 11:24:12 -04:00
Tom Rothamel 4396d146e2 id: The director should not hide TIMEEVENTS.
Fixes #1432, and the director blocking the notify window from hiding itself.
2018-04-21 08:54:59 -04:00
Tom Rothamel be5f03e7b5 li: Documentation. 2018-04-20 23:51:26 -04:00
Tom Rothamel 647459ef70 li: More documentation. 2018-04-20 23:27:34 -04:00
Tom Rothamel be57f1070d Allow groups to take if_also and if_not. 2018-04-20 22:41:47 -04:00
Tom Rothamel 17840ad937 Use come-from to implement non-greedy rollback.
This fixes a problem in the code:

  default x = False

  label start:
      $ x = True
      "[ x ]"

When accessing the console. The problem is that the changes to rollback
in 6.14 cause there to only be one Rollback here, which is right after
label start. This means that when in the console, x loses its changed
value.

To fix this, when doing a non-greedy rollback, we rollback the minimum
we can, then start executing forwards until we reach the current
statement. This was implemented by adding a "come from" feature
to the context - when a statement is started, the current come
from is checked, and a label is called if it's been reached.
2018-04-20 00:22:50 -04:00
Tom Rothamel dfbb649dfb Fix typo. 2018-04-20 00:22:02 -04:00
Tom Rothamel 21456342c2 li: Turn auto and default into keywords.
It just reads better without True scattered all over the place,
signifying very little.
2018-04-19 23:23:30 -04:00
Tom Rothamel cf1f140ff6 li: Documentation. 2018-04-19 23:06:25 -04:00
Tom Rothamel 9a74b97bbe li: Parse properties on the first line of a group. 2018-04-19 23:03:37 -04:00
Tom Rothamel fd47a942fe Rename to LayeredImage/layeredimage. 2018-04-19 02:23:51 -04:00
Tom Rothamel e22256d631 li: Document layered images.
Which is the final name, at least for the moment.
2018-04-19 02:20:22 -04:00
Tom Rothamel 16782c5847 Fix the SetField documentation. 2018-04-19 02:18:43 -04:00
Tom Rothamel 43e6b37d43 id: Filter prefixed tags.
Layer images tend to use displayables with names like eileen_mouth_smile,
which have the real image name, eileen, as a prefix. We don't want these
cluttering up the id, so filter tags like this out.
2018-04-19 00:11:27 -04:00
Tom Rothamel 0e6a32cbf2 li: Move to the layerimage namespace.
There are a few twiddleable settings here, so they should be in a
public namespace.
2018-04-18 23:44:08 -04:00
Tom Rothamel 0c0bde2315 li: Same change, for the image name. 2018-04-18 23:37:52 -04:00
Tom Rothamel 70e7c38e7e li: Change the pattern for auto-attribute-image names.
We've gone from "eileen mouth happy" to "eileen_mouth_happy". This
is to prevent potential problems - with the spaces, it's possible
for the images that are used in a LayerImage to conflict with
the image itself, causing huge problems.

When there is an underscore in the name, that's mitigated.
2018-04-18 23:33:53 -04:00
Tom Rothamel 2d9c11430f Report an error if an image refers to itself. 2018-04-18 22:54:47 -04:00
Tom Rothamel 14f84a9329 ai(li): rename AttributeImage to LayerImage. 2018-04-18 01:17:55 -04:00
Tom Rothamel d9cdb6e8e1 Expose Composite, Crop, Tile.
Fixes #1433.
Fixes #1430.
2018-04-17 08:35:15 -04:00
Tom Rothamel 18c25fd601 ai: Allow a value for predict_all. 2018-04-17 01:42:03 -04:00
Tom Rothamel ca759eb72e ai: Add if_also and if_not.
These clauses allow attributes (or implementations of attributes) to
interact with each other.
2018-04-17 01:28:49 -04:00
Tom Rothamel 559d57f4cc id: Allow the user to move the id to the bottom of the screen. 2018-04-16 20:18:16 -04:00
Tom Rothamel 27c821c010 Fix accidental translation of the Russian director. 2018-04-16 18:51:54 -04:00
Tom Rothamel 3a064847d2 Add keywords.
* Index from sl2 for.
* Always from ai.
2018-04-16 02:22:03 -04:00
Tom Rothamel 8dc1124dbf ai: Add the always statement.
A convenient and fast way to include a displayable that must
always be there.
2018-04-16 02:17:42 -04:00
Tom Rothamel cd5d9a28ba sl2: Add an index expression to for.
This makes it possible to change which entry in the cache corresponds
to an entry in the list being iterated over, which can fix certain
problems where those don't match up.
2018-04-16 01:43:49 -04:00
Tom Rothamel 61447a9f83 ai: Report and display unknown attributes. 2018-04-15 17:52:40 -04:00
Tom Rothamel 6db5afa132 ai: Fix and improve _list_attributes.
It now has the correct API, and also handles sorting the
attributes in a sensible manner.
2018-04-15 15:22:35 -04:00
Tom Rothamel efa6d28f83 Automatic definition of attributes in groups. 2018-04-15 14:05:37 -04:00
Tom Rothamel dba7363be7 Move images to being defined at the start of init zero. 2018-04-15 13:22:23 -04:00
Tom Rothamel ef254d5a7d Land AttributeImage.
This was originally developed at https://github.com/renpy/ai .
2018-04-14 15:07:19 -04:00
Tom Rothamel ee3e9fcf30 Update changelog for Ren'Py 7.0. 2018-04-14 00:10:08 -04:00
Tom Rothamel a06262c2b3 Fix typo.
Fixes #1429.
2018-04-13 16:55:07 -04:00
Tom Rothamel 779a5472d4 Update keywords. 2018-04-13 16:53:41 -04:00
Tom Rothamel d1c16835c2 Include attributeimage keywords. 2018-04-12 22:29:42 -04:00
Tom Rothamel d68d7e205f Don't try to distribute oldtutorial or templates. 2018-04-09 08:29:55 -04:00
Tom Rothamel 0ffbe3cc0a Allow the launcher to detect the presence and absence of the old
templates and tutorial.
2018-04-08 19:27:06 -04:00
Tom Rothamel f0bfc27267 Remove the files for the old tutorial and legacy templates.
We've been on the new stuff for a year now, and I've gotten (mostly)
good feedback on everything. So it's time to shrink the distribution
by removing this legacy content.

Thanks to everyone who contributed this - your contributions will
live on in git and the Ren'Py 6 downloads.
2018-04-08 19:21:09 -04:00
Tom Rothamel 20e50a9e06 Fix translate None instead of translate russian. 2018-04-08 08:39:15 -04:00
Tom Rothamel c67f88b7f3 Update the screen before checking _handles_event, for non-transient screens.
Fixes #1426.

During skipping, a normal screen was never updated, which means
that the hide handler was not called. This changes it so we force
an update if need be, provided the screen is not transient.

Why not transient? It's because a transient screen is used for
the window in with_none, and updating that screen is expensive
for the 90% of time it isn't seen.
2018-04-08 01:28:47 -04:00
Tom Rothamel 16feb53d14 Improve duplicate translation errors. 2018-04-06 22:40:09 -04:00
Tom Rothamel 3f34041ae7 Bump version. 2018-04-06 22:39:50 -04:00
Tom Rothamel 7bbe41d5a8 Rename LiveDisplayable to just Displayable. 2018-04-03 22:56:27 -04:00
Tom Rothamel 06b09b071f Improve AlphaMask.
AlphaMask now renders the mask displayable in an area the same
size as its child, allowing the mask displayable to move in
normal ways using ATL.
2018-04-03 22:47:20 -04:00
Tom Rothamel 75b8959b5d Document fewer image manipulators, and explain why they're obsolete.
Per the discussion in #1425.
2018-04-03 21:04:53 -04:00
Tom Rothamel bf24051c6e Merge pull request #1423 from el-unicorn/translate_template_pt_options
Translate comments from templates/portuguese/options.rpy from spanish/english to portuguese
2018-04-03 01:19:46 -04:00
Tom Rothamel 6c83a1fae0 Only look at ev.unicode during KEYDOWN.
Fixes #1424.
2018-04-02 21:17:15 -04:00
el-unicorn d9818f533b translate comments from options.rpy from spanish/english to portuguese 2018-04-01 21:03:45 -03:00
Tom Rothamel e1e2337538 Add Changelog. 2018-03-30 17:41:44 -04:00
Tom Rothamel 93be27613b Make selected save slot buttons work propertly.
That is, we should highlight the latest save slot while it is
idle.
2018-03-30 09:19:28 -04:00
Tom Rothamel ee381010a5 Use the right serial number for a for statement cache. 2018-03-29 23:19:58 -04:00
Tom Rothamel 8eb3c854a2 Improve behavior WRT retain-after-load. 2018-03-29 14:27:51 -04:00
Tom Rothamel 458de8bedd Roll back ever been changed.
This fixes a problem caused by default getting confused due to
ever_been_changed being set once, but then defaults not getting
set since it doesn't change after a rollback.
2018-03-29 02:48:41 -04:00
Tom Rothamel 924dd5865e Begin the stores after a rollback.
This should prevent problems with rolling back to the prior state
of the current game, rather than the prior state of the old game.
2018-03-29 01:55:36 -04:00
Tom Rothamel c5820c424f Fix auto window showing the interaction after rollback.
Not the bug I was shooting for.
2018-03-29 01:14:45 -04:00
Tom Rothamel c7195c8a0e Bump version. 2018-03-28 20:11:21 -04:00
Tom Rothamel 3d62b916b3 Update credits and sponsors. 2018-03-27 20:39:12 -04:00
Tom Rothamel be60218612 Add gui.button_image_extension. 2018-03-27 18:04:18 -04:00
Tom Rothamel 4faf0213a5 Merge pull request #1416 from Andykl/master
Fix wrong predict in DynamicDisplayable
2018-03-27 15:25:23 -04:00
Andy_kl ea3560e685 Fix wrong predict in DynamicDisplayable 2018-03-27 23:25:34 +05:00
Tom Rothamel e657dfac90 Default only updates a variable if it hasn't been loaded from a save. 2018-03-27 14:06:26 -04:00
Tom Rothamel 8c3cbe1f15 Fix miss_cache load/save problems. 2018-03-26 21:43:14 -04:00
Tom Rothamel 6c02eaeda5 Let enter dismiss the gui color select screen. 2018-03-25 20:23:05 -04:00
Tom Rothamel f49f183151 Wait for images to finish generating.
This is a reasonable way to fix the problem in #1415, which
I'm theorizing is happening because the game was launched
before the images are finished generating.
2018-03-25 20:06:25 -04:00
Tom Rothamel 6ad3465c2e Encode system font to utf-8. 2018-03-25 20:03:36 -04:00
Tom Rothamel 5a57136e64 Merge pull request #1415 from Ria-kon/master
Russian TTS Update
2018-03-25 17:42:57 -04:00
Tom Rothamel 5f8d202a42 Fix crash with Preferences("Joystick...").
Per #1415.
2018-03-25 17:40:22 -04:00
Tom Rothamel 31a554404b Prevent warp from causing infinite loops. 2018-03-25 14:49:14 -04:00
Tom Rothamel 8fa8ce5f8a Stop playing musing when music is queued during fast-skip.
This prevents queued music from being built up before it's
presented to the player.
2018-03-25 14:43:32 -04:00
Tom Rothamel c86debcf09 More warp fixes. 2018-03-25 14:37:52 -04:00
Tom Rothamel 5d7883b899 Improve warp.
* It will now process music and show screen / hide screen statements.
* It tries to intelligently pick parent statements.
2018-03-25 14:20:11 -04:00
Tom Rothamel 6ba8ec4f3d Disable angle when not on windows. 2018-03-25 12:29:48 -04:00
Tom Rothamel 8eda1e345b Warp after start.
This lets Ren'Py set up defaults before the warp happens.

Fixes #1413.
2018-03-25 10:56:40 -04:00
Ria-kon 3bb8ae2f5e Russian Tutorial Update 2018-03-25 11:03:34 +03:00
Ria-kon dafb7daba5 Russian The Question update 2018-03-25 11:01:19 +03:00
Ria-kon fc23814e1d First try. Tutorial 2018-03-25 10:36:30 +03:00
Ria-kon 56bbe5df9d First try. The Question 2018-03-25 10:35:12 +03:00
Ria-kon 578873a17a First try 2018-03-25 10:07:43 +03:00
Tom Rothamel b18b390496 Fix double-documentation. 2018-03-24 22:24:59 -04:00
Tom Rothamel bbd977ad69 Changelog the self-voicing changes.
Per #1356.
2018-03-22 21:42:41 -04:00
Tom Rothamel 9057d67dc5 Improve tts for launcher. 2018-03-22 01:48:43 -04:00
Tom Rothamel 698dd9e060 Improve tts functionality and translatability. 2018-03-21 22:40:40 -04:00
Tom Rothamel 00390f3f10 Update pig latin translation. 2018-03-21 22:33:11 -04:00
Tom Rothamel b71d7a8c38 More self-voicing translation support. 2018-03-21 22:17:48 -04:00
Tom Rothamel 2b2e247d19 Improve auto-voice translation. 2018-03-21 21:44:51 -04:00
Tom Rothamel 44b842d491 Update changelog. 2018-03-20 20:15:33 -04:00
Tom Rothamel 7044b9d448 Allow more names to be redefined without lint warnings.
Fixes #1411.
2018-03-19 23:40:13 -04:00
Tom Rothamel d5d4f11a6a Lower zip compression to 5.
This should reduce build times in exchange for a small size
increase, which is usually worth it.
2018-03-18 14:15:57 -04:00
Tom Rothamel 521e5d612d Remove spurious print. 2018-03-18 12:18:17 -04:00
Tom Rothamel 4c09beca76 :x 2018-03-18 11:37:51 -04:00
Tom Rothamel 44d0b20ddd Update changelog. 2018-03-17 23:15:47 -04:00
Tom Rothamel 95861477ea Initialize the number of seen translates before init time.
Why not? It's well-defined.
2018-03-17 11:21:38 -04:00
Tom Rothamel 8e584ed658 Update the piglatin translation. 2018-03-16 22:41:37 -04:00
Tom Rothamel 81b71049f8 Do not specially handle a shift-alt key that types something.
Fixes Norwegian text input.
2018-03-16 22:39:43 -04:00
Tom Rothamel ada808a881 Fix doc example. 2018-03-16 09:44:32 -04:00
Tom Rothamel 60756f97b0 Bound surface access. 2018-03-15 21:28:10 -04:00
Tom Rothamel 23a9d5be6f Call _choose_attributes when attributes have been determined.
This is intended to support AttributeImage when used as a side
image, as it lets Ren'Py search for the right side image and
then get its attributes.
2018-03-15 01:26:59 -04:00
Tom Rothamel b054d6e449 Use the alternate tlid for autovoice. 2018-03-15 00:23:32 -04:00
Tom Rothamel 65a36a4190 Make the from statement introduce an alternate TL identifier.
The from clause, since it's added automatically, shouldn't change
the game semantics. Unfortunately, this wasn't the case - adding
a from clause would change the translation identifier.

Since games could rely on this behavior without knowing it, we had
to split the difference. Now, when a label begins with an _, it
introduces an alternate tlid. If the main tlid exists, it's used.
Otherwise, the alternate tlid is tried.

Generation uses the main tlid.
2018-03-14 22:54:30 -04:00
Tom Rothamel 4d2f7988d9 Revert "Local label fixes."
This reverts commit 00997f8db1.
2018-03-14 20:49:54 -04:00
Tom Rothamel bc9be0c280 Revert "Make global labels scopeless."
This reverts commit 41ad34cb95.
2018-03-14 20:49:51 -04:00
Tom Rothamel a7b895a63f Revert "Update labels doc."
This reverts commit 3919ad0176.
2018-03-14 20:49:47 -04:00
Tom Rothamel 8cc4cddc73 Fix compatibility with older games. 2018-03-14 11:47:16 -04:00
Tom Rothamel 09ba6c6f50 Only repeat show, replace, and update.
Hide and replaced are triggered multiple times, but should only
be delivered once each.
2018-03-14 11:47:16 -04:00
Tom Rothamel 9d6f1f667c Merge pull request #1406 from eevee/relax-atl-interpolation
Allow interpolating to any prop-only ATL transform
2018-03-13 18:36:42 -04:00
Tom Rothamel bcd8e4831c Merge pull request #1407 from kevinturner/master
Fix typo in "renpy.get_attributes" doc
2018-03-13 18:35:37 -04:00
Tom Rothamel 1868e7b6ae Can't rollback when config.rollback_enabled = False.
Fixes #1405.
2018-03-13 03:04:55 -04:00
Tom Rothamel 1b2e4c21b4 Make the list of events to deliver configurable. 2018-03-13 02:32:17 -04:00
Kevin Turner 4e08656c4e Fix typo in "renpy.get_attributes" doc
Saying that this returns "None" when an image is showing instead of when it isn't makes this function incredibly confusing at first sight.
2018-03-12 14:18:56 -04:00
Tom Rothamel a8a84451ca Deliver certain transform events each time one happens. 2018-03-12 10:38:38 -04:00
Eevee (Lexy Munroe) 2e81fb434a Relax ATL interpolation restrictions slightly
A transform can only be interpolated if it contains plain property
assignments.  Previously, this required putting them all on one line;
but semantically this is the same as putting each one on its own line,
so there's no reason not to allow that too.
2018-03-12 04:03:27 -07:00
Tom Rothamel 720515d210 Use a predicted screen when changing screens in a tag.
This should be a slight performance improvement.
2018-03-12 02:05:44 -04:00
Tom Rothamel f69c46c7e6 Separate the screen cache into generations.
This fixes a problem where the cache of a screen could contain
a transform in the old state. What's more, since the cache was
persisting between screens, showing two screens with the same
tag would use the (long obsolete) cached data, and hide the
old screen.

By breaking things up into old and new generations, a transform
not used in the new generation will "go away", and be reset when
shown again.
2018-03-11 16:47:10 -04:00
Tom Rothamel 927b53f4d8 Update and edit changelog. 2018-03-10 16:03:11 -05:00
Tom Rothamel 8d791b7cda Check for editra.exe. 2018-03-10 04:16:27 -05:00
Tom Rothamel a47ba45137 Update the changelog. 2018-03-09 17:47:24 -05:00
Tom Rothamel 3919ad0176 Update labels doc. 2018-03-09 02:00:11 -05:00
Tom Rothamel 33e894d70f Fix a problem with side images persisting when interact=False.
This was a weird one, resolved by resetting the side image during
the next interaction or with None.

Fixes #1380. Thank you, Glitchy.
2018-03-08 23:21:12 -05:00
Tom Rothamel 41ad34cb95 Make global labels scopeless.
This simplifies the current confusing behavior, and brings it
back to what had been documented.
2018-03-08 01:52:23 -05:00
Tom Rothamel 80f8ebf3ae Write files.txt into the base directory.
This ensures it goes into someplace writable.
2018-03-07 21:31:51 -05:00
Tom Rothamel 00997f8db1 Local label fixes.
* Ignore global labels beginning with _.
* Change the documentation to match global label scope.

Fixes #1398.
2018-03-07 00:57:48 -05:00
Tom Rothamel 309da53b84 Add renpy.get_say_image_tag()
As discussed on discord, this gets the image tag of the currently
speaking character.
2018-03-06 21:24:09 -05:00
Tom Rothamel 858701d4d9 Fix docs.
Fixes #1401.
2018-03-05 23:37:05 -05:00
Tom Rothamel 79bba2695e Fix the movie documentation.
The channel isn't needed, so don't include it in examples.

Per #1402.
2018-03-05 22:59:21 -05:00
Tom Rothamel 2539d9218f Document that Dynamic displayables don't particpate in changes.
And also what they're meant for, design-wise.

Per #1394.
2018-03-04 19:02:41 -05:00
Tom Rothamel 1957680283 Merge pull request #1388 from mbrickn/patch-2
Updated URLs to use https when possible. (Readme file only)
2018-03-04 15:47:19 -05:00
Tom Rothamel 1681c2a8ee Merge pull request #1393 from Ria-kon/master
Russian Update 6.99.14.2
2018-03-04 15:46:44 -05:00
Tom Rothamel 9243ed8622 Merge pull request #1396 from eevee/call-screen-with
call_screen() shouldn't pass along _with_none
2018-03-04 15:46:06 -05:00
Tom Rothamel 603de90bad Merge pull request #1395 from eevee/sfont-baseline
Allow specifying the baseline for an SFont
2018-03-04 15:37:23 -05:00
Tom Rothamel f25d1919df Prevent the predict coroutine from being run twice. 2018-03-04 14:25:46 -05:00
Tom Rothamel 3306f9184d Run Python hide statements inside a function context.
This works around an issue with the python compiler, where it seems
to emit incorrect code when compiling for the outermost context,
code that has an assumption that the locas and globals are the
same thing, when in a hide block, they're not.

Fixes #1397.
2018-03-04 14:18:03 -05:00
Tom Rothamel 805bb33363 Infrastructure for compiling python hide differently. 2018-03-04 01:02:51 -05:00
Tom Rothamel efa6bf1aff Add pagekeys to viewports in the new GUI.
This is for accessibility, it makes the interface more useable
with just a keyboard.
2018-03-03 20:58:06 -05:00
Eevee (Lexy Munroe) 5a207310b3 call_screen() shouldn't pass along _with_none 2018-03-03 17:18:11 -08:00
Eevee (Lexy Munroe) 30b8f03cbb Allow specifying the baseline for an SFont 2018-03-03 16:39:19 -08:00
Tom Rothamel fa669d8bf1 Read multipersistent data in binary mode. 2018-03-03 12:21:23 -05:00
Tom Rothamel bf1b6ca143 Ignore the ctrl modifier on ctrl, etc.
This fixes a problem with newer SDL (or maybe X, etc - an upgraded
Ubuntu seems related) where pressing CTRL causes the modifier to
be added as part of the KEYDOWN event.
2018-03-02 22:49:29 -05:00
Tom Rothamel 83f59262f8 Add the play_callback argument to Movie.
This will let creators do things like queue up a transition movie
followed by a looping new stable state.
2018-03-02 22:04:56 -05:00
Ria-kon 0e3d6944c1 Russian Update 6.99.14.2 2018-03-03 02:59:18 +02:00
Tom Rothamel 0572210e2e Only cycle the storedicts on log.begin.
Previously, the storedicts were being cycled on log.complete(),
which is called during a save as well as normal statement begin.
When cycled, the storedicts would record the information while
in the save context, and restore it.

This was causing problems with suppress_overlay, and less likely
other problems.

Fixes #1383.
2018-03-02 02:21:22 -05:00
Tom Rothamel 8b5a01ac2d Begin a rollback whenever a context runs.
Attempts to fix #1383. The idea is that all the symptoms there
seem to be caused by suppress_overlay being set wrong, and
it might be set wrong because a rollback is happening.
2018-03-01 19:31:51 -05:00
Tom Rothamel 7df540679e Update sponsor list. 2018-02-26 23:23:56 -05:00
Tom Rothamel 0b8d92b5a8 Properly offset the mouse.
This undoes the effect of the optimization where we only draw
the bounding box of non-transparent pixels.

Fixes #1384.
2018-02-26 01:44:35 -05:00
Tom Rothamel 6ebf2597c4 Do not include the version in the channel name.
Fixes #1379.
2018-02-25 13:34:00 -05:00
Tom Rothamel 4abe1e987e Include tmp directory in atom.
Atom uses tmp as the name of a library it depends on. Fixes #1391.
2018-02-24 23:52:08 -05:00
Tom Rothamel 37e9b31448 Write navigation.json atomically.
If it exists, it'll be valid and contain complete information.
2018-02-24 14:35:58 -05:00
Tom Rothamel 769aa0aa45 Write navigation.json into game/saves.
This will make it more available to editors, as it becomes
possible to find it automatically. Since game/saves has been
excluded from being shipped, it should also not be a problem
for distro or vcs.
2018-02-24 14:27:46 -05:00
Tom Rothamel 71bbe96381 Update credits. 2018-02-23 23:43:52 -05:00
Tom Rothamel afbe3a36cf Add an Open project button.
This opens the project as a whole in the text editor, if
the editor itself supports that.
2018-02-23 00:49:06 -05:00
Tom Rothamel 5c1893ca6e Allow the updater to deal with files longer than PATH_MAX on windows.
(This is done by prefixing them with \\?\ )
2018-02-22 01:20:03 -05:00
Tom Rothamel a2c6c3b8a1 Fix Atom classification. 2018-02-21 20:53:09 -05:00
Tom Rothamel 899be4fb74 Adjust atom packaging. 2018-02-21 03:00:14 -05:00
Maxwell Paul Brickner 6364cf535c Updated URLs to use https when possible.
I updated urls to use https when possible to avoid redirects.
2018-02-19 11:18:29 -05:00
Tom Rothamel acaf075bd8 Add new keywords. 2018-02-18 18:19:35 -05:00
Tom Rothamel 7ebe89289e Document NVL-mode functions.
Fixes #1381.
2018-02-16 20:45:31 -05:00
Tom Rothamel d2190ba2e8 Fix some incorrect multiple_say documentation.
Fixes #1385.
2018-02-15 23:09:01 -05:00
Tom Rothamel 54e83e5aa3 Fix spurious code in the question. 2018-02-13 18:40:57 -05:00
Tom Rothamel 0d25fd45ab Escape keywords. 2018-02-13 12:46:56 -05:00
Tom Rothamel 86f5321f9d Fix keyword generation. 2018-02-12 22:14:28 -05:00
Tom Rothamel 8223af20d6 Read more keywords from Ren'Py. 2018-02-11 12:38:11 -05:00
Tom Rothamel d1f0c0fa57 Autocompute a property regex. 2018-02-11 01:40:48 -05:00
Tom Rothamel a5affb2b80 Change how we represent screen language keywords.
This new representation takes up alot less space in memory,
and will also facilitate creating more compact regular
expressions.
2018-02-10 20:46:24 -05:00
Tom Rothamel 1f575ba4ec Distribute Atom with Ren'Py.
(But not the final version, so don't expect this to work, nightly
build fans.)
2018-02-10 20:09:42 -05:00
Tom Rothamel 59241f0e06 Add Atom support to the launcher. 2018-02-09 19:49:46 -05:00
Tom Rothamel 44b1be900e Minor editor changes to get ready to support atom. 2018-02-08 18:59:02 -05:00
Tom Rothamel 3846bcdeb9 Remove extraneous debug raise.
Fixes #1357.
2018-02-08 17:23:56 -05:00
Tom Rothamel 1fd121025b Add docs when adding Ren'Py. 2018-02-06 11:59:59 -05:00
Tom Rothamel 8b9bc52af2 Bump the version to 6.99.14.2. 2018-02-05 19:09:23 -05:00
Tom Rothamel b61b929451 Fix typo. 2018-02-05 01:17:12 -05:00
Tom Rothamel 96635b6a71 Add missing version number. 2018-02-05 01:14:57 -05:00
Tom Rothamel 06f0b2939b Update keywords for 6.99.14.1. 2018-02-04 19:19:00 -05:00
Tom Rothamel 4cc03dec87 Add a warning to myself. 2018-02-04 12:51:59 -05:00
Tom Rothamel 45882282ee Update the changelog and credits. 2018-02-04 05:47:35 -05:00
Tom Rothamel 88723fc975 Merge pull request #1371 from xavi-mat/master
Update Spanish translation
2018-02-03 14:38:27 -05:00
xavi-mat 434af61a4b Update "Shoulder" Button.
Translating "Shoulder" button as "Botón sup. frontal. der./izq."
2018-02-03 16:26:53 +01:00
Tom Rothamel a6adfa3d3a Merge pull request #1373 from Enerccio/master
Add mouse_drop property, to indicate that the drop shold follow the mouse pointer, and not maximum overlap.
2018-02-02 17:54:16 -05:00
Enerccio 35f015a0df mouse_drop keyword in sl2 2018-02-01 22:14:10 +01:00
Enerccio f9bf56ff43 Mouse drop keyword change in screenlang 2018-02-01 22:13:23 +01:00
Enerccio e4a4d3f686 fixed <= and updated the name 2018-02-01 22:09:15 +01:00
Peter Vanusanik cdcb23e4a6 drag & drop change 2018-02-01 21:53:54 +01:00
Tom Rothamel e850ec89e0 Fix documentation warnings.
All fixed, except :orphan: (which is wrong) and some duplications.
2018-02-01 01:26:10 -05:00
Tom Rothamel 5fce2cb1d6 Fix various minor documentation problems. 2018-02-01 00:34:58 -05:00
Tom Rothamel 14162cc1e8 Fix typo.
Fixes #1372.
2018-01-31 22:12:05 -05:00
xavi-mat e68b5829ff Two new strings in the las nightly
Addindg "System Editor" and "None", from the last nightly.
2018-01-31 18:04:43 +01:00
xavi-mat 65831c85ae Better 'labels' than 'Etiquetas'
Spanish translation "Eqtiquetas" could be confused with 'tags'. It's better to leave this untranslated (in the script, the developer must write the word "label" anyway)
2018-01-31 17:54:11 +01:00
xavi-mat fb0f30821e small error 2018-01-31 17:37:47 +01:00
xavi-mat 20bccb3c0c Update Spanish translation 2018-01-31 17:23:07 +01:00
Tom Rothamel 2ebe05011c doc: Add missing clause.
Fixes #1367
2018-01-30 22:26:45 -05:00
Tom Rothamel f814e767f6 Merge pull request #1370 from Ria-kon/master
Russian update 6.99.14.1 (2
2018-01-30 18:52:24 -05:00
Ria-kon bb6f8ada97 Update for 6.99.14.1 2018-01-30 06:04:55 +02:00
Ria-kon 22808f0b0b Make "System Editor" and "None" translatable 2018-01-30 06:01:07 +02:00
Tom Rothamel bda9ed1e68 Merge pull request #1369 from Ria-kon/master
Russian 6.99.14.1
2018-01-29 19:59:46 -05:00
Tom Rothamel 6f900ad68f Update Pig Latin translation. 2018-01-29 18:39:59 -05:00
Tom Rothamel eb771529cf Redo the front page of the launcher.
Add an actions section, with Navigate Script as the first button
inside it. The idea behind this is that many people didn't
realize it was a button they could click.
2018-01-29 18:27:19 -05:00
Ria-kon 4bdce24c9d Russian 6.99.14.1 2018-01-29 07:16:17 +02:00
Tom Rothamel 82a7087921 Disable imagemap caching. 2018-01-28 19:20:24 -05:00
Tom Rothamel ec952189a0 Only predict ConditionSwitch when predicting.
This prevents the ConditionSwitch code from slowing things down
when a prediction fails.
2018-01-28 17:50:16 -05:00
Tom Rothamel 740b5e95ed Fix DynamicDisplayable list prediction.
DD could return a list for prediction, but it would always
be taken as a displayable and fail. This fixes that, and makes
the new predict_all behavior do something.
2018-01-28 11:47:41 -05:00
Tom Rothamel 6931ddd519 FPS meter displays and toggles gl powersave. 2018-01-26 17:46:13 -05:00
Tom Rothamel 6671add453 Remove the auto option for gl powersave, default to enable.
Not having it tends to spin the fans on people's laptops,
while enabling it doesn't really seem to have much effect,
as it just increases the framerate on otherwise-static
screens.
2018-01-26 17:36:49 -05:00
Tom Rothamel 36ef77c7c8 Remove debug print. 2018-01-26 17:33:08 -05:00
Tom Rothamel b0da5817c1 Round the fps to one decimal. 2018-01-25 21:07:15 -05:00
Tom Rothamel 6a4449b91b Invalidate the cache rather than redrawing on per_frame screens.
This fixes a problem where we'd update a screen, and something in
it would cause a redraw, that caused us to redraw the screen...
which means we'd never go into low frameratem mode.
2018-01-25 21:00:14 -05:00
Tom Rothamel eedd113144 Prevent Ren'Py from getting stuck in high performance mode.
We had this loop where (not can_block) set needs_redraw, and
needs_redraw indirectly set (not can_block).
2018-01-25 19:55:07 -05:00
Tom Rothamel 324ddd5eb8 Do not flip the screen if a fullscreen video has no surface.
See #1364.
2018-01-25 01:55:54 -05:00
Tom Rothamel 3865ec78d1 Show the size of the last 2 generations of the cache. 2018-01-24 23:46:51 -05:00
Tom Rothamel 5676868a7d Update the generation of a cache entry on a fast hit. 2018-01-24 23:46:16 -05:00
Tom Rothamel 7ecb5de1c8 Display the size of the current and last generation in the cache. 2018-01-24 23:17:17 -05:00
Tom Rothamel c9200efeab Update keywords for release. 2018-01-24 02:30:01 -05:00
Tom Rothamel a5ac108cb2 Fix the display of the cache size. 2018-01-24 02:24:02 -05:00
Tom Rothamel 807cc096ba Make sure we leave idle_frame even if we can block. 2018-01-24 01:43:14 -05:00
Tom Rothamel 6e3e866e8f Do not do expensive prediction in high-redraw scenarios.
This prevents the framerate from glitching out due to prediction
when the screen should be redrawn. (We'll still get a small
glitch when the screen is static, but that shouldn't
be visible.)
2018-01-24 01:34:47 -05:00
Tom Rothamel 1533aa06ee Global experimental flag.
Used to enable features that aren't ready for prime time, but
should be on for testing.
2018-01-23 23:45:48 -05:00
Tom Rothamel 0e8eb0be71 Better repr for Frame. 2018-01-23 23:34:19 -05:00
Tom Rothamel e2f617406d Pre-fill the loadable cache.
Should prevent blocking disk access, at least in some places.
2018-01-23 22:24:06 -05:00
Tom Rothamel cdbbc8255f Predict the overlay screen and _transparent_tile.png. 2018-01-23 21:59:07 -05:00
Tom Rothamel 9359e7bea7 F4 shows the image load log. 2018-01-23 21:00:11 -05:00
Tom Rothamel 8b88d8eed8 Move the image load log to a per-frame screen.
And include the texture info.
2018-01-23 20:45:51 -05:00
Tom Rothamel 08a2b348bf Run the launcher in powersave mode. 2018-01-23 20:39:44 -05:00
Tom Rothamel 5cf5b22b86 Hide the memory profile function behind RENPY_EXPERIMENTAL. 2018-01-23 19:54:10 -05:00
Tom Rothamel a2ecbc1cf8 Allow renpy.start_predict and renpy.stop_predict to take wildcards. 2018-01-23 19:51:51 -05:00
Tom Rothamel 4e4cdb4988 Add the renpy.list_images function.
This returns a list of the images Ren'Py knows about.
2018-01-23 19:17:13 -05:00
Tom Rothamel 9a48079332 Remove debug prints. 2018-01-23 02:32:24 -05:00
Tom Rothamel 47139d57c7 Add a predict_all parameter to ConditionSwitch and ShowingSwitch.
This cases Ren'Py to predict all displayables, not just the
currently selected one. It could be used, for example, to make
a ConditionSwitch that predicts all possible emotions of a
character.
2018-01-23 02:24:37 -05:00
Tom Rothamel 4d4e9a07cd Release the GIL when calling glGlear.
Since we could plausibly block in this function.
2018-01-23 01:51:55 -05:00
Tom Rothamel a1745cd7f2 Always optimize image bounds. 2018-01-23 00:39:33 -05:00
Tom Rothamel 8ae732dda0 Document image caching changes. 2018-01-23 00:21:25 -05:00
Tom Rothamel b44c9ed8cb Change and compat cache defaults. 2018-01-23 00:20:53 -05:00
Tom Rothamel bd53625a27 Load textures into the GPU during idle frames.
This actually helps to reduce some memory consumption, as we can
toss the premultiplied texture early and rely on OpenGL to keep a
copy of the texture for us in video RAM or wherever OpenGL keeps
things.
2018-01-22 20:20:32 -05:00
Tom Rothamel 8ca2410b21 Move the idle frame events into their own method. 2018-01-22 20:16:15 -05:00
Tom Rothamel 56d26cfaec Set the cache size in megabytes. 2018-01-22 20:11:55 -05:00
Tom Rothamel 9ead3c6e84 Deincrementalize the size of the image cache.
With the new texture stuff, it's hard to maintain the cache size
incrementally, but it's really fast to compute it each time the
size is needed.
2018-01-22 13:41:09 -05:00
Tom Rothamel 3a843ecaf7 Kill a cache entry that has not a surface or texture. 2018-01-22 01:03:09 -05:00
Tom Rothamel aad8489565 Convert surface-only textures to real textures in a background thread. 2018-01-22 00:49:02 -05:00
Tom Rothamel 9f95a34fb4 Allow Ren'Py to report a traceback on an open from main thread. 2018-01-22 00:06:14 -05:00
Tom Rothamel f3b78279d5 Only error out from predicting if on the main thread.
This means that loading a sound or movie from the predictor thread
goes through fine.
2018-01-22 00:05:11 -05:00
Tom Rothamel d1fdd39a9d Document the maxsize transform property. 2018-01-22 00:02:07 -05:00
Tom Rothamel 0bc24ac5cd Add a maxsize transform property.
This transforms an image to be smaller than a certian maximum size
while maintaining the image's aspect ratio.
2018-01-21 14:57:22 -05:00
Tom Rothamel 6e4ad90083 Refuse to open files while predicting.
Predicting takes place in the main thread, and can be expensive. We
don't want to hit the disk while predicting, so we check for that
case and abort the prediction, rather than taking the slowdown.
2018-01-21 14:18:43 -05:00
Tom Rothamel 7fc24e51ef Fix loading older nvl mode saves. 2018-01-20 22:47:03 -05:00
Tom Rothamel 9812c00db4 Fix an issue with default_bounds not being set.
See #1359.
2018-01-20 15:23:29 -05:00
Tom Rothamel 1cf362e84b Allow the cache to return a texture or a render.
This is used by the gl mouse code, which requires a texture to
work properly.
2018-01-20 13:54:55 -05:00
Tom Rothamel 0cf66407e9 Changelog optimize_image_bounds. 2018-01-19 20:13:58 -05:00
Tom Rothamel ec9dd801ce Optimize texture boundaries.
When loading an image, we scan for the bounding box of the
non-transparent sections, and only load that box into the
texture. This is a big win for common patterns, like photoshop
layers converted into pngs.
2018-01-19 02:10:08 -05:00
Tom Rothamel 81843a7ea1 Start 6.99.14 changelog. 2018-01-18 22:37:28 -05:00
Tom Rothamel e22b0b5e0c Copy context.music.
Per https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=47659
2018-01-17 21:21:02 -05:00
Tom Rothamel 49f44735f1 Include the time traceback.txt and errors.txt were created.
To make it easier to deal with stale files.
2018-01-17 20:23:38 -05:00
Tom Rothamel 452e879199 Add _drag.
Which fixes some problems with the layout of the image load log if
default is redefined.
2018-01-16 22:51:44 -05:00
Tom Rothamel e07e396d77 Use a Frame rather than an im.Tile for the developer background.
It's better, and reduces cache pressure.
2018-01-16 21:24:05 -05:00
Tom Rothamel eaf12a4089 Recycle the Python cache. 2018-01-16 01:45:25 -05:00
Tom Rothamel 31be06e1c5 Bump version to 6.14.1. 2018-01-15 23:32:13 -05:00
Tom Rothamel 9651db244c Merge pull request #1354 from Ria-kon/master
Fixes for changelog (doc)
2018-01-15 16:51:12 -05:00
Ria-kon 34c27ece40 Fixes for changelog (doc)
`config.loadable` callback => `config.loadable_callback`
targer => target
2018-01-15 20:51:06 +02:00
Tom Rothamel 3f5082d231 Ensure ATL functions process hide events.
Fixes #1351.
2018-01-14 22:12:30 -05:00
Tom Rothamel 4edced0a43 Update changelog and doc gc variables. 2018-01-14 12:43:05 -05:00
Tom Rothamel db38debae4 Improve how we print the the garbage. 2018-01-13 12:42:23 -05:00
Tom Rothamel 0730ee873d Fix unparameterized ATL. 2018-01-13 12:31:22 -05:00
Tom Rothamel 7f73e7f97b Predict save slot screenshots when a file page action is visible. 2018-01-13 10:25:51 -05:00
Tom Rothamel a2d61c3fa6 Scan the load/save file metadata. 2018-01-13 00:38:38 -05:00
Tom Rothamel c3b9db09ed Add a way of printing objects that the GC collects. 2018-01-12 23:36:00 -05:00
Tom Rothamel 397b950c79 Remove a reference cycle in ATLTransform.
This gets rid of quite a bit of memory leaking, making it much less
likely we'll need to trigger the garbage collectors.
2018-01-12 23:11:38 -05:00
Tom Rothamel e78543345f Do not always collect all generations.
Due to a mistake in understanding the GC semantics, a managed GC
would collect all generations. Now it only collects the first and
second generations.
2018-01-12 22:25:03 -05:00
Tom Rothamel 9b8e99f0f6 Remove incorrect screen duplication.
Fixes #1346.
2018-01-11 00:48:13 -05:00
Tom Rothamel a4966719a9 Update credits. 2018-01-10 21:42:15 -05:00
Tom Rothamel 7bbd577de0 Allow 0 and N to be generated in build.name.
Fixes #1343.
2018-01-09 23:40:49 -05:00
Tom Rothamel 5a8a553033 Fix translations. 2018-01-09 20:48:19 -05:00
Tom Rothamel 1924806be3 Update Arabic translation. (from Maissara Moustafa) 2018-01-09 20:41:31 -05:00
Tom Rothamel 6577f2c5f5 Check in keywords.py. 2018-01-08 22:27:23 -05:00
Tom Rothamel 8b3c353ffe Update sponsors. 2018-01-08 21:50:26 -05:00
Tom Rothamel 8b162210ce Update piglatin translation. 2018-01-08 21:20:06 -05:00
Tom Rothamel 7afa69ffc4 Document pagekeys and arrowkeys on viewport. 2018-01-08 01:58:53 -05:00
Tom Rothamel 9766746081 Add viewport pagekeys.
These make it possible to hit pageup and pagedown to scroll a
viewport.
2018-01-08 01:43:00 -05:00
Tom Rothamel 3eb0bcbc3e Update copyright to 2018. 2018-01-07 18:47:32 -05:00
Tom Rothamel 28afc8c53f Point out that decreasing config.rollback_length might hurt things.
Fixes #1334.
2018-01-07 18:40:11 -05:00
Tom Rothamel 1cbe298507 Changelog previous change. 2018-01-07 18:22:35 -05:00
Tom Rothamel 007e370698 Use the current time to seed screen language serial numbers.
This fixes a problem where, if screens are present in two or more
files, two nodes can be created with the same serial number. These
could then cause caching problems, or one displyable being replaced
with another, when switching from one screen to the other.

Fixes #1340.
2018-01-07 18:05:06 -05:00
Tom Rothamel 16dcc85c6a Deal with .rpt files not having a translation_loc.
Fixes #1339.
2018-01-06 13:13:07 -05:00
Tom Rothamel 4109c03983 Update credits. 2018-01-06 12:10:16 -05:00
Tom Rothamel f332b2dcec Start the prediction thread each time an interaction begins.
This ensures the cache gets cleared out at least once per interaction,
preventing Ren'Py from leaking memory.
2018-01-05 22:23:47 -05:00
Tom Rothamel e531f0d4f8 Munge fields in strings. 2018-01-05 01:14:04 -05:00
Tom Rothamel 7923ffed13 Merge pull request #1338 from vollschauer/master
Update config.rst
2018-01-04 16:22:32 -05:00
vollschauer ddc4915a84 Update config.rst
Fix typo...
2018-01-04 15:40:07 +01:00
Tom Rothamel cd667b20e7 Typecheck all sl2 caches.
Prr the comment on aa0708b331.
2018-01-04 02:56:22 -05:00
Tom Rothamel e8e42ca24b Use config.game_main_transition with MainMenu action.
Takes the first half of #1336.
2018-01-03 22:06:51 -05:00
Tom Rothamel 85cbb14988 Ensure GC runs once per interaction.
This ensures that repeated skipping won't starve Ren'Py of garbage
collection entirely, which is probably bug #1324.
2017-12-31 13:46:58 -05:00
Tom Rothamel 503553aa14 Make _return dynamic when _after_load is called.
This prevents the call to the _after_load label from affecting
the value of _return in the game proper, which should be
preserved over a save and load.

Fixes #1330.
2017-12-31 13:23:38 -05:00
Tom Rothamel c4ce604cbd Ensure that all GC generations trigger. 2017-12-30 22:27:57 -05:00
Tom Rothamel 1195b6c0a8 Move string munging into list_logical_lines, so it works everywhere.
Fixes #883.
2017-12-30 03:02:12 -05:00
Tom Rothamel 2b68bf032b Munge interpolated variable names. 2017-12-29 23:07:01 -05:00
Tom Rothamel 7f504c0c1b Rename config.zap_transient to config.fast_unhandled_event.
Which better diagnoses its purpose.
2017-12-28 20:56:11 -05:00
Tom Rothamel 7dfe21a39c Update credits for 6.99.14. 2017-12-27 19:54:04 -05:00
Tom Rothamel 8b1689edf1 Build docs as part of the release process. 2017-12-26 20:03:38 -05:00
Tom Rothamel 037c3fe0c4 Rework zap_transient.
It now causes Ren'Py to check to see if anything handles the hide
or replace event, and only dispatches the event if something does,
which is much safer than ignoring it every time.

Fixes #1325.
2017-12-26 19:42:14 -05:00
Tom Rothamel e34e8982e9 Add _handles_event to displayables. 2017-12-25 23:11:23 -05:00
Tom Rothamel 12247a6f24 ATL: Add _handles_event. 2017-12-25 23:11:23 -05:00
Tom Rothamel 771a160961 Merge pull request #1322 from morganwillcock/transclude
Fix typo in transclude docs
2017-12-25 12:37:49 -05:00
Tom Rothamel d2cce402b8 Merge pull request #1323 from Ria-kon/master
Translation for Image Location Picker filter
2017-12-25 12:36:14 -05:00
Morgan Willcock 05d38841dc Fix typo 2017-12-24 21:14:49 +00:00
Tom Rothamel c7b4474152 Normalize script filenames to use / instead of \.
/\
  /  \
  /  \
 /_  _\
   ||
2017-12-24 14:31:09 -05:00
Tom Rothamel 7157b157ab Normalize filenames before placing them into the loader. 2017-12-24 13:04:01 -05:00
Tom Rothamel 163ff6d052 Encode stdout/stderr to utf-8.
This prevents problems on Windows with unknown encodings when running
from the console.
2017-12-24 13:03:10 -05:00
Ria-kon ff8a08dee7 Translation for Image Location Picker filter 2017-12-24 17:46:29 +02:00
Tom Rothamel fbb97de6b4 Add the ability to filter the image location picker by typing. 2017-12-23 14:04:56 -05:00
Tom Rothamel 6fbb0160d4 Reduce the viewport size to something more reasonable. 2017-12-23 10:22:02 -05:00
Tom Rothamel f021135492 Redo how we fill the image location picker.
Also adds support for .jpg files.
2017-12-23 00:35:20 -05:00
Tom Rothamel 8f5a38eec6 Limit text to representable sizes. 2017-12-23 00:31:59 -05:00
Tom Rothamel c8a16adcd5 Merge pull request #1321 from Ria-kon/master
Image Location Picker must support .webp
2017-12-22 16:21:00 -05:00
Ria-kon 98164f3bf9 Image Location Picker must support .webp 2017-12-22 13:49:43 +02:00
Tom Rothamel 5dc5d941b2 Don't log to stdout when purging unreachable.
Fixes #1320.
2017-12-21 22:25:26 -05:00
Tom Rothamel dbc0e80dda Arabic/RTL gui. 2017-12-21 00:56:57 -05:00
Tom Rothamel 1c175cdf02 Remove gui.scale when copying over script.rpym (or script.rpy). 2017-12-21 00:52:03 -05:00
Tom Rothamel d64ed91127 Merge branch 'master' of github.com:renpy/renpy 2017-12-20 20:44:39 -05:00
Tom Rothamel d7b0e9e750 Merge pull request #1319 from Ria-kon/master
Russian translation update
2017-12-20 20:44:35 -05:00
Tom Rothamel 0d433e6f6c Document config.cache_surfaces. 2017-12-20 01:37:07 -05:00
Tom Rothamel 37b6f6638c Remove debug print. 2017-12-20 01:24:53 -05:00
Tom Rothamel e47de64789 Fix caching of compiled pyexprs.
The previous approach was failing to work for quite a few reasons,
so this is basically a rewrite that actually caches something.
2017-12-19 23:27:46 -05:00
Ria-kon c725f8ce2f Moving strings from common to developer
...and deleting obsolete strings
2017-12-19 17:09:16 +02:00
Ria-kon c5c97dbd1c Small fixes for tutorial 2017-12-19 17:06:23 +02:00
Tom Rothamel 26c7a2b2d3 doc: Clarify images in directories. 2017-12-19 00:34:46 -05:00
Tom Rothamel bf530a2c37 Fix a problem with DictItems.as_dict()
This would cause the old dict to drop one item, which would fail
to be restored when the StoreBackup come into play before a load,
causing pickling problems.
2017-12-18 22:48:33 -05:00
Tom Rothamel 34b873e137 Add the layer property to screens documentation. 2017-12-18 19:30:22 -05:00
Tom Rothamel 7ee0bec11d Allow ParameterizeText to take translatables strings.
Fixes #1297.
2017-12-17 23:58:35 -05:00
Tom Rothamel b0309f80bf Do not require the interface object to size text.
This means that text sizing can occur before Ren'Py starts
the interface on iOS and Android.

Fixes #1316.
2017-12-17 19:21:11 -05:00
Tom Rothamel 0c0a57f257 Allow RENPY_PERFORMANCE_TEST to disable the performance test. 2017-12-17 18:54:29 -05:00
Tom Rothamel 219963df89 multiple: Adjust style names in NVL-mode. 2017-12-17 00:40:29 -05:00
Tom Rothamel 06298aad77 multiple: fixes. 2017-12-17 00:34:21 -05:00
Tom Rothamel 9ac14d3bcd Update changelog for Ren'Py 6.99.14. 2017-12-16 22:04:32 -05:00
Tom Rothamel ff57fcfe46 Bump version to 6.99.14.
Since yeah, this is worth it.
2017-12-16 11:34:43 -05:00
Tom Rothamel 697cc17900 Avoid double printing of errors to the log and stdout. 2017-12-16 11:29:29 -05:00
Tom Rothamel e844957de8 Try to diagnose pickling problems. 2017-12-15 23:29:10 -05:00
Tom Rothamel 89a0d76b5d Prevent opening the log from causing infinite recursion on Android. 2017-12-15 22:21:34 -05:00
Tom Rothamel 6ed0a7202f Document multiple dialogue. 2017-12-14 23:24:40 -05:00
Tom Rothamel 07189ebac1 Document gui preferences. 2017-12-14 01:57:17 -05:00
Tom Rothamel b252a7b576 Add gui.TogglePreference. 2017-12-14 01:54:47 -05:00
Tom Rothamel 3429ca7ee6 Add advanced GUI documentation. 2017-12-13 22:43:06 -05:00
Tom Rothamel b781b8ccc3 Add a new gui preference system.
This integrates with gui.rebuild, and make it possible to do things
like:

   define gui.accent_color = gui.preference("accent_color", "#f00")

or

   style say_dialogue:
       italic gui.preference("italic", False)

Gui preferences are set with:

   textbutton "Blue" action gui.SetPreference("accent_color", "#00f")
2017-12-13 00:52:02 -05:00
Tom Rothamel dff2b5e90d Re-run gui defines when gui.rebuild is called. 2017-12-12 23:45:07 -05:00
Tom Rothamel 6fd218b452 Change how default in the gui namespace works.
It does the same thing as define, except only once at init time.
This means that after re-running the GUI defines, they'll get
the updated value of a default gui variable.
2017-12-12 23:02:13 -05:00
Tom Rothamel 8032bad2bd Add gui.rebuild. 2017-12-12 22:42:30 -05:00
Tom Rothamel da7e1cbed3 Improve module pickling.
Ren'Py now reports a more useful error if config.developer is true,
and suppresses the error if it's false.
2017-12-11 23:24:36 -05:00
Tom Rothamel 3b6cf82b8a Always call choose_attributes if present.
This fixes an issue with AttributeImage where if we did:

show foo bar
show foo at right

The attributes would all go away.

Fixes #1293.
2017-12-11 22:01:00 -05:00
Tom Rothamel e31bfa7c0c Use scrollbars to set child_size.
Based on #1311.
2017-12-10 21:26:49 -05:00
Tom Rothamel 826d6a1b97 Compat out GC changes. 2017-12-10 14:01:54 -05:00
Tom Rothamel 90402e3ee1 Same change, but on the style inspector side. 2017-12-09 23:26:33 -05:00
Tom Rothamel 6c750637e7 Add style property priority.
The resolves obvious ambiguities in styles, like making xpos take
priority over xalign. (This is to fix an issue with gui.rpy where
we can supply both xalign and xpos.)
2017-12-09 22:45:56 -05:00
Tom Rothamel d59eb4e55c Custom statements can now define a label. 2017-12-09 01:11:19 -05:00
Tom Rothamel 0995a94959 Apply translations before removing !t.
Fixes #1294.
2017-12-08 22:37:03 -05:00
Tom Rothamel 8e2e857a85 multiple: Add multiple support to NVL. 2017-12-08 01:35:53 -05:00
Tom Rothamel 33f896c06e Do an expensive prediction step once per frame, even if we need to redraw.
By limiting how long we spend in expensive prediction, we can do it
even when we're drawing text.
2017-12-07 22:20:50 -05:00
Tom Rothamel 2f573d1d12 Fix the style.inspect order.
This will better match build_style(), in the case of an ambiguous
style.
2017-12-07 20:40:58 -05:00
Tom Rothamel cba1e797a3 Use the tag of the screen when finding a screen to replace.
This allows us to have multiple instances of the same screen
with different tags up at once, as is done in multiple text
mode.
2017-12-07 01:59:10 -05:00
Tom Rothamel 939af5b140 multiple: Use the screen tag when looking up the what displayable. 2017-12-07 01:58:25 -05:00
Tom Rothamel e49be306f5 multiple: Use styles to distinguish multiple dialogue.
This should often let us use multiple dialogue without having to
come up with all new screens and characters.
2017-12-07 00:53:21 -05:00
Tom Rothamel 737d1e69ed multiple: Pass things down through display_say and show_display_say. 2017-12-06 23:58:22 -05:00
Tom Rothamel 0db019cfd4 multiple: Support for generating multiple from a character argument. 2017-12-06 20:45:48 -05:00
Tom Rothamel 701dd434fc Abort all slow text on the screen at once. 2017-12-06 01:14:40 -05:00
Tom Rothamel aa0708b331 Ensure that SL2 caches are of the correct type.
Fixes #1313 and then some.
2017-12-05 21:33:40 -05:00
Tom Rothamel cd1f80f4be Avoid taking states from the target of an ImageReference.
This fixes a problem that occurred when we had:

image a a:
   zoom .5

image a b:
   zoom .5

show a a
pause
show a b:
   xoffset 10

The first zoom would be taken from a a, and put into the new
transform created by the show statement, and then we'd have
a b also contribute it's zoom, and so we'd have a .25 zoom
total.
2017-12-04 22:22:08 -05:00
Tom Rothamel 51556030d0 Document slow_abortable. 2017-12-04 17:54:52 -05:00
Tom Rothamel 741a7786da Compat config.zap_transient. 2017-12-04 00:01:37 -05:00
Tom Rothamel cf290d3447 Include sphinx source in the source distribution. 2017-12-03 22:51:20 -05:00
Tom Rothamel 0e6da9b140 Various VC updates & set version to 6.99.13.1. 2017-12-03 17:06:19 -05:00
Tom Rothamel d19abf3af1 Remove generated docs from version control. 2017-12-03 16:47:55 -05:00
Tom Rothamel ed3573068c Avoid writing .android.json if it hasn't changed. 2017-12-03 12:38:05 -05:00
Tom Rothamel 738c8672c4 Merge pull request #1312 from elizagamedev/bugfix/text-layout
Fix major text segment layout regression.
2017-12-03 01:27:12 -05:00
Eliza Velasquez bf8aaa3bd0 Fix major text segment layout regression.
0777826d introduces some major regressions, including breaking the
behavior of `{w}` and `{p}` tags, hyperlinks, and ruby text. This commit
correctly copies over the necessary information from `splits_from` in
the `Layout` constructor (as far as I can tell), and preserves the value
of `start_segment` in `Layout` objects so that it can be copied
properly.
2017-12-03 01:21:26 -05:00
Tom Rothamel b644aa274e Update docs. 2017-12-03 00:38:47 -05:00
Tom Rothamel af333b071f Fix get_focus. 2017-12-02 23:08:07 -05:00
Tom Rothamel 31d55cb65e New tooltip system.
Fixes #1309.
2017-12-02 22:36:57 -05:00
Tom Rothamel 4285cf6dcb Add a tooltip attribute to all displayables. 2017-12-01 22:33:01 -05:00
Tom Rothamel 22a1a4b5dc Delay expensive work (gc and prediction) until the fourth frame
from an interaction.

The second frame might start late, so this lets us make up time
before it begins in earnest.
2017-12-01 21:53:21 -05:00
Tom Rothamel 54b962454f Prevent the audio periodic thread from blocking the main thread.
It seems like when an android phone goes to sleep, it's possible
for something in the audio thread to block. That was causing the
audio periodic thread to block, and since the recent changes, the
main thread as well.

Now, we use a separate condition to tell the periodic thread to
run, so if the periodic thread is blocked, the main thread will
always make progress.

This probably also can improve performance of the main thread
in some rare cases.

Fixes #1301.
2017-11-30 23:02:43 -05:00
Tom Rothamel b6cb2d8bdc Import _ssl.
This ensures it's distributed on Windows.
2017-11-29 20:23:07 -05:00
Tom Rothamel efdf1c8976 GC: Gc during idle time in a frame. 2017-11-28 22:54:07 -05:00
Tom Rothamel 7ff29461ef Disable gc debugging on quit.
Stops pointless reporting from moving away interesting messages.
2017-11-28 22:54:07 -05:00
Tom Rothamel 15a3b308d4 Merge pull request #1307 from Ria-kon/master
Russian translation (_choose_renderer)
2017-11-28 16:47:23 -05:00
Ria-kon 55ac0b9b7e Add files via upload 2017-11-28 22:39:31 +02:00
Ria-kon 2e4dd7a3e3 Small fix in The Question
Russians do this stuff only if this was in a quotation.
Like:
-Hello?
-What do you need?
-Oh, nothing.
-But you say "Hello?"!
-Just kidding.
2017-11-28 22:38:26 +02:00
Tom Rothamel a88eb1346b Fix issue with keywords and slcontext. 2017-11-27 23:38:23 -05:00
Tom Rothamel df56d4bb55 Eliminate reference cycles through Displayable._main. 2017-11-27 06:41:32 -05:00
Tom Rothamel 59aebd730f Eliminate reference cycles through SL scope. 2017-11-27 06:40:00 -05:00
Tom Rothamel 12b7ba39bb Add a way of finding memory cycles. 2017-11-27 06:14:50 -05:00
Tom Rothamel dc9575c833 Use an environment variable to disable stdio redirection.
(So we can use debuy prints to help profile.)
2017-11-27 06:05:07 -05:00
Tom Rothamel 0de81e177b If the refresh rate is zero, use 60.
Fixes #1306.
2017-11-27 05:58:55 -05:00
Tom Rothamel acbcc9f944 Remove reference loop in screen scopes. 2017-11-26 21:39:15 -05:00
Tom Rothamel 46be6434f6 Prevent reference cycle involving SLContext.
This makes the garbage collector run even less often.
2017-11-26 21:30:48 -05:00
Tom Rothamel 6bf5562817 Tune GC.
The garbage collector was tuned to run too frequently, to the point
where it would run during every .subsurface() call. This bumps up
the threshold significantly, preventing most GC.
2017-11-26 21:25:45 -05:00
Tom Rothamel c5d28f1c57 When a color value is in error, report the value to ease debugging. 2017-11-26 13:15:49 -05:00
Tom Rothamel 33f696ee50 Make the_question version translatable. 2017-11-26 13:15:49 -05:00
Tom Rothamel 8685b8f5ea Merge pull request #1302 from Ria-kon/master
Russian The Question (Ren'Py 7 edition)
2017-11-25 20:37:31 -05:00
Tom Rothamel 4d6e5ca9d9 Merge pull request #1295 from elizagamedev/line-ending
id: Use appropriate line endings.
2017-11-25 00:10:25 -05:00
Tom Rothamel 58ec3e4344 GL Performance options. 2017-11-24 09:51:52 -05:00
Tom Rothamel 3033443e8e Remove debug print_stack. 2017-11-24 00:45:41 -05:00
Tom Rothamel 75ce37362d Adjust render cache times.
This prevents the previous commit from causing render cache misses.
2017-11-24 00:45:10 -05:00
Tom Rothamel 7f2b53ec9a Use the first frame of an interacton to base st/at.
This only matters when a frame is very slow - like if a ton of
rendering has to be done, on an unpredicted image load. If
rendering the first frame took .1 seconds, the second frame of
a transform and move would be .1 later than the first.

Now, it's 1 frame later - the .1s becomes time spent before
the first frame, rather than time spend between frames.
2017-11-24 00:23:20 -05:00
Tom Rothamel e97b832367 Redirect newline printing. 2017-11-23 10:49:19 -05:00
Tom Rothamel e707273f3f Prevent prediction from starving framerate.
This limits prediction time to 1ms when can_block  is false,
and ends predictions when an event is pending.
2017-11-23 00:38:21 -05:00
Tom Rothamel e60aa3e532 Change how we do the broken vsync sleep.
Intel chips seem to block on glClear, not the flip, so measuring
the flip speed could add pauses when none are appropriate. We now
only sleep once we accumulate enough fast frames.
x
2017-11-22 23:27:16 -05:00
Tom Rothamel f750bf1409 Do not fill the shift+O console with performance data. 2017-11-22 22:49:49 -05:00
Tom Rothamel cf0b5a0c88 Add config.say_attribute_transition_layer.
This allows the say attribute transition to take place in the background
on the master layer, rather than blocking execution.
2017-11-22 17:19:41 -05:00
Tom Rothamel 6de1a3ceb0 Document the new preferences. 2017-11-21 17:47:46 -05:00
Tom Rothamel 73055a5df3 Expose gl preferences. 2017-11-21 17:37:51 -05:00
Tom Rothamel 2751a774f4 Add gl performance preferences.
* gl_powersave controls the framerate dropping behavior.
* gl_framerate locks the gl framerate.
* gl_tearing determines if tearing is allowed to keep framerate.
2017-11-21 17:34:51 -05:00
Tom Rothamel aded40197e Implement max framerate in terms of can_block. 2017-11-21 13:51:34 -05:00
Tom Rothamel 5f830795b1 Add the gl_performance preference.
This determines if Ren'Py slows down to 5fps if there's no good
reason to keep drawing the screen.
2017-11-21 13:49:04 -05:00
Tom Rothamel 69f6a7bd35 Save fixed preferences. 2017-11-21 13:43:05 -05:00
Tom Rothamel 5f2dfc242b Reuse the DictItems rather than always making new ones. 2017-11-21 02:11:34 -05:00
Tom Rothamel bcd370d497 Avoid beginning and completing rollbacks.
This commit makes Ren'Py smarter about where it starts and ends a
rollback object. Rather then for (essentially) every statement,
it only starts a new rollback after a checkpoint or an interaction
occurs. This makes Ren'Py much faster, to the tune of 1ms or so per
click.

This also avoids beginning or completing a rollback on trivial
statements - right now, BeginTranslate and EndTranslate are the
trival statements that are ignored.
2017-11-20 23:31:31 -05:00
Tom Rothamel 5ad18b72d4 Remove plog. 2017-11-20 23:29:55 -05:00
Ria-kon f26d1b301e Clean useless code 2017-11-21 02:21:36 +02:00
Ria-kon 4d4e61a33e Translation for The Question 2017-11-21 02:20:30 +02:00
Ria-kon 1a7302b480 Changes of UI and translatable text
No examples, but languages
2017-11-21 02:16:50 +02:00
Tom Rothamel d1f065c4b9 Access config in the proper manner. 2017-11-19 19:23:49 -05:00
Tom Rothamel 895ae72c8e Add the outlinecolor text tag. 2017-11-19 18:49:40 -05:00
Tom Rothamel bbd858d79a Add a fast path for showing the empty window.
A character does a lot of text processing on its usual path, none
of which is relevant when the text is empty. So we can skip it.
2017-11-19 15:49:05 -05:00
Tom Rothamel 4d3fcd5ae3 Speed up eval_who.
Saves 10+ms! on the first line of dialogue with a character's
name in it.
2017-11-19 14:46:06 -05:00
Tom Rothamel 5607b3be92 Speed up creation of Glyph objects. 2017-11-19 12:27:25 -05:00
Tom Rothamel 0777826d8c Share segmentation info between renders of the same text. 2017-11-19 11:52:54 -05:00
Tom Rothamel 58508655c7 Avoid repeated gil lock/unlock when making glyphs. 2017-11-19 11:42:51 -05:00
Tom Rothamel dab3c9aac7 Use correct types for tweak_glyph_spacing.
This makes it much faster, as we don't have to create and destroy
Python objects.
2017-11-19 03:44:04 -05:00
Tom Rothamel 515cd28c69 performance: Improve performance logging.
* Better locations for statement start/end.
* PPP can take an optional number.
* Defer formatting.
2017-11-19 00:35:52 -05:00
Tom Rothamel 43bd86cc20 Add a plog for the start of execution of the actual statement. 2017-11-18 22:46:22 -05:00
Tom Rothamel 23cd75fc7b Prevent list compression from blocking complete.
List compression would slice a list, creating a RevertableList,
which would cause complete to restart. This fixes that issue,
saving 70us or so.
2017-11-18 22:28:50 -05:00
Tom Rothamel 28aa83e68a Use a non-RevertableList for log messages.
It won't get revered, and the updates can interfere if something prints
while the list is being processed.
2017-11-18 22:01:13 -05:00
Tom Rothamel 5cc2dd4d83 pydict: Remove commented-out lines. 2017-11-18 15:37:23 -05:00
Tom Rothamel 910d8f1dc0 pydict: Use custom quicksort for dictionary keys.
This speeds things up because we don't need to call functions for
each comparison.

And you get a bonus selection sort, too.
2017-11-18 15:31:05 -05:00
Tom Rothamel d8531fc5b3 Add a cython implementation of the code to find dict changes. 2017-11-18 12:31:48 -05:00
Tom Rothamel dc747cb9ee pydict: Add DictItems
This is a class that keeps the contents of a dictionary around
in sorted order.
2017-11-18 03:26:29 -05:00
Tom Rothamel 022c07c41d Prevent very early log exceptions. 2017-11-18 02:23:25 -05:00
Tom Rothamel 682446794a Add performance logging before peek/wait. 2017-11-18 00:32:25 -05:00
Tom Rothamel c48306290a Share a style that references default.
This is used when we create a displayable with style="default" and
no properties, and saves about 10us each time we do that, which is
multiple times per frame.

This also changes Transform and certain Fixeds to use the default
style, to benefit from this.
2017-11-18 00:19:53 -05:00
Tom Rothamel 0652ae22ba Fix issue with previous commit. 2017-11-18 00:16:19 -05:00
Tom Rothamel 4f6fd81576 Avoid updating an empty say screen on with_none. 2017-11-18 00:11:44 -05:00
Tom Rothamel 010bef8358 Add the PPP function.
This is a global function that can be used to temporarily add
something to the performance log.
2017-11-17 23:59:57 -05:00
Tom Rothamel c048b85d58 Zap transients.
Previously, Ren'Py would check to see if a transient displayable
(often a screen) had a _hide method. They never did, but this
could be very expensive.

Now, Ren'Py will just remove transient screens, avoiding
rendering things for no reason.
2017-11-17 22:09:03 -05:00
Tom Rothamel b5eeffe505 Remove a renpy.plog. 2017-11-17 21:24:37 -05:00
Tom Rothamel d88a3cb492 Cache py_compile.
Compiling python take ~100 us, and it's something we'd have to do
multiple times per frame. This stores the compiled bytecode in
a cache, and tries to compile every PyExpr at parse/load to
seed that cache.
2017-11-17 21:18:20 -05:00
Tom Rothamel 449f9ff05d renpy.performance.log -> renpy.plog. 2017-11-17 19:35:06 -05:00
Tom Rothamel 921f25b39d Tweak profiling. 2017-11-17 01:41:59 -05:00
Tom Rothamel cac10a8781 Make profiling more end-usable. 2017-11-17 01:09:13 -05:00
Tom Rothamel 3b15a8de49 Use _p for about in options. 2017-11-16 22:43:50 -05:00
Tom Rothamel f6ca2bbc2d Perform a full GC on interface start. 2017-11-16 10:29:22 -05:00
Tom Rothamel 520a9c9baf Improve UserStatement repr. 2017-11-16 10:26:17 -05:00
Tom Rothamel 18a8b47f20 Only create REDRAW events if we can block. 2017-11-16 10:11:12 -05:00
Tom Rothamel 2b27055d64 Process frame before events. 2017-11-15 23:59:22 -05:00
Eliza Velasquez 8d6edb5537 id: Use appropriate line endings. 2017-11-15 02:23:34 -05:00
Tom Rothamel c926fb17c2 Use performance log infrastructure. 2017-11-14 17:11:25 -05:00
Tom Rothamel 8218a10968 Add a new performance log infrastructure. 2017-11-14 17:11:11 -05:00
Tom Rothamel 9d296b3a77 Tweak the profiling threshold. 2017-11-14 02:42:31 -05:00
Tom Rothamel 1a9c03897b FPS screen work. 2017-11-14 02:37:48 -05:00
Tom Rothamel 8ad65ddde0 Add a TimeLog class.
This is a log that stores info based on time.
2017-11-13 23:18:13 -05:00
Tom Rothamel 04dce83592 Display fps. 2017-11-13 02:55:43 -05:00
Tom Rothamel 156c4e8af7 Add the performance screen and access to it. 2017-11-12 23:21:47 -05:00
Tom Rothamel f14f2e2194 Add the ToggleScreen action.
This shows a screen if it is not already shown, and hides it if
it's already showing.
2017-11-12 22:54:31 -05:00
Tom Rothamel a71947c9bd Add config.per_frame_screens.
This is really for the FPS-meter, but we can make it available
to creators, too.
2017-11-12 17:52:32 -05:00
Tom Rothamel 59434177cd Add config.gl_clear_color.
This is a variable that lets you set the color of the letterboxes
and pillarboxes used by a GL window that doesn't match the game.
2017-11-12 01:41:59 -05:00
Tom Rothamel 9a89806569 id: Search for the next line when re-adding a line.
When we change a line, remove it, and re-add it, there's no
guarantee the next line is at the line number. (There could be a space
intervening.) So we have to search forward for the next line.
2017-11-11 22:17:03 -05:00
Tom Rothamel 81bfb899b2 Ask the draw object if it's okay to block on input. 2017-11-11 19:20:38 -05:00
Tom Rothamel 76e6eef09c Add renpy.exports.get_on_battery().
It'll be used to control adaptive framerate, but why not expose
it as an API?
2017-11-11 18:45:17 -05:00
Tom Rothamel 505805eb4a Redraw for 4 frames after a screen update.
The idea is that if there's any frame by frame buffering in
the GPU pipeline, this will force what the player wants to
see out onto their screen.
2017-11-11 17:14:03 -05:00
Tom Rothamel 3d4fbb7664 Merge pull request #1292 from nyaatrap/master
Update Japanese translation
2017-11-10 22:44:04 -05:00
nyaatraps 4e8c424d15 Update Japanese translation 2017-11-10 17:45:21 +09:00
Tom Rothamel e99c459374 id: Ignore unimportant nodes.
This mostly includes the label and pass nodes on a call line,
which, when shown, make it look like a return is executing
the call again.
2017-11-10 01:53:08 -05:00
Tom Rothamel 7b95263e88 Better tracking of abnormal execution flow. 2017-11-10 01:41:35 -05:00
Tom Rothamel a2aa839b3a id: Only use old image attributes when changing an image. 2017-11-10 00:22:19 -05:00
Tom Rothamel 97da318e02 Fix issues with elide/unelide_filename.
* Do not add a / when eliding relative pathnames.
  (This is the root cause of #1267 on the mac)
* Search renpy_base when looking to unelide a pathname.
2017-11-09 22:55:15 -05:00
Tom Rothamel 58a594f7cb Update changelog. 2017-11-08 22:16:43 -05:00
Tom Rothamel 58d442e3b2 Allow a DynamicImage with a list for a name will be hashed.
Fixes #1290.
2017-11-07 18:24:35 -05:00
Tom Rothamel ddcd1e5a96 DynamicImage checks renpy.config.missing_image_callback for images. 2017-11-07 01:17:12 -05:00
Tom Rothamel e50d074293 Add im.Data.
This is a new image manipulator that loads raw binary image
data, as might be returned from the requests library.
2017-11-06 22:44:41 -05:00
Tom Rothamel 6a93bdafd4 Add config.loadable_callback. 2017-11-06 21:47:19 -05:00
Tom Rothamel 7be6781557 Remove unnecessary line that caused a crash.
Fixes #1288.
2017-11-05 16:18:47 -05:00
Tom Rothamel b48ab25a2e Import sys. 2017-11-04 11:05:34 -04:00
Tom Rothamel 97daa37db0 Only distribute TLS/SSL if it's used.
We check to see if the module is imported, and do not include
it if it's not going to be used.
2017-11-03 19:22:38 -04:00
Tom Rothamel 34b413a665 Defer importing urllib until it's needed.
This prevents ssl from being pulled in by the Ren'Py standard
library.
2017-11-03 19:21:50 -04:00
Tom Rothamel 7432ca4d5e Document the plain tag and reorganize text tags. 2017-11-01 21:33:11 -04:00
Tom Rothamel 30595959fa Support lowering a drag. 2017-11-01 20:44:23 -04:00
Tom Rothamel 3333790944 Recognize and ignore AltGr on Windows.
On Windows, AltGr generates a pair of events, LCTRL and RALT.
This notices that sequence and prevents skipping from occurring
when it is encountered.
2017-10-31 22:52:37 -04:00
Tom Rothamel f03b8ef631 Input only ignores on LALT, as RALT can be AltGr. 2017-10-31 21:52:34 -04:00
Tom Rothamel fb3eef8a90 Improve locking WRT get_playing.
Fixes a problem with movie playback.
2017-10-30 10:27:03 -04:00
Tom Rothamel 5a9693b3f1 Update changelog. 2017-10-29 13:48:14 -04:00
Tom Rothamel c4be3b1adf Compat ATL multiple events. 2017-10-29 11:38:11 -04:00
Tom Rothamel 4f1a38d4dd Allow ATL to respond to multiple events delivered at once.
This works when a displayable is given the show event and its
button child generates the idle event - both are delivered to
the transform, with the one it supports being what it responds
to.
2017-10-28 18:46:28 -04:00
Tom Rothamel 6b54016265 Merge pull request #1281 from Ria-kon/master
Let's translate gui.nvl_list_length to Russian
2017-10-28 16:25:44 -04:00
Ria-kon f91d2e7d49 Let's translate gui.nvl_list_length 2017-10-28 09:13:59 +03:00
Tom Rothamel 786dbfd717 Use gui.nvl_list_length to set config.nvl_list_lengthj.
This makes this important variable settable in gui.rpy.
2017-10-28 01:19:20 -04:00
Tom Rothamel 6631f2f631 Update the changelog. 2017-10-26 10:23:20 -04:00
Tom Rothamel 3b9fbaf4f4 Fix typo. 2017-10-26 10:14:08 -04:00
Tom Rothamel b51e0326d3 Update credits. 2017-10-25 21:07:08 -04:00
Tom Rothamel 5a82f0ea64 Merge pull request #1279 from Ria-kon/master
Minor russian stylistic update
2017-10-24 19:15:12 -04:00
Tom Rothamel e4e0973a40 Merge pull request #1280 from gregorypease280/patch-1
fix typo
2017-10-24 18:41:02 -04:00
Tom Rothamel 1336cf7727 Add config.preload_fonts. 2017-10-23 21:58:47 -04:00
Tom Rothamel 5240512ec8 Avoid clearing the face cache.
We're going to want to keep it for performance, as it's one of the
few things that loads files from the main thread.
2017-10-23 20:49:30 -04:00
Tom Rothamel 8db07187cd Fix a problem caused when file isn't a class. 2017-10-23 00:24:35 -04:00
Gregory Pease 7144167246 fix typo 2017-10-22 13:58:09 -07:00
Tom Rothamel 9e7349f3df Also monkeypatch the file function. 2017-10-22 15:03:02 -04:00
Tom Rothamel 9a94417b31 Optionally monkeypatch open to catch files opened in the main thread. 2017-10-22 14:59:52 -04:00
Ria-kon 8010c4082a Minor russian stylistic update 2017-10-22 21:59:10 +03:00
Tom Rothamel 1312d5b343 Create music contexts out of the periodic function.
This prevents a problem where creating them in the context can
interfere with rollback.

Fixes #1278.
2017-10-21 15:11:36 -04:00
Tom Rothamel ee1503e54f More locking. 2017-10-21 01:33:23 -04:00
Tom Rothamel f55bd9ed10 Make the audio periodic thread optional. 2017-10-21 01:26:22 -04:00
Tom Rothamel 3d2ae9cb18 Move renpy.audio.periodic into its own thread.
Per #1174.

This is one of the few places where Ren'Py reads from a file,
completely unpredictably. Hence, it's one of the few places
where disk access outside Ren'Py can block the main thread.

Now, audio files are opened in a special thread, leaving the
GUI thread to do its thing.
2017-10-20 22:35:13 -04:00
933 changed files with 58270 additions and 64963 deletions
+6
View File
@@ -49,6 +49,7 @@ styles.txt
/module/build
/module/gen*
/editra
/atom
/launcher/game/theme
/launcher/game/script_version.rpy
@@ -76,3 +77,8 @@ renpy/vc_version.py
/*-linux*/
/*-dists/
doc-web
sphinx/source/inc
sphinx/source/thequestion.rst
tutorial/game/tutorial_director.rpy
launcher/theme
+11 -10
View File
@@ -2,7 +2,7 @@
The Ren'Py Visual Novel Engine
==============================
http://www.renpy.org
https://www.renpy.org
Ren'Py development takes place on the ``master`` branch, and occasionally
on feature branches.
@@ -11,21 +11,21 @@ on feature branches.
Getting Started
===============
Ren'Py depends on a number of python modules written in Cython and C. For
changes to Ren'Py that only involve python modules, you can use the modules
Ren'Py depends on a number of Python modules written in Cython and C. For
changes to Ren'Py that only involve Python modules, you can use the modules
found in the latest nightly build. Otherwise, you'll have to compile the
modules yourself.
The development scripts assume a POSIX-like platform. The scripts should run
on Linux or Mac OS X, and can be made to run on Windows using an environment
like Msys.
on Linux or macOS, and can be made to run on Windows using an environment
like MSYS.
Nightly Build
-------------
Nightly builds can be downloaded from:
http://nightly.renpy.org
https://nightly.renpy.org
Note that the latest nightly build is at the bottom of the list. Once you've
unpacked the nightly, change into this repository, and run::
@@ -76,10 +76,11 @@ Then, install pygame_sdl2 by running the following commands::
python setup.py install_headers
popd
Next, set RENPY_DEPS_INSTALL To a \::-separated list of paths containing the
dependencies, and RENPY_CYTHON to the name of the cython command::
Next, set RENPY_DEPS_INSTALL To a \:-separated (\;-separated on Windows)
list of paths containing the dependencies, and RENPY_CYTHON to the name
of the cython command::
export RENPY_DEPS_INSTALL="/usr::/usr/lib/x86_64-linux-gnu/"
export RENPY_DEPS_INSTALL="/usr:/usr/lib/x86_64-linux-gnu/"
export RENPY_CYTHON=cython
Finally, use setup.py in the Ren'Py ``module`` directory to compile and
@@ -154,7 +155,7 @@ Translating
For best practices when it comes to translating the launcher and template
game, please read:
http://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
https://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
Contributing
+14
View File
@@ -19,3 +19,17 @@ Translation to the Russian language. Most of translation provided by Project
Gardares, especially Ria-kon.
* Project Gardares <guardares@gmail.com>
Malay
---------
Translation to the Malay language. This will be translated to both writing
systems used in Malay, namely the Latin-based Rumi script system and the
Arabic-based Jawi script system, to provide compatibility in some areas where
there is still exist Malay people who still cannot read their language in the
newer Rumi script system, or refused to use it. The translation is being made
as general and native as possible to cover the entire region that uses Malay
language, this means native words take precedence over loanwords if and only if
both native and loanwords exist and both are suitable in the context of use.
* Muhammad Nur Hidayat (MNH48) <translation@mnh48.moe>
+8 -1
View File
@@ -11,7 +11,6 @@ from renpy import version_tuple # @UnresolvedImport
SOURCE = [
"/home/tom/ab/renpy",
"/home/tom/ab/android/",
"/home/tom/ab/android/python-for-android",
"/home/tom/ab/ripe/renios",
"/home/tom/ab/renpy-deps",
"/home/tom/ab/pygame_sdl2",
@@ -103,7 +102,15 @@ for i in links:
os.unlink(i)
os.symlink(short_version, i)
os.chdir("/home/tom/ab/website")
subprocess.check_call("./upload.sh")
os.chdir("/home/tom/ab/renpy/sphinx")
if args.release:
subprocess.check_call("./upload.sh")
elif args.prerelease:
subprocess.check_call("./upload_dev.sh")
print("Version", version)
+9 -2
View File
@@ -47,12 +47,13 @@ def main():
raise Exception("Not running with python optimization.")
ap = argparse.ArgumentParser()
ap.add_argument("version")
ap.add_argument("version", nargs="?")
ap.add_argument("--fast", action="store_true")
ap.add_argument("--pygame", action="store", default=None)
ap.add_argument("--no-rapt", action="store_true")
ap.add_argument("--variant", action="store")
ap.add_argument("--sign", action="store_true")
ap.add_argument("--sign", action="store_true", default=True)
ap.add_argument("--nosign", action="store_false", dest="sign")
args = ap.parse_args()
@@ -66,6 +67,9 @@ def main():
# file has changed, bump it by 1.
import renpy
if args.version is None:
args.version = ".".join(str(i) for i in renpy.version_tuple[:-1]) # @UndefinedVariable
match_version = ".".join(str(i) for i in renpy.version_tuple[:2]) # @UndefinedVariable
s = subprocess.check_output([ "git", "describe", "--tags", "--dirty", "--match", "start-" + match_version ])
@@ -103,6 +107,9 @@ def main():
if args.variant:
destination += "-" + args.variant
if os.path.exists(os.path.join(destination, "checksums.txt")):
raise Exception("The checksums.txt file exists.")
print("Version {} ({})".format(args.version, full_version))
# Perhaps autobuild.
+8 -1
View File
@@ -122,7 +122,7 @@ define gui.namebox_height = None
define gui.namebox_borders = Borders(5, 5, 5, 5)
## If True, the background of the namebox will be tiled, if False, the background
## if the namebox will be scaled.
## of the namebox will be scaled.
define gui.namebox_tile = False
@@ -212,6 +212,7 @@ define gui.choice_button_text_size = gui.text_size
define gui.choice_button_text_xalign = 0.5
define gui.choice_button_text_idle_color = "#cccccc"
define gui.choice_button_text_hover_color = "#ffffff"
define gui.choice_button_text_insensitive_color = "#444444"
## File Slot Buttons ###########################################################
@@ -227,6 +228,8 @@ define gui.slot_button_borders = Borders(gui.scale(10), gui.scale(10), gui.scale
define gui.slot_button_text_size = gui.scale(14)
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## The width and height of thumbnails used by the save slots.
define config.thumbnail_width = gui.scale(256)
@@ -360,6 +363,10 @@ define gui.history_text_xalign = 0.0
## The borders of the background of the NVL-mode background window.
define gui.nvl_borders = Borders(0, gui.scale(10), 0, gui.scale(20))
## The maximum number of NVL-mode entries Ren'Py will display. When more
## entries than this are to be show, the oldest entry will be removed.
define gui.nvl_list_length = 6
## The height of an NVL-mode entry. Set this to None to have the entries
## dynamically adjust height.
define gui.nvl_height = gui.scale(115)
+4 -3
View File
@@ -28,10 +28,11 @@ define gui.show_name = True
define config.version = "1.0"
## Text that is placed on the game's about screen. To insert a blank line
## between paragraphs, write \n\n.
## Text that is placed on the game's about screen. Place the text between
## the triple-quotes, and leave a blank line between paragraphs.
define gui.about = _("")
define gui.about = _p("""
""")
## A short name for the game used for executables and directories in the
+6 -2
View File
@@ -442,6 +442,7 @@ screen game_menu(title, scroll=None, yinitial=0.0):
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
side_yfill True
@@ -457,6 +458,7 @@ screen game_menu(title, scroll=None, yinitial=0.0):
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
side_yfill True
@@ -902,13 +904,15 @@ screen history():
label h.who:
style "history_name"
substitute False
## Take the color of the who text from the Character, if set.
if "color" in h.who_args:
text_color h.who_args["color"]
$ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
text what
text what:
substitute False
if not _history_list:
label _("The dialogue history is empty.")
@@ -1343,7 +1347,7 @@ screen nvl_dialogue(dialogue):
## This controls the maximum number of NVL-mode entries that can be displayed
## at once.
define config.nvl_list_length = 6
define config.nvl_list_length = gui.nvl_list_length
style nvl_window is default
style nvl_entry is default
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+38 -77
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -28,7 +28,7 @@ init python:
ANDROID_OK = 5
NO_RAPT_TEXT = _("To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_SDK_TEXT = _("RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this.")
NO_KEY_TEXT = _("RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore.")
NO_CONFIG_TEXT = _("The current project has not been configured. Use \"Configure\" to configure it before building.")
@@ -45,10 +45,11 @@ init python:
BUILD_AND_INSTALL_TEXT = _("Builds the Android package, and installs it on an Android device connected to your computer.")
BUILD_INSTALL_AND_LAUNCH_TEXT = _("Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device.")
CONNECT_TEXT = _("Connects to an Android device running ADB in TCP/IP mode.")
DISCONNECT_TEXT = _("Disconnects from an Android device running ADB in TCP/IP mode.")
LOGCAT_TEXT = _("Retrieves the log from the Android device and writes it to a file.")
DEBUG_TEXT = _("Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device.")
RELEASE_TEXT = _("Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device.")
import subprocess
import re
@@ -83,6 +84,8 @@ init python:
import rapt.interface
rapt.plat.renpy = True
rapt.plat.translate = __
else:
rapt = None
@@ -95,11 +98,9 @@ init python:
return ANDROID_NO_RAPT
if renpy.windows and not "JAVA_HOME" in os.environ:
return ANDROID_NO_JDK
if not os.path.exists(rapt.plat.path("android-sdk/platforms/" + rapt.plat.target)):
if not os.path.exists(rapt.plat.adb):
return ANDROID_NO_SDK
if not os.path.exists(rapt.plat.path("android.keystore")):
return ANDROID_NO_KEY
if not os.path.exists(rapt.plat.path("local.properties")):
if not os.path.exists(rapt.plat.path("project/local.properties")):
return ANDROID_NO_KEY
if not os.path.exists(os.path.join(project.current.path, ".android.json")):
return ANDROID_NO_CONFIG
@@ -164,6 +165,8 @@ init python:
with open(filename, "r") as f:
android_json = json.load(f)
old_android_json = dict(android_json)
if "google_play_key" in build:
android_json["google_play_key"] = build["google_play_key"]
else:
@@ -178,9 +181,11 @@ init python:
else:
android_json.pop("google_play_salt", None)
if android_json != old_android_json:
with open(filename, "w") as f:
json.dump(android_json, f)
with open(filename, "w") as f:
json.dump(android_json, f)
def android_build(command, p=None, gui=True, launch=False, destination=None, opendir=False):
"""
@@ -264,6 +269,10 @@ init python:
rapt.build.build(rapt_interface, dist, command, launch=launch, finished=finished)
def android_build_argument(cmd):
return cmd + project.current.data["android_build"]
# The android support can stick unicode into os.environ. Fix that.
init 100 python:
@@ -358,6 +367,20 @@ screen android:
has vbox
hbox:
spacing 15
textbutton _("Debug"):
action SetDict(project.current.data, "android_build", "Debug")
hovered tt.Action(DEBUG_TEXT)
textbutton _("Release"):
action SetDict(project.current.data, "android_build", "Release")
hovered tt.Action(RELEASE_TEXT)
add HALF_SPACER
textbutton _("Install SDK & Create Keys"):
action AndroidIfState(state, ANDROID_NO_SDK, Jump("android_installsdk"))
hovered tt.Action(INSTALL_SDK_TEXT)
@@ -393,14 +416,6 @@ screen android:
has vbox
textbutton _("Remote ADB Connect"):
action AndroidIfState(state, ANDROID_OK, Jump("android_connect"))
hovered tt.Action(CONNECT_TEXT)
textbutton _("Remote ADB Disconnect"):
action AndroidIfState(state, ANDROID_OK, Jump("android_disconnect"))
hovered tt.Action(DISCONNECT_TEXT)
textbutton _("Logcat"):
action AndroidIfState(state, ANDROID_NO_KEY, Jump("logcat"))
hovered tt.Action(LOGCAT_TEXT)
@@ -465,74 +480,20 @@ label android_configure:
label android_build:
$ android_build([ 'release' ], opendir=True)
$ android_build([ android_build_argument("assemble") ], opendir=True)
jump android
label android_build_and_install:
$ android_build([ 'release', 'install' ])
$ android_build([ android_build_argument("install") ])
jump android
label android_build_install_and_launch:
$ android_build([ 'release', 'install' ], launch=True)
jump android
label android_connect:
python hide:
if persistent.connect_address is not None:
address = persistent.connect_address
else:
address = ""
while True:
address = interface.input(
_("Remote ADB Address"),
_("Please enter the IP address and port number to connect to, in the form \"192.168.1.143:5555\". Consult your device's documentation to determine if it supports remote ADB, and if so, the address and port to use."),
default=address,
cancel=Jump("android"),
)
address = address.strip()
try:
host, port = address.split(":")
except:
interface.error(_("Invalid remote ADB address"), _("The address must contain one exactly one ':'."), label=None)
continue
if " " in host:
interface.error(_("Invalid remote ADB address"), _("The host may not contain whitespace."), label=None)
continue
try:
int(port)
except:
interface.error(_("Invalid remote ADB address"), _("The port must be a number."), label=None)
continue
break
persistent.connect_address = address
rapt_interface = MobileInterface("android")
rapt.build.connect(rapt_interface, address)
jump android
label android_disconnect:
python hide:
rapt_interface = MobileInterface("android")
rapt.build.disconnect(rapt_interface)
$ android_build([android_build_argument("install") ], launch=True)
jump android
@@ -552,7 +513,7 @@ init python:
def android_build_command():
ap = renpy.arguments.ArgumentParser()
ap.add_argument("android_project", help="The path to the project directory.")
ap.add_argument("ant_commands", help="Commands to pass to ant. (Try 'release' 'install'.)", nargs='+')
ap.add_argument("gradle_commands", help="Commands to pass to gradle. (Try 'installDebug' or 'assembleRelease'.)", nargs='+')
ap.add_argument("--launch", action="store_true", help="Launches the app after build and install compete.")
ap.add_argument("--destination", "--dest", default=None, action="store", help="The directory where the packaged files should be placed.")
@@ -560,7 +521,7 @@ init python:
p = project.Project(args.android_project)
android_build(args.ant_commands, p=p, gui=False, launch=args.launch, destination=args.destination)
android_build(args.gradle_commands, p=p, gui=False, launch=args.launch, destination=args.destination)
return False
+71
View File
@@ -0,0 +1,71 @@
# This file contains strings used by RAPT, so the Ren'Py translation framework
# can find them. It's automatically generated by rapt/update_translations.py, and
# hence should not be changed by hand.
init python hide:
__("{} is not a directory.")
__("{} does not contain a Ren'Py game.")
__("Run configure before attempting to build the app.")
__("Google Play support is enabled, but build.google_play_key is not defined.")
__("Updating project.")
__("Creating assets directory.")
__("Creating expansion file.")
__("Packaging internal data.")
__("I'm using Gradle to build the package.")
__("Uploading expansion file.")
__("The build seems to have failed.")
__("Launching app.")
__("The build seems to have succeeded.")
__("The armeabi-v7a version works on most phones on tablets, while the x86_64 version works on the simulator and chromebooks.")
__("What is the full name of your application? This name will appear in the list of installed applications.")
__("What is the short name of your application? This name will be used in the launcher, and for application shortcuts.")
__("What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot.")
__("The package name may not be empty.")
__("The package name may not contain spaces.")
__("The package name must contain at least one dot.")
__("The package name may not contain two dots in a row, or begin or end with a dot.")
__("Each part of the package name must start with a letter, and contain only letters, numbers, and underscores.")
__("{} is a Java keyword, and can't be used as part of a package name.")
__("What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots.")
__("The version number must contain only numbers and dots.")
__("What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions.")
__("The numeric version must contain only numbers.")
__("How would you like your application to be displayed?")
__("In landscape orientation.")
__("In portrait orientation.")
__("In the user's preferred orientation.")
__("Which app store would you like to support in-app purchasing through?")
__("Google Play.")
__("Amazon App Store.")
__("Both, in one app.")
__("Neither.")
__("Would you like to create an expansion APK?")
__("No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded.")
__("Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)")
__("Do you want to allow the app to access the Internet?")
__("Do you want to automatically update the generated project?")
__("Yes. This is the best choice for most projects.")
__("No. This may require manual updates when Ren'Py or the project configuration changes.")
__("Unknown configuration variable: {}")
__("I'm compiling a short test program, to see if you have a working JDK on your system.")
__("I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue.")
__("The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variabe to use a different version of Java.")
__("The JDK is present and working. Good!")
__("The Android SDK has already been unpacked.")
__("Do you accept the Android SDK Terms and Conditions?")
__("I'm downloading the Android SDK. This might take a while.")
__("I'm extracting the Android SDK.")
__("I've finished unpacking the Android SDK.")
__("I'm about to download and install the required Android packages. This might take a while.")
__("I was unable to accept the Android licenses.")
__("I was unable to install the required Android packages.")
__("I've finished installing the required Android packages.")
__("You set the keystore yourself, so I'll assume it's how you want it.")
__("You've already created an Android keystore, so I won't create a new one for you.")
__("I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?")
__("I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?")
__("Please enter your name or the name of your organization.")
__("Could not create android.keystore. Is keytool in your path?")
__("I've finished creating android.keystore. Please back it up, and keep it in a safe place.")
__("It looks like you're ready to start packaging games.")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -1221,7 +1221,7 @@ init python in distribute:
self.update_versions[variant] = fl.hash(self)
update = { variant : { "version" : self.update_versions[variant], "files" : update_files, "directories" : update_directories, "xbit" : update_xbit } }
update = { variant : { "version" : self.update_versions[variant], "base_name" : self.base_name, "files" : update_files, "directories" : update_directories, "xbit" : update_xbit } }
update_fn = os.path.join(self.destination, filename + ".update.json")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -56,7 +56,10 @@ init python:
try:
# Open the URL.
self.urlfile = urllib2.urlopen(url)
import ssl
context = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile=renpy.loader.transfn("cacert.pem"))
self.urlfile = urllib2.urlopen(url, context=context)
t = threading.Thread(target=self.thread)
t.daemon = True
+73 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -140,19 +140,47 @@ init 1 python in editor:
Creates the list of FancyEditorInfo objects.
"""
import platform
global fancy_editors
scan_all()
fei = fancy_editors = [ ]
# Atom.
AD = _("(Recommended) A modern and approachable text editor.")
if renpy.windows:
dlc = "atom-windows"
installed = os.path.exists(os.path.join(config.basedir, "atom/atom-windows"))
elif renpy.macintosh:
dlc = "atom-mac"
installed = os.path.exists(os.path.join(config.basedir, "atom/Atom.app"))
else:
dlc = "atom-linux"
installed = os.path.exists(os.path.join(config.basedir, "atom/atom-linux-" + platform.machine()))
e = FancyEditorInfo(
0,
"Atom",
AD,
dlc,
_("Up to 150 MB download required."),
None)
e.installed = e.installed and installed
fei.append(e)
# Editra.
ED = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
ED = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
if renpy.windows:
dlc = "editra-windows"
installed = os.path.exists(os.path.join(config.basedir, "editra/Editra-win32"))
installed = os.path.exists(os.path.join(config.basedir, "editra/editra.exe"))
description = ED
error_message = None
elif renpy.macintosh:
@@ -174,7 +202,7 @@ init 1 python in editor:
_("Up to 22 MB download required."),
error_message)
e.installed = e.installed or installed
e.installed = e.installed and installed
fei.append(e)
@@ -190,12 +218,12 @@ init 1 python in editor:
fei.append(FancyEditorInfo(
3,
"System Editor",
_("System Editor"),
_("Invokes the editor your operating system has associated with .rpy files."),
None))
for k in editors:
if k in [ "Editra", "jEdit", "System Editor", "None" ]:
if k in [ "Atom", "Editra", "jEdit", "System Editor", "None" ]:
continue
fei.append(FancyEditorInfo(
@@ -206,7 +234,7 @@ init 1 python in editor:
fei.append(FancyEditorInfo(
5,
"None",
_("None"),
_("Prevents Ren'Py from opening a text editor."),
None))
@@ -307,7 +335,7 @@ init 1 python in editor:
class Edit(Action):
alt = "Edit [text]."
alt = _("Edit [text].")
def __init__(self, filename, line=None, check=False):
"""
@@ -410,8 +438,6 @@ init 1 python in editor:
Opens all scripts that are part of the current project in a web browser.
"""
alt = "Edit [text]."
def __init__(self):
return
@@ -444,6 +470,42 @@ init 1 python in editor:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
class EditProject(Action):
"""
Opens the project's base directory in an editor.
"""
def __call__(self):
if not check_editor():
return
try:
e = renpy.editor.editor
e.begin()
e.open_project(project.current.path)
e.end()
except Exception, e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
def CanEditProject():
"""
Returns True if EditProject can be used.
"""
try:
e = renpy.editor.editor
return e.has_projects
except:
return False
screen editor:
frame:
+7 -10
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -211,18 +211,14 @@ screen front_page_project:
textbutton "gui.rpy" action editor.Edit("game/gui.rpy", check=True)
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
textbutton _("All script files") action editor.EditAll()
if editor.CanEditProject():
textbutton _("Open project") action editor.EditProject()
else:
textbutton _("All script files") action editor.EditAll()
add SPACER
add SEPARATOR
add SPACER
frame style "l_indent":
has vbox
textbutton _("Navigate Script") text_size 30 action Jump("navigation")
add SPACER
label _("Actions") style "l_label_small"
grid 2 1:
xfill True
@@ -231,6 +227,7 @@ screen front_page_project:
frame style "l_indent":
has vbox
textbutton _("Navigate Script") action Jump("navigation")
textbutton _("Check Script (Lint)") action Jump("lint")
if project.current.exists("game/gui.rpy"):
+5 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -290,6 +290,7 @@ screen choose_gui_color():
if gui_color:
textbutton _("Continue") action Return(True) style "l_right_button"
key "input_enter" action Return(True)
label change_gui:
@@ -442,7 +443,7 @@ label gui_project_common:
python hide:
if gui.project_system_font:
with open(os.path.join(project.current.gamedir, "tl/None/common.rpym"), "ab") as f:
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font))
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font).encode("utf-8"))
label gui_generate_images:
@@ -450,7 +451,7 @@ label gui_generate_images:
python:
interface.processing(_("Updating the project..."))
project.current.launch([ 'gui_images' ], env={ "RENPY_VARIANT" : "small phone" } )
project.current.launch([ 'gui_images' ])
project.current.launch([ 'gui_images' ], env={ "RENPY_VARIANT" : "small phone" }, wait=True)
project.current.launch([ 'gui_images' ], wait=True)
jump front_page
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+4 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -382,16 +382,9 @@ class CodeGenerator(object):
if not os.path.exists(src):
src = os.path.join(self.p.template, name)
with open(src, "rb") as f:
data = f.read().decode("utf-8")
data = data.replace(u"\ufeff", u"")
data = u"\ufeff" + data
data = data.replace(u"\r\n", u"\n")
data = data.replace(u"\n", u"\r\n")
with open(dst, "wb") as f:
f.write(data.encode("utf-8"))
self.load_template(src)
self.remove_scale()
self.write_target(dst)
def add_code(self, fn):
+5 -12
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -25,6 +25,7 @@ import os
from renpy.store import config
import renpy.display
class ImageGenerator(object):
def __init__(self, parameters):
@@ -199,7 +200,6 @@ class ImageGenerator(object):
self.generate_image("textbox", X, Y, self.boring_color.opacity(.8))
YSIZE = 240
YBORDER = 5
@@ -237,7 +237,6 @@ class ImageGenerator(object):
(YSIZE, 1.0),
]
self.generate_image("nvl", X, Y, self.boring_color.opacity(.8))
X = [
@@ -252,8 +251,6 @@ class ImageGenerator(object):
self.generate_image("phone/nvl", X, Y, self.boring_color.opacity(.8))
def generate_choice_button(self):
XSIZE = 790
XINSIDE = 100
@@ -277,6 +274,8 @@ class ImageGenerator(object):
self.generate_image("button/choice_idle_background", X, Y, self.boring_color.opacity(.8))
self.generate_image("button/choice_hover_background", X, Y, self.accent_color.opacity(.95))
self.generate_image("phone/button/choice_idle_background", X, Y, self.boring_color.opacity(.8))
self.generate_image("phone/button/choice_hover_background", X, Y, self.accent_color.opacity(.95))
def generate_overlay(self):
@@ -288,7 +287,6 @@ class ImageGenerator(object):
line_width = self.scale_int(3)
if self.p.light:
opacity = 0.9
else:
@@ -332,7 +330,6 @@ class ImageGenerator(object):
s.subsurface((border, border, width - 2 * border, height - 2 * border)).fill(self.boring_color)
self.save(s, "frame")
def generate_quick_buttons(self):
width = self.scale_int(100)
height = self.scale_int(30)
@@ -379,7 +376,6 @@ class ImageGenerator(object):
self.generate_image("notify", X, Y, self.boring_color.opacity(.8))
def generate_icon(self):
icon_fn = os.path.join(config.renpy_base, "launcher", "game", "gui7", "icon.png")
@@ -406,7 +402,6 @@ class ImageGenerator(object):
self.save(surf, "window_icon", overwrite=False)
def generate_menus(self):
s = self.make_surface(self.width, self.height)
s.fill(self.menu_color)
@@ -414,7 +409,6 @@ class ImageGenerator(object):
self.save(s, "main_menu", overwrite=False)
self.save(s, "game_menu", overwrite=False)
def generate_all(self):
self.generate_textbox()
self.generate_choice_button()
@@ -427,6 +421,7 @@ class ImageGenerator(object):
self.generate_menus()
self.generate_icon()
if __name__ == "__main__":
import argparse
@@ -439,5 +434,3 @@ if __name__ == "__main__":
args = ap.parse_args()
ImageGenerator(args.prefix, args.width, args.height).generate_all()
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -97,7 +97,7 @@ class GuiParameters(object):
self.name = name
GOOD_CHARACTERS = "123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMMOPQRSTUVWXYZ-_"
GOOD_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"
simple_name = "".join(i for i in name if i in GOOD_CHARACTERS).encode("ascii")
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 77 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 83 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

After

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 433 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 96 B

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 106 B

After

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+4 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -126,7 +126,9 @@ label itch:
butler,
"push",
filename,
itch_project + ":" + build["version"] + "-" + channel,
itch_project + ":" + channel,
"--userversion",
build["version"],
)
cc.run()
+3 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -84,7 +84,8 @@ init -1 python:
self.info_msg = ""
with open(self.filename, "w"):
with open(self.filename, "w") as f:
f.write(renpy.version() + "\n")
pass
def log(self, msg):
+3 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -166,6 +166,7 @@ screen navigation:
frame style "l_label":
has hbox xfill True
text _("Navigate: [project.current.display_name!q]") style "l_label_text"
alt _("Navigate Script")
frame:
style "l_alternate"
@@ -192,6 +193,7 @@ screen navigation:
hbox:
spacing HALF_INDENT
text _("Category:")
alt ""
textbutton _("files") action navigation.ChangeKind("file")
textbutton _("labels") action navigation.ChangeKind("label")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+38 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -269,7 +269,24 @@ init python:
build.classify_renpy("**/thumbs.db", None)
build.classify_renpy("**/.*", None)
# Atom rules. These have to be very early, since Atom uses names like
# tmp for packages.
build.classify_renpy("atom/", "atom-all source_only")
build.classify_renpy("atom/Atom.edit.py", "atom-all source_only")
build.classify_renpy("atom/default-dot-atom/**", "atom-all")
build.classify_renpy("atom/atom-windows/**", "atom-windows")
build.classify_renpy("atom/Atom.app/**", "atom-mac")
build.classify_renpy("atom/atom-linux**", "atom-linux")
try:
with open(os.path.join(config.renpy_base, "atom", "executable.txt")) as f:
for l in f:
build.executable(l.strip())
except:
pass
build.classify_renpy("rapt/**", "rapt")
build.executable("rapt/prototype/gradlew")
build.classify_renpy("renios/prototype/base/", None)
build.classify_renpy("renios/prototype/prototype.xcodeproj/*.xcworkspace/", None)
@@ -292,6 +309,7 @@ init python:
build.classify_renpy("**/tmp/", None)
build.classify_renpy("**/.Editra", None)
# main source.
def source_and_binary(pattern, source="source", binary="binary"):
@@ -316,12 +334,10 @@ init python:
build.classify_renpy("gui/game/gui/", None)
source_and_binary("launcher")
source_and_binary("templates", binary=None)
source_and_binary("gui", binary=None)
source_and_binary("the_question")
source_and_binary("tutorial")
source_and_binary("oldtutorial")
# docs.
build.classify_renpy("doc/", "source")
@@ -330,6 +346,14 @@ init python:
build.classify_renpy("doc/**", "source")
build.classify_renpy("LICENSE.txt", "source")
build.classify_renpy("sphinx/", "source_only")
build.classify_renpy("sphinx/build.sh", "source_only")
build.classify_renpy("sphinx/checks.py", "source_only")
build.classify_renpy("sphinx/game/**", "source_only")
build.classify_renpy("sphinx/source/inc/", None)
build.classify_renpy("sphinx/source/**", "source_only")
# module.
build.classify_renpy("module/", "source")
build.classify_renpy("module/*.c", "source")
@@ -343,6 +367,7 @@ init python:
build.classify_renpy("module/pysdlsound/", "source")
build.classify_renpy("module/pysdlsound/*.py", "source")
build.classify_renpy("module/pysdlsound/*.pyx", "source")
build.classify_renpy("module/fribidi-src/**", "source")
# all-platforms binary.
build.classify_renpy("lib/**/_renpysteam*", None)
@@ -365,11 +390,9 @@ init python:
build.classify_renpy("editra/Editra-mac.app/**", "editra-mac")
build.classify_renpy("editra/lib/**", "editra-windows")
build.classify_renpy("editra/editra.exe", "editra-windows")
# Executable rules.
build.executable("editra/Editra/Editra")
# Packages.
build.packages = [ ]
@@ -378,12 +401,21 @@ init python:
build.package("raspi", "tar.bz2", "raspi", dlc=True, update=False)
build.package("jedit", "zip", "jedit", dlc=True)
build.package("editra-linux", "tar.bz2", "editra-all editra-linux", dlc=True)
build.package("editra-mac", "zip", "editra-all editra-mac", dlc=True)
build.package("editra-windows", "zip", "editra-all editra-windows", dlc=True)
build.package("atom-linux", "tar.bz2", "atom-all atom-linux", dlc=True)
build.package("atom-mac", "zip", "atom-all atom-mac", dlc=True)
build.package("atom-windows", "zip", "atom-all atom-windows", dlc=True)
build.package("rapt", "zip", "rapt", dlc=True)
build.package("renios", "zip", "renios", dlc=True)
# Enable the special launcher translation mode.
define config.translate_launcher = True
# Reduce the rate of screen updates.
default preferences.gl_powersave = True
+21 -7
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -32,10 +32,11 @@ init python in distribute:
from zipfile import crc32
zlib.Z_DEFAULT_COMPRESSION = 9
zlib.Z_DEFAULT_COMPRESSION = 5
class ZipFile(zipfile.ZipFile):
def write_with_info(self, zinfo, filename):
"""Put the bytes from filename into the archive under the name
arcname."""
@@ -66,8 +67,13 @@ init python in distribute:
# Must overwrite CRC and sizes with correct data later
zinfo.CRC = CRC = 0
zinfo.compress_size = compress_size = 0
zinfo.file_size = file_size = 0
self.fp.write(zinfo.FileHeader())
file_size = 0
zip64 = self._allowZip64 and \
zinfo.file_size * 1.05 > zipfile.ZIP64_LIMIT
self.fp.write(zinfo.FileHeader(zip64))
if zinfo.compress_type == zipfile.ZIP_DEFLATED:
cmpr = zlib.compressobj(zlib.Z_DEFAULT_COMPRESSION,
zlib.DEFLATED, -15)
@@ -92,11 +98,19 @@ init python in distribute:
zinfo.compress_size = file_size
zinfo.CRC = CRC
zinfo.file_size = file_size
if not zip64 and self._allowZip64:
if file_size > zipfile.ZIP64_LIMIT:
raise RuntimeError('File size has increased during compressing')
if compress_size > zipfile.ZIP64_LIMIT:
raise RuntimeError('Compressed size larger than uncompressed size')
# Seek backwards and write CRC and file sizes
position = self.fp.tell() # Preserve current position in file
self.fp.seek(zinfo.header_offset + 14, 0)
self.fp.write(struct.pack("<LLL", zinfo.CRC, zinfo.compress_size,
zinfo.file_size))
self.fp.seek(zinfo.header_offset, 0)
self.fp.write(zinfo.FileHeader(zip64))
self.fp.seek(position, 0)
self.filelist.append(zinfo)
self.NameToInfo[zinfo.filename] = zinfo
+10 -22
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -51,6 +51,7 @@ init python:
return rv
show_legacy = os.path.exists(os.path.join(config.renpy_base, "templates", "english", "game", "script.rpy"))
default persistent.legacy = False
default persistent.force_new_tutorial = False
@@ -128,23 +129,6 @@ screen preferences:
add SPACER
if ability.can_update:
# Update URL selection.
add SEPARATOR2
frame:
style "l_indent"
yminimum 75
has vbox
text _("Update Channel:")
add HALF_SPACER
frame style "l_indent":
textbutton persistent.update_channel action Jump("update_preference")
frame:
style "l_indent"
xmaximum ONETHIRD
@@ -184,12 +168,16 @@ screen preferences:
if renpy.windows:
textbutton _("Console output") style "l_checkbox" action ToggleField(persistent, "windows_console")
textbutton _("Force new tutorial") style "l_checkbox" action [ ToggleField(persistent, "force_new_tutorial"), project.SelectTutorial(True) ]
if project.manager.get("oldtutorial"):
textbutton _("Legacy options") style "l_checkbox" action ToggleField(persistent, "legacy")
textbutton _("Force new tutorial") style "l_checkbox" action [ ToggleField(persistent, "force_new_tutorial"), project.SelectTutorial(True) ]
if persistent.legacy:
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
if show_legacy:
textbutton _("Legacy options") style "l_checkbox" action ToggleField(persistent, "legacy")
if persistent.legacy:
textbutton _("Show templates") style "l_checkbox" action ToggleField(persistent, "show_templates")
textbutton _("Sponsor message") style "l_checkbox" action ToggleField(persistent, "sponsor_message")
+9 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -95,6 +95,10 @@ init python in project:
self.dump_mtime = 0
def get_dump_filename(self):
if os.path.exists(os.path.join(self.gamedir, "saves")):
return os.path.join(self.gamedir, "saves", "navigation.json")
self.make_tmp()
return os.path.join(self.tmp, "navigation.json")
@@ -127,6 +131,7 @@ init python in project:
data.setdefault("packages", [ "pc", "mac" ])
data.setdefault("add_from", True)
data.setdefault("force_recompile", True)
data.setdefault("android_build", "Release")
if "renamed_all" not in data:
dp = data["packages"]
@@ -585,6 +590,9 @@ init python in project:
if language is None:
rv = p
elif rv is None:
rv = p
elif os.path.exists(os.path.join(p.path, "game", "tl", _preferences.language)):
rv = p
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+19 -19
View File
@@ -31,31 +31,31 @@ translate arabic strings:
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}اثن"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}ثلا"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}أرب"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}خمي"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}جمع"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}سبت"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}أحد"
# 00action_file.rpy:47
old "{#month}January"
@@ -107,51 +107,51 @@ translate arabic strings:
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
new "{#month_short}ينا"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
new "{#month_short}فبر"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
new "{#month_short}مار"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
new "{#month_short}ابر"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}ماي"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}يون"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}يول"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}أغس"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
new "{#month_short}سبتم"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
new "{#month_short}أكت"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
new "{#month_short}نوف"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}ديس"
# 00action_file.rpy:235
old "%b %d, %H:%M"
+1 -1
View File
@@ -138,7 +138,7 @@ translate arabic strings:
new "## حجم الخط الذي يحيط بصندوق اسم الشخصية, الاحجام بالترتيب هي اليسار, الأعلى, اليمين, و الأسفل."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## عندما يتم اختيار True سيتم تكرار الخلفية حتى تغطي الصندوق, عند اختيار False سيتم تمديد الصورة لتغطي الصندوق."
# gui.rpy:132
+2 -2
View File
@@ -34,8 +34,8 @@ translate arabic strings:
new "لبناء ملفات الأندرويد, الرجاء تحميل RAPT, ثم فك الضغط عن الملف ووضعه في مجلد رينباي. قد تحتاج لإعادة تشغيل رينباي ليعمل بشكل صحيح."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "تحتاج لنسخة برمجية من جافا تعتمد الـ 32-بت لتستطيع إنشاء ملفات الأندرويد على نظام الوندوز. حزمة JDK تختلف عن JRE, قد تكون الجافا لديك موجوده لكنها تفتقد الـ JDK. \n\n الرجاء {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}تحميل و تنصيب JDK{/a} ثم إعادة تشغيل رينباي"
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "تحتاج لنسخة برمجية من جافا تعتمد الـ 32-بت لتستطيع إنشاء ملفات الأندرويد على نظام الوندوز. حزمة JDK تختلف عن JRE, قد تكون الجافا لديك موجوده لكنها تفتقد الـ JDK. \n\n الرجاء {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}تحميل و تنصيب JDK{/a} ثم إعادة تشغيل رينباي"
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
+38 -38
View File
@@ -71,7 +71,7 @@ translate arabic strings:
# screens.rpy:262
old "History"
new "History"
new "سجل الحوار"
# screens.rpy:263
old "Skip"
@@ -111,11 +111,11 @@ translate arabic strings:
# screens.rpy:308
old "Start"
new "Start"
new "إبدأ"
# screens.rpy:316
old "Load"
new "Load"
new "استرجاع"
# screens.rpy:318
old "Preferences"
@@ -227,15 +227,15 @@ translate arabic strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
new "صفحة {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "الحفظ التلقائي"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "الحفظ السريع"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
@@ -251,7 +251,7 @@ translate arabic strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
new "خانة فارغة"
# screens.rpy:657
old "## Buttons to access other pages."
@@ -263,11 +263,11 @@ translate arabic strings:
# screens.rpy:668
old "{#auto_page}A"
new "{#auto_page}A"
new "{#auto_page}ت"
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}Q"
new "{#quick_page}س"
# screens.rpy:676
old ">"
@@ -303,19 +303,19 @@ translate arabic strings:
# screens.rpy:745
old "Disable"
new "Disable"
new "غير مفعّل"
# screens.rpy:746
old "Left"
new "Left"
new "يسار"
# screens.rpy:747
old "Right"
new "Right"
new "يمين"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "النصوص التي لم تُشاهَد بعد"
# screens.rpy:753
old "After Choices"
@@ -355,7 +355,7 @@ translate arabic strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "كتم الكل"
# screens.rpy:882
old "## History screen"
@@ -395,15 +395,15 @@ translate arabic strings:
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "لوحة المفاتيح"
# screens.rpy:987
old "Mouse"
new "Mouse"
new "الفأرة"
# screens.rpy:990
old "Gamepad"
new "Gamepad"
new "عصا اللعب"
# screens.rpy:1003
old "Enter"
@@ -411,7 +411,7 @@ translate arabic strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "التقدم في الحوار والتفاعل مع الواجهة."
# screens.rpy:1007
old "Space"
@@ -419,15 +419,15 @@ translate arabic strings:
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
new "التقدم في الحوار دون تحديد الخيارات."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
new "مفاتيح الأسهم"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
new "لتصفح الواجهة."
# screens.rpy:1015
old "Escape"
@@ -435,7 +435,7 @@ translate arabic strings:
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "للوصول لقائمة اللعبة."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +443,7 @@ translate arabic strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "لتخطي الحوار عند الإستمرار بالضغط."
# screens.rpy:1023
old "Tab"
@@ -451,7 +451,7 @@ translate arabic strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "للتبديل بين أنظمة تخطي الحوار."
# screens.rpy:1027
old "Page Up"
@@ -459,7 +459,7 @@ translate arabic strings:
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "للعودة للنص السابق."
# screens.rpy:1031
old "Page Down"
@@ -467,39 +467,39 @@ translate arabic strings:
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
new "للإستمرار للنص اللاحق."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
new "لإخفاء الواجهة."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
new "إلتقاط صورة من الشاشة."
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "تفعيل مساعدة {a=https://www.renpy.org/l/voicing}الصوت التلقائي{/a}."
# screens.rpy:1050
old "Left Click"
new "Left Click"
new "النقر بالزر الأيسر"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
new "النقر بالزر الأوسط"
# screens.rpy:1058
old "Right Click"
new "Right Click"
new "النقر بالزر الأيمن"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
new "تحريك عجلة الفأرة لأعلى\nClick Rollback Side"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "تحريك عجلة الفأرة لأسفل"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
@@ -507,11 +507,11 @@ translate arabic strings:
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
new "التقدم في الحوار والتفاعل مع الواجهة."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
new "للعودة للنص السابق."
# screens.rpy:1081
old "Right Shoulder"
@@ -519,7 +519,7 @@ translate arabic strings:
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "للإستمرار للنص اللاحق."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -587,7 +587,7 @@ translate arabic strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "جاري التخطي"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
+69 -5
View File
@@ -6,11 +6,6 @@
# من هي شخصيات هذه اللعبه؟
define e = Character('إيلين', color="#c8ffc8")
init python:
if not persistent.default_language_set:
persistent.default_language_set = True
_preferences.language = "arabic"
# اللعبه تبدأ هنا
label start:
@@ -19,3 +14,72 @@ label start:
e "كل ما عليك فعله هو إضافة نصوص و صور و إرسالها للعالم!"
return
########################################################### من اليمين الى اليسار
define config.rtl = True
define gui.text_align = 1.0
define gui.button_text_xalign = 1.0
define gui.prompt_text_xalign = 1.0
define gui.navigation_xpos = 240
define gui.name_xalign = 1.0
define gui.dialogue_text_xalign = 1.0
define gui.button_text_xalign = 1.0
define gui.main_menu_text_xalign = 1.0
define gui.history_name_xalign = 0.0
define gui.history_text_xalign = 1.0
define gui.nvl_name_xalign = 0.0
define gui.nvl_text_xalign = 1.0
define gui.nvl_thought_xalign = 1.0
define gui.nvl_button_xalign = 1.0
define gui.help_label_text_xalign = 0.0
define gui.name_xpos = gui.scale(1040)
define gui.dialogue_xpos = gui.scale(1012)
define gui.history_name_xpos = gui.scale(763)
define gui.history_text_xpos = gui.scale(748)
define gui.nvl_name_xpos = gui.scale(850)
define gui.nvl_text_xpos = gui.scale(830)
define gui.nvl_thought_xpos = gui.scale(1040)
define gui.nvl_button_xpos = gui.scale(830)
style game_menu_label:
xalign 1.0
xoffset gui.scale(-50)
style navigation_vbox:
xanchor 1.0
style return_button:
xanchor 1.0
style radio_button:
xalign 1.0
style radio_label:
xalign 1.0
style check_button:
xalign 1.0
style check_label:
xalign 1.0
style slider_label:
xpos gui.scale(350)
xalign 1.0
style help_hbox:
box_reverse True
xalign 1.0
spacing gui.scale(20)
style help_label_text:
xalign 0.0
style mute_all_button:
xalign 0.0
-3
View File
@@ -5,6 +5,3 @@
gui.REGULAR_BOLD = True
config.rtl = True
init python:
translate_define("arabic", "config.rtl", "True")
+2 -2
View File
@@ -138,8 +138,8 @@ translate finnish strings:
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
+2 -2
View File
@@ -34,8 +34,8 @@ translate finnish strings:
new "Luodaksesi Android-sovelluksia, ole hyvä ja lataa RAPT, pura se, ja aseta se Ren'Py kansioon. Tämän jälkeen käynnistä Ren'Py uudelleen."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "32-bittinen Javan kehitystyökalu vaaditaan Android-sovellusten luomiseen Windowsilla. JDK on erilainen kuin JRE, joten on mahdollista, että sinulla on Java ilman JDK:ta.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}Lataa ja asenna JDK{/a}, ja sen jälkeen käynnistä Ren'Py uudelleen."
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "32-bittinen Javan kehitystyökalu vaaditaan Android-sovellusten luomiseen Windowsilla. JDK on erilainen kuin JRE, joten on mahdollista, että sinulla on Java ilman JDK:ta.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}Lataa ja asenna JDK{/a}, ja sen jälkeen käynnistä Ren'Py uudelleen."
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
+1 -2
View File
@@ -187,7 +187,7 @@ translate french strings:
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Êtes-vous sûr de vouloir mettre arrêter la rediffusion ?"
new "Êtes-vous sûr de vouloir arrêter la rediffusion ?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
@@ -332,4 +332,3 @@ translate french strings:
# 00gallery.rpy:586
old "return"
new "retour"
+1 -2
View File
@@ -171,9 +171,8 @@ translate french strings:
# _errorhandling.rpym:608
old "Opens the errors.txt file in a text editor."
new "Ouvrir le fihchier « errors.txt » dans un éditeur de texte."
new "Ouvrir le fichier « errors.txt » dans un éditeur de texte."
# _errorhandling.rpym:612
old "Copies the errors.txt file to the clipboard."
new "Copie le contenu du fichier « errors.txt » dans le presse-papier."
+1 -1
View File
@@ -138,7 +138,7 @@ translate french strings:
new "## Les bordures de la zone contenant le nom du personnage dans lordre suivant gauche, haut, droite, bas."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Si « True » (vrai), larrière plan de zone du nom sera en mosaïque, si « False »(faux), larrière plan de la zone du nom sera mis à l’échelle."
# gui.rpy:132
+21 -22
View File
@@ -23,7 +23,7 @@ translate french strings:
# add_file.rpy:39
old "The file already exists."
new "Le fichier éxiste déjà."
new "Le fichier existe déjà."
# add_file.rpy:42
old "# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n"
@@ -31,11 +31,11 @@ translate french strings:
# android.rpy:30
old "To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
new "Pour compiler les paquets Android, veuillez télécharger RAPT, le décompresser et le placer dans le répertoir de RenPy. Ensuite, redémarrez le lanceur RenPy."
new "Pour compiler les paquets Android, veuillez télécharger RAPT, le décompresser et le placer dans le répertoire de RenPy. Ensuite, redémarrez le lanceur RenPy."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Un Kit de Développement Java (JDK) 32 bits est nécessaire pour compiler les paquets Android depuis Windows. Le JDK nest pas la même chose que le JRE, il est possible que Java soit installé sur votre machine sans le JDK.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}Téléchargez et installez le JDK{/a}, puis relancez le lanceur RenPy."
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Un Kit de Développement Java (JDK) 32 bits est nécessaire pour compiler les paquets Android depuis Windows. Le JDK nest pas la même chose que le JRE, il est possible que Java soit installé sur votre machine sans le JDK.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}Téléchargez et installez le JDK{/a}, puis relancez le lanceur RenPy."
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
@@ -51,7 +51,7 @@ translate french strings:
# android.rpy:35
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
new "Choisissez « Compiler »(build) pour compiler le projet actuel ou connectez un appareil Android et choisissez « Compiler et installer » (Build & Install) pour linstaller sur lappareil."
new "Choisissez « Compiler » (build) pour compiler le projet actuel ou connectez un appareil Android et choisissez « Compiler et installer » (Build & Install) pour linstaller sur lappareil."
# android.rpy:37
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
@@ -59,11 +59,11 @@ translate french strings:
# android.rpy:38
old "Attempts to emulate an Android tablet.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentative d’émulation d'une tablette Android.\n\nLe contact est émulé par la souris, mails uniquement lorsque le bouton est pressé. La barre despace correspond au bouton menu et la touche PageUp correspond au bouton retour."
new "Tentative d’émulation d'une tablette Android.\n\nLe contact est émulé par la souris, mais uniquement lorsque le bouton est pressé. La barre despace correspond au bouton menu et la touche PageUp correspond au bouton retour."
# android.rpy:39
old "Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentative d’émulation d'une console télé basée sur Android, comme OUYA ou Fire TV.\n\n Le contrôleur est émulé par les touches fléchées, le bouton select par la touche Entrée, le bouton menu par la touche Echap, et le bouton retour par la touche PageUp."
# android.rpy:41
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
@@ -71,7 +71,7 @@ translate french strings:
# android.rpy:42
old "Configures the package name, version, and other information about this project."
new "Configure le nom du packet, sa version et dautres informations à propos de ce projet."
new "Configure le nom du paquet, sa version et dautres informations à propos de ce projet."
# android.rpy:43
old "Opens the file containing the Google Play keys in the editor.\n\nThis is only needed if the application is using an expansion APK. Read the documentation for more details."
@@ -87,7 +87,7 @@ translate french strings:
# android.rpy:46
old "Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device."
new "Compile le paquet Android, linstalle sur lappareil Android connécté à votre ordinateur et lance lapplication sur lappareil."
new "Compile le paquet Android, linstalle sur lappareil Android connecté à votre ordinateur et lance lapplication sur lappareil."
# android.rpy:48
old "Connects to an Android device running ADB in TCP/IP mode."
@@ -239,7 +239,7 @@ translate french strings:
# distribute.rpy:459
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
new "La compilation de la distribution a échoué :\n\nLe variable « build.directory_name » ne doit pas contenir despace, ni de virgule, ni de point-virgule."
new "La compilation de la distribution a échoué :\n\nLa variable « build.directory_name » ne doit pas contenir despace, ni de virgule, ni de point-virgule."
# distribute.rpy:504
old "No packages are selected, so there's nothing to do."
@@ -251,7 +251,7 @@ translate french strings:
# distribute.rpy:569
old "All packages have been built.\n\nDue to the presence of permission information, unpacking and repacking the Linux and Macintosh distributions on Windows is not supported."
new "Tous les paquets ont été contruits.\n\nDu fait de labsence de systèmes de permissions sur Windows, il nest pas possible de reconstruire les paquets construits sur GNU-Linux ou Mac OS sur Windows."
new "Tous les paquets ont été construits.\n\nDu fait de labsence de systèmes de permissions sur Windows, il nest pas possible de reconstruire les paquets construits sur GNU-Linux ou Mac OS sur Windows."
# distribute.rpy:752
old "Archiving files..."
@@ -259,7 +259,7 @@ translate french strings:
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
new "Décompression de lapplication Machintosh pour calcul de la signature..."
new "Décompression de lapplication Macintosh pour calcul de la signature..."
# distribute.rpy:1060
old "Signing the Macintosh application..."
@@ -287,7 +287,7 @@ translate french strings:
# distribute_gui.rpy:157
old "Build Distributions: [project.current.name!q]"
new "Construction des packets : [project.current.name!q]"
new "Construction des paquets : [project.current.name!q]"
# distribute_gui.rpy:171
old "Directory Name:"
@@ -319,7 +319,7 @@ translate french strings:
# distribute_gui.rpy:215
old "Build Packages:"
new "Compiler les packets :"
new "Compiler les paquets :"
# distribute_gui.rpy:234
old "Options:"
@@ -347,7 +347,7 @@ translate french strings:
# distribute_gui.rpy:271
old "Errors were detected when running the project. Please ensure the project runs without errors before building distributions."
new "Des erreurs ont été détectées lors de lexécution du projet. Assurez-vous quil n'y ait plus derreur avant de compiler les paquets."
new "Des erreurs ont été détectées lors de lexécution du projet. Assurez-vous quil n'y ait plus derreurs avant de compiler les paquets."
# distribute_gui.rpy:288
old "Your project does not contain build information. Would you like to add build information to the end of options.rpy?"
@@ -355,11 +355,11 @@ translate french strings:
# editor.rpy:150
old "{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input."
new "{b}Recommendé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités dassistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen."
new "{b}Recommandé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités dassistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen."
# editor.rpy:151
old "{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
new "{b}Recommendé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités dassistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen. Sur GNU-Linux, Editra nécessite wxPython."
new "{b}Recommandé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités dassistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen. Sur GNU-Linux, Editra nécessite wxPython."
# editor.rpy:167
old "This may have occured because wxPython is not installed on this system."
@@ -523,7 +523,7 @@ translate french strings:
# gui7.rpy:236
old "Select Accent and Background Colors"
new "Selectionner les couleurs des surbrillances et des arrière-plans"
new "Sélectionner les couleurs des surbrillances et des arrière-plans"
# gui7.rpy:250
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
@@ -979,7 +979,7 @@ translate french strings:
# project.rpy:597
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
new "Choisissez le répertoire de projets avec le sélectionneur de fichier.\n{b}Il se peut que le sélectionneur de fichier souvre derière cette fenêtre.{/b}"
new "Choisissez le répertoire de projets avec le sélectionneur de fichier.\n{b}Il se peut que le sélectionneur de fichier souvre derrière cette fenêtre.{/b}"
# project.rpy:597
old "This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."
@@ -1107,7 +1107,7 @@ translate french strings:
# updater.rpy:97
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
new "{b}Recommendé.{/b} La version de RenPy qui devrait être utilisée pour tous les jeux récemment sortis."
new "{b}Recommandé.{/b} La version de RenPy qui devrait être utilisée pour tous les jeux récemment sortis."
# updater.rpy:102
old "Prerelease"
@@ -1115,7 +1115,7 @@ translate french strings:
# updater.rpy:108
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
new "Un aperçu de la prochaine version de RenPy qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalitées, mais par pour créer de nouveaux jeux."
new "Un aperçu de la prochaine version de RenPy qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalités, mais par pour créer de nouveaux jeux."
# updater.rpy:114
old "Experimental"
@@ -1184,4 +1184,3 @@ translate french strings:
# updater.rpy:195
old "Proceed"
new "Continuer"
+5 -6
View File
@@ -35,11 +35,11 @@ translate french strings:
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text qui est placé dans l’écran « À propos ». Pour insérer une ligne vide entre deux paragraphes écrivez \\n\\n."
new "## Texte qui est placé dans l’écran « À propos ». Pour insérer une ligne vide entre deux paragraphes écrivez \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## Un nom court pour le jeu qui sera utilisé pour les répertoires et le nom de lexécutable. Il ne doit contenir que des caractères ASCII et ne doit pas contenir despace, de virgules ou de points-virgule."
new "## Un nom court pour le jeu qui sera utilisé pour les répertoires et le nom de lexécutable. Il ne doit contenir que des caractères ASCII et ne doit pas contenir despace, de virgules ou de points-virgules."
# options.rpy:44
old "## Sounds and music"
@@ -63,7 +63,7 @@ translate french strings:
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## Ces varaibles configurent les transitions qui sont utilisées quand certains événements surviennent. Chaque variable peuvent être configurée pour une transition. La valeur None indique quaucune transition ne doit être utilisée."
new "## Ces variables configurent les transitions qui sont utilisées quand certains événements surviennent. Chaque variable peuvent être configurée pour une transition. La valeur None indique quaucune transition ne doit être utilisée."
# options.rpy:75
old "## Entering or exiting the game menu."
@@ -107,7 +107,7 @@ translate french strings:
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Le délai davancée automatique. Des nombres importants entraîne une longue attente. Des valeurs réputées correctes sont comprises dans une plage allant de 0 à 30."
new "## Le délai davancée automatique. Des nombres importants entraînent une longue attente. Des valeurs réputées correctes sont comprises dans une plage allant de 0 à 30."
# options.rpy:129
old "## Save directory"
@@ -115,7 +115,7 @@ translate french strings:
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Ces valeurs, dépendant de la plateforme, détermine lemplacement où RenPy stockera les fichiers de sauvegarde. Les fichiers de sauvegardes seront stockés dans :"
new "## Ces valeurs, dépendant de la plateforme, déterminent lemplacement où RenPy stockera les fichiers de sauvegarde. Les fichiers de sauvegardes seront stockés dans :"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -192,4 +192,3 @@ translate french strings:
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Le nom dutilisateur et du projet associé au projet itch.io, séparé par un slash."
+5 -6
View File
@@ -63,7 +63,7 @@ translate french strings:
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Les menus rapides sont affiché dans le jeu pour permettre un accès rapide à certaines fonctions."
new "## Les menus rapides sont affichés dans le jeu pour permettre un accès rapide à certaines fonctions."
# screens.rpy:261
old "Back"
@@ -135,7 +135,7 @@ translate french strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## L'aide nest ni nécessaire ni pertinante sur les appareils mobiles."
new "## L'aide nest ni nécessaire ni pertinente sur les appareils mobiles."
# screens.rpy:333
old "Help"
@@ -239,7 +239,7 @@ translate french strings:
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Cette instruction sassure que l’évenement enter aura lieu avant que lun des boutons ne fonctionne."
new "## Cette instruction sassure que l’évènement enter aura lieu avant que lun des boutons ne fonctionne."
# screens.rpy:629
old "## The grid of file slots."
@@ -279,7 +279,7 @@ translate french strings:
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## L’écran de préférence permet au joueur de configurer le jeu pour mieux correspondre à ses attentes."
new "## L’écran de préférences permet au joueur de configurer le jeu pour mieux correspondre à ses attentes."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -627,7 +627,7 @@ translate french strings:
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Ce paramètre controle le maximum dentrée dans le mode NVL qui peuvent être affichée simultanément."
new "## Ce paramètre contrôle le maximum dentrée dans le mode NVL qui peuvent être affichée simultanément."
# screens.rpy:1406
old "## Mobile Variants"
@@ -640,4 +640,3 @@ translate french strings:
# screens.rpy:1429
old "Menu"
new "Menu"
+1 -1
View File
@@ -12,6 +12,6 @@ label start:
e "Vous venez de créer un nouveau jeu Ren'Py."
e "Après avoir ajouté une histoire, des images et de la musique, vous pouvez le présenter au monde entier!"
e "Après avoir ajouté une histoire, des images et de la musique, vous pourrez le présenter au monde entier !"
return
+2 -2
View File
@@ -138,8 +138,8 @@ translate german strings:
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
+31 -19
View File
@@ -7,7 +7,7 @@ translate german strings:
# about.rpy:43
old "View license"
new "Lizenz ansehen"
new "Lizenz anzeigen"
# add_file.rpy:28
old "FILENAME"
@@ -15,7 +15,7 @@ translate german strings:
# add_file.rpy:28
old "Enter the name of the script file to create."
new "Geben Sie den Namen der Script-Datei ein, um sie zu erstellen."
new "Geben Sie den Namen der zu erstellenden Script-Datei ein."
# add_file.rpy:31
old "The filename must have the .rpy extension."
@@ -34,8 +34,8 @@ translate german strings:
new "Um eine Android-Datei zu erstellen, laden Sie bitte RAPT herunter, entpacken Sie es und platzieren Sie es im RenPy Verzeichnis. Starten Sie dann bitte RenPy neu."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Ein 32-bit Java-Development-Kit wird benötigt, um Android-Packages auf Windows zu erstellen. Das JDK unterscheidet sich vom JRE, daher ist es möglich, dass Sie Java ohne das JDK installiert haben.\n\nBitte {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}laden Sie das JDK herunter und installieren Sie es{/a}, dann starten Sie den RenPy-Launcher neu."
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Ein x86 Java-Development-Kit wird benötigt, um Android-Packages auf Windows zu erstellen. Das JDK unterscheidet sich vom JRE, daher ist es möglich, dass Sie Java ohne das JDK installiert haben.\n\nBitte {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}laden Sie das JDK herunter und installieren Sie es{/a}, dann starten Sie den RenPy-Launcher neu."
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
@@ -235,7 +235,7 @@ translate german strings:
# distribute.rpy:443
old "Scanning project files..."
new "Projektdateien werden geprüft"
new "Projektdateien werden geprüft..."
# distribute.rpy:459
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
@@ -247,7 +247,7 @@ translate german strings:
# distribute.rpy:516
old "Scanning Ren'Py files..."
new "RenPy-Dateien werden geprüft"
new "RenPy-Dateien werden geprüft..."
# distribute.rpy:569
old "All packages have been built.\n\nDue to the presence of permission information, unpacking and repacking the Linux and Macintosh distributions on Windows is not supported."
@@ -255,7 +255,7 @@ translate german strings:
# distribute.rpy:752
old "Archiving files..."
new "Dateien werden archiviert"
new "Dateien werden archiviert..."
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
@@ -335,7 +335,7 @@ translate german strings:
# distribute_gui.rpy:242
old "Force Recompile"
new "Force Recompile"
new "Neu kompilieren"
# distribute_gui.rpy:246
old "Build"
@@ -409,6 +409,10 @@ translate german strings:
old "Open [text] directory."
new "Open [text] directory."
# front_page.rpy:91
old "PROJECTS:"
new "PROJEKTE:"
# front_page.rpy:93
old "refresh"
new "Aktualisieren"
@@ -469,6 +473,10 @@ translate german strings:
old "All script files"
new "Alle Dateien"
# front_page.rpy:221
old "Actions"
new "Aktionen"
# front_page.rpy:223
old "Navigate Script"
new "Skript navigieren"
@@ -479,7 +487,7 @@ translate german strings:
# front_page.rpy:237
old "Change/Update GUI"
new "Change/Update GUI"
new "GUI anpassen/aktualisieren"
# front_page.rpy:239
old "Change Theme"
@@ -487,7 +495,7 @@ translate german strings:
# front_page.rpy:242
old "Delete Persistent"
new "Persistent-Dateien löschen"
new "Persistenz-Dateien löschen"
# front_page.rpy:251
old "Build Distributions"
@@ -511,11 +519,11 @@ translate german strings:
# front_page.rpy:272
old "Checking script for potential problems..."
new "Überprüft Script auf potentielle Probleme"
new "Überprüfe Script auf potentielle Probleme..."
# front_page.rpy:287
old "Deleting persistent data..."
new "Löscht Persistent-Dateien"
new "Lösche Persistent-Dateien..."
# front_page.rpy:295
old "Recompiling all rpy files into rpyc files..."
@@ -879,7 +887,7 @@ translate german strings:
# preferences.rpy:94
old "Projects directory: [text]"
new "Projects directory: [text]"
new "Projektverzeichnis: [text]"
# preferences.rpy:96
old "Not Set"
@@ -891,7 +899,7 @@ translate german strings:
# preferences.rpy:117
old "Text editor: [text]"
new "Text editor: [text]"
new "Texteditor: [text]"
# preferences.rpy:133
old "Update Channel:"
@@ -923,11 +931,15 @@ translate german strings:
# preferences.rpy:174
old "Show edit file section"
new "Show edit file section"
new "'Dateien bearbeiten' anzeigen"
# preferences.rpy:175
old "Large fonts"
new "Large fonts"
new "Große Schriftarten"
# preferences.rpy:182
old "Sponsor message"
new "Sponsoren-Hinweis"
# preferences.rpy:178
old "Console output"
@@ -967,7 +979,7 @@ translate german strings:
# project.rpy:242
old "Ren'Py is scanning the project..."
new "RenPy scannt das Projekt"
new "RenPy scannt das Projekt..."
# project.rpy:568
old "Launching"
@@ -1031,7 +1043,7 @@ translate german strings:
# translations.rpy:224
old "Ren'Py is generating translations...."
new "RenPy erstellt Übersetzungen"
new "RenPy erstellt Übersetzungen..."
# translations.rpy:235
old "Ren'Py has finished generating [language] translations."
@@ -1087,7 +1099,7 @@ translate german strings:
# translations.rpy:374
old "Ren'Py is extracting dialogue...."
new "RenPy extrahiert Dialoge"
new "RenPy extrahiert Dialoge..."
# translations.rpy:378
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
+2 -2
View File
@@ -138,8 +138,8 @@ translate greek strings:
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
+2 -2
View File
@@ -34,8 +34,8 @@ translate greek strings:
new "Για να χτίσετε πακέτα για το Android, παρακαλούμε κατεβάστε το RAPT και τοποθετήστε το στον φάκελο της Ren'Py. Κατόπιν αυτού, επανεκκινήστε τον Εκκινητή."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Αν εργάζεστε σε Windows, για τη δημιουργία πακέτων Android, απαιτείται ένα 32-bit Java Development Kit. Το JDK είναι διαφορετικό του JRE, οπότε μπορεί να έχετε Java χωρίς όμως να έχετε το JDK. Παρακαλoύμε λοιπόν να {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html} κατεβάσετε κι εγκαταστήσετε από εδώ το JDK{/a} και κατόπιν να επανεκκινήσετε τον Εκκινητή της Ren'Py. "
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Αν εργάζεστε σε Windows, για τη δημιουργία πακέτων Android, απαιτείται ένα x86 Java Development Kit. Το JDK είναι διαφορετικό του JRE, οπότε μπορεί να έχετε Java χωρίς όμως να έχετε το JDK. Παρακαλoύμε λοιπόν να {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html} κατεβάσετε κι εγκαταστήσετε από εδώ το JDK{/a} και κατόπιν να επανεκκινήσετε τον Εκκινητή της Ren'Py. "
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
translate indonesian strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
translate indonesian strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
+2 -2
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# gui.rpy:2
@@ -138,7 +138,7 @@ translate indonesian strings:
new "## Tepi kotak bersisi urutan nama karakter, di kiri, atas, kanan, bawah."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Jika Benar, latar dari kotaknama akan di beri judul, jika Salah, latar dari kotaknama akan di ukur ulang."
# gui.rpy:132
+3 -3
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# about.rpy:39
@@ -34,8 +34,8 @@ translate indonesian strings:
new "Untuk membuat package Android, silahkan download RAPT, unzip/extrak, dan taruh di direktori Ren,Py. Dan restart launcher Ren'Py."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Java Development Kit 32-bit di perlukan untuk membuat package Android di Windows, JDK itu berbeda dari JRE, jadi sangat mungkin kamu memiliki java tanpa JDK\n\nTolong {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}Download dan install JDK{/a}, lalu restart launcher Ren'Py "
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Java Development Kit 32-bit di perlukan untuk membuat package Android di Windows, JDK itu berbeda dari JRE, jadi sangat mungkin kamu memiliki java tanpa JDK\n\nTolong {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}Download dan install JDK{/a}, lalu restart launcher Ren'Py "
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# options.rpy:1
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# screens.rpy:9
+1 -1
View File
@@ -138,7 +138,7 @@ translate italian strings:
new "## I bordi del riquadro che contiene il nome del personaggio, in questo ordine: sinistro, superiore, destro, inferiore."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Se 'True', lo sfondo di namebox sarà tassellato (ripetuto come una piastrella). Se 'False' sarà invece scalato."
# gui.rpy:132
+2 -2
View File
@@ -34,8 +34,8 @@ translate italian strings:
new "Per compilare un pacchetto di Android si prega di scaricare RAPT, estrarlo, posizionarlo nella cartella di Ren'Py e riavviare il launcher di Ren'Py."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "La versione a 32-bit del Java Development Kit é necessaria per compilare pacchetti Android su Windows. Il JDK é diverso dal JRE ed é quindi possibile che tu abbia installato Java senza però aver installato il JDK.\n\nSi prega di {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}scaricare ed installare il JDK{/a} e, successivamente, riavviare il launcher di Ren'Py."
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "La versione a 32-bit del Java Development Kit é necessaria per compilare pacchetti Android su Windows. Il JDK é diverso dal JRE ed é quindi possibile che tu abbia installato Java senza però aver installato il JDK.\n\nSi prega di {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}scaricare ed installare il JDK{/a} e, successivamente, riavviare il launcher di Ren'Py."
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
+281 -7
View File
@@ -386,31 +386,31 @@ translate japanese strings:
# 00director.rpy:1576
old "Statement:"
new "Statement(命令):"
new "ステートメント:"
# 00director.rpy:1597
old "Tag:"
new "Tagタグ:"
new "画像タグ:"
# 00director.rpy:1613
old "Attributes:"
new "Attributes属性:"
new "画像属性:"
# 00director.rpy:1631
old "Transforms:"
new "Transforms(画像変形):"
new "変換:"
# 00director.rpy:1650
old "Behind:"
new "Behind(裏に表示:"
new "背後に表示:"
# 00director.rpy:1669
old "Transition:"
new "Transition(遷移演出):"
new "トランジション:"
# 00director.rpy:1687
old "Channel:"
new "ャンセル"
new "ャンネル:"
# 00director.rpy:1705
old "Audio Filename:"
@@ -420,3 +420,277 @@ translate japanese strings:
old "Interactive Director (D)"
new "インタラクティブディレクター(D)"
translate japanese strings:
# 00keymap.rpy:254
old "Failed to save screenshot as %s."
new "ファイル名 %s のスクリーンショットの保存に失敗しました。"
# _developer\developer.rpym:67
old "Show Texture Size"
new "テクスチャーサイズの表示"
# _developer\developer.rpym:70
old "Hide Texture size"
new "テクスチャーサイズの非表示"
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} MB in {count} textures."
translate japanese strings:
# 00action_file.rpy:344
old "Save slot %s: [text]"
new "スロット%s: [text]にセーブ"
# 00action_file.rpy:417
old "Load slot %s: [text]"
new "スロット%s: [text]をロード"
# 00action_file.rpy:459
old "Delete slot [text]"
new "スロット[text]を削除"
# 00action_file.rpy:539
old "File page auto"
new "オートファイルページ"
# 00action_file.rpy:541
old "File page quick"
new "クイックファイルページ"
# 00action_file.rpy:543
old "File page [text]"
new "ファイルページ[text]"
# 00action_file.rpy:733
old "Next file page."
new "次のファイルページ"
# 00action_file.rpy:797
old "Previous file page."
new "前のファイルページ"
# 00action_file.rpy:876
old "Quick save."
new "クイックセーブ"
# 00action_file.rpy:895
old "Quick load."
new "クイックロード"
# 00action_other.rpy:344
old "Language [text]"
new "言語 [text]"
# 00director.rpy:1476
old "⬆"
new "⬆"
# 00director.rpy:1482
old "⬇"
new "⬇"
# 00library.rpy:150
old "bar"
new "バー"
# 00library.rpy:151
old "selected"
new "選択中"
# 00library.rpy:152
old "viewport"
new "ビューポート"
# 00library.rpy:153
old "horizontal scroll"
new "水平スクロール"
# 00library.rpy:154
old "vertical scroll"
new "垂直スクロール"
# 00library.rpy:155
old "activate"
new "有効"
# 00library.rpy:156
old "deactivate"
new "無効"
# 00library.rpy:157
old "increase"
new "増加"
# 00library.rpy:158
old "decrease"
new "減少"
# 00preferences.rpy:207
old "display"
new "表示"
# 00preferences.rpy:219
old "transitions"
new "トランジション"
# 00preferences.rpy:228
old "skip transitions"
new "トランジションをスキップ"
# 00preferences.rpy:230
old "video sprites"
new "ビデオ スプライト"
# 00preferences.rpy:239
old "show empty window"
new "空のウィンドウを表示"
# 00preferences.rpy:248
old "text speed"
new "テキストスピード"
# 00preferences.rpy:256
old "joystick"
new "ジョイスティック"
# 00preferences.rpy:256
old "joystick..."
new "ジョイスティック..."
# 00preferences.rpy:263
old "skip"
new "スキップ"
# 00preferences.rpy:266
old "skip unseen [text]"
new "未読の[text]をスキップ"
# 00preferences.rpy:271
old "skip unseen text"
new "未読のテキストをスキップ"
# 00preferences.rpy:273
old "begin skipping"
new "スキップ開始"
# 00preferences.rpy:277
old "after choices"
new "選択肢後"
# 00preferences.rpy:284
old "skip after choices"
new "選択肢後もスキップ"
# 00preferences.rpy:286
old "auto-forward time"
new "オート待ち時間"
# 00preferences.rpy:300
old "auto-forward"
new "オート送り"
# 00preferences.rpy:307
old "Auto forward"
new "オート送り"
# 00preferences.rpy:310
old "auto-forward after click"
new "クリック後もオート"
# 00preferences.rpy:319
old "automatic move"
new "自動ムービー"
# 00preferences.rpy:328
old "wait for voice"
new "ボイスを待つ"
# 00preferences.rpy:337
old "voice sustain"
new "voice sustain"
# 00preferences.rpy:346
old "self voicing"
new "セルフボイシング"
# 00preferences.rpy:355
old "clipboard voicing"
new "クリップボードボイシング"
# 00preferences.rpy:364
old "debug voicing"
new "ボイシングのデバッグ"
# 00preferences.rpy:373
old "emphasize audio"
new "オーディオの強調"
# 00preferences.rpy:382
old "rollback side"
new "ロールバックサイド"
# 00preferences.rpy:392
old "gl powersave"
new "GLパワーセーブ"
# 00preferences.rpy:398
old "gl framerate"
new "GLフレームレート"
# 00preferences.rpy:401
old "gl tearing"
new "GLティアリング"
# 00preferences.rpy:413
old "music volume"
new "音楽の音量"
# 00preferences.rpy:414
old "sound volume"
new "効果音の音量"
# 00preferences.rpy:415
old "voice volume"
new "ボイスの音量"
# 00preferences.rpy:416
old "mute music"
new "音楽をミュート"
# 00preferences.rpy:417
old "mute sound"
new "効果音をミュート"
# 00preferences.rpy:418
old "mute voice"
new "ボイスをミュート"
# 00preferences.rpy:419
old "mute all"
new "音声を全てミュート"
# _developer\developer.rpym:57
old "Show Image Load Log (F4)"
new "画像ロードログを表示する (F4)"
# _developer\developer.rpym:60
old "Hide Image Load Log (F4)"
new "画像ロードログを隠す (F4)"
# _developer\developer.rpym:447
old "Type to filter: "
new "フィルタして検索: "
# _developer\developer.rpym:575
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "テクスチャー: [tex_count] ([tex_size_mb:.1f] MB)"
# _developer\developer.rpym:579
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "イメージキャッシュ: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
+35
View File
@@ -200,3 +200,38 @@ translate japanese strings:
old "Opens a console to allow debugging the problem."
new "コンソールを開き、問題をデバッグします。"
translate japanese strings:
# 00gltest.rpy:70
old "Renderer"
new "レンダラー"
# 00gltest.rpy:89
old "NPOT"
new "NPOT"
# 00gltest.rpy:131
old "Powersave"
new "パワーセーブ"
# 00gltest.rpy:145
old "Framerate"
new "フレームレート"
# 00gltest.rpy:149
old "Screen"
new "スクリーン"
# 00gltest.rpy:153
old "60"
new "60"
# 00gltest.rpy:157
old "30"
new "30"
# 00gltest.rpy:163
old "Tearing"
new "ティアリング"
+28 -9
View File
@@ -7,7 +7,7 @@ translate japanese strings:
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset は、このファイルの init コードを他のファイルよりも先に実行しています。"
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset ステートメントは、このファイルの init コードを他のファイルよりも先に実行しています。"
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
@@ -35,15 +35,15 @@ translate japanese strings:
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## スモールカラー。明るさを調節する必要のあるクイックメニューなどの小さなテキストボタンに使います。"
new "## スモールカラー。クイックメニューなどの、明るさを調節する必要のある小さなテキストボタンに使います。"
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## hover(フォーカス中)のテキストボタンのカラー。また、バーの充足部分(左側)・hover のスライダーのつまみ等の画像を再生成するときにも使われます。"
new "## hover(フォーカス中)のテキストボタンのカラー。また、バーの充足部分(左側)スライダーのつまみ等の画像を再生成するときにも使われます。"
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## selected(選択中)のテキストボタンのカラー。ボタンは、現在の環境設定の値や表示中のスクリーンと一致するものが選択中になります。"
new "## selected(選択中)のテキストボタンのカラー。ボタン現在のスクリーンであったり、環境設定の値と一致したりすると、ボタンは選択中になります。"
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
@@ -51,11 +51,11 @@ translate japanese strings:
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## バーの非充足部分(右側)やスライダーの背景部分のカラー。バーやスライダーのカラーは、ゲームでは直接使われず GUI を変更・更新した場合の画像生成に使われます。"
new "## バーの非充足部分(右側)やスライダーの背景部分のカラー。バーやスライダーのカラーは直接使われず GUI を変更・更新した場合の画像生成に使われます。"
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## 次の text_color は台詞や選択肢のテキストのカラーです。その次の interface_text_color はヒストリーやヘルプなどそれ以外のテキストのカラーです。"
new "## text_color は台詞や選択肢のテキストのカラーです。interface_text_color はヒストリーやヘルプなどそれ以外のテキストのカラーです。"
# gui.rpy:56
old "## Fonts and Font Sizes"
@@ -107,7 +107,7 @@ translate japanese strings:
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じコードを消去しないと反映されません)"
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じを消去しないと反映されません)"
# gui.rpy:96
old "## Dialogue"
@@ -142,7 +142,7 @@ translate japanese strings:
new "## ネームボックスのボーダーのサイズ。左、上、右、下の順で指定します。ボックスのサイズは、その中に表示されるキャラクター名のサイズから更にボーダー分拡張したサイズになります。"
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## True に設定すると、ネームボックスの背景画像をスケーリングではなくタイリングで表示します。"
# gui.rpy:132
@@ -284,7 +284,7 @@ radio と check は環境設定の各項目のボタン(デフォルトでは
# gui.rpy:279
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## 以下の変数は、インターフェースのコンポーネントを収納するフレームを制御します。フレームは、ウィンドウやオーバーレイが用いられない場面で使われます。"
new "## 以下の変数は、インターフェースのコンポーネントを収納するフレームを制御します。フレームは、ウィンドウやオーバーレイが用意されていない場面で使われます。"
# gui.rpy:282
old "## Generic frames that are introduced by player code."
@@ -445,3 +445,22 @@ translate japanese strings:
old "## Change the size and spacing of various things."
new "## 様々なサイズとスペーシングを変更。"
translate japanese strings:
# gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset ステートメントにより、このファイルの init 文は他のファイルの init 文よりも先に実行されます。"
# gui.rpy:282
old "## Generic frames."
new "## 一般的なフレーム。デフォルトのインターフェースでは未使用です。画像は gui/frame.png。"
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したスクリーンでのみ使われます。"
# gui.rpy:363
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
+81 -3
View File
@@ -34,8 +34,8 @@ translate japanese strings:
new "Android パッケージをビルドするには、RAPT をダウンロード・展開し、Ren'Py のディレクトリーに設置して下さい。その後、Ren'Py を再起動して下さい。"
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Windows では、Android パッケージのビルドに 32-bit の Java 開発キットが必要です。JDK は JRE とは異なるため、JDK が無くても Java が利用できます。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}JDK のダウンロードとインストール{/a}を行い、Ren'Py ランチャーを再起動して下さい。"
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Windows では、Android パッケージのビルドに 32-bit の Java 開発キットが必要です。JDK は JRE とは異なるため、JDK が無くても Java が利用できます。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK のダウンロードとインストール{/a}を行い、Ren'Py ランチャーを再起動して下さい。"
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
@@ -563,7 +563,7 @@ translate japanese strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が合理的な妥協サイズです。"
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が理にかなった推奨サイズです。"
# gui7.rpy:389
old "Creating the new project..."
@@ -1244,3 +1244,81 @@ translate japanese strings:
old "Extract Dialogue: [project.current.display_name!q]"
new "台詞の抽出: [project.current.display_name!q]"
translate japanese strings:
# dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
new "Ren'Py が読み取り専用フォルダーで起動しています。使えない機能があります。"
# dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "原因は Ren'Py が Macintosh drive image から直接起動しているためだと思われます.。この問題を解決するには、ランチャーを閉じて %s フォルダー全体をコンピューターのどこか別の場所へ移動してから、もう一度 Ren'Py を起動してみてください。"
# gui7.rpy:357
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
new "カスタム。GUI は 16:9 のアスペクト比に最適化されています。"
# gui7.rpy:372
old "WIDTH"
new "画面の幅"
# gui7.rpy:372
old "Please enter the width of your game, in pixels."
new "ピクセルでゲーム画面の幅を入力してください。"
# gui7.rpy:377
old "The width must be a number."
new "画面の幅は数字でなければなりません。"
# gui7.rpy:379
old "HEIGHT"
new "画面の高さ"
# gui7.rpy:379
old "Please enter the height of your game, in pixels."
new "ピクセルでゲーム画面の高さを入力してください。"
# gui7.rpy:384
old "The height must be a number."
new "画面の高さは数字でなければなりません。"
translate japanese strings:
# editor.rpy:152
old "(Recommended) A modern and approachable text editor."
new "(推奨)モダンで親しみやすいテキストエディターです。"
# editor.rpy:164
old "Up to 150 MB download required."
new "最大 150 MB のダウンロードが必要です。"
# editor.rpy:178
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input."
new "成熟したエディターです。Editra は中国語・韓国語・日本語の入力に必要な IME のサポートに欠陥があります。"
# editor.rpy:179
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
new "成熟したエディターです。Editra は中国語・韓国語・日本語の入力に必要な IME のサポートに欠陥があります。Linux では Editra は wxpython を必要とします。"
# editor.rpy:219
old "System Editor"
new "システムエディタ―"
# editor.rpy:235
old "None"
new "無効"
# editor.rpy:338
old "Edit [text]."
new "Edit [text]."
# front_page.rpy:215
old "Open project"
new "プロジェクトを開く"
# front_page.rpy:221
old "Actions"
new "アクション"
+22 -8
View File
@@ -15,7 +15,7 @@ translate japanese strings:
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## 人が読みやすいゲーム名。ゲーム名はデフォルトのウィンドウタイトルに使われる他、インターフェースやエラーリポートにも表示されます。"
new "## 人の目で読み取れるゲーム名。ゲーム名はデフォルトのウィンドウタイトルに使われる他、インターフェースやエラーリポートにも表示されます。"
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
@@ -51,19 +51,19 @@ translate japanese strings:
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## サウンドやボイスの設定画面でユーザーがテストサウンドを再生できるようにしたい場合、以下の行をアンコメントしてサンプルサウンドを指定します。"
new "## サウンドやボイスの設定画面でユーザーがテストサウンドを再生可能にする場合、以下の行をアンコメントしてサンプルサウンドを指定します。"
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## 次の行をアンコメントしてオーディオファイルを指定すると、メインメニューで再生することができます。このファイルは、停止するか他の音楽が再生されない限りゲーム中で流れ続けます。"
new "## 次の行をアンコメントしてオーディオファイルを指定すると、メインメニューで再生されます。このファイルは、停止するか他の音楽が再生されない限りゲーム中で流れ続けます。"
# options.rpy:69
old "## Transitions"
new "## トランジション(画面遷移効果)"
new "## トランジション"
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 以下の変数は、メニュー切り替えなどのイベントに対するトランジションを設定します。各変数にはトランジションオブジェクトを指定します。トランジションを使わない場合は None に設定します。"
new "## 以下の変数は、メニュー切り替えなどのイベントに対するトランジションを設定します。各変数にはトランジションを指定します。トランジションを使わない場合は None に設定します。"
# options.rpy:75
old "## Entering or exiting the game menu."
@@ -79,7 +79,7 @@ translate japanese strings:
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## メインメニューからゲームを開始する時のトランジションは、ここでは設定できません。代わりに、ゲーム開始後の最初のシーンで with ステートメント(文)を使ってください。"
new "## メインメニューからゲームを開始する時のトランジションは、ここでは設定できません。代わりに、ゲーム開始後の最初のシーンで with ステートメントを使ってください。"
# options.rpy:96
old "## Window management"
@@ -91,7 +91,7 @@ translate japanese strings:
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## ゲーム開始後は、\"window show\"、\"window hide\"、\"window auto\" ステートメントで変更することができます。"
new "## ゲーム開始後でも \"window show\"、\"window hide\"、\"window auto\" ステートメントで変更することができます。"
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
@@ -199,5 +199,19 @@ translate japanese strings:
# options.rpy:196
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Mac のコード署名を有効にするため Apple Developer ID アプリケーション を含む文字列を設定します。必ず Apple が発行したあなたの ID に変更してください。"
new "## Mac のコード署名を有効にするため Apple Developer ID アプリケーション を含む文字列を設定します。必ず Apple が発行したあなたの ID に変更してください。"
translate japanese strings:
# options.rpy:81
old "## Between screens of the game menu."
new "## ゲームメニューのスクリーンを切り替える時のトランジション。"
translate japanese strings:
# options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## About(バージョン情報)スクリーンに表示されるテキスト。トリプルクオートの間にテキストを入力します。段落の間には空行を挿入して下さい。"
+7 -7
View File
@@ -19,7 +19,7 @@ translate japanese strings:
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## このスクリーンは、テキストを表示するために \"what\" のIDを持つ text displayable(表示可能オブジェクト)を必ず作成しなければなりません。また、スタイルのプロパティを適用するために、ID \"who\" とID \"window\" を持つ text displayable も作成するといいでしょう。"
new "## このスクリーンは、テキストを表示するために \"what\" のIDを持つ text displayable を必ず作成しなければなりません。また、スタイルのプロパティを適用するために、ID \"who\" とID \"window\" を持つ text displayable も作成するといいでしょう。"
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -39,7 +39,7 @@ translate japanese strings:
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## このスクリーンは input のパラメーター を受け付けるために \"input\" をIDに持つ input displayable(表示可能オブジェクト)を作成する必要があります。"
new "## このスクリーンは input のパラメーター を受け付けるために \"input\" をIDに持つ input displayable を作成する必要があります。"
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -51,7 +51,7 @@ translate japanese strings:
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## このスクリーンは、ゲーム内の選択肢を表示するに使います。items のパラメーターは caption(選択肢のテキスト)と action(クリック時の実行内容)を要素に持つオブジェクトのリスト(配列)です。"
new "## このスクリーンは、ゲーム内の選択肢を表示する menu ステートメントに使います。items のパラメーターは caption(選択肢のテキスト)と action(クリック時の実行内容)を要素に持つオブジェクトのリスト(配列)です。"
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -67,7 +67,7 @@ translate japanese strings:
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## クイックメニューはゲーム中つねに表示されるスクリーンで、ゲーム外の機能に素早くアクセスすることができます。"
new "## クイックメニューはゲーム中に常時表示されるスクリーンで、ゲーム外の機能に素早くアクセスすることができます。"
# screens.rpy:251
old "## Ensure this appears on top of other screens."
@@ -182,7 +182,7 @@ translate japanese strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## use は、他のスクリーンを現在のスクリーンの内に表示するのに使います。メインメニューの実際のコンテンツは navigation(ナビゲーション)スクリーンです。"
new "## use ステートメントは、他のスクリーンを現在のスクリーンの内に表示するのに使います。メインメニューの実際のコンテンツは navigation(ナビゲーション)スクリーンです。"
# screens.rpy:413
old "## Game Menu screen"
@@ -218,7 +218,7 @@ translate japanese strings:
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## 次の use は game_menu(ゲームメニュー)スクリーンをこのスクリーンの内に表示しています。use 文の子(内包されたオブジェクト)の vbox は game_menu スクリーンの中の viewport に配置されます。"
new "## 次の use ステートメントは game_menu(ゲームメニュー)スクリーンをこのスクリーンの内に表示しています。use 文の子(内包されたオブジェクト)の vbox は game_menu スクリーンの中の viewport に配置されます。"
# screens.rpy:561
old "Version [config.version!t]\n"
@@ -561,7 +561,7 @@ translate japanese strings:
# screens.rpy:1124
old "## Additional screens"
new "## 追加スクリーン"
new "## 付加的なスクリーン"
# screens.rpy:1128
old "## Confirm screen"
+5 -7
View File
@@ -5,13 +5,13 @@
# まず最初に、ゲームに使うキャラクター(台詞を表示するオブジェクト)を定義します。
# 最初のパラメーターは、テキストウィンドウに表示されるキャラクターの名前です。
# 一番目のパラメーターは、テキストウィンドウに表示されるキャラクターの名前です。
# color のパラメーターを追加すると、キャラクターの名前を色付けできます。
define e = Character('Eileen', color="#c8ffc8")
# label ステートメント(命令文)はゲームの処理をまとめてラベル付けします。
# label ステートメント(文)はゲームの処理をまとめてラベル付けします。
# ラベル間の移動は jump ステートメントか call ステートメントを使います。
# ゲームは start ラベルからスタートします。
@@ -20,12 +20,12 @@ label start:
# 背景を表示します。デフォルトではプレースホルダー(仮画像)を使用しますが、
# images ディレクトリーにファイル(ファイル名は "bg room.png" や "bg room.jpg"
# を追加すると表示することができます。
# を追加することにより表示できます。
scene bg room
# スプライト(立ち絵)を表示します。ここではプレースホルダーを使用していますが、
# images ディレクトリーに "eileen happy.png" と命名したファイルを追加すると
# images ディレクトリーに "eileen happy.png" などと命名したファイルを追加すると
# 表示することができます。
# at ステートメントは画像の表示する位置を調整します。
@@ -40,7 +40,7 @@ label start:
with dissolve
# 音楽を再生します。ここではタグを利用して無音を再生していますが、
# game ディレクトリーに "music.ogg" と命名したファイルを追加すると
# game ディレクトリーに "music.ogg" などと命名したファイルを追加すると
# play music "music.ogg" の形で再生することができます。
# 効果音を再生する時は play audio "filename" を使用します。
@@ -50,8 +50,6 @@ label start:
# 以下は台詞を表示します。
"Hello, world."
e "Ren'Py の新しいゲームを作成しました。"
e "ストーリー、画像、音楽を追加すれば、世界にリリースすることができます!"
+45 -45
View File
@@ -3,155 +3,155 @@ translate korean strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
new "{#weekday}월요일"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
new "{#weekday}화요일"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
new "{#weekday}수요일"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
new "{#weekday}목요일"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
new "{#weekday}금요일"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
new "{#weekday}토요일"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
new "{#weekday}일일"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}January"
new "{#month}1월"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}February"
new "{#month}2월"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}March"
new "{#month}3월"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
new "{#month}4월"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}May"
new "{#month}5월"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}June"
new "{#month}6월"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}July"
new "{#month}7월"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}August"
new "{#month}8월"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
new "{#month}9월"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}October"
new "{#month}10월"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
new "{#month}11월"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}December"
new "{#month}12월"
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
new "{#month_short}1월"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
new "{#month_short}2월"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
new "{#month_short}3월"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
new "{#month_short}4월"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}5월"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}6월"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}7월"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}8월"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
new "{#month_short}9월"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
new "{#month_short}10월"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
new "{#month_short}11월"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}12월"
# 00action_file.rpy:235
old "%b %d, %H:%M"
@@ -187,7 +187,7 @@ translate korean strings:
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "리플레이를 종료하겠습니까?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
@@ -199,7 +199,7 @@ translate korean strings:
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "다음 선택지가 나타날 때까지 본 적이 없는 대사까지 모두 스킵하겠습니까?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -207,15 +207,15 @@ translate korean strings:
# 00library.rpy:142
old "Self-voicing disabled."
new "Self-voicing disabled."
new "대사 읽기를 끕니다."
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "대사 복사하기를 켭니다. "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "대사 읽기를 켭니다. "
# 00library.rpy:179
old "Skip Mode"
@@ -223,7 +223,7 @@ translate korean strings:
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "이 프로그램은 MIT 라이선스와 GNU 라이선스를 포함한 여러 가지 라이선스의 적용을 받는 오픈소스 소프트웨어를 포함하고 있습니다. {a=https://www.renpy.org/l/license}이곳{/a}에서 포함된 모든 소프트웨어와 그 소스코드를 확인할 수 있습니다."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -239,7 +239,7 @@ translate korean strings:
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
new "앱스토어와 통신 중\n잠시만 기다려주십시오..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
+10 -10
View File
@@ -23,7 +23,7 @@ translate korean strings:
# 00gltest.rpy:93
old "Enable"
new "Enable"
new "활성"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -91,27 +91,27 @@ translate korean strings:
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "보정할 게임패드 선택"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "사용 가능한 게임패드가 없습니다."
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "[name]를 보정 중입니다. ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
new "[control!r] [kind]를 누르거나 이동합니다."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "스킵 (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "뒤로 (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -123,11 +123,11 @@ translate korean strings:
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
new "클립보드로 복사"
# _errorhandling.rpym:501
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "traceback.txt 파일을 클립보드로 복사합니다."
# _errorhandling.rpym:519
old "An exception has occurred."
@@ -175,5 +175,5 @@ translate korean strings:
# _errorhandling.rpym:612
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
new "errors.txt 파일을 클립보드로 복사합니다."
+103 -103
View File
@@ -3,409 +3,409 @@ translate korean strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
new "## 초기화"
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## 이 파일에서 init offset 문을 사용하면 이 파일의 init 코드가 다른 파일의 init 코드보다 먼저 실행됩니다."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## gui.init의 호출은 스타일을 합리적인 기본값으로 재설정하고, 게임의 너비(width)와 높이(height)를 설정합니다."
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## 색상"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## 인터페이스에서 글자의 색상입니다."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## 강조 색상은 레이블(label)과 강조된 글자로 인터페이스 전체에서 사용됩니다."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## 텍스트 버튼(text button)이 선택(selected)됐거나 커서를 올리지(hovered) 않았을 때 사용됩니다."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## 작은(small) 색상은 같은 효과를 내기 위해 더 밝거나 어두워야 하는 작은 글자에 사용됩니다."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## 버튼(button)과 막대(bar)에 커서를 올렸을 때(hovered) 사용됩니다."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## 텍스트 버튼(text button)에 선택됐지만(selected) 포커스되지(focused) 않았을 때 사용됩니다. 버튼(button)은 현재 화면이거나 설정값인 경우 선택됨(selected)이 됩니다."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## 텍스트 버튼(text button)이 선택되지(selected) 않았을 때 사용됩니다."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## 채워지지 않은 빈 막대(bar)에 사용됩니다. 이것은 바로 사용되지 않지만, 막대(bar) 이미지 파일이 재생성됐을 때 사용됩니다."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## 대사(dialogue)와 선택지(menu choice)의 글자에서 사용됩니다."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "## 글자와 글자 크기"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "## 인-게임 글자에 사용됩니다."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "## 캐릭터의 이름에 사용됩니다."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "## 인터페이스에 사용됩니다."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "## 일반 대사의 글자 크기입니다."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "## 캐릭터 이름의 글자 크기입니다."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "## 게임의 유저 인터페이스에서 글자의 크기입니다."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## 게임의 유저 인터페이스에서 레이블(label)들의 글자 크기입니다."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "## 통지(notify) 화면의 글자 크기입니다."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## 게임의 타이틀(title) 글자의 크기입니다."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## 메인과 게임 메뉴들"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## 이미지들은 메인(main)과 게임 메뉴(game menu)에 사용됩니다."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
new "## 게임의 이름과 버전을 보여줘야 할까요?"
# gui.rpy:96
old "## Dialogue"
new "## Dialogue"
new "## 대사"
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
new "## 이러한 변수들은 한 번에 한 줄의 대사가 어떻게 화면에 표시되는지 제어합니다."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
new "## 대사를 포함하는 텍스트 박스의 높이입니다."
# gui.rpy:104
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## 화면에 텍스트박스를 세로로 배치합니다. 0.0은 최상단, 0.5는 중앙, 그리고 1.0은 최하단입니다."
# gui.rpy:109
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## 말하는 캐릭터의 이름을 텍스트 박스를 기준으로 배치합니다. 이것은 좌측이나 최상단으로부터 전체 픽셀값의 숫자가 되거나, 0.5로 중앙이 될 수 있습니다."
# gui.rpy:114
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 캐릭터들의 이름을 수평으로 정렬합니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬될 수 있습니다."
# gui.rpy:118
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## 캐릭터들의 이름이 들어 있는 박스의 너비, 높이, 그리고 테두리입니다. 혹은 그것을 None으로 자동 설정할 수 있습니다."
# gui.rpy:123
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## 캐릭터의 이름이 들어 있는 박스의 테두리를 좌측, 상단, 우측, 하단의 순서로 정합니다."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## 만약 참(True)이면, 네임박스의 배경은 바둑판식으로 배열(tiled)될 것이고, 거짓(False)이면, 네임박스의 배경은 채워질(scaled) 것입니다."
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## 텍스트박스에서 대사의 위치입니다. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
new "## 픽셀값에서 대사의 최대 너비입니다."
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 대사 글자의 수평 정렬입니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬이 될 수 있습니다."
# gui.rpy:146
old "## Buttons"
new "## Buttons"
new "## 버튼들"
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## 이러한 변수들은 GUI/버튼에서 이미지 파일들과 함께 어떻게 버튼이 표시되는지 제어합니다."
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## 픽셀값에서 버튼의 너비와 높이입니다. 만약 None이면, 렌파이가 크기를 계산합니다."
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
new "## 좌측, 상단, 우측, 하단의 순서에서 버튼의 테두리 값입니다."
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## 만약 참(True)이면, 배경 이미지는 바둑판식으로 배열(tiled)될 것입니다. 만약 거짓(False)이면, 배경 이미지는 선으로 채워질(scaled) 것입니다."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
new "## 버튼에 사용된 글자의 폰트입니다."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
new "## 버튼에 사용된 글자의 크기입니다."
# gui.rpy:179
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## 이러한 변수는 다른 종류의 버튼 설정을 덮어씌웁니다. 사용 가능한 버튼의 종류와, 각각 무엇을 위해 사용하는지는 gui 문서를 확인해주세요."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## 이러한 사용자 지정은 기본 인터페이스에 사용됩니다:"
# gui.rpy:198
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## 당신은 또한 설정된 이름의 변수를 추가함으로써 당신만의 커스텀을 추가할 수 있습니다. 예를 들어, 다음 행의 주석 표시를 제거하여 탐색(navigation) 버튼의 너비를 설정할 수 있습니다."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
new "## 선택 버튼들"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## 선택 버튼은 인-게임 메뉴에 사용됩니다."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## 파일 슬롯 버튼"
# gui.rpy:222
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## 파일 슬롯 버튼은 버튼의 특별한 종류입니다. 그것은 썸네일 이미지나 저장 슬롯의 콘텐츠를 설명하는 글자를 포함합니다. GUI/버튼에서 저장 슬롯은 버튼의 다른 종류와 같은 이미지 파일을 사용합니다."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
new "## 저장 슬롯 버튼입니다."
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## 저장 슬롯에 사용되는 썸네일의 너비와 높이입니다."
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## 저장 슬롯의 그리드(grid)에서 행(rows)과 열(columns)의 갯수입니다."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## 위치와 간격"
# gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## 이러한 변수들은 다양한 사용자 인터페이스 요소들의 위치와 간격을 제어합니다."
# gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## 화면의 왼쪽을 기준으로 하는 네비게이션 버튼의 왼쪽 위치입니다."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## 스킵 표시기(skip indicator)의 수직 위치입니다."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## 통지(notify) 스크린의 수직 위치입니다."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## 선택지의 메뉴 선택 간의 간격입니다."
# gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## 메인과 게임 메뉴에서 네비게이션 섹션의 버튼들 간의 간격입니다."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## 환경 설정들 간의 간격을 제어합니다."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## 환경 설정 버튼들 사이의 간격을 제어합니다."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## 파일 페이지 버튼들 간의 간격입니다."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## 파일 슬롯들 간의 간격입니다."
# gui.rpy:277
old "## Frames"
new "## Frames"
new "## 프레임들"
# gui.rpy:279
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## 이러한 변수들은 오버레이되거나 창이 없을 때 보여지는 사용자 인터페이스 구성 요소들을 포함하는 프레임을 제어합니다."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## 플레이어 코드에 의해 소개되는 일반 프레임."
# gui.rpy:285
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## 프레임은 확인(confirm) 화면의 일부로 사용됩니다."
# gui.rpy:288
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## 프레임은 스킵(skip) 화면의 일부로 사용됩니다."
# gui.rpy:291
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## 프레임은 통지(notify) 화면의 일부로 사용됩니다."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## 프레임 배경들은 바둑판식으로 배열해야 할까요?"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
new "## 막대, 스크롤바, 슬라이더"
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## 이러한 설정은 막대와 스크롤바, 그리고 슬라이더의 보여지는 것과 크기를 제어합니다."
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## 기본 GUI는 슬라이더와 세로 스크롤바만 사용합니다. 다른 모든 막대들은 창작자가 작성한 코드에서 사용됩니다."
# gui.rpy:305
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## 수평 막대, 스크롤바, 슬라이더의 높이. 수직 막대, 스크롤바, 슬라이더의 너비."
# gui.rpy:311
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## 막대 이미지가 바둑판식 배열돼야 하면 참(True)입니다. 선으로 채워져야 한다면 거짓(False)입니다."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
new "## 수평 테두리입니다."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
new "## 수직 테두리입니다."
# gui.rpy:326
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## GUI에서 스크롤할 수 없는 스크롤 막대로 뭘 할 수 있나요? \"hide\"로 그것들을 숨기고, None은 그것들을 보여줍니다."
# gui.rpy:331
old "## History"
new "## History"
new "## 다시보기"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
new "## 다시보기 화면은 사용자가 이미 확인한 다이얼로그를 표시합니다."
# gui.rpy:335
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## 렌파이가 보관할 다시보기의 블록 갯수입니다."
# gui.rpy:338
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## 다시보기 화면 항목의 높이를 지정하거나 None으로 하여 높이를 성능에 맡길 수 있습니다."
# gui.rpy:342
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## 말하는 캐릭터의 이름을 나타내는 레이블의 위치, 너비, 그리고 정렬입니다."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
new "## 대사 글자의 위치, 너비, 그리고 정렬입니다."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## NVL-모드"
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## NVL-모드 화면은 NVL-모드 캐릭터들에 의한 대화를 화면에 표시합니다."
# gui.rpy:360
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## NVL-모드 배경 창에서 배경의 테두리입니다."
# gui.rpy:363
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## NVL-모드 항목의 높이입니다. 이것을 None으로 설정하면 항목들은 동적으로 높이를 조정합니다."
# gui.rpy:367
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## gui.nvl_height 값이 None일 때 NVL-모드 항목들, 그리고 NVL-모드 항목들과 NVL-모드 메뉴간의 간의 간격입니다."
# gui.rpy:384
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## nvl_thought 글자의 위치, 너비, 정렬(nvl_narrator 캐릭터에 의해 표시되는 글자)입니다."
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## NVL 메뉴 버튼의 위치입니다."
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## 이것은 휴대전화와 태블릿에서 쉽게 터지할 수 있도록 빠른(Quick) 버튼들의 크기를 크게 합니다."
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## 이것은 휴대전화에서 다양한 GUI 요소들의 크기와 간격을 쉽게 보일 수 있도록 변경합니다."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
new "## 글자 크기들."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
new "## 텍스트박스의 위치를 조정합니다."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
new "## 게임 메뉴에서 항목들의 크기와 간격을 변경합니다."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## 파일 버튼 레이아웃."
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
new "## NVL-모드."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
new "## 빠른(Quick) 버튼들."
+51 -51
View File
@@ -34,8 +34,8 @@ translate korean strings:
new "안드로이드 패키지를 만드려면, RAPT 파일을 내려받은 뒤에 렌파이 디렉토리에 압축 해제하세요. 그 다음 렌파이 런처를 재시작하세요."
# android.rpy:31
old "A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "윈도우에서 안드로이드 패키지를 만드려면 32비트 JDK가 필요합니다. JDK는 JRE와 다르므로 PC에 JDK가 없는 자바가 설치되어 있을 수 있습니다.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}JDK를 내려받아 설치한 뒤{/a}, 렌파이 런처를 재시작해주세요."
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "윈도우에서 안드로이드 패키지를 만드려면 32비트 JDK가 필요합니다. JDK는 JRE와 다르므로 PC에 JDK가 없는 자바가 설치되어 있을 수 있습니다.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK를 내려받아 설치한 뒤{/a}, 렌파이 런처를 재시작해주세요."
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
@@ -99,7 +99,7 @@ translate korean strings:
# android.rpy:50
old "Retrieves the log from the Android device and writes it to a file."
new "Retrieves the log from the Android device and writes it to a file."
new "안드로이드 기기와 쓰여진 파일로부터 로그를 검색합니다."
# android.rpy:240
old "Copying Android files to distributions directory."
@@ -195,7 +195,7 @@ translate korean strings:
# android.rpy:544
old "Retrieving logcat information from device."
new "Retrieving logcat information from device."
new "기기로부터 로그캣 정보를 검색합니다."
# choose_directory.rpy:73
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
@@ -231,7 +231,7 @@ translate korean strings:
# consolecommand.rpy:84
old "The command is being run in a new operating system console window."
new "The command is being run in a new operating system console window."
new "커맨드가 새로운 운영체제 콘솔 창에서 실행 중입니다."
# distribute.rpy:443
old "Scanning project files..."
@@ -259,19 +259,19 @@ translate korean strings:
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
new "Unpacking the Macintosh application for signing..."
new "서명을 위해 매킨토시 애플리케이션을 압축해제하는 중입니다..."
# distribute.rpy:1060
old "Signing the Macintosh application..."
new "Signing the Macintosh application..."
new "매킨토시 애플리케이션을 서명하는 중입니다..."
# distribute.rpy:1082
old "Creating the Macintosh DMG..."
new "Creating the Macintosh DMG..."
new "매킨토시 DMG를 생성하는 중입니다..."
# distribute.rpy:1091
old "Signing the Macintosh DMG..."
new "Signing the Macintosh DMG..."
new "매킨토시 DMG에 서명하는 중입니다..."
# distribute.rpy:1248
old "Writing the [variant] [format] package."
@@ -523,23 +523,23 @@ translate korean strings:
# gui7.rpy:236
old "Select Accent and Background Colors"
new "Select Accent and Background Colors"
new "강조와 배경 색상 선택"
# gui7.rpy:250
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
new "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
new "원하는 색상 스키마를 선택하고 다음을 누르세요. 이러한 색상과 사용자 지정은 나중에 변경할 수 있습니다."
# gui7.rpy:294
old "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
new "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
new "{b}경고g{/b}\n계속하면 사용자 지정된 막대, 버튼, 저장 슬롯, 스크롤바, 그리고 슬라이더 이미지들을 덮어씌웁니다.\n\n무엇을 하고 싶으세요?"
# gui7.rpy:294
old "Choose new colors, then regenerate image files."
new "Choose new colors, then regenerate image files."
new "새로운 색상을 선택하면 이미지 파일들이 재생성됩니다."
# gui7.rpy:294
old "Regenerate the image files using the colors in gui.rpy."
new "Regenerate the image files using the colors in gui.rpy."
new "gui.rpy에서 사용하는 색상으로 이미지 파일 재생성."
# gui7.rpy:314
old "PROJECT NAME"
@@ -563,15 +563,15 @@ translate korean strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "프로젝트에서 어떤 해상도를 사용하나요? 렌파이가 창을 위아래로 확장 할 수 있지만, 이것은 창의 초기 크기, 에셋이 그려지는 크기, 애셋이 가장 선명하게 될 크기입니다.\n\n1280x720의 기본값은 적절한 절충안입니다."
# gui7.rpy:389
old "Creating the new project..."
new "Creating the new project..."
new "새 프로젝트를 만드는 중..."
# gui7.rpy:391
old "Updating the project..."
new "Updating the project..."
new "프로젝트 업데이트중..."
# interface.rpy:107
old "Documentation"
@@ -735,27 +735,27 @@ translate korean strings:
# itch.rpy:60
old "The built distributions could not be found. Please choose 'Build' and try again."
new "The built distributions could not be found. Please choose 'Build' and try again."
new "빌드된 배포판을 찾을 수 없습니다. '빌드'를 선택하고 다시 시도하세요."
# itch.rpy:91
old "No uploadable files were found. Please choose 'Build' and try again."
new "No uploadable files were found. Please choose 'Build' and try again."
new "업로드가능한 파일이 없습니다. '빌드'를 선택하고 다시 시도하세요."
# itch.rpy:99
old "The butler program was not found."
new "The butler program was not found."
new "집사(butler) 프로그램이 없습니다."
# itch.rpy:99
old "Please install the itch.io app, which includes butler, and try again."
new "Please install the itch.io app, which includes butler, and try again."
new "집사(butler)를 포함한 itch.io 앱을 설치하고 다시 시도하세요."
# itch.rpy:108
old "The name of the itch project has not been set."
new "The name of the itch project has not been set."
new "itch 프로젝트의 이름이 설정되지 않았습니다."
# itch.rpy:108
old "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
new "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
new "{a=https://itch.io/game/new}프로젝트를 만드세요{/a}, 그리고 options.rpy에 다음과 같은 라인을 작성하세요: \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5}."
# mobilebuild.rpy:109
old "{a=%s}%s{/a}"
@@ -827,23 +827,23 @@ translate korean strings:
# new_project.rpy:38
old "New GUI Interface"
new "New GUI Interface"
new "새로운 GUI 인터페이스"
# new_project.rpy:48
old "Both interfaces have been translated to your language."
new "Both interfaces have been translated to your language."
new "모든 인터페이스는 귀하의 언어로 번역됐습니다."
# new_project.rpy:50
old "Only the new GUI has been translated to your language."
new "Only the new GUI has been translated to your language."
new "새로운 GUI만 귀하의 언어로 번역됐습니다."
# new_project.rpy:52
old "Only the legacy theme interface has been translated to your language."
new "Only the legacy theme interface has been translated to your language."
new "레거시 테마 인터페이스가 귀하의 언어로 번역됐습니다."
# new_project.rpy:54
old "Neither interface has been translated to your language."
new "Neither interface has been translated to your language."
new "어느 인터페이스도 귀하의 언어로 번역되지 않았습니다."
# new_project.rpy:63
old "The projects directory could not be set. Giving up."
@@ -851,11 +851,11 @@ translate korean strings:
# new_project.rpy:69
old "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
new "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
new "어떤 인터페이스를 사용하고 싶으세요? 새로운 GUI는 현대적인 스타일로, 와이드 스크린과 휴대기기를 지원하며 쉽게 커스텀 가능합니다. 레거시 테마는 작업에 오래된 예제 코드가 필요할 수 있습니다.\n\n[language_support!t]\n\n의심스럽다면 새로운 GUI를 선택한 다음, 오른쪽 하단의 계속하기를 클릭하십시오."
# new_project.rpy:69
old "Legacy Theme Interface"
new "Legacy Theme Interface"
new "레거시 테마 인터페이스"
# new_project.rpy:90
old "Choose Project Template"
@@ -991,11 +991,11 @@ translate korean strings:
# translations.rpy:63
old "Translations: [project.current.name!q]"
new "Translations: [project.current.name!q]"
new "번역: [project.current.name!q]"
# translations.rpy:104
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "작업할 언어. 소문자 ASCII 문자와 밑줄만 포함해야 합니다."
# translations.rpy:130
old "Generate empty strings for translations"
@@ -1003,19 +1003,19 @@ translate korean strings:
# translations.rpy:148
old "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "번역 파일을 생성하거나 업데이트합니다. 파일들은 in game/tl/[persistent.translate_language!q]에 배치됩니다."
# translations.rpy:168
old "Extract String Translations"
new "Extract String Translations"
new "문자열 번역 추출"
# translations.rpy:170
old "Merge String Translations"
new "Merge String Translations"
new "문자열 번역 병합"
# translations.rpy:175
old "Replace existing translations"
new "Replace existing translations"
new "기존 번역 대체"
# translations.rpy:176
old "Reverse languages"
@@ -1023,11 +1023,11 @@ translate korean strings:
# translations.rpy:180
old "Update Default Interface Translations"
new "Update Default Interface Translations"
new "기본 인터페이스 번역 업데이트"
# translations.rpy:200
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "추출 명령은 기존 프로젝트의 문자열 번역을 임시 파일로 추출 할 수 있습니다.\n\n병합 명령은 추출된 번역을 다른 프로젝트로 병합합니다."
# translations.rpy:224
old "Ren'Py is generating translations...."
@@ -1039,51 +1039,51 @@ translate korean strings:
# translations.rpy:248
old "Ren'Py is extracting string translations..."
new "Ren'Py is extracting string translations..."
new "문자열 번역을 추출하고 있습니다..."
# translations.rpy:251
old "Ren'Py has finished extracting [language] string translations."
new "Ren'Py has finished extracting [language] string translations."
new "[language] 문자열 번역 추출을 완료했습니다."
# translations.rpy:271
old "Ren'Py is merging string translations..."
new "Ren'Py is merging string translations..."
new "문자열 번역을 병합하고 있습니다..."
# translations.rpy:274
old "Ren'Py has finished merging [language] string translations."
new "Ren'Py has finished merging [language] string translations."
new "[language] 문자열 번역 병합을 완료했습니다."
# translations.rpy:282
old "Updating default interface translations..."
new "Updating default interface translations..."
new "기본 인터페이스 번역을 업데이트하고 있습니다..."
# translations.rpy:306
old "Extract Dialogue: [project.current.name!q]"
new "Extract Dialogue: [project.current.name!q]"
new "다이얼로그 추출: [project.current.name!q]"
# translations.rpy:322
old "Format:"
new "Format:"
new "포맷:"
# translations.rpy:330
old "Tab-delimited Spreadsheet (dialogue.tab)"
new "Tab-delimited Spreadsheet (dialogue.tab)"
new "탭으로 구분되는 스프레드시트 (dialogue.tab)"
# translations.rpy:331
old "Dialogue Text Only (dialogue.txt)"
new "Dialogue Text Only (dialogue.txt)"
new "대사 글자만 (dialogue.txt)"
# translations.rpy:344
old "Strip text tags from the dialogue."
new "Strip text tags from the dialogue."
new "텍스트 태그를 대사에서 제거합니다."
# translations.rpy:345
old "Escape quotes and other special characters."
new "Escape quotes and other special characters."
new "따옴표와 기타 특수 문자를 제거합니다."
# translations.rpy:346
old "Extract all translatable strings, not just dialogue."
new "Extract all translatable strings, not just dialogue."
new "모든 번역 가능한 문자열을 추출합니다."
# translations.rpy:374
old "Ren'Py is extracting dialogue...."
@@ -1091,7 +1091,7 @@ translate korean strings:
# translations.rpy:378
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "대사 추출을 완료했습니다. 추출된 대사는 기본 디렉토리의 dialogue.[persistent.dialogue_format]에서 찾을 수 있습니다."
# updater.rpy:75
old "Select Update Channel"
+48 -48
View File
@@ -3,193 +3,193 @@ translate korean strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## This file contains options that can be changed to customize your game."
new "## 이 파일은 귀하의 게임 커스텀으로 변경될 수 있는 옵션을 포함합니다."
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## 두 개의 '#' 표시로 시작되는 줄은 주석이며, 그것을 없애지 말아야 합니다. 한 개의 '#' 표시로 시작되는 줄은 주석 처리된 코드로 필요한 경우 제거해도 됩니다."
# options.rpy:10
old "## Basics"
new "## Basics"
new "## 기본"
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## 인간이 읽을 수 있는 게임의 이름. 기본 윈도우의 제목으로 사용되며, 인터페이스와 오류 보고에서 보여집니다."
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## The _() surrounding the string marks it as eligible for translation."
new "## 문자열을 _()로 둘러 쌓으면 씌우면 번역의 대상으로 표시됩니다."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
new "렌파이 7 기본 GUI"
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## 위에 주어진 제목이 주 메뉴 화면에 표시되는지 결정합니다. 제목을 숨기려면 이것을 False로 설정하십시오."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
new "## 게임의 버전입니다."
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## 게임의 about 스크린에 배치되는 텍스트입니다. 단락 사이에 빈 줄을 넣으려면 \\n\\n를 적으십시오."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## 배포판의 실행 파일과 디렉토리에 사용되는 게임의 약식 이름. 이것은 ASCII 전용이어야 하며 공백, 콜론 또는 세미콜론을 포함해서는 안 됩니다."
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
new "## 음악과 음향"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## 이 세 가지 변수는 기본적으로 플레이어에 표시되는 믹서를 제어합니다. 이들 중 하나를 False로 설정하면 해당 믹서가 숨겨집니다."
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## 사용자가 음향 또는 음성 채널에서 테스트 사운드를 재생할 수 있게 하려면 아래 줄의 주석을 제거하고 이를 사용하여 재생할 샘플 사운드를 설정하십시오."
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## 플레이어가 주 메뉴에 있을 때 재생할 오디오 파일을 설정하려면 다음 줄의 주석 처리를 제거하십시오. 이 파일은 중지되거나 다른 파일이 재생 될 때까지 계속 재생합니다."
# options.rpy:69
old "## Transitions"
new "## Transitions"
new "## 번역"
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 이러한 변수는 특정 이벤트가 발생할 때 사용되는 전환을 설정합니다. 각 변수는 전환으로 설정해야 하며, 전환을 사용하지 말아야 한다는 것을 나타내려면 None으로 설정해야 합니다."
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## 게임 메뉴에 진입하거나 나갑니다."
# options.rpy:81
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## 게임이 로드된 후 사용되는 전환입니다."
# options.rpy:86
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## 게임 종료 후 주 메뉴에 진입할 때 사용됩니다."
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## 게임을 시작할 때 사용되는 전환을 설정하는 변수가 없습니다. 대신, 초기 장면을 표시한 후 with 문을 사용하십시오."
# options.rpy:96
old "## Window management"
new "## Window management"
new "## 창 관리"
# options.rpy:98
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## 이것은 대사 창이 표시됐을 때 제어합니다. 만약 \"show\", 그것은 상항 표시됩니다. 만약 \"hide\", 그것은 대사가 주어질 때만 표시됩니다. 만약 \"auto\", 창은 장면(scene) 문 앞에 숨겨져 대화 상자가 표시되면 다시 표시됩니다."
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## 게임이 시작된 후에는 \"window show\", \"window hide\", 그리고 \"window auto\" 문을 사용하여 변경할 수 있습니다."
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
new "## 대화 창을 표시하고 숨기는 데 사용되는 전환"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
new "## 환경설정 기본값"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## 기본 글자 속도를 제어합니다. 기본적으로, 0은 즉시이며 다른 숫자는 초당 입력 할 문자 수입니다."
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## 기본 auto-forward 지연 시간입니다. 숫자가 클수록 대기 시간이 길어지며, 0 ~ 30이 유효한 범위가 됩니다."
# options.rpy:129
old "## Save directory"
new "## Save directory"
new "## 세이브 디렉토리"
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## 렌파이는 이 게임에 대한 저장 파일을 플랫폼 별로 배치합니다. 세이브 파일들은 여기에 있습니다:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## 윈도우즈: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:136
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## 매킨토시: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:138
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
new "## 리눅스: $HOME/.renpy/<config.save_directory>"
# options.rpy:140
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## 이것은 일반적으로 변경해서는 안 되며, 항상 표현형식이 아닌 정확한 문자열이어야 합니다."
# options.rpy:146
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## 아이콘 #######################################################################'"
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## 작업 표시 줄 또는 독에 표시되는 아이콘."
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
new "## 빌드 구성"
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## 이 섹션은 렌파이가 프로젝트를 배포 파일로 만드는 방법을 제어합니다."
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## 다음 함수는 파일 패턴을 사용합니다. 파일 패턴은 대/소문자를 구분하지 않으며, /의 유무와 관계없이 기본 디렉터리의 상대 경로와 일치합니다. 여러 패턴이 일치하면 첫 번째 패턴이 사용됩니다."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
new "## 패턴 있음:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
new "## / 는 디렉토리 구분 기호입니다."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
new "## * 는 디렉토리 구분자를 제외한 모든 문자와 일치합니다."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
new "## ** 는 디렉토리 구분자를 포함해 모든 문자와 일치합니다."
# options.rpy:173
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## 예를 들어, \"*.txt\" 는 기본 디렉토리의 txt 파일들과 일치하고, \"game/**.ogg\" 는 게임 디렉토리 또는 그 서브 디렉토리의 ogg 파일들과 일치하며, \"**.psd\" 는 프로젝트에서 모든 곳의 psd 파일들과 일치합니다."
# options.rpy:177
old "## Classify files as None to exclude them from the built distributions."
new "## Classify files as None to exclude them from the built distributions."
new "## 파일을 None으로 분류하여 배포판으로부터 제외하십시오."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
new "## 파일을 아카이브하려면 'archive'로 분류하십시오."
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## 파일들의 매칭 문서 패턴은 맥앱(Mac App) 빌드에서 중복되므로 app 및 zip 파일에 모두 나타납니다."
# options.rpy:196
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## 확장 파일을 다운로드하고 인앱 구매를 수행하려면 Google Play 라이센스 키가 필요합니다. Google Play 개발자 콘솔의 \"서비스 및 API\"페이지에서 확인할 수 있습니다."
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## The username and project name associated with an itch.io project, separated by a slash."
new "## itch.io 프로젝트와 연관된 사용자 이름과 프로젝트 이름이며 슬래시로 구분됩니다."
+118 -118
View File
@@ -3,23 +3,23 @@ translate korean strings:
# screens.rpy:9
old "## Styles"
new "## Styles"
new "## 스타일"
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
new "## 게임내 스크린"
# screens.rpy:91
old "## Say screen"
new "## Say screen"
new "## Say 스크린"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Say 스크린은 플레이어에게 대사를 출력할 때 씁니다. 화자 who와 대사 what, 두 개의 매개변수를 받습니다. (화자 이름이 없으면 who는 None일 수 있음)"
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## 이 스크린은 id \"what\"을 가진 텍스트 디스플레이어블을 생성해야 합니다. (이 디스플레이어블은 렌파이의 대사 출력에 필요합니다.) id \"who\" id \"window\" 디스플레이블이 존재할 경우 관련 스타일 속성이 적용됩니다."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -27,15 +27,15 @@ translate korean strings:
# screens.rpy:169
old "## Input screen"
new "## Input screen"
new "## Input 스크린"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## 플레이어 입력을 받는 renpy.input을 출력할 때 쓰이는 스크린입니다. prompt 매개변수를 통해 입력 지문을 표시할 수 있습니다."
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## 이 스크린은 id \"input\"을 가진 input 디스플레이어블을 생성해야 합니다."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -43,11 +43,11 @@ translate korean strings:
# screens.rpy:205
old "## Choice screen"
new "## Choice screen"
new "## Choice 스크린"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## menu 명령어로 생성된 게임내 선택지를 출력하는 스크린입니다. 한 개의 매개변수 items를 받고, 이는 선택지 내용(caption)과 선택지 결과(action)이 있는 오브젝트가 들어있는 리스트입니다."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -55,15 +55,15 @@ translate korean strings:
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## True일 경우 narrator 캐릭터를 통해 지문을 표시합니다. False일 경우 지문이 비활성화 선택지로 표시됩니다."
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
new "## Quick Menu 스크린"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## 퀵메뉴는 게임 외 메뉴 접근성을 높여주기 위해 게임 내에 표시됩니다."
# screens.rpy:261
old "Back"
@@ -79,7 +79,7 @@ translate korean strings:
# screens.rpy:264
old "Auto"
new "자동저장"
new "자동진행"
# screens.rpy:265
old "Save"
@@ -99,23 +99,23 @@ translate korean strings:
# screens.rpy:271
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## 플레이어가 UI(스크린)을 일부러 숨기지 않는 한 퀵메뉴가 게임 내에 오버레이로 출력되게 합니다."
# screens.rpy:291
old "## Navigation screen"
new "## Navigation screen"
new "## Navigation 스크린"
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## 이 스크린은 메인메뉴와 게임외 메뉴에 포함되어 다른 메뉴로 이동하거나 게임을 시작/종료할 수 있게 합니다."
# screens.rpy:308
old "Start"
new "Start"
new "시작하기"
# screens.rpy:316
old "Load"
new "Load"
new "로드"
# screens.rpy:318
old "Preferences"
@@ -123,7 +123,7 @@ translate korean strings:
# screens.rpy:322
old "End Replay"
new "End Replay"
new "리플레이 끝내기"
# screens.rpy:326
old "Main Menu"
@@ -135,7 +135,7 @@ translate korean strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
new "## 도움말 메뉴는 모바일 디바이스와 맞지 않아 불필요합니다."
# screens.rpy:333
old "Help"
@@ -143,7 +143,7 @@ translate korean strings:
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## The quit button is banned on iOS and unnecessary on Android."
new "## 종료 버튼은 iOS 규정에 어긋나고 안드로이드에는 불필요합니다."
# screens.rpy:336
old "Quit"
@@ -151,11 +151,11 @@ translate korean strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
new "## Main Menu 스크린"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Used to display the main menu when Ren'Py starts."
new "## 렌파이가 시작할 때 메인메뉴를 출력합니다."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -163,19 +163,19 @@ translate korean strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## use 명령어로 스크린 내에 다른 스크린을 불러옵니다. 메인 메뉴 스크린의 내용물은 navigation 스크린에 있습니다."
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
new "## Game Menu 스크린"
# screens.rpy:415
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## 게임 메뉴의 기본 틀입니다. 매개변수 title로 스크린 제목을 정하고, 배경, 제목, 그리고 navigation 스크린을 출력합니다."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## scroll 매개변수는, None, \"viewport\" 혹은 \"vpgrid\" 중 하나여야 합니다. transclude 명령어를 통해 다른 스크린을 이 스크린 내부에 불러옵니다."
# screens.rpy:476
old "Return"
@@ -183,43 +183,43 @@ translate korean strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
new "## About 스크린"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## This screen gives credit and copyright information about the game and Ren'Py."
new "## 이 스크린은 게임과 렌파이 엔진 크레딧과 저작권 정보를 표시합니다."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## 특별할 것이 없으므로 스크린을 새로 커스터마이징하여 만드는 예제이기도 합니다."
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## use 명령어로 game_menu 스크린을 이 스크린 내에 불러옵니다. use 명령어 하위블럭(vbox 내용)은 game_menu 스크린 내 transclude 명령어가 있는 곳에 다시 불려집니다."
# screens.rpy:561
# screens.rpy:561
old "Version [config.version!t]\n"
new "Version [config.version!t]\n"
new "버젼 [config.version!t]\n"
# screens.rpy:563
old "## gui.about is usually set in options.rpy."
new "## gui.about is usually set in options.rpy."
new "## gui.about 의 내용은 보통 options.rpy에 있습니다."
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "{a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only] 으로 만들어진 게임.\n\n[renpy.license!t]"
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
new "## This is redefined in options.rpy to add text to the about screen."
new "## options.rpy에서 규정된 내용이 about 스크린에 추가됩니다."
# screens.rpy:582
old "## Load and Save screens"
new "## Load and Save screens"
new "## Load and Save 스크린"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## 이 스크린은 세이브/로드에 쓰입니다. 거의 동일하기 때문에, file_slots 스크린을 불러와서 씁니다."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -227,23 +227,23 @@ translate korean strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
new "{} 페이지"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "자동 세이브"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "퀵세이브"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
new "## This ensures the input will get the enter event before any of the buttons do."
new "## input (페이지 제목을 플레이어가 수정할 수 있음)이 세이브/로드 버튼보다 먼저 엔터에 반응하도록 합니다."
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
new "## 파일 슬롯 그리드."
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
@@ -251,11 +251,11 @@ translate korean strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
new "빈 슬롯"
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
new "## 페이지 이동 버튼."
# screens.rpy:666
old "<"
@@ -263,11 +263,11 @@ translate korean strings:
# screens.rpy:668
old "{#auto_page}A"
new "{#auto_page}A"
new "{#auto_page}자동"
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}Q"
new "{#quick_page}"
# screens.rpy:676
old ">"
@@ -275,11 +275,11 @@ translate korean strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
new "## Preferences 스크린"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Preferences 스크린에서는 각종 환경설정을 플레이어가 지정할 수 있습니다."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -299,35 +299,35 @@ translate korean strings:
# screens.rpy:744
old "Rollback Side"
new "Rollback Side"
new "롤백 클릭 옵션"
# screens.rpy:745
old "Disable"
new "Disable"
new "비활성화"
# screens.rpy:746
old "Left"
new "Left"
new "화면 왼쪽 클릭"
# screens.rpy:747
old "Right"
new "Right"
new "화면 오른쪽 클릭"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "읽지 않은 텍스트까지 모두 스킵"
# screens.rpy:753
old "After Choices"
new "선택지 이후 스킵"
new "선택지 이후에도 스킵"
# screens.rpy:754
old "Transitions"
new "화면 전환 효과"
new "화면 전환 효과를 모두 스킵"
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## \"radio_pref\" \"check_pref\" 를 추가하여 그 외에도 환경설정 항목을 추가할 수 있습니다."
# screens.rpy:767
old "Text Speed"
@@ -339,7 +339,7 @@ translate korean strings:
# screens.rpy:778
old "Music Volume"
new "배경음 크기"
new "배경음 크기"
# screens.rpy:785
old "Sound Volume"
@@ -355,15 +355,15 @@ translate korean strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "모두 음소거"
# screens.rpy:882
old "## History screen"
new "## History screen"
new "## History 스크린"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## 지난 대사록을 출력합니다. _history_list 에 저장된 대사 기록을 확인합니다."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
@@ -371,39 +371,39 @@ translate korean strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
new "## 이 스크린은 내용이 아주 많을 수 있으므로 prediction을 끕니다."
# screens.rpy:905
old "## This lays things out properly if history_height is None."
new "## This lays things out properly if history_height is None."
new "## history_height None일 경우 레이아웃이 틀어지지 않게 합니다."
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
new "## Take the color of the who text from the Character, if set."
new "## 화자 Character에 화자 색깔이 지정되어 있으면 불러옵니다."
# screens.rpy:921
old "The dialogue history is empty."
new "The dialogue history is empty."
new "대사가 없습니다."
# screens.rpy:965
old "## Help screen"
new "## Help screen"
new "## Help 스크린"
# screens.rpy:967
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## 입력장치의 기능을 설명합니다. 각 입력장치별 설정은 keyboard_help, mouse_help, gamepad_help 스크린을 각각 불러와서 출력합니다."
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "키보드"
# screens.rpy:987
old "Mouse"
new "Mouse"
new "마우스"
# screens.rpy:990
old "Gamepad"
new "Gamepad"
new "게임패드"
# screens.rpy:1003
old "Enter"
@@ -411,7 +411,7 @@ translate korean strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "대사 진행 및 UI (선택지 포함) 선택."
# screens.rpy:1007
old "Space"
@@ -419,23 +419,23 @@ translate korean strings:
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
new "대사를 진행하되 선택지는 선택하지 않음."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
new "화살표 키"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
new "UI 이동."
# screens.rpy:1015
old "Escape"
new "Escape"
new "Esc"
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "게임 메뉴 불러옴."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +443,7 @@ translate korean strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "누르고 있는 동안 대사를 스킵."
# screens.rpy:1023
old "Tab"
@@ -451,7 +451,7 @@ translate korean strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "대사 스킵 토글."
# screens.rpy:1027
old "Page Up"
@@ -459,7 +459,7 @@ translate korean strings:
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "이전 대사로 롤백."
# screens.rpy:1031
old "Page Down"
@@ -467,91 +467,91 @@ translate korean strings:
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
new "이후 대사로 롤포워드."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
new "UI를 숨김."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
new "스크린샷 저장."
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "{a=https://www.renpy.org/l/voicing}대사 읽어주기 기능{/a} 토글."
# screens.rpy:1050
old "Left Click"
new "Left Click"
new "클릭"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
new "가운데 버튼이나 휠버튼 클릭"
# screens.rpy:1058
old "Right Click"
new "Right Click"
new "우클릭"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
new "휠 위로\n롤백 클릭"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "휠 아래로"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
new "오른쪽 트리거(RT)\nA버튼/아래 버튼"
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
new "대사 진행 및 UI (선택지 포함) 선택."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
new "이전 대사로 롤백."
# screens.rpy:1081
old "Right Shoulder"
new "Right Shoulder"
new "오른쪽 범퍼(RB)"
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "이후 대사로 롤포워드."
# screens.rpy:1085
old "D-Pad, Sticks"
new "D-Pad, Sticks"
new "D-Pad, 아날로그 스틱"
# screens.rpy:1089
old "Start, Guide"
new "Start, Guide"
new "스타스 버튼/가이드 버튼"
# screens.rpy:1090
old "Access the game menu."
new "Access the game menu."
new "게임 메뉴 불러옴."
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
new "Y버튼/위 버튼"
# screens.rpy:1096
old "Calibrate"
new "Calibrate"
new "조정"
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
new "## 그 외 스크린"
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
new "## Confirm 스크린"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## 게임 입력 관련 예/아니오 질문을 플레이어에게 할 때 이 스크린을 표시합니다."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -559,7 +559,7 @@ translate korean strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
new "## 이 스크린이 출력 중일 때 다른 스크린과 상호작용할 수 없게 합니다."
# screens.rpy:1161
old "Yes"
@@ -571,15 +571,15 @@ translate korean strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
new "## 우클릭과 esc는 '아니오'를 입력하는 것과 같습니다."
# screens.rpy:1191
old "## Skip indicator screen"
new "## Skip indicator screen"
new "## Skip indicator 스크린"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Skip_indicator 스크린은 스킵 중일 때 \"스킵 중\"을 표시하기 위해 출력됩니다."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -587,19 +587,19 @@ translate korean strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "스킵 중"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
new "## This transform is used to blink the arrows one after another."
new "## transform으로 화살표를 순서대로 페이드인/페이드아웃합니다."
# screens.rpy:1247
old "## Notify screen"
new "## Notify screen"
new "## Notify 스크린"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## Notify 스크린으로 플레이어에게 메시지를 출력합니다. (예를 들어 '퀵세이브 완료'나 '스크린샷 저장 완료')"
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -607,11 +607,11 @@ translate korean strings:
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
new "## NVL 스크린"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## This screen is used for NVL-mode dialogue and menus."
new "## NVL모드 대사와 선택지를 출력합니다."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -619,25 +619,25 @@ translate korean strings:
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
new "## vpgrid나 vbox 내에 대사를 출력합니다."
# screens.rpy:1314
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## 선택지가 있을 경우, 선택지 출력. config.narrator_menu가 True일 경우 선택지가 비정상적으로 출력될 수 있습니다. (디폴트는 True입니다.)"
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## 동시에 출력될 수 있는 NVL 대사의 최대치를 조정합니다."
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
new "## 모바일 버젼"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## 마우스가 없고 화면이 작을 가능성이 높으므로, 퀵메뉴 버튼의 크기를 키우고 가짓수를 줄입니다."
# screens.rpy:1429
old "Menu"
new "Menu"
new "메뉴"
+814
View File
@@ -0,0 +1,814 @@
translate malay strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Isnin"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Selasa"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Rabu"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Khamis"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Jumaat"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Sabtu"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Ahad"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Isn"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Sel"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Rab"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Kha"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Jum"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sab"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Aha"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}Januari"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}Februari"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}Mac"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}Mei"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}Jun"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}Julai"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}Ogos"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}Oktober"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}Disember"
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mac"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}Mei"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Ogo"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Okt"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dis"
# 00action_file.rpy:237
old "%b %d, %H:%M"
new "%d %b, %H:%M"
# 00action_file.rpy:345
old "Save slot %s: [text]"
new "Simpan slot %s: [text]"
# 00action_file.rpy:421
old "Load slot %s: [text]"
new "Muatkan slot %s: [text]"
# 00action_file.rpy:466
old "Delete slot [text]"
new "Padam slot [text]"
# 00action_file.rpy:546
old "File page auto"
new "Halaman fail auto"
# 00action_file.rpy:548
old "File page quick"
new "Halaman fail cepat"
# 00action_file.rpy:550
old "File page [text]"
new "Halaman fail [text]"
# 00action_file.rpy:740
old "Next file page."
new "Halaman fail seterusnya."
# 00action_file.rpy:804
old "Previous file page."
new "Halaman fail sebelumnya."
# 00action_file.rpy:865
old "Quick save complete."
new "Simpan cepat selesai."
# 00action_file.rpy:883
old "Quick save."
new "Simpan cepat."
# 00action_file.rpy:902
old "Quick load."
new "Muat cepat."
# 00action_other.rpy:355
old "Language [text]"
new "Bahasa [text]"
# 00director.rpy:708
old "The interactive director is not enabled here."
new "Pengarah interaktif tidak dibolehkan di sini."
# 00director.rpy:1478
old "⬆"
new "⬆"
# 00director.rpy:1484
old "⬇"
new "⬇"
# 00director.rpy:1548
old "Done"
new "Selesai"
# 00director.rpy:1558
old "(statement)"
new "(kenyataan)"
# 00director.rpy:1559
old "(tag)"
new "(tag)"
# 00director.rpy:1560
old "(attributes)"
new "(atribut)"
# 00director.rpy:1561
old "(transform)"
new "(transformasi)"
# 00director.rpy:1586
old "(transition)"
new "(peralihan)"
# 00director.rpy:1598
old "(channel)"
new "(saluran)"
# 00director.rpy:1599
old "(filename)"
new "(nama fail)"
# 00director.rpy:1628
old "Change"
new "Tukar"
# 00director.rpy:1630
old "Add"
new "Tambah"
# 00director.rpy:1633
old "Cancel"
new "Batal"
# 00director.rpy:1636
old "Remove"
new "Buang"
# 00director.rpy:1671
old "Statement:"
new "Kenyataan:"
# 00director.rpy:1692
old "Tag:"
new "Tag:"
# 00director.rpy:1708
old "Attributes:"
new "Atribut:"
# 00director.rpy:1726
old "Transforms:"
new "Transformasi:"
# 00director.rpy:1745
old "Behind:"
new "Belakang:"
# 00director.rpy:1764
old "Transition:"
new "Peralihan"
# 00director.rpy:1782
old "Channel:"
new "Saluran:"
# 00director.rpy:1800
old "Audio Filename:"
new "Nama Fail Audio:"
# 00gui.rpy:370
old "Are you sure?"
new "Adakah anda pasti?"
# 00gui.rpy:371
old "Are you sure you want to delete this save?"
new "Adakah anda ingin memadam simpanan ini?"
# 00gui.rpy:372
old "Are you sure you want to overwrite your save?"
new "Adakah anda ingin menulis ganti simpanan anda?"
# 00gui.rpy:373
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Pemuatan akan menghilangkan kemajuan yang belum disimpan.\nAdakah anda ingin memuatkan simpanan lain?"
# 00gui.rpy:374
old "Are you sure you want to quit?"
new "Adakah anda ingin keluar?"
# 00gui.rpy:375
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Adakah anda pasti anda ingin kembali ke menu utama?\nAnda akan kehilangan kemajuan yang belum disimpan."
# 00gui.rpy:376
old "Are you sure you want to end the replay?"
new "Adakah anda ingin menamatkan ulang tayang ini?"
# 00gui.rpy:377
old "Are you sure you want to begin skipping?"
new "Adakah anda ingin memulakan langkauan?"
# 00gui.rpy:378
old "Are you sure you want to skip to the next choice?"
new "Adakah anda ingin melangkau ke pilihan seterusnya?"
# 00gui.rpy:379
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Adakah anda ingin melangkau dialog yang belum dilihat sehingga ke pilihan seterusnya?"
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "Gagal menyimpan tangkap skrin sebagai %s."
# 00keymap.rpy:270
old "Saved screenshot as %s."
new "Tangkap skrin disimpan sebagai %s."
# 00library.rpy:146
old "Self-voicing disabled."
new "Penyuaraan sendiri dilumpuhkan."
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Penyuaraan papan keratan dibolehkan. "
# 00library.rpy:148
old "Self-voicing enabled. "
new "Penyuaraan sendiri dibolehkan. "
# 00library.rpy:150
old "bar"
new "bar"
# 00library.rpy:151
old "selected"
new "dipilih"
# 00library.rpy:152
old "viewport"
new "port pandang"
# 00library.rpy:153
old "horizontal scroll"
new "tatal melintang"
# 00library.rpy:154
old "vertical scroll"
new "tatal menegak"
# 00library.rpy:155
old "activate"
new "aktifkan"
# 00library.rpy:156
old "deactivate"
new "nyahaktifkan"
# 00library.rpy:157
old "increase"
new "naikkan"
# 00library.rpy:158
old "decrease"
new "turunkan"
# 00library.rpy:193
old "Skip Mode"
new "Mod Langkau"
# 00library.rpy:279
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 "Atur cara ini mengandungi perisian bebas di bawah beberapa lesen yang berbeza, termasuklah Lesen MIT dan Lesen Awam Am Lemah GNU. Senarai lengkap perisian, termasuk pautan ke kod sumber penuh, boleh dijumpai {a=https://www.renpy.org/l/license}di sini{/a}."
# 00preferences.rpy:207
old "display"
new "paparan"
# 00preferences.rpy:219
old "transitions"
new "peralihan"
# 00preferences.rpy:228
old "skip transitions"
new "langkau peralihan"
# 00preferences.rpy:230
old "video sprites"
new "peperi video"
# 00preferences.rpy:239
old "show empty window"
new "tunjukkan tetingkap kosong"
# 00preferences.rpy:248
old "text speed"
new "kelajuan tulisan"
# 00preferences.rpy:256
old "joystick"
new "kayu bedik"
# 00preferences.rpy:256
old "joystick..."
new "kayu bedik..."
# 00preferences.rpy:263
old "skip"
new "langkau"
# 00preferences.rpy:266
old "skip unseen [text]"
new "langkau [text] belum dilihat"
# 00preferences.rpy:271
old "skip unseen text"
new "langkau tulisan belum dilihat"
# 00preferences.rpy:273
old "begin skipping"
new "mula melangkau"
# 00preferences.rpy:277
old "after choices"
new "selepas pilihan"
# 00preferences.rpy:284
old "skip after choices"
new "langkau selepas pilihan"
# 00preferences.rpy:286
old "auto-forward time"
new "masa untuk gerak sendiri"
# 00preferences.rpy:300
old "auto-forward"
new "gerak sendiri"
# 00preferences.rpy:307
old "Auto forward"
new "Gerak sendiri"
# 00preferences.rpy:310
old "auto-forward after click"
new "gerak sendiri selepas klik"
# 00preferences.rpy:319
old "automatic move"
new "tetikus gerak sendiri"
# 00preferences.rpy:328
old "wait for voice"
new "tunggu suara"
# 00preferences.rpy:337
old "voice sustain"
new "biarkan suara"
# 00preferences.rpy:346
old "self voicing"
new "penyuaraan sendiri"
# 00preferences.rpy:355
old "clipboard voicing"
new "penyuaraan papan keratan"
# 00preferences.rpy:364
old "debug voicing"
new "penyuaraan nyahpepijat"
# 00preferences.rpy:373
old "emphasize audio"
new "menekankan audio"
# 00preferences.rpy:382
old "rollback side"
new "sisi untuk undur"
# 00preferences.rpy:392
old "gl powersave"
new "jimat tenaga gl"
# 00preferences.rpy:398
old "gl framerate"
new "kadar bingkai gl"
# 00preferences.rpy:401
old "gl tearing"
new "pengoyakan gl"
# 00preferences.rpy:413
old "music volume"
new "kekuatan muzik"
# 00preferences.rpy:414
old "sound volume"
new "kekuatan bunyi"
# 00preferences.rpy:415
old "voice volume"
new "kekuatan suara"
# 00preferences.rpy:416
old "mute music"
new "bisukan muzik"
# 00preferences.rpy:417
old "mute sound"
new "bisukan bunyi"
# 00preferences.rpy:418
old "mute voice"
new "bisukan suara"
# 00preferences.rpy:419
old "mute all"
new "bisukan semua"
# 00preferences.rpy:500
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Penyuaraan papan keratan dibolehkan. Tekan 'shift+C' untuk melumpuhkannya."
# 00preferences.rpy:502
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Penyuaraan sendiri akan berkata \"[renpy.display.tts.last]\". Tekan 'alt+shift+V' untuk melumpuhkannya."
# 00preferences.rpy:504
old "Self-voicing enabled. Press 'v' to disable."
new "Penyuaraan sendiri dibolehkan. Tekan 'v' untuk melumpuhkannya."
# _compat\gamemenu.rpym:198
old "Empty Slot."
new "Slot Kosong."
# _compat\gamemenu.rpym:355
old "Previous"
new "Sebelumnya"
# _compat\gamemenu.rpym:362
old "Next"
new "Seterusnya"
# _compat\preferences.rpym:428
old "Joystick Mapping"
new "Pemetaan Kayu Bedik"
# _developer\developer.rpym:38
old "Developer Menu"
new "Menu Pembangun"
# _developer\developer.rpym:43
old "Interactive Director (D)"
new "Pengarah Interaktif (D)"
# _developer\developer.rpym:45
old "Reload Game (Shift+R)"
new "Muat Semula Permainan (Shift+R)"
# _developer\developer.rpym:47
old "Console (Shift+O)"
new "Konsol (Shift+O)"
# _developer\developer.rpym:49
old "Variable Viewer"
new "Alat Pemboleh Ubah"
# _developer\developer.rpym:51
old "Image Location Picker"
new "Pemilih Kedudukan Imej"
# _developer\developer.rpym:53
old "Filename List"
new "Senarai Nama Fail"
# _developer\developer.rpym:57
old "Show Image Load Log (F4)"
new "Tunjukkan Log Pemuatan Imej (F4)"
# _developer\developer.rpym:60
old "Hide Image Load Log (F4)"
new "Sembunyikan Log Pemuatan Imej (F4)"
# _developer\developer.rpym:63
old "Image Attributes"
new "Atribut Imej"
# _developer\developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (disembunyikan)"
# _developer\developer.rpym:94
old "[name] [attributes]"
new "[name] [attributes]"
# _developer\developer.rpym:137
old "Nothing to inspect."
new "Tiada apa untuk diperiksa."
# _developer\developer.rpym:265
old "Return to the developer menu"
new "Kembali ke menu pembangun"
# _developer\developer.rpym:425
old "Rectangle: %r"
new "Segi empat: %r"
# _developer\developer.rpym:430
old "Mouse position: %r"
new "Kedudukan tetikus: %r"
# _developer\developer.rpym:435
old "Right-click or escape to quit."
new "Klik-kanan atau tekan butang Esc untuk keluar."
# _developer\developer.rpym:467
old "Rectangle copied to clipboard."
new "Segi empat disalin ke papan keratan."
# _developer\developer.rpym:470
old "Position copied to clipboard."
new "Kedudukan disalin ke papan keratan."
# _developer\developer.rpym:489
old "Type to filter: "
new "Tapisan: "
# _developer\developer.rpym:617
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Tekstur: [tex_count] ([tex_size_mb:.1f] MB)"
# _developer\developer.rpym:621
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Cache imej: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# _developer\developer.rpym:631
old "✔ "
new "✔ "
# _developer\developer.rpym:634
old "✘ "
new "✘ "
# _developer\developer.rpym:639
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ imej diramal (baik){/color}\n{color=#fcc}✘ imej tidak diramal (buruk){/color}\n{color=#fff}Seret untuk gerakkannya.{/color}"
# _developer\inspector.rpym:38
old "Displayable Inspector"
new "Pemeriksa Boleh Papar"
# _developer\inspector.rpym:61
old "Size"
new "Saiz"
# _developer\inspector.rpym:65
old "Style"
new "Gaya"
# _developer\inspector.rpym:71
old "Location"
new "Kedudukan"
# _developer\inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Memeriksa Gaya [displayable_name!q]"
# _developer\inspector.rpym:139
old "displayable:"
new "boleh papar:"
# _developer\inspector.rpym:145
old " (no properties affect the displayable)"
new " (tiada sifat memberi kesan boleh papar)"
# _developer\inspector.rpym:147
old " (default properties omitted)"
new " (sifat lalai disingkirkan)"
# _developer\inspector.rpym:185
old "<repr() failed>"
new "<repr() gagal>"
# _layout\classic_load_save.rpym:170
old "a"
new "a"
# _layout\classic_load_save.rpym:179
old "q"
new "q"
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Menghubungi App Store\nSila tunggu..."
# 00updater.rpy:372
old "The Ren'Py Updater is not supported on mobile devices."
new "Pengemaskini Ren'Py tidak boleh digunakan di peranti mudah alih."
# 00updater.rpy:491
old "An error is being simulated."
new "Sebuah ralat sedang disimulasikan."
# 00updater.rpy:672
old "Either this project does not support updating, or the update status file was deleted."
new "Sama ada projek ini tidak ada fungsi mengemaskini, atau fail status kemas kini telah dipadam."
# 00updater.rpy:686
old "This account does not have permission to perform an update."
new "Akaun ini tidak mempunyai kebenaran untuk mengemaskini."
# 00updater.rpy:689
old "This account does not have permission to write the update log."
new "Akaun ini tidak mempunyai kebenaran untuk menulis log kemas kini."
# 00updater.rpy:716
old "Could not verify update signature."
new "Tidak boleh mengesahkan tandatangan kemas kini."
# 00updater.rpy:991
old "The update file was not downloaded."
new "Fail kemas kini tidak dimuat turun."
# 00updater.rpy:1009
old "The update file does not have the correct digest - it may have been corrupted."
new "Fail kemas kini tidak mempunyai cerna yang betul - mungkin ia telah rosak."
# 00updater.rpy:1065
old "While unpacking {}, unknown type {}."
new "Ketika menyahpadat {}, terdapat jenis tidak diketahui {}."
# 00updater.rpy:1429
old "Updater"
new "Pengemaskini"
# 00updater.rpy:1440
old "This program is up to date."
new "Atur cara ini sudah pun dikemaskini."
# 00updater.rpy:1442
old "[u.version] is available. Do you want to install it?"
new "[u.version] kini tersedia. Adakah anda ingin memasangkan ia?"
# 00updater.rpy:1444
old "Preparing to download the updates."
new "Membuat persediaan memuat turun kemas kini."
# 00updater.rpy:1446
old "Downloading the updates."
new "Sedang memuat turun kemas kini."
# 00updater.rpy:1448
old "Unpacking the updates."
new "Sedang menyahpadat kemas kini."
# 00updater.rpy:1452
old "The updates have been installed. The program will restart."
new "Kemaskini telah dipasang. Atur cara akan dimulakan semula."
# 00updater.rpy:1454
old "The updates have been installed."
new "Kemas kini telah dipasang."
# 00updater.rpy:1456
old "The updates were cancelled."
new "Kemas kini telah dibatalkan."
# 00gallery.rpy:585
old "Image [index] of [count] locked."
new "Imej [index] daripada [count] dikunci."
# 00gallery.rpy:605
old "prev"
new "sebelumnya"
# 00gallery.rpy:606
old "next"
new "seterusnya"
# 00gallery.rpy:607
old "slideshow"
new "persembahan slaid"
# 00gallery.rpy:608
old "return"
new "kembali"
+66
View File
@@ -0,0 +1,66 @@
translate malay strings:
# 00console.rpy:255
old "Press <esc> to exit console. Type help for help.\n"
new "Tekan <esc> untuk keluar konsol. Taip help untuk bantuan.\n"
# 00console.rpy:259
old "Ren'Py script enabled."
new "Skrip Ren'Py dibolehkan."
# 00console.rpy:261
old "Ren'Py script disabled."
new "Skrip Ren'Py dilumpuhkan."
# 00console.rpy:496
old "help: show this help"
new "help: tunjukkan bantuan ini"
# 00console.rpy:501
old "commands:\n"
new "perintah:"
# 00console.rpy:511
old " <renpy script statement>: run the statement\n"
new " <kenyataan skrip renpy>: menjalankan kenyataan tersebut\n"
# 00console.rpy:513
old " <python expression or statement>: run the expression or statement"
new " <ungkapan atau kenyataan python>: menjalankan ungkapan atau kenyataan tersebut"
# 00console.rpy:521
old "clear: clear the console history"
new "clear: kosongkan sejarah konsol"
# 00console.rpy:525
old "exit: exit the console"
new "exit: keluar konsol"
# 00console.rpy:533
old "load <slot>: loads the game from slot"
new "load <slot>: memuatkan permainan daripada slot"
# 00console.rpy:546
old "save <slot>: saves the game in slot"
new "save <slot>: menyimpan permainan ke dalam slot"
# 00console.rpy:557
old "reload: reloads the game, refreshing the scripts"
new "reload: memuatkan semula permainan, menyegarkan semula skrip"
# 00console.rpy:565
old "watch <expression>: watch a python expression"
new "watch <ungkapan>: pantau ungkapan python"
# 00console.rpy:591
old "unwatch <expression>: stop watching an expression"
new "unwatch <ungkapan>: berhenti memantau ungkapan"
# 00console.rpy:622
old "unwatchall: stop watching all expressions"
new "unwatchall: bergenti memantau semua ungkapan"
# 00console.rpy:639
old "jump <label>: jumps to label"
new "jump <label>: lompat ke label"
+214
View File
@@ -0,0 +1,214 @@
translate malay strings:
# 00gltest.rpy:70
old "Renderer"
new "Penerjemahan Grafik"
# 00gltest.rpy:74
old "Automatically Choose"
new "Pilih Secara Automatik"
# 00gltest.rpy:79
old "Force Angle/DirectX Renderer"
new "Paksa Penerjemah Angle/DirectX"
# 00gltest.rpy:83
old "Force OpenGL Renderer"
new "Paksa Penerjemah OpenGL"
# 00gltest.rpy:87
old "Force Software Renderer"
new "Paksa Penerjemah Perisian"
# 00gltest.rpy:93
old "NPOT"
new "NPOT"
# 00gltest.rpy:97
old "Enable"
new "Bolehkan"
# 00gltest.rpy:131
old "Powersave"
new "Jimat Tenaga"
# 00gltest.rpy:145
old "Framerate"
new "Kadar Bingkai"
# 00gltest.rpy:149
old "Screen"
new "Skrin"
# 00gltest.rpy:153
old "60"
new "60"
# 00gltest.rpy:157
old "30"
new "30"
# 00gltest.rpy:163
old "Tearing"
new "Pengoyakan"
# 00gltest.rpy:179
old "Changes will take effect the next time this program is run."
new "Penukaran akan menerima kesan apabila atur cara ini dijalankan semula."
# 00gltest.rpy:213
old "Performance Warning"
new "Amaran Prestasi"
# 00gltest.rpy:218
old "This computer is using software rendering."
new "Komputer ini menggunakan penerjemahan perisian."
# 00gltest.rpy:220
old "This computer is not using shaders."
new "Komputer ini tidak menggunakan pembayang."
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
new "Komputer ini memaparkan grafik dengan perlahan."
# 00gltest.rpy:224
old "This computer has a problem displaying graphics: [problem]."
new "Komputer ini mempunyai masalah memaparkan grafik: [problem]."
# 00gltest.rpy:229
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "Pemacu grafiknya mungkin ketinggalan zaman atau tidak beroperasi dengan betul. Ini boleh menyebabkan paparan grafik yang perlahan atau tidak betul. Mengemaskini DirectX boleh membaiki masalah ini."
# 00gltest.rpy:231
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "Pemacu grafiknya mungkin ketinggalan zaman atau tidak beroperasi dengan betul. Ini boleh menyebabkan paparan grafik yang perlahan atau tidak betul."
# 00gltest.rpy:236
old "Update DirectX"
new "Kemas Kini DirectX"
# 00gltest.rpy:242
old "Continue, Show this warning again"
new "Teruskan, Tunjukkan amaran ini lagi"
# 00gltest.rpy:246
old "Continue, Don't show warning again"
new "Teruskan, Jangan tunjukkan amaran sudah"
# 00gltest.rpy:264
old "Updating DirectX."
new "Sedang mengemaskini DirectX."
# 00gltest.rpy:268
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "Pemasangan web DirectX telah dimulakan. Ia mungkin bermula diminimumkan dalam bar tugas. Sila ikut arahan yang dipaparkan untuk memasang DirectX."
# 00gltest.rpy:272
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}Nota:{/b} Atur cara web Microsoft's DirectX selalunya akan memasangkan bar alat Bing. Jika anda tidak ingin bar alat ini, sila buang tanda di kotak yang berkenaan."
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "Apabila pemasangan selesai, sila klik di bawah untuk memulakan semula atur cara ini."
# 00gltest.rpy:278
old "Restart"
new "Mula Semula"
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Pilih Pad Permainan untuk Ditentuukur"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "Tiada Pad Permainan Tersedia"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Menentuukur [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Tekan atau gerakkan [kind] [control!r]."
# 00gamepad.rpy:66
old "Skip (A)"
new "Langkau (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Kembali (B)"
# _errorhandling.rpym:528
old "Open"
new "Buka"
# _errorhandling.rpym:530
old "Opens the traceback.txt file in a text editor."
new "Buka fail traceback.txt dalam penyunting tulisan."
# _errorhandling.rpym:532
old "Copy"
new "Salin"
# _errorhandling.rpym:534
old "Copies the traceback.txt file to the clipboard."
new "Menyalin fail traceback.txt ke papan keratan."
# _errorhandling.rpym:561
old "An exception has occurred."
new "Telah berlakunya pengecualian ralat."
# _errorhandling.rpym:581
old "Rollback"
new "Undur"
# _errorhandling.rpym:583
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Cuba untuk mengundur ke masa sebelumnya, membolehkan anda menyimpan atau memilih pilihan berbeza."
# _errorhandling.rpym:586
old "Ignore"
new "Abai"
# _errorhandling.rpym:590
old "Ignores the exception, allowing you to continue."
new "Abaikan pengecualian ralat, membolehkan anda untuk meneruskan."
# _errorhandling.rpym:592
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Abaikan pengecualian ralat, membolehkan anda untuk meneruskan. Ini selalunya menimbulkan lebih banyak ralat."
# _errorhandling.rpym:596
old "Reload"
new "Muat Semula"
# _errorhandling.rpym:598
old "Reloads the game from disk, saving and restoring game state if possible."
new "Memuatkan semula permainan daripada cakera, menyimpan dan memulihkan keadaan permainan jika boleh."
# _errorhandling.rpym:601
old "Console"
new "Konsol"
# _errorhandling.rpym:603
old "Opens a console to allow debugging the problem."
new "Membuka konsol untuk membolehkan penyahpepijatan masalah."
# _errorhandling.rpym:613
old "Quits the game."
new "Keluar permainan."
# _errorhandling.rpym:637
old "Parsing the script failed."
new "Penghuraian skrip telah gagal."
# _errorhandling.rpym:663
old "Opens the errors.txt file in a text editor."
new "Buka fail errors.txt dalam penyunting tulisan."
# _errorhandling.rpym:667
old "Copies the errors.txt file to the clipboard."
new "Menyalin fail errors.txt ke papan keratan."
+434
View File
@@ -0,0 +1,434 @@
translate malay strings:
# gui.rpy:2
old "## Initialization"
new "## Pengawalan"
# gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## Kenyataan init offset dalam fail ini menyebabkan kenyataan dalam fail ini dijalankan sebelum sebarang kenyataan init dalam fail lain."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Memanggil gui.init menetapkan semula gaya ke nilai lalai yang wajar, dan menetapkan lebar dan tinggi permainan."
# gui.rpy:17
old "## GUI Configuration Variables"
new "## Pemboleh Ubah Tatarajah GUI"
# gui.rpy:21
old "## Colors"
new "## Warna"
# gui.rpy:23
old "## The colors of text in the interface."
new "## Warna tulisan dalam antara muka."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## Warna aksen yang digunakan di seluruh antara muka untuk melabel dan menanda tulisan."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## Warna yang digunakan untuk butang tulisan apabila ia tidak dipilih mahupun dilalukan tetikus."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## Warna kecil itu digunakan untuk tulisan kecil, ia mestilah lebih terang/gelap untuk mencapai kesan yang sama."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## Warna yang digunakan untuk butang dan bar yang dilalukan tetikus."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## Warna yang digunakan untuk butang tulisan apabila ianya dipilih tetapi tidak difokuskan. Butang dipilih sekiranya ia skrin semasa atau nilai diutamakan."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## Warna yang digunakan untuk butang tulisan apabila ia tidak boleh dipilih."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Warna digunakan untuk bahagian bar yang belum diisi. Warna ini tidak digunakan secara terus, tetapi digunakan ketika menjana semula fail imej bar."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## Warna yang digunakan untuk tulisan dialog dan pilihan menu."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fon dan Saiz Fon"
# gui.rpy:58
old "## The font used for in-game text."
new "## Fon yang digunakan untuk tulisan di dalam permainan."
# gui.rpy:61
old "## The font used for character names."
new "## Fon yang digunakan untuk nama-nama watak."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## Fon yang digunakan untuk tulisan di luar permainan."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## Saiz untuk tulisan dialog biasa."
# gui.rpy:70
old "## The size of character names."
new "## Saiz untuk nama-nama watak."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## Saiz tulisan dalam antara muka pengguna permainan."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## Saiz label dalam antara muka pengguna permainan."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## Saiz tulisan pada skrin pemberitahuan."
# gui.rpy:82
old "## The size of the game's title."
new "## Saiz tulisan tajuk permainan."
# gui.rpy:86
old "## Main and Game Menus"
new "## Menu Utama dan Permainan"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## Imej yang digunakan untuk menu utama dan permainan."
# gui.rpy:93
old "## Dialogue"
new "## Dialog"
# gui.rpy:95
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## Pemboleh ubah ini mengawal bagaimana dialog dipaparkan di atas skrin sebaris pada sesuatu masa."
# gui.rpy:98
old "## The height of the textbox containing dialogue."
new "## Tinggi kotak tulisan yang mengandungi dialog."
# gui.rpy:101
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## Peletakan menegak kotak tulisan di atas skrin. 0.0 di atas, 0.5 di tengah, dan 1.0 di bawah."
# gui.rpy:106
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## Peletakan nama watak yang sedang bercakap, relatif kepada kotak tulisan. Nilai boleh jadi nombor bulat piksel dari kiri atau atas, atau 0.5 untuk di tengah."
# gui.rpy:111
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Penjajaran melintang nama watak. Ini boleh jadi 0.0 untuk penjajaran kiri, 0.5 untuk penjajaran tengah, dan 1.0 untuk penjajaran kanan."
# gui.rpy:115
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## Lebar, tinggi, dan sempadan kotak yang mengandungi nama watak, atau None untuk menentukan saiz secara automatik."
# gui.rpy:120
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## Sempadan kotak yang mengandungi nama watak, mengikut susunan kiri, atas, kanan, bawah."
# gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Jika ditetapkan kepada True, latar belakang kotak nama akan dijubinkan, jika False, latar belakang kotak nama akan dissesuaikan saiznya."
# gui.rpy:129
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## Peletakan dialog relatif kepada kotak tulisan. Nilai boleh jadi nombor bulat piksel dari kiri atau atas dari kotak tulisan, atau 0.5 untuk di tengah."
# gui.rpy:135
old "## The maximum width of dialogue text, in pixels."
new "## Lebar maksimum tulisan dialog, dalam piksel."
# gui.rpy:138
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## Penjajaran melintang tulisan dialog. Ini boleh jadi 0.0 untuk penjajaran kiri, 0.5 untuk penjajaran tengah, dan 1.0 untuk penjajaran kanan."
# gui.rpy:143
old "## Buttons"
new "## Butang"
# gui.rpy:145
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## Pemboleh ubah ini, beserta fail imej dalam gui/button, mengawal aspek mana butang akan dipaparkan."
# gui.rpy:148
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## Lebar dan tinggi butang, dalam piksel. Jika ditetapkan kepada None, Ren'Py akan mengira saiz sendiri."
# gui.rpy:152
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## Sempadan di setiap sisi butang, dalam susunan kiri, atas, kanan, bawah."
# gui.rpy:155
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Jika ditetapkan kepada True, latar belakang imej akan dijubinkan. Jika False, latar belakang imej akan disesuaikan saiznya secara linear."
# gui.rpy:159
old "## The font used by the button."
new "## Fon yang digunakan pada butang."
# gui.rpy:162
old "## The size of the text used by the button."
new "## Saiz untuk tulisan yang digunakan pada butang."
# gui.rpy:165
old "## The color of button text in various states."
new "## Warna tulisan butang dalam pelbagai keadaan."
# gui.rpy:171
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Penjajaran melintang tulisan butang. (0.0 untuk kiri, 0.5 untuk tengah, 1.0 untuk kanan)."
# gui.rpy:176
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## Pemboleh ubah ini mengatasi tetapan untuk pelbagai jenis butang. Sila lihat pendokumenan gui untuk pelbagai jenis butang yang ada, dan apa fungsi setiap satunya."
# gui.rpy:180
old "## These customizations are used by the default interface:"
new "## Pengubahsuaian ini digunakan di antara muka lalai:"
# gui.rpy:195
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## Anda juga boleh menambah ubah suai anda sendiri, dengan menambah pemboleh ubah yang dinamakan dengan betul. Contohnya, anda boleh nyahkomen baris di bawah untuk menetapkan lebar butang navigasi."
# gui.rpy:202
old "## Choice Buttons"
new "## Butang Pilihan"
# gui.rpy:204
old "## Choice buttons are used in the in-game menus."
new "## Butang pilihan digunakan pada menu dalam permainan."
# gui.rpy:217
old "## File Slot Buttons"
new "## Butang Slot Fail"
# gui.rpy:219
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Butang slot fail ialah butang jenis istimewa. Ia mengandungi imej kecil, dan tulisan yang menerangkan kandungan slot simpanan. Sebuah slot simpanan menggunakan fail imej dalam gui/button, seperti butang-butang jenis lain."
# gui.rpy:223
old "## The save slot button."
new "## Butang slot simpan."
# gui.rpy:233
old "## The width and height of thumbnails used by the save slots."
new "## Lebar dan tinggi imej kecil yang digunakan di slot simpan."
# gui.rpy:237
old "## The number of columns and rows in the grid of save slots."
new "## Jumlah lajur dan baris dalam grid slot simpan."
# gui.rpy:242
old "## Positioning and Spacing"
new "## Peletakan dan Penjarakan"
# gui.rpy:244
old "## These variables control the positioning and spacing of various user interface elements."
new "## Pemboleh ubah ini mengawal peletakan dan penjarakan pelbagai unsur antara muka pengguna."
# gui.rpy:247
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## Kedudukan sisi kiri butang navigasi, relatif kepada sisi kiri skrin."
# gui.rpy:251
old "## The vertical position of the skip indicator."
new "## Kedudukan menegak penunjuk langkau."
# gui.rpy:254
old "## The vertical position of the notify screen."
new "## Kedudukan menegak skrin pemberitahuan."
# gui.rpy:257
old "## The spacing between menu choices."
new "## Penjarakan di antara pelbagai pilihan menu."
# gui.rpy:260
old "## Buttons in the navigation section of the main and game menus."
new "## Butang dalam bahagian navigasi di menu utama dan permainan."
# gui.rpy:263
old "## Controls the amount of spacing between preferences."
new "## Mengawal jumlah jarak di antara keutamaan."
# gui.rpy:266
old "## Controls the amount of spacing between preference buttons."
new "## Mengawal jumlah jarak di antara butang keutamaan."
# gui.rpy:269
old "## The spacing between file page buttons."
new "## Jarak di antara butang halaman fail."
# gui.rpy:272
old "## The spacing between file slots."
new "## Jarak di antara slot fail."
# gui.rpy:275
old "## The position of the main menu text."
new "## Kedudukan tulisan menu utama."
# gui.rpy:279
old "## Frames"
new "## Bingkai"
# gui.rpy:281
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## Pemboleh ubah ini mengawal rupa bingkai yang boleh mengandungi komponen antara muka apabila tindihan atas atau tetingkap tidak wujud."
# gui.rpy:284
old "## Generic frames."
new "## Bingkai umum."
# gui.rpy:287
old "## The frame that is used as part of the confirm screen."
new "## Bingkai yang digunakan sebagai sebahagian skrin pengesahan."
# gui.rpy:290
old "## The frame that is used as part of the skip screen."
new "## Bingkai yang digunakan sebagai sebahagian skrin langkau."
# gui.rpy:293
old "## The frame that is used as part of the notify screen."
new "## Bingkai yang digunakan sebagai sebahagian skrin pemberitahuan."
# gui.rpy:296
old "## Should frame backgrounds be tiled?"
new "## Adakah latar belakang bingkai patut dijubinkan?"
# gui.rpy:300
old "## Bars, Scrollbars, and Sliders"
new "## Bar, Bar Tatal, dan Lungsur"
# gui.rpy:302
old "## These control the look and size of bars, scrollbars, and sliders."
new "## Ini mengawal rupa dan saiz bar, bar tatal, dan lungsur."
# gui.rpy:304
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## GUI lalai hanya menggunakan lungsur dan bar tatal menegak. Semua bar lain hanya digunakan dalam skrin ditulis oleh para pencipta."
# gui.rpy:307
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## Tinggi bar melintang, bar tatal, dan lungsur. Lebar bar menegak, bar tatal, dan lungsur."
# gui.rpy:313
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## Tetapkan True jika imej bar patut dijubinkan. Tetapkan False jika mereka patut disesuaikan saiz secara linear."
# gui.rpy:318
old "## Horizontal borders."
new "## Sempadan melintang."
# gui.rpy:323
old "## Vertical borders."
new "## Sempadan menegak."
# gui.rpy:328
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## Apa nak dibuat dengan bar tatal yang tidak boleh ditatalkan dalam gui. \"hide\" menyembunyikan mereka, manakala None menunjukkan mereka."
# gui.rpy:333
old "## History"
new "## Sejarah"
# gui.rpy:335
old "## The history screen displays dialogue that the player has already dismissed."
new "## Skrin sejarah memaparkan dialog yang pemain telah tolak tepi."
# gui.rpy:337
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## Jumlah blok sejarah dialog yang Ren'Py akan simpan."
# gui.rpy:340
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## Tinggi untuk entri skrin sejarah, atau tetapkan kepada None untuk membiarkan tinggi dikira sendiri dengan mengorbankan prestasi."
# gui.rpy:344
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## Kedudukan, lebar, dan penjajaran label yang memberikan nama kepada watak yang sedang bercakap."
# gui.rpy:351
old "## The position, width, and alignment of the dialogue text."
new "## Kedudukan, lebar, dan penjajaran tulisan dialog."
# gui.rpy:358
old "## NVL-Mode"
new "## Mod NVL"
# gui.rpy:360
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## Skrin mod NVL menunjukkan dialog yang dicakapkan oleh watak mod NVL."
# gui.rpy:362
old "## The borders of the background of the NVL-mode background window."
new "## Sempadan latar belakang tetingkap latar mod NVL."
# gui.rpy:365
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## Jumlah entri mod NVL maksimum yang Ren'Py akan paparkan. Apabila lebih banyak entri akan ditunjukkan, entri paling lama akan dibuang."
# gui.rpy:369
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Tinggi entri mod NVL. Tetapkan ini kepada None untuk membuatkan entri melaraskan tinggi secara dinamik."
# gui.rpy:373
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Jarak di antara entri mod NVL apabila gui.nvl_height ditetapkan kepada None, dan di antara entri mod NVL dan menu mod NVL."
# gui.rpy:390
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## Kedudukan, lebar, dan penjajaran tulisan nvl_thought (tulisan yang dicakapkan oleh watak nvl_narrator)."
# gui.rpy:397
old "## The position of nvl menu_buttons."
new "## Kedudukan menu_buttons nvl."
# gui.rpy:401
old "## Localization"
new "## Terjemahan"
# gui.rpy:403
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Ini mengawal di mana baris pemisah dibenarkan. Lalainya ia sesuai untuk semua bahasa. Senarai nilai yang ada boleh dijumpai di https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui.rpy:411
old "## Mobile devices"
new "## Peranti mudah alih"
# gui.rpy:416
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Ini menambah saiz butang cepat untuk membuatkan mereka lebih mudah disentuh pada tablet dan telefon."
# gui.rpy:422
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Ini menukar saiz dan penjarakan pelbagai unsur GUI untuk memastikan mereka lebih mudah dilihat pada telefon."
# gui.rpy:426
old "## Font sizes."
new "## Saiz fon."
# gui.rpy:434
old "## Adjust the location of the textbox."
new "## Laras kedudukan kotak tulisan."
# gui.rpy:440
old "## Change the size and spacing of various things."
new "## Tukar saiz dan penjarakan pelbagai benda."
# gui.rpy:453
old "## File button layout."
new "## Tataletak butang fail."
# gui.rpy:457
old "## NVL-mode."
new "## Mod NVL."
File diff suppressed because it is too large Load Diff
+202
View File
@@ -0,0 +1,202 @@
translate malay strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## Fail ini mengandungi pilihan yang boleh ditukar untuk mengubahsuai permainan anda."
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Baris bermula dengan dua tanda '#' ialah komen, dan anda tidak patut menyahkomen mereka. Baris bermula dengan satu tanda '#' ialah kod yang dikomenkan, dan anda mungkin ingin menyahkomen mereka apabila perlu."
# options.rpy:10
old "## Basics"
new "## Asas"
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## Nama permainan yang boleh dibaca manusia. Ini digunakan untuk menetapkan tajuk tetingkap lalai, dan ditunjukkan dalam antara muka dan laporan ralat."
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## Tanda _() di sekeliling rentetan menandakan ia layak untuk diterjemah."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "GUI Lalai Ren'Py 7"
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Menentukan sama ada tajuk yang diberikan di atas ditunjukkan pada skrin menu utama. Tetapkan kepada False untuk menyembunyikan tajuk."
# options.rpy:26
old "## The version of the game."
new "## Versi permainan ini."
# options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## Tulisan yang diletakkan pada skrin perihalan permainan. Letakkan tulisan di antara tanda petikan ganda tiga, dan biarkan baris kosong di antara perenggan."
# options.rpy:38
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## Nama pendek untuk permainan yang digunakan untuk boleh laku dan direktori dalam pengedaran yang dibina. Ini mestilah aksara ASCII sahaja, dan tidak boleh ada selang, titik bertindih, atau koma bertindih."
# options.rpy:45
old "## Sounds and music"
new "## Bunyi dan muzik"
# options.rpy:47
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## Tiga pemboleh ubah ini mengawal pengadun mana yang ditunjukkan kepada pemain secara lalainya. Menetapkan salah satu daripadanya kepada False akan menyembunyikan pengadun yang berkaitan."
# options.rpy:56
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## Untuk membolehkan pengguna memainkan bunyi percubaan untuk saluran bunyi atau suara, nyahkomen satu baris di bawah dan gunakannya untuk menetapkan bunyi sampel untuk dimainkan."
# options.rpy:63
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Nyahkomen baris di bawah untuk menetapkan fail audio yang akan dimainkan ketika pemain berada di menu utama. Fail ini akan terus dimainkan selepas permainan bermula, sehingga ia dihentikan atau fail lain dimainkan."
# options.rpy:70
old "## Transitions"
new "## Peralihan"
# options.rpy:72
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## Pemboleh ubah ini menetapkan peralihan yang akan digunakan apabila berlakunya acara tertentu. Setiap pemboleh ubah patut ditetapkan kepada sejenis peralihan, atau kepada None untuk menunjukkan tiada peralihan patut digunakan."
# options.rpy:76
old "## Entering or exiting the game menu."
new "## Masuk atau keluar menu permainan."
# options.rpy:82
old "## Between screens of the game menu."
new "## Di antara skrin berbeza di menu permainan."
# options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## Peralihan yang digunakan selepas permainan dimuatkan."
# options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Digunakan ketika memasuki menu utama selepas permainan tamat."
# options.rpy:97
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## Pemboleh ubah untuk menetapkan peralihan yang digunakan apabila permainan yang dimulakan tidak wujud. Sebaliknya, gunakan dengan kenyataan selepas menunjukkan adegan awal."
# options.rpy:102
old "## Window management"
new "## Pengurusan tetingkap"
# options.rpy:104
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## Ini mengawal apabila tetingkap dialog dipaparkan. Jika ditetapkan kepada \"show\", ia akan sentiasa dipaparkan. Jika \"hide\", ia hanya dipaparkan apabila ada dialog. Jika \"auto\", tetingkap disembunyikan sebelum kenyataan adegan dan ditunjukkan semula selepas dialog dipaparkan."
# options.rpy:109
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## Selepas permainan dimulakan, ini boleh ditukar dengan kenyataan \"window show\", \"window hide\", dan \"window auto\"."
# options.rpy:115
old "## Transitions used to show and hide the dialogue window"
new "## Peralihan yang digunakan untuk menunjukkan dan menyembunyikan tetingkap dialog"
# options.rpy:121
old "## Preference defaults"
new "## Lalai keutamaan"
# options.rpy:123
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Mengawal kelajuan lalai tulisan. Nilai lalai, 0, ialah tiada had (keluar semua serentak), manakala nombor lain ialah jumlah aksara per saat untuk ditulis."
# options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Lengah masa bergerak-sendiri yang lalai. Nombor lebih besar menyebabkan lengah lebih lama, dengan julat yang sah dari 0 hingga 30."
# options.rpy:135
old "## Save directory"
new "## Direktori simpan"
# options.rpy:137
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Mengawal tempat khusus-platform yang Ren'Py akan letakkan fail simpan untuk permainan ini. Fail simpan akan diletakkan di:"
# options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
# options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Secara umumnya, ini tidak patut ditukar, namun jika perlu ditukar, ia mestilah rentetan literal dan bukannya ungkapan."
# options.rpy:152
old "## Icon"
new "## Ikon"
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Ikon dipaparkan di bar tugas atau dok."
# options.rpy:159
old "## Build configuration"
new "## Tatarajah pembinaan"
# options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Bahagian ini mengawal bagaimana Ren'Py menukarkan projek anda menjadi fail pengedaran."
# options.rpy:166
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## Fungsi di bawah mengambil corak fail. Corak fail tidak sensitif huruf, dan dipadankan dengan haluan relatif kepada direktori asas, dengan dan tanpa tanda pendahuluan /. Jika pelbagai corak terpadan, padanan pertama digunakan."
# options.rpy:171
old "## In a pattern:"
new "## Dalam padanan:"
# options.rpy:173
old "## / is the directory separator."
new "## / ialah pemisah direktori."
# options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * padan semua aksara, kecuali pemisah direktori."
# options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** padan semua aksara, termasuk pemisah direktori."
# options.rpy:179
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## Contohnya, \"*.txt\" padan dengan fail txt dalam direktori asas, \"game/**.ogg\" padan dengan fail ogg dalam direktori game atau mana-mana subdirektorinya, dan \"**.psd\" padan dengan fail psd di mana-mana dalam projek."
# options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Klasifikasikan fail sebagai None untuk mengecualikan mereka daripada pengedaran yang dibina."
# options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Untuk mengarkib fail, klasifikasikan mereka sebagai 'archive'."
# options.rpy:196
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Fail yang padan dengan corak pendokumenan akan dipenduakan dalam binaan aplikasi Mac, jadi mereka muncul dalam kedua-dua aplikasi dan fail zip."
# options.rpy:202
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Tetapkan ini kepada rentetan mengandungi Aplikasi ID Pembangun Apple (Apple Developer ID Application) anda untuk membolehkan perekaan bersama di Mac. Pastikan untuk menukarnya kepada ID Apple anda sendiri."
# options.rpy:209
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## Kunci lesen Google Play diperlukan untuk memuat turun fail pengembangan dan melakukan pembelian dalam aplikasi. Ia boleh dijumpai di halaman \"Services & APIs\" di konsol pembangun Google Play."
# options.rpy:216
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Nama pengguna dan nama projek yang dikaitkan dengan projek itch.io, dipisahkan dengan tanda palang sendeng (/)."
+674
View File
@@ -0,0 +1,674 @@
translate malay strings:
# screens.rpy:9
old "## Styles"
new "## Gaya"
# screens.rpy:81
old "## In-game screens"
new "## Skrin dalam permainan"
# screens.rpy:85
old "## Say screen"
new "## Skrin sebutan"
# screens.rpy:87
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Skrin sebutan digunakan untuk memaparkan dialog kepada pemain. Ia mengambil dua parameter, who ialah nama watak yang bercakap, dan what ialah tulisan untuk dipaparkan. (Parameter who boleh ditetapkan kepada None jika tiada nama diberikan.)"
# screens.rpy:92
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Skrin ini mesti mencipta tulisan yang boleh dipaparkan dengan id \"what\", kerana Ren'Py menggunakan ini untuk mengurus paparan tulisan. Ia juga boleh mencipta paparan dengan id \"who\" dan id \"window\" untuk menggunakan sifat gaya."
# screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## https://www.renpy.org/doc/html/screen_special.html#say"
# screens.rpy:114
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
new "## Jika ada imej sampingan, paparkan ia di atas tulisan. Jangan paparkan ia pada varian telefon - ia tidak cukup ruang."
# screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## Buatkan kotak nama boleh digayakan melalui objek watak (Character)."
# screens.rpy:164
old "## Input screen"
new "## Skrin input"
# screens.rpy:166
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Skrin ini digunakan untuk memaparkan renpy.input. Parameter prompt digunakan untuk memberikan prom tulisan."
# screens.rpy:169
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Skrin ini mesti mencipta input yang boleh dipaparkan dengan id \"input\" untuk menerima pelbagai parameter input."
# screens.rpy:172
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://www.renpy.org/doc/html/screen_special.html#input"
# screens.rpy:199
old "## Choice screen"
new "## Skrin pilihan"
# screens.rpy:201
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Skrin ini digunakan untuk memaparkan pilihan dalam permainan yang dipersembahkan melalui kenyataan menu. Satu-satunya parameter, items, ialah senarai objek, setiap satunya dengan medan keterangan dan medan perbuatan."
# screens.rpy:205
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://www.renpy.org/doc/html/screen_special.html#choice"
# screens.rpy:215
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## Apabila ini ditetapkan kepada true, keterangan menu akan disebut oleh tukang cerita. Apabila false, keterangan menu akan dipaparkan sebagai butang kosong."
# screens.rpy:238
old "## Quick Menu screen"
new "## Skrin Menu Cepat"
# screens.rpy:240
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Menu cepat dipaparkan dalam permainan untuk menyediakan capaian mudah ke menu luar permainan."
# screens.rpy:245
old "## Ensure this appears on top of other screens."
new "## Pastikan ini muncuk di atas skrin-skrin lain."
# screens.rpy:256
old "Back"
new "Kembali"
# screens.rpy:257
old "History"
new "Sejarah"
# screens.rpy:258
old "Skip"
new "Langkau"
# screens.rpy:259
old "Auto"
new "Auto"
# screens.rpy:260
old "Save"
new "Simpan"
# screens.rpy:261
old "Q.Save"
new "C.Simpan"
# screens.rpy:262
old "Q.Load"
new "C.Muat"
# screens.rpy:263
old "Prefs"
new "Keutamaan"
# screens.rpy:266
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## Kod ini memastikan skrin quick_menu dipaparkan dalam permainan, apabila pemain tidak menyembunyikan antara muka secara khusus."
# screens.rpy:284
old "## Main and Game Menu Screens"
new "## Skrin Menu Utama dan Permainan"
# screens.rpy:287
old "## Navigation screen"
new "## Skrin Navigasi"
# screens.rpy:289
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Skrin ini disertakan dalam menu utama dan permainan, dan menyediakan navigasi ke menu lain, dan untuk memulakan permainan."
# screens.rpy:304
old "Start"
new "Mula"
# screens.rpy:312
old "Load"
new "Muat"
# screens.rpy:314
old "Preferences"
new "Keutamaan"
# screens.rpy:318
old "End Replay"
new "Tamatkan Ulang Tayang"
# screens.rpy:322
old "Main Menu"
new "Menu Utama"
# screens.rpy:324
old "About"
new "Perihal"
# screens.rpy:328
old "## Help isn't necessary or relevant to mobile devices."
new "## Bantuan tidak diperlukan atau sesuai untuk peranti mudah alih."
# screens.rpy:329
old "Help"
new "Bantuan"
# screens.rpy:331
old "## The quit button is banned on iOS and unnecessary on Android."
new "## Butang keluar tidak dibenarkan di iOS dan tidak diperlukan di Android."
# screens.rpy:332
old "Quit"
new "Keluar"
# screens.rpy:346
old "## Main Menu screen"
new "## Skrin Menu Utama"
# screens.rpy:348
old "## Used to display the main menu when Ren'Py starts."
new "## Digunakan untuk memaparkan menu utama apabila Ren'Py dimulakan."
# screens.rpy:350
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
# screens.rpy:354
old "## This ensures that any other menu screen is replaced."
new "## Ini memastikan sebarang skrin menu lain digantikan."
# screens.rpy:361
old "## This empty frame darkens the main menu."
new "## Bingkai kosong ini menggelapkan menu utama."
# screens.rpy:365
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Kenyataan use memasukkan skrin lain ke dalam skrin ini. Kandungan sebenar menu utama ada dalam skrin navigasi."
# screens.rpy:408
old "## Game Menu screen"
new "## Skrin Menu Permainan"
# screens.rpy:410
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## Ini meletakkan struktur biasa asas untuk skrin menu permainan. Ia dipanggil dengan tajuk skrin, dan memaparkan latar belakang, tajuk, dan navigasi."
# screens.rpy:413
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Parameter tatal boleh jadi None, atau salah satu dari \"viewport\" atau \"vpgrid\". Apabila skrin ini bertujuan untuk digunakan dengan satu atau lebih anak, yang mana mereka ditransklusikan (diletakkan) ke dalamnya."
# screens.rpy:431
old "## Reserve space for the navigation section."
new "## Menyimpan ruang untuk bahagian navigasi."
# screens.rpy:473
old "Return"
new "Kembali"
# screens.rpy:536
old "## About screen"
new "## Skrin perihal"
# screens.rpy:538
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Skrin ini memberi penghargaan dan maklumat hak cipta berkaitan permainan dan Ren'Py."
# screens.rpy:541
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## Tiada apa istimewa dengan skrin ini, dan sebab itu ia dikekalkan sebagai contoh cara membuat skrin sendiri."
# screens.rpy:548
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## Kenyataan use ini memasukkan skrin game_menu ke dalam skrin ini. Anak vbox kemudiannya dimasukkan ke dalam port pandang dalam skrin game_menu."
# screens.rpy:558
old "Version [config.version!t]\n"
new "Versi [config.version!t]\n"
# screens.rpy:560
old "## gui.about is usually set in options.rpy."
new "## gui.about selalunya ditetapkan di options.rpy."
# screens.rpy:564
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Dibuat menggunakan {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:567
old "## This is redefined in options.rpy to add text to the about screen."
new "## Benda ini ditakrifkan semula di options.rpy untuk menambah tulisan ke skrin perihalan."
# screens.rpy:579
old "## Load and Save screens"
new "## Muat dan Simpan skrin"
# screens.rpy:581
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## Skrin-skrin ini bertanggungjawab untuk membolehkan pemain menyimpan dan memuatkan permainan. Memandangkan mereka berkongsi hampir semua benda, kedua-duanya dilaksanakan dengan cara skrin ketiga, file_slots."
# screens.rpy:585
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
new "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
# screens.rpy:604
old "Page {}"
new "Halaman {}"
# screens.rpy:604
old "Automatic saves"
new "Simpan automatik"
# screens.rpy:604
old "Quick saves"
new "Simpan cepat"
# screens.rpy:610
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Ini memastikan input mendapat acara masuk sebelum sebarang butang lain."
# screens.rpy:614
old "## The page name, which can be edited by clicking on a button."
new "## Nama halaman, yang boleh disunting dengan menekan butang."
# screens.rpy:626
old "## The grid of file slots."
new "## Grid slot fail."
# screens.rpy:646
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
# screens.rpy:646
old "empty slot"
new "slot kosong"
# screens.rpy:654
old "## Buttons to access other pages."
new "## Butang untuk mencapai halaman lain."
# screens.rpy:663
old "<"
new "<"
# screens.rpy:666
old "{#auto_page}A"
new "{#auto_page}A"
# screens.rpy:669
old "{#quick_page}Q"
new "{#quick_page}Q"
# screens.rpy:671
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) memberikan nombor dari 1 hingga 9."
# screens.rpy:675
old ">"
new ">"
# screens.rpy:710
old "## Preferences screen"
new "## Skrin keutamaan"
# screens.rpy:712
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Skrin keutamaan membolehkan pemain untuk menatarajah permainan agar lebih selesa dengan diri mereka."
# screens.rpy:715
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## https://www.renpy.org/doc/html/screen_special.html#preferences"
# screens.rpy:732
old "Display"
new "Paparan"
# screens.rpy:733
old "Window"
new "Tetingkap"
# screens.rpy:734
old "Fullscreen"
new "Skrin Penuh"
# screens.rpy:738
old "Rollback Side"
new "Bahagian Undur"
# screens.rpy:739
old "Disable"
new "Lumpuhkan"
# screens.rpy:740
old "Left"
new "Kiri"
# screens.rpy:741
old "Right"
new "Kanan"
# screens.rpy:746
old "Unseen Text"
new "Teks Belum Lihat"
# screens.rpy:747
old "After Choices"
new "Lepas Pilihan"
# screens.rpy:748
old "Transitions"
new "Lepas Peralihan"
# screens.rpy:750
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Vbox tambahan jenis \"radio_pref\" atau \"check_pref\" boleh ditambah di sini, untuk menambah keutamaan ditakrifkan oleh pencipta permainan."
# screens.rpy:761
old "Text Speed"
new "Kelajuan Tulisan"
# screens.rpy:765
old "Auto-Forward Time"
new "Masa untuk Gerak Sendiri"
# screens.rpy:772
old "Music Volume"
new "Kekuatan Muzik"
# screens.rpy:779
old "Sound Volume"
new "Kekuatan Bunyi"
# screens.rpy:785
old "Test"
new "Cuba"
# screens.rpy:789
old "Voice Volume"
new "Kekuatan Suara"
# screens.rpy:800
old "Mute All"
new "Bisukan SEMUA"
# screens.rpy:876
old "## History screen"
new "## Skrin Sejarah"
# screens.rpy:878
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## Ini skrin yang memaparkan sejarah dialog kepada pemain. Walaupun tiada apa yang istimewa dengan skrin ini, ia mempunyai capaian ke sejarah dialog dalam _history_list."
# screens.rpy:882
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.org/doc/html/history.html"
# screens.rpy:888
old "## Avoid predicting this screen, as it can be very large."
new "## Mengelakkan ramalan skrin ini, kerana ia boleh jadi sangat besar."
# screens.rpy:899
old "## This lays things out properly if history_height is None."
new "## Ini meletakkan semua benda dengan elok jika history_height ditetapkan ke None."
# screens.rpy:908
old "## Take the color of the who text from the Character, if set."
new "## Mengambil warna tulisan 'who' dari objek watak (Character), jika ia ditetapkan."
# screens.rpy:916
old "The dialogue history is empty."
new "Sejarah dialog kosong."
# screens.rpy:919
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Ini menentukan tag apa yang dibenarkan untuk dipaparkan di skrin sejarah."
# screens.rpy:966
old "## Help screen"
new "## Skrin Bantuan"
# screens.rpy:968
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## Skrin yang memberikan maklumat berkaitan pengikatan kekunci dan tetikus. Ia menggunakan skrin lain (keyboard_help, mouse_help, dan gamepad_help) untuk memaparkan bantuan sebenar."
# screens.rpy:987
old "Keyboard"
new "Papan Kekunci"
# screens.rpy:988
old "Mouse"
new "Tetikus"
# screens.rpy:991
old "Gamepad"
new "Pad Permainan"
# screens.rpy:1004
old "Enter"
new "Enter"
# screens.rpy:1005
old "Advances dialogue and activates the interface."
new "Menggerakkan dialog dan mengaktifkan antara muka."
# screens.rpy:1008
old "Space"
new "Space"
# screens.rpy:1009
old "Advances dialogue without selecting choices."
new "Menggerakkan dialog tanpa memilih pilihan."
# screens.rpy:1012
old "Arrow Keys"
new "Kekunci Anak Panah"
# screens.rpy:1013
old "Navigate the interface."
new "Melayar antara muka."
# screens.rpy:1016
old "Escape"
new "Escape"
# screens.rpy:1017
old "Accesses the game menu."
new "Mencapai menu permainan."
# screens.rpy:1020
old "Ctrl"
new "Ctrl"
# screens.rpy:1021
old "Skips dialogue while held down."
new "Langkau dialog apabila ditekan."
# screens.rpy:1024
old "Tab"
new "Tab"
# screens.rpy:1025
old "Toggles dialogue skipping."
new "Menogol langkauan dialog."
# screens.rpy:1028
old "Page Up"
new "Page Up"
# screens.rpy:1029
old "Rolls back to earlier dialogue."
new "Bergerak ke dialog sebelumnya."
# screens.rpy:1032
old "Page Down"
new "Page Down"
# screens.rpy:1033
old "Rolls forward to later dialogue."
new "Bergerak ke dialog seterusnya."
# screens.rpy:1037
old "Hides the user interface."
new "Menyembunyikan antara muka pengguna."
# screens.rpy:1041
old "Takes a screenshot."
new "Mengambil tangkap skrin."
# screens.rpy:1045
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Menogol {a=https://www.renpy.org/l/voicing}penyuaraan sendiri{/a} yang membantu."
# screens.rpy:1051
old "Left Click"
new "Klik Kiri"
# screens.rpy:1055
old "Middle Click"
new "Klik Tengah"
# screens.rpy:1059
old "Right Click"
new "Klik Kanan"
# screens.rpy:1063
old "Mouse Wheel Up\nClick Rollback Side"
new "Tatal Ke Atas\nKlik Sisi Undur"
# screens.rpy:1067
old "Mouse Wheel Down"
new "Tatal Ke Bawah"
# screens.rpy:1074
old "Right Trigger\nA/Bottom Button"
new "Picu Kanan\nA/Butang Bawah"
# screens.rpy:1078
old "Left Trigger\nLeft Shoulder"
new "Picu Kiri\nBahu Kiri (L1)"
# screens.rpy:1082
old "Right Shoulder"
new "Bahu Kanan (R1)"
# screens.rpy:1087
old "D-Pad, Sticks"
new "D-Pad (Butang Arah), Kayu Bedik"
# screens.rpy:1091
old "Start, Guide"
new "Butang Start, Guide"
# screens.rpy:1095
old "Y/Top Button"
new "Y/Butang Atas"
# screens.rpy:1098
old "Calibrate"
new "Tentuukur"
# screens.rpy:1126
old "## Additional screens"
new "## Skrin tambahan"
# screens.rpy:1130
old "## Confirm screen"
new "## Skrin pengesahan"
# screens.rpy:1132
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Skrin pengesahan dipanggil apabila Ren'Py ingin bertanya pemain soalan ya atau tidak."
# screens.rpy:1135
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
# screens.rpy:1139
old "## Ensure other screens do not get input while this screen is displayed."
new "## Memastikan skrin-skrin lain tidak mendapat input apabila skrin ini dipaparkan."
# screens.rpy:1163
old "Yes"
new "Ya"
# screens.rpy:1164
old "No"
new "Tidak"
# screens.rpy:1166
old "## Right-click and escape answer \"no\"."
new "## Klik-kanan dan keluar menjawab \"tidak\"."
# screens.rpy:1193
old "## Skip indicator screen"
new "## Skrin Penunjuk Langkau"
# screens.rpy:1195
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Skrin skip_indicator dipaparkan untuk menandakan pelangkauan sedang dilakukan."
# screens.rpy:1198
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
# screens.rpy:1210
old "Skipping"
new "Melangkau"
# screens.rpy:1217
old "## This transform is used to blink the arrows one after another."
new "## Peralihan ini digunakan untuk mengerdipkan anak panah satu selepas satu."
# screens.rpy:1244
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Kami perlu menggunakan fon yang mempunyai glif bernama BLACK RIGHT-POINTING SMALL TRIANGLE (segi tiga kecil hitam menunjuk ke kanan) di dalamnya."
# screens.rpy:1249
old "## Notify screen"
new "## Skrin Pemberitahuan"
# screens.rpy:1251
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## Skrin pemberitahuan digunakan untuk menunjukkan mesej kepada pemain. (Contohnya, apabila permainan disimpan cepat atau tangkap skrin telah diambil.)"
# screens.rpy:1254
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
# screens.rpy:1288
old "## NVL screen"
new "## Skrin NVL"
# screens.rpy:1290
old "## This screen is used for NVL-mode dialogue and menus."
new "## Skrin ini digunakan untuk dialog dan menu mod NVL."
# screens.rpy:1292
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
# screens.rpy:1303
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Memaparkan dialog sama ada dalam vpgrid atau vbox."
# screens.rpy:1316
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Memaparkan menu, sekiranya diberi. Menu mungkin dipaparkan dengan salah jika config.narrator_menu ditetapkan ke True, seperti di atas."
# screens.rpy:1346
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Ini mengawal jumlah maksimum entri mod NVL yang boleh dipaparkan dalam sesuatu masa."
# screens.rpy:1408
old "## Mobile Variants"
new "## Varian Mudah Alih"
# screens.rpy:1415
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Memandangkan tetikus tidak semestinya ada, kami menggantikan menu cepat dengan versi yang menggunakan sedikit butang dan butang lebih besar agar lebih mudah disentuh."
# screens.rpy:1431
old "Menu"
new "Menu"

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