Compare commits

...

1341 Commits

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

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

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

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

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

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

Fixes #1856.

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

Fixes #1857.
2019-06-04 19:16:04 -04:00
nyaatraps badb0e7803 Update Japanese 2019-06-04 17:34:52 +09:00
Tom Rothamel be3af7e868 Merge pull request #1851 from mal/more-say-transition-changes
More say transition changes
2019-06-02 14:20:52 -04:00
Mal Graty eb41a41b3a Clarify sets not lists 2019-06-02 19:20:02 +01:00
Mal Graty d806d99cb7 Both, not hybrid 2019-06-02 19:16:55 +01:00
Tom Rothamel 78e4241bd9 Merge pull request #1849 from Moshibit/master
NVL-mode script for new The Question
2019-06-02 14:13:56 -04:00
Sylvain Beucler e004acf4d0 web: shortcut to build directory 2019-06-02 17:38:00 +02:00
Mal Graty 8d63b60db8 Rework of say transitions 2019-06-02 11:29:45 +01:00
Mal Graty 11a6f292a4 Typo 2019-06-02 09:06:21 +01:00
Moshibit 741d6137d1 Update script.rpy 2019-06-01 22:21:54 -05:00
Tom Rothamel 70fd79df26 Fix server name. 2019-06-01 21:37:35 -04:00
Tom Rothamel 38deac811e Fix typo in function reference. 2019-06-01 20:55:50 -04:00
Moshibit 5827166418 Update thequestion_nvl.rst 2019-06-01 17:16:54 -05:00
Moshibit 9913c4f912 Update thequestion_nvl.rst 2019-06-01 17:12:53 -05:00
Tom Rothamel 35f3824a8f Update credits. 2019-06-01 17:02:28 -04:00
Tom Rothamel 7d1eaf560e Update the name of the version. 2019-06-01 17:00:47 -04:00
Tom Rothamel b762b5267c Merge pull request #1695 from pionere/master
shortcut for change_language
2019-06-01 15:10:24 -04:00
Tom Rothamel 5a7c9f845f Update the world's least useful translation. 2019-06-01 00:07:50 -04:00
Tom Rothamel a1dd218560 sl2: Store the scopes to provide them to _scope.
This fixes:

  screen on_use(a):
      text "[a]"

  screen test:
      fixed:
          fit_first True
          align (0.5, 0.5)
          use on_use(1)

  label start:
      show screen test
      pause
      return
2019-05-31 23:08:57 -04:00
Tom Rothamel 958536e9de Merge pull request #1847 from Moshibit/master
Correction in the tutorial about the use of focus_mask in Android and iOS
2019-05-31 21:52:18 -04:00
Moshibit c1b634d46b correction 2019-05-31 19:51:19 -05:00
Moshibit a0ed43a64f correction 2019-05-31 19:50:18 -05:00
Moshibit 7552aa3518 correction 2019-05-31 19:49:33 -05:00
Moshibit cf0b78f0fb correction 2019-05-31 19:48:31 -05:00
Moshibit f25affd975 correction 2019-05-31 19:47:06 -05:00
Moshibit 471f073051 correction 2019-05-31 19:45:10 -05:00
Tom Rothamel 194b5e1f9b Merge pull request #1846 from DragoonHP/patch-1
Typos fix
2019-05-31 19:13:43 -04:00
DragoonHP 3f70e93f90 Typos fix 2019-05-31 10:35:28 +05:30
Tom Rothamel bdf6db0efa Document incompatible changes. 2019-05-31 00:11:38 -04:00
Tom Rothamel 5429949e82 Changelog. 2019-05-31 00:11:38 -04:00
Tom Rothamel 659bb63a06 Changelog WIP. 2019-05-31 00:11:38 -04:00
Tom Rothamel 6d7b1f9704 cds: Add a predict_next method. 2019-05-31 00:11:38 -04:00
Tom Rothamel 833a80d343 cds: Undo the advance at the end of renpy_statment. 2019-05-31 00:11:38 -04:00
Tom Rothamel 43b43f3688 Merge pull request #1843 from Andykl/fix-custom-tags
Added self closing custom_tags to check_text_tags
2019-05-29 14:24:31 -04:00
Andy_kl 4fcc58a992 Added self closing custom_tags to check_text_tags 2019-05-29 11:04:19 +03:00
Tom Rothamel 57f5872409 Merge pull request #1826 from WKFO/translation-tr
Turkish translation
2019-05-28 22:23:35 -04:00
Tom Rothamel be855c7c37 Merge pull request #1838 from Moshibit/master
Spanish translation update
2019-05-28 22:23:22 -04:00
Tom Rothamel 9a30c95011 Implement Self-closing text tags.
Fixes #1841, closes #1842.
2019-05-28 22:23:06 -04:00
Tom Rothamel de061aea9b Merge pull request #1828 from Andykl/side-render-order
Side render order
2019-05-28 20:24:33 -04:00
Tom Rothamel 50939ee7bd A from clause should not define the global label.
Fixes #1824.
2019-05-28 20:23:02 -04:00
Tom Rothamel 3622a2ee21 Generate translations for screens with a continuation line.
Fixes #1827.
2019-05-28 20:12:18 -04:00
Tom Rothamel 37c4fb3f4b sl2: Allow the as clause to apply to the children of a displayable. 2019-05-28 01:45:35 -04:00
Tom Rothamel f360a53eda sl2: The as clause binds a variable to a displayable. 2019-05-28 01:02:42 -04:00
Tom Rothamel c1add010be cds: Rewrite renpy_block to match documentation. 2019-05-27 11:15:16 -04:00
Tom Rothamel fe816be0d8 Fix eception in Curry.__hash__.
Fixes #1839.
2019-05-27 00:42:47 -04:00
Tom Rothamel 71b6888f10 cds: Document new lexer functions. 2019-05-26 23:10:50 -04:00
Tom Rothamel d3fa22566a cds: Do not advance when catching an error.
Not needed, given sample code in the documentatation.
2019-05-26 02:15:53 -04:00
Tom Rothamel b69c80a40c cds: Switch to using line index rather than number. 2019-05-26 01:36:54 -04:00
Tom Rothamel e8fc4d28b5 cds: Add the ability to catch lexer errors. 2019-05-26 01:33:00 -04:00
Moshibit 96f91895c0 Add files via upload 2019-05-26 00:22:05 -05:00
Tom Rothamel 98241f413c Add repr for SubParse. 2019-05-25 23:46:10 -04:00
Tom Rothamel b62326e52d Allow jumping to SubParses. 2019-05-25 22:53:47 -04:00
WKFO 8116ea4ab7 Complete screens.rpy Turkish translation 2019-05-25 22:31:00 +03:00
Tom Rothamel f7be277b4a Fix parsing of Ren'Py inside creator-defined-statements. 2019-05-25 02:07:14 -04:00
Tom Rothamel 181997f13b Merge pull request #1835 from lee-yunseok/master
Update Korean translation for launcher.
2019-05-24 23:50:14 -04:00
Tom Rothamel c4a854fee3 Merge pull request #1837 from Beuc/patch-french
Update common french translations
2019-05-24 23:49:19 -04:00
Sylvain Beucler db45ab36f6 Update common french translations 2019-05-25 00:33:56 +02:00
WKFO 940be19894 Fix and update Turkish translation 2019-05-24 21:24:09 +03:00
Tom Rothamel 6b5932d45b Untested version of l.renpy_statement() and l.renpy_block()
This also adds predict_all to custom statements, to predict all
children.
2019-05-24 01:29:22 -04:00
Tom Rothamel 59a8b2961b Redo parsing of user statements.
This now uses the main lexer to parse user statements, which means
that we can have multiple-line-long user-defined statements.
2019-05-23 22:57:07 -04:00
Tom Rothamel 45e149bd45 Do not clear the parsed version of a UserStatement.
This will move the parse from runtime to compile time.
2019-05-22 22:54:09 -04:00
Lee Yunseok 58c6089985 Fix 2019-05-22 18:18:53 +09:00
Tom Rothamel 31f5e76674 Add the current user statement to the lexer. 2019-05-22 01:42:12 -04:00
Lee Yunseok fd0337eb0e Update Korean translation 2019-05-22 13:57:49 +09:00
Lee Yunseok 96a2d7c1d4 Merge pull request #22 from renpy/master
Latest
2019-05-22 13:12:29 +09:00
Tom Rothamel 3cc58e2f8f Merge pull request #1832 from Andykl/russian-translation
Mark error_handling interpolates as translatable and updated russian translation
2019-05-21 22:08:12 -04:00
Tom Rothamel 1345469e70 Merge pull request #1834 from Beuc/patch-unify_tl_source_comment
translation: unify base path in string source comments
2019-05-21 16:46:55 -04:00
Sylvain Beucler 7836c91a27 translation: unify base path in string source comments 2019-05-21 18:45:26 +02:00
Tom Rothamel e79aaba585 Merge pull request #1833 from Andykl/webbrowser-default
Prevent open IE in Windows if help-file not exists
2019-05-21 01:10:26 -04:00
Lee Yunseok b17ccdb53c Merge pull request #21 from renpy/master
Latest
2019-05-21 07:03:19 +09:00
Andy_kl e3453fd798 Updated [what] strings in other translates 2019-05-20 22:53:06 +03:00
WKFO 14dc8ff79a Add tranlsator info, commit progress 2019-05-20 22:06:54 +03:00
Andy_kl 074760e752 Doc this 2019-05-20 09:55:14 +03:00
Andy_kl 6e5d1ea3ef Do not open browser if help file not exist
This is fix Windows bug when IE opens anyway
2019-05-20 09:41:54 +03:00
Andy_kl 66da3f20d8 Update russian for last commit 2019-05-20 08:48:31 +03:00
Andy_kl ca6211cf0b Mark error_handling interpolates as translatable 2019-05-20 08:41:04 +03:00
Andy_kl 68f2b4ece9 Fix Beta string 2019-05-20 08:06:00 +03:00
Andy_kl 1f68d3222f Update 2019-05-20 07:50:44 +03:00
Tom Rothamel a6259de3e1 Merge pull request #1820 from Andykl/mode-keywords
Mode keywords for call screen, menu and say statements
2019-05-20 00:17:18 -04:00
Tom Rothamel 8610b89d75 Merge pull request #1831 from Moshibit/master
Corrections in translation
2019-05-20 00:08:55 -04:00
Moshibit 7e6d48f09e Add files via upload 2019-05-19 21:37:17 -05:00
Moshibit f94347bc78 Add files via upload 2019-05-19 21:29:33 -05:00
Moshibit 8aec8cbac5 Add files via upload 2019-05-19 20:59:23 -05:00
Beuc c744404550 launcher: choose_directory: returns default=True on Cancel (tkinter route) 2019-05-19 23:23:41 +02:00
WKFO 03205d6619 Turkish tranlation update 2019-05-19 20:52:03 +03:00
Tom Rothamel ebd904ce5f Add the ability to run something after a UserStatement.
This is a second quasi-statement that runs after a UserStatement
and everything inside its blocks have run.
2019-05-19 09:31:19 -04:00
Andy_kl 5956adccbf Added doc 2019-05-19 07:25:09 +03:00
Moshibit 5fdbdfa12a Add files via upload 2019-05-18 23:10:53 -05:00
Andy_kl 3dd71cc5c4 Added _zorder keyword for show_screen 2019-05-19 06:46:24 +03:00
Andy_kl ea3b05c6e4 Doc this 2019-05-19 06:25:13 +03:00
Moshibit 4aaddc39cb Add files via upload 2019-05-18 22:08:22 -05:00
Andy_kl e8739ffbbb Added keep_side_render_order to compat last commit 2019-05-19 05:21:24 +03:00
Andy_kl 4d664092ce Added sorting of children according to their order in positions. 2019-05-19 05:19:38 +03:00
Andy_kl 848aa6dfaa Except eol in python statement 2019-05-19 02:11:16 +03:00
Moshibit 170ddd9a87 Add files via upload 2019-05-18 17:51:26 -05:00
Andy_kl 7f88a1ce49 Added handlers for _mode and _with_none in menu arguments 2019-05-19 01:36:48 +03:00
Tom Rothamel d273689cc0 ftfont: Set up the face in bounds().
This fixes an error where the bounds were using the wrong size,
and hence caching a glyph of the wrong size, leading to drawing
problems.
2019-05-18 18:25:51 -04:00
Andy_kl 5e1449abd1 Apply a6b21ec78f to parse menu. 2019-05-18 23:44:50 +03:00
Beuc 184d72c595 the_question: typo in french translation 2019-05-18 22:08:24 +02:00
WKFO db88ae7e0d Initial Turkish translation 2019-05-18 17:56:21 +03:00
Tom Rothamel f22bd471e0 Add config.disable_input. 2019-05-17 02:05:29 -04:00
Tom Rothamel b85beccc9e lint: Update to match FontGroup changes.
Fixes #1823.
2019-05-16 21:36:40 -04:00
Tom Rothamel f4e6765b42 Allow a list of events to be given as part of the on statement. 2019-05-16 02:33:09 -04:00
Tom Rothamel dae24f264f console: Allow jump to jump to qualified local labels.
Fixes #1822.
2019-05-15 22:35:53 -04:00
Tom Rothamel def807b3d2 Invalidate displayables when an ajdustment is updated.
This makes the changes take affect during the current frame, rather
than the next one.

Fixes #1818.
2019-05-15 01:49:29 -04:00
Tom Rothamel 92536e4597 Merge pull request #1821 from lee-yunseok/master
Apply #ea50512 for Korean
2019-05-14 18:14:43 -04:00
Lee Yunseok d68b3bd2e8 Apply #ea50512 for Korean 2019-05-15 07:10:26 +09:00
Lee Yunseok 5c79afe2b4 Merge pull request #20 from renpy/master
Keep going to latest
2019-05-15 06:47:38 +09:00
Tom Rothamel ea50512e2c Update Android strings. 2019-05-14 12:52:04 -04:00
Andy_kl ca8508626d Added underscore handlers for _mode and _with_none
This has a higher priority.
2019-05-14 05:54:58 +03:00
Andy_kl a55c758fb0 Added _mode as a keyword to call screen 2019-05-14 04:15:12 +03:00
Tom Rothamel b1b3f8ce4e Merge pull request #1810 from mal/screen-sensitivity
Suppress hover/click-capture if screen insensitive
2019-05-12 19:41:31 -04:00
Tom Rothamel 63c4f5fe56 gl2: Resynchronize with gl1. 2019-05-11 09:57:31 -04:00
Tom Rothamel 2bb6e6c0db Use Framebuffer Objects wherever one is available. 2019-05-10 17:54:09 -04:00
Tom Rothamel c0761dc8f3 Clean the nv_list when the language changes. 2019-05-10 01:31:37 -04:00
Tom Rothamel 99e31f1456 Set the language when a new context is created.
This prevents a spurious change in language, and hnce fixes #1794.
2019-05-10 01:23:35 -04:00
Mal Graty 5ac3a985a9 Document screen's new sensitive property 2019-05-09 19:36:10 +01:00
Tom Rothamel 3249a34569 Add the web variant.
Which provides another way to detect emscripten.
2019-05-09 01:24:18 -04:00
Tom Rothamel 3b74892f65 sl2: Properties on the first line do not prevent a block.
Fixes a regression introduced by b0ee6fe392.
2019-05-08 23:01:30 -04:00
Tom Rothamel 723bf1bd75 Merge pull request #1809 from mal/tweak-capitialise-flag
Capitialise first character only with !c
2019-05-07 22:10:27 -04:00
Tom Rothamel 66acb87adc Merge pull request #1722 from lee-yunseok/master
Add Korean translation for Ren'Py Tutorial
2019-05-07 22:10:12 -04:00
Mal Graty 1cda55d17e Standardise docs on lowercase/uppercase 2019-05-07 21:57:11 +01:00
Mal Graty 76305e05f3 Update docs to highlight !cl usage 2019-05-07 21:55:33 +01:00
Tom Rothamel ff94f1e23b Merge pull request #1814 from Andykl/sl-indention-fix
Raise indention error for misspelled indent after keyword
2019-05-06 21:57:27 -04:00
Andy_kl b0ee6fe392 Raise indention error for misspelled indent after keyword 2019-05-07 04:56:19 +03:00
Tom Rothamel cbb1f084f9 Merge pull request #1812 from Andykl/fix-sl2
Check longer operators earlier.
2019-05-06 20:59:13 -04:00
Andy_kl 35d4deb772 Check longer operators earlier. 2019-05-07 00:13:03 +03:00
Tom Rothamel eb69715e57 Make sure renpy.py is distributed.
This is necessary for the Android and iOS distributions, at least.
It's not needed for web, but won't hurt much.
2019-05-05 01:31:40 -04:00
Tom Rothamel ded3e4da37 Remove always_opaque.
Now that Android and iOS should support focus_mask, always_opaque
isn't necessary.
2019-05-04 23:54:25 -04:00
Tom Rothamel 585778022e Use the render-to-texture path to do is_pixel_opaque.
This should enable Ren'Py to support focus_mask on Android.
2019-05-04 23:44:04 -04:00
Tom Rothamel c178092b58 Remove the GL blacklist.
The newest entry on it is from ~2010, so it's not necessary
anymore.
2019-05-04 22:21:58 -04:00
Lee Yunseok 2361a4939a Final 2019-05-04 09:51:39 +09:00
Lee Yunseok 869d45e27e Pretty 2019-05-04 09:36:14 +09:00
Tom Rothamel 679f4abf47 web: Add to the Ren'Py distribtion. 2019-05-03 20:29:55 -04:00
Tom Rothamel 402c2116a7 Bump version. 2019-05-03 20:28:43 -04:00
Mal Graty 461bddf7f3 Capitialise first character, leave rest of string 2019-05-03 22:48:49 +01:00
Mal Graty bf95f63448 Suppress hover/click-capture if screen insensitive 2019-05-03 16:11:53 +01:00
Lee Yunseok 9b043f465b Fix typo. 2019-05-03 16:08:12 +09:00
Lee Yunseok 3fef0c7dfa Add translate font for system_font 2019-05-03 15:32:23 +09:00
Lee Yunseok 8885ff568c Add translate font for system_font 2019-05-03 15:31:59 +09:00
Lee Yunseok 7a1b8f57c6 Complete tutorial_director.rpy 2019-05-03 15:31:33 +09:00
Lee Yunseok fe0af1652a Complete 2019-05-03 14:25:50 +09:00
Lee Yunseok c22f5108f2 Fix 2019-05-03 13:38:38 +09:00
Lee Yunseok 5e4ec6a6de Complete indepth_style.rpy and follow e6ccf5d 2019-05-03 13:36:11 +09:00
Lee Yunseok dade0aa1c7 Apply e6ccf5d 2019-05-03 12:43:57 +09:00
Lee Yunseok e6ccf5d616 Clearly 2019-05-03 12:20:37 +09:00
Lee Yunseok f6191eb56c Resolve 2019-05-03 12:17:04 +09:00
Lee Yunseok ea40d51cee Merge branch 'renpy-master' 2019-05-03 12:14:37 +09:00
Lee Yunseok ab2a0ec79f Merge branch 'master' of https://github.com/renpy/renpy into renpy-master 2019-05-03 12:14:09 +09:00
Lee Yunseok 290bd11f62 Apply Spanish 2019-05-03 12:06:09 +09:00
Lee Yunseok 3997812327 Quicksave 2019-05-03 12:01:27 +09:00
Lee Yunseok 3af6ebed21 More like Korean 2019-05-03 12:01:18 +09:00
Tom Rothamel 5534516253 Take background screenshots when polling events.
This prevents constant animation from preventing autosaves from
happening.
2019-05-02 22:50:06 -04:00
Lee Yunseok 71a970a891 Complete Transition Gallery 2019-05-03 10:31:56 +09:00
Lee Yunseok 222d3de08e Quicksave. 2019-05-02 11:53:57 +09:00
Lee Yunseok 5a09cec3d2 Complete GUI Customization 2019-05-02 11:53:29 +09:00
Tom Rothamel a445a7b000 Screens take a sensitive property.
If False, than the screen does not respond to input.

Fixes #1755.
2019-05-01 22:16:20 -04:00
Lee Yunseok 9e7c8315f0 Complete tutorial_screen_displayables.rpy 2019-05-02 11:13:09 +09:00
Lee Yunseok 87b909af10 Fix typo. 2019-05-02 11:12:52 +09:00
Lee Yunseok 21806de3b4 Quicksave. 2019-05-02 10:48:56 +09:00
Tom Rothamel 601594e047 Text interpolations support !c, !u, and !l.
For capitalization, upper case, and lower case.
2019-04-30 23:31:45 -04:00
Tom Rothamel cedff0527f Merge pull request #1808 from Andykl/fix-console
Do short repr for defaultdict and OrderedDict
2019-04-30 16:59:14 -04:00
Andy_kl 2b1f812051 Do short repr for defaultdict and OrderedDict 2019-04-30 23:57:41 +03:00
Tom Rothamel c85c917d12 Merge pull request #1803 from Moshibit/master
Corrections in the Spanish translation of the tutorial
2019-04-30 00:16:18 -04:00
Lee Yunseok 9e33789ad7 Quicksave 2019-04-30 11:59:08 +09:00
Lee Yunseok 0aa7c869b1 Fix typo. 2019-04-29 14:08:09 +09:00
Lee Yunseok 20cccd239c Quicksave 2019-04-29 14:05:59 +09:00
Tom Rothamel f2040ea6d5 On emscripten, force a redraw after is_pixel_opaque.
This fixes an issue with emscripten where it flips GL buffers
without Ren'Py explicitly asking for it.
2019-04-28 18:03:38 -04:00
Sylvain Beucler 7602e726f2 web: self.redraw_period=1.0 re-introduced audio glitch 2019-04-28 19:53:24 +02:00
Tom Rothamel dce59141a7 web: Avoid the use of float arguments.
This is because of a bug in emscripten, see
https://github.com/emscripten-core/emscripten/issues/6759 for
the details.
2019-04-28 13:09:11 -04:00
Sylvain Beucler 8dfafd617b web: use FBO and GLES 2019-04-28 15:01:44 +02:00
Sylvain Beucler a28829662c web: Fix 'TypeError: coercing to Unicode: need string or buffer, NoneType found' 2019-04-28 14:22:33 +02:00
Tom Rothamel 9665ee9226 Add config.equal_mono.
This changes mono support so there's two channels at 100%, rather
than each channel getting 50% of the energy.
2019-04-27 23:21:47 -04:00
Tom Rothamel b79419ea2f Support for equal_mono. 2019-04-27 22:28:22 -04:00
Tom Rothamel b2787cc61d Clear the history list on language change.
Fixes #1797.
2019-04-27 02:57:06 -04:00
Moshibit 8c45a9a1ec Add files via upload 2019-04-27 00:08:59 -05:00
Lee Yunseok e964ed219a Quicksave 2019-04-27 09:01:27 +09:00
Lee Yunseok 22f0c1969a More like korean. 2019-04-27 09:00:55 +09:00
Tom Rothamel fc45dca4c8 Merge pull request #1798 from Moshibit/master
Add Spanish translation for Ren'Py Tutorial
2019-04-26 17:12:14 -04:00
Lee Yunseok dfc7ae23ae Patently 2019-04-26 10:20:46 +09:00
Lee Yunseok 6811cc5592 Complete Minigames and CDDs 2019-04-26 10:20:05 +09:00
Tom Rothamel be4d4290a8 Rename the internal copy of OpenDyslexic.
This is so it doesn't interfere with a game that already includes
a copy.
2019-04-25 18:58:52 -04:00
Lee Yunseok 71760b5f16 Complete Simple Displayables 2019-04-25 09:27:24 +09:00
Tom Rothamel 59c49a6512 Documentation tweak to config.reload_modules. 2019-04-24 17:56:51 -04:00
Tom Rothamel 6fedb10d30 Merge pull request #1801 from mal/reload-modules
Python module reloading support
2019-04-24 17:55:15 -04:00
Tom Rothamel 5eb650d3fb Merge pull request #1802 from mal/master
Keep vanilla python's late import binding
2019-04-24 17:53:57 -04:00
Mal Graty 8c2d509b9c Keep vanilla python's late import binding 2019-04-24 19:41:25 +01:00
Mal Graty 1eee09bb9e Document config.reload_modules 2019-04-24 19:13:06 +01:00
Sylvain Beucler bacc645355 renpyweb: link to a controlled donation URL 2019-04-24 18:45:39 +02:00
Sylvain Beucler db83f8462d renpyweb: more sound tuning
No real user feedback despite dedicated test URLs, so using my system as reference.
2019-04-24 18:40:51 +02:00
Sylvain Beucler 4ee3026cad renpyweb: consistent capitalization 2019-04-24 18:38:08 +02:00
Lee Yunseok f664258d10 Complete Character Objects 2019-04-24 12:43:30 +09:00
Tom Rothamel cc6594d068 web: Fix tyop. 2019-04-23 22:34:21 -04:00
Tom Rothamel 3469504ffd web: Since Popen doesn't exist, do not modify the class. 2019-04-23 22:33:38 -04:00
Tom Rothamel 7954d1d9cd web: Serve built games through a local webserver. 2019-04-23 20:22:03 -04:00
Sylvain Beucler 8706d19545 Typo in French translation 2019-04-23 21:50:38 +02:00
Mal Graty 666370ac7f Python module reloading support 2019-04-23 19:03:08 +01:00
Tom Rothamel 88722cc03b web: Set the title of the generated page based on display_name. 2019-04-22 21:20:00 -04:00
Tom Rothamel 64171052ac Default display_name to config.name.
It seems like a closer match to what display_name is used for.
2019-04-22 21:17:15 -04:00
Tom Rothamel 793a2b2250 web: One click build of a web app. 2019-04-22 02:08:45 -04:00
Moshibit d16e1e71b8 Add files via upload 2019-04-21 16:48:25 -05:00
Moshibit cf56ebc008 Delete common.rpyc 2019-04-21 14:50:30 -05:00
Moshibit 26166cfdd8 Delete 01example.rpyc 2019-04-21 14:50:01 -05:00
Moshibit c5f60655d3 Add files via upload
Update translations.
2019-04-21 14:49:14 -05:00
Tom Rothamel 0ef5e6650e web: Tweak wording of the web screen, add Beuc's info. 2019-04-21 11:43:13 -04:00
Moshibit 036bdc4afe Add files via upload 2019-04-21 01:46:10 -05:00
Moshibit 33d8c014ec Add files via upload 2019-04-21 00:51:20 -05:00
Moshibit 1b193e6884 Add files via upload 2019-04-20 23:50:22 -05:00
Moshibit d6b7786f60 Add files via upload 2019-04-20 18:04:49 -05:00
Tom Rothamel a1bcb09260 web: Interface for creating a web project. 2019-04-20 16:10:50 -04:00
Moshibit d05704c7c7 Add files via upload 2019-04-20 13:40:11 -05:00
Tom Rothamel 68af2f3db2 Shrink the spacer sizes.
This provides a little extra room as we add the Web button to
the launcher.
2019-04-20 12:23:36 -04:00
Tom Rothamel 9b6ab94970 Add SimpleHTTPServer to the list of modules Ren'Py imports. 2019-04-20 10:37:00 -04:00
Tom Rothamel 51abcae5d4 Revert "Log startup timings to the Javascript console."
This reverts commit 045b6cc227.
2019-04-20 01:35:44 -04:00
Tom Rothamel 79e9d81173 web: Distribute compiled Ren'Py files as part of the web distribution.
This includes the .pyo files, and also creates a main.py to start
the game up.
2019-04-20 01:03:22 -04:00
Tom Rothamel 4e60a996dd Merge pull request #1796 from jbeich/bsdarm
Unbreak ARM build on BSDs
2019-04-19 17:01:11 -04:00
Jan Beich 15738d1dfb Unbreak ARM build on BSDs
In file included from ffmedia.c:13:
/usr/include/malloc.h:3:2: error: "<malloc.h> has been replaced by <stdlib.h>"
 #error "<malloc.h> has been replaced by <stdlib.h>"
  ^
