Compare commits

...

461 Commits

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

or

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

Gui preferences are set with:

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

show foo bar
show foo at right

The attributes would all go away.

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

image a a:
   zoom .5

image a b:
   zoom .5

show a a
pause
show a b:
   xoffset 10

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

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

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

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

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

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

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

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

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

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

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

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

Now, audio files are opened in a special thread, leaving the
GUI thread to do its thing.
2017-10-20 22:35:13 -04:00
447 changed files with 12616 additions and 11779 deletions
+7
View File
@@ -49,6 +49,7 @@ styles.txt
/module/build
/module/gen*
/editra
/atom
/launcher/game/theme
/launcher/game/script_version.rpy
@@ -76,3 +77,9 @@ renpy/vc_version.py
/*-linux*/
/*-dists/
doc-web
sphinx/source/inc
sphinx/source/keywords.py
sphinx/source/thequestion.rst
tutorial/game/tutorial_director.rpy
launcher/theme
+3 -3
View File
@@ -2,7 +2,7 @@
The Ren'Py Visual Novel Engine
==============================
http://www.renpy.org
https://www.renpy.org
Ren'Py development takes place on the ``master`` branch, and occasionally
on feature branches.
@@ -25,7 +25,7 @@ Nightly Build
Nightly builds can be downloaded from:
http://nightly.renpy.org
https://nightly.renpy.org
Note that the latest nightly build is at the bottom of the list. Once you've
unpacked the nightly, change into this repository, and run::
@@ -154,7 +154,7 @@ Translating
For best practices when it comes to translating the launcher and template
game, please read:
http://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
https://lemmasoft.renai.us/forums/viewtopic.php?p=321603#p321603
Contributing
+7
View File
@@ -106,4 +106,11 @@ for i in links:
os.chdir("/home/tom/ab/website")
subprocess.check_call("./upload.sh")
os.chdir("/home/tom/ab/renpy/sphinx")
if args.release:
subprocess.check_call("./upload.sh")
elif args.prerelease:
subprocess.check_call("./upload_dev.sh")
print("Version", version)
+6
View File
@@ -227,6 +227,8 @@ define gui.slot_button_borders = Borders(gui.scale(10), gui.scale(10), gui.scale
define gui.slot_button_text_size = gui.scale(14)
define gui.slot_button_text_xalign = 0.5
define gui.slot_button_text_idle_color = gui.idle_small_color
define gui.slot_button_text_selected_idle_color = gui.selected_color
define gui.slot_button_text_selected_hover_color = gui.hover_color
## The width and height of thumbnails used by the save slots.
define config.thumbnail_width = gui.scale(256)
@@ -360,6 +362,10 @@ define gui.history_text_xalign = 0.0
## The borders of the background of the NVL-mode background window.
define gui.nvl_borders = Borders(0, gui.scale(10), 0, gui.scale(20))
## The maximum number of NVL-mode entries Ren'Py will display. When more
## entries than this are to be show, the oldest entry will be removed.
define gui.nvl_list_length = 6
## The height of an NVL-mode entry. Set this to None to have the entries
## dynamically adjust height.
define gui.nvl_height = gui.scale(115)
+4 -3
View File
@@ -28,10 +28,11 @@ define gui.show_name = True
define config.version = "1.0"
## Text that is placed on the game's about screen. To insert a blank line
## between paragraphs, write \n\n.
## Text that is placed on the game's about screen. Place the text between
## the triple-quotes, and leave a blank line between paragraphs.
define gui.about = _("")
define gui.about = _p("""
""")
## A short name for the game used for executables and directories in the
+3 -1
View File
@@ -442,6 +442,7 @@ screen game_menu(title, scroll=None, yinitial=0.0):
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
side_yfill True
@@ -457,6 +458,7 @@ screen game_menu(title, scroll=None, yinitial=0.0):
scrollbars "vertical"
mousewheel True
draggable True
pagekeys True
side_yfill True
@@ -1343,7 +1345,7 @@ screen nvl_dialogue(dialogue):
## This controls the maximum number of NVL-mode entries that can be displayed
## at once.
define config.nvl_list_length = 6
define config.nvl_list_length = gui.nvl_list_length
style nvl_window is default
style nvl_entry is default
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+7 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -164,6 +164,8 @@ init python:
with open(filename, "r") as f:
android_json = json.load(f)
old_android_json = dict(android_json)
if "google_play_key" in build:
android_json["google_play_key"] = build["google_play_key"]
else:
@@ -178,9 +180,11 @@ init python:
else:
android_json.pop("google_play_salt", None)
if android_json != old_android_json:
with open(filename, "w") as f:
json.dump(android_json, f)
with open(filename, "w") as f:
json.dump(android_json, f)
def android_build(command, p=None, gui=True, launch=False, destination=None, opendir=False):
"""
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+73 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -140,19 +140,47 @@ init 1 python in editor:
Creates the list of FancyEditorInfo objects.
"""
import platform
global fancy_editors
scan_all()
fei = fancy_editors = [ ]
# Atom.
AD = _("(Recommended) A modern and approachable text editor.")
if renpy.windows:
dlc = "atom-windows"
installed = os.path.exists(os.path.join(config.basedir, "atom/atom-windows"))
elif renpy.macintosh:
dlc = "atom-mac"
installed = os.path.exists(os.path.join(config.basedir, "atom/Atom.app"))
else:
dlc = "atom-linux"
installed = os.path.exists(os.path.join(config.basedir, "atom/atom-linux-" + platform.machine()))
e = FancyEditorInfo(
0,
"Atom",
AD,
dlc,
_("Up to 150 MB download required."),
None)
e.installed = e.installed and installed
fei.append(e)
# Editra.
ED = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("{b}Recommended.{/b} A beta editor with an easy to use interface and features that aid in development, such as spell-checking. Editra currently lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
ED = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input.")
EDL = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
if renpy.windows:
dlc = "editra-windows"
installed = os.path.exists(os.path.join(config.basedir, "editra/Editra-win32"))
installed = os.path.exists(os.path.join(config.basedir, "editra/editra.exe"))
description = ED
error_message = None
elif renpy.macintosh:
@@ -174,7 +202,7 @@ init 1 python in editor:
_("Up to 22 MB download required."),
error_message)
e.installed = e.installed or installed
e.installed = e.installed and installed
fei.append(e)
@@ -190,12 +218,12 @@ init 1 python in editor:
fei.append(FancyEditorInfo(
3,
"System Editor",
_("System Editor"),
_("Invokes the editor your operating system has associated with .rpy files."),
None))
for k in editors:
if k in [ "Editra", "jEdit", "System Editor", "None" ]:
if k in [ "Atom", "Editra", "jEdit", "System Editor", "None" ]:
continue
fei.append(FancyEditorInfo(
@@ -206,7 +234,7 @@ init 1 python in editor:
fei.append(FancyEditorInfo(
5,
"None",
_("None"),
_("Prevents Ren'Py from opening a text editor."),
None))
@@ -307,7 +335,7 @@ init 1 python in editor:
class Edit(Action):
alt = "Edit [text]."
alt = _("Edit [text].")
def __init__(self, filename, line=None, check=False):
"""
@@ -410,8 +438,6 @@ init 1 python in editor:
Opens all scripts that are part of the current project in a web browser.
"""
alt = "Edit [text]."
def __init__(self):
return
@@ -444,6 +470,42 @@ init 1 python in editor:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
class EditProject(Action):
"""
Opens the project's base directory in an editor.
"""
def __call__(self):
if not check_editor():
return
try:
e = renpy.editor.editor
e.begin()
e.open_project(project.current.path)
e.end()
except Exception, e:
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
def CanEditProject():
"""
Returns True if EditProject can be used.
"""
try:
e = renpy.editor.editor
return e.has_projects
except:
return False
screen editor:
frame:
+7 -10
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -211,18 +211,14 @@ screen front_page_project:
textbutton "gui.rpy" action editor.Edit("game/gui.rpy", check=True)
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
textbutton _("All script files") action editor.EditAll()
if editor.CanEditProject():
textbutton _("Open project") action editor.EditProject()
else:
textbutton _("All script files") action editor.EditAll()
add SPACER
add SEPARATOR
add SPACER
frame style "l_indent":
has vbox
textbutton _("Navigate Script") text_size 30 action Jump("navigation")
add SPACER
label _("Actions") style "l_label_small"
grid 2 1:
xfill True
@@ -231,6 +227,7 @@ screen front_page_project:
frame style "l_indent":
has vbox
textbutton _("Navigate Script") action Jump("navigation")
textbutton _("Check Script (Lint)") action Jump("lint")
if project.current.exists("game/gui.rpy"):
+5 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -290,6 +290,7 @@ screen choose_gui_color():
if gui_color:
textbutton _("Continue") action Return(True) style "l_right_button"
key "input_enter" action Return(True)
label change_gui:
@@ -442,7 +443,7 @@ label gui_project_common:
python hide:
if gui.project_system_font:
with open(os.path.join(project.current.gamedir, "tl/None/common.rpym"), "ab") as f:
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font))
f.write("define gui.system_font = {!r}\r\n".format(gui.project_system_font).encode("utf-8"))
label gui_generate_images:
@@ -450,7 +451,7 @@ label gui_generate_images:
python:
interface.processing(_("Updating the project..."))
project.current.launch([ 'gui_images' ], env={ "RENPY_VARIANT" : "small phone" } )
project.current.launch([ 'gui_images' ])
project.current.launch([ 'gui_images' ], env={ "RENPY_VARIANT" : "small phone" }, wait=True)
project.current.launch([ 'gui_images' ], wait=True)
jump front_page
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+4 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -382,16 +382,9 @@ class CodeGenerator(object):
if not os.path.exists(src):
src = os.path.join(self.p.template, name)
with open(src, "rb") as f:
data = f.read().decode("utf-8")
data = data.replace(u"\ufeff", u"")
data = u"\ufeff" + data
data = data.replace(u"\r\n", u"\n")
data = data.replace(u"\n", u"\r\n")
with open(dst, "wb") as f:
f.write(data.encode("utf-8"))
self.load_template(src)
self.remove_scale()
self.write_target(dst)
def add_code(self, fn):
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -97,7 +97,7 @@ class GuiParameters(object):
self.name = name
GOOD_CHARACTERS = "123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMMOPQRSTUVWXYZ-_"
GOOD_CHARACTERS = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ-_"
simple_name = "".join(i for i in name if i in GOOD_CHARACTERS).encode("ascii")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+4 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -126,7 +126,9 @@ label itch:
butler,
"push",
filename,
itch_project + ":" + build["version"] + "-" + channel,
itch_project + ":" + channel,
"--userversion",
build["version"],
)
cc.run()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+3 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -166,6 +166,7 @@ screen navigation:
frame style "l_label":
has hbox xfill True
text _("Navigate: [project.current.display_name!q]") style "l_label_text"
alt _("Navigate Script")
frame:
style "l_alternate"
@@ -192,6 +193,7 @@ screen navigation:
hbox:
spacing HALF_INDENT
text _("Category:")
alt ""
textbutton _("files") action navigation.ChangeKind("file")
textbutton _("labels") action navigation.ChangeKind("label")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+36 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -269,6 +269,22 @@ init python:
build.classify_renpy("**/thumbs.db", None)
build.classify_renpy("**/.*", None)
# Atom rules. These have to be very early, since Atom uses names like
# tmp for packages.
build.classify_renpy("atom/", "atom-all source_only")
build.classify_renpy("atom/Atom.edit.py", "atom-all source_only")
build.classify_renpy("atom/default-dot-atom/**", "atom-all")
build.classify_renpy("atom/atom-windows/**", "atom-windows")
build.classify_renpy("atom/Atom.app/**", "atom-mac")
build.classify_renpy("atom/atom-linux**", "atom-linux")
try:
with open(os.path.join(config.renpy_base, "atom", "executable.txt")) as f:
for l in f:
build.executable(l.strip())
except:
pass
build.classify_renpy("rapt/**", "rapt")
build.classify_renpy("renios/prototype/base/", None)
@@ -292,6 +308,7 @@ init python:
build.classify_renpy("**/tmp/", None)
build.classify_renpy("**/.Editra", None)
# main source.
def source_and_binary(pattern, source="source", binary="binary"):
@@ -330,6 +347,14 @@ init python:
build.classify_renpy("doc/**", "source")
build.classify_renpy("LICENSE.txt", "source")
build.classify_renpy("sphinx/", "source_only")
build.classify_renpy("sphinx/build.sh", "source_only")
build.classify_renpy("sphinx/checks.py", "source_only")
build.classify_renpy("sphinx/game/**", "source_only")
build.classify_renpy("sphinx/source/inc/", None)
build.classify_renpy("sphinx/source/**", "source_only")
# module.
build.classify_renpy("module/", "source")
build.classify_renpy("module/*.c", "source")
@@ -365,11 +390,9 @@ init python:
build.classify_renpy("editra/Editra-mac.app/**", "editra-mac")
build.classify_renpy("editra/lib/**", "editra-windows")
build.classify_renpy("editra/editra.exe", "editra-windows")
# Executable rules.
build.executable("editra/Editra/Editra")
# Packages.
build.packages = [ ]
@@ -378,12 +401,21 @@ init python:
build.package("raspi", "tar.bz2", "raspi", dlc=True, update=False)
build.package("jedit", "zip", "jedit", dlc=True)
build.package("editra-linux", "tar.bz2", "editra-all editra-linux", dlc=True)
build.package("editra-mac", "zip", "editra-all editra-mac", dlc=True)
build.package("editra-windows", "zip", "editra-all editra-windows", dlc=True)
build.package("atom-linux", "tar.bz2", "atom-all atom-linux", dlc=True)
build.package("atom-mac", "zip", "atom-all atom-mac", dlc=True)
build.package("atom-windows", "zip", "atom-all atom-windows", dlc=True)
build.package("rapt", "zip", "rapt", dlc=True)
build.package("renios", "zip", "renios", dlc=True)
# Enable the special launcher translation mode.
define config.translate_launcher = True
# Reduce the rate of screen updates.
default preferences.gl_powersave = True
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -32,7 +32,7 @@ init python in distribute:
from zipfile import crc32
zlib.Z_DEFAULT_COMPRESSION = 9
zlib.Z_DEFAULT_COMPRESSION = 5
class ZipFile(zipfile.ZipFile):
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -95,6 +95,10 @@ init python in project:
self.dump_mtime = 0
def get_dump_filename(self):
if os.path.exists(os.path.join(self.gamedir, "saves")):
return os.path.join(self.gamedir, "saves", "navigation.json")
self.make_tmp()
return os.path.join(self.tmp, "navigation.json")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+19 -19
View File
@@ -31,31 +31,31 @@ translate arabic strings:
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}اثن"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}ثلا"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}أرب"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}خمي"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}جمع"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}سبت"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}أحد"
# 00action_file.rpy:47
old "{#month}January"
@@ -107,51 +107,51 @@ translate arabic strings:
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
new "{#month_short}ينا"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
new "{#month_short}فبر"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
new "{#month_short}مار"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
new "{#month_short}ابر"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}ماي"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}يون"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}يول"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}أغس"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
new "{#month_short}سبتم"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
new "{#month_short}أكت"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
new "{#month_short}نوف"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}ديس"
# 00action_file.rpy:235
old "%b %d, %H:%M"
+38 -38
View File
@@ -71,7 +71,7 @@ translate arabic strings:
# screens.rpy:262
old "History"
new "History"
new "سجل الحوار"
# screens.rpy:263
old "Skip"
@@ -111,11 +111,11 @@ translate arabic strings:
# screens.rpy:308
old "Start"
new "Start"
new "إبدأ"
# screens.rpy:316
old "Load"
new "Load"
new "استرجاع"
# screens.rpy:318
old "Preferences"
@@ -227,15 +227,15 @@ translate arabic strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
new "صفحة {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "الحفظ التلقائي"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "الحفظ السريع"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
@@ -251,7 +251,7 @@ translate arabic strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
new "خانة فارغة"
# screens.rpy:657
old "## Buttons to access other pages."
@@ -263,11 +263,11 @@ translate arabic strings:
# screens.rpy:668
old "{#auto_page}A"
new "{#auto_page}A"
new "{#auto_page}ت"
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}Q"
new "{#quick_page}س"
# screens.rpy:676
old ">"
@@ -303,19 +303,19 @@ translate arabic strings:
# screens.rpy:745
old "Disable"
new "Disable"
new "غير مفعّل"
# screens.rpy:746
old "Left"
new "Left"
new "يسار"
# screens.rpy:747
old "Right"
new "Right"
new "يمين"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "النصوص التي لم تُشاهَد بعد"
# screens.rpy:753
old "After Choices"
@@ -355,7 +355,7 @@ translate arabic strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "كتم الكل"
# screens.rpy:882
old "## History screen"
@@ -395,15 +395,15 @@ translate arabic strings:
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "لوحة المفاتيح"
# screens.rpy:987
old "Mouse"
new "Mouse"
new "الفأرة"
# screens.rpy:990
old "Gamepad"
new "Gamepad"
new "عصا اللعب"
# screens.rpy:1003
old "Enter"
@@ -411,7 +411,7 @@ translate arabic strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "التقدم في الحوار والتفاعل مع الواجهة."
# screens.rpy:1007
old "Space"
@@ -419,15 +419,15 @@ translate arabic strings:
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
new "التقدم في الحوار دون تحديد الخيارات."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
new "مفاتيح الأسهم"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
new "لتصفح الواجهة."
# screens.rpy:1015
old "Escape"
@@ -435,7 +435,7 @@ translate arabic strings:
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "للوصول لقائمة اللعبة."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +443,7 @@ translate arabic strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "لتخطي الحوار عند الإستمرار بالضغط."
# screens.rpy:1023
old "Tab"
@@ -451,7 +451,7 @@ translate arabic strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "للتبديل بين أنظمة تخطي الحوار."
# screens.rpy:1027
old "Page Up"
@@ -459,7 +459,7 @@ translate arabic strings:
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "للعودة للنص السابق."
# screens.rpy:1031
old "Page Down"
@@ -467,39 +467,39 @@ translate arabic strings:
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
new "للإستمرار للنص اللاحق."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
new "لإخفاء الواجهة."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
new "إلتقاط صورة من الشاشة."
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "تفعيل مساعدة {a=https://www.renpy.org/l/voicing}الصوت التلقائي{/a}."
# screens.rpy:1050
old "Left Click"
new "Left Click"
new "النقر بالزر الأيسر"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
new "النقر بالزر الأوسط"
# screens.rpy:1058
old "Right Click"
new "Right Click"
new "النقر بالزر الأيمن"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
new "تحريك عجلة الفأرة لأعلى\nClick Rollback Side"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "تحريك عجلة الفأرة لأسفل"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
@@ -507,11 +507,11 @@ translate arabic strings:
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
new "التقدم في الحوار والتفاعل مع الواجهة."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
new "للعودة للنص السابق."
# screens.rpy:1081
old "Right Shoulder"
@@ -519,7 +519,7 @@ translate arabic strings:
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "للإستمرار للنص اللاحق."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -587,7 +587,7 @@ translate arabic strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "جاري التخطي"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
+69 -5
View File
@@ -6,11 +6,6 @@
# من هي شخصيات هذه اللعبه؟
define e = Character('إيلين', color="#c8ffc8")
init python:
if not persistent.default_language_set:
persistent.default_language_set = True
_preferences.language = "arabic"
# اللعبه تبدأ هنا
label start:
@@ -19,3 +14,72 @@ label start:
e "كل ما عليك فعله هو إضافة نصوص و صور و إرسالها للعالم!"
return
########################################################### من اليمين الى اليسار
define config.rtl = True
define gui.text_align = 1.0
define gui.button_text_xalign = 1.0
define gui.prompt_text_xalign = 1.0
define gui.navigation_xpos = 240
define gui.name_xalign = 1.0
define gui.dialogue_text_xalign = 1.0
define gui.button_text_xalign = 1.0
define gui.main_menu_text_xalign = 1.0
define gui.history_name_xalign = 0.0
define gui.history_text_xalign = 1.0
define gui.nvl_name_xalign = 0.0
define gui.nvl_text_xalign = 1.0
define gui.nvl_thought_xalign = 1.0
define gui.nvl_button_xalign = 1.0
define gui.help_label_text_xalign = 0.0
define gui.name_xpos = gui.scale(1040)
define gui.dialogue_xpos = gui.scale(1012)
define gui.history_name_xpos = gui.scale(763)
define gui.history_text_xpos = gui.scale(748)
define gui.nvl_name_xpos = gui.scale(850)
define gui.nvl_text_xpos = gui.scale(830)
define gui.nvl_thought_xpos = gui.scale(1040)
define gui.nvl_button_xpos = gui.scale(830)
style game_menu_label:
xalign 1.0
xoffset gui.scale(-50)
style navigation_vbox:
xanchor 1.0
style return_button:
xanchor 1.0
style radio_button:
xalign 1.0
style radio_label:
xalign 1.0
style check_button:
xalign 1.0
style check_label:
xalign 1.0
style slider_label:
xpos gui.scale(350)
xalign 1.0
style help_hbox:
box_reverse True
xalign 1.0
spacing gui.scale(20)
style help_label_text:
xalign 0.0
style mute_all_button:
xalign 0.0
-3
View File
@@ -5,6 +5,3 @@
gui.REGULAR_BOLD = True
config.rtl = True
init python:
translate_define("arabic", "config.rtl", "True")
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
translate indonesian strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
translate indonesian strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# gui.rpy:2
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# about.rpy:39
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# options.rpy:1
+1 -1
View File
@@ -1,4 +1,4 @@
translate indonesian strings:
# screens.rpy:9
+19
View File
@@ -420,3 +420,22 @@ translate japanese strings:
old "Interactive Director (D)"
new "インタラクティブディレクター(D)"
translate japanese strings:
# 00keymap.rpy:254
old "Failed to save screenshot as %s."
new "ファイル名 %s のスクリーンショットの保存に失敗しました。"
# _developer\developer.rpym:67
old "Show Texture Size"
new "テクスチャーサイズの表示"
# _developer\developer.rpym:70
old "Hide Texture size"
new "テクスチャーサイズの非表示"
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} MB in {count} textures."
+7
View File
@@ -200,3 +200,10 @@ translate japanese strings:
old "Opens a console to allow debugging the problem."
new "コンソールを開き、問題をデバッグします。"
translate japanese strings:
# 00gltest.rpy:89
old "NPOT"
new "NPOT"
+20 -1
View File
@@ -107,7 +107,7 @@ translate japanese strings:
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じコードを消去しないと反映されません)"
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じを消去しないと反映されません)"
# gui.rpy:96
old "## Dialogue"
@@ -445,3 +445,22 @@ translate japanese strings:
old "## Change the size and spacing of various things."
new "## 様々なサイズとスペーシングを変更。"
translate japanese strings:
# gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset 文により、このファイルの init 文は他のファイルの init 文よりも先に実行されます。"
# gui.rpy:282
old "## Generic frames."
new "## 一般的なフレーム。デフォルトのインターフェースでは未使用です。画像は gui/frame.png。"
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したスクリーンでのみ使われます。"
# gui.rpy:363
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
+40 -1
View File
@@ -563,7 +563,7 @@ translate japanese strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が合理的な妥協サイズです。"
new "どの解像度をこのプロジェクトに使用しますか? Ren'py はウィンドウを拡大縮小することができますが、この設定は初のウィンドウサイズ、描画される各アセットのサイズ、アセットが最もシャープに見えるサイズを決定します。\n\nデフォルトの 1280x720 が理にかなった推奨サイズです。"
# gui7.rpy:389
old "Creating the new project..."
@@ -1244,3 +1244,42 @@ translate japanese strings:
old "Extract Dialogue: [project.current.display_name!q]"
new "台詞の抽出: [project.current.display_name!q]"
translate japanese strings:
# dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
new "Ren'Py が読み取り専用フォルダーで起動しています。使えない機能があります。"
# dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "原因は Ren'Py が Macintosh drive image から直接起動しているためだと思われます.。この問題を解決するには、ランチャーを閉じて %s フォルダー全体をコンピューターのどこか別の場所へ移動してから、もう一度 Ren'Py を起動してみてください。"
# gui7.rpy:357
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
new "カスタム。GUI は 16:9 のアスペクト比に最適化されています。"
# gui7.rpy:372
old "WIDTH"
new "画面の幅"
# gui7.rpy:372
old "Please enter the width of your game, in pixels."
new "ピクセルでゲーム画面の幅を入力してください。"
# gui7.rpy:377
old "The width must be a number."
new "画面の幅は数字でなければなりません。"
# gui7.rpy:379
old "HEIGHT"
new "画面の高さ"
# gui7.rpy:379
old "Please enter the height of your game, in pixels."
new "ピクセルでゲーム画面の高さを入力してください。"
# gui7.rpy:384
old "The height must be a number."
new "画面の高さは数字でなければなりません。"
+7
View File
@@ -201,3 +201,10 @@ translate japanese strings:
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Mac のコード署名を有効にするため Apple Developer ID アプリケーション を含む文字列を設定します。必ず Apple が発行したあなたの ID に変更してください。"
translate japanese strings:
# options.rpy:81
old "## Between screens of the game menu."
new "## ゲームメニューのスクリーンを切り替える時のトランジション。"
+285 -57
View File
@@ -153,139 +153,187 @@ translate piglatin strings:
old "{#month_short}Dec"
new "{#month_short}Ecday"
# 00action_file.rpy:235
# 00action_file.rpy:237
old "%b %d, %H:%M"
new "%bay %day, %Hay:%May"
# 00action_file.rpy:825
# 00action_file.rpy:344
old "Save slot %s: [text]"
new "Avesay otslay %say: [text]"
# 00action_file.rpy:417
old "Load slot %s: [text]"
new "Oadlay otslay %say: [text]"
# 00action_file.rpy:459
old "Delete slot [text]"
new "Eleteday otslay [text]"
# 00action_file.rpy:539
old "File page auto"
new "Ilefay agepay autoay"
# 00action_file.rpy:541
old "File page quick"
new "Ilefay agepay uickqay"
# 00action_file.rpy:543
old "File page [text]"
new "Ilefay agepay [text]"
# 00action_file.rpy:733
old "Next file page."
new "Extnay ilefay agepay."
# 00action_file.rpy:797
old "Previous file page."
new "Reviouspay ilefay agepay."
# 00action_file.rpy:858
old "Quick save complete."
new "Uickqay avesay ompletecay."
# 00director.rpy:689
# 00action_file.rpy:876
old "Quick save."
new "Uickqay avesay."
# 00action_file.rpy:895
old "Quick load."
new "Uickqay oadlay."
# 00action_other.rpy:344
old "Language [text]"
new "Anguagelay [text]"
# 00director.rpy:703
old "The interactive director is not enabled here."
new "Hetay interactiveay irectorday isay otnay enableday erehay."
# 00director.rpy:1461
# 00director.rpy:1490
old "Done"
new "Oneday"
# 00director.rpy:1469
# 00director.rpy:1498
old "(statement)"
new "(atementstay)"
# 00director.rpy:1470
# 00director.rpy:1499
old "(tag)"
new "(agtay)"
# 00director.rpy:1471
# 00director.rpy:1500
old "(attributes)"
new "(attributesay)"
# 00director.rpy:1472
# 00director.rpy:1501
old "(transform)"
new "(ansformtray)"
# 00director.rpy:1497
# 00director.rpy:1526
old "(transition)"
new "(ansitiontray)"
# 00director.rpy:1509
# 00director.rpy:1538
old "(channel)"
new "(annelchay)"
# 00director.rpy:1510
# 00director.rpy:1539
old "(filename)"
new "(ilenamefay)"
# 00director.rpy:1535
# 00director.rpy:1564
old "Change"
new "Hangecay"
# 00director.rpy:1537
# 00director.rpy:1566
old "Add"
new "Ddaay"
# 00director.rpy:1540
# 00director.rpy:1569
old "Cancel"
new "Ancelcay"
# 00director.rpy:1543
# 00director.rpy:1572
old "Remove"
new "Emoveray"
# 00director.rpy:1576
# 00director.rpy:1605
old "Statement:"
new "Tatementsay:"
# 00director.rpy:1597
# 00director.rpy:1626
old "Tag:"
new "Agtay:"
# 00director.rpy:1613
# 00director.rpy:1642
old "Attributes:"
new "Ttributesaay:"
# 00director.rpy:1631
# 00director.rpy:1660
old "Transforms:"
new "Ransformstay:"
# 00director.rpy:1650
# 00director.rpy:1679
old "Behind:"
new "Ehindbay:"
# 00director.rpy:1669
# 00director.rpy:1698
old "Transition:"
new "Ransitiontay:"
# 00director.rpy:1687
# 00director.rpy:1716
old "Channel:"
new "Hannelcay:"
# 00director.rpy:1705
# 00director.rpy:1734
old "Audio Filename:"
new "Udioaay Ilenamefay:"
# 00gui.rpy:240
# 00gui.rpy:368
old "Are you sure?"
new "Reaay ouyay uresay?"
# 00gui.rpy:241
# 00gui.rpy:369
old "Are you sure you want to delete this save?"
new "Reaay ouyay uresay ouyay antway otay eleteday histay avesay?"
# 00gui.rpy:242
# 00gui.rpy:370
old "Are you sure you want to overwrite your save?"
new "Reaay ouyay uresay ouyay antway otay overwriteay ouryay avesay?"
# 00gui.rpy:243
# 00gui.rpy:371
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Oadinglay illway oselay unsaveday rogresspay.\nReaay ouyay uresay ouyay antway otay oday histay?"
# 00gui.rpy:244
# 00gui.rpy:372
old "Are you sure you want to quit?"
new "Reaay ouyay uresay ouyay antway otay uitqay?"
# 00gui.rpy:245
# 00gui.rpy:373
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Reaay ouyay uresay ouyay antway otay eturnray otay hetay ainmay enumay?\nHistay illway oselay unsaveday rogresspay."
# 00gui.rpy:246
# 00gui.rpy:374
old "Are you sure you want to end the replay?"
new "Reaay ouyay uresay ouyay antway otay enday hetay eplayray?"
# 00gui.rpy:247
# 00gui.rpy:375
old "Are you sure you want to begin skipping?"
new "Reaay ouyay uresay ouyay antway otay eginbay kippingsay?"
# 00gui.rpy:248
# 00gui.rpy:376
old "Are you sure you want to skip to the next choice?"
new "Reaay ouyay uresay ouyay antway otay kipsay otay hetay extnay oicechay?"
# 00gui.rpy:249
# 00gui.rpy:377
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Reaay ouyay uresay ouyay antway otay kipsay unseenay ialogueday otay hetay extnay oicechay?"
# 00keymap.rpy:262
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "Ailedfay otay avesay creenshotsay asay %say."
# 00keymap.rpy:270
old "Saved screenshot as %s."
new "Avedsay creenshotsay asay %say."
@@ -301,23 +349,203 @@ translate piglatin strings:
old "Self-voicing enabled. "
new "Elfsay-oicingvay enableday. "
# 00library.rpy:183
# 00library.rpy:150
old "bar"
new "arbay"
# 00library.rpy:151
old "selected"
new "electedsay"
# 00library.rpy:152
old "viewport"
new "iewportvay"
# 00library.rpy:153
old "horizontal scroll"
new "orizontalhay crollsay"
# 00library.rpy:154
old "vertical scroll"
new "erticalvay crollsay"
# 00library.rpy:155
old "activate"
new "activateay"
# 00library.rpy:156
old "deactivate"
new "eactivateday"
# 00library.rpy:157
old "increase"
new "increaseay"
# 00library.rpy:158
old "decrease"
new "ecreaseday"
# 00library.rpy:193
old "Skip Mode"
new "Kipsay Odemay"
# 00library.rpy:266
# 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 "Histay rogrampay ontainscay eefray oftwaresay underay aay umbernay ofay icenseslay, includingay hetay Itmay Icenselay anday Nugay Esserlay Eneralgay Ublicpay Icenselay. Aay ompletecay istlay ofay oftwaresay, includingay inkslay otay ullfay ourcesay odecay, ancay ebay oundfay {a=https://www.renpy.org/l/license}erehay{/a}."
# 00preferences.rpy:442
# 00preferences.rpy:207
old "display"
new "isplayday"
# 00preferences.rpy:219
old "transitions"
new "ansitionstray"
# 00preferences.rpy:228
old "skip transitions"
new "kipsay ansitionstray"
# 00preferences.rpy:230
old "video sprites"
new "ideovay pritessay"
# 00preferences.rpy:239
old "show empty window"
new "owshay emptyay indowway"
# 00preferences.rpy:248
old "text speed"
new "exttay peedsay"
# 00preferences.rpy:256
old "joystick"
new "oystickjay"
# 00preferences.rpy:256
old "joystick..."
new "oystickjay..."
# 00preferences.rpy:263
old "skip"
new "kipsay"
# 00preferences.rpy:266
old "skip unseen [text]"
new "kipsay unseenay [text]"
# 00preferences.rpy:271
old "skip unseen text"
new "kipsay unseenay exttay"
# 00preferences.rpy:273
old "begin skipping"
new "eginbay kippingsay"
# 00preferences.rpy:277
old "after choices"
new "afteray oiceschay"
# 00preferences.rpy:284
old "skip after choices"
new "kipsay afteray oiceschay"
# 00preferences.rpy:286
old "auto-forward time"
new "autoay-orwardfay imetay"
# 00preferences.rpy:300
old "auto-forward"
new "autoay-orwardfay"
# 00preferences.rpy:307
old "Auto forward"
new "Utoaay orwardfay"
# 00preferences.rpy:310
old "auto-forward after click"
new "autoay-orwardfay afteray ickclay"
# 00preferences.rpy:319
old "automatic move"
new "automaticay ovemay"
# 00preferences.rpy:328
old "wait for voice"
new "aitway orfay oicevay"
# 00preferences.rpy:337
old "voice sustain"
new "oicevay ustainsay"
# 00preferences.rpy:346
old "self voicing"
new "elfsay oicingvay"
# 00preferences.rpy:355
old "clipboard voicing"
new "ipboardclay oicingvay"
# 00preferences.rpy:364
old "debug voicing"
new "ebugday oicingvay"
# 00preferences.rpy:373
old "emphasize audio"
new "emphasizeay audioay"
# 00preferences.rpy:382
old "rollback side"
new "ollbackray idesay"
# 00preferences.rpy:392
old "gl powersave"
new "glay owersavepay"
# 00preferences.rpy:398
old "gl framerate"
new "glay ameratefray"
# 00preferences.rpy:401
old "gl tearing"
new "glay earingtay"
# 00preferences.rpy:413
old "music volume"
new "usicmay olumevay"
# 00preferences.rpy:414
old "sound volume"
new "oundsay olumevay"
# 00preferences.rpy:415
old "voice volume"
new "oicevay olumevay"
# 00preferences.rpy:416
old "mute music"
new "utemay usicmay"
# 00preferences.rpy:417
old "mute sound"
new "utemay oundsay"
# 00preferences.rpy:418
old "mute voice"
new "utemay oicevay"
# 00preferences.rpy:419
old "mute all"
new "utemay allay"
# 00preferences.rpy:498
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Lipboardcay oicingvay enableday. Resspay 'iftshay+Cay' otay isableday."
# 00preferences.rpy:444
# 00preferences.rpy:500
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Elfsay-oicingvay ouldway aysay \"[renpy.display.tts.last]\". Resspay 'altay+iftshay+Vay' otay isableday."
# 00preferences.rpy:446
# 00preferences.rpy:502
old "Self-voicing enabled. Press 'v' to disable."
new "Elfsay-oicingvay enableday. Resspay 'vay' otay isableday."
@@ -325,75 +553,75 @@ translate piglatin strings:
old "Contacting App Store\nPlease Wait..."
new "Ontactingcay Ppaay Toresay\nLeasepay Aitway..."
# 00updater.rpy:373
# 00updater.rpy:372
old "The Ren'Py Updater is not supported on mobile devices."
new "Hetay Enray'Ypay Pdateruay isay otnay upportedsay onay obilemay evicesday."
# 00updater.rpy:492
# 00updater.rpy:491
old "An error is being simulated."
new "Naay erroray isay eingbay imulatedsay."
# 00updater.rpy:668
# 00updater.rpy:672
old "Either this project does not support updating, or the update status file was deleted."
new "Ithereay histay rojectpay oesday otnay upportsay updatingay, oray hetay updateay atusstay ilefay asway eletedday."
# 00updater.rpy:682
# 00updater.rpy:686
old "This account does not have permission to perform an update."
new "Histay accountay oesday otnay avehay ermissionpay otay erformpay anay updateay."
# 00updater.rpy:685
# 00updater.rpy:689
old "This account does not have permission to write the update log."
new "Histay accountay oesday otnay avehay ermissionpay otay riteway hetay updateay oglay."
# 00updater.rpy:710
# 00updater.rpy:716
old "Could not verify update signature."
new "Ouldcay otnay erifyvay updateay ignaturesay."
# 00updater.rpy:981
# 00updater.rpy:991
old "The update file was not downloaded."
new "Hetay updateay ilefay asway otnay ownloadedday."
# 00updater.rpy:999
# 00updater.rpy:1009
old "The update file does not have the correct digest - it may have been corrupted."
new "Hetay updateay ilefay oesday otnay avehay hetay orrectcay igestday - itay aymay avehay eenbay orruptedcay."
# 00updater.rpy:1055
# 00updater.rpy:1065
old "While unpacking {}, unknown type {}."
new "Hileway unpackingay {}, unknownay ypetay {}."
# 00updater.rpy:1399
# 00updater.rpy:1412
old "Updater"
new "Pdateruay"
# 00updater.rpy:1410
# 00updater.rpy:1423
old "This program is up to date."
new "Histay rogrampay isay upay otay ateday."
# 00updater.rpy:1412
# 00updater.rpy:1425
old "[u.version] is available. Do you want to install it?"
new "[u.version] isay availableay. Oday ouyay antway otay installay itay?"
# 00updater.rpy:1414
# 00updater.rpy:1427
old "Preparing to download the updates."
new "Reparingpay otay ownloadday hetay updatesay."
# 00updater.rpy:1416
# 00updater.rpy:1429
old "Downloading the updates."
new "Ownloadingday hetay updatesay."
# 00updater.rpy:1418
# 00updater.rpy:1431
old "Unpacking the updates."
new "Npackinguay hetay updatesay."
# 00updater.rpy:1422
# 00updater.rpy:1435
old "The updates have been installed. The program will restart."
new "Hetay updatesay avehay eenbay installeday. Hetay rogrampay illway estartray."
# 00updater.rpy:1424
# 00updater.rpy:1437
old "The updates have been installed."
new "Hetay updatesay avehay eenbay installeday."
# 00updater.rpy:1426
# 00updater.rpy:1439
old "The updates were cancelled."
new "Hetay updatesay ereway ancelledcay."
+46 -46
View File
@@ -21,74 +21,74 @@ translate piglatin strings:
old "Variable Viewer"
new "Ariablevay Iewervay"
# _developer/developer.rpym:53
# _developer/developer.rpym:51
old "Image Location Picker"
new "Mageiay Ocationlay Ickerpay"
# _developer/developer.rpym:55
# _developer/developer.rpym:53
old "Filename List"
new "Ilenamefay Istlay"
# _developer/developer.rpym:59
old "Show Image Load Log"
new "Howsay Mageiay Oadlay Oglay"
# _developer/developer.rpym:57
old "Show Image Load Log (F4)"
new "Howsay Mageiay Oadlay Oglay (4fay)"
# _developer/developer.rpym:62
old "Hide Image Load Log"
new "Idehay Mageiay Oadlay Oglay"
# _developer/developer.rpym:60
old "Hide Image Load Log (F4)"
new "Idehay Mageiay Oadlay Oglay (4fay)"
# _developer/developer.rpym:67
old "Show Texture Size"
new "Howsay Exturetay Izesay"
# _developer/developer.rpym:70
old "Hide Texture size"
new "Idehay Exturetay izesay"
# _developer/developer.rpym:108
# _developer/developer.rpym:95
old "Nothing to inspect."
new "Othingnay otay inspectay."
# _developer/developer.rpym:236
# _developer/developer.rpym:223
old "Return to the developer menu"
new "Eturnray otay hetay eveloperday enumay"
# _developer/developer.rpym:396
# _developer/developer.rpym:383
old "Rectangle: %r"
new "Ectangleray: %ray"
# _developer/developer.rpym:401
# _developer/developer.rpym:388
old "Mouse position: %r"
new "Ousemay ositionpay: %ray"
# _developer/developer.rpym:406
# _developer/developer.rpym:393
old "Right-click or escape to quit."
new "Ightray-ickclay oray escapeay otay uitqay."
# _developer/developer.rpym:438
# _developer/developer.rpym:425
old "Rectangle copied to clipboard."
new "Ectangleray opiedcay otay ipboardclay."
# _developer/developer.rpym:441
# _developer/developer.rpym:428
old "Position copied to clipboard."
new "Ositionpay opiedcay otay ipboardclay."
# _developer/developer.rpym:550
# _developer/developer.rpym:447
old "Type to filter: "
new "Ypetay otay ilterfay: "
# _developer/developer.rpym:575
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Exturestay: [tex_count] ([tex_size_mb:.1f] Bmay)"
# _developer/developer.rpym:579
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Mageiay achecay: [cache_pct:.1f]% ([cache_size_mb:.1f] Bmay)"
# _developer/developer.rpym:589
old "✔ "
new "✔ "
# _developer/developer.rpym:553
# _developer/developer.rpym:592
old "✘ "
new "✘ "
# _developer/developer.rpym:558
# _developer/developer.rpym:597
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}✔ redictedpay imageay (oodgay){/color}\n{color=#fcc}✘ unpredicteday imageay (adbay){/color}\n{color=#fff}Ragday otay ovemay.{/color}"
# _developer/developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} Bmay inay {count} exturestay."
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Isplayableday Nspectoriay"
@@ -125,67 +125,67 @@ translate piglatin strings:
old "<repr() failed>"
new "<eprray() ailedfay>"
# 00console.rpy:227
# 00console.rpy:255
old "Press <esc> to exit console. Type help for help.\n"
new "Resspay <escay> otay exitay onsolecay. Ypetay elphay orfay elphay.\n"
# 00console.rpy:231
# 00console.rpy:259
old "Ren'Py script enabled."
new "Enray'Ypay criptsay enableday."
# 00console.rpy:233
# 00console.rpy:261
old "Ren'Py script disabled."
new "Enray'Ypay criptsay isabledday."
# 00console.rpy:459
# 00console.rpy:496
old "help: show this help"
new "elphay: owshay histay elphay"
# 00console.rpy:464
# 00console.rpy:501
old "commands:\n"
new "ommandscay:\n"
# 00console.rpy:474
# 00console.rpy:511
old " <renpy script statement>: run the statement\n"
new " <enpyray criptsay atementstay>: unray hetay atementstay\n"
# 00console.rpy:476
# 00console.rpy:513
old " <python expression or statement>: run the expression or statement"
new " <ythonpay expressionay oray atementstay>: unray hetay expressionay oray atementstay"
# 00console.rpy:484
# 00console.rpy:521
old "clear: clear the console history"
new "earclay: earclay hetay onsolecay istoryhay"
# 00console.rpy:488
# 00console.rpy:525
old "exit: exit the console"
new "exitay: exitay hetay onsolecay"
# 00console.rpy:496
# 00console.rpy:533
old "load <slot>: loads the game from slot"
new "oadlay <otslay>: oadslay hetay amegay omfray otslay"
# 00console.rpy:509
# 00console.rpy:546
old "save <slot>: saves the game in slot"
new "avesay <otslay>: avessay hetay amegay inay otslay"
# 00console.rpy:520
# 00console.rpy:557
old "reload: reloads the game, refreshing the scripts"
new "eloadray: eloadsray hetay amegay, efreshingray hetay criptssay"
# 00console.rpy:528
# 00console.rpy:565
old "watch <expression>: watch a python expression"
new "atchway <expressionay>: atchway aay ythonpay expressionay"
# 00console.rpy:554
# 00console.rpy:591
old "unwatch <expression>: stop watching an expression"
new "unwatchay <expressionay>: opstay atchingway anay expressionay"
# 00console.rpy:585
# 00console.rpy:622
old "unwatchall: stop watching all expressions"
new "unwatchallay: opstay atchingway allay expressionsay"
# 00console.rpy:602
# 00console.rpy:639
old "jump <label>: jumps to label"
new "umpjay <abellay>: umpsjay otay abellay"
+67 -43
View File
@@ -1,95 +1,119 @@
translate piglatin strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
new "Raphicsgay Ccelerationaay"
# 00gltest.rpy:70
old "Renderer"
new "Endererray"
# 00gltest.rpy:74
old "Automatically Choose"
new "Utomaticallyaay Hoosecay"
# 00gltest.rpy:75
# 00gltest.rpy:79
old "Force Angle/DirectX Renderer"
new "Orcefay Ngleaay/Irectxday Endererray"
# 00gltest.rpy:79
# 00gltest.rpy:83
old "Force OpenGL Renderer"
new "Orcefay Pengloay Endererray"
# 00gltest.rpy:83
# 00gltest.rpy:87
old "Force Software Renderer"
new "Orcefay Oftwaresay Endererray"
# 00gltest.rpy:89
# 00gltest.rpy:93
old "NPOT"
new "Potnay"
# 00gltest.rpy:93
# 00gltest.rpy:97
old "Enable"
new "Nableeay"
# 00gltest.rpy:124
# 00gltest.rpy:131
old "Powersave"
new "Owersavepay"
# 00gltest.rpy:145
old "Framerate"
new "Rameratefay"
# 00gltest.rpy:149
old "Screen"
new "Creensay"
# 00gltest.rpy:153
old "60"
new "06ay"
# 00gltest.rpy:157
old "30"
new "03ay"
# 00gltest.rpy:163
old "Tearing"
new "Earingtay"
# 00gltest.rpy:179
old "Changes will take effect the next time this program is run."
new "Hangescay illway aketay effectay hetay extnay imetay histay rogrampay isay unray."
# 00gltest.rpy:156
# 00gltest.rpy:213
old "Performance Warning"
new "Erformancepay Arningway"
# 00gltest.rpy:161
# 00gltest.rpy:218
old "This computer is using software rendering."
new "Histay omputercay isay usingay oftwaresay enderingray."
# 00gltest.rpy:163
# 00gltest.rpy:220
old "This computer is not using shaders."
new "Histay omputercay isay otnay usingay adersshay."
# 00gltest.rpy:165
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
new "Histay omputercay isay isplayingday aphicsgray owlyslay."
# 00gltest.rpy:167
# 00gltest.rpy:224
old "This computer has a problem displaying graphics: [problem]."
new "Histay omputercay ashay aay roblempay isplayingday aphicsgray: [problem]."
# 00gltest.rpy:172
# 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 "Tsiay aphicsgray riversday aymay ebay outay ofay ateday oray otnay operatingay orrectlycay. Histay ancay eadlay otay owslay oray incorrectay aphicsgray isplayday. Pdatinguay Irectxday ouldcay ixfay histay roblempay."
# 00gltest.rpy:174
# 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 "Tsiay aphicsgray riversday aymay ebay outay ofay ateday oray otnay operatingay orrectlycay. Histay ancay eadlay otay owslay oray incorrectay aphicsgray isplayday."
# 00gltest.rpy:179
# 00gltest.rpy:236
old "Update DirectX"
new "Pdateuay Irectxday"
# 00gltest.rpy:185
# 00gltest.rpy:242
old "Continue, Show this warning again"
new "Ontinuecay, Howsay histay arningway againay"
# 00gltest.rpy:189
# 00gltest.rpy:246
old "Continue, Don't show warning again"
new "Ontinuecay, Onday'tay owshay arningway againay"
# 00gltest.rpy:207
# 00gltest.rpy:264
old "Updating DirectX."
new "Pdatinguay Irectxday."
# 00gltest.rpy:211
# 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 "Irectxday ebway etupsay ashay eenbay artedstay. Tiay aymay artstay inimizedmay inay hetay askbartay. Leasepay ollowfay hetay romptspay otay installay Irectxday."
# 00gltest.rpy:215
# 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}Otenay:{/b} Icrosoftmay'say Irectxday ebway etupsay rogrampay illway, ybay efaultday, installay hetay Ingbay oolbartay. Fiay ouyay oday otnay antway histay oolbartay, uncheckay hetay appropriateay oxbay."
# 00gltest.rpy:219
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "Henway etupsay inishesfay, easeplay ickclay elowbay otay estartray histay rogrampay."
# 00gltest.rpy:221
# 00gltest.rpy:278
old "Restart"
new "Estartray"
@@ -117,75 +141,75 @@ translate piglatin strings:
old "Back (B)"
new "Ackbay (Bay)"
# _errorhandling.rpym:523
# _errorhandling.rpym:528
old "Open"
new "Penoay"
# _errorhandling.rpym:525
# _errorhandling.rpym:530
old "Opens the traceback.txt file in a text editor."
new "Pensoay hetay acebacktray.xttay ilefay inay aay exttay editoray."
# _errorhandling.rpym:527
# _errorhandling.rpym:532
old "Copy"
new "Opycay"
# _errorhandling.rpym:529
# _errorhandling.rpym:534
old "Copies the traceback.txt file to the clipboard."
new "Opiescay hetay acebacktray.xttay ilefay otay hetay ipboardclay."
# _errorhandling.rpym:556
# _errorhandling.rpym:561
old "An exception has occurred."
new "Naay exceptionay ashay occurreday."
# _errorhandling.rpym:576
# _errorhandling.rpym:581
old "Rollback"
new "Ollbackray"
# _errorhandling.rpym:578
# _errorhandling.rpym:583
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Ttemptsaay aay ollray ackbay otay aay riorpay imetay, allowingay ouyay otay avesay oray oosechay aay ifferentday oicechay."
# _errorhandling.rpym:581
# _errorhandling.rpym:586
old "Ignore"
new "Gnoreiay"
# _errorhandling.rpym:585
# _errorhandling.rpym:590
old "Ignores the exception, allowing you to continue."
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay."
# _errorhandling.rpym:587
# _errorhandling.rpym:592
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay. Histay oftenay eadslay otay additionalay errorsay."
# _errorhandling.rpym:591
# _errorhandling.rpym:596
old "Reload"
new "Eloadray"
# _errorhandling.rpym:593
# _errorhandling.rpym:598
old "Reloads the game from disk, saving and restoring game state if possible."
new "Eloadsray hetay amegay omfray iskday, avingsay anday estoringray amegay atestay ifay ossiblepay."
# _errorhandling.rpym:596
# _errorhandling.rpym:601
old "Console"
new "Onsolecay"
# _errorhandling.rpym:598
# _errorhandling.rpym:603
old "Opens a console to allow debugging the problem."
new "Pensoay aay onsolecay otay alloway ebuggingday hetay roblempay."
# _errorhandling.rpym:608
# _errorhandling.rpym:613
old "Quits the game."
new "Uitsqay hetay amegay."
# _errorhandling.rpym:632
# _errorhandling.rpym:637
old "Parsing the script failed."
new "Arsingpay hetay criptsay ailedfay."
# _errorhandling.rpym:658
# _errorhandling.rpym:663
old "Opens the errors.txt file in a text editor."
new "Pensoay hetay errorsay.xttay ilefay inay aay exttay editoray."
# _errorhandling.rpym:662
# _errorhandling.rpym:667
old "Copies the errors.txt file to the clipboard."
new "Opiescay hetay errorsay.xttay ilefay otay hetay ipboardclay."
+17 -13
View File
@@ -374,58 +374,62 @@ translate piglatin strings:
new "## Hetay ordersbay ofay hetay ackgroundbay ofay hetay Vlnay-odemay ackgroundbay indowway."
# gui.rpy:363
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## Hetay aximummay umbernay ofay Vlnay-odemay entriesay Enray'Ypay illway isplayday. Henway oremay entriesay hantay histay areay otay ebay owshay, hetay oldestay entryay illway ebay emovedray."
# gui.rpy:367
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Hetay eighthay ofay anay Vlnay-odemay entryay. Etsay histay otay Onenay otay avehay hetay entriesay ynamicallyday adjustay eighthay."
# gui.rpy:367
# gui.rpy:371
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Hetay pacingsay etweenbay Vlnay-odemay entriesay henway uigay.vl_heightnay isay Onenay, anday etweenbay Vlnay-odemay entriesay anday anay Vlnay-odemay enumay."
# gui.rpy:384
# gui.rpy:388
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## Hetay ositionpay, idthway, anday alignmentay ofay vl_thoughtnay exttay (hetay exttay aidsay ybay hetay vl_narratornay aracterchay.)"
# gui.rpy:391
# gui.rpy:395
old "## The position of nvl menu_buttons."
new "## Hetay ositionpay ofay vlnay enu_buttonsmay."
# gui.rpy:395
# gui.rpy:399
old "## Localization"
new "## Ocalizationlay"
# gui.rpy:397
# gui.rpy:401
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 "## Histay ontrolscay hereway aay inelay eakbray isay ermittedpay. Hetay efaultday isay uitablesay orfay ostmay anguageslay. Aay istlay ofay availableay aluesvay ancay ebay oundfay atay ttpshay://wwway.enpyray.orgay/ocday/tmlhay/yle_propertiesstay.tmlhay#ylestay-ropertypay-anguagelay"
# gui.rpy:405
# gui.rpy:409
old "## Mobile devices"
new "## Obilemay evicesday"
# gui.rpy:410
# gui.rpy:414
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Histay increasesay hetay izesay ofay hetay uickqay uttonsbay otay akemay hemtay easieray otay ouchtay onay abletstay anday onesphay."
# gui.rpy:416
# gui.rpy:420
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Histay angeschay hetay izesay anday pacingsay ofay ariousvay Uigay elementsay otay ensureay heytay areay easilyay isiblevay onay onesphay."
# gui.rpy:420
# gui.rpy:424
old "## Font sizes."
new "## Ontfay izessay."
# gui.rpy:428
# gui.rpy:432
old "## Adjust the location of the textbox."
new "## Djustaay hetay ocationlay ofay hetay extboxtay."
# gui.rpy:434
# gui.rpy:438
old "## Change the size and spacing of various things."
new "## Hangecay hetay izesay anday pacingsay ofay ariousvay hingstay."
# gui.rpy:447
# gui.rpy:451
old "## File button layout."
new "## Ilefay uttonbay ayoutlay."
# gui.rpy:451
# gui.rpy:455
old "## NVL-mode."
new "## Vlnay-odemay."
+146 -110
View File
@@ -101,99 +101,99 @@ translate piglatin strings:
old "Retrieves the log from the Android device and writes it to a file."
new "Etrievesray hetay oglay omfray hetay Ndroidaay eviceday anday ritesway itay otay aay ilefay."
# android.rpy:240
# android.rpy:244
old "Copying Android files to distributions directory."
new "Opyingcay Ndroidaay ilesfay otay istributionsday irectoryday."
# android.rpy:304
# android.rpy:308
old "Android: [project.current.display_name!q]"
new "Ndroidaay: [project.current.display_name!q]"
# android.rpy:324
# android.rpy:328
old "Emulation:"
new "Mulationeay:"
# android.rpy:333
# android.rpy:337
old "Phone"
new "Honepay"
# android.rpy:337
# android.rpy:341
old "Tablet"
new "Ablettay"
# android.rpy:341
# android.rpy:345
old "Television"
new "Elevisiontay"
# android.rpy:353
# android.rpy:357
old "Build:"
new "Uildbay:"
# android.rpy:361
# android.rpy:365
old "Install SDK & Create Keys"
new "Nstalliay Dksay & Reatecay Eyskay"
# android.rpy:365
# android.rpy:369
old "Configure"
new "Onfigurecay"
# android.rpy:369
# android.rpy:373
old "Build Package"
new "Uildbay Ackagepay"
# android.rpy:373
# android.rpy:377
old "Build & Install"
new "Uildbay & Nstalliay"
# android.rpy:377
# android.rpy:381
old "Build, Install & Launch"
new "Uildbay, Nstalliay & Aunchlay"
# android.rpy:388
# android.rpy:392
old "Other:"
new "Theroay:"
# android.rpy:396
# android.rpy:400
old "Remote ADB Connect"
new "Emoteray Dbaay Onnectcay"
# android.rpy:400
# android.rpy:404
old "Remote ADB Disconnect"
new "Emoteray Dbaay Isconnectday"
# android.rpy:404
# android.rpy:408
old "Logcat"
new "Ogcatlay"
# android.rpy:437
# android.rpy:441
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
new "Eforebay ackagingpay Ndroidaay appsay, ouyay'llay eednay otay ownloadday Aptray, hetay Enray'Ypay Ndroidaay Ackagingpay Ooltay. Ouldway ouyay ikelay otay ownloadday Aptray ownay?"
# android.rpy:496
# android.rpy:500
old "Remote ADB Address"
new "Emoteray Dbaay Ddressaay"
# android.rpy:496
# android.rpy:500
old "Please enter the IP address and port number to connect to, in the form \"192.168.1.143:5555\". Consult your device's documentation to determine if it supports remote ADB, and if so, the address and port to use."
new "Leasepay enteray hetay Piay addressay anday ortpay umbernay otay onnectcay otay, inay hetay ormfay \"921ay.681ay.1ay.431ay:5555ay\". Onsultcay ouryay eviceday'say ocumentationday otay etermineday ifay itay upportssay emoteray Dbaay, anday ifay osay, hetay addressay anday ortpay otay useay."
# android.rpy:508
# android.rpy:512
old "Invalid remote ADB address"
new "Nvalidiay emoteray Dbaay addressay"
# android.rpy:508
# android.rpy:512
old "The address must contain one exactly one ':'."
new "Hetay addressay ustmay ontaincay oneay exactlyay oneay ':'."
# android.rpy:512
# android.rpy:516
old "The host may not contain whitespace."
new "Hetay osthay aymay otnay ontaincay hitespaceway."
# android.rpy:518
# android.rpy:522
old "The port must be a number."
new "Hetay ortpay ustmay ebay aay umbernay."
# android.rpy:544
# android.rpy:548
old "Retrieving logcat information from device."
new "Etrievingray ogcatlay informationay omfray eviceday."
@@ -261,31 +261,31 @@ translate piglatin strings:
old "Archiving files..."
new "Rchivingaay ilesfay..."
# distribute.rpy:1055
# distribute.rpy:1068
old "Unpacking the Macintosh application for signing..."
new "Npackinguay hetay Acintoshmay applicationay orfay igningsay..."
# distribute.rpy:1065
# distribute.rpy:1078
old "Signing the Macintosh application...\n(This may take a long time.)"
new "Igningsay hetay Acintoshmay applicationay...\n(Histay aymay aketay aay onglay imetay.)"
# distribute.rpy:1087
# distribute.rpy:1100
old "Creating the Macintosh DMG..."
new "Reatingcay hetay Acintoshmay Mgday..."
# distribute.rpy:1096
# distribute.rpy:1109
old "Signing the Macintosh DMG..."
new "Igningsay hetay Acintoshmay Mgday..."
# distribute.rpy:1291
# distribute.rpy:1304
old "Writing the [variant] [format] package."
new "Ritingway hetay [variant] [format] ackagepay."
# distribute.rpy:1304
# distribute.rpy:1317
old "Making the [variant] update zsync file."
new "Akingmay hetay [variant] updateay synczay ilefay."
# distribute.rpy:1414
# distribute.rpy:1427
old "Processed {b}[complete]{/b} of {b}[total]{/b} files."
new "Rocessedpay {b}[complete]{/b} ofay {b}[total]{/b} ilesfay."
@@ -357,51 +357,79 @@ translate piglatin strings:
old "Your project does not contain build information. Would you like to add build information to the end of options.rpy?"
new "Ouryay rojectpay oesday otnay ontaincay uildbay informationay. Ouldway ouyay ikelay otay adday uildbay informationay otay hetay enday ofay optionsay.pyray?"
# 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}Ecommendedray.{/b} Aay etabay editoray ithway anay easyay otay useay interfaceay anday eaturesfay hattay aiday inay evelopmentday, uchsay asay pellsay-eckingchay. Ditraeay urrentlycay ackslay hetay Meiay upportsay equiredray orfay Hinesecay, Apanesejay, anday Oreankay exttay inputay."
# dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
new "Enray'Ypay isay unningray omfray aay eadray onlyay olderfay. Omesay unctionalityfay illway otnay orkway."
# 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}Ecommendedray.{/b} Aay etabay editoray ithway anay easyay otay useay interfaceay anday eaturesfay hattay aiday inay evelopmentday, uchsay asay pellsay-eckingchay. Ditraeay urrentlycay ackslay hetay Meiay upportsay equiredray orfay Hinesecay, Apanesejay, anday Oreankay exttay inputay. Noay Inuxlay, Ditraeay equiresray xPythonway."
# dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "Histay isay robablypay ecausebay Enray'Ypay isay unningray irectlyday omfray aay Acintoshmay riveday imageay. Otay ixfay histay, uitqay histay auncherlay, opycay hetay entireay %say olderfay omewheresay elseay onay ouryay omputercay, anday unray Enray'Ypay againay."
# editor.rpy:167
# editor.rpy:152
old "(Recommended) A modern and approachable text editor."
new "(Ecommendedray) Aay odernmay anday approachableay exttay editoray."
# editor.rpy:164
old "Up to 150 MB download required."
new "Puay otay 501ay Bmay ownloadday equiredray."
# editor.rpy:178
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input."
new "Aay aturemay editoray. Ditraeay ackslay hetay Meiay upportsay equiredray orfay Hinesecay, Apanesejay, anday Oreankay exttay inputay."
# editor.rpy:179
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
new "Aay aturemay editoray. Ditraeay ackslay hetay Meiay upportsay equiredray orfay Hinesecay, Apanesejay, anday Oreankay exttay inputay. Noay Inuxlay, Ditraeay equiresray xPythonway."
# editor.rpy:195
old "This may have occured because wxPython is not installed on this system."
new "Histay aymay avehay occureday ecausebay xPythonway isay otnay installeday onay histay ystemsay."
# editor.rpy:169
# editor.rpy:197
old "Up to 22 MB download required."
new "Puay otay 22ay Bmay ownloadday equiredray."
# editor.rpy:182
# editor.rpy:210
old "A mature editor that requires Java."
new "Aay aturemay editoray hattay equiresray Avajay."
# editor.rpy:182
# editor.rpy:210
old "1.8 MB download required."
new "1ay.8ay Bmay ownloadday equiredray."
# editor.rpy:182
# editor.rpy:210
old "This may have occured because Java is not installed on this system."
new "Histay aymay avehay occureday ecausebay Avajay isay otnay installeday onay histay ystemsay."
# editor.rpy:191
# editor.rpy:219
old "System Editor"
new "Ystemsay Ditoreay"
# editor.rpy:219
old "Invokes the editor your operating system has associated with .rpy files."
new "Nvokesiay hetay editoray ouryay operatingay ystemsay ashay associateday ithway .pyray ilesfay."
# editor.rpy:207
# editor.rpy:235
old "None"
new "Onenay"
# editor.rpy:235
old "Prevents Ren'Py from opening a text editor."
new "Reventspay Enray'Ypay omfray openingay aay exttay editoray."
# editor.rpy:359
# editor.rpy:338
old "Edit [text]."
new "Diteay [text]."
# editor.rpy:387
old "An exception occured while launching the text editor:\n[exception!q]"
new "Naay exceptionay occureday hileway aunchinglay hetay exttay editoray:\n[exception!q]"
# editor.rpy:457
# editor.rpy:519
old "Select Editor"
new "Electsay Ditoreay"
# editor.rpy:472
# editor.rpy:534
old "A text editor is the program you'll use to edit Ren'Py script files. Here, you can select the editor Ren'Py will use. If not already present, the editor will be automatically downloaded and installed."
new "Aay exttay editoray isay hetay rogrampay ouyay'llay useay otay editay Enray'Ypay criptsay ilesfay. Erehay, ouyay ancay electsay hetay editoray Enray'Ypay illway useay. Fiay otnay alreadyay resentpay, hetay editoray illway ebay automaticallyay ownloadedday anday installeday."
@@ -469,59 +497,67 @@ translate piglatin strings:
old "Edit File"
new "Diteay Ilefay"
# front_page.rpy:214
# front_page.rpy:215
old "Open project"
new "Penoay rojectpay"
# front_page.rpy:217
old "All script files"
new "Llaay criptsay ilesfay"
# front_page.rpy:223
# front_page.rpy:221
old "Actions"
new "Ctionsaay"
# front_page.rpy:230
old "Navigate Script"
new "Avigatenay Criptsay"
# front_page.rpy:234
# front_page.rpy:231
old "Check Script (Lint)"
new "Heckcay Criptsay (Intlay)"
# front_page.rpy:237
# front_page.rpy:234
old "Change/Update GUI"
new "Hangecay/Pdateuay Uigay"
# front_page.rpy:239
# front_page.rpy:236
old "Change Theme"
new "Hangecay Hemetay"
# front_page.rpy:242
# front_page.rpy:239
old "Delete Persistent"
new "Eleteday Ersistentpay"
# front_page.rpy:251
# front_page.rpy:248
old "Build Distributions"
new "Uildbay Istributionsday"
# front_page.rpy:253
# front_page.rpy:250
old "Android"
new "Ndroidaay"
# front_page.rpy:254
# front_page.rpy:251
old "iOS"
new "iOSay"
# front_page.rpy:255
# front_page.rpy:252
old "Generate Translations"
new "Enerategay Ranslationstay"
# front_page.rpy:256
# front_page.rpy:253
old "Extract Dialogue"
new "Xtracteay Ialogueday"
# front_page.rpy:272
# front_page.rpy:270
old "Checking script for potential problems..."
new "Heckingcay criptsay orfay otentialpay roblemspay..."
# front_page.rpy:287
# front_page.rpy:285
old "Deleting persistent data..."
new "Eletingday ersistentpay ataday..."
# front_page.rpy:295
# front_page.rpy:293
old "Recompiling all rpy files into rpyc files..."
new "Ecompilingray allay pyray ilesfay intoay pycray ilesfay..."
@@ -793,63 +829,63 @@ translate piglatin strings:
old "Navigate: [project.current.display_name!q]"
new "Avigatenay: [project.current.display_name!q]"
# navigation.rpy:177
# navigation.rpy:178
old "Order: "
new "Rderoay: "
# navigation.rpy:178
# navigation.rpy:179
old "alphabetical"
new "alphabeticalay"
# navigation.rpy:180
# navigation.rpy:181
old "by-file"
new "ybay-ilefay"
# navigation.rpy:182
# navigation.rpy:183
old "natural"
new "aturalnay"
# navigation.rpy:194
# navigation.rpy:195
old "Category:"
new "Ategorycay:"
# navigation.rpy:196
# navigation.rpy:198
old "files"
new "ilesfay"
# navigation.rpy:197
# navigation.rpy:199
old "labels"
new "abelslay"
# navigation.rpy:198
# navigation.rpy:200
old "defines"
new "efinesday"
# navigation.rpy:199
# navigation.rpy:201
old "transforms"
new "ansformstray"
# navigation.rpy:200
# navigation.rpy:202
old "screens"
new "creenssay"
# navigation.rpy:201
# navigation.rpy:203
old "callables"
new "allablescay"
# navigation.rpy:202
# navigation.rpy:204
old "TODOs"
new "Odostay"
# navigation.rpy:241
# navigation.rpy:243
old "+ Add script file"
new "+ Ddaay criptsay ilefay"
# navigation.rpy:249
# navigation.rpy:251
old "No TODO comments found.\n\nTo create one, include \"# TODO\" in your script."
new "Onay Odotay ommentscay oundfay.\n\nOtay reatecay oneay, includeay \"# Odotay\" inay ouryay criptsay."
# navigation.rpy:256
# navigation.rpy:258
old "The list of names is empty."
new "Hetay istlay ofay amesnay isay emptyay."
@@ -1001,139 +1037,139 @@ translate piglatin strings:
old "Have you backed up your projects recently?"
new "Avehay ouyay ackedbay upay ouryay rojectspay ecentlyray?"
# project.rpy:276
# project.rpy:280
old "Launching the project failed."
new "Aunchinglay hetay rojectpay ailedfay."
# project.rpy:276
# project.rpy:280
old "Please ensure that your project launches normally before running this command."
new "Leasepay ensureay hattay ouryay rojectpay auncheslay ormallynay eforebay unningray histay ommandcay."
# project.rpy:289
# project.rpy:296
old "Ren'Py is scanning the project..."
new "Enray'Ypay isay canningsay hetay rojectpay..."
# project.rpy:696
# project.rpy:725
old "Launching"
new "Aunchinglay"
# project.rpy:730
# project.rpy:759
old "PROJECTS DIRECTORY"
new "Rojectspay Irectoryday"
# project.rpy:730
# project.rpy:759
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
new "Leasepay oosechay hetay rojectspay irectoryday usingay hetay irectoryday ooserchay.\n{b}Hetay irectoryday ooserchay aymay avehay openeday ehindbay histay indowway.{/b}"
# project.rpy:730
# project.rpy:759
old "This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."
new "Histay auncherlay illway cansay orfay rojectspay inay histay irectoryday, illway reatecay ewnay rojectspay inay histay irectoryday, anday illway aceplay uiltbay rojectspay intoay histay irectoryday."
# project.rpy:735
# project.rpy:764
old "Ren'Py has set the projects directory to:"
new "Enray'Ypay ashay etsay hetay rojectspay irectoryday otay:"
# translations.rpy:92
# translations.rpy:91
old "Translations: [project.current.display_name!q]"
new "Ranslationstay: [project.current.display_name!q]"
# translations.rpy:133
# translations.rpy:132
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "Hetay anguagelay otay orkway ithway. Histay ouldshay onlyay ontaincay owerlay-asecay Sciiaay aracterschay anday underscoresay."
# translations.rpy:159
# translations.rpy:158
old "Generate empty strings for translations"
new "Enerategay emptyay ringsstay orfay anslationstray"
# translations.rpy:177
# translations.rpy:176
old "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "Eneratesgay oray updatesay anslationtray ilesfay. Hetay ilesfay illway ebay acedplay inay amegay/ltay/[persistent.translate_language!q]."
# translations.rpy:197
# translations.rpy:196
old "Extract String Translations"
new "Xtracteay Tringsay Ranslationstay"
# translations.rpy:199
# translations.rpy:198
old "Merge String Translations"
new "Ergemay Tringsay Ranslationstay"
# translations.rpy:204
# translations.rpy:203
old "Replace existing translations"
new "Eplaceray existingay anslationstray"
# translations.rpy:205
# translations.rpy:204
old "Reverse languages"
new "Everseray anguageslay"
# translations.rpy:209
# translations.rpy:208
old "Update Default Interface Translations"
new "Pdateuay Efaultday Nterfaceiay Ranslationstay"
# translations.rpy:229
# translations.rpy:228
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "Hetay extractay ommandcay allowsay ouyay otay extractay ringstay anslationstray omfray anay existingay rojectpay intoay aay emporarytay ilefay.\n\nHetay ergemay ommandcay ergesmay extracteday anslationstray intoay anotheray rojectpay."
# translations.rpy:253
# translations.rpy:252
old "Ren'Py is generating translations...."
new "Enray'Ypay isay eneratinggay anslationstray...."
# translations.rpy:264
# translations.rpy:263
old "Ren'Py has finished generating [language] translations."
new "Enray'Ypay ashay inishedfay eneratinggay [language] anslationstray."
# translations.rpy:277
# translations.rpy:276
old "Ren'Py is extracting string translations..."
new "Enray'Ypay isay extractingay ringstay anslationstray..."
# translations.rpy:280
# translations.rpy:279
old "Ren'Py has finished extracting [language] string translations."
new "Enray'Ypay ashay inishedfay extractingay [language] ringstay anslationstray."
# translations.rpy:300
# translations.rpy:299
old "Ren'Py is merging string translations..."
new "Enray'Ypay isay ergingmay ringstay anslationstray..."
# translations.rpy:303
# translations.rpy:302
old "Ren'Py has finished merging [language] string translations."
new "Enray'Ypay ashay inishedfay ergingmay [language] ringstay anslationstray."
# translations.rpy:314
# translations.rpy:313
old "Updating default interface translations..."
new "Pdatinguay efaultday interfaceay anslationstray..."
# translations.rpy:343
# translations.rpy:342
old "Extract Dialogue: [project.current.display_name!q]"
new "Xtracteay Ialogueday: [project.current.display_name!q]"
# translations.rpy:359
# translations.rpy:358
old "Format:"
new "Ormatfay:"
# translations.rpy:367
# translations.rpy:366
old "Tab-delimited Spreadsheet (dialogue.tab)"
new "Abtay-elimitedday Preadsheetsay (ialogueday.abtay)"
# translations.rpy:368
# translations.rpy:367
old "Dialogue Text Only (dialogue.txt)"
new "Ialogueday Exttay Nlyoay (ialogueday.xttay)"
# translations.rpy:381
# translations.rpy:380
old "Strip text tags from the dialogue."
new "Tripsay exttay agstay omfray hetay ialogueday."
# translations.rpy:382
# translations.rpy:381
old "Escape quotes and other special characters."
new "Scapeeay uotesqay anday otheray pecialsay aracterschay."
# translations.rpy:383
# translations.rpy:382
old "Extract all translatable strings, not just dialogue."
new "Xtracteay allay anslatabletray ringsstay, otnay ustjay ialogueday."
# translations.rpy:411
# translations.rpy:410
old "Ren'Py is extracting dialogue...."
new "Enray'Ypay isay extractingay ialogueday...."
# translations.rpy:415
# translations.rpy:414
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "Enray'Ypay ashay inishedfay extractingay ialogueday. Hetay extracteday ialogueday ancay ebay oundfay inay ialogueday.[persistent.dialogue_format] inay hetay asebay irectoryday."
+43 -43
View File
@@ -34,170 +34,170 @@ translate piglatin strings:
new "## Hetay ersionvay ofay hetay amegay."
# 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 "## Exttay hattay isay acedplay onay hetay amegay'say aboutay creensay. Otay insertay aay ankblay inelay etweenbay aragraphspay, riteway \\nay\\nay."
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 "## Exttay hattay isay acedplay onay hetay amegay'say aboutay creensay. Lacepay hetay exttay etweenbay hetay ipletray-uotesqay, anday eavelay aay ankblay inelay etweenbay aragraphspay."
# 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 "## Aay ortshay amenay orfay hetay amegay useday orfay executablesay anday irectoriesday inay hetay uiltbay istributionday. Histay ustmay ebay Sciiaay-onlyay, anday ustmay otnay ontaincay pacessay, olonscay, oray emicolonssay."
# options.rpy:44
# options.rpy:45
old "## Sounds and music"
new "## Oundssay anday usicmay"
# 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 "## Hesetay hreetay ariablesvay ontrolcay hichway ixersmay areay ownshay otay hetay ayerplay ybay efaultday. Ettingsay oneay ofay hesetay otay Alsefay illway idehay hetay appropriateay ixermay."
# 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 "## Otay alloway hetay useray otay ayplay aay esttay oundsay onay hetay oundsay oray oicevay annelchay, uncommentay aay inelay elowbay anday useay itay otay etsay aay amplesay oundsay otay ayplay."
# 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 "## Ncommentuay hetay ollowingfay inelay otay etsay anay audioay ilefay hattay illway ebay ayedplay hileway hetay ayerplay isay atay hetay ainmay enumay. Histay ilefay illway ontinuecay ayingplay intoay hetay amegay, untilay itay isay oppedstay oray anotheray ilefay isay ayedplay."
# options.rpy:69
# options.rpy:70
old "## Transitions"
new "## Ransitionstay"
# 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 "## Hesetay ariablesvay etsay ansitionstray hattay areay useday henway ertaincay eventsay occuray. Acheay ariablevay ouldshay ebay etsay otay aay ansitiontray, oray Onenay otay indicateay hattay onay ansitiontray ouldshay ebay useday."
# options.rpy:75
# options.rpy:76
old "## Entering or exiting the game menu."
new "## Nteringeay oray exitingay hetay amegay enumay."
# options.rpy:81
# options.rpy:82
old "## Between screens of the game menu."
new "## Etweenbay creenssay ofay hetay amegay enumay."
# options.rpy:86
# options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## Aay ansitiontray hattay isay useday afteray aay amegay ashay eenbay oadedlay."
# options.rpy:91
# options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Seduay henway enteringay hetay ainmay enumay afteray hetay amegay ashay endeday."
# options.rpy:96
# 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 "## Aay ariablevay otay etsay hetay ansitiontray useday henway hetay amegay artsstay oesday otnay existay. Nsteadiay, useay aay ithway atementstay afteray owingshay hetay initialay cenesay."
# options.rpy:101
# options.rpy:102
old "## Window management"
new "## Indowway anagementmay"
# options.rpy:103
# 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 "## Histay ontrolscay henway hetay ialogueday indowway isay isplayedday. Fiay \"owshay\", itay isay alwaysay isplayedday. Fiay \"idehay\", itay isay onlyay isplayedday henway ialogueday isay resentpay. Fiay \"autoay\", hetay indowway isay iddenhay eforebay cenesay atementsstay anday ownshay againay onceay ialogueday isay isplayedday."
# options.rpy:108
# options.rpy:109
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## Fteraay hetay amegay ashay artedstay, histay ancay ebay angedchay ithway hetay \"indowway owshay\", \"indowway idehay\", anday \"indowway autoay\" atementsstay."
# options.rpy:114
# options.rpy:115
old "## Transitions used to show and hide the dialogue window"
new "## Ransitionstay useday otay owshay anday idehay hetay ialogueday indowway"
# options.rpy:120
# options.rpy:121
old "## Preference defaults"
new "## Referencepay efaultsday"
# options.rpy:122
# 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 "## Ontrolscay hetay efaultday exttay peedsay. Hetay efaultday, 0ay, isay infiniteay, hileway anyay otheray umbernay isay hetay umbernay ofay aracterschay erpay econdsay otay ypetay outay."
# options.rpy:128
# options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Hetay efaultday autoay-orwardfay elayday. Argerlay umbersnay eadlay otay ongerlay aitsway, ithway 0ay otay 03ay eingbay hetay alidvay angeray."
# options.rpy:134
# options.rpy:135
old "## Save directory"
new "## Avesay irectoryday"
# options.rpy:136
# 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 "## Ontrolscay hetay atformplay-pecificsay aceplay Enray'Ypay illway aceplay hetay avesay ilesfay orfay histay amegay. Hetay avesay ilesfay illway ebay acedplay inay:"
# options.rpy:139
# options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Indowsway: %Ppdataaay\\Enpyray\\<onfigcay.ave_directorysay>"
# options.rpy:141
# options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Acintoshmay: $Omehay/Ibrarylay/Enpyray/<onfigcay.ave_directorysay>"
# options.rpy:143
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Inuxlay: $Omehay/.enpyray/<onfigcay.ave_directorysay>"
# options.rpy:145
# options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Histay enerallygay ouldshay otnay ebay angedchay, anday ifay itay isay, ouldshay alwaysay ebay aay iterallay ringstay, otnay anay expressionay."
# options.rpy:151
# options.rpy:152
old "## Icon"
new "## Coniay"
# options.rpy:153
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Hetay iconay isplayedday onay hetay askbartay oray ockday."
# options.rpy:158
# options.rpy:159
old "## Build configuration"
new "## Uildbay onfigurationcay"
# options.rpy:160
# options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Histay ectionsay ontrolscay owhay Enray'Ypay urnstay ouryay rojectpay intoay istributionday ilesfay."
# options.rpy:165
# 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 "## Hetay ollowingfay unctionsfay aketay ilefay atternspay. Ilefay atternspay areay asecay- insensitiveay, anday atchedmay againstay hetay athpay elativeray otay hetay asebay irectoryday, ithway anday ithoutway aay eadinglay /. Fiay ultiplemay atternspay atchmay, hetay irstfay isay useday."
# options.rpy:170
# options.rpy:171
old "## In a pattern:"
new "## Niay aay atternpay:"
# options.rpy:172
# options.rpy:173
old "## / is the directory separator."
new "## / isay hetay irectoryday eparatorsay."
# options.rpy:174
# options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * atchesmay allay aracterschay, exceptay hetay irectoryday eparatorsay."
# options.rpy:176
# options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** atchesmay allay aracterschay, includingay hetay irectoryday eparatorsay."
# options.rpy:178
# 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 "## Orfay exampleay, \"*.xttay\" atchesmay xttay ilesfay inay hetay asebay irectoryday, \"amegay/**.oggay\" atchesmay oggay ilesfay inay hetay amegay irectoryday oray anyay ofay itsay ubdirectoriessay, anday \"**.sdpay\" atchesmay sdpay ilesfay anywhereay inay hetay rojectpay."
# options.rpy:182
# options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Lassifycay ilesfay asay Onenay otay excludeay hemtay omfray hetay uiltbay istributionsday."
# options.rpy:190
# options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Otay archiveay ilesfay, assifyclay hemtay asay 'archiveay'."
# options.rpy:195
# 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 "## Ilesfay atchingmay ocumentationday atternspay areay uplicatedday inay aay acmay appay uildbay, osay heytay appearay inay othbay hetay appay anday hetay ipzay ilefay."
# options.rpy:201
# 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 "## Etsay histay otay aay ringstay ontainingcay ouryay Ppleaay Eveloperday Diay Pplicationaay otay enableay odesigningcay onay hetay Acmay. Ebay uresay otay angechay itay otay ouryay ownay Ppleaay-issueday Diay."
# options.rpy:208
# 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 "## Aay Ooglegay Laypay icenselay eykay isay equiredray otay ownloadday expansionay ilesfay anday erformpay inay-appay urchasespay. Tiay ancay ebay oundfay onay hetay \"Ervicessay & Pisaay\" agepay ofay hetay Ooglegay Laypay eveloperday onsolecay."
# options.rpy:215
# options.rpy:216
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Hetay usernameay anday rojectpay amenay associateday ithway anay itchay.ioay rojectpay, eparatedsay ybay aay ashslay."
+117 -117
View File
@@ -205,471 +205,471 @@ translate piglatin strings:
old "## Reserve space for the navigation section."
new "## Eserveray pacesay orfay hetay avigationnay ectionsay."
# screens.rpy:471
# screens.rpy:473
old "Return"
new "Eturnray"
# screens.rpy:534
# screens.rpy:536
old "## About screen"
new "## Boutaay creensay"
# screens.rpy:536
# screens.rpy:538
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Histay creensay ivesgay reditcay anday opyrightcay informationay aboutay hetay amegay anday Enray'Ypay."
# screens.rpy:539
# 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 "## Heretay'say othingnay pecialsay aboutay histay creensay, anday encehay itay alsoay ervessay asay anay exampleay ofay owhay otay akemay aay ustomcay creensay."
# screens.rpy:546
# 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 "## Histay useay atementstay includesay hetay ame_menugay creensay insideay histay oneay. Hetay boxvay ildchay isay hentay includeday insideay hetay iewportvay insideay hetay ame_menugay creensay."
# screens.rpy:556
# screens.rpy:558
old "Version [config.version!t]\n"
new "Ersionvay [config.version!t]\n"
# screens.rpy:558
# screens.rpy:560
old "## gui.about is usually set in options.rpy."
new "## uigay.aboutay isay usuallyay etsay inay optionsay.pyray."
# screens.rpy:562
# screens.rpy:564
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Ademay ithway {a=https://www.renpy.org/}Enray'Ypay{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:565
# screens.rpy:567
old "## This is redefined in options.rpy to add text to the about screen."
new "## Histay isay edefinedray inay optionsay.pyray otay adday exttay otay hetay aboutay creensay."
# screens.rpy:577
# screens.rpy:579
old "## Load and Save screens"
new "## Oadlay anday Avesay creenssay"
# screens.rpy:579
# 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 "## Hesetay creenssay areay esponsibleray orfay ettinglay hetay ayerplay avesay hetay amegay anday oadlay itay againay. Incesay heytay areshay earlynay everythingay inay ommoncay, othbay areay implementeday inay ermstay ofay aay hirdtay creensay, ile_slotsfay."
# screens.rpy:583
# 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 "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#avesay ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#oadlay"
# screens.rpy:602
# screens.rpy:604
old "Page {}"
new "Agepay {}"
# screens.rpy:602
# screens.rpy:604
old "Automatic saves"
new "Utomaticaay avessay"
# screens.rpy:602
# screens.rpy:604
old "Quick saves"
new "Uickqay avessay"
# screens.rpy:608
# screens.rpy:610
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Histay ensuresay hetay inputay illway etgay hetay enteray eventay eforebay anyay ofay hetay uttonsbay oday."
# screens.rpy:612
# screens.rpy:614
old "## The page name, which can be edited by clicking on a button."
new "## Hetay agepay amenay, hichway ancay ebay editeday ybay ickingclay onay aay uttonbay."
# screens.rpy:624
# screens.rpy:626
old "## The grid of file slots."
new "## Hetay idgray ofay ilefay otsslay."
# screens.rpy:644
# screens.rpy:646
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%Aay, %Bay %day %Yay, %Hay:%May"
# screens.rpy:644
# screens.rpy:646
old "empty slot"
new "emptyay otslay"
# screens.rpy:652
# screens.rpy:654
old "## Buttons to access other pages."
new "## Uttonsbay otay accessay otheray agespay."
# screens.rpy:661
# screens.rpy:663
old "<"
new "<"
# screens.rpy:664
# screens.rpy:666
old "{#auto_page}A"
new "{#auto_page}Aay"
# screens.rpy:667
# screens.rpy:669
old "{#quick_page}Q"
new "{#quick_page}Qay"
# screens.rpy:669
# screens.rpy:671
old "## range(1, 10) gives the numbers from 1 to 9."
new "## angeray(1ay, 01ay) ivesgay hetay umbersnay omfray 1ay otay 9ay."
# screens.rpy:673
# screens.rpy:675
old ">"
new ">"
# screens.rpy:708
# screens.rpy:710
old "## Preferences screen"
new "## Referencespay creensay"
# screens.rpy:710
# screens.rpy:712
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Hetay referencespay creensay allowsay hetay ayerplay otay onfigurecay hetay amegay otay etterbay uitsay hemselvestay."
# screens.rpy:713
# screens.rpy:715
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#referencespay"
# screens.rpy:730
# screens.rpy:732
old "Display"
new "Isplayday"
# screens.rpy:731
# screens.rpy:733
old "Window"
new "Indowway"
# screens.rpy:732
# screens.rpy:734
old "Fullscreen"
new "Ullscreenfay"
# screens.rpy:736
# screens.rpy:738
old "Rollback Side"
new "Ollbackray Idesay"
# screens.rpy:737
# screens.rpy:739
old "Disable"
new "Isableday"
# screens.rpy:738
# screens.rpy:740
old "Left"
new "Eftlay"
# screens.rpy:739
# screens.rpy:741
old "Right"
new "Ightray"
# screens.rpy:744
# screens.rpy:746
old "Unseen Text"
new "Nseenuay Exttay"
# screens.rpy:745
# screens.rpy:747
old "After Choices"
new "Fteraay Hoicescay"
# screens.rpy:746
# screens.rpy:748
old "Transitions"
new "Ransitionstay"
# screens.rpy:748
# screens.rpy:750
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Dditionalaay boxesvay ofay ypetay \"adio_prefray\" oray \"eck_prefchay\" ancay ebay addeday erehay, otay adday additionalay reatorcay-efinedday referencespay."
# screens.rpy:759
# screens.rpy:761
old "Text Speed"
new "Exttay Peedsay"
# screens.rpy:763
# screens.rpy:765
old "Auto-Forward Time"
new "Utoaay-Orwardfay Imetay"
# screens.rpy:770
# screens.rpy:772
old "Music Volume"
new "Usicmay Olumevay"
# screens.rpy:777
# screens.rpy:779
old "Sound Volume"
new "Oundsay Olumevay"
# screens.rpy:783
# screens.rpy:785
old "Test"
new "Esttay"
# screens.rpy:787
# screens.rpy:789
old "Voice Volume"
new "Oicevay Olumevay"
# screens.rpy:798
# screens.rpy:800
old "Mute All"
new "Utemay Llaay"
# screens.rpy:874
# screens.rpy:876
old "## History screen"
new "## Istoryhay creensay"
# screens.rpy:876
# 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 "## Histay isay aay creensay hattay isplaysday hetay ialogueday istoryhay otay hetay ayerplay. Hileway heretay isnay'tay anythingay pecialsay aboutay histay creensay, itay oesday avehay otay accessay hetay ialogueday istoryhay oredstay inay history_list_ay."
# screens.rpy:880
# screens.rpy:882
old "## https://www.renpy.org/doc/html/history.html"
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/istoryhay.tmlhay"
# screens.rpy:886
# screens.rpy:888
old "## Avoid predicting this screen, as it can be very large."
new "## Voidaay redictingpay histay creensay, asay itay ancay ebay eryvay argelay."
# screens.rpy:897
# screens.rpy:899
old "## This lays things out properly if history_height is None."
new "## Histay ayslay hingstay outay roperlypay ifay istory_heighthay isay Onenay."
# screens.rpy:906
# screens.rpy:908
old "## Take the color of the who text from the Character, if set."
new "## Aketay hetay olorcay ofay hetay howay exttay omfray hetay Haractercay, ifay etsay."
# screens.rpy:914
# screens.rpy:916
old "The dialogue history is empty."
new "Hetay ialogueday istoryhay isay emptyay."
# screens.rpy:917
# screens.rpy:919
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Histay eterminesday hatway agstay areay alloweday otay ebay isplayedday onay hetay istoryhay creensay."
# screens.rpy:964
# screens.rpy:966
old "## Help screen"
new "## Elphay creensay"
# screens.rpy:966
# 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 "## Aay creensay hattay ivesgay informationay aboutay eykay anday ousemay indingsbay. Tiay usesay otheray creenssay (eyboard_helpkay, ouse_helpmay, anday amepad_helpgay) otay isplayday hetay actualay elphay."
# screens.rpy:985
# screens.rpy:987
old "Keyboard"
new "Eyboardkay"
# screens.rpy:986
# screens.rpy:988
old "Mouse"
new "Ousemay"
# screens.rpy:989
# screens.rpy:991
old "Gamepad"
new "Amepadgay"
# screens.rpy:1002
# screens.rpy:1004
old "Enter"
new "Ntereay"
# screens.rpy:1003
# screens.rpy:1005
old "Advances dialogue and activates the interface."
new "Dvancesaay ialogueday anday activatesay hetay interfaceay."
# screens.rpy:1006
# screens.rpy:1008
old "Space"
new "Pacesay"
# screens.rpy:1007
# screens.rpy:1009
old "Advances dialogue without selecting choices."
new "Dvancesaay ialogueday ithoutway electingsay oiceschay."
# screens.rpy:1010
# screens.rpy:1012
old "Arrow Keys"
new "Rrowaay Eyskay"
# screens.rpy:1011
# screens.rpy:1013
old "Navigate the interface."
new "Avigatenay hetay interfaceay."
# screens.rpy:1014
# screens.rpy:1016
old "Escape"
new "Scapeeay"
# screens.rpy:1015
# screens.rpy:1017
old "Accesses the game menu."
new "Ccessesaay hetay amegay enumay."
# screens.rpy:1018
# screens.rpy:1020
old "Ctrl"
new "Trlcay"
# screens.rpy:1019
# screens.rpy:1021
old "Skips dialogue while held down."
new "Kipssay ialogueday hileway eldhay ownday."
# screens.rpy:1022
# screens.rpy:1024
old "Tab"
new "Abtay"
# screens.rpy:1023
# screens.rpy:1025
old "Toggles dialogue skipping."
new "Ogglestay ialogueday kippingsay."
# screens.rpy:1026
# screens.rpy:1028
old "Page Up"
new "Agepay Puay"
# screens.rpy:1027
# screens.rpy:1029
old "Rolls back to earlier dialogue."
new "Ollsray ackbay otay earlieray ialogueday."
# screens.rpy:1030
# screens.rpy:1032
old "Page Down"
new "Agepay Ownday"
# screens.rpy:1031
# screens.rpy:1033
old "Rolls forward to later dialogue."
new "Ollsray orwardfay otay aterlay ialogueday."
# screens.rpy:1035
# screens.rpy:1037
old "Hides the user interface."
new "Ideshay hetay useray interfaceay."
# screens.rpy:1039
# screens.rpy:1041
old "Takes a screenshot."
new "Akestay aay creenshotsay."
# screens.rpy:1043
# screens.rpy:1045
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Ogglestay assistiveay {a=https://www.renpy.org/l/voicing}elfsay-oicingvay{/a}."
# screens.rpy:1049
# screens.rpy:1051
old "Left Click"
new "Eftlay Lickcay"
# screens.rpy:1053
# screens.rpy:1055
old "Middle Click"
new "Iddlemay Lickcay"
# screens.rpy:1057
# screens.rpy:1059
old "Right Click"
new "Ightray Lickcay"
# screens.rpy:1061
# screens.rpy:1063
old "Mouse Wheel Up\nClick Rollback Side"
new "Ousemay Heelway Puay\nLickcay Ollbackray Idesay"
# screens.rpy:1065
# screens.rpy:1067
old "Mouse Wheel Down"
new "Ousemay Heelway Ownday"
# screens.rpy:1072
# screens.rpy:1074
old "Right Trigger\nA/Bottom Button"
new "Ightray Riggertay\nAay/Ottombay Uttonbay"
# screens.rpy:1076
# screens.rpy:1078
old "Left Trigger\nLeft Shoulder"
new "Eftlay Riggertay\nEftlay Houldersay"
# screens.rpy:1080
# screens.rpy:1082
old "Right Shoulder"
new "Ightray Houldersay"
# screens.rpy:1085
# screens.rpy:1087
old "D-Pad, Sticks"
new "Day-Adpay, Tickssay"
# screens.rpy:1089
# screens.rpy:1091
old "Start, Guide"
new "Tartsay, Uidegay"
# screens.rpy:1093
# screens.rpy:1095
old "Y/Top Button"
new "Yay/Optay Uttonbay"
# screens.rpy:1096
# screens.rpy:1098
old "Calibrate"
new "Alibratecay"
# screens.rpy:1124
# screens.rpy:1126
old "## Additional screens"
new "## Dditionalaay creenssay"
# screens.rpy:1128
# screens.rpy:1130
old "## Confirm screen"
new "## Onfirmcay creensay"
# screens.rpy:1130
# screens.rpy:1132
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Hetay onfirmcay creensay isay alledcay henway Enray'Ypay antsway otay askay hetay ayerplay aay esyay oray onay uestionqay."
# screens.rpy:1133
# screens.rpy:1135
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#onfirmcay"
# screens.rpy:1137
# screens.rpy:1139
old "## Ensure other screens do not get input while this screen is displayed."
new "## Nsureeay otheray creenssay oday otnay etgay inputay hileway histay creensay isay isplayedday."
# screens.rpy:1161
# screens.rpy:1163
old "Yes"
new "Esyay"
# screens.rpy:1162
# screens.rpy:1164
old "No"
new "Onay"
# screens.rpy:1164
# screens.rpy:1166
old "## Right-click and escape answer \"no\"."
new "## Ightray-ickclay anday escapeay answeray \"onay\"."
# screens.rpy:1191
# screens.rpy:1193
old "## Skip indicator screen"
new "## Kipsay indicatoray creensay"
# screens.rpy:1193
# screens.rpy:1195
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Hetay kip_indicatorsay creensay isay isplayedday otay indicateay hattay kippingsay isay inay rogresspay."
# screens.rpy:1196
# screens.rpy:1198
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#kipsay-indicatoray"
# screens.rpy:1208
# screens.rpy:1210
old "Skipping"
new "Kippingsay"
# screens.rpy:1215
# screens.rpy:1217
old "## This transform is used to blink the arrows one after another."
new "## Histay ansformtray isay useday otay inkblay hetay arrowsay oneay afteray anotheray."
# screens.rpy:1242
# screens.rpy:1244
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Eway avehay otay useay aay ontfay hattay ashay hetay Lackbay Ightray-Ointingpay Mallsay Riangletay yphglay inay itay."
# screens.rpy:1247
# screens.rpy:1249
old "## Notify screen"
new "## Otifynay creensay"
# screens.rpy:1249
# 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 "## Hetay otifynay creensay isay useday otay owshay hetay ayerplay aay essagemay. (Orfay exampleay, henway hetay amegay isay uicksavedqay oray aay creenshotsay ashay eenbay akentay.)"
# screens.rpy:1252
# screens.rpy:1254
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#otifynay-creensay"
# screens.rpy:1286
# screens.rpy:1288
old "## NVL screen"
new "## Vlnay creensay"
# screens.rpy:1288
# screens.rpy:1290
old "## This screen is used for NVL-mode dialogue and menus."
new "## Histay creensay isay useday orfay Vlnay-odemay ialogueday anday enusmay."
# screens.rpy:1290
# screens.rpy:1292
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#vlnay"
# screens.rpy:1301
# screens.rpy:1303
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Isplaysday ialogueday inay eitheray aay pgridvay oray hetay boxvay."
# screens.rpy:1314
# 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 "## Isplaysday hetay enumay, ifay ivengay. Hetay enumay aymay ebay isplayedday incorrectlyay ifay onfigcay.arrator_menunay isay etsay otay Ruetay, asay itay isay aboveay."
# screens.rpy:1344
# screens.rpy:1346
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Histay ontrolscay hetay aximummay umbernay ofay Vlnay-odemay entriesay hattay ancay ebay isplayedday atay onceay."
# screens.rpy:1406
# screens.rpy:1408
old "## Mobile Variants"
new "## Obilemay Ariantsvay"
# screens.rpy:1413
# 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 "## Incesay aay ousemay aymay otnay ebay resentpay, eway eplaceray hetay uickqay enumay ithway aay ersionvay hattay usesay ewerfay anday iggerbay uttonsbay hattay areay easieray otay ouchtay."
# screens.rpy:1429
# screens.rpy:1431
old "Menu"
new "Enumay"
+287 -211
View File
@@ -1,4 +1,4 @@
translate russian strings:
# 00action_file.rpy:26
@@ -153,143 +153,187 @@ translate russian strings:
old "{#month_short}Dec"
new "{#month_short}Дек"
# 00action_file.rpy:235
# 00action_file.rpy:237
old "%b %d, %H:%M"
new "%d %b, %H:%M"
# 00action_file.rpy:825
# 00action_file.rpy:344
old "Save slot %s: [text]"
new "Слот сохранения %s: [text]"
# 00action_file.rpy:417
old "Load slot %s: [text]"
new "Слот загрузки %s: [text]"
# 00action_file.rpy:459
old "Delete slot [text]"
new "Удалить слот [text]"
# 00action_file.rpy:539
old "File page auto"
new "Автосохранения"
# 00action_file.rpy:541
old "File page quick"
new "Быстрые сохранения"
# 00action_file.rpy:543
old "File page [text]"
new "Страница сохранений [text]"
# 00action_file.rpy:733
old "Next file page."
new "Следующая страница сохранений"
# 00action_file.rpy:797
old "Previous file page."
new "Предыдущая страница сохранений"
# 00action_file.rpy:858
old "Quick save complete."
new "Быстрое сохранение завершено."
# 00director.rpy:689
# 00action_file.rpy:876
old "Quick save."
new "Быстрое сохранение"
# 00action_file.rpy:895
old "Quick load."
new "Быстрая загрузка"
# 00action_other.rpy:344
old "Language [text]"
new "Язык [text]"
# 00director.rpy:703
old "The interactive director is not enabled here."
new "Интерактивный директор недоступен."
# 00director.rpy:1466
# 00director.rpy:1490
old "Done"
new "Принять"
# 00director.rpy:1474
# 00director.rpy:1498
old "(statement)"
new "(функция)"
# 00director.rpy:1475
# 00director.rpy:1499
old "(tag)"
new "(тег)"
# 00director.rpy:1476
# 00director.rpy:1500
old "(attributes)"
new "(аттрибут)"
# 00director.rpy:1477
# 00director.rpy:1501
old "(transform)"
new "(трансформация)"
# 00director.rpy:1502
# 00director.rpy:1526
old "(transition)"
new "(переход)"
# 00director.rpy:1514
# 00director.rpy:1538
old "(channel)"
new "(канал)"
# 00director.rpy:1515
# 00director.rpy:1539
old "(filename)"
new "(имя файла)"
# 00director.rpy:1540
# 00director.rpy:1564
old "Change"
new "Изменить"
# 00director.rpy:1542
# 00director.rpy:1566
old "Add"
new "Добавить"
# 00director.rpy:1545
# 00director.rpy:1569
old "Cancel"
new "Отмена"
# 00director.rpy:1548
# 00director.rpy:1572
old "Remove"
new "Убрать"
# 00director.rpy:1581
# 00director.rpy:1605
old "Statement:"
new "Функции:"
# 00director.rpy:1602
# 00director.rpy:1626
old "Tag:"
new "Теги:"
# 00director.rpy:1618
# 00director.rpy:1642
old "Attributes:"
new "Аттрибут:"
# 00director.rpy:1636
# 00director.rpy:1660
old "Transforms:"
new "Трансформации:"
# 00director.rpy:1655
# 00director.rpy:1679
old "Behind:"
new "Позади:"
# 00director.rpy:1674
# 00director.rpy:1698
old "Transition:"
new "Переходы:"
# 00director.rpy:1692
# 00director.rpy:1716
old "Channel:"
new "Каналы:"
# 00director.rpy:1710
# 00director.rpy:1734
old "Audio Filename:"
new "Имя файла:"
# 00gui.rpy:240
# 00gui.rpy:368
old "Are you sure?"
new "Вы уверены?"
# 00gui.rpy:241
# 00gui.rpy:369
old "Are you sure you want to delete this save?"
new "Вы уверены, что хотите удалить это сохранение?"
# 00gui.rpy:242
# 00gui.rpy:370
old "Are you sure you want to overwrite your save?"
new "Вы уверены, что хотите перезаписать ваше сохранение?"
# 00gui.rpy:243
# 00gui.rpy:371
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Загрузка игры приведёт к потере несохранённого прогресса.\nВы уверены, что хотите это сделать?"
# 00gui.rpy:244
# 00gui.rpy:372
old "Are you sure you want to quit?"
new "Вы уверены, что хотите выйти?"
# 00gui.rpy:245
# 00gui.rpy:373
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Вы уверены, что хотите вернуться в главное меню?\nЭто приведёт к потере несохранённого прогресса."
# 00gui.rpy:246
# 00gui.rpy:374
old "Are you sure you want to end the replay?"
new "Вы уверены, что хотите завершить повтор?"
# 00gui.rpy:247
# 00gui.rpy:375
old "Are you sure you want to begin skipping?"
new "Вы уверены, что хотите начать пропуск?"
# 00gui.rpy:248
# 00gui.rpy:376
old "Are you sure you want to skip to the next choice?"
new "Вы точно хотите пропустить всё до следующего выбора?"
# 00gui.rpy:249
# 00gui.rpy:377
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Вы уверены, что хотите пропустить непрочитанные диалоги до следующего выбора?"
# 00keymap.rpy:254
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "Провалена попытка сохранить скриншот как %s."
# 00keymap.rpy:266
# 00keymap.rpy:270
old "Saved screenshot as %s."
new "Скриншот сохранён как %s."
@@ -299,253 +343,285 @@ translate russian strings:
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Озвучка буфера обмена включена. "
new "Озвучка буфера обмена включена."
# 00library.rpy:148
old "Self-voicing enabled. "
new "Синтезатор речи включён. "
new "Синтезатор речи включён."
# 00library.rpy:183
# 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 "Режим Пропуска"
# 00library.rpy:266
# 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 "Эта программа содержит свободное и открытое программное обеспечение под несколькими лицензиями, включая лицензию MIT и GNU Lesser General Public. Полный список лицензий, включая ссылки на полный исходный код, можно найти {a=https://www.renpy.org/l/license}здесь{/a}."
# 00preferences.rpy:442
# 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 "настройка графики. Экономия энергии"
# 00preferences.rpy:398
old "gl framerate"
new "настройка графики. Частота кадров"
# 00preferences.rpy:401
old "gl tearing"
new "настройка графики. Разрывание кадров"
# 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 "режим без звука"
# 00preferences.rpy:498
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Озвучка буфера обмена включена. Нажмите 'shift+C', чтобы отключить её."
# 00preferences.rpy:444
# 00preferences.rpy:500
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Синтезатор речи должен сказать \"[renpy.display.tts.last]\". Нажмите 'alt+shift+V', чтобы отключить его."
# 00preferences.rpy:446
# 00preferences.rpy:502
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 "Следующий"
# _compat\preferences.rpym:428
old "Joystick Mapping"
new "Назначение джойстика"
# _developer\developer.rpym:38
old "Developer Menu"
new "Меню разработчика"
# _developer\developer.rpym:43
old "Interactive Director (D)"
new "Интерактивный Директор (D)"
# _developer\developer.rpym:45
old "Reload Game (Shift+R)"
new "Перезагрузить игру (Shift+R)"
# _developer\developer.rpym:47
old "Console (Shift+O)"
new "Консоль (Shift+O)"
# _developer\developer.rpym:49
old "Variable Viewer"
new "Просмотр переменных"
# _developer\developer.rpym:53
old "Image Location Picker"
new "Инструмент позиционирования на изображениях"
# _developer\developer.rpym:55
old "Filename List"
new "Список файлов"
# _developer\developer.rpym:59
old "Show Image Load Log"
new "Показать лог загрузки изображений"
# _developer\developer.rpym:62
old "Hide Image Load Log"
new "Скрыть лог загрузки изображений"
# _developer\developer.rpym:67
old "Show Texture Size"
new "Показать размер текстур"
# _developer\developer.rpym:70
old "Hide Texture size"
new "Скрыть размер текстур"
# _developer\developer.rpym:108
old "Nothing to inspect."
new "Переменные не заданы."
# _developer\developer.rpym:236
old "Return to the developer menu"
new "Вернуться в меню разработчика"
# _developer\developer.rpym:396
old "Rectangle: %r"
new "Прямоугольник: %r"
# _developer\developer.rpym:401
old "Mouse position: %r"
new "Позиция мыши: %r"
# _developer\developer.rpym:406
old "Right-click or escape to quit."
new "Нажмите правую кнопку мыши или ESC чтобы выйти."
# _developer\developer.rpym:438
old "Rectangle copied to clipboard."
new "Координаты прямоугольника скопированы в буфер обмена."
# _developer\developer.rpym:441
old "Position copied to clipboard."
new "Координаты позиции скопированы в буфер обмена."
# _developer\developer.rpym:550
old "✔ "
new "✔ "
# _developer\developer.rpym:553
old "✘ "
new "✘ "
# _developer\developer.rpym:558
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}✔ предсказанное изображение (хорошо){/color}\n{color=#fcc}✘ внезапное изображение (плохо){/color}\n{color=#fff}Нажмите, чтобы передвинуть.{/color}"
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} МБ при количестве текстур: {count}."
# _developer\inspector.rpym:38
old "Displayable Inspector"
new "Диспетчер объектов"
# _developer\inspector.rpym:61
old "Size"
new "Разрешение"
# _developer\inspector.rpym:65
old "Style"
new "Стиль"
# _developer\inspector.rpym:71
old "Location"
new "Местоположение"
# _developer\inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Инспектирую стили [displayable_name!q]"
# _developer\inspector.rpym:139
old "displayable:"
new "объект:"
# _developer\inspector.rpym:145
old " (no properties affect the displayable)"
new " (на объект не влияют никакие параметры)"
# _developer\inspector.rpym:147
old " (default properties omitted)"
new " (настройки по умолчанию опущены)"
# _developer\inspector.rpym:185
old "<repr() failed>"
new "<repr() провален>"
# _layout\classic_load_save.rpym:170
old "a"
new "а"
# _layout\classic_load_save.rpym:179
old "q"
new "б"
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Связываюсь с App Store\nПожалуйста, ждите..."
# 00updater.rpy:373
# 00updater.rpy:372
old "The Ren'Py Updater is not supported on mobile devices."
new "Ren'Py Updater не поддерживается на мобильных устройствах."
# 00updater.rpy:492
# 00updater.rpy:491
old "An error is being simulated."
new "Симулируется ошибка."
# 00updater.rpy:668
# 00updater.rpy:672
old "Either this project does not support updating, or the update status file was deleted."
new "Или этот проект не поддерживает обновление или файл статуса обновления был удалён."
new "Или этот проект не поддерживает обновление, или файл статуса обновления был удалён."
# 00updater.rpy:682
# 00updater.rpy:686
old "This account does not have permission to perform an update."
new "У этого аккаунта нет прав проводить обновление."
# 00updater.rpy:685
# 00updater.rpy:689
old "This account does not have permission to write the update log."
new "У этого аккаунта нет прав писать лог обновления."
# 00updater.rpy:710
# 00updater.rpy:716
old "Could not verify update signature."
new "Не могу верифицировать подпись обновления."
# 00updater.rpy:981
# 00updater.rpy:991
old "The update file was not downloaded."
new "Файл обновления не был загружен."
# 00updater.rpy:999
# 00updater.rpy:1009
old "The update file does not have the correct digest - it may have been corrupted."
new "Файл обновления не содержит корректного дайджеста — он может быть повреждён."
# 00updater.rpy:1055
# 00updater.rpy:1065
old "While unpacking {}, unknown type {}."
new "При распаковке {}, обнаружен неизвестный тип {}."
new "При распаковке {} обнаружен неизвестный тип {}."
# 00updater.rpy:1399
# 00updater.rpy:1412
old "Updater"
new "Обновление"
# 00updater.rpy:1410
# 00updater.rpy:1423
old "This program is up to date."
new "Эта программа обновлена."
# 00updater.rpy:1412
# 00updater.rpy:1425
old "[u.version] is available. Do you want to install it?"
new "[u.version] доступна. Вы хотите её установить?"
# 00updater.rpy:1414
# 00updater.rpy:1427
old "Preparing to download the updates."
new "Подготовка к загрузке обновлений."
# 00updater.rpy:1416
# 00updater.rpy:1429
old "Downloading the updates."
new "Загрузка обновлений."
# 00updater.rpy:1418
# 00updater.rpy:1431
old "Unpacking the updates."
new "Распаковка обновлений."
# 00updater.rpy:1422
# 00updater.rpy:1435
old "The updates have been installed. The program will restart."
new "Обновления установлены. Программа будет перезапущена."
# 00updater.rpy:1424
# 00updater.rpy:1437
old "The updates have been installed."
new "Обновления были установлены."
# 00updater.rpy:1426
# 00updater.rpy:1439
old "The updates were cancelled."
new "Обновления были отменены."
+141 -17
View File
@@ -1,67 +1,191 @@
translate russian strings:
# 00console.rpy:227
# _developer/developer.rpym:38
old "Developer Menu"
new "Меню разработчика"
# _developer/developer.rpym:43
old "Interactive Director (D)"
new "Интерактивный Директор (D)"
# _developer/developer.rpym:45
old "Reload Game (Shift+R)"
new "Перезагрузить игру (Shift+R)"
# _developer/developer.rpym:47
old "Console (Shift+O)"
new "Консоль (Shift+O)"
# _developer/developer.rpym:49
old "Variable Viewer"
new "Просмотр переменных"
# _developer/developer.rpym:51
old "Image Location Picker"
new "Инструмент позиционирования на изображениях"
# _developer/developer.rpym:53
old "Filename List"
new "Список файлов"
# _developer/developer.rpym:57
old "Show Image Load Log (F4)"
new "Показать лог загрузки изображений (F4)"
# _developer/developer.rpym:60
old "Hide Image Load Log (F4)"
new "Скрыть лог загрузки изображений (F4)"
# _developer/developer.rpym:95
old "Nothing to inspect."
new "Переменные не заданы."
# _developer/developer.rpym:223
old "Return to the developer menu"
new "Вернуться в меню разработчика"
# _developer/developer.rpym:383
old "Rectangle: %r"
new "Прямоугольник: %r"
# _developer/developer.rpym:388
old "Mouse position: %r"
new "Позиция мыши: %r"
# _developer/developer.rpym:393
old "Right-click or escape to quit."
new "Нажмите правую кнопку мыши или ESC чтобы выйти."
# _developer/developer.rpym:425
old "Rectangle copied to clipboard."
new "Координаты прямоугольника скопированы в буфер обмена."
# _developer/developer.rpym:428
old "Position copied to clipboard."
new "Координаты позиции скопированы в буфер обмена."
# _developer/developer.rpym:447
old "Type to filter: "
new "Текущий фильтр: "
# _developer/developer.rpym:575
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Текстур: [tex_count] ([tex_size_mb:.1f] МБ)"
# _developer/developer.rpym:579
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Кеш изображений: [cache_pct:.1f]% ([cache_size_mb:.1f] МБ)"
# _developer/developer.rpym:589
old "✔ "
new "✔ "
# _developer/developer.rpym:592
old "✘ "
new "✘ "
# _developer/developer.rpym:597
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}✔ предсказанное изображение (хорошо){/color}\n{color=#fcc}✘ внезапное изображение (плохо){/color}\n{color=#fff}Нажмите, чтобы передвинуть.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Диспетчер объектов"
# _developer/inspector.rpym:61
old "Size"
new "Разрешение"
# _developer/inspector.rpym:65
old "Style"
new "Стиль"
# _developer/inspector.rpym:71
old "Location"
new "Местоположение"
# _developer/inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
new "Инспектирую стили [displayable_name!q]"
# _developer/inspector.rpym:139
old "displayable:"
new "объект:"
# _developer/inspector.rpym:145
old " (no properties affect the displayable)"
new " (на объект не влияют никакие параметры)"
# _developer/inspector.rpym:147
old " (default properties omitted)"
new " (настройки по умолчанию опущены)"
# _developer/inspector.rpym:185
old "<repr() failed>"
new "<repr() провален>"
# 00console.rpy:255
old "Press <esc> to exit console. Type help for help.\n"
new "Нажмите <esc>, чтобы выйти из консоли. Введите help для помощи.\n"
# 00console.rpy:231
# 00console.rpy:259
old "Ren'Py script enabled."
new "Ren'Py script активирован."
# 00console.rpy:233
# 00console.rpy:261
old "Ren'Py script disabled."
new "Ren'Py script деактивирован."
# 00console.rpy:459
# 00console.rpy:496
old "help: show this help"
new "help: показывает помощь"
# 00console.rpy:464
# 00console.rpy:501
old "commands:\n"
new "команды:\n"
# 00console.rpy:474
# 00console.rpy:511
old " <renpy script statement>: run the statement\n"
new " <оператор renpy script>: запуск оператора\n"
# 00console.rpy:476
# 00console.rpy:513
old " <python expression or statement>: run the expression or statement"
new " <выражение или оператор python>: запустить выражение или оператор"
# 00console.rpy:484
# 00console.rpy:521
old "clear: clear the console history"
new "clear: очищает историю консоли"
# 00console.rpy:488
# 00console.rpy:525
old "exit: exit the console"
new "exit: выход из консоли"
# 00console.rpy:496
# 00console.rpy:533
old "load <slot>: loads the game from slot"
new "load <слот>: загружает игру из выбранного слота"
# 00console.rpy:509
# 00console.rpy:546
old "save <slot>: saves the game in slot"
new "save <слот>: сохраняет игру в выбранный слот"
# 00console.rpy:520
# 00console.rpy:557
old "reload: reloads the game, refreshing the scripts"
new "reload: перезагружает игру, обновляет скрипты"
# 00console.rpy:528
# 00console.rpy:565
old "watch <expression>: watch a python expression"
new "watch <выражение>: наблюдать за выражением python"
# 00console.rpy:554
# 00console.rpy:591
old "unwatch <expression>: stop watching an expression"
new "unwatch <выражение>: прекратить наблюдать за выражением"
# 00console.rpy:585
# 00console.rpy:622
old "unwatchall: stop watching all expressions"
new "unwatchall: глобальное прекращение наблюдения"
# 00console.rpy:602
# 00console.rpy:639
old "jump <label>: jumps to label"
new "jump <label>: прыжок на метку"
+73 -49
View File
@@ -1,95 +1,119 @@
translate russian strings:
# 00gltest.rpy:64
old "Graphics Acceleration"
new "Графическое Ускорение"
# 00gltest.rpy:70
old "Renderer"
new "Рендер"
# 00gltest.rpy:74
old "Automatically Choose"
new "Выбирать Автоматически"
# 00gltest.rpy:75
old "Force Angle/DirectX Renderer"
new "Насильно Отображать Через Angle/DirectX"
# 00gltest.rpy:79
old "Force OpenGL Renderer"
new "Насильно Отображать Через OpenGL"
old "Force Angle/DirectX Renderer"
new "Принудительный Angle/DirectX"
# 00gltest.rpy:83
old "Force Software Renderer"
new "Насильно Отображать Программно"
old "Force OpenGL Renderer"
new "Принудительный OpenGL"
# 00gltest.rpy:89
# 00gltest.rpy:87
old "Force Software Renderer"
new "Принудительный Программный"
# 00gltest.rpy:93
old "NPOT"
new "NPOT (OpenGL 2+)"
# 00gltest.rpy:93
# 00gltest.rpy:97
old "Enable"
new "Активировать"
new "Активировано"
# 00gltest.rpy:124
# 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:156
# 00gltest.rpy:213
old "Performance Warning"
new "Предупреждение Производительности"
# 00gltest.rpy:161
# 00gltest.rpy:218
old "This computer is using software rendering."
new "Этот компьютер использует программный рендеринг."
# 00gltest.rpy:163
# 00gltest.rpy:220
old "This computer is not using shaders."
new "Этот компьютер не использует шейдеры."
# 00gltest.rpy:165
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
new "Этот компьютер медленно отображает графику."
# 00gltest.rpy:167
# 00gltest.rpy:224
old "This computer has a problem displaying graphics: [problem]."
new "У этого компьютера проблема с отображением графики: [problem]"
# 00gltest.rpy:172
# 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 "Графические драйвера устарели или работают неверно. Это может привести к медленному или неверному отображению графики. Обновление DirectX может решить эту проблему."
# 00gltest.rpy:174
# 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:179
# 00gltest.rpy:236
old "Update DirectX"
new "Обновить DirectX"
# 00gltest.rpy:185
# 00gltest.rpy:242
old "Continue, Show this warning again"
new "Продолжить, Показать это предупреждение снова"
# 00gltest.rpy:189
# 00gltest.rpy:246
old "Continue, Don't show warning again"
new "Продолжить, Не показывать это предупреждение снова."
# 00gltest.rpy:207
# 00gltest.rpy:264
old "Updating DirectX."
new "Обновляю DirectX."
# 00gltest.rpy:211
# 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 "Установщик DirectX был запущен. Возможно, что он запустился в свёрнутом состоянии. Пожалуйста, следуйте инструкциям для установки DirectX."
# 00gltest.rpy:215
# 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} Установщик DirectX по умолчанию пытается установить панель инструментов Bing. Если вы этого не хотите, снимите соответствующую галочку."
# 00gltest.rpy:219
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "По завершению установки, щёлкните, чтобы перезапустить программу."
# 00gltest.rpy:221
# 00gltest.rpy:278
old "Restart"
new "Перезапустить"
@@ -117,75 +141,75 @@ translate russian strings:
old "Back (B)"
new "Back (B)"
# _errorhandling.rpym:523
# _errorhandling.rpym:528
old "Open"
new "Журнал"
# _errorhandling.rpym:525
# _errorhandling.rpym:530
old "Opens the traceback.txt file in a text editor."
new "Открывает файл traceback.txt в текстовом редакторе."
# _errorhandling.rpym:527
# _errorhandling.rpym:532
old "Copy"
new "Копировать"
# _errorhandling.rpym:529
# _errorhandling.rpym:534
old "Copies the traceback.txt file to the clipboard."
new "Копирует файл traceback.txt в буфер обмена."
# _errorhandling.rpym:556
# _errorhandling.rpym:561
old "An exception has occurred."
new "Возникло исключение."
# _errorhandling.rpym:576
# _errorhandling.rpym:581
old "Rollback"
new "Назад"
# _errorhandling.rpym:578
# _errorhandling.rpym:583
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Пытается вернуться назад, позволяя вам сохраниться или принять другой выбор."
# _errorhandling.rpym:581
# _errorhandling.rpym:586
old "Ignore"
new "Игнорировать"
# _errorhandling.rpym:585
# _errorhandling.rpym:590
old "Ignores the exception, allowing you to continue."
new "Игнорирует это исключение, позволяя вам продолжить."
# _errorhandling.rpym:587
# _errorhandling.rpym:592
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Игнорирует это исключение, позволяя вам продолжить. Зачастую это ведёт к дополнительным ошибкам."
# _errorhandling.rpym:591
# _errorhandling.rpym:596
old "Reload"
new "Перезагрузить"
# _errorhandling.rpym:593
# _errorhandling.rpym:598
old "Reloads the game from disk, saving and restoring game state if possible."
new "Перезагружает игру с диска, сохраняя и восстанавливая её состояние, если это возможно."
# _errorhandling.rpym:596
# _errorhandling.rpym:601
old "Console"
new "Консоль"
# _errorhandling.rpym:598
# _errorhandling.rpym:603
old "Opens a console to allow debugging the problem."
new "Открывает консоль, позволяющую отладить проблему."
# _errorhandling.rpym:608
# _errorhandling.rpym:613
old "Quits the game."
new "Выходит из игры."
# _errorhandling.rpym:632
# _errorhandling.rpym:637
old "Parsing the script failed."
new "Обработка сценария завершилась неудачно."
# _errorhandling.rpym:658
# _errorhandling.rpym:663
old "Opens the errors.txt file in a text editor."
new "Открывает файл errors.txt в текстовом редакторе."
# _errorhandling.rpym:662
# _errorhandling.rpym:667
old "Copies the errors.txt file to the clipboard."
new "Копирует файл errors.txt в буфер обмена."
+27 -23
View File
@@ -11,7 +11,7 @@ translate russian strings:
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Вызываю gui.init, чтобы сбросить стили, чувствительные к стандартным значениям и задать высоту и ширину окна игры."
new "## Вызываю gui.init, чтобы сбросить стили, чувствительные к стандартным значениям, и задать высоту и ширину окна игры."
# gui.rpy:17
old "## GUI Configuration Variables"
@@ -31,7 +31,7 @@ translate russian strings:
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## Цвет используемый в текстовой кнопке, когда она не выбрана и не наведена."
new "## Цвет, используемый в текстовой кнопке, когда она не выбрана и не наведена."
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
@@ -51,7 +51,7 @@ translate russian strings:
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Цвета, используемые для частей панелей, которые не заполняются. Они не используются напрямую, а только при воссоздании файлов изображений."
new "## Цвета, используемые для частей панелей, которые не заполняются. Они используются не напрямую, а только при воссоздании файлов изображений."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
@@ -119,7 +119,7 @@ translate russian strings:
# 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 "## Местоположение текстового окна по вертикали экрана. 0.0 — верх, 0.5 — центр, и 1.0 — низ."
new "## Местоположение текстового окна по вертикали экрана. 0.0 — верх, 0.5 — центр и 1.0 — низ."
# 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."
@@ -127,7 +127,7 @@ translate russian strings:
# 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 "## Горизонтальное выравнивание имени персонажа. Это может быть 0.0 для левоориентированного, 0.5 для центрированного, и 1.0 для правоориентированного выравнивания."
new "## Горизонтальное выравнивание имени персонажа. Это может быть 0.0 для левоориентированного, 0.5 для центрированного и 1.0 для правоориентированного выравнивания."
# gui.rpy:115
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
@@ -139,7 +139,7 @@ translate russian strings:
# gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
new "## Если True, фон текстового окна будет моститься (расширяться по эффекту плитки), если False, фон текстового окна будет фиксированным."
new "## Если True, фон текстового окна будет моститься (расширяться по эффекту плитки). Если False, фон текстового окна будет фиксированным."
# 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."
@@ -147,11 +147,11 @@ translate russian strings:
# gui.rpy:135
old "## The maximum width of dialogue text, in pixels."
new "## Максимальная ширина диалогового текста в пикселях."
new "## Максимальная ширина текста диалога в пикселях."
# 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 "## Горизонтальное выравнивание диалогового текста. Это может быть 0.0 для левоориентированного, 0.5 для центрированного, и 1.0 для правоориентированного выравнивания."
new "## Горизонтальное выравнивание текста диалога. Это может быть 0.0 для левоориентированного, 0.5 для центрированного и 1.0 для правоориентированного выравнивания."
# gui.rpy:143
old "## Buttons"
@@ -374,58 +374,62 @@ translate russian strings:
new "## Границы фона окна NVL."
# gui.rpy:363
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Высота доступных строчек в режиме NVL. Установите это на None, чтобы строчки динамически регулировали свою высоту."
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. Когда количество строчек начинает превышать это значение, старые строчки очищаются."
# gui.rpy:367
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## Высота доступных строчек в режиме NVL. Установите на None, чтобы строчки динамически регулировали свою высоту."
# gui.rpy:371
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## Интервал между строчками в режиме NVL, если gui.nvl_height имеет значение None, а также между строчками и меню режима NVL."
# gui.rpy:384
# gui.rpy:388
old "## 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:395
old "## The position of nvl menu_buttons."
new "## Местоположение кнопок меню NVL."
# gui.rpy:395
# gui.rpy:399
old "## Localization"
new "## Локализация"
# gui.rpy:397
# gui.rpy:401
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:405
# gui.rpy:409
old "## Mobile devices"
new "## Мобильные устройства"
# gui.rpy:410
# gui.rpy:414
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Это увеличивает размер быстрых кнопок, чтобы сделать их доступнее для касания на планшетах и телефонах."
new "## Этот параметр увеличивает размер быстрых кнопок, чтобы сделать их доступнее для нажатия на планшетах и телефонах."
# gui.rpy:416
# gui.rpy:420
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Это изменяет размеры и интервалы различных элементов GUI, чтобы убедиться, что они будут лучше видны на телефонах."
# gui.rpy:420
# gui.rpy:424
old "## Font sizes."
new "## Размеры шрифтов."
# gui.rpy:428
# gui.rpy:432
old "## Adjust the location of the textbox."
new "## Регулирует местоположение текстового окна."
# gui.rpy:434
# gui.rpy:438
old "## Change the size and spacing of various things."
new "## Изменяет размеры и интервалы различных объектов."
# gui.rpy:447
# gui.rpy:451
old "## File button layout."
new "## Местоположение кнопок слотов."
# gui.rpy:451
# gui.rpy:455
old "## NVL-mode."
new "## Режим NVL."
+146 -118
View File
@@ -1,4 +1,4 @@
translate russian strings:
# about.rpy:39
@@ -101,99 +101,99 @@ translate russian strings:
old "Retrieves the log from the Android device and writes it to a file."
new "Берёт лог с Android-устройства и пишет его в файл."
# android.rpy:240
# android.rpy:244
old "Copying Android files to distributions directory."
new "Копирую файлы Android в директорию дистрибутивов."
# android.rpy:304
# android.rpy:308
old "Android: [project.current.display_name!q]"
new "Android: [project.current.display_name!q]"
# android.rpy:324
# android.rpy:328
old "Emulation:"
new "Эмуляция:"
# android.rpy:333
# android.rpy:337
old "Phone"
new "Телефон"
# android.rpy:337
# android.rpy:341
old "Tablet"
new "Планшет"
# android.rpy:341
# android.rpy:345
old "Television"
new "Телевизор"
# android.rpy:353
# android.rpy:357
old "Build:"
new "Собрать:"
# android.rpy:361
# android.rpy:365
old "Install SDK & Create Keys"
new "Установить SDK и создать ключи"
# android.rpy:365
# android.rpy:369
old "Configure"
new "Настроить"
# android.rpy:369
# android.rpy:373
old "Build Package"
new "Собрать Пакет"
# android.rpy:373
# android.rpy:377
old "Build & Install"
new "Собрать и Установить"
# android.rpy:377
# android.rpy:381
old "Build, Install & Launch"
new "Собрать, Установить и Запустить"
# android.rpy:388
# android.rpy:392
old "Other:"
new "Другое:"
# android.rpy:396
# android.rpy:400
old "Remote ADB Connect"
new "Удалённое Соединение с ADB"
# android.rpy:400
# android.rpy:404
old "Remote ADB Disconnect"
new "Удалённое Отсоединение от ADB"
# android.rpy:404
# android.rpy:408
old "Logcat"
new "Logcat"
# android.rpy:437
# android.rpy:441
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
new "Перед тем как собирать приложения Android, вам нужно загрузить RAPT, инструмент Ren'Py для сбора пакетов Android. Хотите загрузить RAPT сейчас?"
# android.rpy:496
# android.rpy:500
old "Remote ADB Address"
new "Удалённый адрес ADB"
# android.rpy:496
# android.rpy:500
old "Please enter the IP address and port number to connect to, in the form \"192.168.1.143:5555\". Consult your device's documentation to determine if it supports remote ADB, and if so, the address and port to use."
new "Пожалуйста, введите IP-адрес и номер порта, чтобы соединиться с устройством, по форме \"192.168.1.143:5555\". Ознакомьтесь с документацией своего устройства, чтобы определить поддерживает ли оно удалённый ADB, и если так, адрес и порт для использования."
# android.rpy:508
# android.rpy:512
old "Invalid remote ADB address"
new "Неверный адрес удалённого ADB"
# android.rpy:508
# android.rpy:512
old "The address must contain one exactly one ':'."
new "Адрес должен содержать один, только один ':'."
# android.rpy:512
# android.rpy:516
old "The host may not contain whitespace."
new "Хост не может содержать пробелы."
# android.rpy:518
# android.rpy:522
old "The port must be a number."
new "Порт должен содержать только цифры."
# android.rpy:544
# android.rpy:548
old "Retrieving logcat information from device."
new "Извлекаю информацию logcat из устройства."
@@ -261,31 +261,31 @@ translate russian strings:
old "Archiving files..."
new "Архивирую файлы..."
# distribute.rpy:1055
# distribute.rpy:1068
old "Unpacking the Macintosh application for signing..."
new "Распаковываю приложение Macintosh для подписи..."
# distribute.rpy:1065
# distribute.rpy:1078
old "Signing the Macintosh application...\n(This may take a long time.)"
new "Подписываю приложение Macintosh...\n(Это может занять время.)"
# distribute.rpy:1087
# distribute.rpy:1100
old "Creating the Macintosh DMG..."
new "Создаю Macintosh DMG..."
# distribute.rpy:1096
# distribute.rpy:1109
old "Signing the Macintosh DMG..."
new "Подписываю Macintosh DMG..."
# distribute.rpy:1291
# distribute.rpy:1304
old "Writing the [variant] [format] package."
new "Пишу пакет [variant] [format]"
# distribute.rpy:1304
# distribute.rpy:1317
old "Making the [variant] update zsync file."
new "Создаю файл zsync для обновления [variant]"
# distribute.rpy:1414
# distribute.rpy:1427
old "Processed {b}[complete]{/b} of {b}[total]{/b} files."
new "Обработано {b}[complete]{/b} из {b}[total]{/b} файлов."
@@ -365,51 +365,71 @@ translate russian strings:
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "Вероятно, это из-за того, что Ren'Py запущена напрямую из образа диска Mac. Чтобы исправить это, выйдите из лаунчера и скопируйте всю папку %s куда-нибудь ещё на компьютер и снова запустите Ren'Py."
# 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}Рекомендуется.{/b} Бета-редактор с простым интерфейсом и возможностями, помогающими в разработке, такими, как проверка орфографии. Editra на данный момент не поддерживает IME, необходимые для ввода Китайского, Японского и Корейского текстов."
# editor.rpy:152
old "(Recommended) A modern and approachable text editor."
new "(Рекомендуется) Современный, доступный текстовый редактор."
# 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}Рекомендуется.{/b} Бета-редактор с простым интерфейсом и возможностями, помогающими в разработке, такими, как проверка орфографии. Editra на данный момент не поддерживает IME, необходимые для ввода Китайского, Японского и Корейского текстов. На Linux, Editra требует wxPython."
# editor.rpy:164
old "Up to 150 MB download required."
new "Требуется скачать 150 МБ."
# editor.rpy:167
# editor.rpy:178
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input."
new "Старый, проверенный бета-редактор. Editra на данный момент не поддерживает IME, необходимые для ввода Китайского, Японского и Корейского текстов."
# editor.rpy:179
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
new "Старый, проверенный бета-редактор. Editra на данный момент не поддерживает IME, необходимые для ввода Китайского, Японского и Корейского текстов. На Linux, Editra требует wxPython."
# editor.rpy:195
old "This may have occured because wxPython is not installed on this system."
new "Это могло случиться из-за того, что wxPython не установлен на этой системе."
# editor.rpy:169
# editor.rpy:197
old "Up to 22 MB download required."
new "Требуется скачать 22 МБ."
# editor.rpy:182
# editor.rpy:210
old "A mature editor that requires Java."
new "Проверенный временем редактор. Требует Java."
# editor.rpy:182
# editor.rpy:210
old "1.8 MB download required."
new "Требуется скачать 1.8 МБ."
# editor.rpy:182
# editor.rpy:210
old "This may have occured because Java is not installed on this system."
new "Это могло случиться из-за того, что Java не установлена в данной системе."
# editor.rpy:191
# editor.rpy:219
old "System Editor"
new "Системный"
# editor.rpy:219
old "Invokes the editor your operating system has associated with .rpy files."
new "Включает текстовый редактор, ассоциированный в вашей системе с файлами .rpy."
# editor.rpy:207
# editor.rpy:235
old "None"
new "Нет"
# editor.rpy:235
old "Prevents Ren'Py from opening a text editor."
new "Не позволяет Ren'Py запускать текстовый редактор."
# editor.rpy:359
# editor.rpy:338
old "Edit [text]."
new "Редактировать [text]"
# editor.rpy:387
old "An exception occured while launching the text editor:\n[exception!q]"
new "Возникла ошибка при запуске текстового редактора:\n[exception!q]"
# editor.rpy:457
# editor.rpy:519
old "Select Editor"
new "Выберите редактор"
# editor.rpy:472
# editor.rpy:534
old "A text editor is the program you'll use to edit Ren'Py script files. Here, you can select the editor Ren'Py will use. If not already present, the editor will be automatically downloaded and installed."
new "Текстовый редактор — программа, необходимая для редактирования сценариев Ren'Py. Здесь, вы можете выбрать редактор, который будет использовать Ren'Py. Если такового нет, редактор будет автоматически загружен и установлен."
@@ -477,59 +497,67 @@ translate russian strings:
old "Edit File"
new "Редактировать Файл"
# front_page.rpy:214
old "All script files"
new "Все файлы сценариев"
# front_page.rpy:215
old "Open project"
new "Открыть проект"
# front_page.rpy:223
# front_page.rpy:217
old "All script files"
new "все файлы сценария"
# front_page.rpy:221
old "Actions"
new "Действия с Проектом"
# front_page.rpy:230
old "Navigate Script"
new "Навигация по Сценарию"
new "Навигация по cценарию"
# front_page.rpy:231
old "Check Script (Lint)"
new "Проверить скрипт (Lint)"
# front_page.rpy:234
old "Check Script (Lint)"
new "Проверить сценарий (Lint)"
# front_page.rpy:237
old "Change/Update GUI"
new "Изменить/Обновить GUI"
# front_page.rpy:239
# front_page.rpy:236
old "Change Theme"
new "Сменить тему"
# front_page.rpy:242
# front_page.rpy:239
old "Delete Persistent"
new "Очистить постоянные"
# front_page.rpy:251
# front_page.rpy:248
old "Build Distributions"
new "Построить дистрибутивы"
# front_page.rpy:253
# front_page.rpy:250
old "Android"
new "Android"
# front_page.rpy:254
# front_page.rpy:251
old "iOS"
new "iOS"
# front_page.rpy:255
# front_page.rpy:252
old "Generate Translations"
new "Создать переводы"
# front_page.rpy:256
# front_page.rpy:253
old "Extract Dialogue"
new "Извлечь диалог"
# front_page.rpy:273
# front_page.rpy:270
old "Checking script for potential problems..."
new "Проверка потенциальных проблем сценария..."
# front_page.rpy:288
# front_page.rpy:285
old "Deleting persistent data..."
new "Удаление постоянных данных..."
# front_page.rpy:296
# front_page.rpy:293
old "Recompiling all rpy files into rpyc files..."
new "Перекомпиляция всех файлов rpy в файлы rpyc..."
@@ -805,59 +833,59 @@ translate russian strings:
old "Order: "
new "Порядок: "
# navigation.rpy:178
# navigation.rpy:179
old "alphabetical"
new "алфавитный"
# navigation.rpy:180
# navigation.rpy:181
old "by-file"
new "по-файлу"
new "по файлу"
# navigation.rpy:182
# navigation.rpy:183
old "natural"
new "натуральный"
# navigation.rpy:194
# navigation.rpy:195
old "Category:"
new "Категория:"
# navigation.rpy:196
# navigation.rpy:198
old "files"
new "файлы"
# navigation.rpy:197
# navigation.rpy:199
old "labels"
new "метки"
# navigation.rpy:198
# navigation.rpy:200
old "defines"
new "определения"
# navigation.rpy:199
# navigation.rpy:201
old "transforms"
new "трансформации"
# navigation.rpy:200
# navigation.rpy:202
old "screens"
new "экраны"
# navigation.rpy:201
# navigation.rpy:203
old "callables"
new "вызываемые"
# navigation.rpy:202
# navigation.rpy:204
old "TODOs"
new "TODO"
# navigation.rpy:241
# navigation.rpy:243
old "+ Add script file"
new "+ Добавить файл сценария"
# navigation.rpy:249
# navigation.rpy:251
old "No TODO comments found.\n\nTo create one, include \"# TODO\" in your script."
new "Не найдено комментариев TODO.\n\nЧтобы создать такой, включите \"#TODO\" в ваш сценарий"
# navigation.rpy:256
# navigation.rpy:258
old "The list of names is empty."
new "Список имён пуст."
@@ -959,7 +987,7 @@ translate russian strings:
# preferences.rpy:181
old "Show edit file section"
new "Показать секцию редактирования"
new "Показывать секцию редактирования"
# preferences.rpy:182
old "Large fonts"
@@ -1009,141 +1037,141 @@ translate russian strings:
old "Have you backed up your projects recently?"
new "Давно сохраняли свои проекты?"
# project.rpy:276
# project.rpy:280
old "Launching the project failed."
new "Запуск проекта провален."
# project.rpy:276
# project.rpy:280
old "Please ensure that your project launches normally before running this command."
new "Пожалуйста, убедитесь, что ваш проект нормально запускается перед использованием этой команды."
# project.rpy:289
# project.rpy:296
old "Ren'Py is scanning the project..."
new "Ren'Py сканирует проект..."
# project.rpy:696
# project.rpy:725
old "Launching"
new "Запускаю"
# project.rpy:730
# project.rpy:759
old "PROJECTS DIRECTORY"
new "ДИРЕКТОРИЯ ПРОЕКТОВ"
# project.rpy:730
# project.rpy:759
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
new "Пожалуйста, выберите директорию проектов, используя выборщик директорий.\n{b}Он мог появиться позади этого окна.{/b}"
# project.rpy:730
# project.rpy:759
old "This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."
new "Лаунчер будет искать проекты в этой директории, создавать новые проекты в этой директории, и размещать построенные проекты в этой директории."
# project.rpy:735
# project.rpy:764
old "Ren'Py has set the projects directory to:"
new "Ren'Py установила директорию проектов на:"
# translations.rpy:92
# translations.rpy:91
old "Translations: [project.current.display_name!q]"
new "Переводы: [project.current.display_name!q]"
# translations.rpy:133
# translations.rpy:132
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "Язык работы. Он должен содержать только не-заглавные символы ASCII и подчёркивания."
# translations.rpy:159
# translations.rpy:158
old "Generate empty strings for translations"
new "Генерировать пустые строки для переводов"
# translations.rpy:177
# translations.rpy:176
old "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "Генерирует или обновляет файлы переводов. Файлы будут помещены в game/tl/[persistent.translate_language!q]."
# translations.rpy:197
# translations.rpy:196
old "Extract String Translations"
new "Извлечь Строки Для Перевода"
# translations.rpy:199
# translations.rpy:198
old "Merge String Translations"
new "Объединить Строки Перевода"
# translations.rpy:204
# translations.rpy:203
old "Replace existing translations"
new "Заменить существующие переводы"
# translations.rpy:205
# translations.rpy:204
old "Reverse languages"
new "Обратить языки"
# translations.rpy:209
# translations.rpy:208
old "Update Default Interface Translations"
new "Обновить Базовый Перевод Интерфейса"
# translations.rpy:229
# translations.rpy:228
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "Команда извлечения позволяет вам извлечь переводимые строки из существующего проекта во временный файл.\n\nКоманда объединения объединяет извлечённые переводы в другой перевод."
# translations.rpy:253
# translations.rpy:252
old "Ren'Py is generating translations...."
new "Ren'Py создаёт переводы..."
# translations.rpy:264
# translations.rpy:263
old "Ren'Py has finished generating [language] translations."
new "Ren'Py закончила создавать перевод для [language]."
# translations.rpy:277
# translations.rpy:276
old "Ren'Py is extracting string translations..."
new "Ren'Py извлекает переводимые строки..."
# translations.rpy:280
# translations.rpy:279
old "Ren'Py has finished extracting [language] string translations."
new "Ren'Py завершила извлечение [language] строк перевода."
# translations.rpy:300
# translations.rpy:299
old "Ren'Py is merging string translations..."
new "Ren'Py объединяет строки перевода..."
# translations.rpy:303
# translations.rpy:302
old "Ren'Py has finished merging [language] string translations."
new "Ren'Py завершила объединение [language] строк перевода."
# translations.rpy:314
# translations.rpy:313
old "Updating default interface translations..."
new "Обновляю базовый перевод интерфейса..."
# translations.rpy:343
# translations.rpy:342
old "Extract Dialogue: [project.current.display_name!q]"
new "Извлечь диалог: [project.current.display_name!q]"
# translations.rpy:359
# translations.rpy:358
old "Format:"
new "Формат:"
# translations.rpy:367
# translations.rpy:366
old "Tab-delimited Spreadsheet (dialogue.tab)"
new "Табулированная таблица (dialogue.tab)"
# translations.rpy:368
# translations.rpy:367
old "Dialogue Text Only (dialogue.txt)"
new "Только текст диалога (dialogue.txt)"
# translations.rpy:381
# translations.rpy:380
old "Strip text tags from the dialogue."
new "Убрать текстовые теги из диалога."
# translations.rpy:382
# translations.rpy:381
old "Escape quotes and other special characters."
new "Включать кавычки и регулярные выражения."
# translations.rpy:383
# translations.rpy:382
old "Extract all translatable strings, not just dialogue."
new "Извлечь все переводимые строки, не только диалог."
# translations.rpy:411
# translations.rpy:410
old "Ren'Py is extracting dialogue...."
new "Ren'Py извлекает диалог..."
# translations.rpy:415
# translations.rpy:414
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "Ren'Py завершила извлечение диалога. Извлечённый диалог можно найти в файле dialogue.[persistent.dialogue_format] в директории base."
new "Ren'Py завершила извлечение диалога. Извлечённый диалог можно найти в файле dialogue.[persistent.dialogue_format] в директории проекта."
# updater.rpy:75
old "Select Update Channel"
+27
View File
@@ -0,0 +1,27 @@
translate russian 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 "а"
# _layout/classic_load_save.rpym:179
old "q"
new "б"
# _compat/gamemenu.rpym:355
old "Previous"
new "Назад"
# _compat/gamemenu.rpym:362
old "Next"
new "Далее"
+54 -54
View File
@@ -1,4 +1,4 @@
translate russian strings:
# options.rpy:1
@@ -7,7 +7,7 @@ translate russian strings:
# 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 "## Строки, начинающиеся с двух '#' — комментарии, и вы не должны их раскомментировать. Строки, начинающиеся с одной '#' — комментированный код, который вы можете раскомментировать, если вы считаете это нужным."
new "## Строки, начинающиеся с двух '#' — комментарии, и вы не должны их раскомментировать. Строки, начинающиеся с одной '#' — комментированный код, который вы можете раскомментировать, если посчитаете это нужным."
# options.rpy:10
old "## Basics"
@@ -34,170 +34,170 @@ translate russian strings:
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 "## Текст, помещённый в экран \"Об игре\". Чтобы вставить пустую линию между параграфами, напишите \\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 "## Текст, помещённый в экран \"Об игре\". Поместите текст между тройными скобками. Для отделения абзацев оставляйте между ними пустую строку."
# 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 "## Короткое название игры, используемое для исполняемых файлов и директорий при постройке дистрибутивов. Оно должно содержать текст формата ASCII и не должно содержать пробелы, двоеточия и точки с запятой."
# options.rpy:44
# options.rpy:45
old "## 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 "## Эти три переменные контролируют соответствующие микшеры громкости в настройках, которые пользователь может настраивать по умолчанию. Изменив один из параметров на False, скроется соответствующий микшер."
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 "## Чтобы разрешить пользователю тестировать громкость на звуковом или голосовом каналах, раскомментируйте строчку и настройте пример звука для прослушивания."
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 "## Раскомментируйте следующую строчку, чтобы настроить аудиофайл, который будет проигрываться в главном меню. Этот файл продолжит проигрываться во время игры, если не будет остановлен, или не начнёт проигрываться другой аудиофайл."
# options.rpy:69
# options.rpy:70
old "## 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 "## Эти переменные задают переходы, используемые в различных событиях. Каждая переменная должна задавать переход или None, чтобы указать на то, что переход не должен использоваться."
# options.rpy:75
# options.rpy:76
old "## Entering or exiting the game menu."
new "## Вход и выход в игровое меню."
# options.rpy:81
# options.rpy:82
old "## Between screens of the game menu."
new "## Переход между экранами игрового меню."
# options.rpy:86
# options.rpy:87
old "## A transition that is used after a game has been loaded."
new "## Переход, используемый после того, как игра загрузилась."
new "## Переход, используемый после загрузки слота сохранения."
# options.rpy:91
# options.rpy:92
old "## Used when entering the main menu after the game has ended."
new "## Используется при входе в главное меню после того, как игра закончится."
# options.rpy:96
# 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 "## Переменная, устанавливающая переход, когда старт игры не существует. Вместо неё используйте функцию with после показа начальной сценки."
# options.rpy:101
# options.rpy:102
old "## Window management"
new "## Управление окнами"
# options.rpy:103
# 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 "## Эта строка контролирует, когда появляется диалоговое окно. Если \"show\", оно всегда показано. Если \"hide\", оно показывается, только когда представлен диалог. Если \"auto\", окно скрыто до появления оператора scene и показывается при появлении диалога."
new "## Эта строка контролирует, когда появляется диалоговое окно. Если \"show\" оно всегда показано. Если \"hide\" оно показывается, только когда представлен диалог. Если \"auto\" окно скрыто до появления оператора scene и показывается при появлении диалога."
# options.rpy:108
# options.rpy:109
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## После того как игра началась, этот параметр можно изменить с помощью \"window show\", \"window hide\", и \"window auto\"."
new "## После начала игры этот параметр можно изменить с помощью \"window show\", \"window hide\" и \"window auto\"."
# options.rpy:114
# options.rpy:115
old "## Transitions used to show and hide the dialogue window"
new "## Переходы, используемые при показе и скрытии диалогового окна"
# options.rpy:120
# options.rpy:121
old "## Preference defaults"
new "## Стандартные настройки"
# options.rpy:122
# 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 "## Контролирует стандартную скорость текста. По умолчанию это 0 — мгновенно, в то время как любая другая цифра, это количество символов, печатаемых в секунду."
new "## Контролирует стандартную скорость текста. По умолчанию, это 0 — мгновенно, в то время как любая другая цифра это количество символов, печатаемых в секунду."
# options.rpy:128
# options.rpy:129
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## Стандартная задержка авточтения. Большие значения означают долгие ожидания, а от 0 до 30 — вполне допустимый диапазон."
# options.rpy:134
# options.rpy:135
old "## Save directory"
new "## Директория сохранений"
# options.rpy:136
# 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 "## Контролирует зависимое от платформы место, куда Ren'Py будет складывать файлы сохранения этой игры. Файлы сохранений будут храниться в:"
# options.rpy:139
# options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
# options.rpy:141
# options.rpy:142
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
# options.rpy:143
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
new "## Linux: $HOME/.renpy/<config.save_directory>"
# options.rpy:145
# 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:151
# options.rpy:152
old "## Icon"
new "## Иконка"
# options.rpy:153
# options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Иконка, показываемая на панели задач или на dock."
# options.rpy:158
# options.rpy:159
old "## Build configuration"
new "## Настройка Дистрибутива"
# options.rpy:160
# options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Эта секция контролирует, как Ren'Py строит дистрибутивные файлы из вашего проекта."
# options.rpy:165
# 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 "## Следующие функции берут образцы файлов. Образцы файлов не учитывают регистр и соответствующе зависят от директории base, с или без учёта /, задающей директорию. Если обнаруживается множество одноимённых файлов, то используется только первый."
new "## Следующие функции берут образцы файлов. Образцы файлов не учитывают регистр и соответствующе зависят от директории проекта (base), с или без учёта /, задающей директорию. Если обнаруживается множество одноимённых файлов, то используется только первый."
# options.rpy:170
# options.rpy:171
old "## In a pattern:"
new "## Инструкция:"
# options.rpy:172
# options.rpy:173
old "## / is the directory separator."
new "## / — разделитель директорий."
# options.rpy:174
# options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * включает в себя все символы, исключая разделитель директорий."
# options.rpy:176
# options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** включает в себя все символы, включая разделитель директорий."
# options.rpy:178
# 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 из директории base, \"game/**.ogg\" берёт все файлы ogg из директории game и всех поддиректорий, а \"**.psd\" берёт все файлы psd из любого места проекта."
new "## Например, \"*.txt\" берёт все файлы формата txt из директории base, \"game/**.ogg\" берёт все файлы ogg из директории game и всех поддиректорий, а \"**.psd\" берёт все файлы psd из любого места проекта."
# options.rpy:182
# options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Классифицируйте файлы как None, чтобы исключить их из дистрибутивов."
# options.rpy:190
# options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Чтобы архивировать файлы, классифицируйте их, например, как 'archive'."
# options.rpy:195
# 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 так, чтобы они появлялись и в приложении, и в zip архиве."
new "## Файлы, соответствующие образцам документации, дублируются в приложениях Mac, чтобы они появлялись и в приложении, и в zip архиве."
# options.rpy:201
# 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 ID. Подписывайте только со своего Apple Developer ID."
# options.rpy:208
# 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 "## Лицензионный ключ Google Play требуется для загрузки файлов расширений и поддержки внутриигровых покупок. Он может быть найден на странице \"Services & APIs\" консоли разработчика Google Play."
# options.rpy:215
# options.rpy:216
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Имя пользователя и название проекта, ассоциированные с проектом на itch.io, разделённые дробью."
+135 -135
View File
@@ -15,7 +15,7 @@ translate russian strings:
# 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 "## Экран разговора используется, чтобы показывать пользователю диалог. Он использует два параметра, who и what, что, соответственно, имя говорящего персонажа и показываемый текст. (Параметр who может быть None, если имя не задано.)"
new "## Экран разговора используется для показа диалога игроку. Он использует два параметра who и what что, соответственно, имя говорящего персонажа и показываемый текст. (Параметр who может быть None, если имя не задано.)"
# 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."
@@ -27,11 +27,11 @@ translate russian strings:
# 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 "## Если есть боковое изображение (\"голова\"), показывает её над текстом. По стандарту не показывается на варианте для мобильных устройств — мало места."
new "## Если есть боковое изображение (\"голова\"), показывает её поверх текста. По стандарту не показывается на варианте для мобильных устройств — мало места."
# screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## Делает namebox доступным для стилизации через объект Character."
new "## Делает namebox доступным для стилизации через объект Character."
# screens.rpy:164
old "## Input screen"
@@ -39,7 +39,7 @@ translate russian strings:
# screens.rpy:166
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Этот экран используется, чтобы показывать renpy.input. Это параметр запроса, используемый, чтобы дать игроку ввести в него текст."
new "## Этот экран используется, чтобы показывать renpy.input. Это параметр запроса, используемый для того, чтобы дать игроку ввести в него текст."
# screens.rpy:169
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
@@ -63,7 +63,7 @@ translate russian strings:
# 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 "## Когда этот параметр true, заголовки меню будут проговариваться рассказчиком. Когда false, заголовки меню будут показаны как пустые кнопки."
new "## Когда этот параметр True, заголовки меню будут проговариваться рассказчиком. Когда False, заголовки меню будут показаны как пустые кнопки."
# screens.rpy:238
old "## Quick Menu screen"
@@ -75,7 +75,7 @@ translate russian strings:
# screens.rpy:245
old "## Ensure this appears on top of other screens."
new "## Гарантирует, что это появляется поверх других экранов."
new "## Гарантирует, что оно появляется поверх других экранов."
# screens.rpy:256
old "Back"
@@ -123,7 +123,7 @@ translate russian strings:
# 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 "## Этот экран включает в себя главное и игровое меню и обеспечивает навигацию к другим меню, и к началу игры."
new "## Этот экран включает в себя главное и игровое меню, и обеспечивает навигацию к другим меню и к началу игры."
# screens.rpy:304
old "Start"
@@ -139,7 +139,7 @@ translate russian strings:
# screens.rpy:318
old "End Replay"
new "Закончить повтор"
new "Завершить повтор"
# screens.rpy:322
old "Main Menu"
@@ -209,91 +209,91 @@ translate russian strings:
old "Return"
new "Вернуться"
# screens.rpy:534
# screens.rpy:536
old "## About screen"
new "## Экран Об игре"
# screens.rpy:536
# screens.rpy:538
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Этот экран показывает авторскую информацию об игре и Ren'Py."
# screens.rpy:539
# 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 "## В этом экране нет ничего особенного, и он служит только примером того, каким можно сделать свой экран."
# screens.rpy:546
# 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 "## Это выражение, включённое в экран игрового меню. Дочерний vbox включён в порт просмотра внутри экрана игрового меню."
new "## Этот оператор включает игровое меню внутрь этого экрана. Дочерний vbox включён в порт просмотра внутри экрана игрового меню."
# screens.rpy:556
# screens.rpy:558
old "Version [config.version!t]\n"
new "Версия [config.version!t]\n"
# screens.rpy:558
# screens.rpy:560
old "## gui.about is usually set in options.rpy."
new "## gui.about обычно установлено в options.rpy."
# screens.rpy:562
# screens.rpy:564
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Сделано с помощью {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:565
# screens.rpy:567
old "## This is redefined in options.rpy to add text to the about screen."
new "## Это переустанавливается в options.rpy, чтобы добавить текст на экран Об игре."
new "## Это переустанавливается в options.rpy для добавления текста на экран Об игре."
# screens.rpy:577
# screens.rpy:579
old "## Load and Save screens"
new "## Экраны загрузки и сохранения"
# screens.rpy:579
# 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 "## Эти экраны ответственны за возможность сохранять и загружать игру. Так как они почти одинаковые, оба реализованы по правилам третьего экрана, file_slots."
new "## Эти экраны ответственны за возможность сохранять и загружать игру. Так как они почти одинаковые, оба реализованы по правилам третьего экрана file_slots."
# screens.rpy:583
# 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"
new "## https://www.renpy.org/doc/html/screen_special.html#save \n https://www.renpy.org/doc/html/screen_special.html#load"
# screens.rpy:602
# screens.rpy:604
old "Page {}"
new "{} страница"
# screens.rpy:602
# screens.rpy:604
old "Automatic saves"
new "Автосохранения"
# screens.rpy:602
# screens.rpy:604
old "Quick saves"
new "Быстрые сохранения"
# screens.rpy:608
# screens.rpy:610
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Это гарантирует, что событие входа будет выполняться перед чем либо."
new "## Это гарантирует, что ввод будет принимать enter перед остальными кнопками."
# screens.rpy:612
# screens.rpy:614
old "## The page name, which can be edited by clicking on a button."
new "## Номер страницы, который может быть изменён посредством клика на кнопку."
# screens.rpy:624
# screens.rpy:626
old "## The grid of file slots."
new "## Таблица слотов."
# screens.rpy:644
# screens.rpy:646
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
# screens.rpy:644
# screens.rpy:646
old "empty slot"
new "Пустой слот"
# screens.rpy:652
# screens.rpy:654
old "## Buttons to access other pages."
new "## Кнопки для доступа к другим страницам."
# screens.rpy:661
# screens.rpy:663
old "<"
new "<"
# screens.rpy:664
# screens.rpy:666
old "{#auto_page}A"
new "{#auto_page}А"
@@ -301,375 +301,375 @@ translate russian strings:
old "{#quick_page}Q"
new "{#quick_page}Б"
# screens.rpy:669
# screens.rpy:671
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) задаёт диапазон значений от 1 до 9."
# screens.rpy:673
# screens.rpy:675
old ">"
new ">"
# screens.rpy:708
# screens.rpy:710
old "## Preferences screen"
new "## Экран настроек"
# screens.rpy:710
# screens.rpy:712
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## Экран настроек позволяет пользователю настраивать игру, чтобы она лучше для него подходила."
new "## Экран настроек позволяет игроку настраивать игру под себя."
# screens.rpy:713
# 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:730
# screens.rpy:732
old "Display"
new "Режим экрана"
# screens.rpy:731
# screens.rpy:733
old "Window"
new "Оконный"
# screens.rpy:732
# screens.rpy:734
old "Fullscreen"
new "Полный"
# screens.rpy:736
# screens.rpy:738
old "Rollback Side"
new "Сторона отката"
# screens.rpy:737
# screens.rpy:739
old "Disable"
new "Отключено"
# screens.rpy:738
# screens.rpy:740
old "Left"
new "Левая"
# screens.rpy:739
# screens.rpy:741
old "Right"
new "Правая"
# screens.rpy:744
# screens.rpy:746
old "Unseen Text"
new "Всего текста"
# screens.rpy:745
# screens.rpy:747
old "After Choices"
new "После выборов"
# screens.rpy:746
# screens.rpy:748
old "Transitions"
new "Переходов"
# screens.rpy:748
# 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'ы типа \"radio_pref\" или \"check_pref\" могут быть добавлены сюда, для добавления новых настроек."
new "## Дополнительные vbox'ы типа \"radio_pref\" или \"check_pref\" могут быть добавлены сюда для добавления новых настроек."
# screens.rpy:759
# screens.rpy:761
old "Text Speed"
new "Скорость текста"
# screens.rpy:763
# screens.rpy:765
old "Auto-Forward Time"
new "Скорость авточтения"
# screens.rpy:770
# screens.rpy:772
old "Music Volume"
new "Громкость музыки"
# screens.rpy:777
# screens.rpy:779
old "Sound Volume"
new "Громкость звуков"
# screens.rpy:783
# screens.rpy:785
old "Test"
new "Тест"
# screens.rpy:787
# screens.rpy:789
old "Voice Volume"
new "Громкость голоса"
# screens.rpy:798
# screens.rpy:800
old "Mute All"
new "Без звука"
# screens.rpy:874
# screens.rpy:876
old "## History screen"
new "## Экран истории"
# screens.rpy:876
# 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 "## Этот экран показывает игроку историю диалогов. Хотя в этом экране нет ничего особенного, он имеет доступ к истории диалогов, хранимом в _history_list."
# screens.rpy:880
# screens.rpy:882
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.org/doc/html/history.html"
# screens.rpy:886
# screens.rpy:888
old "## Avoid predicting this screen, as it can be very large."
new "## Избегайте предсказывания этого экрана, так как он может быть очень массивным."
# screens.rpy:897
# screens.rpy:899
old "## This lays things out properly if history_height is None."
new "## Это всё правильно уравняет, если history_height будет установлен на None."
# screens.rpy:906
# screens.rpy:908
old "## Take the color of the who text from the Character, if set."
new "## Берёт цвет из who параметра персонажа, если он установлен."
# screens.rpy:914
# screens.rpy:916
old "The dialogue history is empty."
new "История диалогов пуста."
# screens.rpy:917
# screens.rpy:919
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Это определяет, какие теги могут отображаться на экране истории."
# screens.rpy:964
# screens.rpy:966
old "## Help screen"
new "## Экран помощи"
# screens.rpy:966
# 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 "## Экран, дающий информацию о клавишах управления. Он использует другие экраны (keyboard_help, mouse_help, и gamepad_help), чтобы показывать актуальную помощь."
# screens.rpy:985
# screens.rpy:987
old "Keyboard"
new "Клавиатура"
# screens.rpy:986
# screens.rpy:988
old "Mouse"
new "Мышь"
# screens.rpy:989
# screens.rpy:991
old "Gamepad"
new "Геймпад"
# screens.rpy:1002
# screens.rpy:1004
old "Enter"
new "Enter"
# screens.rpy:1003
# screens.rpy:1005
old "Advances dialogue and activates the interface."
new "Прохождение диалогов, активация интерфейса."
# screens.rpy:1006
# screens.rpy:1008
old "Space"
new "Пробел"
# screens.rpy:1007
# screens.rpy:1009
old "Advances dialogue without selecting choices."
new "Прохождение диалогов без возможности делать выбор."
# screens.rpy:1010
# screens.rpy:1012
old "Arrow Keys"
new "Стрелки"
# screens.rpy:1011
# screens.rpy:1013
old "Navigate the interface."
new "Навигация по интерфейсу."
# screens.rpy:1014
# screens.rpy:1016
old "Escape"
new "Esc"
# screens.rpy:1015
# screens.rpy:1017
old "Accesses the game menu."
new "Вход в игровое меню."
# screens.rpy:1018
# screens.rpy:1020
old "Ctrl"
new "Ctrl"
# screens.rpy:1019
# screens.rpy:1021
old "Skips dialogue while held down."
new "Пропускает диалоги, пока зажат."
# screens.rpy:1022
# screens.rpy:1024
old "Tab"
new "Tab"
# screens.rpy:1023
# screens.rpy:1025
old "Toggles dialogue skipping."
new "Включает режим пропуска."
# screens.rpy:1026
# screens.rpy:1028
old "Page Up"
new "Page Up"
# screens.rpy:1027
# screens.rpy:1029
old "Rolls back to earlier dialogue."
new "Откат назад по сюжету игры."
# screens.rpy:1030
# screens.rpy:1032
old "Page Down"
new "Page Down"
# screens.rpy:1031
# screens.rpy:1033
old "Rolls forward to later dialogue."
new "Откатывает предыдущее действие вперёд."
# screens.rpy:1035
# screens.rpy:1037
old "Hides the user interface."
new "Скрывает интерфейс пользователя."
# screens.rpy:1039
# screens.rpy:1041
old "Takes a screenshot."
new "Делает снимок экрана."
# screens.rpy:1043
# screens.rpy:1045
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "Включает поддерживаемый {a=https://www.renpy.org/l/voicing}синтезатор речи{/a}."
# screens.rpy:1049
# screens.rpy:1051
old "Left Click"
new "Левый клик"
# screens.rpy:1053
# screens.rpy:1055
old "Middle Click"
new "Клик колёсиком"
# screens.rpy:1057
# screens.rpy:1059
old "Right Click"
new "Правый клик"
# screens.rpy:1061
# screens.rpy:1063
old "Mouse Wheel Up\nClick Rollback Side"
new "Колёсико вверх\nКлик на сторону отката"
# screens.rpy:1065
# screens.rpy:1067
old "Mouse Wheel Down"
new "Колёсико вниз"
# screens.rpy:1072
# screens.rpy:1074
old "Right Trigger\nA/Bottom Button"
new "Правый триггер\nA/Нижняя кнопка"
# screens.rpy:1076
# screens.rpy:1078
old "Left Trigger\nLeft Shoulder"
new "Левый Триггер\nЛевый Бампер"
# screens.rpy:1080
# screens.rpy:1082
old "Right Shoulder"
new "Правый бампер"
# screens.rpy:1085
# screens.rpy:1087
old "D-Pad, Sticks"
new "Крестовина, Стики"
# screens.rpy:1089
# screens.rpy:1091
old "Start, Guide"
new "Start, Guide"
# screens.rpy:1093
# screens.rpy:1095
old "Y/Top Button"
new "Y/Верхняя кнопка"
# screens.rpy:1096
# screens.rpy:1098
old "Calibrate"
new "Калибровка"
# screens.rpy:1124
# screens.rpy:1126
old "## Additional screens"
new "## Дополнительные экраны"
# screens.rpy:1128
# screens.rpy:1130
old "## Confirm screen"
new "## Экран подтверждения"
# screens.rpy:1130
# screens.rpy:1132
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Экран подтверждения вызывается, когда Ren'Py хочет спросить у пользователя вопрос Да или Нет."
new "## Экран подтверждения вызывается, когда Ren'Py хочет спросить у игрока вопрос Да или Нет."
# screens.rpy:1133
# 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:1137
# screens.rpy:1139
old "## Ensure other screens do not get input while this screen is displayed."
new "## Гарантирует, чтобы другие экраны были недоступны, пока этот экран показан."
new "## Гарантирует, что другие экраны будут недоступны, пока показан этот экран."
# screens.rpy:1161
# screens.rpy:1163
old "Yes"
new "Да"
# screens.rpy:1162
# screens.rpy:1164
old "No"
new "Нет"
# screens.rpy:1164
# screens.rpy:1166
old "## Right-click and escape answer \"no\"."
new "## Правый клик и esc как ответ \"Нет\"."
new "## Правый клик и esc, как ответ \"Нет\"."
# screens.rpy:1191
# screens.rpy:1193
old "## Skip indicator screen"
new "## Экран индикатора пропуска"
# screens.rpy:1193
# screens.rpy:1195
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Экран индикатора пропуска появляется для того, чтобы показать, что идёт пропуск."
# screens.rpy:1196
# 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:1208
# screens.rpy:1210
old "Skipping"
new "Пропускаю"
# screens.rpy:1215
# screens.rpy:1217
old "## This transform is used to blink the arrows one after another."
new "## Эта трансформация используется, чтобы мигать стрелками одной за другой."
new "## Эта трансформация используется, чтобы мигать стрелками одна за другой."
# screens.rpy:1242
# screens.rpy:1244
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Нам надо использовать шрифт, имеющий в себе символ U+25B8 (стрелку выше)."
# screens.rpy:1247
# screens.rpy:1249
old "## Notify screen"
new "## Экран уведомлений"
# screens.rpy:1249
# 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 "## Экран уведомлений используется, чтобы показать пользователю оповещение. (Например, когда игра автосохранилась, или был сделан скриншот.)"
new "## Экран уведомлений используется, чтобы показать игроку оповещение. (Например, когда игра автосохранилась, или был сделан скриншот)"
# screens.rpy:1252
# 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:1286
# screens.rpy:1288
old "## NVL screen"
new "## Экран NVL"
# screens.rpy:1288
# screens.rpy:1290
old "## This screen is used for NVL-mode dialogue and menus."
new "## Этот экран используется в диалогах и меню режима NVL."
# screens.rpy:1290
# 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:1301
# screens.rpy:1303
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Показывает диалог или в vpgrid, или в vbox."
# screens.rpy:1314
# 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 "## Показывает меню, если есть. Меню может показываться некорректно, если config.narrator_menu установлено на True."
# screens.rpy:1344
# screens.rpy:1346
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Это контролирует максимальное число строк NVL, могущих показываться за раз."
# screens.rpy:1406
# screens.rpy:1408
old "## Mobile Variants"
new "## Мобильные варианты"
# screens.rpy:1413
# 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 "## Раз мышь может не использоваться, мы заменили быстрое меню версией, использующей меньше кнопок, но больших по размеру, чтобы их было легче касаться."
# screens.rpy:1429
# screens.rpy:1431
old "Menu"
new "Меню"
+1 -1
View File
@@ -3,7 +3,7 @@
# Определение персонажей игры.
define e = Character('Эйлин', color="#c8ffc8")
# Вместо использования оператора image, можете просто
# Вместо использования оператора image можете просто
# складывать все ваши файлы изображений в папку images.
# Например, сцену bg room можно вызвать файлом "bg room.png",
# а eileen happy — "eileen happy.webp", и тогда они появятся в игре.
@@ -148,7 +148,7 @@ translate simplified_chinese strings:
# _errorhandling.rpym:545
old "Ignores the exception, allowing you to continue."
new "忽略异常,让您可以继续。"
# _errorhandling.rpym:587
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "忽略异常,让您可以继续。但这通常会引起更多错误。"
@@ -204,7 +204,7 @@ translate simplified_chinese strings:
# choose_directory.rpy:104
old "The selected projects directory is not writable."
new "所选的工程目录无法执行写操作。"
# choose_theme.rpy:303
old "Could not change the theme. Perhaps options.rpy was changed too much."
new "无法更改主题。可能 options.rpy 已被过度修改。"
@@ -412,7 +412,7 @@ translate simplified_chinese strings:
# front_page.rpy:35
old "Open [text] directory."
new "打开 [text] 目录。"
# front_page.rpy:91
old "PROJECTS:"
new "工程:"
@@ -632,7 +632,7 @@ translate simplified_chinese strings:
# interface.rpy:120
old "quit"
new "退出"
# interface.rpy:136
old "Ren'Py Sponsor Information"
new "Ren'Py 赞助者信息"
@@ -896,7 +896,7 @@ translate simplified_chinese strings:
# new_project.rpy:69
old "Legacy Theme Interface"
new "传统主题界面"
# 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."
new "您将创建一个 [new_project_language] 语言的工程。要创建其他语言的工程,请在设置里更改启动器语言。"
@@ -976,7 +976,7 @@ translate simplified_chinese strings:
# preferences.rpy:178
old "Console output"
new "控制台输出"
# preferences.rpy:187
old "Force new tutorial"
new "强制新手教程"
@@ -1,4 +1,4 @@
translate simplified_chinese strings:
translate simplified_chinese strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
@@ -1,4 +1,4 @@
# 游戏的脚本可置于此文件中。
# 游戏的脚本可置于此文件中。
# 声明此游戏使用的角色。颜色参数可使角色姓名着色。
+84
View File
@@ -333,3 +333,87 @@ translate spanish strings:
old "return"
new "volver"
# 00director.rpy:703
old "The interactive director is not enabled here."
new "El director interactivo no está habilitado aquí."
# 00director.rpy:1490
old "Done"
new "Hecho"
# 00director.rpy:1498
old "(statement)"
new "(sentencia)"
# 00director.rpy:1499
old "(tag)"
new "(etiqueta)"
# 00director.rpy:1500
old "(attributes)"
new "(atributos)"
# 00director.rpy:1501
old "(transform)"
new "(transformación)"
# 00director.rpy:1526
old "(transition)"
new "(transición)"
# 00director.rpy:1538
old "(channel)"
new "(canal)"
# 00director.rpy:1539
old "(filename)"
new "(archivo)"
# 00director.rpy:1564
old "Change"
new "Cambiar"
# 00director.rpy:1566
old "Add"
new "Añadir"
# 00director.rpy:1572
old "Remove"
new "Eliminar"
# 00director.rpy:1605
old "Statement:"
new "Sentencia:"
# 00director.rpy:1626
old "Tag:"
new "Etiqueta:"
# 00director.rpy:1642
old "Attributes:"
new "Atributos:"
# 00director.rpy:1660
old "Transforms:"
new "Transformaciones:"
# 00director.rpy:1679
old "Behind:"
new "Detrás:"
# 00director.rpy:1698
old "Transition:"
new "Transición:"
# 00director.rpy:1716
old "Channel:"
new "Canal:"
# 00director.rpy:1734
old "Audio Filename:"
new "Archivo de audio:"
# 00keymap.rpy:258
old "Failed to save screenshot as %s."
new "No se pudo salvar la captura de pantalla como %s."
+26 -2
View File
@@ -75,11 +75,11 @@ translate spanish 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}✔ imagen prevista (correcto){/color}\n{color=#fcc}✘ imagen no prevista (fallido){/color}\n{color=#fff}Arrastra para mover.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Displayable Inspector"
new "Inspector de visualizables"
# _developer/inspector.rpym:61
old "Size"
@@ -177,3 +177,27 @@ translate spanish strings:
old "jump <label>: jumps to label"
new "jump <label>: salta a la etiqueta"
# _developer/developer.rpym:43
old "Interactive Director (D)"
new "Director interactivo (D)"
# _developer/developer.rpym:57
old "Show Image Load Log (F4)"
new "Mostrar registro de carga de imagen (F4)"
# _developer/developer.rpym:60
old "Hide Image Load Log (F4)"
new "Ocultar registro de carga de imagen (F4)"
# _developer/developer.rpym:447
old "Type to filter: "
new "Tipo a filtrar: "
# _developer/developer.rpym:572
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Texturas: [tex_count] ([tex_size_mb:.1f] MB)"
# _developer/developer.rpym:576
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Caché de imagen: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
+52
View File
@@ -177,3 +177,55 @@ translate spanish strings:
old "Copies the errors.txt file to the clipboard."
new "Copia el archivo errors.txt al portapapeles."
# 00gltest.rpy:70
old "Renderer"
new "Renderizador"
# 00gltest.rpy:93
old "NPOT"
new "NPOT"
# 00gltest.rpy:131
old "Powersave"
new "Ahorro de energía"
# 00gltest.rpy:145
old "Framerate"
new "Cuadros por s."
# 00gltest.rpy:149
old "Screen"
new "Pantalla"
# 00gltest.rpy:153
old "60"
new "60"
# 00gltest.rpy:157
old "30"
new "30"
# 00gltest.rpy:163
old "Tearing"
new "Tearing"
# _errorhandling.rpym:528
old "Open"
new "Abrir"
# _errorhandling.rpym:532
old "Copy"
new "Copiar"
# _errorhandling.rpym:590
old "Ignores the exception, allowing you to continue."
new "Ignora la excepción y permite continuar."
# _errorhandling.rpym:601
old "Console"
new "Consola"
# _errorhandling.rpym:603
old "Opens a console to allow debugging the problem."
new "Abre una consola y permite depurar el problema."
+2 -1
View File
@@ -427,8 +427,9 @@ translate spanish strings:
# gui.rpy:397
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 "## Esto controla donde se permite un salto de linea. El valor por defecto es adecuado para la mayoria de idiomas. Puede encontrar una lista de valores disponibles en https://www.renpy.org/doc/html/style_properties.html#style-property-language"
new "## Esto controla donde se permite un salto de línea. El valor por defecto es adecuado para la mayoria de idiomas. Puede encontrar una lista de valores disponibles en https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui.rpy:405
old "## Mobile devices"
new "## Dispositivos Móviles"
+188 -95
View File
@@ -11,7 +11,7 @@ translate spanish strings:
# add_file.rpy:28
old "FILENAME"
new "Nombre del archivo"
new "ARCHIVO"
# add_file.rpy:28
old "Enter the name of the script file to create."
@@ -31,11 +31,11 @@ translate spanish 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 "Para construir un paquete para Android, por favor descarga RAPT, descomprimelo y colocalo dentro de la carpeta de Ren'Py. Despues reinicia el launcher de Ren'Py."
new "Para construir un paquete para Android, por favor descarga RAPT, descomprímelo y colócalo dentro de la carpeta de Ren'Py. Después reinicia el launcher de 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 "Se necesita Java Development Kit de 32-bit para construir paquetes de Android en Windows. El JDK es diferente al JRE, es posible que tenga Java sin tener el JDK.\n\nPor favor {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}descarga e instala el JDK{/a}, después, reinicia Ren'Py."
new "Se necesita Java Development Kit de 32-bit para construir paquetes de Android en Windows. El JDK es diferente al JRE, es posible que tengas Java sin tener el JDK.\n\nPor favor {a=http://www.oracle.com/technetwork/java/javase/downloads/index.html}descarga e instala el JDK{/a}, después, reinicia 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."
@@ -43,7 +43,7 @@ translate spanish strings:
# android.rpy:33
old "RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore."
new "RAPT está instalado, pero la clave aun no se ha configurado. Por favor crea una nueva clave, o restaura android.keystore."
new "RAPT está instalado, pero la clave aún no se ha configurado. Por favor crea una nueva clave, o restaura android.keystore."
# android.rpy:34
old "The current project has not been configured. Use \"Configure\" to configure it before building."
@@ -55,15 +55,15 @@ translate spanish strings:
# android.rpy:37
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Al intentar emular un teléfono Android. \n\nLa entrada táctil se emula mediante el ratón, pero sólo cuando el botón se mantiene pulsado. Escape está asignado al botón de menú, y PageUp está asignado al botón Atrás."
new "Intenta emular un teléfono Android. \n\nLa entrada táctil se emula mediante el ratón, pero solo cuando el botón se mantiene pulsado. Escape está asignado al botón de menú, y PageUp está asignado al botón Atrás."
# 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 "Al intentar emular una tablet Android. \n\nLa entrada táctil se emula mediante el ratón, pero sólo cuando el botón se mantiene pulsado. Escape está asignado al botón de menú, y PageUp está asignado al botón Atrás."
new "Intenta emular una tablet Android. \n\nLa entrada táctil se emula mediante el ratón, pero solo cuando el botón se mantiene pulsado. Escape está asignado al botón de menú, y PageUp está asignado al botón Atrás."
# 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 "Al intentar emular una consola Android basada en televisión, como OUYA o Fire TV.\n\nPara el control se usan las flechas, Intro está asignado al botón select. Escape está asignado al botón de menú, y PageUp está asignado al botón Atrás."
new "Intenta emular una consola Android basada en televisión, como OUYA o Fire TV.\n\nPara el control se usan las flechas, Intro está asignado al botón select. Escape está asignado al botón de menú, y PageUp está asignado al botón Atrás."
# android.rpy:41
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
@@ -79,31 +79,31 @@ translate spanish strings:
# android.rpy:44
old "Builds the Android package."
new "Construir el paquete de Android."
new "Construye el paquete de Android."
# android.rpy:45
old "Builds the Android package, and installs it on an Android device connected to your computer."
new "Construye el paquete de Android, e instálalo en un dispositivo Android connectado a tu ordenador."
new "Construye el paquete de Android y lo instala en un dispositivo Android conectado al ordenador."
# 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 "Construye un paquete para Android, lo instala en un dispositivo conectado a su ordenador, y luego ejecuta la aplicación en su dispositivo."
new "Construye un paquete para Android, lo instala en un dispositivo conectado al ordenador y luego ejecuta la aplicación en el dispositivo."
# android.rpy:48
old "Connects to an Android device running ADB in TCP/IP mode."
new "Conectar a un dispositivo Android ejecutando ADB en modo TCP/IP."
new "Conecta a un dispositivo Android ejecutando ADB en modo TCP/IP."
# android.rpy:49
old "Disconnects from an Android device running ADB in TCP/IP mode."
new "Desconectar de un dispositivo Android corriendo ADB en modo TCP/IP."
new "Desconecta de un dispositivo Android ejecutando ADB en modo TCP/IP."
# android.rpy:50
old "Retrieves the log from the Android device and writes it to a file."
new "Retrieves the log from the Android device and writes it to a file."
new "Recupera el registro del dispositivo Android y lo escribe en un archivo."
# android.rpy:240
old "Copying Android files to distributions directory."
new "Copying Android files to distributions directory."
new "Copiando archivos Android al directorio de distribuciones."
# android.rpy:304
old "Android: [project.current.name!q]"
@@ -143,11 +143,11 @@ translate spanish strings:
# android.rpy:373
old "Build & Install"
new "Construir & Instalar"
new "Construir e Instalar"
# android.rpy:377
old "Build, Install & Launch"
new "Construir, instalar & Ejecutar"
new "Construir, instalar y ejecutar"
# android.rpy:388
old "Other:"
@@ -167,7 +167,7 @@ translate spanish strings:
# android.rpy:437
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
new "Antes de empaquetar apps para Android, vas a necesitar descargar RAPT, Ren'Py Android Packaging Tool. ¿Quieres descargar RAPT ahora?"
new "Antes de empaquetar apps para Android, vas a necesitar descargar RAPT (Ren'Py Android Packaging Tool). ¿Quieres descargar RAPT ahora?"
# android.rpy:496
old "Remote ADB Address"
@@ -195,11 +195,11 @@ translate spanish strings:
# android.rpy:544
old "Retrieving logcat information from device."
new "Retrieving logcat information from device."
new "Recuperando la información 'logcat' del dispositivo."
# choose_directory.rpy:73
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
new "Ren'Py fue incapaz de ejecutar python con tkinter para elegir el directorio. Por favor instale el paquete python-tk o tkinter."
new "Ren'Py fue incapaz de ejecutar python con tkinter para elegir el directorio. Por favor instala el paquete python-tk o tkinter."
# choose_theme.rpy:303
old "Could not change the theme. Perhaps options.rpy was changed too much."
@@ -231,7 +231,7 @@ translate spanish strings:
# consolecommand.rpy:84
old "The command is being run in a new operating system console window."
new "The command is being run in a new operating system console window."
new "El comando se está ejecutando en una nueva ventana de la consola del sistema operativo."
# distribute.rpy:443
old "Scanning project files..."
@@ -259,19 +259,19 @@ translate spanish strings:
# distribute.rpy:1050
old "Unpacking the Macintosh application for signing..."
new "Unpacking the Macintosh application for signing..."
new "Desempaquetando la aplicación Macintosh para firmar..."
# distribute.rpy:1060
old "Signing the Macintosh application..."
new "Signing the Macintosh application..."
new "Firmando la aplicación Macintosh..."
# distribute.rpy:1082
old "Creating the Macintosh DMG..."
new "Creating the Macintosh DMG..."
new "Creando el DMG Macintosh..."
# distribute.rpy:1091
old "Signing the Macintosh DMG..."
new "Signing the Macintosh DMG..."
new "Firmando el DMG Macintosh..."
# distribute.rpy:1248
old "Writing the [variant] [format] package."
@@ -315,7 +315,7 @@ translate spanish strings:
# distribute_gui.rpy:199
old "Upload to itch.io"
new "Upload to itch.io"
new "Cargar a itch.io"
# distribute_gui.rpy:215
old "Build Packages:"
@@ -331,7 +331,7 @@ translate spanish strings:
# distribute_gui.rpy:241
old "Add from clauses to calls"
new "Añadir desde cláusula a las llamadas"
new "Añadir cláusulas 'from' a las llamadas"
# distribute_gui.rpy:242
old "Force Recompile"
@@ -343,7 +343,7 @@ translate spanish strings:
# distribute_gui.rpy:250
old "Adding from clauses to call statements that do not have them."
new "Añadiendo desde cláusulas para llamar a las declaraciones que no las tienen."
new "Añadiendo cláusulas 'from' a las sentencias 'call' que no las tienen."
# distribute_gui.rpy:271
old "Errors were detected when running the project. Please ensure the project runs without errors before building distributions."
@@ -479,7 +479,7 @@ translate spanish strings:
# front_page.rpy:237
old "Change/Update GUI"
new "Change/Update GUI"
new "Cambiar/Actualizar GUI"
# front_page.rpy:239
old "Change Theme"
@@ -511,7 +511,7 @@ translate spanish strings:
# front_page.rpy:272
old "Checking script for potential problems..."
new "Comprobando script por problemas potenciales..."
new "Comprobando potenciales problemas en el script..."
# front_page.rpy:287
old "Deleting persistent data..."
@@ -523,23 +523,23 @@ translate spanish strings:
# gui7.rpy:236
old "Select Accent and Background Colors"
new "Select Accent and Background Colors"
new "Selecciona colores de fondo y énfasis"
# gui7.rpy:250
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
new "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
new "Haz clic en el esquema de color que quieres usar y haz clic en Continuar. Estos colores pueden ser cambiados y personalizados más tarde."
# gui7.rpy:294
old "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
new "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
new "{b}Aviso{/b}\nSi continúas se sobreescribirán las barras, botones, huecos de partida grabada, barras de desplazamiento y controles deslizantes personalizados.\n\n¿Qué deseas hacer?"
# gui7.rpy:294
old "Choose new colors, then regenerate image files."
new "Choose new colors, then regenerate image files."
new "Escoge los nuevos colores y luego regenera las imágenes."
# gui7.rpy:294
old "Regenerate the image files using the colors in gui.rpy."
new "Regenerate the image files using the colors in gui.rpy."
new "Regenera las imágenes usando los colores de gui.rpy."
# gui7.rpy:314
old "PROJECT NAME"
@@ -563,15 +563,15 @@ translate spanish strings:
# gui7.rpy:341
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
new "¿Qué resolución debería usar el proyecto? Aunque Ren'Py puede escalar la ventana más grande o más pequeña este es el tamaño inicial de la ventana, el tamaño en el que se deben dibujar las imágenes y el tamaño en el que serán más nítidas.\n\nEl valor predeterminado de 1280x720 es un compromiso razonable."
# gui7.rpy:389
old "Creating the new project..."
new "Creating the new project..."
new "Creando el nuevo proyecto..."
# gui7.rpy:391
old "Updating the project..."
new "Updating the project..."
new "Actualizando el proyecto..."
# interface.rpy:107
old "Documentation"
@@ -639,27 +639,27 @@ translate spanish strings:
# ios.rpy:28
old "To build iOS packages, please download renios, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
new "Para construir paquetes para iOS, por favor descargue renios, descomprímalo, y colóquelo dentro de la carpeta de Ren'Py. Después reinicie el launcher de Ren'Py."
new "Para construir paquetes para iOS, por favor descarga renios, descomprímelo, y colócalo dentro de la carpeta de Ren'Py. Después reinicia el launcher de Ren'Py."
# ios.rpy:29
old "The directory in where Xcode projects will be placed has not been selected. Choose 'Select Directory' to select it."
new "El directorio donde se colocarán los proyectos de Xcode no se ha seleccionado. Seleccione 'Seleccionar directorio' para seleccionarlo."
new "El directorio donde se colocarán los proyectos de Xcode no se ha seleccionado. Elige 'Seleccionar directorio' para seleccionarlo."
# ios.rpy:30
old "There is no Xcode project corresponding to the current Ren'Py project. Choose 'Create Xcode Project' to create one."
new "No hay proyecto de Xcode correspondiente al proyecto de Ren'Py actual. Elija 'Crear proyecto de Xcode' para crear uno."
new "No hay proyecto de Xcode correspondiente al proyecto de Ren'Py actual. Elige 'Crear proyecto de Xcode' para crear uno."
# ios.rpy:31
old "An Xcode project exists. Choose 'Update Xcode Project' to update it with the latest game files, or use Xcode to build and install it."
new "Existe un proyecto de Xcode. Elija 'Actualizar proyecto de Xcode' para actualizarlo con los últimos archivos del juego, o use Xcode para construirlo e instalarlo."
new "Existe un proyecto de Xcode. Elige 'Actualizar proyecto de Xcode' para actualizarlo con los últimos archivos del juego, o usa Xcode para construirlo e instalarlo."
# ios.rpy:33
old "Attempts to emulate an iPhone.\n\nTouch input is emulated through the mouse, but only when the button is held down."
new "Al intentar emular un iPhone.\n\nLa entrada táctil se emula a través del ratón, pero solo cuando se mantiene pulsado el botón."
new "Intenta emular un iPhone.\n\nLa entrada táctil se emula a través del ratón, pero solo cuando se mantiene pulsado el botón."
# ios.rpy:34
old "Attempts to emulate an iPad.\n\nTouch input is emulated through the mouse, but only when the button is held down."
new "Al intentar emular un iPad.\n\nLa entrada táctil se emula a través del ratón, pero solo cuando se mantiene pulsado el botón."
new "Intenta emular un iPad.\n\nLa entrada táctil se emula a través del ratón, pero solo cuando se mantiene pulsado el botón."
# ios.rpy:36
old "Selects the directory where Xcode projects will be placed."
@@ -683,7 +683,7 @@ translate spanish strings:
# ios.rpy:126
old "The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"
new "El proyecto de Xcode ya existe. ¿Quiere cambiar el nombre del antiguo proyecto, y sustituirlo por uno nuevo?"
new "El proyecto de Xcode ya existe. ¿Quieres cambiar el nombre del antiguo proyecto, y sustituirlo por uno nuevo?"
# ios.rpy:211
old "iOS: [project.current.name!q]"
@@ -699,27 +699,27 @@ translate spanish strings:
# ios.rpy:264
old "Select Xcode Projects Directory"
new "Seleccionar directorio para los proyectos de Xcode"
new "Selecciona directorio para los proyectos de Xcode"
# ios.rpy:268
old "Create Xcode Project"
new "Crear Proyecto de Xcode"
new "Crea Proyecto de Xcode"
# ios.rpy:272
old "Update Xcode Project"
new "Actaulizar Proyecto de Xcode"
new "Actualiza Proyecto de Xcode"
# ios.rpy:277
old "Launch Xcode"
new "Ejecutar Xcode"
new "Ejecuta Xcode"
# ios.rpy:312
old "Open Xcode Projects Directory"
new "Abrir directorio de proyectos de Xcode"
new "Abre directorio de proyectos de Xcode"
# ios.rpy:345
old "Before packaging iOS apps, you'll need to download renios, Ren'Py's iOS support. Would you like to download renios now?"
new "Antes de empaquetar aplicaciones de iOS, tendrá que descargar renios, el soporte de iOS para Ren'Py. ¿Quiere descargar renios ahora?"
new "Antes de empaquetar aplicaciones de iOS, tendrás que descargar renios, el soporte de iOS para Ren'Py. ¿Quieres descargar renios ahora?"
# ios.rpy:354
old "XCODE PROJECTS DIRECTORY"
@@ -727,35 +727,35 @@ translate spanish strings:
# ios.rpy:354
old "Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
new "Por favor elija el directorio de proyectos de Xcode usando el selector de directorio. \n{b}El selector de directorio puede haberse abierto detras de esta ventana.{/b}"
new "Por favor elige el directorio de proyectos de Xcode usando el selector de directorio.\n{b}El selector de directorio puede haberse abierto detrás de esta ventana.{/b}"
# ios.rpy:359
old "Ren'Py has set the Xcode Projects Directory to:"
new "Ren'Py ha establecidio el directorio de proyectos de Xcode en: "
new "Ren'Py ha establecido el directorio de proyectos de Xcode en:"
# itch.rpy:60
old "The built distributions could not be found. Please choose 'Build' and try again."
new "The built distributions could not be found. Please choose 'Build' and try again."
new "Las distribuciones compiladas no se pudieron encontrar. Elige 'Build' y vuelve a intentarlo."
# itch.rpy:91
old "No uploadable files were found. Please choose 'Build' and try again."
new "No uploadable files were found. Please choose 'Build' and try again."
new "No se encontraron archivos para cargar. Elige 'Build' y vuelve a intentarlo."
# itch.rpy:99
old "The butler program was not found."
new "The butler program was not found."
new "No se encontró el programa 'butler'."
# itch.rpy:99
old "Please install the itch.io app, which includes butler, and try again."
new "Please install the itch.io app, which includes butler, and try again."
new "Instala la aplicación itch.io, que incluye 'butler', y vuelve a intentarlo."
# itch.rpy:108
old "The name of the itch project has not been set."
new "The name of the itch project has not been set."
new "El nombre del proyecto de itch no ha sido establecido."
# itch.rpy:108
old "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
new "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
new "{a=https://itch.io/game/new}Crea tu proyecto{/a} y luego añade una línea como \n{vspace=5}define build.itch_project = \"nombre-de-usuario/nombre-del-juego\"\n{vspace=5} en 'options.rpy'."
# mobilebuild.rpy:109
old "{a=%s}%s{/a}"
@@ -791,7 +791,7 @@ translate spanish strings:
# navigation.rpy:197
old "labels"
new "Etiquetas"
new "labels"
# navigation.rpy:198
old "defines"
@@ -827,23 +827,23 @@ translate spanish strings:
# new_project.rpy:38
old "New GUI Interface"
new "New GUI Interface"
new "Nueva interfaz GUI"
# new_project.rpy:48
old "Both interfaces have been translated to your language."
new "Both interfaces have been translated to your language."
new "Ambas interfaces han sido traducidas a tu idioma."
# new_project.rpy:50
old "Only the new GUI has been translated to your language."
new "Only the new GUI has been translated to your language."
new "Solo la nueva GUI ha sido traducida a tu idioma."
# new_project.rpy:52
old "Only the legacy theme interface has been translated to your language."
new "Only the legacy theme interface has been translated to your language."
new "Solo la interfaz del tema antiguo ha sido traducida a tu idioma.."
# new_project.rpy:54
old "Neither interface has been translated to your language."
new "Neither interface has been translated to your language."
new "Ninguna interfaz ha sido traducida a tu idioma."
# new_project.rpy:63
old "The projects directory could not be set. Giving up."
@@ -851,11 +851,11 @@ translate spanish strings:
# new_project.rpy:69
old "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
new "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
new "¿Qué interfaz te gustaría usar? La nueva GUI tiene un aspecto moderno, admite pantallas anchas y dispositivos móviles, y es más fácil de personalizar. Es posible que los temas antiguos sean necesarios para trabajar con código anterior.\n\n[language_support!t]\n\nSi tienes dudas, elige la nueva GUI, luego haz clic en Continuar en la parte inferior derecha."
# new_project.rpy:69
old "Legacy Theme Interface"
new "Legacy Theme Interface"
new "Interfaz de temas antiguos"
# new_project.rpy:90
old "Choose Project Template"
@@ -943,7 +943,7 @@ translate spanish strings:
# project.rpy:47
old "After making changes to the script, press shift+R to reload your game."
new "Despues de hacer cambios a un script, presiona shift+R para recargar tu juego."
new "Después de hacer cambios a un script, presiona shift+R para recargar tu juego."
# project.rpy:47
old "Press shift+O (the letter) to access the console."
@@ -991,11 +991,11 @@ translate spanish strings:
# translations.rpy:63
old "Translations: [project.current.name!q]"
new "Translations: [project.current.name!q]"
new "Traducciones: [project.current.name!q]"
# translations.rpy:104
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "El idioma en que trabajar. Debe contener solo caracteres ASCII minúsculos y guiones bajos."
# translations.rpy:130
old "Generate empty strings for translations"
@@ -1003,31 +1003,31 @@ translate spanish strings:
# translations.rpy:148
old "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
new "Genera o actualiza los archivos de traducción. Loas archivos serán colocados en game/tl/[persistent.translate_language!q]."
# translations.rpy:168
old "Extract String Translations"
new "Extract String Translations"
new "Extrae cadenas traducidas"
# translations.rpy:170
old "Merge String Translations"
new "Merge String Translations"
new "Fusiona cadenas traducidas"
# translations.rpy:175
old "Replace existing translations"
new "Replace existing translations"
new "Reemplaza traducciones existentes"
# translations.rpy:176
old "Reverse languages"
new "Reverse languages"
new "Invertir idiomas"
# translations.rpy:180
old "Update Default Interface Translations"
new "Update Default Interface Translations"
new "Actualiza traducciones de la interfaz por defecto"
# translations.rpy:200
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
new "El comando 'extrae' permite extraer las cadenas traducidas de un proyecto existente en un archivo temporal.\n\nEl comando 'fusiona' introduce las traducciones extraídas en otro proyecto."
# translations.rpy:224
old "Ren'Py is generating translations...."
@@ -1035,55 +1035,55 @@ translate spanish strings:
# translations.rpy:235
old "Ren'Py has finished generating [language] translations."
new "Ren'Py ha terminado de generar las traducciones [language]"
new "Ren'Py ha terminado de generar las traducciones en [language]"
# translations.rpy:248
old "Ren'Py is extracting string translations..."
new "Ren'Py is extracting string translations..."
new "Ren'Py está extrayendo las cadenas traducidas..."
# translations.rpy:251
old "Ren'Py has finished extracting [language] string translations."
new "Ren'Py has finished extracting [language] string translations."
new "Ren'Py ha terminado de extrar las cadenas traducidas en [language]."
# translations.rpy:271
old "Ren'Py is merging string translations..."
new "Ren'Py is merging string translations..."
new "Ren'Py está fusionando las cadenas traducidas..."
# translations.rpy:274
old "Ren'Py has finished merging [language] string translations."
new "Ren'Py has finished merging [language] string translations."
new "Ren'Py ha terminado de fusionar las cadenas traducidas en [language]."
# translations.rpy:282
old "Updating default interface translations..."
new "Updating default interface translations..."
new "Actualizando las traducciones por defecto de la interfaz..."
# translations.rpy:306
old "Extract Dialogue: [project.current.name!q]"
new "Extract Dialogue: [project.current.name!q]"
new "Extrae diálogo: [project.current.name!q]"
# translations.rpy:322
old "Format:"
new "Format:"
new "Formato:"
# translations.rpy:330
old "Tab-delimited Spreadsheet (dialogue.tab)"
new "Tab-delimited Spreadsheet (dialogue.tab)"
new "Hoja delimitada por tabuladores (dialogue.tab)"
# translations.rpy:331
old "Dialogue Text Only (dialogue.txt)"
new "Dialogue Text Only (dialogue.txt)"
new "Diálogo en solo texto (dialogue.txt)"
# translations.rpy:344
old "Strip text tags from the dialogue."
new "Strip text tags from the dialogue."
new "Elimina etiquetas de texto del diálogo."
# translations.rpy:345
old "Escape quotes and other special characters."
new "Escape quotes and other special characters."
new "Escapa las comillas y otros caracteres especiales."
# translations.rpy:346
old "Extract all translatable strings, not just dialogue."
new "Extract all translatable strings, not just dialogue."
new "Extrae todas las cadenas traducibles, no solo el diálogo."
# translations.rpy:374
old "Ren'Py is extracting dialogue...."
@@ -1091,7 +1091,7 @@ translate spanish strings:
# translations.rpy:378
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
new "Ren'Py ha terminado de extraer el diálogo. El texto se encuentra en dialogue.[persistent.dialogue_format] en el directorio base."
# updater.rpy:75
old "Select Update Channel"
@@ -1099,11 +1099,11 @@ translate spanish strings:
# updater.rpy:86
old "The update channel controls the version of Ren'Py the updater will download. Please select an update channel:"
new "El canal de actualización controla la versión de Ren'Py que el actualizador descargará. Por favor selecciona un canal de actualización:"
new "El canal de actualización controla la versión de Ren'Py que el actualizador descargará. Selecciona un canal de actualización:"
# updater.rpy:91
old "Release"
new "Release"
new "Lanzamiento"
# updater.rpy:97
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
@@ -1111,7 +1111,7 @@ translate spanish strings:
# updater.rpy:102
old "Prerelease"
new "Prerelease"
new "Prelanzamiento"
# 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."
@@ -1127,7 +1127,7 @@ translate spanish strings:
# updater.rpy:126
old "Nightly"
new "Nightly"
new "Nocturna"
# updater.rpy:132
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
@@ -1147,7 +1147,7 @@ translate spanish strings:
# updater.rpy:158
old "[u.version] is now available. Do you want to install it?"
new "[u.version] ahora está disponible. ¿Quieres instalarla?"
new "[u.version] está disponible. ¿Quieres instalarla?"
# updater.rpy:160
old "Preparing to download the update."
@@ -1196,3 +1196,96 @@ translate spanish strings:
# front_page.rpy:91
old "PROJECTS:"
new "PROYECTOS:"
# android.rpy:308
old "Android: [project.current.display_name!q]"
new "Android: [project.current.display_name!q]"
# distribute_gui.rpy:157
old "Build Distributions: [project.current.display_name!q]"
new "Construir distribuciones: [project.current.display_name!q]"
# dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
new "Ren'Py se ejecuta en una carpeta de solo lectura. Algunas funciones no disponibles."
# dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
new "Esto sucede probablemente porque Ren'Py se ejecuta directamente desde una imagen de disco Macintosh. Cierra este lanzador, copia toda la carpeta %s en otro lugar del ordenador y ejecuta Ren'Py de nuevo."
# front_page.rpy:218
old "Actions"
new "Acciones"
# gui7.rpy:357
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
new "Personalizas. La GUI está optimizada para una ratio 16:9."
# gui7.rpy:372
old "WIDTH"
new "ANCHURA"
# gui7.rpy:372
old "Please enter the width of your game, in pixels."
new "Introduce la anchura de tu juego en píxels."
# gui7.rpy:377
old "The width must be a number."
new "La anchura debe ser un número."
# gui7.rpy:379
old "HEIGHT"
new "ALTURA"
# gui7.rpy:379
old "Please enter the height of your game, in pixels."
new "Introduce la altura de tu juego en píxels."
# gui7.rpy:384
old "The height must be a number."
new "La altura debe ser un número."
# interface.rpy:136
old "Ren'Py Sponsor Information"
new "Información de Patrocinadores de Ren'Py"
# ios.rpy:211
old "iOS: [project.current.display_name!q]"
new "iOS: [project.current.display_name!q]"
# navigation.rpy:168
old "Navigate: [project.current.display_name!q]"
new "Navegar: [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."
new "Vas a crear un proyecto en idioma [new_project_language]. Cambia el idioma del lanzador en preferencias para crear un proyecto en otro idioma."
# preferences.rpy:187
old "Force new tutorial"
new "Fuerza el nuevo tutorial"
# preferences.rpy:189
old "Legacy options"
new "Opciones antiguas"
# preferences.rpy:194
old "Sponsor message"
new "Mensaje patrocinadores"
# translations.rpy:92
old "Translations: [project.current.display_name!q]"
new "Traducciones: [project.current.display_name!q]"
# translations.rpy:343
old "Extract Dialogue: [project.current.display_name!q]"
new "Extrae diálogo: [project.current.display_name!q]"
# editor.rpy:191
old "System Editor"
new "Editor del sistema"
# editor.rpy:207
old "None"
new "Ninguno"
+1
View File
@@ -196,3 +196,4 @@ translate spanish strings:
# options.rpy:146
old "## Icon"
new "## Icono"
+6 -5
View File
@@ -123,7 +123,7 @@ translate spanish strings:
# screens.rpy:322
old "End Replay"
new "Fin repetición"
new "Finaliza repetición"
# screens.rpy:326
old "Main Menu"
@@ -503,11 +503,11 @@ translate spanish strings:
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
new "Gatillo derecho\nA/Botón inferior"
# screens.rpy:1081
old "Right Shoulder"
new "Right Shoulder"
new "Botón sup. frontal der."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -519,7 +519,7 @@ translate spanish strings:
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
new "Y/Botón superior"
# screens.rpy:1096
old "Calibrate"
@@ -659,4 +659,5 @@ translate spanish strings:
# screens.rpy:1079
old "Left Trigger\nLeft Shoulder"
new "Left Trigger\nLeft Shoulder"
new "Gatillo izquierdo\nBotón sup. frontal izq."
+1 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -68,7 +68,6 @@ init python:
os.unlink(write_test)
except:
raise
tempdir = tempfile.mkdtemp()
strings_json = os.path.join(tempdir, "strings.json")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,5 +1,5 @@
# -*- python -*-
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+37 -5
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -69,7 +69,10 @@ class Prefix(object):
# The priority of this prefix. When added at the same time, higher
# priority prefixes take precendence over lower priority prefixes.
self.priority = priority
#
# We double the priority here so we have room for the special priority
# stuff below.
self.priority = priority * 2
# A list of prefix indexes that should be updated when this prefix is
# updated, including this prefix.
@@ -87,8 +90,8 @@ class Prefix(object):
prefixes[name] = self
# The number of priority levels we have.
PRIORITY_LEVELS = 4
# The number of priority levels we have. Double the number given below, due to the doubling above.
PRIORITY_LEVELS = 8
# The number of prefixes we have.
PREFIX_COUNT = 6
@@ -233,6 +236,7 @@ displayable_properties = {
"thumb_shadow",
}
# A map from a style property to its index in the order of style_properties.
style_property_index = collections.OrderedDict()
for i, name in enumerate(style_properties):
@@ -243,6 +247,33 @@ style_property_count = len(style_properties)
# print("{} properties * {} prefixes = {} cache entries".format(
# style_property_count, PREFIX_COUNT, style_property_count * PREFIX_COUNT))
# Special priority properties - these take a +1 compared to others. Generally,
# these would be listed in the tuples in synthetic_properies, below.
property_priority = sorted_dict(
left_margin=1,
top_margin=1,
right_margin=1,
bottom_margin=1,
xpos=1,
xanchor=1,
ypos=1,
yanchor=1,
left_padding=1,
top_padding=1,
right_padding=1,
bottom_padding=1,
xoffset=1,
yoffset=1,
xminimum=1,
yminimum=1,
xmaximum=1,
ymaximum=1,
xfill=1,
yfill=1,
)
# A list of synthetic style properties, where each property is expanded into
# multiple style properties. Each property are mapped into a list of tuples,
# with each consisting of:
@@ -482,7 +513,7 @@ def generate_property_function(g, prefix, propname, properties):
g.write("cdef int {name}_property(PyObject **cache, int *cache_priorities, int priority, object value) except -1:", name=name)
g.indent()
g.write("priority += {}", prefix.priority)
g.write("priority += {}", prefix.priority + property_priority.get(propname, 0))
for stylepropname, func in properties:
value = "value"
@@ -612,6 +643,7 @@ def generate_sets():
g.write("prefix_priority = {}", prefix_priority)
g.write("prefix_alts = {}", prefix_alts)
g.write("prefix_search = {}", PREFIX_SEARCH)
g.write("property_priority = {}", property_priority)
g.write('"""')
g.close()
+801 -786
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -1,6 +1,6 @@
#!/usr/bin/env python
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -159,6 +159,7 @@ cython(
# renpy
cython("renpy.parsersupport")
cython("renpy.pydict")
cython("renpy.style")
# renpy.styledata
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1
View File
@@ -0,0 +1 @@
../help.html
+1 -1
View File
@@ -3,7 +3,7 @@
# This file is part of Ren'Py. The license below applies to Ren'Py only.
# Games and other projects that use Ren'Py may use a different license.
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+28 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -41,10 +41,10 @@ except ImportError:
vc_version = 0
# The tuple giving the version number.
version_tuple = (7, 1, 0, vc_version)
version_tuple = (7, 0, 0, vc_version)
# The name of this version.
version_name = "We came in peace."
version_name = "For all mankind."
# A string giving the version number only (7.0.1.123).
version_only = ".".join(str(i) for i in version_tuple)
@@ -71,6 +71,9 @@ linux = False
android = False
ios = False
# Should we enable experimental features and debugging?
experimental = "RENPY_EXPERIMENTAL" in os.environ
import platform
@@ -151,6 +154,7 @@ backup_blacklist = {
"renpy.object",
"renpy.log",
"renpy.bootstrap",
"renpy.debug",
"renpy.display",
"renpy.display.pgrender",
"renpy.display.scale",
@@ -186,6 +190,8 @@ name_blacklist = {
"renpy.display.render.IDENTITY",
"renpy.loader.auto_lock",
"renpy.display.screen.cprof",
"renpy.audio.audio.lock",
"renpy.audio.audio.periodic_condition",
}
@@ -317,12 +323,20 @@ def update_path(package):
libexec = os.path.dirname(encodings.__path__[0])
package.__path__.append(os.path.join(libexec, *name))
# Replaced below.
def plog(level, even, *args):
return
def import_all():
# Note: If we add a new update_path, we have to add an equivalent
# hook in the renpython hooks dir.
# Note: If we add a new module, we need to add it to iOS.
import renpy # @UnresolvedImport
update_path(renpy)
@@ -334,6 +348,8 @@ def import_all():
import renpy.display
import renpy.debug
# Should probably be early, as we will add it as a base to serialized things.
import renpy.object
@@ -356,10 +372,15 @@ def import_all():
import renpy.persistent
import renpy.scriptedit
import renpy.parser
import renpy.performance
import renpy.pydict
import renpy.python
import renpy.script
import renpy.statements
global plog
plog = renpy.performance.log
import renpy.styledata # @UnresolvedImport
update_path(renpy.styledata)
@@ -555,6 +576,8 @@ def reload_all():
renpy.display.draw = None
renpy.display.interface = None
py_compile_cache = renpy.python.py_compile_cache
# Delete the store modules.
for i in sys.modules.keys():
if i.startswith("store") or i == "renpy.store":
@@ -568,6 +591,8 @@ def reload_all():
# Restore the state of all modules from backup.
backup.restore()
renpy.python.old_py_compile_cache = py_compile_cache
renpy.display.im.reset_module()
post_import()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
cdef extern from "glcompat.h":
cdef extern from "glcompat.h" nogil:
ctypedef unsigned int GLenum
ctypedef unsigned char GLboolean
ctypedef unsigned int GLbitfield
+2 -1
View File
@@ -84,7 +84,8 @@ cdef int glClear(GLbitfield a0) except? 0:
if check_errors & 4:
renpy.display.log.write('glClear')
cdef GLenum error
realGlClear(a0)
with nogil:
realGlClear(a0)
if check_errors:
error = realGlGetError()
if error:
+1 -1
View File
@@ -1,7 +1,7 @@
# This file was automatically generated from renpy/gl/glblacklist.py
# Modifications will be automatically overwritten.
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2017 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2018 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files

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