2019-04-19 20:01:23 +00:00
Moshibit c37c44d227 Add files via upload 2019-04-19 08:39:03 -05:00
Tom Rothamel 045b6cc227 Log startup timings to the Javascript console. 2019-04-18 22:53:00 -04:00
Moshibit 56f86495fb Add files via upload 2019-04-18 20:56:40 -05:00
Moshibit 576b02d124 Add files via upload 2019-04-17 23:18:42 -05:00
Moshibit b5b7673e8b Add files via upload 2019-04-17 23:05:41 -05:00
Moshibit 455274bbaa Add files via upload 2019-04-17 21:40:04 -05:00
Tom Rothamel 0b492357d9 Fixes to get compiling on PC. 2019-04-17 22:38:59 -04:00
Tom Rothamel fb0149d0dc Merge branch 'web'
Based on @beuc's patches.
2019-04-17 21:58:45 -04:00
Tom Rothamel e7184c3a11 Minor cleanups. 2019-04-17 21:40:08 -04:00
Tom Rothamel 963dba7cc6 Minor cleanups. 2019-04-17 21:36:18 -04:00
Tom Rothamel 087f618326 Revert "web: Remove threading from pgrender.py"
This reverts commit 8dc57697bf.
2019-04-17 21:28:27 -04:00
Tom Rothamel 4c2be41c63 Revert "web: Replace uses of float with double in the gl renderer."
This reverts commit 86bab3977e.
2019-04-17 20:27:36 -04:00
Moshibit d23d5d91e3 Add files via upload 2019-04-17 19:09:34 -05:00
Tom Rothamel 7f8a07a8a5 web: Ifdef changes to renpysound_core.c 2019-04-17 02:38:53 -04:00
Tom Rothamel 173eaf6029 web: Use ifdefs to separate emscripten code in ffmpeg. 2019-04-17 01:07:17 -04:00
Tom Rothamel 8d0830f66f web: Remove threading in ffmedia.c
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-17 00:07:52 -04:00
Moshibit 584f7a0be7 Add files via upload 2019-04-16 21:50:40 -05:00
Tom Rothamel e210147343 Only force a checkpoint if one hasn't been forced already.
This improves things because forced checkpoints would prevent
rollforward data from being saved.
2019-04-16 01:35:59 -04:00
Tom Rothamel e4b33e595a Force a checkpoint after a print statement occurs.
This prevents the console from rolling back past the python block
it's in.
2019-04-15 23:05:56 -04:00
Tom Rothamel 53d08e0f2d Threadless image prediciton. 2019-04-15 01:50:16 -04:00
Tom Rothamel 84c53d3d9c Revert "web: Remove threading in savelocation.py (and a call to renpy.sync?)"
This reverts commit fe2ccc43e2.
2019-04-15 01:50:16 -04:00
Tom Rothamel 2962b5c398 Revert "web: Remove threading in main.py."
This reverts commit 030d9d2dbf.
2019-04-15 01:50:16 -04:00
Tom Rothamel 0ebfae81c9 Revert some changes from loadsave.py. 2019-04-15 01:50:16 -04:00
Tom Rothamel 5dc0372228 Revert "web: Remove threading from render.pyx"
This reverts commit 02ded280af.
2019-04-15 01:50:16 -04:00
Tom Rothamel 82780c57ee Revert "web: Remove threading from presplash."
This reverts commit d6ba807878.
2019-04-15 01:50:16 -04:00
Tom Rothamel 305215823d Revert "web: Remove threading from im.py"
This reverts commit 3c12d7ddb5.
2019-04-15 01:50:16 -04:00
Tom Rothamel 38440bf843 Do not take background screenshots when in emscripten. 2019-04-15 01:50:16 -04:00
Tom Rothamel 3596a59a54 Revert "web: Remove threading in core.py"
This reverts commit 626a5b03a1.
2019-04-15 01:50:16 -04:00
Tom Rothamel 5aaf1f8ef4 Revert "web: Remove threading in debug.py"
This reverts commit 7da19e215f.
2019-04-15 01:50:16 -04:00
Tom Rothamel 398c8a3053 Revert "web: Remove threading in audio.py"
This reverts commit 7a11cb35eb.
2019-04-15 01:50:16 -04:00
Tom Rothamel cfa560d8fa Revert "web: Patch out use of the subprocess module."
This reverts commit e4aa46e7fe.
2019-04-15 01:50:16 -04:00
Tom Rothamel 46fe772cc5 Revert "web: Remove threading from loader.py,"
This reverts commit c0281a41de.
2019-04-15 01:50:16 -04:00
Moshibit 9149a5c941 Add files via upload 2019-04-15 00:45:16 -05:00
Moshibit ce50d6e3f1 Add files via upload 2019-04-15 00:09:51 -05:00
Moshibit f015cda018 Add files via upload 2019-04-15 00:02:19 -05:00
Sylvain Beucler 069ac8e6c3 web: audio: use larger buffer/latency to work-around sound jitter 2019-04-14 23:19:27 +02:00
Moshibit e2ad4d5a3c Add files via upload 2019-04-14 00:08:22 -05:00
Moshibit 3239f0d5bb Add files via upload 2019-04-14 00:04:54 -05:00
Moshibit 7ac80c1a4f Add files via upload 2019-04-14 00:04:17 -05:00
Tom Rothamel eda749e44a Avoid running expressions with side effects when predicting.
See https://twitter.com/SakuraRiver/status/1117201035217358848 .
2019-04-13 21:34:37 -04:00
Moshibit 5da79e86ae Add files via upload 2019-04-13 20:12:14 -05:00
Tom Rothamel dc73065241 Web packaging changes. 2019-04-12 23:59:26 -04:00
Tom Rothamel 55992074c1 Allow building when the .exe files are missing. 2019-04-12 23:57:22 -04:00
Moshibit ba79f7986c Add files via upload 2019-04-12 14:17:21 -05:00
Tom Rothamel 5a0e3da293 sl2: Fix regression in 49c92600bf.
Layouts weren't being parsed in layout mode, which lead to all
sorts of problems.
2019-04-12 09:57:03 -04:00
Lee Yunseok a0100cee00 Complete indepth_translations.rpy 2019-04-12 10:08:09 +09:00
Lee Yunseok 626b249179 Complete Input and Interpolation 2019-04-12 09:47:09 +09:00
Lee Yunseok 2620c313b2 Complete Choices and Python 2019-04-12 09:32:49 +09:00
Tom Rothamel d7a2bd7bdf Add config.load_failed_label.
This is a label that is jumped if the load fails, to give the game
a chance at recovering.

Fixes #1792.
2019-04-11 20:15:57 -04:00
Lee Yunseok 022eb2cdb6 Complete Music and Sound Effects 2019-04-12 09:05:36 +09:00
Lee Yunseok 0efa611034 Complete Transitions 2019-04-12 08:37:57 +09:00
Lee Yunseok 1d87d8ae8a Complete Positioning Images 2019-04-12 08:03:56 +09:00
Moshibit aa43d1828a Add files via upload 2019-04-11 17:31:14 -05:00
Moshibit 21d90dbd55 Add files via upload 2019-04-10 23:18:22 -05:00
Tom Rothamel 4b8026fdd7 Use RENPY_STATIC to control the static build.
This lets us enable and disable static building on a per-platform
basis.
2019-04-10 22:54:27 -04:00
Tom Rothamel 73b8629724 Compat last. 2019-04-10 10:17:04 -04:00
Tom Rothamel 79f0037afc sl2: Report when a non-constant keyword argument follows a python statement.
Fixes #1791.
2019-04-10 09:39:37 -04:00
Tom Rothamel 49c92600bf sl2: Parsing can reject keyword arguments. 2019-04-10 02:59:24 -04:00
Moshibit f594f51ada Add files via upload 2019-04-10 01:22:58 -05:00
Tom Rothamel 254c5b6a2a Make it possible to determine if an SL2 statement supports python. 2019-04-09 20:40:51 -04:00
Tom Rothamel 7568ae3146 Document the supported Python version.
Fixes #1789.
2019-04-08 21:35:41 -04:00
Moshibit 1d7f7353c8 Add files via upload 2019-04-08 15:42:18 -05:00
Moshibit ad4756039d Add files via upload 2019-04-07 16:00:10 -05:00
Tom Rothamel dc30cc39aa Add config.notify. 2019-04-07 10:05:04 -04:00
Tom Rothamel 2720ab3615 Add compatibility for the change in #1774. 2019-04-06 23:08:16 -04:00
Tom Rothamel d7a8c5fb96 Merge pull request #1774 from mal/extend-say-attribute-trans-callback
Extend say_attribute_transition_callback with canonical tag list
2019-04-06 22:45:35 -04:00
Tom Rothamel 49baa6e6cb Script to upload to itch.io. 2019-04-06 04:27:01 -04:00
Tom Rothamel b5abd9f4c4 Merge pull request #1785 from kobaltcore/bmfont-kerning-support
Add ability to parse kerning messages of BMFont fonts
2019-04-04 17:55:44 -04:00
Lee Yunseok 5414417288 Complete Adding Images 2019-04-04 11:10:58 +09:00
Tom Rothamel 98d104b9ec Shortcut creating vc_version.py for build processes. 2019-04-03 01:32:49 -04:00
Tom Rothamel f5e001ac99 web: Mitigate busy script warnings from the browser.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel fe2ccc43e2 web: Remove threading in savelocation.py (and a call to renpy.sync?)
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 030d9d2dbf web: Remove threading in main.py.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 011c3147dc web: Remove threading from loadsave.py,
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel c0281a41de web: Remove threading from loader.py,
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 02ded280af web: Remove threading from render.pyx
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel d6ba807878 web: Remove threading from presplash.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 8dc57697bf web: Remove threading from pgrender.py
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 3c12d7ddb5 web: Remove threading from im.py
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel c851968def web: Download a screenshot once it's been taken.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 626a5b03a1 web: Remove threading in core.py
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 7da19e215f web: Remove threading in debug.py
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel 7a11cb35eb web: Remove threading in audio.py
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel d2981c59cd web: Remove threading in renpysound_core.c
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 02:03:39 -04:00
Tom Rothamel e4aa46e7fe web: Patch out use of the subprocess module.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 00:07:48 -04:00
Tom Rothamel c56aea9dc8 web: Fix up source for static loading.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 00:06:40 -04:00
Tom Rothamel 86bab3977e web: Replace uses of float with double in the gl renderer.
Originally-by: Sylvain Beucler <beuc@beuc.net>
2019-04-02 00:03:14 -04:00
Tom Rothamel 2b03eb6c39 Add the ability to build a web package. 2019-04-01 23:04:11 -04:00
Tom Rothamel 7f33118758 Bump version. 2019-04-01 19:25:56 -04:00
Tom Rothamel 1bea3fc006 Update changelog and credits, fix docs. 2019-03-31 10:37:27 -04:00
Lee Yunseok 242cad6882 Complete Writing Dialogues 2019-03-31 15:20:32 +09:00
Tom Rothamel 9608615542 android: Set the searchpath _after_ clearing it. 2019-03-30 19:44:09 -04:00
Tom Rothamel 9ddff5d7a5 android: Prioritize files on disk over files in the APK. 2019-03-30 19:41:41 -04:00
Tom Rothamel e623134867 Predict the proper image in resolve_say_attributes.
Fixes #1175.
2019-03-30 14:30:57 -04:00
Tom Rothamel 77e428c9a1 Include temporary attributes when generating translations.
Fixes #1784.
2019-03-30 14:22:38 -04:00
Tom Rothamel 03c951c4a4 itch: Download butler and use the downloaded copy.
Fixes #1782.
2019-03-30 13:26:46 -04:00
Tom Rothamel d9fb4a4234 Update sponsors doc. 2019-03-29 23:29:43 -04:00
Tom Rothamel 571aff3eb1 Update changelog. 2019-03-29 22:20:37 -04:00
Moshibit 7b1e96300f Add files via upload 2019-03-29 15:16:03 -06:00
kobaltcore 0f00705da7 Add ability to parse kerning messages of BMFont fonts
This allows the BMFont object to understand "kerning" lines embedded within BMFont definitions.
The kerning information is added to the existing "self.kerns" property.
2019-03-29 18:14:40 +01:00
Lee Yunseok 81701dd905 Complete Screen Basics 2019-03-29 16:00:10 +09:00
Tom Rothamel 9d9f2c2a75 Correct the priority order of crop vs (corner1, corner2). 2019-03-28 23:23:37 -04:00
Tom Rothamel ce2fa71356 Adjust the accessibility message. 2019-03-28 18:55:09 -04:00
Lee Yunseok 34df516053 More naturally. 2019-03-28 17:11:39 +09:00
Lee Yunseok a69fcedecb Half of the tutorial_screens.rpy 2019-03-28 17:07:43 +09:00
Tom Rothamel e315006136 Add the accessibility menu. 2019-03-27 21:15:41 -04:00
Tom Rothamel a2bf4f3452 Resize a side if the displayabls that comprise it change size. 2019-03-27 21:13:57 -04:00
Tom Rothamel f9a2d1153a Add accessability preferences. 2019-03-27 00:44:41 -04:00
Lee Yunseok 80b4113801 Complete Transform Properties 2019-03-27 13:00:19 +09:00
Tom Rothamel 33f9cef572 renpy.free_memory frees fonts.
As intended.
2019-03-26 22:36:47 -04:00
Tom Rothamel c3a1c8d7ff Add bars to error handling. 2019-03-25 22:29:05 -04:00
Tom Rothamel 565956e966 Allow bar values to call an action when they change something. 2019-03-25 22:12:44 -04:00
Tom Rothamel 4eb84611fe More work on the accessibility menu. 2019-03-24 13:16:29 -04:00
Moshibit 69f3c01442 Add files via upload 2019-03-24 11:12:07 -06:00
Moshibit f205b611b5 Add files via upload 2019-03-24 10:53:24 -06:00
Tom Rothamel fad22b3631 Start work on the accessibility screen. 2019-03-24 11:36:02 -04:00
Tom Rothamel 176309152f Shrink _label_text in most places. 2019-03-24 11:32:42 -04:00
Tom Rothamel 1bf0e75bc1 Add preferences to adjust ftfont size and spacing. 2019-03-23 22:53:39 -04:00
Moshibit 8266095feb Add files via upload 2019-03-23 15:14:20 -06:00
Moshibit e2843c06ba Add files via upload 2019-03-23 12:26:37 -06:00
Tom Rothamel 28d5f5fc39 Fix issue with #1780. 2019-03-22 18:24:07 -04:00
Tom Rothamel a6b21ec78f Merge pull request #1781 from Andykl/fix-lexer-eob
Perform re-create Lexer.eob on revert
2019-03-21 22:25:35 -04:00
Andy_kl 62bac5aa0e Performed re-create Lexer.eob on revert 2019-03-21 19:03:41 +03:00
Tom Rothamel 843b10851f Fix bad .pop() in #1780. 2019-03-20 23:21:48 -04:00
Tom Rothamel c5f15b5c6a Merge pull request #1780 from Meithal/clean
GC optimizations
2019-03-20 23:20:31 -04:00
Meithal ebd8baba00 GC optimizations 2019-03-21 03:58:30 +01:00
Tom Rothamel 464ae528b1 Dejavusans font transform. 2019-03-20 02:04:08 -04:00
Tom Rothamel 884de6f4c3 Add additonal font scaling options.
There is a way to scale the size per font file, and a way to scale the
vertical extent by font file. The main reason for these is to provide
a way to rescale opendyslexic to fit in the same space as DejaVuSans.
2019-03-19 00:50:19 -04:00
Tom Rothamel 414b1a36c7 Add OpenDyslexic files. 2019-03-18 23:58:18 -04:00
Tom Rothamel 8b1168b621 Add font transform support.
This is an accesibility function that can turn one font into
another font, or a font group. It's currently being used to
enable OpenDyslexic when it's needed.
2019-03-18 23:51:33 -04:00
Tom Rothamel 8526cc1ba3 Rewrite FontGroup.
It's now O(1) in operation, at the cost of increasing the size of the
FontGroup. There's also the option to specify a default font, and
it's possible to add a FontGroup to a FontGroup.
2019-03-18 22:43:19 -04:00
Moshibit 5870b6cd1f Add files via upload 2019-03-17 21:21:18 -06:00
Tom Rothamel 7b2f7d7e85 Set steam=None if steam fails to initialize.
This fixes #1772.
2019-03-17 18:31:32 -04:00
Tom Rothamel cbff654273 Bump version. 2019-03-17 17:36:02 -04:00
Tom Rothamel 7cad0e9e06 Fix typo in changelog. 2019-03-17 13:44:10 -04:00
Mal Graty a7471bba03 Extend say_attribute_transition_callback with tags
This provides context to the callback about the image it's affecting
with the transition. This can be used in isolation, or with the current
state to intelligently utilise a transition based upon the
tags/attributes of the image being displayed.
2019-03-17 15:40:33 +00:00
Moshibit 44c11a7803 Add files via upload 2019-03-16 20:31:21 -06:00
Tom Rothamel 210935c4c6 Fix docs. 2019-03-16 21:32:05 -04:00
Tom Rothamel 412cbda546 Update credits and sponsors. 2019-03-16 21:04:39 -04:00
Tom Rothamel 553e80d12e Update changelog. 2019-03-16 20:49:58 -04:00
Tom Rothamel 5dd3af6a0a console: Properly parse jump command.
Fixes #1767.
2019-03-16 20:23:36 -04:00
Tom Rothamel 879d97a93b sl2: Propagate transform state to the right place.
Fixes #1769.
2019-03-16 11:10:55 -04:00
Tom Rothamel c5325bb61e Arguments to extend override older arguments.
Fixed #1768.
2019-03-15 22:32:08 -04:00
Tom Rothamel 5a708e86d0 Ensure a __ne__ method exists for each __eq__ method. 2019-03-14 20:54:29 -04:00
Lee Yunseok 04dc9efc9a 535 2019-03-14 16:21:40 +09:00
Lee Yunseok c6061da3f4 Complete Transforms and Animation 2019-03-14 16:06:20 +09:00
Lee Yunseok dc7a8c9e23 #1763 2019-03-14 14:59:24 +09:00
Tom Rothamel 3a52fd76e5 Merge pull request #1766 from Enerccio/rpe-enviroment-loading
added RENPY_SEARCHPATH environment variable
2019-03-14 00:03:28 -04:00
Tom Rothamel 4e24239322 Document iOS image files. 2019-03-14 00:02:18 -04:00
Tom Rothamel d2bdc159bd Ignore iOS files. 2019-03-13 22:49:03 -04:00
Tom Rothamel 49e804eb50 Update the changelog. 2019-03-13 22:43:06 -04:00
Tom Rothamel 209564d2d2 Set _voice.auto_filename.
Fixes #1765.
2019-03-13 21:09:10 -04:00
Tom Rothamel 56b42f7f8a Remain in rollback until an interaction occurs.
This makes it more reliable to detect rollbacks and loads, and avoid
triggering code when they happen.
2019-03-13 20:27:25 -04:00
Enerccio fb1a01c37f added RENPY_SEARCHPATH environment variable 2019-03-13 18:24:46 +01:00
Lee Yunseok 0ed01f34fe Fixed 2019-03-13 12:26:56 +09:00
Lee Yunseok ffa93d746f 163 2019-03-13 12:04:35 +09:00
Lee Yunseok c9dc8a9e72 More better 2019-03-13 11:54:34 +09:00
Lee Yunseok 9c9816d203 More better 2019-03-13 11:53:50 +09:00
Tom Rothamel 1d1c53e2d5 Generate iOS images when needed. 2019-03-12 21:23:37 -04:00
Tom Rothamel 0604e61151 Add iOS icons. 2019-03-12 21:16:43 -04:00
Moshibit 19f69717de Add files via upload 2019-03-12 11:50:18 -06:00
Lee Yunseok 82e493a7f3 More friendly 2019-03-12 09:35:09 +09:00
Lee Yunseok 04428ab0de Complete Player Experience 2019-03-12 09:30:44 +09:00
Lee Yunseok 1c7989e063 Added: Korean button 2019-03-12 09:29:56 +09:00
Tom Rothamel f8232ed24a Doc config.say_attribute_transition_callback. 2019-03-11 02:02:18 -04:00
Tom Rothamel efafa4e9e6 Add config.say_attribute_transition_callback.
This is a callback that returns the say attribute transition to use,
allowing it to be changed in more complex ways.
2019-03-10 22:46:59 -04:00
Lee Yunseok 52a584846b Merge pull request #18 from renpy/master
Keep going to latest.
2019-03-11 10:47:21 +09:00
Lee Yunseok 3c0f563cc1 Complete Building Distributions 2019-03-11 10:38:38 +09:00
Lee Yunseok 139e731a01 Complete Video Playback 2019-03-11 10:13:42 +09:00
Lee Yunseok bfc8e67c22 Pause for confirm 2019-03-11 09:57:35 +09:00
Moshibit 5a7856cb26 Add files via upload 2019-03-10 10:48:41 -06:00
Tom Rothamel 48130761d7 Open save_dump.txt in the same location as other error files.
This prevents a crash on mac when it's opened in /.
2019-03-10 03:02:01 -04:00
Lee Yunseok e9afa2be3c Fixed: Typos 2019-03-10 14:56:40 +09:00
Lee Yunseok c68749dbe6 Complete Position Properties 2019-03-10 14:56:04 +09:00
Lee Yunseok 8e2a93acec More Ko friendly 2019-03-10 14:55:23 +09:00
Tom Rothamel 95daa0251f Properly quote % in profiling data. 2019-03-09 22:42:05 -05:00
Tom Rothamel 31c3efa9bc Prevent logging from crashing Ren'Py if a spurious % appears. 2019-03-09 21:21:16 -05:00
Tom Rothamel 34875f0011 Pass names and versions when creating iOS project. 2019-03-09 15:12:59 -05:00
Moshibit 78c61e45c5 Add files via upload 2019-03-09 09:06:25 -06:00
Tom Rothamel 4f78eeed28 DynamicImages that take a scope should consider that in equality.
That's because when a scope is involved, it's possible for two
DynamicImages with the same name to be different, even if the
name is the same.

This can cause problems with displayable reuse in screens.

Fixes #1759.
2019-03-08 20:19:20 -05:00
Tom Rothamel 8b80e916a7 Changelog. 2019-03-07 09:21:46 -05:00
Tom Rothamel b810238038 Merge pull request #1758 from Moshibit/patch-4
correct button
2019-03-07 08:45:43 -05:00
Tom Rothamel 7808826773 Fix roll-forward not working through menus.
Fixes #1754.
2019-03-06 23:31:46 -05:00
Lee Yunseok 8849de1017 Merge pull request #17 from renpy/master
Keep going to latest.
2019-03-07 09:08:39 +09:00
Lee Yunseok 30483c2afa More ko friendly 2019-03-07 09:04:53 +09:00
Lee Yunseok 0a05d88963 Save temporary 2019-03-07 09:02:11 +09:00
Lee Yunseok 4fc5076178 Some work. 2019-03-07 08:35:41 +09:00
Lee Yunseok ee47b1e8f8 Fix typo. 2019-03-07 08:22:13 +09:00
Lee Yunseok 5b3b5ba974 Complete NVL-Mode 2019-03-07 07:59:36 +09:00
Lee Yunseok b8e374628a More better. 2019-03-07 07:58:07 +09:00
Moshibit 782f89510b Add files via upload 2019-03-06 10:35:27 -06:00
Moshibit ec8147408b correct button 2019-03-06 09:22:44 -06:00
Tom Rothamel 92d89ea508 Merge pull request #1756 from fchapoton/patch-1
fix an illegal raise False
2019-03-05 18:08:16 -05:00
Tom Rothamel 1ebae688db Merge pull request #1757 from Moshibit/patch-3
correct buttons
2019-03-05 18:07:50 -05:00
Moshibit 927370ebfc Add files via upload 2019-03-05 14:14:27 -06:00
Moshibit 7afe53fb81 correct buttons 2019-03-05 13:40:31 -06:00
Moshibit 9eb1c06659 Add files via upload 2019-03-05 13:19:32 -06:00
Frédéric Chapoton f6e7f67faa fix an illegal raise False
changed to return False

found by https://lgtm.com/projects/g/renpy/renpy/
2019-03-05 19:48:10 +01:00
Tom Rothamel f96d677d4a Bump version to 7.2.1. 2019-03-04 19:15:11 -05:00
Tom Rothamel dd115f186f Remove spurious character. 2019-03-04 19:14:26 -05:00
Tom Rothamel 344079de86 Fix changelog. 2019-03-03 21:16:41 -05:00
Tom Rothamel 47c53e90b4 Force begin rollback at menu and call screen.
This ensures that saves will load at those statements, even in
the presence of fast skipping.

Fixes #1751.
2019-03-03 12:19:45 -05:00
Tom Rothamel bd07fa6abb Defer SHOW->UPDATE until the screen has been drawn.
Calls to renpy.restart_interaction were causing the screen to
restart early, which means that the show events never were
dispatched, and the update event would overwrite it.

Fixes #1753.
2019-03-03 11:15:22 -05:00
Moshibit 8f1d3636d5 Merge pull request #4 from Moshibit/Moshibit-patch-3
Add files via upload
2019-03-03 09:30:21 -06:00
Moshibit 07886362c5 Add files via upload 2019-03-03 09:29:31 -06:00
Moshibit 85c58d5220 Add files via upload 2019-03-03 09:20:46 -06:00
Tom Rothamel 203fdbcc84 Fix User Interface Statement documentation.
Fixes #1752.
2019-03-03 00:33:33 -05:00
Tom Rothamel a47e9ae043 Round .subsurface arguments to integers.
This is more correct, and fixes a bug where inaccuracy could cause
is_pixel_opaque to fail because the 1x1 it wants was rounded down
to 0x1.
2019-03-02 23:21:22 -05:00
Tom Rothamel 6c09b387a3 Document lint functions as functions.
Rather than in the .rst file.
2019-03-01 21:53:28 -05:00
Tom Rothamel 8969d18c91 Merge pull request #1747 from Andykl/CDSfixs
Documentation corrections
2019-03-01 20:13:33 -05:00
Tom Rothamel 828bc67064 Merge pull request #1750 from kevinturner/patch-2
Remove MPEG-1 from renpy.movie_cutscene()
2019-03-01 19:47:16 -05:00
Kevin Turner de01c76882 Remove MPEG-1 from renpy.movie_cutscene()
renpy.movie_cutscene() can play any Ren'Py compatible movie file, but the documentation had not been updated to reflect this.
2019-02-28 01:47:20 -05:00
Tom Rothamel b32c618886 Update version in changelog. 2019-02-28 00:59:34 -05:00
Andy_kl 7be9a851c3 Added docs for lint functions 2019-02-27 22:52:03 +03:00
Andy_kl 38e83e3401 Improved CDS description 2019-02-27 19:14:28 +03:00
Tom Rothamel 5876764730 Merge pull request #1748 from Moshibit/master
Add Spanish translation for The Question
2019-02-27 10:22:16 -05:00
Tom Rothamel 31677e806f Merge branch 'master' into master 2019-02-27 10:21:59 -05:00
Tom Rothamel 4d26e052a1 Merge pull request #1745 from Moshibit/patch-2
Update common.rpy
2019-02-27 10:19:52 -05:00
Andy_kl bcda13f128 Added documentation for simple_expression and delimited_python 2019-02-27 17:12:30 +03:00
Tom Rothamel eeee5afd4d Bump version to 7.2. 2019-02-26 23:22:15 -05:00
Andy_kl 121ba27204 Documentation for some of the Lexer methods. 2019-02-27 02:05:41 +03:00
Moshibit d76c325b3b Add Spanish traslation for The Question 2019-02-26 12:59:30 -06:00
Moshibit 9b35295a6d Update screens.rpy 2019-02-26 12:44:19 -06:00
Andy_kl 572c915b06 Added missing "expression" 2019-02-26 16:48:16 +03:00
Andy_kl 520a4016db Small fix 2019-02-26 16:25:58 +03:00
Andy_kl 16b85e42ac Typos fixed 2019-02-26 16:12:20 +03:00
Tom Rothamel fc54469606 Merge pull request #1746 from AXYPB/master
Documentation corrections
2019-02-26 02:24:25 -05:00
Moshibit 7226cf3998 Add files via upload 2019-02-26 01:22:40 -06:00
Craig Donson a260ed5880 Documentation corrections 2019-02-26 02:21:36 -05:00
Moshibit 2224208aa7 Add files via upload 2019-02-26 00:23:27 -06:00
Moshibit 6846b42612 Update common.rpy
translation correction
2019-02-25 23:55:58 -06:00
Tom Rothamel 69a648b23c Merge pull request #1744 from Moshibit/patch-1
Update screens.rpy
2019-02-26 00:50:26 -05:00
Moshibit 5f5fd90731 Update screens.rpy 2019-02-25 23:48:30 -06:00
Tom Rothamel b0d4fca4f0 Allow nvl=True to be passed as an argument to menu.
This makes Ren'Py use nvl_menu instead of menu.
2019-02-25 23:54:19 -05:00
Tom Rothamel 1a50cfff71 Separate checking redraws and processing redraws.
This is because checking redraws happens once per event, but
we might handle multiple events before the redraw itself occurs.
After process_redraws happens, the Renders are in an invalid state
until the next draw_screen.

When in this invalid state, if the inspector is called, a crash
occurs.
2019-02-25 20:46:35 -05:00
Tom Rothamel 9d6ff18e15 Document new screen statements. 2019-02-24 20:51:53 -05:00
Moshibit 7fb674ca11 Delete script.rpyc 2019-02-24 19:32:23 -06:00
Moshibit a32d9e0be0 Delete screens.rpyc 2019-02-24 19:32:14 -06:00
Moshibit 7315e353a8 Delete options.rpyc 2019-02-24 19:32:07 -06:00
Moshibit 3590a545e7 Delete common.rpyc 2019-02-24 19:31:59 -06:00
Moshibit 4ac857581d Add files via upload 2019-02-24 19:31:22 -06:00
Moshibit 383fe6195c Add files via upload 2019-02-24 19:29:38 -06:00
Moshibit a22ad60b0f Merge pull request #2 from Moshibit/Moshibit-patch-2
Update common.rpy
2019-02-24 19:17:04 -06:00
Tom Rothamel 322811168a Update the changelog. 2019-02-24 19:58:23 -05:00
Tom Rothamel eded9b0c79 Update keywords. 2019-02-24 18:49:12 -05:00
Tom Rothamel 810835020b Bring back renpy.pause(hard=True) with a suitable disclaimer. 2019-02-24 16:34:14 -05:00
Tom Rothamel cfdf3d57f4 Merge pull request #1741 from Andykl/DateFormatFix
Date format changed to correct in Russian translation
2019-02-24 15:41:22 -05:00
Tom Rothamel 6e4b805cae Undocument rarely used arguments to renpy.pause.
Including hard=True.
2019-02-24 12:37:59 -05:00
Moshibit 704573db42 Update common.rpy
correction of translation error
2019-02-24 11:26:02 -06:00
Tom Rothamel c1292d4975 Allow show screen and hide screen to take a width clause.
Show would parse it but ignore it, which was bad. Now it just
works the same as with the usual show and hide statements.
2019-02-24 12:21:27 -05:00
Andy_kl ffd35663a6 Date format changed to correct in Russian translation 2019-02-24 13:48:27 +03:00
Tom Rothamel 2eea4a442c sl2: Add use expression as a statement. 2019-02-24 02:15:43 -05:00
Tom Rothamel be6d14d740 Propertly set _main for sl2 add with transform.
Fixes a problem where the scope would not be updated correctly when
a transform was involved.

Fixes #1740.
2019-02-23 22:22:06 -05:00
Tom Rothamel eff4c21cfe Drag/DragGroup zorder rewrite.
This moves from trying to maintain the zorder, to just sorting
the children any time it changes. This makes it possible to
persist the zorder through interaction restarts in a sensible
way.

Fixes #1727.
2019-02-23 19:37:17 -05:00
Tom Rothamel 919c0a7f0d Merge pull request #1739 from mal/issue-1738
Fix speaking_attribute suppression
2019-02-23 10:17:46 -05:00
Mal Graty 432acfcf9e Fix speaking_attribute suppression
Switch back to prepending temporary_attrs with speaking_attribute so
that temporary say attributes have the chance to suppress the
speaking_attribute.

The use case for this is catering for infrequent lines of a character's
internal monologue, for which they are responsible, but do not actively
speak.
2019-02-23 11:06:06 +00:00
Tom Rothamel eab5170ae1 Attributes should only be restored if temporary attributes are present. 2019-02-23 01:59:12 -05:00
Tom Rothamel ad4f4095fd Only restore attributes if the attributes have changed.
Fixes #1737.
2019-02-23 01:35:43 -05:00
Tom Rothamel 94ee41646d Only set config.missing_{scene,show,hide} if None. 2019-02-23 01:23:05 -05:00
Tom Rothamel 46bafe91ae Merge pull request #1726 from AXYPB/master
Documentation corrections
2019-02-22 17:11:51 -05:00
Tom Rothamel 0cfdf68f7d Merge pull request #1735 from mal/augment-dont-replace-speaking-attr
Let temp attrs and speaking attr to work together
2019-02-22 17:11:23 -05:00
Mal Graty 18713b60f2 Let temp attrs and speaking attr to work together 2019-02-22 09:52:21 +00:00
Tom Rothamel 5adfccf53f Explicit test for attrs being None.
Fixes #1734.
2019-02-21 23:10:07 -05:00
Tom Rothamel eb0d1c8bfd Merge pull request #1733 from mal/fix-outline-stepping
Fix positional stepping when scaling outlines
2019-02-21 22:33:11 -05:00
Mal Graty 1e9d6bd519 Fix position stepping when scaling outlines 2019-02-21 19:11:39 +00:00
Tom Rothamel f5c1e108c5 Implement the outline_scaling style property.
This controls if the outlines are scaled using the current stepped
approach or a new linear approach.
2019-02-20 22:30:18 -05:00
Tom Rothamel 2b0691233e When adjusting spacing, try to keep the baselines aligned. 2019-02-20 21:55:25 -05:00
Tom Rothamel 065a46caa4 Adjust baseline as the text scales. 2019-02-20 12:35:15 -05:00
Craig Donson 5ebc270420 Further corrections 2019-02-20 05:18:02 -05:00
Tom Rothamel c4fb7c44dd Add renpy.is_skipping.
A documented way to know if skipping is going on.
2019-02-19 20:01:51 -05:00
Tom Rothamel df9be4a293 Release a grab when the associated displayable can't be focused.
Fixes #1728.
2019-02-19 19:37:52 -05:00
Tom Rothamel b639e0bca5 Update changelog. 2019-02-18 21:27:19 -05:00
Tom Rothamel 6aaf8b6ce9 Accept copy and paste in launcher input. 2019-02-18 20:40:41 -05:00
Tom Rothamel 15cf4341c3 Explictly remove temporary say attributes.
This fixes a problem with layeredimages for which "foo red happy"
and "foo red happy speaking" will both be defined. In that case,
"show foo red happy" won't remove speaking, and so we need to
do an explicit "show red happy -speaking".
2019-02-17 22:52:29 -05:00
Tom Rothamel 2bec7e4a73 Store the width and heigh passed to render().
Used by 115aae01dc, forgot to check
it in.
2019-02-17 21:40:04 -05:00
Tom Rothamel 6a94806b29 Check in data used when creating test projects. 2019-02-17 21:12:28 -05:00
Craig Donson 184006e7b8 Documentation corrections 2019-02-17 20:03:33 -05:00
Tom Rothamel 115aae01dc xmaxiuum and xymaximum shouldn't restrict where a drag can be moved.
We had been using the width and height offered to the drag as
the places where it can move. However, those are affected by
any xmaximum or ymaximum in effect.

This changes that so the original width and height are stored an
passed to the drag.
2019-02-17 14:39:18 -05:00
Tom Rothamel 00e71e3247 Merge pull request #1715 from Andykl/InputCopypaste
Added ability to input do copy paste
2019-02-17 12:32:06 -05:00
Andy_kl 4c0f25a53d Moved scrap calls to direct use 2019-02-17 20:30:57 +03:00
Tom Rothamel 482a3526df Merge pull request #1724 from Andykl/PlacementImprove
renpy.get_placement improve
2019-02-17 12:11:46 -05:00
Andy_kl 77dbe13a50 Doc last 2019-02-17 20:07:20 +03:00
Andy_kl ea305245f3 A small addition for renpy.get_placement 2019-02-17 20:06:01 +03:00
Tom Rothamel 2924a35b0d Merge pull request #1723 from Andykl/GetAttrsImprove
Added ability to specify if_hidden for renpy.get_attributes
2019-02-17 11:50:32 -05:00
Andy_kl d8b15aa717 Added ability to specify if_hidden for renpy.get_attributes 2019-02-17 19:48:55 +03:00
Tom Rothamel 13ef80181a Add a script to manage temporary tests. 2019-02-17 10:38:38 -05:00
Lee Yunseok fccac2a76f Merge pull request #16 from renpy/master
Keep going to latest
2019-02-17 18:22:09 +09:00
Lee Yunseok e04a38d417 Apply #30225b7 2019-02-17 18:20:21 +09:00
Tom Rothamel fc1392a0a3 Avoid displaying the CTC screen for 0 seconds. (As with {nw}.) 2019-02-16 18:09:36 -05:00
Tom Rothamel deedb038c2 Fix broken extend. 2019-02-16 17:59:19 -05:00
Tom Rothamel 31a0355299 Doc fix. 2019-02-16 17:53:13 -05:00
Tom Rothamel c243915cdb Document say with temporary attributes. 2019-02-16 13:59:25 -05:00
Tom Rothamel 27c6fe0e71 Update changelog. 2019-02-16 13:43:05 -05:00
Tom Rothamel 838d87ab66 Use the max_window_size in Preference
This makes sure that we can't create a window too big to fit on the
user's monitor.

It aso now highlights the Window preference when it's as big as it
can be, even if less than 100% of the game's size.

Fixes #1716.
2019-02-16 13:26:26 -05:00
Tom Rothamel 488a2ff7b8 Compute and store the maximum window size. 2019-02-16 13:24:49 -05:00
Tom Rothamel 5a2b42f0c4 Update credits. 2019-02-16 10:34:42 -05:00
Tom Rothamel ae138402ec Update sponsors. 2019-02-16 10:31:49 -05:00
Tom Rothamel 26f60f8b09 Do not show the ctc screen when interact=False. 2019-02-16 10:29:39 -05:00
Tom Rothamel 871bc9a9bb Allow the interact argument to be passed to a say-with-arguments. 2019-02-16 10:07:42 -05:00
Tom Rothamel 4c3891538a Document several lexer methods.
* .arguments
* .image_name_component
* .label_name
* .delimited_python
2019-02-16 09:52:07 -05:00
Tom Rothamel 7af27638a3 Do not begin a new rollback while in _after_load.
We don't want the after_load block to be a distinct part of the
game for the purpose of rollback, as it might come and go and
hence block roll-forward.

Fixes #1718.
2019-02-16 01:34:23 -05:00
Tom Rothamel fba8fb6cd7 Give a space segment an ascent of 1.
This prevents it from triggering a case that's meant for
DisplayableSegments. Fixes #1719.
2019-02-15 23:29:51 -05:00
Tom Rothamel bcf2734f53 Round up the size of the generated texture when doing a render-to-texture.
Having that extra pixel guarantees all the data is present, preventing
a blank (black or white) line from appearing at the bottom of the screen
during dissolves.
2019-02-15 21:31:22 -05:00
Tom Rothamel 80d4796c04 Fix translations after 30225b7de0 2019-02-14 22:34:03 -05:00
Tom Rothamel 8529993ffb Script for altering translations after minor text changes. 2019-02-14 22:33:32 -05:00
Tom Rothamel 718b0d7eb8 gc: Prevent reference counting loop through Render. 2019-02-14 02:42:36 -05:00
Tom Rothamel 21f654e559 gc: Avoid reference counting loop in ast.fix_missing_locations 2019-02-14 02:35:38 -05:00
Tom Rothamel a8c4c34782 gc: Fix reference loop in merge_slide. 2019-02-14 00:13:57 -05:00
Tom Rothamel 79a099315f Add temporary say attributes to the changelog. 2019-02-13 21:21:16 -05:00
Tom Rothamel 6136404adc Add window auto show and window auto hide statements. 2019-02-12 23:40:40 -05:00
Tom Rothamel 38de45259f Allow force_autosave to block until the save is done. 2019-02-12 20:20:04 -05:00
Tom Rothamel 331738b11f MoveTransition should indicate it creates a MultiBox with layers.
Some other part of Ren'Py will raise IgnoreLayers, and if the
root widget doesn't understand layers, this will be wrong.
2019-02-12 01:01:01 -05:00
Tom Rothamel dd6f482fcd Rewrite say attribute handling to support temporary attributes. 2019-02-11 23:12:01 -05:00
Tom Rothamel 9f770ce6fe Make the layer optional in most ShownImageInfo methods. 2019-02-11 23:12:01 -05:00
Beuc 75c6df852f doc: savelocation.sync() is for syncing HOME 2019-02-11 22:44:13 +01:00
Tom Rothamel 748228581b Merge pull request #1714 from shayneofficer/patch-2
Update tutorial_quickstart.rpy
2019-02-11 01:57:58 -05:00
Tom Rothamel b6ff60ac91 Merge pull request #1713 from shayneofficer/patch-1
Update examples.rpy
2019-02-11 01:57:51 -05:00
Tom Rothamel a2315537a3 Parse temporary image attributes as part of a say statement. 2019-02-10 21:28:25 -05:00
Andy_kl 2f7aea3bff Renamed keyword 2019-02-11 03:23:13 +03:00
Andy_kl a66f7f1716 Added doc 2019-02-11 02:47:33 +03:00
Andy_kl be28c4c8cb Added copypaste for console 2019-02-11 02:16:24 +03:00
Andy_kl 09e7296dac Added screenlang keywords 2019-02-11 02:15:12 +03:00
Andy_kl ed60700636 Initial 2019-02-11 02:15:04 +03:00
Shayne Officer 30225b7de0 Update tutorial_quickstart.rpy 2019-02-09 22:24:12 -06:00
Shayne Officer 0ba59c4a3c Update examples.rpy
Just fixing a typo, higlight to highlight
2019-02-09 22:15:10 -06:00
Tom Rothamel 0c6648cc69 Allow text images to participate in ruby layout.
Fixes #1704.
2019-02-09 12:49:50 -05:00
Tom Rothamel 3537d4df09 Update Pig Latin. 2019-02-08 08:26:00 -05:00
Tom Rothamel cfa1053331 Tweak formatting of the error handling screen. 2019-02-08 08:24:26 -05:00
Tom Rothamel 735f355aa9 Support copying errors/tracebacks via Markdown. 2019-02-08 08:20:42 -05:00
Tom Rothamel 88722c18dc Update the changelog. 2019-02-06 23:47:24 -05:00
Tom Rothamel b4a9d9e163 Optionally provide additional arguments to the ctc screen. 2019-02-06 23:31:12 -05:00
Tom Rothamel 54e8c63b3a Allow passing of arguments in a way that not all keyword arguments need be consumed.
The goal of this is to allow the transparent addition of new arguments
to screens, without the old screens needing to be updated.
2019-02-06 23:25:39 -05:00
Tom Rothamel de0d21b377 Do not quite the display on a resize.
Instead, we let set_mode do it if and when it proves necessary.
2019-02-06 10:28:07 -05:00
Tom Rothamel 3980e65920 Ignore spurious event when leaving fullscreen. 2019-02-06 02:59:05 -05:00
Tom Rothamel 6be0f498e4 Allow add_from to deal with calls to a local label.
Fixes #1709.
2019-02-05 17:36:40 -05:00
Tom Rothamel 957e79dd88 Make sure that the periodic thread can wait deadlocked.
Fixes a case where Ren'Py won't quit.
2019-02-05 02:05:31 -05:00
Tom Rothamel b33d61e52a Use the y coordinate to determine the baseline.
Fixes #1706 again.
2019-02-04 22:05:31 -05:00
Tom Rothamel f61dc75199 Document renpy.BASELINE. 2019-02-04 02:05:42 -05:00
Tom Rothamel b7a67d50ef Add yanchor renpy.BASELINE.
This lets us line the text's baseline up with other things.

Fixes #1706.
2019-02-03 23:55:03 -05:00
Tom Rothamel efe919e875 Predict images used by Movie. 2019-02-03 20:28:04 -05:00
Tom Rothamel 0aeba7e272 Add start_image to Movie.
This is an image that is displayed before the first frame of
the movie has been rendered.
2019-02-03 20:28:04 -05:00
Tom Rothamel e735f8a566 Merge pull request #1707 from xavi-mat/master
Doc fix: gui.font_size -> gui.text_size
2019-02-03 19:55:27 -05:00
xavi-mat a02b5347bf correction
gui.font_size -> gui.text_size
2019-02-03 22:29:21 +01:00
Tom Rothamel 408e5dc02b Ensure menu arguments always exist. 2019-02-02 10:31:41 -05:00
Tom Rothamel 0c5012f835 Clean up the renpysound api. 2019-02-01 23:47:46 -05:00
Tom Rothamel 7d1b9e2e80 Document renpysound.
This is intended to become a replaceable interface that can allow
for decoding of audio in a platform-specific manner.
2019-02-01 22:21:32 -05:00
Tom Rothamel 2ea71b8240 Update credits. 2019-01-31 23:33:35 -05:00
Tom Rothamel f0c304eb52 Fix typo. 2019-01-31 23:32:16 -05:00
Tom Rothamel d4ebdc2c2e Update keywords. 2019-01-31 23:21:48 -05:00
Tom Rothamel 32f373f8f8 Document menu set again. 2019-01-31 23:18:42 -05:00
Lee Yunseok a9e9344310 Merge pull request #15 from renpy/master
Keep going to latest
2019-01-31 06:04:59 +00:00
Tom Rothamel 2813e5ce01 Document menu arguments. 2019-01-31 00:31:28 -05:00
Tom Rothamel d584e370a1 Initialize the slideshow field on the gallery object. 2019-01-30 22:35:16 -05:00
Tom Rothamel ee28b54c6c menu: Filter item_arguments when a set is used. 2019-01-30 01:12:01 -05:00
Tom Rothamel 2b914b040f Boldly fix bug #1701.
Which pertained to say with menu arguments not removing the argument
corresponding to the menu caption.

Fixes #1701.
2019-01-29 23:15:28 -05:00
Tom Rothamel 5845ee32f8 Update changelog for 7.1.4. 2019-01-29 09:06:03 -05:00
Tom Rothamel 5ceb63ffec Merge pull request #1685 from Beuc/patch-1
Doc fixes
2019-01-28 21:34:00 -05:00
Tom Rothamel 1c4281923c Merge pull request #1689 from Beuc/patch-2
doc fix: layer_at_list -> show_layer_at
2019-01-28 21:33:49 -05:00
Tom Rothamel 61c3e38bb5 Avoid resizing a maximized window. 2019-01-28 01:45:46 -05:00
Tom Rothamel 9a38109af6 Change the FULLSCREEN flag, rather than closing and repopening video.
Fixes #1665, along with an update to pygame_sdl2.
2019-01-27 19:17:45 -05:00
Tom Rothamel d7cdc62eb8 Remain fullscreen when the mouse changes desktops. 2019-01-27 11:17:50 -05:00
Tom Rothamel 697a7906ef li: Groups now support the multiple attribute.
When given, the attributes are defined without the group - that
means that auto can be used to define multiple attributes, of
which any of them can be selected at once.
2019-01-27 01:23:55 -05:00
Tom Rothamel 4c59d32bea Add allow_duplicate_labels to be defined early. 2019-01-26 10:13:46 -05:00
Tom Rothamel 3c8fd80503 Add config.allow_duplicate_labels.
A variable that does what it says on the tin, allowing the same
variable to be defined twice in one script.
2019-01-25 23:38:40 -05:00
Tom Rothamel 80c7516e9a Check the name after running prior early python blocks. 2019-01-25 22:35:14 -05:00
Tom Rothamel 4242b7dab4 Fix creating a new file. 2019-01-25 19:08:24 -05:00
Tom Rothamel 136150b8e4 Set a default thumbnail size. 2019-01-25 11:27:49 -05:00
Tom Rothamel fde8daca3e Merge pull request #1698 from Beuc/patch-5
hw_video: use consistent platform testing
2019-01-24 08:32:26 -05:00
Tom Rothamel b8fe298e8e Automatically clear screenshots when a checkpoint occurs.
This is a compromise between the 6.99 and 7.x behavior. In the older
stuff, we would never automatically clear the screenshot, meaning
if a game called renpy.take_screenshot, it could grow stale.

In the newer behavior, we would clear it after each interaction,
even meanigless ones, like an implie with.

This uses renpy.checkpoint to clear the screenshot, which is a proxy
for the game state meaningfully advancing. In addition, this behavior
can be disabled by setting config.auto_clear_screenshot to False.

Fixes #1680.
2019-01-23 23:41:30 -05:00
Tom Rothamel beb82cc52a Merge pull request #1696 from Beuc/patch-3
Comment typo
2019-01-23 22:13:09 -05:00
Tom Rothamel e888f64795 Merge pull request #1697 from Beuc/patch-4
doc: hints for supported mobile video formats
2019-01-23 22:12:55 -05:00
Beuc 811977793d hw_video: use consistent platform testing 2019-01-23 18:13:37 +01:00
Beuc 185a3898d0 doc: hints for supported mobile video formats 2019-01-23 18:08:24 +01:00
Tom Rothamel 92e0375108 Allow the creator to configure the steam popup position.
Fixes #1686.
2019-01-22 22:10:28 -05:00
Beuc c741220b8b Comment typo 2019-01-23 01:10:58 +01:00
pionere 9c12fc9c06 shortcut for change_language 2019-01-22 09:39:01 +01:00
Tom Rothamel 2d9f3000a4 Fix inverted test in imagefonts. 2019-01-21 23:51:48 -05:00
Tom Rothamel f44796fd5b If an action argument isn't comparable, say it's not equal.
Fixes #1693.
2019-01-21 22:25:06 -05:00
Tom Rothamel 4c1fa7b36d Start input mode after setting the text rectangle. 2019-01-21 22:02:03 -05:00
Tom Rothamel 867e8ad144 Rename some of the gl2 files.
This allows static and semi-static linking, of the sort that we
do on Android and iOS.
2019-01-21 00:42:55 -05:00
Tom Rothamel e218adf0fd Allow arguments to be passed to individual menu choices.
This uses the syntax:

menu:
    "Choice 1" (1, color="#f00"):
        pass
    "Choice 2" (2, color="#0ff") if unlocked:
        pass
2019-01-20 18:37:35 -05:00
Tom Rothamel fe29d69ccb Add config.menu_arguments_callback.
This is something like config.say_arguments_callback, except for
menus.
2019-01-18 22:56:22 -05:00
Tom Rothamel 7d63a35734 Allow the menu statement to take arguments. 2019-01-18 22:40:04 -05:00
Beuc 3d7533552d doc fix: layer_at_list -> show_layer_at 2019-01-17 17:14:52 +01:00
Tom Rothamel b539e047ed Use the original list of items when checking the menu set.
Fixes #1688.
2019-01-17 02:02:20 -05:00
Tom Rothamel bcd35bd79e Drop version to 7.1.4.
As I plan to make a fix release before 7.2 hits.
2019-01-16 17:55:16 -05:00
Beuc bc49ab7d78 Doc fixes 2019-01-16 13:17:49 +01:00
Tom Rothamel 5eee3ba007 Cause a new rollback to begin if needed to match a rollforward.
Fixes #1671.
2019-01-15 23:22:37 -05:00
Tom Rothamel 6e6841c500 Add a loop parameter to Movie.
This makes it easy to display non-looping movies that stop when
they are done.
2019-01-15 23:22:37 -05:00
Tom Rothamel cb5fecc9b0 Merge pull request #1679 from mal/song-2
Fast im.Blur implementation
2019-01-15 21:59:30 -05:00
lee-yunseok cc4d33e213 Ko translation for the tutorial #1 2019-01-15 16:56:27 +09:00
lee-yunseok ed3d151916 optimized 2019-01-15 16:54:30 +09:00
Tom Rothamel d75828e35b Fix video fallback when not playing. 2019-01-15 01:29:07 -05:00
Lee Yunseok 9087ab53bd Merge pull request #14 from renpy/master
Keep going to latest
2019-01-15 15:27:10 +09:00
Tom Rothamel b1a5d587e7 launcher: Restore interface.error handling.
Per #1684.
2019-01-14 22:18:00 -05:00
Tom Rothamel da92428cb9 Handle errors downloading and parsing channels.json.
Fixes #1684.
2019-01-14 00:07:09 -05:00
Tom Rothamel cd47441420 steam: Re-set DYLD_INSERT_LIBRARIES before invoking Ren'Py proper.
This works around an issue in Steam where the injected libraries
change the variable to STEAM_DYLD_INSERT_LIBRARIES, which means
python never sees it and the overlay doesn't load.
2019-01-13 19:57:53 -05:00
Tom Rothamel f9deff6bc5 Update copyright for 2019. 2019-01-12 13:37:18 -05:00
Tom Rothamel 854c08f1a5 Automatically pick the copyright year. 2019-01-12 13:34:33 -05:00
Tom Rothamel 5e45ed9cf4 Add keyup and keydown modifiers. 2019-01-11 21:57:11 -05:00
Tom Rothamel 62637db772 Remove size / 2 limitation.
Fixes #1661.
2019-01-11 18:57:52 -05:00
Tom Rothamel c75855e7e5 On Android, read files out of the public directory.
Fixes #1664.
2019-01-10 22:24:41 -05:00
Tom Rothamel f2dcd5af8e Prevent a crash when generating a 9:16 screen.
Fixes #1682.
2019-01-10 22:24:08 -05:00
Tom Rothamel de67f53409 Include SDL_opengles2 when required. 2019-01-09 22:54:53 -05:00
Tom Rothamel 361787a3f3 Support clicking cancel in tkaskdir.
Fixes #1678.
2019-01-09 02:05:32 -05:00
Tom Rothamel 7cc5b5db73 Error out if an attribut isn't present on lint. 2019-01-08 23:43:44 -05:00
Tom Rothamel 2bd87a931f Add a flag to the displayable arguments if lint is happening. 2019-01-08 21:24:28 -05:00
Lee Yunseok 306d3b16a6 Merge pull request #13 from renpy/master
Keep going to latest
2019-01-08 13:53:39 +09:00
Mal Graty 3e73f0d8e9 Wire blur into renpy.display.im 2019-01-07 21:31:05 +00:00
Mal Graty 231daa4e60 Cython wrappers for linear and gaussian blurs 2019-01-07 21:31:05 +00:00
Mal Graty 920d21d518 Linear and gaussian blur implementations 2019-01-07 21:31:05 +00:00
Tom Rothamel 6ddd1f2234 menu: Do not create a ChoiceReturn when the value is None.
This restores the behavior of config.narrator_menu=False, at least for
games that use screens that support the old way of doing it.
2019-01-06 18:58:04 -05:00
Tom Rothamel 958a48199a Add the caret property to screen language. 2019-01-05 16:28:06 -05:00
Tom Rothamel 78bfc2c43d Display Movie's image argument if the movie stops playing.
Fixes #1677.
2019-01-04 22:46:38 -05:00
Tom Rothamel 83f6c56f0a Report an error if the displayable with id "what" doesn't have what as its text.
This detects a problem where the creator passed something else to
text, and had a hard-to-diagnose problem. ie:

    text ("!" + what) id "what"

will cause weird tag errors.
2019-01-03 19:56:31 -05:00
Lee Yunseok e04d2046de Merge pull request #12 from renpy/master
Keep going to latest
2019-01-01 17:33:40 +09:00
Tom Rothamel ee64a7b592 Remove TODO. 2018-12-31 23:52:48 -05:00
Tom Rothamel 26e582a70f tutorial: Update the French and Russian translations.
To include 1674.
2018-12-31 22:57:36 -05:00
Tom Rothamel 6896ad9bce Fix typo.
Fixes #1674.
2018-12-31 22:41:23 -05:00
Tom Rothamel 74ca5c9de8 Merge pull request #1675 from Beuc/patch-1
emscripten: tidy platform detection
2018-12-30 14:21:14 -05:00
Sylvain Beucler 8a327eacea emscripten: tidy platform detection 2018-12-30 18:42:16 +01:00
Tom Rothamel f25fcacd44 Clear the say attributes once they are consumed.
This prevents them from being re-consumed by empty_window if it's called.
2018-12-29 00:17:09 -05:00
Tom Rothamel 6445f3a9c5 Fix functions that are documented more than once.
Fixes #1669.
2018-12-23 00:05:35 -05:00
Tom Rothamel 90ba612afa Look for and report duplicate functions. 2018-12-22 22:48:54 -05:00
Tom Rothamel 6a5363f747 Import opengl through sdl2. 2018-12-18 10:34:40 -05:00
Tom Rothamel 3d2079f665 Ensure renpy.play can never loop a sound. 2018-12-11 22:13:17 -05:00
Tom Rothamel 372216ef08 Signal when data is written.
This is a rewrite of #1631, to put all the emscripten changes into
a single function.
2018-12-10 17:55:49 -05:00
Tom Rothamel 4ec44cf1ff Merge pull request #1660 from Beuc/patch-3
update_path: support static Python modules
2018-12-10 17:48:49 -05:00
Tom Rothamel e62bef8e6f Merge pull request #1662 from Beuc/patch-4
Remove unused import
2018-12-10 17:48:14 -05:00
Beuc 689cedd191 Remove unused import 2018-12-09 13:27:43 +01:00
Sylvain Beucler 475abc4218 update_path: support static Python modules 2018-12-08 14:55:32 +01:00
Tom Rothamel 863535cca4 Filter text tags when computer the length of AFM text.
Fixes #1659.
2018-12-04 22:09:45 -05:00
Tom Rothamel c7fb7a40df Do not pickle six. 2018-12-04 00:31:20 -05:00
Tom Rothamel ff81f1dc1a Merge pull request #1596 from wchill/py3_compat_exceptions
[Py3] Make exceptions both python2 and python3 compatible
2018-11-29 22:12:23 -05:00
Tom Rothamel d5248ad00d Merge pull request #1597 from wchill/use_print_function
[Py3] Use print function in pure python files
2018-11-29 22:12:09 -05:00
Tom Rothamel c34ca2acb4 Overwrite obsolete android packaging page.
Fixes renpy/rapt#7.
2018-11-28 01:15:27 -05:00
Tom Rothamel eb36cc693d Merge pull request #1653 from Beuc/patch-2
Explicitely close audio on quit
2018-11-27 18:29:56 -05:00
Tom Rothamel fc0328f609 Prevent a corrupt RPC file from taking down Ren'Py. 2018-11-26 20:46:54 -05:00
Tom Rothamel 6ad657ca30 Duplicate the child of a transform when the transform is duplicated.
Fixes #1654.
2018-11-25 23:07:31 -05:00
Beuc f779d3af59 Explicitely close audio on quit
With Emscripten, this tells the browser to stop calling the audio callback.
2018-11-25 13:14:41 +01:00
Tom Rothamel 89a116330a Make ftfont explicity mark glyphs as non-drawing.
Rather than using <0 width to imply it, which is a problem as fonts
seem to have 0 or negative width characters.

Fixes #1652.
2018-11-24 23:45:53 -05:00
Tom Rothamel 71ca7d3cb8 Merge pull request #1632 from Beuc/patch-7
emscripten: presplash specific handling
2018-11-24 20:45:33 -05:00
Tom Rothamel 211d35681f Merge pull request #1642 from Beuc/patch-2
audio: fix deadlock on quit
2018-11-24 20:45:03 -05:00
Tom Rothamel 18ad931283 Merge pull request #1651 from musiyenko/master
Fixed some typos
2018-11-23 22:36:55 -05:00
Tom Rothamel 005a524123 lint: Report screens that do not have parameter lists.
This should prevent people from making this mistake.
2018-11-23 10:08:03 -05:00
Sergey Musiyenko e9d30afc29 Fixed a typo 2018-11-22 14:48:42 +01:00
Sergey Musiyenko ee39d4cc73 Fixed a typo 2018-11-22 14:48:02 +01:00
Sergey Musiyenko 34e294e35c Fixed a typo 2018-11-22 14:47:14 +01:00
Sergey Musiyenko fd3f50d223 Fixed a typo 2018-11-22 14:45:51 +01:00
Tom Rothamel 4d7a93f09e Alow user statements to supply translation strings. 2018-11-22 01:09:21 -05:00
Tom Rothamel 0382e17b35 Better document reserved filenames. 2018-11-21 21:12:51 -05:00
Tom Rothamel 02b0627051 Shorten output that goes to the console.
Unless the creator chooses long output.
2018-11-20 23:30:35 -05:00
Lee Yunseok 6accdd39aa Merge pull request #11 from renpy/master
Latest
2018-11-20 21:34:17 +09:00
Tom Rothamel 373e6359f0 gl2: Remove non-NPOT textures. 2018-11-19 23:59:11 -05:00
Tom Rothamel 380f7824c5 gl2: egl2 -> gles2 renaming. 2018-11-19 11:31:50 -05:00
Tom Rothamel 6bd05879ce gl2: Allow the player to choose between gl2 and gles2 renderers.
This uses the same codebase and same modules, and just chooses by
asking OpenGL for the right kind of context at runtime.
2018-11-18 22:05:16 -05:00
Tom Rothamel fa6efc44a8 Bump version to 7.2.0. 2018-11-18 11:27:23 -05:00
Tom Rothamel e563889ef9 Merge branch 'gl2'. 2018-11-18 11:24:41 -05:00
Tom Rothamel f2376c02e8 Changelog 7.1.3. 2018-11-18 10:49:45 -05:00
Tom Rothamel ec9e1c2aa5 Bump version. 2018-11-18 01:20:03 -05:00
Tom Rothamel 6e880b2ba7 Fix incorrectly set default language. 2018-11-18 01:17:33 -05:00
Tom Rothamel 44e8dd8ab3 Remove the use of glew from the gl2 renderer. 2018-11-17 18:16:01 -05:00
Tom Rothamel 1943682bc6 Make gltexture use uguugl.
This also entailed some simplifications that make sense for modern
GL environments. We now exclusively use GL_RGBA, and we require the
third texture.
2018-11-17 18:09:09 -05:00
Tom Rothamel e43f8af2c3 gl2: Make glenviron_shader use uguugl. 2018-11-17 00:30:57 -05:00
Tom Rothamel ed342d27ac gl2: Make glrtt_fbo use uguugl. 2018-11-16 23:55:09 -05:00
Tom Rothamel c75ee1bf5f Merge branch 'master' into gl2 2018-11-16 21:28:01 -05:00
Beuc b42d2ab892 audio: fix deadlock on quit 2018-11-16 09:25:03 +01:00
Tom Rothamel 09002e2ef0 Update credits and changelog. 2018-11-15 22:59:58 -05:00
Tom Rothamel a876b05b10 Update sponsors doc. 2018-11-15 22:55:26 -05:00
Tom Rothamel 909258735f Fix translations. 2018-11-15 22:52:27 -05:00
Tom Rothamel 77ec342d5a Fix typo in source string. 2018-11-15 22:24:29 -05:00
Tom Rothamel 27d393af8a Check in obsolete.rpy files.
This is to prevent Ren'Py from causing problems if it deletes a
.rpy file when the .rpyc file is present, where the translation
is available in multiple files.
2018-11-15 22:21:47 -05:00
Tom Rothamel 871f361e16 Revert 3f474a4262 2018-11-15 22:21:16 -05:00
Tom Rothamel 3e9b85acfe Merge pull request #1640 from lee-yunseok/master
Fixes Korean translations for the latest launcher.
2018-11-15 21:35:41 -05:00
Tom Rothamel 3f474a4262 Merge pull request #1639 from Beuc/patch-1
Explicitely close audio on quit
2018-11-15 21:34:50 -05:00
Tom Rothamel 144d1b84ce Merge pull request #1638 from zedraxlo/master
chinese update, with new font
2018-11-15 21:17:08 -05:00
Lee Yunseok 6ebe6f429a Minor updates for the Korean translation. 2018-11-16 10:58:21 +09:00
Lee Yunseok 7a378931af Fix a mistake and add comments for android build tab. 2018-11-16 10:42:19 +09:00
Lee Yunseok f9cf932b67 Fix korean translations for the latest 2018-11-16 09:52:58 +09:00
Lee Yunseok 7222495537 Remove duplicate translations 2018-11-16 08:53:46 +09:00
Lee Yunseok c96ecd4bb5 Just remove whitespace 2018-11-16 08:34:56 +09:00
Lee Yunseok 42f399986f Fix korean translation 2018-11-16 08:27:24 +09:00
Lee Yunseok 1f14415c05 Merge pull request #10 from renpy/master
Latest
2018-11-16 05:55:48 +09:00
Beuc 2973209767 Explicitely close audio on quit
With Emscripten, this tells the browser to stop calling the audio callback.
2018-11-15 15:51:21 +01:00
zedraxlo 2a40cf1617 fix typo 2018-11-15 22:00:08 +08:00
zedraxlo 28f5980cae update chinese for "The Question"
tchinese just for test font.
2018-11-15 21:56:41 +08:00
zedraxlo 5a808ecb20 update language select for chinese 2018-11-15 21:54:17 +08:00
zedraxlo a45523559b Update style.rpy 2018-11-15 21:53:11 +08:00
zedraxlo b9051524e8 Update style.rpy 2018-11-15 21:52:52 +08:00
zedraxlo 2b4d3b7c68 Delete DroidSansFallback.ttf 2018-11-15 21:51:58 +08:00
zedraxlo ef2e2cc112 New font for chinese
SourceHanSans-Light-Lite, based on SourceHanSansCN-Light, which contain General specification Chinese table (China Mainland) 1st-order table (3500 characters) and Common Chinese character standard font table (Taiwan) (aka A-order table) (4808 characters), have already tested in "The Question" and launcher.
2018-11-15 21:51:21 +08:00
zedraxlo fc60b8d568 Merge pull request #2 from zedraxlo/patch-1
Patch 1
2018-11-15 21:44:04 +08:00
zedraxlo caa675948d Delete DroidSansFallback.txt 2018-11-15 21:42:35 +08:00
zedraxlo 0e7cb38637 Update screens.rpy 2018-11-15 18:09:46 +08:00
zedraxlo c169afb6f3 Update screens.rpy 2018-11-15 18:05:07 +08:00
zedraxlo 8578df7ca4 Update gui.rpy 2018-11-15 17:52:37 +08:00
zedraxlo e6a199e60b Update screens.rpy 2018-11-15 17:16:43 +08:00
zedraxlo 8612b3bf3b Update screens.rpy 2018-11-15 17:15:45 +08:00
zedraxlo dd82a2ffbb fix typo 2018-11-15 14:01:19 +08:00
Tom Rothamel 59f905327a Merge pull request #1636 from zedraxlo/master
SChinese update.
2018-11-15 00:56:22 -05:00
zedraxlo b22855e039 Merge pull request #1 from zedraxlo/patch-2
Patch 2
2018-11-15 13:52:15 +08:00
zedraxlo 2f4999fcbc Update options.rpy 2018-11-15 13:49:12 +08:00
zedraxlo e657fbe20b Delete obsolete.rpy 2018-11-15 13:42:14 +08:00
zedraxlo 8bbf879c68 Update launcher.rpy 2018-11-15 13:25:16 +08:00
zedraxlo 3635ffdedd fix typo 2018-11-15 12:43:01 +08:00
Tom Rothamel 71bbddf06b Automatic translation fixes. 2018-11-14 23:01:23 -05:00
Tom Rothamel 22bcfd5415 Merge pull request #1623 from lee-yunseok/master
Fix Korean typos in the launcher. Add Korean translation for The Question.
2018-11-14 22:59:23 -05:00
Tom Rothamel 8d3d5cbfc0 Merge branch 'master' into master 2018-11-14 22:59:09 -05:00
Tom Rothamel 2beb1b7ace Do not pass attributes to layerdimage children.
Chances are, the children will not understand the arguments,
and hence will error out.

Fixes #1635.
2018-11-14 22:52:32 -05:00
zedraxlo 20b09ba2f5 Update error.rpy 2018-11-15 11:39:51 +08:00
zedraxlo 96e5cb7457 Update developer.rpy 2018-11-15 11:29:38 +08:00
zedraxlo d5b98efce6 Update common.rpy 2018-11-15 11:24:18 +08:00
zedraxlo a5b8e1ff02 Update common.rpy 2018-11-15 11:14:37 +08:00
Tom Rothamel 99578871c5 Fix code typo.
Fixes #1634.
2018-11-13 20:58:25 -05:00
Tom Rothamel 88e9793cce Revert "Make sure we don't distribute gl2 by mistake."
This reverts commit 5df0bb9fbd.
2018-11-13 20:55:04 -05:00
Tom Rothamel c7c127ef04 Merge branch 'master' into gl2 2018-11-13 20:54:25 -05:00
Tom Rothamel 5df0bb9fbd Make sure we don't distribute gl2 by mistake. 2018-11-13 20:48:09 -05:00
Lee Yunseok 1bb5716b63 Salt 2018-11-13 16:44:53 +09:00
Lee Yunseok a812fc4f56 Minor fixes in the Korean translation. 2018-11-13 16:35:38 +09:00
Lee Yunseok edbccb3783 Fix Korean translation for The Question 2018-11-13 16:22:08 +09:00
Tom Rothamel 181d28e0e7 gl2: Convert gldraw.pyx to uguu. 2018-11-13 00:33:24 -05:00
Tom Rothamel c649ffe23b gl2: Build uguu as part of Ren'Py. 2018-11-12 00:56:17 -05:00
Tom Rothamel 4de956940f Add uguu to Ren'Py. 2018-11-11 22:23:48 -05:00
Tom Rothamel f9e9acedd5 gl2: Start work by copying over renpy.gl. 2018-11-11 13:18:31 -05:00
Lee Yunseok 7b24be5d29 Add Korean translation for The Question. 2018-11-11 16:10:52 +09:00
Tom Rothamel 664b1ff6ec Add renpy.skip_sounds. 2018-11-11 01:09:13 -05:00
Tom Rothamel 9c08339f9a Merge pull request #1630 from Beuc/patch-5
Fixes to French translation
2018-11-10 17:53:32 -05:00
Sylvain Beucler 35416aab22 emscripten: presplash specific handling 2018-11-10 21:23:50 +01:00
Sylvain Beucler 29e8269de7 Fixes to French translation
replicated from 53261a7a52
2018-11-10 20:01:48 +01:00
Tom Rothamel e2556bf9c4 Make pop_current_screen properly update the _current_screen. 2018-11-10 10:53:53 -05:00
Tom Rothamel b159a34e44 Elide the filename when assigning names to statements. 2018-11-09 17:47:50 -05:00
Tom Rothamel 63efa20467 Update the error handling styles at init 9999.
This allows the styles to change to deal with the actual size
of the screen.
2018-11-09 01:23:58 -05:00
Tom Rothamel 17b943693c Allow error handling hyperlink functions to be pickled.
Fixes #1626.
2018-11-09 01:16:54 -05:00
Tom Rothamel 8e09177b6e Ensure the full path to a directory exists in DirectoryPackage.
Fixes #1627.
2018-11-08 22:31:47 -05:00
Tom Rothamel ddaf9f3de3 Check in keywords. 2018-11-08 02:02:15 -05:00
Tom Rothamel 8900d6f3df Update changelog. 2018-11-07 20:48:46 -05:00
Tom Rothamel 2e2f2ea460 Merge pull request #1625 from Beuc/patch-4
Fixes to French translation
2018-11-07 20:28:39 -05:00
Tom Rothamel adb928e234 Merge pull request #1624 from Beuc/patch-3
Fix missing spaces in the_question's screens.rpy
2018-11-07 20:27:56 -05:00
Beuc 53261a7a52 Fixes to French translation 2018-11-07 17:06:17 +01:00
Beuc 2e6f61e673 Fix missing spaces in the_question's screens.rpy 2018-11-07 16:04:31 +01:00
Lee Yunseok afce996d0e Fix typo. 2018-11-07 20:10:15 +09:00
Lee Yunseok 170351a81a Merge pull request #9 from renpy/master
Keep going to latest...
2018-11-07 20:09:17 +09:00
Tom Rothamel 1392cd9dad Allow FilePageNext and FilePagePrevious to choose if they go to auto and quick.
Fixes #1621.
2018-11-07 02:09:49 -05:00
Tom Rothamel c2be31d5de Merge pull request #1622 from Andykl/Transalion_Fix
Fix typos in Russian translate
2018-11-06 12:24:38 -05:00
Andy_kl e419711493 Fix typos in Russian translate 2018-11-06 17:37:43 +03:00
Tom Rothamel c734c5cda1 Merge pull request #1619 from Andykl/Launcher_Adds
Updated working of input screen for launcher
2018-11-05 22:00:28 -05:00
Tom Rothamel bde048b359 Merge pull request #1620 from Andykl/Rework_variable_viewer
Added button which hides deleted variables to the Variable Viewer.
2018-11-04 18:50:08 -05:00
Tom Rothamel 9878ccec4b Store the game version in _version and the json. 2018-11-04 17:41:10 -05:00
Andy_kl 30d8911abf Added button which hides deleted variables to the Variable Viewer. 2018-11-04 23:57:23 +03:00
Tom Rothamel d9ab291a68 Move absolute into minstore and mark as pure. 2018-11-04 12:53:39 -05:00
Tom Rothamel 1bc29461d1 Movie can now take a single movie with color and mask data side by side.
This should prevent movie sprites from going out of sync, by
taking both the color and mask data from a single file.

Fixes #1515.
2018-11-03 17:39:40 -04:00
Tom Rothamel f2e62c571c Document that screens can take positional arguments. 2018-11-03 17:39:40 -04:00
Andy_kl 0208328307 Updated russian translate 2018-11-03 21:38:27 +03:00
Andy_kl 3ee71e9b0d Added text-tag comment for translators. 2018-11-03 21:37:42 +03:00
Andy_kl d83788fa23 Added uppercase letters for translation name 2018-11-03 20:58:21 +03:00
Andy_kl 3c2cebacef Added underscore and space in the names of projects and files 2018-11-03 20:54:17 +03:00
Tom Rothamel 834b9fa1d1 Define centerd and vcentered normally.
Fixes #1347.
2018-11-03 13:17:51 -04:00
Tom Rothamel 9dd55e7b66 Merge pull request #1618 from Andykl/Fix_1161
Fix #1161
2018-11-03 13:16:57 -04:00
Tom Rothamel 857a8a65a2 Update sponsor docs. 2018-11-03 13:04:35 -04:00
Andy_kl dc58e6e8c8 Revert "Fix #1161"
This reverts commit c6dd267772.
2018-11-03 20:00:47 +03:00
Andy_kl 7f8101e2ee Revert "Fix #1045"
This reverts commit c2895f465c.
2018-11-03 19:59:07 +03:00
Andy_kl f7b389a5bc Updated working of input screen 2018-11-03 09:52:07 +03:00
Andy_kl c2895f465c Fix #1045 2018-11-03 06:43:08 +03:00
Andy_kl 075ba4bc49 Fix #1347 2018-11-03 06:41:36 +03:00
Andy_kl c6dd267772 Fix #1161 2018-11-03 04:53:58 +03:00
Tom Rothamel 06443a5f2e Fix typo. 2018-11-02 17:15:29 -04:00
Tom Rothamel ed564397d2 Merge pull request #1615 from Andykl/Fix_Issues
Fix issues with quick_menu on phones and performance encoding.
2018-11-01 22:12:47 -04:00
Andy_kl 66ef5ba2cf Fix #1360 2018-11-01 20:47:17 +03:00
Andy_kl fed3430d76 Fix #1603 2018-11-01 19:12:25 +03:00
Tom Rothamel cca4bf016c Set the compatibility channel looping properly. 2018-10-31 23:34:10 -04:00
Tom Rothamel 432ba06a48 Fix audio crash in moonlight walks. 2018-10-30 23:17:44 -04:00
Tom Rothamel 92fb4098b2 Update changelog. 2018-10-30 22:48:22 -04:00
Tom Rothamel a4340f7798 Merge pull request #1574 from Andykl/Drag_Changes
Extension of the Drag'n'Drop functional
2018-10-30 21:52:18 -04:00
Tom Rothamel 80ec5ad31e Merge pull request #1584 from Andykl/UserStatement_change
Changes in register_statement
2018-10-30 21:52:00 -04:00
Tom Rothamel df4d653b86 Merge pull request #1600 from vollschauer/master
Add delay to renpy.sound.set_volume
2018-10-30 21:50:37 -04:00
Andy_kl bcfa6d126b Doc this 2018-10-31 03:39:34 +03:00
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
Lee Yunseok 4df7cafe93 Merge pull request #8 from renpy/master
Keep going to latest
2018-10-24 22:14:22 +09: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
Unknown d521e79b46 Add delay to renpy.sound.set_volume 2018-10-21 20:17:24 +02: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
Eric Ahn bb7759c9f3 Fix print in remaining files 2018-10-19 13:45:00 -07:00
Eric Ahn 7415ca19f8 Use print function in pure python files 2018-10-19 12:56:58 -07:00
Eric Ahn d542b05287 Make exceptions both python2 and python3 compatible 2018-10-19 12:13:14 -07: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
Lee Yunseok b9a0975a71 Merge pull request #7 from renpy/master
Keep going to latest
2018-10-09 06:00:42 +09: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
Lee Yunseok 7dc4f335eb Merge pull request #6 from renpy/master
Keep going to latest
2018-10-01 18:15:05 +09:00
Tom Rothamel 866ee50498 Chain translates even if a module isn't loaded.
Fixes #1569.
2018-09-30 14:49:01 -04:00
Andy_kl 1789b5a2ca More correctly check of the block value 2018-09-29 20:50:32 +03:00
Andy_kl bc121ac0cc Added "possible" value for block argument 2018-09-29 20:27:50 +03:00
Andy_kl a2e8a536b4 Added init_priority for register_statement 2018-09-29 20:07:29 +03: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
Andy_kl 715899ade4 Added drop_allowable property for Drag class 2018-09-20 07:13:49 +03:00
Andy_kl d829d1ab2f Added min_overlap property 2018-09-20 04:51:16 +03:00
Andy_kl 2069612eff Fix typo 2018-09-20 04:11:30 +03: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
Alexandre-T 4cc5e00745 Merge remote-tracking branch 'upstream/master' 2018-05-04 19:48:03 +02:00
Alexandre-T 32d4e453e7 French translation of "The Question" game. 2018-05-02 09:23:06 +02:00
664 changed files with 144035 additions and 19676 deletions
-1
View File
@@ -79,7 +79,6 @@ renpy/vc_version.py
doc-web
sphinx/source/inc
sphinx/source/keywords.py
sphinx/source/thequestion.rst
tutorial/game/tutorial_director.rpy
launcher/theme
+8 -7
View File
@@ -11,14 +11,14 @@ 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
-------------
@@ -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
+24
View File
@@ -19,3 +19,27 @@ 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>
Turkish
---------
Translation to the Turkish language. Some terms and abbreviations (especially
those related to coding) are deliberately left untranslated (or the original words
are provided in brackets) to avoid confusion, relying on their common use in
Turkish language and among Turkish developers.
* Arda Güler (WKFO) <ardaguler09@gmail.com>
+2 -1
View File
@@ -11,10 +11,10 @@ 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",
"/home/tom/ab/renpyweb",
]
version = ".".join(str(i) for i in version_tuple)
@@ -103,6 +103,7 @@ for i in links:
os.unlink(i)
os.symlink(short_version, i)
os.chdir("/home/tom/ab/website")
subprocess.check_call("./upload.sh")
+13 -2
View File
@@ -47,12 +47,14 @@ 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")
ap.add_argument("--vc-version-only", action="store_true")
args = ap.parse_args()
@@ -66,6 +68,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 ])
@@ -82,6 +87,9 @@ def main():
with open("renpy/vc_version.py", "w") as f:
f.write("vc_version = {}".format(vc_version))
if args.vc_version_only:
return
try:
reload(sys.modules['renpy.vc_version']) # @UndefinedVariable
except:
@@ -103,6 +111,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.
+2 -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 ###########################################################
+15 -16
View File
@@ -843,7 +843,7 @@ style radio_vbox:
style radio_button:
properties gui.button_properties("radio_button")
foreground "gui/button/check_[prefix_]foreground.png"
foreground "gui/button/radio_[prefix_]foreground.png"
style radio_button_text:
properties gui.button_text_properties("radio_button")
@@ -904,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.")
@@ -1419,16 +1421,18 @@ screen quick_menu():
zorder 100
hbox:
style_prefix "quick"
if quick_menu:
xalign 0.5
yalign 1.0
hbox:
style_prefix "quick"
textbutton _("Back") action Rollback()
textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
textbutton _("Auto") action Preference("auto-forward", "toggle")
textbutton _("Menu") action ShowMenu()
xalign 0.5
yalign 1.0
textbutton _("Back") action Rollback()
textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
textbutton _("Auto") action Preference("auto-forward", "toggle")
textbutton _("Menu") action ShowMenu()
style window:
@@ -1437,7 +1441,7 @@ style window:
style radio_button:
variant "small"
foreground "gui/phone/button/check_[prefix_]foreground.png"
foreground "gui/phone/button/radio_[prefix_]foreground.png"
style check_button:
variant "small"
@@ -1510,8 +1514,3 @@ style slider_pref_vbox:
style slider_pref_slider:
variant "small"
xsize gui.scale(600)
+2 -2
View File
@@ -996,14 +996,14 @@ def GetArgv(optionlist=None, commandlist=None, addoldfile=1, addnewfile=1, addfo
if item[0] == '"':
while item[-1] != '"':
if not tmplist:
raise RuntimeError, "Unterminated quoted argument"
raise RuntimeError("Unterminated quoted argument")
item = item + ' ' + tmplist[0]
del tmplist[0]
item = item[1:-1]
if item[0] == "'":
while item[-1] != "'":
if not tmplist:
raise RuntimeError, "Unterminated quoted argument"
raise RuntimeError("Unterminated quoted argument")
item = item + ' ' + tmplist[0]
del tmplist[0]
item = item[1:-1]
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+25 -16
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -23,24 +23,34 @@ label add_file:
python hide:
import os
import codecs
filename = ""
while True:
filename = interface.input(
_("FILENAME"),
_("Enter the name of the script file to create."),
allow=interface.FILENAME_LETTERS,
cancel=Jump("navigation"),
default=filename,
)
filename = filename.strip()
if not filename:
interface.error(_("The file name may not be empty."), label=None)
continue
filename = interface.input(_("FILENAME"), _("Enter the name of the script file to create."), filename="withslash", cancel=Jump("navigation"))
if "." in filename and not filename.endswith(".rpy"):
interface.error(_("The filename must have the .rpy extension."), label=None)
continue
elif "." not in filename:
filename += ".rpy"
if "." in filename and not filename.endswith(".rpy"):
interface.error(_("The filename must have the .rpy extension."), label="navigation")
elif "." not in filename:
filename += ".rpy"
path = os.path.join(project.current.gamedir, filename)
dir = os.path.dirname(path)
path = os.path.join(project.current.gamedir, filename)
dir = os.path.dirname(path)
if os.path.exists(path):
interface.error(_("The file already exists."), label=None)
continue
if os.path.exists(path):
interface.error(_("The file already exists."), label="navigation")
contents = u"\uFEFF"
contents += _("# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n")
contents += "\n"
break
try:
os.makedirs(dir)
@@ -54,4 +64,3 @@ label add_file:
f.write(contents.encode("utf-8"))
jump navigation_refresh
+32 -75
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -28,7 +28,7 @@ init python:
ANDROID_OK = 5
NO_RAPT_TEXT = _("To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 32-bit Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_SDK_TEXT = _("RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this.")
NO_KEY_TEXT = _("RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore.")
NO_CONFIG_TEXT = _("The current project has not been configured. Use \"Configure\" to configure it before building.")
@@ -45,10 +45,11 @@ init python:
BUILD_AND_INSTALL_TEXT = _("Builds the Android package, and installs it on an Android device connected to your computer.")
BUILD_INSTALL_AND_LAUNCH_TEXT = _("Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device.")
CONNECT_TEXT = _("Connects to an Android device running ADB in TCP/IP mode.")
DISCONNECT_TEXT = _("Disconnects from an Android device running ADB in TCP/IP mode.")
LOGCAT_TEXT = _("Retrieves the log from the Android device and writes it to a file.")
DEBUG_TEXT = _("Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device.")
RELEASE_TEXT = _("Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device.")
import subprocess
import re
@@ -83,6 +84,8 @@ init python:
import rapt.interface
rapt.plat.renpy = True
rapt.plat.translate = __
else:
rapt = None
@@ -95,11 +98,9 @@ init python:
return ANDROID_NO_RAPT
if renpy.windows and not "JAVA_HOME" in os.environ:
return ANDROID_NO_JDK
if not os.path.exists(rapt.plat.path("android-sdk/platforms/" + rapt.plat.target)):
if not os.path.exists(rapt.plat.adb):
return ANDROID_NO_SDK
if not os.path.exists(rapt.plat.path("android.keystore")):
return ANDROID_NO_KEY
if not os.path.exists(rapt.plat.path("local.properties")):
if not os.path.exists(rapt.plat.path("project/local.properties")):
return ANDROID_NO_KEY
if not os.path.exists(os.path.join(project.current.path, ".android.json")):
return ANDROID_NO_CONFIG
@@ -268,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:
@@ -362,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)
@@ -397,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)
@@ -469,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
@@ -556,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.")
@@ -564,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 arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks.")
__("What is the full name of your application? This name will appear in the list of installed applications.")
__("What is the short name of your application? This name will be used in the launcher, and for application shortcuts.")
__("What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot.")
__("The package name may not be empty.")
__("The package name may not contain spaces.")
__("The package name must contain at least one dot.")
__("The package name may not contain two dots in a row, or begin or end with a dot.")
__("Each part of the package name must start with a letter, and contain only letters, numbers, and underscores.")
__("{} is a Java keyword, and can't be used as part of a package name.")
__("What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots.")
__("The version number must contain only numbers and dots.")
__("What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions.")
__("The numeric version must contain only numbers.")
__("How would you like your application to be displayed?")
__("In landscape orientation.")
__("In portrait orientation.")
__("In the user's preferred orientation.")
__("Which app store would you like to support in-app purchasing through?")
__("Google Play.")
__("Amazon App Store.")
__("Both, in one app.")
__("Neither.")
__("Would you like to create an expansion APK?")
__("No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded.")
__("Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)")
__("Do you want to allow the app to access the Internet?")
__("Do you want to automatically update the generated project?")
__("Yes. This is the best choice for most projects.")
__("No. This may require manual updates when Ren'Py or the project configuration changes.")
__("Unknown configuration variable: {}")
__("I'm compiling a short test program, to see if you have a working JDK on your system.")
__("I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue.")
__("The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java.")
__("The JDK is present and working. Good!")
__("The Android SDK has already been unpacked.")
__("Do you accept the Android SDK Terms and Conditions?")
__("I'm downloading the Android SDK. This might take a while.")
__("I'm extracting the Android SDK.")
__("I've finished unpacking the Android SDK.")
__("I'm about to download and install the required Android packages. This might take a while.")
__("I was unable to accept the Android licenses.")
__("I was unable to install the required Android packages.")
__("I've finished installing the required Android packages.")
__("You set the keystore yourself, so I'll assume it's how you want it.")
__("You've already created an Android keystore, so I won't create a new one for you.")
__("I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?")
__("I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?")
__("Please enter your name or the name of your organization.")
__("Could not create android.keystore. Is keytool in your path?")
__("I've finished creating android.keystore. Please back it up, and keep it in a safe place.")
__("It looks like you're ready to start packaging games.")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -317,7 +317,7 @@ def change_icons(oldexe, icofn):
alignment = pe.OPTIONAL_HEADER.SectionAlignment
# print "Alignment is", alignment
# print("Alignment is", alignment)
if len(rsrc) % alignment:
pad = alignment - (len(rsrc) % alignment)
+4 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -51,6 +51,7 @@ init python:
if path:
default_path = path
path = None
else:
try:
default_path = os.path.dirname(os.path.abspath(config.renpy_base))
@@ -94,7 +95,8 @@ init python:
is_default = False
if path is None:
# Path being None or "" means nothing was selected.
if not path:
path = default_path
is_default = True
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -504,7 +504,7 @@ label choose_theme_callable:
call screen choose_theme
python hide:
with interface.error_handling("changing the theme"):
with interface.error_handling(_("changing the theme")):
switch_theme()
return
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+29 -15
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -373,7 +373,7 @@ init python in distribute:
This manages the process of building distributions.
"""
def __init__(self, project, destination=None, reporter=None, packages=None, build_update=True, open_directory=False, noarchive=False, packagedest=None, report_success=True):
def __init__(self, project, destination=None, reporter=None, packages=None, build_update=True, open_directory=False, noarchive=False, packagedest=None, report_success=True, scan=True):
"""
Distributes `project`.
@@ -441,8 +441,9 @@ init python in distribute:
# dictionaries.
data = project.data
self.reporter.info(_("Scanning project files..."))
project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
if scan:
self.reporter.info(_("Scanning project files..."))
project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
if project.dump.get("error", False):
raise Exception("Could not get build data from the project. Please ensure the project runs.")
@@ -523,6 +524,10 @@ init python in distribute:
# Build the mac app and windows exes.
self.add_mac_files()
self.add_windows_files()
self.add_main_py()
# Add the main.py.
self.add_main_py()
# Add generated/special files.
if build['renpy']:
@@ -606,12 +611,12 @@ init python in distribute:
if match(match_name, pattern):
break
else:
print >> self.log, match_name.encode("utf-8"), "doesn't match anything."
print(match_name.encode("utf-8"), "doesn't match anything.", file=self.log)
pattern = None
file_list = None
print >> self.log, match_name.encode("utf-8"), "matches", pattern, "(" + str(file_list) + ")."
print(match_name.encode("utf-8"), "matches", pattern, "(" + str(file_list) + ").", file=self.log)
if file_list is None:
return
@@ -805,6 +810,7 @@ init python in distribute:
self.add_file_list_hash("rapt")
self.add_file_list_hash("renios")
self.add_file_list_hash("web")
tmp_fn = self.temp_filename("renpy.py")
@@ -965,7 +971,7 @@ init python in distribute:
old_exe_fn = os.path.join(config.renpy_base, "renpy.exe")
old_main_fn = os.path.join(config.renpy_base, "lib/windows-i686/renpy.exe")
if os.path.exists(icon_fn):
if os.path.exists(icon_fn) and os.path.exists(old_exe_fn):
exe_fn = self.temp_filename("renpy.exe")
main_fn = self.temp_filename("main.exe")
@@ -979,8 +985,16 @@ init python in distribute:
exe_fn = old_exe_fn
main_fn = old_main_fn
self.add_file(windows, self.exe, exe_fn)
self.add_file(windows, "lib/windows-i686/" + self.exe, main_fn)
if os.path.exists(exe_fn):
self.add_file(windows, self.exe, exe_fn)
self.add_file(windows, "lib/windows-i686/" + self.exe, main_fn)
def add_main_py(self):
if self.build['renpy']:
return
self.add_file("web", "main.py", os.path.join(config.renpy_base, "renpy.py"))
def mark_executable(self):
"""
@@ -1026,7 +1040,7 @@ init python in distribute:
cmd = [ renpy.fsencode(i.format(**kwargs)) for i in command ]
# print "\"" + "\" \"".join(cmd) + "\""
# print("\"" + "\" \"".join(cmd) + "\"")
try:
import sys, os
@@ -1221,7 +1235,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")
@@ -1396,13 +1410,13 @@ init python in distribute:
def dump(self):
for k, v in sorted(self.file_lists.items()):
print
print k + ":"
print()
print(k + ":")
v.sort()
for i in v:
print " ", i.name, "xbit" if i.executable else ""
print(" ", i.name, "xbit" if i.executable else "")
class GuiReporter(object):
"""
@@ -1441,7 +1455,7 @@ init python in distribute:
what = what.replace("[", "{")
what = what.replace("]", "}")
what = what.format(**kwargs)
print what
print(what)
def progress(self, what, done, total, **kwargs):
what = what.replace("[", "{")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -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
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
Binary file not shown.
Binary file not shown.
+2 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -249,6 +249,7 @@ screen front_page_project:
textbutton _("Android") action Jump("android")
textbutton _("iOS") action Jump("ios")
textbutton _("Web") + " " + _("(Beta)") action Jump("web")
textbutton _("Generate Translations") action Jump("translate")
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
+31 -33
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -327,25 +327,6 @@ label new_gui_project:
python:
gui_new = True
project_name = interface.input(
_("PROJECT NAME"),
_("Please enter the name of your project:"),
filename=True,
cancel=Jump("front_page"))
project_name = project_name.strip()
if not project_name:
interface.error(_("The project name may not be empty."))
project_dir = os.path.join(persistent.projects_directory, project_name)
if project.manager.get(project_name) is not None:
interface.error(_("[project_name!q] already exists. Please choose a different project name."), project_name=project_name)
if os.path.exists(project_dir):
interface.error(_("[project_dir!q] already exists. Please choose a different project name."), project_dir=project_dir)
gui_replace_images = True
gui_replace_code = True
gui_update_code = True
@@ -369,20 +350,37 @@ label gui_project_size:
if gui_size == "custom":
gui_width = ""
while True:
gui_width = interface.input(
_("WIDTH"),
_("Please enter the width of your game, in pixels."),
cancel=Jump("front_page"),
allow=interface.DIGITS_LETTERS,
)
gui_width = interface.input(_("WIDTH"), _("Please enter the width of your game, in pixels."), cancel=Jump("front_page"))
try:
gui_width = int(gui_width)
except:
interface.error(_("The width must be a number."), label=None)
continue
break
try:
gui_width = int(gui_width)
except:
interface.error(_("The width must be a number."))
gui_height = ""
while True:
gui_height = interface.input(
_("HEIGHT"),
_("Please enter the height of your game, in pixels."),
cancel=Jump("front_page"),
allow=interface.DIGITS_LETTERS,
)
gui_height = interface.input(_("HEIGHT"), _("Please enter the height of your game, in pixels."), cancel=Jump("front_page"))
try:
gui_height = int(gui_height)
except:
interface.error(_("The height must be a number."))
try:
gui_height = int(gui_height)
except:
interface.error(_("The height must be a number."), label=None)
continue
break
gui_size = (gui_width, gui_height)
@@ -428,11 +426,11 @@ label gui_project_common:
else:
interface.processing(_("Updating the project..."))
with interface.error_handling("creating a new project"):
with interface.error_handling(_("creating a new project")):
gui7.generate_gui(p)
# Activate the project.
with interface.error_handling("activating the new project"):
with interface.error_handling(_("activating the new project")):
project.manager.scan()
project.Select(project.manager.get(project_name))()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -12
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -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()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
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

+35 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -251,7 +251,13 @@ screen launcher_input:
add SPACER
input style "l_default" value ScreenVariableInputValue("value", returnable=True) size 24 xalign 0.5 color INPUT_COLOR
input style "l_default":
value ScreenVariableInputValue("value", returnable=True)
size 24
xalign 0.5
color INPUT_COLOR
allow allow
copypaste True
if filename:
add SPACER
@@ -376,15 +382,28 @@ init python in interface:
As an example of usage::
with interface.error_handling("opening the log file"):
with interface.error_handling(_("opening the log file")):
f = open("log.txt", "w")
"""
store._ignore_action = Jump(label)
yield
store._ignore_action = Jump("front_page")
try:
yield
except Exception as e:
renpy.renpy.error.report_exception(e, editor=False)
def input(title, message, filename=False, sanitize=True, cancel=None, default=""):
error(_("While [what!qt], an error occured:"),
_("[exception!q]"),
what=what,
label=label,
exception=traceback.format_exception_only(type(e), e)[-1][:-1])
import string
DIGITS_LETTERS = string.digits
PROJECT_LETTERS = DIGITS_LETTERS + string.ascii_letters + " _"
FILENAME_LETTERS = PROJECT_LETTERS + "\\/"
TRANSLATE_LETTERS = string.ascii_letters + "_"
def input(title, message, filename=False, sanitize=True, cancel=None, allow=None, default=""):
"""
Requests typewritten input from the user.
"""
@@ -393,7 +412,15 @@ init python in interface:
while True:
rv = renpy.call_screen("launcher_input", title=title, message=message, filename=filename, cancel=cancel, default=rv)
rv = renpy.call_screen(
"launcher_input",
title=title,
message=message,
filename=filename or (allow in [PROJECT_LETTERS, FILENAME_LETTERS]),
allow=allow,
cancel=cancel,
default=rv
)
if sanitize:
if ("[" in rv) or ("{" in rv):
@@ -507,6 +534,3 @@ init python in interface:
"""
return common(_("CHOICE"), store.QUESTION_COLOR, message, choices=choices, selected=selected, **kwargs)
+16 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -58,6 +58,7 @@ init python:
if RENIOS_PATH:
import renios.create
import renios.image
def IOSState():
if not RENIOS_PATH:
@@ -119,6 +120,10 @@ init python:
return os.path.join(persistent.xcode_projects_directory, xcode_name(p.name))
def ios_create(p=None, gui=True):
project.current.update_dump(force=True)
name = project.current.dump.get("name", None)
version = project.current.dump.get("version", None)
dest = xcode_project(p)
@@ -135,7 +140,7 @@ init python:
os.rename(dest, backup)
iface = MobileInterface("ios")
renios.create.create_project(iface, dest)
renios.create.create_project(iface, dest, name, version)
ios_populate(p, gui=gui)
@@ -187,6 +192,15 @@ init python:
os.unlink(py_fn)
ios_image(p, "ios-icon.png", "Media.xcassets/AppIcon.appiconset", True)
ios_image(p, "ios-launchimage.png", "Media.xcassets/LaunchImage.launchimage", False)
def ios_image(p, source, destination, scale):
source = os.path.join(p.path, source)
destination = os.path.join(xcode_project(p), destination)
renios.image.generate(source, destination, scale)
def launch_xcode():
dist = xcode_project(None)
+49 -15
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -23,23 +23,57 @@ init python:
def find_itch_butler():
import os
if renpy.windows:
rv = os.path.join(os.environ.get("APPDATA", ""), "Roaming", "itch", "bin", "butler.exe")
if not os.path.exists(rv):
rv = os.path.join(os.environ.get("APPDATA", ""), "itch", "bin", "butler.exe")
platform = "windows-amd64"
exe = "butler.exe"
elif renpy.macintosh:
rv = os.path.join(os.environ.get("HOME", ""), "Library", "Application Support", "itch", "bin", "butler")
plaform = "darwin-amd64"
exe = "butler"
else:
rv = os.path.join(os.environ.get("HOME", ""), ".config", "itch", "bin", "butler")
platform = "linux-amd64"
exe = "butler"
if not os.path.exists(rv):
return None
dn = os.path.join(config.renpy_base, "tmp", "butler-" + platform)
zip = os.path.join(dn, "butler.zip")
exe = os.path.join(dn, exe)
if os.path.exists(exe):
return exe
interface.processing(_("Downloading the itch.io butler."))
try:
os.makedirs(dn)
except:
pass
import urllib2
import ssl
with interface.error_handling(_("Downloading the itch.io butler.")):
context = ssl._create_unverified_context()
response = urllib2.urlopen("https://broth.itch.ovh/butler/{}/LATEST/archive/default".format(platform), context=context)
with open(zip, "wb") as f:
while True:
data = response.read(1024 * 1024)
if not data:
break
f.write(data)
import zipfile
with zipfile.ZipFile(zip) as zf:
zf.extractall(dn)
try:
os.chmod(exe, 0o755)
except:
pass
return exe
return rv
label itch:
@@ -48,6 +82,8 @@ label itch:
python hide:
butler = find_itch_butler()
build = project.current.dump["build"]
destination = build["destination"]
@@ -100,8 +136,6 @@ label itch:
label="build_distributions"
)
butler = find_itch_butler()
if not butler:
interface.error(
_("The butler program was not found."),
+3 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -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):
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+42 -37
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -62,28 +62,52 @@ label new_project:
if persistent.projects_directory is None:
$ interface.error(_("The projects directory could not be set. Giving up."))
if not persistent.legacy:
python:
if persistent.legacy:
python:
check_language_support()
gui_kind = interface.choice(
_("Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."),
[ ( 'new_gui_project', _("New GUI Interface") ), ( 'new_theme_project', _("Legacy Theme Interface")) ],
"new_gui_project",
cancel=Jump("front_page"),
)
else:
new_project_language = (_preferences.language or "english").title()
gui_kind = "new_gui_project"
# When translating this, feel free to replace [new_project_language] with the translation of your language.
$ interface.info(_("You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."))
jump new_gui_project
# When translating this, feel free to replace [new_project_language] with the translation of your language.
interface.info(_("You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."))
python:
check_language_support()
gui_kind = interface.choice(
_("Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."),
[ ( 'new_gui_project', _("New GUI Interface") ), ( 'new_theme_project', _("Legacy Theme Interface")) ],
"new_gui_project",
cancel=Jump("front_page"),
project_name = ""
while True:
project_name = interface.input(
_("PROJECT NAME"),
_("Please enter the name of your project:"),
allow=interface.PROJECT_LETTERS,
cancel=Jump("front_page"),
default=project_name,
)
renpy.jump(gui_kind)
project_name = project_name.strip()
if not project_name:
interface.error(_("The project name may not be empty."), label=None)
continue
project_dir = os.path.join(persistent.projects_directory, project_name)
if project.manager.get(project_name) is not None:
interface.error(_("[project_name!q] already exists. Please choose a different project name."), project_name=project_name, label=None)
continue
if os.path.exists(project_dir):
interface.error(_("[project_dir!q] already exists. Please choose a different project name."), project_dir=project_dir, label=None)
continue
break
jump expression gui_kind
screen select_template:
@@ -125,25 +149,6 @@ screen select_template:
label new_theme_project:
python hide:
project_name = interface.input(
_("PROJECT NAME"),
_("Please enter the name of your project:"),
filename=True,
cancel=Jump("front_page"))
project_name = project_name.strip()
if not project_name:
interface.error(_("The project name may not be empty."))
project_dir = os.path.join(persistent.projects_directory, project_name)
if project.manager.get(project_name) is not None:
interface.error(_("[project_name!q] already exists. Please choose a different project name."), project_name=project_name)
if os.path.exists(project_dir):
interface.error(_("[project_dir!q] already exists. Please choose a different project name."), project_dir=project_dir)
if len(project.manager.templates) == 1:
template = project.manager.templates[0]
else:
@@ -151,7 +156,7 @@ label new_theme_project:
template_path = template.path
with interface.error_handling("creating a new project"):
with interface.error_handling(_("creating a new project")):
shutil.copytree(template_path, project_dir, symlinks=False)
# Delete the tmp directory, if it exists.
@@ -179,7 +184,7 @@ label new_theme_project:
shutil.copy(src, dst)
# Activate the project.
with interface.error_handling("activating the new project"):
with interface.error_handling(_("activating the new project")):
project.manager.scan()
project.Select(project.manager.get(project_name))()
+7 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -286,6 +286,7 @@ init python:
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)
@@ -296,6 +297,9 @@ init python:
build.classify_renpy("renios/version.txt", "renios")
build.classify_renpy("renios/", "renios")
build.classify_renpy("web/game.zip", None)
build.classify_renpy("web/**", "web")
build.classify_renpy("**.old", None)
build.classify_renpy("**.new", None)
build.classify_renpy("**.bak", None)
@@ -366,6 +370,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)
@@ -410,6 +415,7 @@ init python:
build.package("rapt", "zip", "rapt", dlc=True)
build.package("renios", "zip", "renios", dlc=True)
build.package("web", "zip", "web", dlc=True)
# Enable the special launcher translation mode.
+3 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -267,7 +267,7 @@ init python in distribute:
def mkdir(self, path):
if not os.path.isdir(path):
os.mkdir(path, 0755)
os.makedirs(path, 0755)
def __init__(self, path):
self.path = path
@@ -278,8 +278,7 @@ init python in distribute:
# If this is not a directory, ensure all parent directories
# have been created
if not os.path.isdir(os.path.dirname(fn)):
os.makedirs(os.path.dirname(fn), 0755)
self.mkdir(os.path.dirname(fn))
shutil.copy2(path, fn)
if xbit:
+25 -25
View File
@@ -576,7 +576,7 @@ class UnicodeStringWrapperPostProcessor:
try:
data = self.pe.get_data(self.rva_ptr, 2)
except PEFormatError, e:
except PEFormatError as e:
return False
if len(data)<2:
@@ -821,7 +821,7 @@ class Structure:
if key == 'TimeDateStamp' or key == 'dwTimeStamp':
try:
val_str += ' [%s UTC]' % time.asctime(time.gmtime(val))
except exceptions.ValueError, e:
except exceptions.ValueError as e:
val_str += ' [INVALID TIME]'
else:
val_str = ''.join(filter(lambda c:c != '\0', str(val)))
@@ -890,7 +890,7 @@ class SectionStructure(Structure):
return self.VirtualAddress <= rva < self.VirtualAddress + size
def contains(self, rva):
#print "DEPRECATION WARNING: you should use contains_rva() instead of contains()"
#print("DEPRECATION WARNING: you should use contains_rva() instead of contains()")
return self.contains_rva(rva)
@@ -1373,7 +1373,7 @@ class PE:
try:
structure.__unpack__(data)
except PEFormatError, err:
except PEFormatError as err:
self.__warnings.append(
'Corrupt header "%s" at file offset %d. Exception: %s' % (
format[0], file_offset, str(err)) )
@@ -2115,7 +2115,7 @@ class PE:
for idx in xrange(size/dbg_size):
try:
data = self.get_data(rva+dbg_size*idx, dbg_size)
except PEFormatError, e:
except PEFormatError as e:
self.__warnings.append(
'Invalid debug information. Can\'t read ' +
'data at RVA: 0x%x' % rva)
@@ -2169,7 +2169,7 @@ class PE:
# If the RVA is invalid all would blow up. Some EXEs seem to be
# specially nasty and have an invalid RVA.
data = self.get_data(rva, Structure(self.__IMAGE_RESOURCE_DIRECTORY_format__).sizeof() )
except PEFormatError, e:
except PEFormatError as e:
self.__warnings.append(
'Invalid resources directory. Can\'t read ' +
'directory data at RVA: 0x%x' % rva)
@@ -2229,7 +2229,7 @@ class PE:
entry_name = UnicodeStringWrapperPostProcessor(self, ustr_offset)
strings_to_postprocess.append(entry_name)
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the resources directory, ' +
'attempting to read entry name. ' +
@@ -2330,7 +2330,7 @@ class PE:
# If the RVA is invalid all would blow up. Some EXEs seem to be
# specially nasty and have an invalid RVA.
data = self.get_data(rva, Structure(self.__IMAGE_RESOURCE_DATA_ENTRY_format__).sizeof() )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing a resource directory data entry, ' +
'the RVA is invalid: 0x%x' % ( rva ) )
@@ -2409,7 +2409,7 @@ class PE:
ustr_offset = version_struct.OffsetToData + versioninfo_struct.sizeof()
try:
versioninfo_string = self.get_string_u_at_rva( ustr_offset )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the version information, ' +
'attempting to read VS_VERSION_INFO string. Can\'t ' +
@@ -2489,7 +2489,7 @@ class PE:
stringfileinfo_offset + versioninfo_struct.sizeof() )
try:
stringfileinfo_string = self.get_string_u_at_rva( ustr_offset )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the version information, ' +
'attempting to read StringFileInfo string. Can\'t ' +
@@ -2535,7 +2535,7 @@ class PE:
stringtable_struct.sizeof() )
try:
stringtable_string = self.get_string_u_at_rva( ustr_offset )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the version information, ' +
'attempting to read StringTable string. Can\'t ' +
@@ -2570,7 +2570,7 @@ class PE:
try:
key = self.get_string_u_at_rva( ustr_offset )
key_offset = self.get_offset_from_rva( ustr_offset )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the version information, ' +
'attempting to read StringTable Key string. Can\'t ' +
@@ -2586,7 +2586,7 @@ class PE:
value = self.get_string_u_at_rva( ustr_offset,
max_length = string_struct.ValueLength )
value_offset = self.get_offset_from_rva( ustr_offset )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the version information, ' +
'attempting to read StringTable Value string. ' +
@@ -2661,7 +2661,7 @@ class PE:
var_struct.sizeof() )
try:
var_string = self.get_string_u_at_rva( ustr_offset )
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the version information, ' +
'attempting to read VarFileInfo Var string. ' +
@@ -2830,7 +2830,7 @@ class PE:
# If the RVA is invalid all would blow up. Some PEs seem to be
# specially nasty and have an invalid RVA.
data = self.get_data( rva, Structure(self.__IMAGE_DELAY_IMPORT_DESCRIPTOR_format__).sizeof() )
except PEFormatError, e:
except PEFormatError as e:
self.__warnings.append(
'Error parsing the Delay import directory at RVA: 0x%x' % ( rva ) )
break
@@ -2852,7 +2852,7 @@ class PE:
import_desc.pINT,
import_desc.pIAT,
None)
except PEFormatError, e:
except PEFormatError as e:
self.__warnings.append(
'Error parsing the Delay import directory. ' +
'Invalid import data at RVA: 0x%x' % ( rva ) )
@@ -2883,7 +2883,7 @@ class PE:
# If the RVA is invalid all would blow up. Some EXEs seem to be
# specially nasty and have an invalid RVA.
data = self.get_data(rva, Structure(self.__IMAGE_IMPORT_DESCRIPTOR_format__).sizeof() )
except PEFormatError, e:
except PEFormatError as e:
self.__warnings.append(
'Error parsing the Import directory at RVA: 0x%x' % ( rva ) )
break
@@ -2903,7 +2903,7 @@ class PE:
import_desc.OriginalFirstThunk,
import_desc.FirstThunk,
import_desc.ForwarderChain)
except PEFormatError, excp:
except PEFormatError as excp:
self.__warnings.append(
'Error parsing the Import directory. ' +
'Invalid Import data at RVA: 0x%x' % ( rva ) )
@@ -2936,7 +2936,7 @@ class PE:
imported_symbols = []
imports_section = self.get_section_by_rva(first_thunk)
if not imports_section:
raise PEFormatError, 'Invalid/corrupt imports.'
raise PEFormatError('Invalid/corrupt imports.')
# Import Lookup Table. Contains ordinals or pointers to strings.
@@ -2991,7 +2991,7 @@ class PE:
# Get the Hint
imp_hint = self.get_word_from_data(data, 0)
imp_name = self.get_string_at_rva(table[idx].AddressOfData+2)
except PEFormatError, e:
except PEFormatError as e:
pass
imp_address = first_thunk+self.OPTIONAL_HEADER.ImageBase+idx*4
@@ -3032,7 +3032,7 @@ class PE:
try:
data = self.get_data( rva, Structure(format).sizeof() )
except PEFormatError, e:
except PEFormatError as e:
self.__warnings.append(
'Error parsing the import table. ' +
'Invalid data at RVA: 0x%x' % ( rva ) )
@@ -3137,7 +3137,7 @@ class PE:
end = None
return self.header[rva:end]
raise PEFormatError, 'data at RVA can\'t be fetched. Corrupt header?'
raise PEFormatError('data at RVA can\'t be fetched. Corrupt header?')
return s.get_data(rva, length)
@@ -3160,7 +3160,7 @@ class PE:
s = self.get_section_by_rva(rva)
if not s:
raise PEFormatError, 'data at RVA can\'t be fetched. Corrupt header?'
raise PEFormatError('data at RVA can\'t be fetched. Corrupt header?')
return s.get_offset_from_rva(rva)
@@ -3207,7 +3207,7 @@ class PE:
# If the RVA is invalid all would blow up. Some EXEs seem to be
# specially nasty and have an invalid RVA.
self.get_data(rva, 2)
except PEFormatError, e:
except PEFormatError as e:
return None
#length = struct.unpack('<H', data)[0]
@@ -3744,7 +3744,7 @@ class PE:
offset = self.get_physical_by_rva(rva)
if not offset:
raise False
return False
return self.set_bytes_at_offset(offset, data)
+1 -18
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -129,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
+2 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -131,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"]
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -109,10 +109,10 @@ init 1 python:
SEPARATOR = Frame(PATTERN, 0, 0, tile=True, ymaximum=5, yalign=1.0)
SEPARATOR2 = Frame(PATTERN, 0, 0, tile=True, ymaximum=10, yalign=1.0)
SPACER_HEIGHT = 12
SPACER_HEIGHT = 8
SPACER = Null(height=SPACER_HEIGHT)
HALF_SPACER_HEIGHT = 6
HALF_SPACER_HEIGHT = 4
HALF_SPACER = Null(height=HALF_SPACER_HEIGHT)
# DIVIDING THE SCREEN
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -47,4 +47,8 @@ if __name__ == "__main__":
root.withdraw()
result = askdirectory(initialdir=sys.argv[1], parent=root, title="Select Ren'Py Projects Directory")
if result == ():
result = ""
sys.stdout.write(result.encode("utf8"))
+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
+4 -4
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."
@@ -606,8 +606,8 @@ translate arabic strings:
new "خطأ"
# interface.rpy:356
old "While [what!q], an error occured:"
new "حصل خطأ أثناء [what!q]"
old "While [what!qt], an error occured:"
new "حصل خطأ أثناء [what!qt]"
# interface.rpy:356
old "[exception!q]"
+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."
+4 -4
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."
@@ -606,8 +606,8 @@ translate finnish strings:
new "VIRHE"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Kun [what!q], tapahtui virhe:"
old "While [what!qt], an error occured:"
new "Kun [what!qt], tapahtui virhe:"
# interface.rpy:356
old "[exception!q]"
+56 -7
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?"
@@ -207,15 +207,15 @@ translate french strings:
# 00library.rpy:142
old "Self-voicing disabled."
new "Vocalisation automatique désactivée."
new "Lecture vocale désactivée."
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Vocalisation du contenu du presse-papier activée. "
new "Lecture vocale vers presse-papier activée. "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Vocalisation automatique activée. "
new "Lecture vocale activée. "
# 00library.rpy:179
old "Skip Mode"
@@ -227,15 +227,15 @@ translate french strings:
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Vocalisation du contenu du presse-papier activée. Pressez « Maj+C » pour la désactiver."
new "Lecture vocale vers presse-papier activée. Pressez « Maj+C » pour la désactiver."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "La vocalisation automatique veut dire « [renpy.display.tts.last] ». Pressez « Alt+Maj+V » pour la désactiver."
new "La lecture vocale veut dire « [renpy.display.tts.last] ». Pressez « Alt+Maj+V » pour la désactiver."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Vocalisation automatique activée. Pressez « v » pour la désactiver."
new "Lecture vocale activée. Pressez « v » pour la désactiver."
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
@@ -333,3 +333,52 @@ translate french strings:
old "return"
new "retour"
translate french strings:
# renpy/common/00accessibility.rpy:76
old "Font Override"
new "Forcer la police"
# renpy/common/00accessibility.rpy:80
old "Default"
new "Par défaut"
# renpy/common/00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:94
old "Text Size Scaling"
new "Redimensionnement du Texte"
# renpy/common/00accessibility.rpy:100
old "Reset"
new "Réinitaliser"
# renpy/common/00accessibility.rpy:105
old "Line Spacing Scaling"
new "Espacement Vertical"
# renpy/common/00accessibility.rpy:117
old "Self-Voicing"
new "Lecture vocale"
# renpy/common/00accessibility.rpy:121
old "Off"
new "Désactivée"
# renpy/common/00accessibility.rpy:125
old "Text-to-speech"
new "Synthèse vocale"
# renpy/common/00accessibility.rpy:129
old "Clipboard"
new "Presse-papier"
# renpy/common/00accessibility.rpy:133
old "Debug"
new "Débogage"
+39 -1
View File
@@ -171,9 +171,47 @@ 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."
translate french strings:
# renpy/common/_errorhandling.rpym:542
old "Copy BBCode"
new "Copier en BBCode"
# renpy/common/_errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copie le fichier traceback.txt dans le presse-papier au format BBcode pour les forums tels que https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:546
old "Copy Markdown"
new "Copier en Markdown"
# renpy/common/_errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Copie le fichier traceback.txt dans le presse-papier au format Markdown pour Discord."
# renpy/common/_errorhandling.rpym:606
old "Ignores the exception, allowing you to continue."
new "Ignore lexception, cela vous autorise à poursuivre"
# renpy/common/_errorhandling.rpym:617
old "Console"
new "Console"
# renpy/common/_errorhandling.rpym:619
old "Opens a console to allow debugging the problem."
new "Ouvre une console pour débuguer le problème."
# renpy/common/_errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Copie le fichier errors.txt dans le presse-papier au format BBcode pour les forums tels que https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "Copie le fichier errors.txt dans le presse-papier au format Markdown pour Discord."
+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
+23 -24
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."
@@ -606,8 +606,8 @@ translate french strings:
new "ERREUR"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Pendant que [what!q], une erreur est survenue :"
old "While [what!qt], an error occured:"
new "Pendant que [what!qt], une erreur est survenue :"
# interface.rpy:356
old "[exception!q]"
@@ -979,7 +979,7 @@ translate french strings:
# project.rpy:597
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
new "Choisissez le répertoire de projets avec le sélectionneur de fichier.\n{b}Il se peut que le sélectionneur de fichier 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."
+7 -8
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"
@@ -299,7 +299,7 @@ translate french strings:
# screens.rpy:744
old "Rollback Side"
new "Sens dannulation"
new "Rembobinage côté"
# screens.rpy:745
old "Disable"
@@ -495,7 +495,7 @@ translate french strings:
# screens.rpy:1062
old "Molette vers le haut\nBouton de retour en arrière"
new "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClic du côté rembobinage"
# screens.rpy:1066
old "Mouse Wheel Down"
@@ -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."
+33 -21
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..."
@@ -606,8 +614,8 @@ translate german strings:
new "FEHLER"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Während [what!q] ist ein Fehler aufgetreten:"
old "While [what!qt], an error occured:"
new "Während [what!qt] ist ein Fehler aufgetreten:"
# interface.rpy:356
old "[exception!q]"
@@ -879,7 +887,7 @@ translate german strings:
# preferences.rpy:94
old "Projects directory: [text]"
new "Projects directory: [text]"
new "Projektverzeichnis: [text]"
# preferences.rpy:96
old "Not Set"
@@ -891,7 +899,7 @@ translate german strings:
# preferences.rpy:117
old "Text editor: [text]"
new "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."
+4 -4
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."
@@ -606,8 +606,8 @@ translate greek strings:
new "ΣΦΑΛΜΑ"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Ενόσω [what!q], συνέβη ένα σφάλμα:"
old "While [what!qt], an error occured:"
new "Ενόσω [what!qt], συνέβη ένα σφάλμα:"
# interface.rpy:356
old "[exception!q]"
+1 -1
View File
@@ -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
+5 -6
View File
@@ -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."
@@ -606,8 +606,8 @@ translate indonesian strings:
new "ERROR"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Kesalahan terjadi ketika : [what!q] adalah :"
old "While [what!qt], an error occured:"
new "Kesalahan terjadi ketika : [what!qt] adalah :"
# interface.rpy:356
old "[exception!q]"
@@ -1253,7 +1253,7 @@ translate indonesian strings:
new "Navigasi: [project.current.display_name!q]"
# new_project.rpy:71
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
old "You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."
new "Kamu akan membuat bahasa proyek : [new_project_language]. Ganti bahasa launcher di pengaturan untuk membuat proyek dalam bahasa lain."
# preferences.rpy:187
@@ -1271,4 +1271,3 @@ translate indonesian strings:
# translations.rpy:343
old "Extract Dialogue: [project.current.display_name!q]"
new "Extrak Dialog: [project.current.display_name!q]"
+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
+4 -4
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."
@@ -606,8 +606,8 @@ translate italian strings:
new "ERRORE"
# interface.rpy:356
old "While [what!q], an error occured:"
new "Durante [what!q], si é verificato un errore:"
old "While [what!qt], an error occured:"
new "Durante [what!qt], si é verificato un errore:"
# interface.rpy:356
old "[exception!q]"
+80
View File
@@ -694,3 +694,83 @@ translate japanese strings:
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "イメージキャッシュ: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# renpy/common/00accessibility.rpy:76
old "Font Override"
new "フォントオーバーライド"
# renpy/common/00accessibility.rpy:80
old "Default"
new "デフォルト"
# renpy/common/00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:94
old "Text Size Scaling"
new "テキストサイズのスケーリング"
# renpy/common/00accessibility.rpy:100
old "Reset"
new "リセット"
# renpy/common/00accessibility.rpy:105
old "Line Spacing Scaling"
new "行間のスケーリング"
# renpy/common/00accessibility.rpy:117
old "Self-Voicing"
new "セルフボイシング"
# renpy/common/00accessibility.rpy:121
old "Off"
new "オフ"
# renpy/common/00accessibility.rpy:125
old "Text-to-speech"
new "テキストを読む"
# renpy/common/00accessibility.rpy:129
old "Clipboard"
new "クリップボード"
# renpy/common/00accessibility.rpy:133
old "Debug"
new "デバッグ"
# renpy/common/00preferences.rpy:430
old "font transform"
new "フォント変換"
# renpy/common/00preferences.rpy:433
old "font size"
new "フォントサイズ"
# renpy/common/00preferences.rpy:441
old "font line spacing"
new "フォントの行間"
# renpy/common/_developer/developer.rpym:63
old "Image Attributes"
new "画像属性"
# renpy/common/_developer/developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (hidden)"
# renpy/common/_developer/developer.rpym:94
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:154
old "Hide deleted"
new "消去済みを隠す"
# renpy/common/_developer/developer.rpym:154
old "Show deleted"
new "消去済みを表示する"
+8
View File
@@ -177,3 +177,11 @@ translate japanese strings:
old "jump <label>: jumps to label"
new "jump <ラベル>: ラベルにジャンプ"
# renpy/common/00console.rpy:685
old "short: Shorten the representation of objects on the console (default)."
new "short: コンソール上のオブジェクトを短く表現する(デフォルト)"
# renpy/common/00console.rpy:690
old "long: Print the full representation of objects on the console."
new "long: コンソール上のオブジェクトを全て表現する"
+24
View File
@@ -235,3 +235,27 @@ translate japanese strings:
old "Tearing"
new "ティアリング"
# renpy/common/_errorhandling.rpym:542
old "Copy BBCode"
new "BBCode でコピー"
# renpy/common/_errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "クリップボードに traceback.txt を https://lemmasoft.renai.us/ 等のフォーラムに適した BBcode 形式でコピーする。"
# renpy/common/_errorhandling.rpym:546
old "Copy Markdown"
new "Markdown でコピー"
# renpy/common/_errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "クリップボードに traceback.txt を Discord に適した Markdown 形式でコピーする。"
# renpy/common/_errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "クリップボードに errors.txt を https://lemmasoft.renai.us/ 等のフォーラムに適した BBcode 形式でコピーする。"
# renpy/common/_errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "クリップボードに errors.txt を Discord に適した Markdown 形式でコピーする。"
+1 -1
View File
@@ -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
+384 -9
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."
@@ -51,7 +51,7 @@ translate japanese strings:
# android.rpy:35
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルド & インストール」を選択し、ビルド後そのデバイスにインストールしてください。"
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルドインストール」を選択し、そのデバイスにインストールしてください。"
# android.rpy:37
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
@@ -135,7 +135,7 @@ translate japanese strings:
# android.rpy:365
old "Configure"
new "設定"
new "構成の設定"
# android.rpy:369
old "Build Package"
@@ -143,7 +143,7 @@ translate japanese strings:
# android.rpy:373
old "Build & Install"
new "ビルド & インストール"
new "ビルドインストール"
# android.rpy:377
old "Build, Install & Launch"
@@ -606,8 +606,8 @@ translate japanese strings:
new "エラー"
# interface.rpy:356
old "While [what!q], an error occured:"
new "[what!q] 中にエラーが発生しました:"
old "While [what!qt], an error occured:"
new "[what!qt] 中にエラーが発生しました:"
# interface.rpy:356
old "[exception!q]"
@@ -623,7 +623,7 @@ translate japanese strings:
# interface.rpy:386
old "File and directory names must consist of ASCII characters."
new "ファイル、ディレクトリー名はアスキーコードの文字列で構成される必要があります。"
new "ファイル、ディレクトリー名はアスキーコードの文字列でなければなりません。"
# interface.rpy:454
old "PROCESSING"
@@ -1221,7 +1221,7 @@ translate japanese strings:
new "ナビゲーション: [project.current.display_name!q]"
# new_project.rpy:71
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
old "You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."
new "日本語のプロジェクトを作成します。別の言語のプロジェクトを作成するには、設定でランチャーの言語を変更してください。"
# preferences.rpy:187
@@ -1322,3 +1322,378 @@ translate japanese strings:
old "Actions"
new "アクション"
translate japanese strings:
# game/add_file.rpy:37
old "The file name may not be empty."
new "ファイル名が与えられていません。"
# game/android.rpy:31
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "ウィンドウズでアンドロイドパッケージをビルドするには、 64-bit/x64 Java 8 Development Kit が必要になります。 JDK は JRE とは違うもので、Java には含まれていません。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}から JDK をダンロードしてインストールし{/a}、それから Ren'Py ランチャーを再起動してください。"
# game/android.rpy:50
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
new "Android Studio からアクセスできるデバッグビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
# game/android.rpy:51
old "Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device."
new "ストアへアップロード可能なリリースビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
# game/androidstrings.rpy:7
old "{} is not a directory."
new "{} はディレクトリーではありません。"
# game/androidstrings.rpy:8
old "{} does not contain a Ren'Py game."
new "{} に Ren'Py のゲームは含まれていません。"
# game/androidstrings.rpy:9
old "Run configure before attempting to build the app."
new "アプリをビルドする前に構成を変更する。"
# game/androidstrings.rpy:10
old "Google Play support is enabled, but build.google_play_key is not defined."
new "Google Play サポートは有効になりましたが、 build.google_play_key が定義されていません。"
# game/androidstrings.rpy:11
old "Updating project."
new "プロジェクトを更新しています。"
# game/androidstrings.rpy:12
old "Creating assets directory."
new "アセットディレクトリーを作成しています"
# game/androidstrings.rpy:13
old "Creating expansion file."
new "拡張ファイルを作成しています。"
# game/androidstrings.rpy:14
old "Packaging internal data."
new "内部データをパッケージングしています。"
# game/androidstrings.rpy:15
old "I'm using Gradle to build the package."
new "パッケージのビルドに Gradle を使用しています。"
# game/androidstrings.rpy:16
old "Uploading expansion file."
new "拡張ファイルをアップロードしています。"
# game/androidstrings.rpy:17
old "The build seems to have failed."
new "ビルドに失敗したようです"
# game/androidstrings.rpy:18
old "Launching app."
new "アプリを起動しています。"
# game/androidstrings.rpy:19
old "The build seems to have succeeded."
new "ビルドに成功したようです。"
# game/androidstrings.rpy:20
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
new "arm64-v8a version は新しいアンドロイドデバイスで動きます。 armeabi-v7a version は古いデバイスで動きます。 the x86_64 version はシミュレーターやクロームブックで動きます。"
# game/androidstrings.rpy:21
old "What is the full name of your application? This name will appear in the list of installed applications."
new "アプリのフルネームはなんですか? フルネームはインストール済みアプリの一覧に表示されます。"
# game/androidstrings.rpy:22
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
new "アプリのショートネームは何ですか? ショートネームはランチャーやショートカットで使われます。"
# game/androidstrings.rpy:23
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
new "パッケージ名はなんですか?\n\nこれは通常 com.domain.program や com.domain.email.program の形を取ります。 ASCII 文字とドットのみで構成され、最低一つのドットを含まなければなりません。"
# game/androidstrings.rpy:24
old "The package name may not be empty."
new "パッケージ名が与えられていません。"
# game/androidstrings.rpy:25
old "The package name may not contain spaces."
new "パッケージ名はスペースを含んではいけません。"
# game/androidstrings.rpy:26
old "The package name must contain at least one dot."
new "パッケージ名は最低一つのドットを含まなければなりません。"
# game/androidstrings.rpy:27
old "The package name may not contain two dots in a row, or begin or end with a dot."
new "パッケージ名は2つのドットが連続したり、最初や最後がドットになってはいけません。"
# game/androidstrings.rpy:28
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
new "パッケージ名の各部分は文字から始めまり、文字・数字・アンダースコアのみを使用しなければなりません"
# game/androidstrings.rpy:29
old "{} is a Java keyword, and can't be used as part of a package name."
new "{} は Java のキーワードのため、パッケージ名に使用することはできません。."
# game/androidstrings.rpy:30
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
new "アプリケーションのバージョンはなんですか?\n\nバージョンは他の人に分かりやすい名前にします。数字とドットのみが使用できます。"
# game/androidstrings.rpy:31
old "The version number must contain only numbers and dots."
new "バージョンナンバーは数字とドットのみが使用できます。"
# game/androidstrings.rpy:32
old "What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions."
new "バージョンコードは何ですか?\n\nこれは正の整数で、バージョンが上がるごとに増えていきます。"
# game/androidstrings.rpy:33
old "The numeric version must contain only numbers."
new "バージョンコードは数字のみが使用できます。"
# game/androidstrings.rpy:34
old "How would you like your application to be displayed?"
new "どのようにアプリケーションを表示したいですか?"
# game/androidstrings.rpy:35
old "In landscape orientation."
new "ランドスケープ(横向き)"
# game/androidstrings.rpy:36
old "In portrait orientation."
new "ポートレイト(縦向き)"
# game/androidstrings.rpy:37
old "In the user's preferred orientation."
new "ユーザーが選択した向き"
# game/androidstrings.rpy:38
old "Which app store would you like to support in-app purchasing through?"
new "アプリ内課金をどのアプリストアに対応させますか?"
# game/androidstrings.rpy:39
old "Google Play."
new "Google Play"
# game/androidstrings.rpy:40
old "Amazon App Store."
new "Amazon App Store"
# game/androidstrings.rpy:41
old "Both, in one app."
new "一つのアプリで両方とも"
# game/androidstrings.rpy:42
old "Neither."
new "どちらも対応させない"
# game/androidstrings.rpy:43
old "Would you like to create an expansion APK?"
new "APK 拡張ファイルを作成しますか?"
# game/androidstrings.rpy:44
old "No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded."
new "いいえ。Google Play では100MBのサイズ制限がありますが、他のストアを通したり、直接配布することが可能です。"
# game/androidstrings.rpy:45
old "Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)"
new "はい。2GBのサイズまで作成できますが、 Google Play 以外では動きません。(ドキュメンテーションを参照してください。)"
# game/androidstrings.rpy:46
old "Do you want to allow the app to access the Internet?"
new "アプリのインターネット接続を許可しますか?"
# game/androidstrings.rpy:47
old "Do you want to automatically update the generated project?"
new "作成したプロジェクトを自動的に更新させますか?"
# game/androidstrings.rpy:48
old "Yes. This is the best choice for most projects."
new "はい。多くのプロジェクトで最良の選択です。"
# game/androidstrings.rpy:49
old "No. This may require manual updates when Ren'Py or the project configuration changes."
new "いいえ。Ren'Py やプロジェクトの構成が変更されるごとに、手動でアップデートする必要があります。"
# game/androidstrings.rpy:50
old "Unknown configuration variable: {}"
new "未知の構成変数: {}"
# game/androidstrings.rpy:51
old "I'm compiling a short test program, to see if you have a working JDK on your system."
new "小さなテストプログラムをコンパイルして、あなたのシステムで JDK が動作するか確認しています。"
# game/androidstrings.rpy:52
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue."
new "テストファイルのコンパイルに javac が利用できません。Java Development Kit をダウンロードしていないなら、\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードしてください。 JDK は JRE とは違うもので、Java には含まれていません。JDK がなければ継続できません。"
# game/androidstrings.rpy:53
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
new "あなたのコンピューターにある Java のバージョンは JDK 8 ではないようです。JDK 8 は Android SDK がサポートする唯一のバージョンです。JDK 8 は:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードできます。 異なるバージョンの JAVA を使う場合は、JAVA_HOME の環境変数を設定します。"
# game/androidstrings.rpy:54
old "The JDK is present and working. Good!"
new "JDK が動作することを確認しました。"
# game/androidstrings.rpy:55
old "The Android SDK has already been unpacked."
new "Android SDK の解凍は完了しています。"
# game/androidstrings.rpy:56
old "Do you accept the Android SDK Terms and Conditions?"
new "Android SDK の契約内容・条件を承諾しますか?"
# game/androidstrings.rpy:57
old "I'm downloading the Android SDK. This might take a while."
new "Android SDK をダウンロードしています。この処理にはしばらくかかります。"
# game/androidstrings.rpy:58
old "I'm extracting the Android SDK."
new "Android SDK を解凍しています。"
# game/androidstrings.rpy:59
old "I've finished unpacking the Android SDK."
new "Android SDK の解凍を完了しました。"
# game/androidstrings.rpy:60
old "I'm about to download and install the required Android packages. This might take a while."
new "必要な Android パッケージをダウンロードしてインストールしようとしています。この処理にはしばらくかかります。"
# game/androidstrings.rpy:61
old "I was unable to accept the Android licenses."
new "Android ライセンスを承諾出来ませんでした。"
# game/androidstrings.rpy:62
old "I was unable to install the required Android packages."
new "必要な Android パッケージをインストールできませんでした。"
# game/androidstrings.rpy:63
old "I've finished installing the required Android packages."
new "必要な Android パッケージのインストールが終了しました。"
# game/androidstrings.rpy:64
old "You set the keystore yourself, so I'll assume it's how you want it."
new "keystore が設定されているため、あなた自身で設定したいのだと判断しました。"
# game/androidstrings.rpy:65
old "You've already created an Android keystore, so I won't create a new one for you."
new "Android keystore が既に作成済みのため、新しい keystore の作成は行いません。"
# game/androidstrings.rpy:66
old "I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?"
new "アプリケーションに署名するキーを発行できます。このキーでアプリケーションに署名すると、アンドロイドマーケットや他のストアで配布できるようになります。\n\nキーを作成しますか?"
# game/androidstrings.rpy:67
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
new "android.keystore ファイルを作成します。\n\nこのファイルはバックアップしてください。もし失くした場合はアプリをアップグレードすることが出来なくなります。\n\nまた、このファイルは安全な場所に保管してください。このファイルが悪意のある人間の手に渡ると、アプリのフェイクバージョンを作られたり、ユーザーデータを盗まれる恐れがあります。\n\nandroid.keystore のバックアップを作成し、安全な場所に保存しますか?"
# game/androidstrings.rpy:68
old "Please enter your name or the name of your organization."
new "あなたの名前か組織名を入力してください。"
# game/androidstrings.rpy:69
old "Could not create android.keystore. Is keytool in your path?"
new "android.keystore を作成できませんでした。keytool があなたのパスに存在しますか?"
# game/androidstrings.rpy:70
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
new "android.keystore の作成を終了しました。 このファイルをバックアップして、安全な場所に保管してください。"
# game/androidstrings.rpy:71
old "It looks like you're ready to start packaging games."
new "ゲームのパッケージングの準備が整ったようです。"
# game/choose_theme.rpy:507
old "changing the theme"
new "テーマを変更しています。"
# game/front_page.rpy:252
old "Web"
new "Web"
# game/front_page.rpy:252
old "(Beta)"
new "(Beta)"
# game/gui7.rpy:429
old "creating a new project"
new "新しいプロジェクトを作成しています。"
# game/gui7.rpy:433
old "activating the new project"
new "新しいプロジェクトを認証しています。"
# game/interface.rpy:372
old "opening the log file"
new "ログファイルを開いています。"
# game/itch.rpy:43
old "Downloading the itch.io butler."
new "itch.io butler をダウンロードしています。"
# game/updater.rpy:101
old "The update channel controls the version of Ren'Py the updater will download."
new "アップロードチャンネルはアップデーターのバージョンをコントロールします。"
# game/updater.rpy:110
old "• This version is installed and up-to-date."
new "• このバージョンは最新の状態でインストールされています。"
# game/updater.rpy:118
old "%B %d, %Y"
new "%B %d, %Y"
# game/updater.rpy:188
old "Fetching the list of update channels"
new "アップデートチャンネルのリストを取得しています。"
# game/updater.rpy:194
old "downloading the list of update channels"
new "アップデートチャンネルのリストをダウンロードしています。"
# game/updater.rpy:198
old "parsing the list of update channels"
new "アップデートチャンネルのリストを解析しています。"
# game/web.rpy:118
old "Web: [project.current.display_name!q]"
new "Web: [project.current.display_name!q]"
# game/web.rpy:148
old "Build Web Application"
new "ウェブアプリケーションをビルドする"
# game/web.rpy:149
old "Build and Open in Browser"
new "ビルドしてブラウザで開く"
# game/web.rpy:150
old "Open in Browser"
new "ブラウザで開く"
# game/web.rpy:151
old "Open build directory"
new "ビルドしたディレクトリーを開く"
# game/web.rpy:155
old "Support:"
new "サポート:"
# game/web.rpy:163
old "RenPyWeb Home"
new "RenPyWeb ホーム"
# game/web.rpy:164
old "Beuc's Patreon"
new "Beuc's Patreon"
# game/web.rpy:182
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
new "Ren'Py ウェブアプリケーションは、ゲームをスタートする前に、プレイヤーのコンピューターにデータを全てダウンロードする必要があります。"
# game/web.rpy:186
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
new "現在のウェブプラットホームの限界により、一般的なパフォーマンスの低下や、大きな画像・音声・動画ファイルのロードによる音声やフレームレートの異常が発生します。"
# game/web.rpy:195
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
new "ウェブアプリをパッケージングするために、RenPyWeb (Ren'Py's web support) をダウンロードする必要があります。 RenPyWeb をダウンロードしますか?"
+1 -1
View File
@@ -166,7 +166,7 @@ translate japanese strings:
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Ren'py が起動した時に表示されるメインメニューを表示するスクリーンです。"
new "## Ren'Py が起動した時に表示されるメインメニューを表示するスクリーンです。"
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
+4 -8
View File
@@ -20,7 +20,7 @@ label start:
# 背景を表示します。デフォルトではプレースホルダー(仮画像)を使用しますが、
# images ディレクトリーにファイル(ファイル名は "bg room.png" や "bg room.jpg"
# を追加することにより表示できます。
# を追加すること表示できます。
scene bg room
@@ -39,14 +39,10 @@ label start:
with dissolve
# 音楽を再生します。ここではタグを利用して無音を再生していますが、
# game ディレクトリーに "music.ogg" などと命名したファイルを追加すると
# play music "music.ogg" の形で再生することができます。
# 音楽を再生します。
# game ディレクトリーに "music.ogg" などファイルを追加すると再生できます。
# 効果音を再生する時は play audio "filename" を使用します。
# play music とは違って複数の効果音を同時に再生することができます。
play music "<silence .5>"
# play music "music.ogg"
# 以下は台詞を表示します。
+507 -65
View File
@@ -1,229 +1,548 @@

translate korean strings:
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
# 00action_file.rpy:240
old "%b %d, %H:%M"
new "%b %d %H:%M"
# 00action_file.rpy:820
# 00action_file.rpy:353
old "Save slot %s: [text]"
new "%s 슬롯에 저장: [text]"
# 00action_file.rpy:434
old "Load slot %s: [text]"
new "%s 슬롯 불러오기: [text]"
# 00action_file.rpy:487
old "Delete slot [text]"
new "[text] 슬롯 삭제"
# 00action_file.rpy:569
old "File page auto"
new "자동 파일 페이지"
# 00action_file.rpy:571
old "File page quick"
new "빠른 파일 페이지"
# 00action_file.rpy:573
old "File page [text]"
new "[text] 파일 페이지"
# 00action_file.rpy:763
old "Next file page."
new "다음 파일 페이지."
# 00action_file.rpy:827
old "Previous file page."
new "이전 파일 페이지."
# 00action_file.rpy:889
old "Quick save complete."
new "퀵세이브 완료."
# 00gui.rpy:227
# 00action_file.rpy:907
old "Quick save."
new "빠른 저장."
# 00action_file.rpy:926
old "Quick load."
new "빠른 불러오기."
# 00action_other.rpy:355
old "Language [text]"
new "[text] 언어"
# 00director.rpy:708
old "The interactive director is not enabled here."
new "인터렉티브 디렉터는 여기에서 사용할 수 없습니다."
# 00director.rpy:1481
old "⬆"
new "⬆"
# 00director.rpy:1487
old "⬇"
new "⬇"
# 00director.rpy:1551
old "Done"
new "완료"
# 00director.rpy:1561
old "(statement)"
new "(명령문)"
# 00director.rpy:1562
old "(tag)"
new "(태그)"
# 00director.rpy:1563
old "(attributes)"
new "(속성)"
# 00director.rpy:1564
old "(transform)"
new "(변환)"
# 00director.rpy:1589
old "(transition)"
new "(전환)"
# 00director.rpy:1601
old "(channel)"
new "(채널)"
# 00director.rpy:1602
old "(filename)"
new "(파일이름)"
# 00director.rpy:1631
old "Change"
new "교체"
# 00director.rpy:1633
old "Add"
new "추가"
# 00director.rpy:1636
old "Cancel"
new "취소"
# 00director.rpy:1639
old "Remove"
new "제거"
# 00director.rpy:1674
old "Statement:"
new "명령문:"
# 00director.rpy:1695
old "Tag:"
new "태그:"
# 00director.rpy:1711
old "Attributes:"
new "속성:"
# 00director.rpy:1729
old "Transforms:"
new "변환:"
# 00director.rpy:1748
old "Behind:"
new "뒤에:"
# 00director.rpy:1767
old "Transition:"
new "전환:"
# 00director.rpy:1785
old "Channel:"
new "채널:"
# 00director.rpy:1803
old "Audio Filename:"
new "오디오 파일이름:"
# 00gui.rpy:370
old "Are you sure?"
new "정말입니까?"
# 00gui.rpy:228
# 00gui.rpy:371
old "Are you sure you want to delete this save?"
new "이 세이브 파일을 지우겠습니까?"
# 00gui.rpy:229
# 00gui.rpy:372
old "Are you sure you want to overwrite your save?"
new "이 세이브 파일에 덮어쓰겠습니까?"
# 00gui.rpy:230
# 00gui.rpy:373
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "불러오기를 하면 저장하지 않은 데이터를 잃게 됩니다.\n파일을 불러올까요?"
# 00gui.rpy:231
# 00gui.rpy:374
old "Are you sure you want to quit?"
new "종료하겠습니까?"
# 00gui.rpy:232
# 00gui.rpy:375
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "메인 메뉴로 돌아가겠습니까?\n저장하지 않은 데이터는 잃게 됩니다."
# 00gui.rpy:233
# 00gui.rpy:376
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "리플레이를 종료하겠습니까?"
# 00gui.rpy:234
# 00gui.rpy:377
old "Are you sure you want to begin skipping?"
new "스킵을 시작하겠습니까?"
# 00gui.rpy:235
# 00gui.rpy:378
old "Are you sure you want to skip to the next choice?"
new "다음 선택지가 나타날 때까지 스킵하겠습니까?"
# 00gui.rpy:236
# 00gui.rpy:379
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "다음 선택지가 나타날 때까지 본 적이 없는 대사까지 모두 스킵하겠습니까?"
# 00keymap.rpy:250
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "%s 에 스크린샷 저장을 실패했습니다."
# 00keymap.rpy:270
old "Saved screenshot as %s."
new "스크린샷을 %s 에 저장했습니다."
# 00library.rpy:142
# 00library.rpy:146
old "Self-voicing disabled."
new "Self-voicing disabled."
new "대사 읽기를 끕니다."
# 00library.rpy:143
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "대사 복사하기를 켭니다. "
# 00library.rpy:144
# 00library.rpy:148
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "대사 읽기를 켭니다. "
# 00library.rpy:179
# 00library.rpy:150
old "bar"
new "바"
# 00library.rpy:151
old "selected"
new "선택된"
# 00library.rpy:152
old "viewport"
new "뷰포트"
# 00library.rpy:153
old "horizontal scroll"
new "수평 스크롤"
# 00library.rpy:154
old "vertical scroll"
new "수직 스크롤"
# 00library.rpy:155
old "activate"
new "활성화"
# 00library.rpy:156
old "deactivate"
new "비활성화"
# 00library.rpy:157
old "increase"
new "증가"
# 00library.rpy:158
old "decrease"
new "감소"
# 00library.rpy:193
old "Skip Mode"
new "스킵 모드"
# 00preferences.rpy:207
old "display"
new "화면 모드"
# 00preferences.rpy:219
old "transitions"
new "화면 전환"
# 00preferences.rpy:228
old "skip transitions"
new "화면 전환 스킵"
# 00preferences.rpy:230
old "video sprites"
new "비디오 스프라이트"
# 00preferences.rpy:239
old "show empty window"
new "빈 창 보이기"
# 00preferences.rpy:248
old "text speed"
new "텍스트 속도"
# 00preferences.rpy:256
old "joystick"
new "조이스틱"
# 00preferences.rpy:256
old "joystick..."
new "조이스틱..."
# 00preferences.rpy:263
old "skip"
new "스킵"
# 00preferences.rpy:266
old "skip unseen [text]"
new "읽지 않은 [text] 스킵"
# 00preferences.rpy:271
old "skip unseen text"
new "읽지 않은 텍스트까지 모두 스킵"
# 00preferences.rpy:273
old "begin skipping"
new "스킵 시작"
# 00preferences.rpy:277
old "after choices"
new "선택지 이후에도 스킵"
# 00preferences.rpy:284
old "skip after choices"
new "선택후 스킵"
# 00preferences.rpy:286
old "auto-forward time"
new "자동 진행 시간"
# 00preferences.rpy:300
old "auto-forward"
new "자동 진행"
# 00preferences.rpy:307
old "Auto forward"
new "자동 진행"
# 00preferences.rpy:310
old "auto-forward after click"
new "클릭후 자동 진행"
# 00preferences.rpy:319
old "automatic move"
new "자동 이동"
# 00preferences.rpy:328
old "wait for voice"
new "음성 기다리기"
# 00preferences.rpy:337
old "voice sustain"
new "음성 지속"
# 00preferences.rpy:346
old "self voicing"
new "대사 읽기"
# 00preferences.rpy:355
old "clipboard voicing"
new "대사 복사하기"
# 00preferences.rpy:364
old "debug voicing"
new "음성 디버그"
# 00preferences.rpy:373
old "emphasize audio"
new "오디오 강조"
# 00preferences.rpy:382
old "rollback side"
new "롤백 클릭 옵션"
# 00preferences.rpy:392
old "gl powersave"
new "GL 절전"
# 00preferences.rpy:398
old "gl framerate"
new "GL 프레임 속도"
# 00preferences.rpy:401
old "gl tearing"
new "GL 티어링"
# 00preferences.rpy:413
old "music volume"
new "배경음악 크기"
# 00preferences.rpy:414
old "sound volume"
new "효과음 크기"
# 00preferences.rpy:415
old "voice volume"
new "음성 크기"
# 00preferences.rpy:416
old "mute music"
new "배경음악 크기"
# 00preferences.rpy:417
old "mute sound"
new "효과음 끄기"
# 00preferences.rpy:418
old "mute voice"
new "음성 끄기"
# 00preferences.rpy:419
old "mute all"
new "모두 음소거"
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "이 프로그램은 MIT 라이선스와 GNU 라이선스를 포함한 여러 가지 라이선스의 적용을 받는 오픈소스 소프트웨어를 포함하고 있습니다. {a=https://www.renpy.org/l/license}이곳{/a}에서 포함된 모든 소프트웨어와 그 소스코드를 확인할 수 있습니다."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -231,15 +550,71 @@ translate korean strings:
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "대사 읽기 기능이 \"[renpy.display.tts.last]\" 를(을) 말할 것입니다. 'alt+shift+V'를 누르면 비활성화됩니다."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "대사 읽기 기능을 실행했습니다. 'v' 키를 눌러 종료합니다."
# _compat\gamemenu.rpym:198
old "Empty Slot."
new "빈 슬롯"
# _compat\gamemenu.rpym:355
old "Previous"
new "이전"
# _compat\gamemenu.rpym:362
old "Next"
new "다음"
# _developer\developer.rpym:43
old "Interactive Director (D)"
new "인터렉티브 디렉터 (D)"
# _developer\developer.rpym:57
old "Show Image Load Log (F4)"
new "이미지 불러오기 목록을 표시하기 (F4)"
# _developer\developer.rpym:60
old "Hide Image Load Log (F4)"
new "이미지 불러오기 목록을 숨기기 (F4)"
# _developer\developer.rpym:63
old "Image Attributes"
new "이미지 속성"
# _developer\developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (hidden)"
# _developer\developer.rpym:94
old "[name] [attributes]"
new "[name] [attributes]"
# _developer\developer.rpym:489
old "Type to filter: "
new "필터: "
# _developer\developer.rpym:617
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "텍스쳐: [tex_count] ([tex_size_mb:.1f] MB)"
# _developer\developer.rpym:621
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "이미지 캐시: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# _layout\classic_load_save.rpym:170
old "a"
new "a"
# _layout\classic_load_save.rpym:179
old "q"
new "q"
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
new "앱스토어와 통신 중\n잠시만 기다려주십시오..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -333,3 +708,70 @@ translate korean strings:
old "return"
new "돌아가기"
# _developer\developer.rpym:154
old "Hide deleted"
new "삭제항목 숨기기"
# _developer\developer.rpym:154
old "Show deleted"
new "삭제항목 보이기"
# 00accessibility.rpy:76
old "Font Override"
new "글꼴 덮어쓰기"
# 00accessibility.rpy:80
old "Default"
new "기본"
# 00accessibility.rpy:84
old "DejaVu Sans"
new "DejaVu Sans"
# 00accessibility.rpy:88
old "Opendyslexic"
new "Opendyslexic"
# 00accessibility.rpy:94
old "Text Size Scaling"
new "글자 크기 조절"
# 00accessibility.rpy:100
old "Reset"
new "초기화"
# 00accessibility.rpy:105
old "Line Spacing Scaling"
new "줄 간격 조절"
# 00accessibility.rpy:117
old "Self-Voicing"
new "대사 읽기"
# 00accessibility.rpy:121
old "Off"
new "끄기"
# 00accessibility.rpy:125
old "Text-to-speech"
new "텍스트 음성 변환"
# 00accessibility.rpy:129
old "Clipboard"
new "클립보드"
# 00accessibility.rpy:146
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "이 메뉴의 옵션은 접근성을 향상시키기 위한 것입니다. 모든 게임에서 작동하지 않을 수 있고 일부 옵션 조합은 게임을 플레이할 수 없게 만들 수 있으며 이러한 경우 게임이나 엔진의 문제가 아닙니다. 글꼴을 변경할 때 최상의 결과를 얻으려면 글자 크기를 원래대로 유지하십시오."
# 00preferences.rpy:430
old "font transform"
new "글꼴 변형"
# 00preferences.rpy:433
old "font size"
new "글꼴 크기"
# 00preferences.rpy:441
old "font line spacing"
new "글꼴 줄 간격"
+11 -5
View File
@@ -1,5 +1,4 @@

translate korean strings:
translate korean strings:
# _developer/developer.rpym:38
old "Developer Menu"
@@ -7,7 +6,7 @@ translate korean strings:
# _developer/developer.rpym:43
old "Reload Game (Shift+R)"
new "게임 재시작 (Shift + R)"
new "게임 재시작 (Shift+R)"
# _developer/developer.rpym:45
old "Console (Shift+O)"
@@ -51,7 +50,7 @@ translate korean strings:
# _developer/developer.rpym:378
old "Mouse position: %r"
new "마우스 포인터 좌: %r"
new "마우스 포인터 좌: %r"
# _developer/developer.rpym:383
old "Right-click or escape to quit."
@@ -75,7 +74,7 @@ translate korean strings:
# _developer/developer.rpym:532
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}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ 예측된 이미지 (좋은){/color}\n{color=#fcc}✘ 예측하지 못한 이미지 (나쁜){/color}\n{color=#fff}드래그로 이동.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
@@ -177,3 +176,10 @@ translate korean strings:
old "jump <label>: jumps to label"
new "jump <label>: label로 점프한다"
# 00console.rpy:685
old "short: Shorten the representation of objects on the console (default)."
new "short: 콘솔에서 오브젝트 표시를 줄인다 (기본값)."
# 00console.rpy:690
old "long: Print the full representation of objects on the console."
new "long: 콘솔에서 오브젝트를 모두 표시한다."
+114 -60
View File
@@ -1,179 +1,233 @@

translate korean strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
new "그래픽 가속"
translate korean strings:
# 00gltest.rpy:70
old "Renderer"
new "렌더러"
# 00gltest.rpy:74
old "Automatically Choose"
new "자동으로 선택한다"
# 00gltest.rpy:75
# 00gltest.rpy:79
old "Force Angle/DirectX Renderer"
new "앵글/다이렉트X 렌더러를 강제한다"
# 00gltest.rpy:79
# 00gltest.rpy:83
old "Force OpenGL Renderer"
new "오픈GL 렌더러를 강제한다"
# 00gltest.rpy:83
# 00gltest.rpy:87
old "Force Software Renderer"
new "소프트웨어 렌더러를 강제한다"
# 00gltest.rpy:93
old "Enable"
new "Enable"
old "NPOT"
new "NPOT"
# 00gltest.rpy:109
# 00gltest.rpy:97
old "Enable"
new "활성"
# 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 "티어링"
# 00gltest.rpy:179
old "Changes will take effect the next time this program is run."
new "변경사항은 프로그램을 재시작하면 적용됩니다."
# 00gltest.rpy:141
# 00gltest.rpy:213
old "Performance Warning"
new "성능 경고"
# 00gltest.rpy:146
# 00gltest.rpy:218
old "This computer is using software rendering."
new "이 컴퓨터에서는 소프트웨어 렌더링을 사용하고 있습니다."
# 00gltest.rpy:148
# 00gltest.rpy:220
old "This computer is not using shaders."
new "이 컴퓨터에서는 쉐이더를 사용하지 않습니다."
# 00gltest.rpy:150
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
new "이 컴퓨터에서는 그래픽을 느리게 표시합니다."
# 00gltest.rpy:152
# 00gltest.rpy:224
old "This computer has a problem displaying graphics: [problem]."
new "이 컴퓨터에는 그래픽 표시에 문제가 있습니다. [problem]."
# 00gltest.rpy:157
# 00gltest.rpy:229
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
new "컴퓨터의 그래픽 드라비어가 구버전이거나 제대로 작동하지 않습니다. 그래픽을 느리게 표시하거나 제대로 표시하지 못할 수 있습니다. 다이렉트X를 업데이트하면 이 문제를 해결할 수 있습니다."
# 00gltest.rpy:159
# 00gltest.rpy:231
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
new "컴퓨터의 그래픽 드라비어가 구버전이거나 제대로 작동하지 않습니다. 그래픽을 느리게 표시하거나 제대로 표시하지 못할 수 있습니다."
# 00gltest.rpy:164
# 00gltest.rpy:236
old "Update DirectX"
new "다이렉트X 업데이트하기"
# 00gltest.rpy:170
# 00gltest.rpy:242
old "Continue, Show this warning again"
new "계속한다. 이 경고를 다시 표시한다."
# 00gltest.rpy:174
# 00gltest.rpy:246
old "Continue, Don't show warning again"
new "계속한다. 이 경고를 다시 표시하지 않는다."
# 00gltest.rpy:192
# 00gltest.rpy:264
old "Updating DirectX."
new "다이렉트X를 업데이트하고 있습니다."
# 00gltest.rpy:196
# 00gltest.rpy:268
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
new "다이렉트X 웹 설치를 시작했습니다. 작업표시줄에 최소화 상태로 시작되었을 수도 있습니다. 설치 안내창에 따라 다이렉트X를 설치하세요."
# 00gltest.rpy:200
# 00gltest.rpy:272
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}* 주의{/b}/n 마이크로소프트의 다이렉트X 웹 설치 프로그램은 기본적으로 Bing 툴바를 설치합니다. 이 툴바를 설치하고 싶지 않다면 체크 박스의 체크 표시를 해제하세요."
# 00gltest.rpy:204
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "설치가 완료되면 아래 버튼을 눌러 프로그램을 다시 시작하세요."
# 00gltest.rpy:206
# 00gltest.rpy:278
old "Restart"
new "다시 시작"
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "보정할 게임패드 선택"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "사용 가능한 게임패드가 없습니다."
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "[name]를 보정 중입니다. ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!r] [kind]."
new "Press or move the [control!r] [kind]."
new "[control!r] [kind]를 누르거나 이동합니다."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "스킵 (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "뒤로 (B)"
# _errorhandling.rpym:495
old "Open Traceback"
new "Traceback.txt 파일 열기"
# _errorhandling.rpym:529
old "Open"
new "열기"
# _errorhandling.rpym:497
# _errorhandling.rpym:531
old "Opens the traceback.txt file in a text editor."
new "traceback.txt 파일을 스크립트 에디터로 엽니다."
new "traceback.txt 파일을 스트 에디터로 엽니다."
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
# _errorhandling.rpym:533
old "Copy"
new "복사"
# _errorhandling.rpym:501
# _errorhandling.rpym:535
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "traceback.txt 파일을 클립보드로 복사합니다."
# _errorhandling.rpym:519
# _errorhandling.rpym:562
old "An exception has occurred."
new "예외가 발생했습니다."
# _errorhandling.rpym:538
# _errorhandling.rpym:582
old "Rollback"
new "롤백"
# _errorhandling.rpym:540
# _errorhandling.rpym:584
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "게임을 저장하거나 다른 선택지를 선택할 수 있도록 이전으로 롤백합니다."
# _errorhandling.rpym:543
# _errorhandling.rpym:587
old "Ignore"
new "무시"
# _errorhandling.rpym:545
# _errorhandling.rpym:591
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "예외를 무시하고 게임을 계속합니다. 간혹 오류가 추가 발생할 수 있습니다."
# _errorhandling.rpym:548
# _errorhandling.rpym:593
old "Reload"
new "다시 불러오기"
# _errorhandling.rpym:550
# _errorhandling.rpym:597
old "Reloads the game from disk, saving and restoring game state if possible."
new "현재 상태를 저장한 뒤 복원하여 게임을 디스크에서 다시 불러옵니다."
# _errorhandling.rpym:560
# _errorhandling.rpym:602
old "Console"
new "콘솔"
# _errorhandling.rpym:604
old "Opens a console to allow debugging the problem."
new "콘솔을 열어 문제를 디버깅합니다."
# _errorhandling.rpym:614
old "Quits the game."
new "게임을 종료합니다."
# _errorhandling.rpym:582
# _errorhandling.rpym:638
old "Parsing the script failed."
new "스크립트 해석 실패."
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Error.txt 파일 열기"
# _errorhandling.rpym:608
# _errorhandling.rpym:664
old "Opens the errors.txt file in a text editor."
new "errors.txt 파일을 스크립트 에디터로 엽니다."
new "errors.txt 파일을 스트 에디터로 엽니다."
# _errorhandling.rpym:612
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
new "errors.txt 파일을 클립보드로 복사합니다."
# _errorhandling.rpym:542
old "Copy BBCode"
new "BB코드 복사"
# _errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "traceback.txt 파일을 https://lemmasoft.renai.us/ 같은 포럼에서 사용하는 BB코드로 클립보드에 복사합니다."
# _errorhandling.rpym:546
old "Copy Markdown"
new "마크다운 복사"
# _errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "traceback.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
# _errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "errors.txt 파일을 https://lemmasoft.renai.us/ 같은 포럼에서 사용하는 BB코드로 클립보드에 복사합니다."
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "errors.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
+219 -197
View File
@@ -1,411 +1,433 @@

translate korean strings:
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."
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## 이 파일에서 init offset 문을 사용하면 이 파일의 초기화 문이 다른 파일의 init 코드보다 먼저 실행됩니다."
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## gui.init의 호출은 스타일을 합리적인 기본값으로 재설정하고, 게임의 너비(width)와 높이(height)를 설정합니다."
# gui.rpy:17
old "## GUI Configuration Variables"
new "## GUI 설정 변수"
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## 색상"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## 인터페이스에서 글자의 색상입니다."
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## 강조 색상은 레이블(label)과 강조된 글자로 인터페이스 전체에서 사용됩니다."
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## 텍스트 버튼(text button)이 선택(selected)됐거나 커서를 올리지(hovered) 않았을 때 사용됩니다."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## 작은(small) 색상은 같은 효과를 내기 위해 더 밝거나 어두워야 하는 작은 글자에 사용됩니다."
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## 버튼(button)과 막대(bar)에 커서를 올렸을 때(hovered) 사용됩니다."
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## 텍스트 버튼(text button)에 선택됐지만(selected) 포커스되지(focused) 않았을 때 사용됩니다. 버튼(button)은 현재 화면이거나 설정값인 경우 선택됨(selected)이 됩니다."
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## 텍스트 버튼(text button)이 선택되지(selected) 않았을 때 사용됩니다."
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## 채워지지 않은 빈 막대(bar)에 사용됩니다. 이것은 바로 사용되지 않지만, 막대(bar) 이미지 파일이 재생성됐을 때 사용됩니다."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## 대사(dialogue)와 선택지(menu choice)의 글자에서 사용됩니다."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "## 글자와 글자 크기"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "## 인-게임 글자에 사용됩니다."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "## 캐릭터의 이름에 사용됩니다."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "## 인터페이스에 사용됩니다."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "## 일반 대사의 글자 크기입니다."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "## 캐릭터 이름의 글자 크기입니다."
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "## 게임의 유저 인터페이스에서 글자의 크기입니다."
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## 게임의 유저 인터페이스에서 레이블(label)들의 글자 크기입니다."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "## 통지(notify) 화면의 글자 크기입니다."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## 게임의 타이틀(title) 글자의 크기입니다."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## 메인과 게임 메뉴들"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## 이미지들은 메인(main)과 게임 메뉴(game menu)에 사용됩니다."
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
# gui.rpy:96
# gui.rpy:93
old "## Dialogue"
new "## Dialogue"
new "## 대사"
# gui.rpy:95
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## 이러한 변수들은 한 번에 한 줄의 대사가 어떻게 화면에 표시되는지 제어합니다."
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
old "## The height of the textbox containing dialogue."
new "## 대사를 포함하는 텍스트 박스의 높이입니다."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
# gui.rpy:104
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## 화면에 텍스트박스를 세로로 배치합니다. 0.0은 최상단, 0.5는 중앙, 그리고 1.0은 최하단입니다."
# gui.rpy:109
# gui.rpy:106
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## 말하는 캐릭터의 이름을 텍스트 박스를 기준으로 배치합니다. 이것은 좌측이나 최상단으로부터 전체 픽셀값의 숫자가 되거나, 0.5로 중앙이 될 수 있습니다."
# gui.rpy:114
# gui.rpy:111
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 캐릭터들의 이름을 수평으로 정렬합니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬될 수 있습니다."
# gui.rpy:118
# gui.rpy:115
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## 캐릭터들의 이름이 들어 있는 박스의 너비, 높이, 그리고 테두리입니다. 혹은 그것을 None으로 자동 설정할 수 있습니다."
# gui.rpy:123
# gui.rpy:120
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## 캐릭터의 이름이 들어 있는 박스의 테두리를 좌측, 상단, 우측, 하단의 순서로 정합니다."
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
# gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## 만약 참(True)이면, 네임박스의 배경은 바둑판식으로 배열(tiled)될 것이고, 거짓(False)이면, 네임박스의 배경은 채워질(scaled) 것입니다."
# gui.rpy:132
# gui.rpy:129
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## 텍스트박스에서 대사의 위치입니다. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
# gui.rpy:135
old "## The maximum width of dialogue text, in pixels."
new "## 픽셀값에서 대사의 최대 너비입니다."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 대사 글자의 수평 정렬입니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬이 될 수 있습니다."
# gui.rpy:146
# gui.rpy:143
old "## Buttons"
new "## Buttons"
new "## 버튼들"
# gui.rpy:145
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## 이러한 변수들은 GUI/버튼에서 이미지 파일들과 함께 어떻게 버튼이 표시되는지 제어합니다."
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## 픽셀값에서 버튼의 너비와 높이입니다. 만약 None이면, 렌파이가 크기를 계산합니다."
# gui.rpy:152
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## 좌측, 상단, 우측, 하단의 순서에서 버튼의 테두리 값입니다."
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## 만약 참(True)이면, 배경 이미지는 바둑판식으로 배열(tiled)될 것입니다. 만약 거짓(False)이면, 배경 이미지는 선으로 채워질(scaled) 것입니다."
# gui.rpy:159
old "## The font used by the button."
new "## 버튼에 사용된 글자의 폰트입니다."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
old "## The size of the text used by the button."
new "## 버튼에 사용된 글자의 크기입니다."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
old "## The color of button text in various states."
new "## 다양한 상태의 버튼 글자의 색상입니다."
# gui.rpy:179
# gui.rpy:171
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## 버튼 글자의 수평 정렬(0.0은 왼쪽,0.5은 가운데,1.0은 오른쪽)입니다."
# gui.rpy:176
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## 이러한 변수는 다른 종류의 버튼 설정을 덮어씌웁니다. 사용 가능한 버튼의 종류와, 각각 무엇을 위해 사용하는지는 gui 문서를 확인해주세요."
# gui.rpy:183
# gui.rpy:180
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## 이러한 사용자 지정은 기본 인터페이스에 사용됩니다:"
# gui.rpy:198
# gui.rpy:195
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## 당신은 또한 설정된 이름의 변수를 추가함으로써 당신만의 커스텀을 추가할 수 있습니다. 예를 들어, 다음 행의 주석 표시를 제거하여 탐색(navigation) 버튼의 너비를 설정할 수 있습니다."
# gui.rpy:205
# gui.rpy:202
old "## Choice Buttons"
new "## Choice Buttons"
new "## 선택 버튼들"
# gui.rpy:207
# gui.rpy:204
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## 선택 버튼은 인-게임 메뉴에 사용됩니다."
# gui.rpy:220
# gui.rpy:217
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## 파일 슬롯 버튼"
# gui.rpy:222
# gui.rpy:219
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## 파일 슬롯 버튼은 버튼의 특별한 종류입니다. 그것은 썸네일 이미지나 저장 슬롯의 콘텐츠를 설명하는 글자를 포함합니다. GUI/버튼에서 저장 슬롯은 버튼의 다른 종류와 같은 이미지 파일을 사용합니다."
# gui.rpy:226
# gui.rpy:223
old "## The save slot button."
new "## The save slot button."
new "## 저장 슬롯 버튼입니다."
# gui.rpy:234
# gui.rpy:233
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## 저장 슬롯에 사용되는 썸네일의 너비와 높이입니다."
# gui.rpy:238
# gui.rpy:237
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## 저장 슬롯의 그리드(grid)에서 행(rows)과 열(columns)의 갯수입니다."
# gui.rpy:243
# gui.rpy:242
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## 위치와 간격"
# gui.rpy:245
# gui.rpy:244
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## 이러한 변수들은 다양한 사용자 인터페이스 요소들의 위치와 간격을 제어합니다."
# gui.rpy:248
# gui.rpy:247
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## 화면의 왼쪽을 기준으로 하는 네비게이션 버튼의 왼쪽 위치입니다."
# gui.rpy:252
# gui.rpy:251
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## 스킵 표시기(skip indicator)의 수직 위치입니다."
# gui.rpy:255
# gui.rpy:254
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## 통지(notify) 스크린의 수직 위치입니다."
# gui.rpy:258
# gui.rpy:257
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## 선택지의 메뉴 선택 간의 간격입니다."
# gui.rpy:261
# gui.rpy:260
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## 메인과 게임 메뉴에서 네비게이션 섹션의 버튼들 간의 간격입니다."
# gui.rpy:264
# gui.rpy:263
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## 환경 설정들 간의 간격을 제어합니다."
# gui.rpy:267
# gui.rpy:266
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## 환경 설정 버튼들 사이의 간격을 제어합니다."
# gui.rpy:270
# gui.rpy:269
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## 파일 페이지 버튼들 간의 간격입니다."
# gui.rpy:273
# gui.rpy:272
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## 파일 슬롯들 간의 간격입니다."
# gui.rpy:277
old "## Frames"
new "## Frames"
# gui.rpy:275
old "## The position of the main menu text."
new "## 메인 메뉴 글자의 위치입니다."
# gui.rpy:279
old "## Frames"
new "## 프레임들"
# gui.rpy:281
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## 이러한 변수들은 오버레이되거나 창이 없을 때 보여지는 사용자 인터페이스 구성 요소들을 포함하는 프레임을 제어합니다."
# gui.rpy:282
# gui.rpy:284
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## 플레이어 코드에 의해 소개되는 일반 프레임."
# gui.rpy:285
# gui.rpy:287
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## 프레임은 확인(confirm) 화면의 일부로 사용됩니다."
# gui.rpy:288
# gui.rpy:290
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## 프레임은 스킵(skip) 화면의 일부로 사용됩니다."
# gui.rpy:291
# gui.rpy:293
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## 프레임은 통지(notify) 화면의 일부로 사용됩니다."
# gui.rpy:294
# gui.rpy:296
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## 프레임 배경들은 바둑판식으로 배열해야 할까요?"
# gui.rpy:298
# gui.rpy:230
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## 막대, 스크롤바, 슬라이더"
# gui.rpy:302
old "## These control the look and size of bars, scrollbars, and sliders."
new "## 이러한 설정은 막대와 스크롤바, 그리고 슬라이더의 보여지는 것과 크기를 제어합니다."
# gui.rpy:304
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## 기본 GUI는 슬라이더와 세로 스크롤바만 사용합니다. 다른 모든 막대들은 창작자가 작성한 코드에서 사용됩니다."
# gui.rpy:305
# gui.rpy:307
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## 수평 막대, 스크롤바, 슬라이더의 높이. 수직 막대, 스크롤바, 슬라이더의 너비."
# gui.rpy:311
# gui.rpy:313
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## 막대 이미지가 바둑판식 배열돼야 하면 참(True)입니다. 선으로 채워져야 한다면 거짓(False)입니다."
# gui.rpy:316
# gui.rpy:318
old "## Horizontal borders."
new "## Horizontal borders."
new "## 수평 테두리입니다."
# gui.rpy:321
# gui.rpy:323
old "## Vertical borders."
new "## Vertical borders."
new "## 수직 테두리입니다."
# gui.rpy:326
# gui.rpy:328
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
# gui.rpy:331
old "## History"
new "## History"
new "## GUI에서 스크롤할 수 없는 스크롤 막대로 뭘 할 수 있나요? \"hide\"로 그것들을 숨기고, None은 그것들을 보여줍니다."
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
old "## History"
new "## 대사록"
# gui.rpy:335
old "## The history screen displays dialogue that the player has already dismissed."
new "## 대사록 화면은 사용자가 이미 확인한 다이얼로그를 표시합니다."
# gui.rpy:337
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## 렌파이가 보관할 대사록의 블록 갯수입니다."
# gui.rpy:338
# gui.rpy:340
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## 대사록 화면 항목의 높이를 지정하거나 None으로 하여 높이를 성능에 맡길 수 있습니다."
# gui.rpy:342
# gui.rpy:344
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## 말하는 캐릭터의 이름을 나타내는 레이블의 위치, 너비, 그리고 정렬입니다."
# gui.rpy:349
# gui.rpy:351
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## 대사 글자의 위치, 너비, 그리고 정렬입니다."
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
old "## NVL-Mode"
new "## NVL-모드"
# gui.rpy:360
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## NVL-모드 화면은 NVL-모드 캐릭터들에 의한 대화를 화면에 표시합니다."
# gui.rpy:362
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## NVL-모드 배경 창에서 배경의 테두리입니다."
# gui.rpy:363
# gui.rpy:365
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## 렌파이가 표시할 NVL-mode 항목의 최대 수입니다. 설정보다 많은 항목이 표시되면 가장 오래된 항목이 제거됩니다."
# gui.rpy:369
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## NVL-모드 항목의 높이입니다. 이것을 None으로 설정하면 항목들은 동적으로 높이를 조정합니다."
# gui.rpy:367
# gui.rpy:373
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## gui.nvl_height 값이 None일 때 NVL-모드 항목들, 그리고 NVL-모드 항목들과 NVL-모드 메뉴간의 간의 간격입니다."
# gui.rpy:384
# gui.rpy:390
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## nvl_thought 글자의 위치, 너비, 정렬(nvl_narrator 캐릭터에 의해 표시되는 글자)입니다."
# gui.rpy:391
# gui.rpy:397
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## NVL 메뉴 버튼의 위치입니다."
# gui.rpy:401
old "## Localization"
new "## 현지화"
# gui.rpy:403
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## 줄 바꿈이 허용되는 위치를 제어합니다. 기본값은 대부분의 언어에 적합합니다. 사용 가능한 값 목록은 https://www.renpy.org/doc/html/style_properties.html#style-property-language 에서 찾을 수 있습니다."
# gui.rpy:411
old "## Mobile devices"
new "## 모바일 기기"
# gui.rpy:416
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## 이것은 휴대전화와 태블릿에서 쉽게 터치할 수 있도록 빠른(Quick) 버튼들의 크기를 크게 합니다."
# gui.rpy:409
# gui.rpy:422
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## 이것은 휴대전화에서 다양한 GUI 요소들의 크기와 간격을 쉽게 보일 수 있도록 변경합니다."
# gui.rpy:413
# gui.rpy:426
old "## Font sizes."
new "## Font sizes."
new "## 글자 크기들."
# gui.rpy:421
# gui.rpy:434
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## 텍스트박스의 위치를 조정합니다."
# gui.rpy:440
old "## Change the size and spacing of items in the game menu."
new "## 게임 메뉴에서 항목들의 크기와 간격을 변경합니다."
# gui.rpy:453
old "## File button layout."
new "## 파일 버튼 레이아웃."
# gui.rpy:457
old "## NVL-mode."
new "## NVL-mode."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
new "## NVL-모드."
File diff suppressed because it is too large Load Diff
+1 -27
View File
@@ -1,27 +1 @@

translate korean strings:
# _layout/classic_joystick_preferences.rpym:94
old "Joystick Mapping"
new "조이스틱 설정"
# _layout/classic_load_save.rpym:138
old "Empty Slot."
new "빈 슬롯."
# _layout/classic_load_save.rpym:170
old "a"
new "a"
# _layout/classic_load_save.rpym:179
old "q"
new "q"
# _compat/gamemenu.rpym:355
old "Previous"
new "뒤로"
# _compat/gamemenu.rpym:362
old "Next"
new "앞으로"
# This file intentionally left blank.
+110 -104
View File
@@ -1,195 +1,201 @@

translate korean strings:
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."
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## 게임의 about 스크린에 배치되는 텍스트입니다. 텍스트를 삼중 따옴표 사이에 배치하고 단락 사이에 빈 줄을 남겨 둡니다."
# options.rpy:37
# options.rpy:38
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## 배포판의 실행 파일과 디렉토리에 사용되는 게임의 약식 이름. 이것은 ASCII 전용이어야 하며 공백, 콜론 또는 세미콜론을 포함해서는 안 됩니다."
# options.rpy:44
# options.rpy:45
old "## Sounds and music"
new "## Sounds and music"
new "## 음악과 음향"
# options.rpy:46
# options.rpy:47
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## 이 세 가지 변수는 기본적으로 플레이어에 표시되는 믹서를 제어합니다. 이들 중 하나를 False로 설정하면 해당 믹서가 숨겨집니다."
# options.rpy:55
# options.rpy:56
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## 사용자가 음향 또는 음성 채널에서 테스트 사운드를 재생할 수 있게 하려면 아래 줄의 주석을 제거하고 이를 사용하여 재생할 샘플 사운드를 설정하십시오."
# options.rpy:62
# options.rpy:63
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## 플레이어가 주 메뉴에 있을 때 재생할 오디오 파일을 설정하려면 다음 줄의 주석 처리를 제거하십시오. 이 파일은 중지되거나 다른 파일이 재생 될 때까지 계속 재생합니다."
# options.rpy:69
# options.rpy:70
old "## Transitions"
new "## Transitions"
new "## 번역"
# options.rpy:71
# options.rpy:72
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 이러한 변수는 특정 이벤트가 발생할 때 사용되는 전환을 설정합니다. 각 변수는 전환으로 설정해야 하며, 전환을 사용하지 말아야 한다는 것을 나타내려면 None으로 설정해야 합니다."
# options.rpy:75
# options.rpy:76
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## 게임 메뉴에 진입하거나 나갑니다."
# options.rpy:81
# options.rpy:82
old "## Between screens of the game menu."
new "## 게임 메뉴 화면 사이입니다."
# options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## 게임이 로드된 후 사용되는 전환입니다."
# options.rpy:86
# options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## 게임 종료 후 주 메뉴에 진입할 때 사용됩니다."
# options.rpy:91
# options.rpy:97
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## 게임을 시작할 때 사용되는 전환을 설정하는 변수가 없습니다. 대신, 초기 장면을 표시한 후 with 문을 사용하십시오."
# options.rpy:96
# options.rpy:102
old "## Window management"
new "## Window management"
new "## 창 관리"
# options.rpy:98
# options.rpy:104
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## 이것은 대사 창이 표시됐을 때 제어합니다. 만약 \"show\", 그것은 상항 표시됩니다. 만약 \"hide\", 그것은 대사가 주어질 때만 표시됩니다. 만약 \"auto\", 창은 장면(scene) 문 앞에 숨겨져 대화 상자가 표시되면 다시 표시됩니다."
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## 게임이 시작된 후에는 \"window show\", \"window hide\", 그리고 \"window auto\" 문을 사용하여 변경할 수 있습니다."
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
old "## Transitions used to show and hide the dialogue window"
new "## 대화 창을 표시하고 숨기는 데 사용되는 전환"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
# options.rpy:121
old "## Preference defaults"
new "## 환경설정 기본값"
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## 기본 글자 속도를 제어합니다. 기본적으로, 0은 즉시이며 다른 숫자는 초당 입력 할 문자 수입니다."
# options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## 기본 auto-forward 지연 시간입니다. 숫자가 클수록 대기 시간이 길어지며, 0 ~ 30이 유효한 범위가 됩니다."
# options.rpy:135
old "## Save directory"
new "## Save directory"
new "## 세이브 디렉토리"
# options.rpy:131
# options.rpy:137
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:136
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:138
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
new "## 렌파이는 이 게임에 대한 저장 파일을 플랫폼 별로 배치합니다. 세이브 파일들은 여기에 있습니다:"
# options.rpy:140
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## 윈도우즈: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## 매킨토시: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## 리눅스: $HOME/.renpy/<config.save_directory>"
# options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## 이것은 일반적으로 변경해서는 안 되며, 항상 표현형식이 아닌 정확한 문자열이어야 합니다."
# options.rpy:152
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## 아이콘 #######################################################################'"
# options.rpy:148
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## 작업 표시 줄 또는 독에 표시되는 아이콘."
# options.rpy:153
# options.rpy:159
old "## Build configuration"
new "## Build configuration"
new "## 빌드 구성"
# options.rpy:155
# options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## 이 섹션은 렌파이가 프로젝트를 배포 파일로 만드는 방법을 제어합니다."
# options.rpy:160
# options.rpy:166
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
new "## 다음 함수는 파일 패턴을 사용합니다. 파일 패턴은 대/소문자를 구분하지 않으며, /의 유무와 관계없이 기본 디렉터리의 상대 경로와 일치합니다. 여러 패턴이 일치하면 첫 번째 패턴이 사용됩니다."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
old "## In a pattern:"
new "## 패턴 있음:"
# options.rpy:173
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
old "## / is the directory separator."
new "## / 는 디렉토리 구분 기호입니다."
# options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * 는 디렉토리 구분자를 제외한 모든 문자와 일치합니다."
# options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** 는 디렉토리 구분자를 포함해 모든 문자와 일치합니다."
# options.rpy:179
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## 예를 들어, \"*.txt\" 는 기본 디렉토리의 txt 파일들과 일치하고, \"game/**.ogg\" 는 게임 디렉토리 또는 그 서브 디렉토리의 ogg 파일들과 일치하며, \"**.psd\" 는 프로젝트에서 모든 곳의 psd 파일들과 일치합니다."
# options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Classify files as None to exclude them from the built distributions."
new "## 파일을 None으로 분류하여 배포판으로부터 제외하십시오."
# options.rpy:185
# options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## 파일을 아카이브하려면 'archive'로 분류하십시오."
# options.rpy:196
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## 파일들의 매칭 문서 패턴은 맥앱(Mac App) 빌드에서 중복되므로 app 및 zip 파일에 모두 나타납니다."
# options.rpy:202
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## 맥(Mac)에서 코드 서명을 사용하려면 Apple Developer ID Application이 포함된 문자열로 설정하십시오. 애플(Apple)에서 발행한 ID로 변경하십시오."
# options.rpy:209
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## 확장 파일을 다운로드하고 인앱 구매를 수행하려면 Google Play 라이센스 키가 필요합니다. Google Play 개발자 콘솔의 \"서비스 및 API\"페이지에서 확인할 수 있습니다."
# options.rpy:203
# options.rpy:216
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## The username and project name associated with an itch.io project, separated by a slash."
new "## itch.io 프로젝트와 연관된 사용자 이름과 프로젝트 이름이며 슬래시로 구분됩니다."
File diff suppressed because it is too large Load Diff
+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"
+33
View File
@@ -0,0 +1,33 @@
# Skrip permainan masuk ke dalam fail ini.
# Isytiharkan watak yang digunakan dalam permainan ini.
# Argumen color mewarnakan nama watak.
define e = Character("Eileen")
# Permainan bermula di sini.
label start:
# Tunjukkan latar belakang. Ini menggunakan sandaran secara lalainya,
# namun anda boleh menambah fail (dinamakan "bg room.png" atau "bg room.jpg")
# ke direktori images untuk menunjukkannya.
scene bg room
# Ini menunjukkan peperi watak. Sandaran digunakan, tetapi anda boleh
# menggantikannya dengan menambah fail bernama "eileen happy.png"
# ke dalam direktori images.
show eileen happy
# Ini memaparkan baris dialog.
e "Anda telah mencipta sebuah permainan Ren'Py baru."
e "Setelah anda menambah cerita, gambar, dan muzik, anda boleh menerbitkannya untuk semua!"
# Ini menamatkan permainan.
return
+2
View File
@@ -0,0 +1,2 @@
translate malay python:
gui.FONT_SCALE = .9
File diff suppressed because it is too large Load Diff

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