Compare commits

...

947 Commits

Author SHA1 Message Date
Tom Rothamel 8a21aa55dc Wrap json loaded in revertible objects.
This is intended to improve compatibility with older games that might
use .iteritems and similar methods.
2025-02-12 23:21:48 -05:00
Tom Rothamel 6c948bf046 fonts: Allow deallocation and clear face cache.
So fonts can be reloaded when required. Fixes #6153.
2025-02-12 22:51:50 -05:00
Tom Rothamel 8de2bda1e6 Proxy SelectedIf and SensitiveIf lists into a single Action.
Fixes #6132.
2025-02-07 01:24:18 -05:00
Tom Rothamel 5e3b209ba2 Fix the name of config.dissolve_shrinks.
Fixes #6122.
2025-01-31 22:07:18 -05:00
Tom Rothamel 2e45c3e609 doc: Fixes.
Fixes #6097.
2025-01-24 21:29:51 -05:00
Tom Rothamel 8c7a3b13bf Merge pull request #6105 from nullvoid8/docs_nearrect
Update `nearrect` documentation
2025-01-23 22:32:49 -05:00
Tom Rothamel 4a0738f2aa Document build.version.
Fixes #6102.
2025-01-22 22:19:42 -05:00
nullvoid8 899eb6616f merge documentation of nearrect the class, and nearrect the statement 2025-01-23 02:46:14 +00:00
Tom Rothamel 536fce4a22 sl2: Add box properties to imagemap.
As documented. Fixes #6090.
2025-01-18 23:03:42 -05:00
Tom Rothamel ca9e2dfe47 Fix regexp. 2025-01-14 01:49:35 -05:00
Tom Rothamel 321434e95e Allow a displayable with size to opt out of mouse focus.
And do that for viewports.

Fixes #6081.
2025-01-14 01:44:45 -05:00
the66F95 41b6e689d3 fix some newline typos 2025-01-13 08:56:13 -05:00
Tom Rothamel 7958f5445a Make gles2 the default renderer on arm-linux.
As it's much faster on Raspberry Pi, and probably other arm-linux
devices.
2025-01-11 22:36:46 -05:00
Gio efd4cc6b5e Document cb_args cb_ prefix behavior 2025-01-11 15:34:01 -05:00
Tom Rothamel 35c4ba4a41 Make all fields in gl2draw public.
Fixes #6060.
2025-01-10 22:56:34 -05:00
Tom Rothamel 5361a8e9a5 Ignore text tag errors that happen after {done}. 2025-01-10 01:21:56 -05:00
Tom Rothamel ba76f970c5 Perform substitution when scrying extend text.
This prevents problems if the scryed text substitutes things.

Fixes #6071
2025-01-10 01:07:25 -05:00
Tom Rothamel 7d8d05107b Allow the fix branch to run on python 3.12. 2025-01-09 22:44:43 -05:00
Tom Rothamel 2639028ce7 Document config.has_music, config.has_sound, and config.has_voice.
Also, slight correction on how a channel without a mixer works.

Fixes #6068.
2025-01-08 08:27:10 -05:00
Kassy beedbc0a22 Do not kill Renders that cache the last video frame on Web (#6057)
Fixes and issue where, when the next video frame is not ready, the previous one is returned by get_movie_texture_web(). Normally, this is just a GLTexture instance, but when using a mask, that frame is a Render instance instead. The problem is that Render instances get killed soon after they have been drawn, so get_movie_texture_web() returns a dead instance when re-using the previous frame which causes a crash because of missing uniforms when drawing the screen.

Fixes #6050.
2025-01-05 00:50:49 -05:00
Tom Rothamel 74157a4ad6 Update copyright for 2025. 2025-01-02 18:48:44 -05:00
Ruben Garcia 25b4a17d1a Fix typo 2025-01-02 18:47:03 -05:00
Tom Rothamel 4163c1396c Merge pull request #6035 from shawna-p/default-focus-fix2
Don't overrule focus override for max focus
2024-12-25 20:39:00 -05:00
shawna-p d6ab06dd1f Don't overrule focus override for max focus 2024-12-25 16:42:56 -05:00
Tichq 3db515db3c fix: function staticmethod of TransformMatrix 2024-12-25 07:29:53 -05:00
Tom Rothamel cc654ebfeb atl: Distinguish between children and included transforms.
During prediction. Fixes #6014.
2024-12-25 00:04:04 -05:00
Tom Rothamel f389c13b29 Better error if textshaders are used incorrectly. 2024-12-24 00:23:35 -05:00
Tom Rothamel c57dbe7a9d Use the correct condition for including i686.
Fixes #6028.
2024-12-23 20:34:28 -05:00
Tom Rothamel e35fcb2e86 Only include the current libpython3.{x}.dll in builds. 2024-12-22 09:32:23 -05:00
Tom Rothamel 38b505ba36 Fix code-typo regarding tight playback.
Fixes #6019.
2024-12-22 01:32:26 -05:00
Tom Rothamel f132d49157 text: Handle events in virtual coordinates.
Fixes #6013.
2024-12-18 23:17:56 -05:00
Tom Rothamel ba0bc218c2 cy3: Add noexcept annotations.
These allow Ren'Py to be compiled by cython 3.0.
2024-12-14 20:50:07 -05:00
Tom Rothamel 97331e2464 Fix to how SetCharacterVolume sets the volume.
Previously, it would try to adjust the volume. Now it treats it
the same way _CharacterVolumeValue does.

Fixes #6001.
2024-12-13 20:05:12 -05:00
Tom Rothamel 8d38a6ae4d Add no_launcher_links.txt.
If a file named ``no_launcher_links.txt`` exists in the Ren'Py base directory (the one with
renpy.exe, renpy.sh, and renpy.app in it), the launcher will disable links to renpy.org. While
not guaranteed, this is intended in educational and homeschool environments to prevent young
Ren'Py users from seeing adult sponsors.
2024-12-11 22:27:36 -05:00
Tom Rothamel e3c4993487 Bump the fix version. 2024-12-08 23:48:49 -05:00
Tom Rothamel d0270729c1 doc: Changelog. 2024-12-07 22:57:53 -05:00
Tom Rothamel 3bc3bf3e19 Avoid reporting string errors on triple-quoted strings.
Which tend to be much more intentional, and cause errors when
monologue mode exists.
2024-12-07 22:31:04 -05:00
Tom Rothamel 831fb59d49 Produce a better error for monologue mode with an id clause.
Fixes #5980.
2024-12-07 22:16:19 -05:00
Tom Rothamel f5555d6f1a Merge pull request #5982 from mal/fix-5981
Prevent MultipleDict masking builtins during interpolation
2024-12-05 22:02:58 -05:00
Mal Graty e7eb0e135b Meet expectation to raise KeyError on missing keys
Fixes #5981
2024-12-06 00:15:14 +00:00
Tom Rothamel bf9de85f75 Offer config.screen_width, config.screen_height to imagemaps.
This shouldn't affect normal imagemaps that use images, but
should make using non-image displayables in imagemaps work better.

Fixes #5976.
2024-12-03 23:28:01 -05:00
Tom Rothamel 6470a37b40 Use itch.zone instead of itch.ovh.
Per https://github.com/itchio/butler/commit/898b30bb2cadaaf561d91c4f7784aa1927c5cfb2

Fixes #5795.
2024-12-03 19:18:34 -05:00
Tom Rothamel 99a5ac89db Remove style_prefix from the template say screen.
As it's not used.

Fixes #5973.
2024-12-03 00:34:17 -05:00
Tom Rothamel e46073b059 Allow renpy.register_style_preference to take a style by name.
Per the documentation.

Fixes #5972.
2024-12-02 21:57:17 -05:00
Mal Graty 88ddee9d5e doc: Missing version headers in changelog 2024-12-02 01:24:05 +00:00
Tom Rothamel d8283c958c doc: Changelog. 2024-12-01 20:17:41 -05:00
Tom Rothamel 31025cdadb doc: Credits, sponsors. 2024-12-01 19:27:10 -05:00
naughty road e66a9b8c6d Code cleanup: remove superfluous line 2024-12-01 19:10:20 -05:00
naughty road 2b5b9835b7 Fix order of attempting to load presplash images
Checks for foreground+background first, before falling back to the single presplash image, instead of the other way around, to match behavior in the documentation (https://www.renpy.org/doc/html/splashscreen_presplash.html#adding-a-progress-bar).
2024-12-01 19:10:08 -05:00
the66F95 3f667e3ef1 Update dragdrop.py
should fix #5968 (not extensively tested)
2024-12-01 19:08:38 -05:00
Tom Rothamel 823e235a1c Remove debug raise.
Fixes #5966.
2024-12-01 17:09:27 -05:00
Tom Rothamel 1df2c15b07 Stop movies that may have been restarted when returning to a channel.
Fixes #5960. (Replicated as bug5911.)
2024-12-01 00:20:18 -05:00
Tom Rothamel 5c5252a516 Use the correct variable name. 2024-11-30 08:25:11 -05:00
Tom Rothamel 70bb4208bc Avoid save scanning restarting the interaction.
The strategy chosen was to keep track of which slots have had
information by the rest of Ren'Py, and only restarting if one of
those slots is accessed.

This is motivated by a series of interaction restarts at choice menus,
caused by the autosaves that happen when a choice menu is reached.
2024-11-29 21:42:03 -05:00
Tom Rothamel 2e1c09dbbd Remove the ATL "update" event.
This was rarely used, and caused problems, like #5926, with no
actual benefit.

Fixes #5956 by virtue of reverting #5927.
2024-11-29 21:09:41 -05:00
Tom Rothamel fc5f8e0d3e Revert "Update screen.py"
This reverts commit cb10f2a21a.
2024-11-29 20:23:41 -05:00
Tom Rothamel 28ae4a7c0c Fix where nvl_hide sets store._window.
So that _window is False before the empty window is shown.
2024-11-29 14:36:51 -05:00
Tom Rothamel ec5738c6e0 Add renpy.get_statement_name.
To make available the statement name.
2024-11-29 14:30:40 -05:00
Tom Rothamel 2da8beecd7 Handle non-keyboard focusable displayables.
Specifically, before doing any sort of keyboard focus, check
that the current focus supports the keyboard, and drop it if
it does.

Per #5936. Keeps the fix for #5173.
2024-11-29 13:07:57 -05:00
Tom Rothamel e0062cbebc Compat #4717.
Fixes #5954.
2024-11-28 22:31:14 -05:00
Tom Rothamel 9b290e07f5 Fix keyboard focus of viewports.
Based on #5936, fixes #5934.
2024-11-28 21:53:27 -05:00
Tom Rothamel 864feaba02 Indentation fix from #5947. 2024-11-24 11:48:50 -05:00
Tom Rothamel 76b068c6dc Take the CaretBlink change from #5947. 2024-11-24 11:45:22 -05:00
Tom Rothamel ebc6e66433 Add a ZWSP to pad out an empty line.
This fixes the same thing seen in #5947, in a different way.
2024-11-24 11:11:00 -05:00
Tom Rothamel f25dcea3cb Take the remaining fix from #5931.
Fixes #5929.
2024-11-23 22:35:03 -05:00
ヽ◕◡◕✿ノ 78899cfef3 Live2D.blend_opacity wasn't usable 2024-11-23 22:28:51 -05:00
Tom Rothamel 339c7357dc Update and modernize SpriteManager.
Fixes #5939

* Make SpriteManager pickleable.
* Update the idea of a fast render to take gl2 into account.
2024-11-23 22:15:35 -05:00
Tom Rothamel 4a1182cdd5 Ensure inputs are at least 1px wide.
Fixes #5944 while retaining #5929 and #5913.
2024-11-23 21:41:38 -05:00
Tom Rothamel 9ff3bb67e8 Revert "input mask regression"
This reverts commit 89d5858d2b.
2024-11-23 21:19:45 -05:00
Jan Masek f7a5e874ea Mention screen calling labels in Special Labels 2024-11-22 23:39:29 -05:00
HorBro38 ec758301ac Update displaying_images.rst
Corrects errant use of .jxl file type discovered in #5933
2024-11-21 17:56:47 -05:00
the66F95 19122e45c8 Update screen.py
seems to fix #5926 while preserving #5905
2024-11-20 23:10:26 -05:00
the66F95 89d5858d2b input mask regression
should fix #5929 while preserving #5913
2024-11-20 23:10:12 -05:00
the66F95 5a65eea075 Update viewport.py
should fix #5921
2024-11-19 22:59:21 -05:00
Edward Nicholes Jr. 4e5dd16606 Fix the ATL part of the tutorial to show the correct example code
In the "Tutorial" > "Transforms and Animation", there is a section that demonstrated that `repeat` can take an integer argument.

However, the `alt_image1` example code is shown twice on lines 543 and 548 for two different examples.

Line 548, should be changed to show the `alt_image2` example code which removed the `repeat 2` line from the previous example, showing that the animation will only happen once.
2024-11-19 22:59:12 -05:00
Tom Rothamel dd61e71beb Ensure the cache is maintained under lock.
And also check that cache entry is in the cache when it's killed.

Fixes #5923.
2024-11-19 22:25:23 -05:00
naughty road 70f30147df fix link to pyjnius docs
Seems the original URL refering to "stable" doesn't exist anymore, this updates it to direct to "latest" instead.
2024-11-18 22:41:47 -05:00
Tom Rothamel fa84f0c61e doc: Changelog wording fix. 2024-11-16 03:06:09 -05:00
Tom Rothamel 74339b0432 Bump the fix version. 2024-11-16 01:59:03 -05:00
Tom Rothamel f6f4b3bce3 Empty masked inputs no longer show a single mask glyph.
Fixes #5913.
2024-11-15 20:34:32 -05:00
Tom Rothamel 5dbd50159a doc: Correct the notify screen. 2024-11-15 00:11:26 -05:00
Tom Rothamel 1e85fd051a doc: Sponsors. 2024-11-14 23:16:13 -05:00
Tom Rothamel dc65afd6f1 Duplicate the children of Movie.
Fixes #5907.
2024-11-13 22:55:57 -05:00
Tom Rothamel e3222ec11d Store the old_max_default even if it's not used.
Fixes #5903.
2024-11-12 22:30:57 -05:00
Tom Rothamel 37c78dccda config.nvl_adv_transition no longer forces the dialogue window to be hidden.
Fixes #5904.
2024-11-12 22:11:46 -05:00
Tom Rothamel 1a7f0ca8c3 Screens go from SHOW to UPDATE upon first update.
Fixes #5905.

The underlying issue was caused by the screen being run for a
second time in SHOW mode, which in turn prevented scopes of used
screens from being saved.
2024-11-12 21:55:58 -05:00
Tom Rothamel be8831b4b2 doc: Changelog and credits. 2024-11-11 00:50:46 -05:00
Tom Rothamel fc87c053c3 Do not focus a displayable that's been transformed to nothing.
Fixes #5869.
2024-11-11 00:41:32 -05:00
Tom Rothamel 10cc039460 Merge pull request #5900 from Kassy2048/fix
Do not offer to open "traceback.txt" on mobile
2024-11-10 23:48:00 -05:00
Tom Rothamel fd027dbdbd Duplicate an AlphaMask's mask. 2024-11-10 23:47:28 -05:00
Kassy 15eb9a9c13 Do not offer to open "traceback.txt" on mobile
renpy.launch_editor() is not supported on mobile (or Web) so clicking on
the button does nothing.
2024-11-11 05:31:11 +01:00
woolion 2ded06bc5d steam: fix get_session_ticket 2024-11-10 13:56:08 -05:00
Tom Rothamel c5cdd0038e Merge pull request #5891 from DipeshAggarwal/patch-2
Fix the wrong keymap for accessibility
2024-11-08 21:18:51 -05:00
Tom Rothamel 8bac98c29a Merge pull request #5892 from DipeshAggarwal/patch-3
Replace `balloon` with 'bubble` to represent a valid type for callbacks
2024-11-08 21:18:37 -05:00
Dipesh Aggarwal 421d8cc37d Replace balloon with 'bubble` to represent a valid type for callbacks 2024-11-09 07:08:01 +05:30
Dipesh Aggarwal c097434036 Fix the wrong keymap for accessibility 2024-11-09 06:59:12 +05:30
Dipesh Aggarwal e3cc4be1b8 Fix UnboundLocalError: local variable 'keyboard_mode' referenced before assignment
(cherry picked from commit 15f498516a)
2024-11-09 03:31:10 +04:00
Tom Rothamel b5711f7e11 doc: Changelog whitespace changes. 2024-11-08 01:07:11 -05:00
Tom Rothamel 8f2649e3a7 doc: Changelog. 2024-11-07 22:29:47 -05:00
Tom Rothamel ab42c0f6e1 Only skip the BOM, not other characters. 2024-11-07 22:02:23 -05:00
Tom Rothamel 01eacd2932 Avoid forcing synchro_start when playing a movie.
Fixes #5887.

This may cause mask_channel to get a bit more out of sync, but it's
already so-so, and side_mask is the superior alternative.
2024-11-07 21:55:08 -05:00
Tom Rothamel c25f22fe4f doc: Credits. 2024-11-07 21:54:55 -05:00
Tom Rothamel fe3b800cab Change Model to create meshes as documented.
Fixes #5692.
2024-11-05 00:36:12 -05:00
Tom Rothamel ccde74bdb8 doc: Fix config.skip_sounds.
Fixes #5883.
2024-11-04 08:47:28 -05:00
Tom Rothamel ab6f469811 textshader: Consider all glyphs when assigning coordinates.
Fixes #5884.
2024-11-03 23:22:46 -05:00
Tom Rothamel f92b70d38c Protect against errors with disconnected audio sources.
Fixes #5882, with low confidence.
2024-11-03 21:14:34 -05:00
Andy_kl e89338342a Skip BOM in ren_py_to_rpy so RENPY can start at first line. 2024-11-04 02:29:14 +04:00
Tom Rothamel 62ca262aec Fix tyop. 2024-11-02 15:49:52 -04:00
Tom Rothamel eb5a84d420 Remove unnecessary locking in im.Cache.
This is the most likely cause of the performance issues in #5295.
Now, the lock should be held for brief periods of time.
2024-11-02 15:48:08 -04:00
Tom Rothamel 3280bcc5ff Clarify where gui.unscrollable works.
Fixes #5218.
2024-11-02 15:06:05 -04:00
Tom Rothamel 5c5f72659c Restore old behavior of screenshot.
When render_tree is None, screenshot takes the old contents of
the framebuffer. Which isn't great, but since it happens when
at the main menu, isn't a huge deal.

Fixes #5879.
2024-11-01 22:47:15 -04:00
Tom Rothamel b9789ae25c Fix icon font in the director.
Fixes #5876.
2024-10-31 01:29:21 -04:00
Tom Rothamel 58e56cff88 Quote attributes in the image attributes screen.
Per #5877.
2024-10-30 22:30:28 -04:00
Tom Rothamel 4b532ac11e Produce a sensible error when monologue mode is used in a menu.
Fixes #5872.
2024-10-29 21:40:41 -04:00
Tom Rothamel a7f16eee3f Remove the "always" steam deck keyboard mode. 2024-10-29 21:13:53 -04:00
Tom Rothamel fff2558083 Revert "Fix an issue that could stop audio rollback from working."
This reverts commit 14ced3377a.
2024-10-28 01:03:30 -04:00
Tom Rothamel 944b7d0e9c Copy the music dictionary when it changes.
Fixes #5868 while continuing to fix #5802.
2024-10-28 00:51:38 -04:00
Tom Rothamel 7022001dbe Keep high-rate drawing for 12 frames (.2s).
This ensures that a static image is pushed through any sort of
compositor that requires constant flipping.

Fixes #5867.
2024-10-27 01:38:58 -04:00
Tom Rothamel 0ab9444676 hbfont: Underlines and strikethroughs should not include glyph.x_offset.
Fixes #5861.
2024-10-26 19:19:17 -04:00
Tom Rothamel 0795565e07 Quit out of pygame.display when the presplash ends.
This resets the IME system, which is needed to fix #5801.
2024-10-25 00:51:30 -04:00
Tom Rothamel 3cf31edae2 doc: Fix mistake.
Fixes #5863.
2024-10-24 21:45:59 -04:00
Craig de Stigter 8b356090d9 Fix an obvious undefined variable error 2024-10-24 21:28:40 -04:00
Tom Rothamel 9f3be6e604 Only synchro start movie channels when explicitly requested.
Per #5914.
2024-10-23 21:28:48 -04:00
Tom Rothamel 0e6522f867 Use a different approach to #5854.
The focus system may not always use the same displayable, so .focus
is a good idea. Instead, change the prefix each time it's asked for.
2024-10-23 01:50:46 -04:00
Tom Rothamel 3cbe6fa1d8 Avoid re-focusing a displayable that has replaced another.
Fixes #5854.
2024-10-22 23:42:02 -04:00
Ayowel bb5588f182 Do not needlessly track files in late_base_patterns 2024-10-21 23:38:34 -04:00
Ayowel 45a6a08559 Only ignore .rpe files if they are not explicitly tracked 2024-10-21 23:38:23 -04:00
Tom Rothamel e1cb42f253 gl2: Round coordinates during pixel_perfect.
Rounding errors could cause problems when performing the pixel
perfect correction, and the rounding errors could be different
in normal rendering and render-to-texture.

By rounding first, we eliminate these problems.

Fixes #5844.
2024-10-21 00:53:08 -04:00
Tom Rothamel dde19b8716 gl2: Fix gl_anisotropic
Which used the incorrect field.

Fixes #5851.
2024-10-20 21:57:18 -04:00
Tom Rothamel 906788fe88 video: Avoid stopping movies if both current and old have _play.
To make Ren'Py cooperate better with games that run the movies
themselves.

Per #5814.
2024-10-19 16:35:26 -04:00
Tom Rothamel 69b019f03c Use last_channel_movie to stop movies, since it exists. 2024-10-19 16:30:11 -04:00
Tom Rothamel 9de1c93ef9 Document that transforms shouldn't be applied to a Drag directly.
Per #5847.
2024-10-19 01:19:06 -04:00
Tom Rothamel c4f478160b Add referrer support to installer.download. 2024-10-17 23:21:01 -04:00
Tom Rothamel 054535f0c8 Restart looping movies during rollback.
Fixes #5564.
2024-10-16 23:19:10 -04:00
Tom Rothamel 16b9c2be67 Use insets when evaluating keyboard focus conditions.
Fixes #5831.
2024-10-15 01:05:44 -04:00
Tom Rothamel 4a591d552b Fix a rounding issue that stopped bar_invert from working.
Fixes #5843.
2024-10-14 00:43:15 -04:00
Tom Rothamel 576a1138d3 Changelog last. 2024-10-13 19:35:41 -04:00
avonder 50ef339f16 android: Install-time asset pack support. (#5837)
Enable reading from APK-based asset packs
2024-10-13 19:32:49 -04:00
Tom Rothamel 0385bbcb9b Re-render displayables after box_wrap.
After wrap, a displayable may be offered a different size, and
so the render needs to happen again.
2024-10-12 23:52:07 -04:00
Tom Rothamel 20a5d6cd69 Factor out check_spline_types.
Recursive inner functions create reference loops that need to be
GC-ed, so eliminating such can reduce GC pauses.

Per #5832.
2024-10-07 22:33:42 -04:00
Tom Rothamel 34a1f57e50 Make all default_focus activations explicit.
So the hovered handler runs.

Fixes #5794.
2024-10-07 02:06:43 -04:00
Tom Rothamel 5245fbb38e Consider controller events inputs before being mapped.
Fixes #5780.
2024-10-06 23:16:54 -04:00
Tom Rothamel 937c91f314 Proactively remove ongoing transitions.
Fixes #5827.
2024-10-06 01:39:47 -04:00
Tom Rothamel d90f1cdc30 Another fix to grabs and viewports. 2024-10-04 21:48:41 -04:00
Tom Rothamel 8c82667ae1 Disable pixel-perfect for Frame.
It only would work in corners, and wasn't working on the other sections
except at 1:1. So disable it.

Fixes #5793.
2024-10-04 00:28:32 -04:00
Tom Rothamel 3085c15caf Add a method in render.pyx to find GL properties. 2024-10-03 23:37:14 -04:00
Tom Rothamel 2e37df7103 Prevent crash when Live2D.used_nonexclusive is None.
Fixes #5816.
2024-10-03 21:46:32 -04:00
Tom Rothamel 9a75b6628b Another fix to viewport dragging.
Per #5776.

Co-Authored-by: the66F95 <54831834+the66F95@users.noreply.github.com>
2024-10-03 21:37:34 -04:00
Tom Rothamel 405d8d4399 Allow drag to begin inside a button.
Fixes #5776, comment 2383488254.
2024-10-03 00:51:19 -04:00
Mark 56dda5590b doc: Fix code block in cds.rst 2024-10-01 22:48:48 -04:00
Tom Rothamel 86046383a8 Improve how draggable viewports and drags interact.
After these changes, the innermost draggable should take precedence,
rather than what's focused.

Fixes #5776.
2024-09-29 22:16:42 -04:00
Tom Rothamel f907fe119a Changes to audio filters take place immediately after reload.
Fixes #5802.
2024-09-29 02:01:52 -04:00
Tom Rothamel 14ced3377a Fix an issue that could stop audio rollback from working.
The failure would take place in the case where a channel is changed
between roll-forward and and an interaction, but the sound playing
would not change (ie. a queue operation).
2024-09-29 01:47:28 -04:00
Tom Rothamel ad690d8a16 audiofilter: Make the time the filter changes well defined. 2024-09-28 23:47:12 -04:00
Tom Rothamel 1c830a0be1 Audited #5797 2024-09-27 18:21:28 -04:00
Tom Rothamel ee89717b47 linvol: Remove compatibility.
This was compat code that has served it's purpose - players can still
adjust the volumes as required.

Fixes #5806.
2024-09-26 01:09:13 -04:00
Tom Rothamel 6cfef151da Write <package>.update.json in a temporary directory, only copy if needed.
Fixes #5798.
2024-09-25 20:18:42 -04:00
Tom Rothamel 8d2a6d2596 Allow textshaders to work with glyphs at negative offsets.
Fixes #5787.
2024-09-19 00:20:57 -04:00
Tom Rothamel f225453ff1 Only store transform events on Displayables that use or produce them.
This prevents an issue from occurring when a non-duplicatable
displayable is the child of multiple other displayables, which
could set transform_event multiple times.

As it doesn't respond to the event, and doesn't produce it, there's
no reason for the event to be stored. So we don't.

Fixes #5788
2024-09-18 22:27:12 -04:00
Tom Rothamel 209eb580cf web: Prevent access to files and directories starting with "." 2024-09-17 21:24:01 -04:00
Tom Rothamel 3103cff7f7 Restore RENPY_NO_STEAM support. 2024-09-17 20:34:10 -04:00
brimbel 138884b545 Fix example of shader text tag
jitter text shader does not have a speed uniform
2024-09-17 00:46:19 -04:00
Tom Rothamel 1489a4e748 text: Add pseudo-glyphs to the start and end of outlined lines.
These are shown to ensure that all of the outlines are shown, even
if there is no character in that space.

Fixes #5778.
2024-09-16 01:48:00 -04:00
Tom Rothamel 1a7fb9c008 text: Ensure that there is no space between textshader glyphs. 2024-09-15 21:50:26 -04:00
Tom Rothamel 6506a3a45e Fix an issue with with sdist, versions, and pygame_sdl2. 2024-09-14 13:15:06 -04:00
levicratic 3913ca9c0c Fix size tag preventing outer tags from closing 2024-09-11 21:36:45 -04:00
Tom Rothamel 4e03602bd6 Bump versions. 2024-09-10 00:43:15 -04:00
Tom Rothamel a2e08864c4 doc: Changelog. 2024-09-09 01:09:54 -04:00
Tom Rothamel 14563943ed Do not include keys in build. 2024-09-09 00:48:57 -04:00
Tom Rothamel 5e91783620 Bump fix version. 2024-09-08 00:04:52 -04:00
Tom Rothamel cde01cf27b Do not allow image keywords to occur in image simple expressions. 2024-09-06 22:12:11 -04:00
the66F95 6d0b674c30 Update render.pyx
still debug output present.
2024-09-05 13:20:30 -04:00
Tom Rothamel e42c774cd4 doc: Fix changelog. 2024-09-05 09:03:21 -04:00
Tom Rothamel b46eabc2af Update changelog. 2024-09-04 21:43:43 -04:00
Tom Rothamel 2c6e08247f Fix invoking local shaders in shader tags.
Fixes #5765.
2024-09-04 00:45:50 -04:00
Tom Rothamel 32ab62f5dd Improve the audio init error message.
Per #5763.
2024-09-03 23:38:19 -04:00
Tom Rothamel 003ac717d8 Improve AudioData.
* Allow it to take <...> properties.
* Document that it works with video as well.
2024-09-03 23:23:33 -04:00
Tom Rothamel e4089d2dce text: Adjust large textshader text for texture borders. 2024-09-03 22:16:18 -04:00
Tom Rothamel 4076bc8ae9 gl2: Store the borders that were used to create a texture mesh. 2024-09-03 22:16:07 -04:00
Tom Rothamel 13831d4c39 text: Fixes > 4k textshaders. 2024-09-03 00:45:03 -04:00
Tom Rothamel 33552beb80 text: Close-to-working support for text textures above 4k. 2024-09-02 23:37:18 -04:00
Tom Rothamel 0da702db49 Add a function to offset textures in a mesh. 2024-09-02 22:10:51 -04:00
Tom Rothamel 9d8329c766 Add renpy.stop_skipping.
Fixes #5743.
2024-09-02 19:38:13 -04:00
Tom Rothamel efc671e647 Add Gallery.image(movie=True).
This fixes #5758 by providing a way to keep the movie from
playing through the transition.
2024-09-02 19:09:05 -04:00
Tom Rothamel b2456f5a16 Properly combine transform-uniforms with model-uniforms.
Per #5759
2024-09-01 21:00:13 -04:00
Tom Rothamel 2ad7cebd7a Improvements to allow large amounts of text and meshes.
Fixes #5760.
2024-09-01 15:57:32 -04:00
Andy_kl 72a6d5d347 Make config.interface_layer an early config.variable.
Without it, developer need to set it with `-501` priority to be
lower than `Screen.define`
2024-09-01 04:37:47 +04:00
Tom Rothamel c34b2da03b Add multiple to the character callback.
Fixes #5750.
2024-08-31 00:12:41 -04:00
Tom Rothamel bd943f16a1 Remove debug raise. 2024-08-30 09:31:52 -04:00
Tom Rothamel 26046d3b15 Only consider input events for default focus.
Fixes #5753.
2024-08-30 00:32:45 -04:00
Tom Rothamel 9ebe782866 Fix subsurfacing of displayables with negative offset and clipping.
Fixes #5752.
2024-08-30 00:19:15 -04:00
Tom Rothamel 327f6a32d5 Route all url-opening through renpy.open_url.
And on PC, shut down fullscreen when opening a web browser.

Fixes #5747.
2024-08-29 09:34:30 -04:00
Tom Rothamel a78af4ad86 Remove the Beta flag on the web port. 2024-08-29 00:11:09 -04:00
Tom Rothamel 495d980277 Check in the changes vscode settings. 2024-08-28 20:51:48 -04:00
Tom Rothamel 07ab2c9e52 lint: Do not check non-files as files. 2024-08-28 20:38:12 -04:00
Tom Rothamel c48e102658 Document config.font_transforms.
Fixes #5746.
2024-08-28 19:17:30 -04:00
Tom Rothamel 53f2d81f88 Remove debugging raise. 2024-08-28 00:54:14 -04:00
Tom Rothamel 14ed5f4f76 Make TransformState.get work with all properties.
Not just simple ones.

Fixes #5669.
2024-08-28 00:41:23 -04:00
Tom Rothamel a53b06834d Allow negative offsets to be subsurfaced.
This stores the area of the crop box, and lets a displayable go
outside its parents so long as it goes outside the crop box.

(Not 100% sure why this is working without changes when the
displayable is out to the right, but so far so good.)
2024-08-28 00:04:08 -04:00
Tom Rothamel e5d8581a7e render: Fix names compute_subline. 2024-08-27 21:35:02 -04:00
Mark 325a349092 doc: Fix example in dialogue.rst (#5736) 2024-08-27 16:53:23 -04:00
veydzh3r bb0a201e2a Update ukrainian (#5741)
* Update common.rpy

* Update developer.rpy

* Update gui.rpy

* Update launcher.rpy

* Update options.rpy

* Update screens.rpy

* Update script.rpym
2024-08-27 16:53:15 -04:00
Tom Rothamel ba48755589 Use the correct when rendering a TextMeshDisplayable.
Fixes #5737.
2024-08-26 20:57:18 -04:00
Tom Rothamel d6cf8b37ab Ensure the show_done callback is always called.
And re-document it.
2024-08-26 17:54:39 -04:00
Kassy 0e0ae03baa [Web] Only call syncfs once from MultiLocation functions (#5733)
* Do not call syncfs() twice in save_persistent()

With Ren'Py default config, MultiLocation.save_persistent() will call
save_persistent() on 2 different instances of FileLocation. They both
call synfc(), so the warning message "2 FS.syncfs operations in flight
at once, probably just doing extra work" shows up. This commit prevents
that.

* Create and use a context for syncfs pause

* Only call syncfs once from MultiLocation functions

This should handle all the functions of MultiLocation that call
functions of FileLocation that call syncfs().
2024-08-25 23:18:31 -04:00
Tom Rothamel 5d59d32634 Skip action cancels skipping when skipping.
Fixes #5731.
2024-08-25 09:13:28 -04:00
Tom Rothamel 06366a8f8f web: Save persistent data during idle frames. 2024-08-25 08:59:55 -04:00
Tom Rothamel be8f94443f py2: Fixes to add.py. 2024-08-24 23:56:11 -04:00
Tom Rothamel 61e1e025ce Make add.py understand multiple directories. 2024-08-24 23:50:59 -04:00
Tom Rothamel 3837df39be Update sponsor doc. 2024-08-24 23:24:46 -04:00
Tom Rothamel 850fc555e2 Bump fix versions. 2024-08-24 22:29:50 -04:00
Tom Rothamel dacbf5515e Synchro start only defaults to true on looping channels.
This is an attempt to prevent synchro start from delaying sound
effects while music is fading out.

Fixes #5730.
2024-08-24 21:53:07 -04:00
Tom Rothamel 147e46dbee Make game.zip configurable. 2024-08-24 21:29:39 -04:00
Tom Rothamel 1ce2f2b2ce doc: Back out. 2024-08-24 21:20:12 -04:00
Tom Rothamel 4242ff838e Revert "web: Rename game.zip to game.data."
This reverts commit f39d53cbac.
2024-08-24 21:19:25 -04:00
Tom Rothamel 4133172fab doc: Syncfs change. 2024-08-24 21:01:51 -04:00
Tom Rothamel f69768bad9 doc: Change from game.zip -> game.data. 2024-08-24 20:59:54 -04:00
Tom Rothamel f39d53cbac web: Rename game.zip to game.data.
This allows games to be hosted on web hosts that don't support
.zip files.

https://lemmasoft.renai.us/forums/viewtopic.php?t=68768
2024-08-24 20:55:50 -04:00
Tom Rothamel c275244741 Similar fix for quicksaves. 2024-08-24 02:22:03 -04:00
Tom Rothamel 3b1161c2a4 Allow syncfs to be deferred.
And defer it during autosaves, to prevent warning messages.

Fixes #5725. Closes #5728.
2024-08-24 02:17:16 -04:00
Tom Rothamel 5573b3c2dc Re-document renpy.clear_keymap_cache.
It never was undocumented, but the docs weren't being
generated properly.
2024-08-23 23:44:26 -04:00
Abdul d6ca5e6992 Fix typos in changelog.rst 2024-08-23 21:53:04 -04:00
Tom Rothamel 952e29e737 Merge branch 'future' 2024-08-23 00:40:07 -04:00
Tom Rothamel 276e4b1808 doc: Credits. 2024-08-21 21:35:27 -04:00
Tom Rothamel 4f4dcc1927 Add u_text_max_depth.
This provides a way to find the bottom layer.
2024-08-21 20:57:19 -04:00
Tom Rothamel 0fecd1f70a Add a_text_descent.
To mirror a_text_ascent and provide full metrics for a font.
2024-08-21 20:04:24 -04:00
Tom Rothamel 46c80bfae6 Merge pull request #5724 from Veydzher/master
Update Ukrainian translation
2024-08-21 18:21:39 -04:00
Denys 5d5954b150 Update TRANSLATORS.rst 2024-08-21 21:38:12 +01:00
Denys 7e1643b734 Update screens.rpy
Added new translations.
2024-08-21 21:29:24 +01:00
Denys bf9d78ce17 Update launcher.rpy 2024-08-21 21:27:20 +01:00
Denys b07b4db4cc Update gui.rpy
Added new translations.
2024-08-21 21:26:40 +01:00
Denys d104db85a0 Update developer.rpy 2024-08-21 21:25:09 +01:00
Denys fcadb205db Update developer.rpy
Added new translations.
2024-08-21 21:24:52 +01:00
Denys 961277a751 Update common.rpy
Added new translations.
2024-08-21 21:24:20 +01:00
Denys c4e6cb8a06 Update launcher.rpy 2024-08-21 20:23:22 +01:00
Denys 83e05fca2e Update launcher.rpy 2024-08-21 20:18:55 +01:00
Denys b2b80bbfc3 Update error.rpy 2024-08-21 19:23:54 +01:00
Tom Rothamel 52fba62616 Bump versions. 2024-08-21 01:40:12 -04:00
Tom Rothamel 269c7e6ed5 When using a shader, limit blits to those containing characters.
Per #5718.
2024-08-20 22:31:49 -04:00
Tom Rothamel 3075ae4108 textshader: Add a_text_ascent.
This is intended to help scale effects to the font.
2024-08-20 01:17:01 -04:00
Tom Rothamel 2114dfe3a7 Properly outline the glyph mesh.
Fixes #5719.
2024-08-19 22:52:27 -04:00
Tom Rothamel 644e683c91 Use saturation alpha in fonts.
Fixes #5720
2024-08-19 22:04:15 -04:00
Tom Rothamel 43eefe49b1 doc: Synchro start. 2024-08-19 01:48:52 -04:00
Tom Rothamel 9c5c424bc0 Update sponsors. 2024-08-19 01:42:14 -04:00
Tom Rothamel a86cc5582b Ensure transforms run once before another transform take state.
Fixes #5701.

That was caused by a transform that ran in the normal path, but
was skipped during rollback. As the skipped transform never updated
its state, the outcome was visually different.
2024-08-18 22:33:17 -04:00
Tom Rothamel 1296a95140 Mark Text as being in the None language in the init phase.
This is because during the init phase, deferred translations
haven't been loaded. This leads to two cases:

1) The game is in the None language, and so everything is awesome.
2) The game is in another language, in which case Text.per_interact
   will re-translate the text, and everything becomes awesome.

Fixes #5713.
2024-08-18 16:52:08 -04:00
Tom Rothamel 279c35a80a Allow the creator to select the layer bubbles appear on,.
Fixes #5716.
2024-08-18 15:27:24 -04:00
Tom Rothamel 7058707f7c Only consider the tag when showing a screen.
This had been using get_screen, which considered both tag and
screen name. This means that when the bubble screen was shown
as _retain_0, and the bubble screen was shown, the instance
with retain_0 would be found, causing problems.

Fixes #5715.
2024-08-18 01:29:37 -04:00
Tom Rothamel 5ae359984f Produce a more informative error when {shader] is used wrong.
Specifically, when it's used for a text block where shaders
aren't in use.

Fixes #5711.
2024-08-17 23:52:19 -04:00
Tom Rothamel 5f74557df3 Update the icons in the launcher.
The mac icon is by HB38, and conforms to modern mac icon guidelines.
The windows one is based on the old mac icon, and looks better
on windows 11.
2024-08-17 23:33:46 -04:00
Tom Rothamel 17935743bb audio: Start channels unpaused. 2024-08-17 22:46:48 -04:00
Tom Rothamel 118c66a694 Add RENPY_DEBUG_SOUND. 2024-08-17 22:33:51 -04:00
Tom Rothamel 152025b402 Prevent Ren'Py from initiating a second reload when reloading.
Fixes #5714.
2024-08-17 22:19:48 -04:00
Tom Rothamel da575dfd5c Defer reloading until there hasn't been a file mtime change for 50ms. 2024-08-17 22:12:12 -04:00
Andrej Klychin 2974263792 Merge pull request #5709 from Veydzher/master
Update options.rpy in ukrainian
2024-08-17 15:18:43 +02:00
Tom Rothamel 252221f16f Remove a use of renpy.file. 2024-08-16 21:46:11 -04:00
Tom Rothamel 65eb26ae91 Better documentation for renpy.open_file. 2024-08-16 21:46:11 -04:00
Denys 65de4dafdd Update options.rpy 2024-08-17 02:11:43 +03:00
Denys 5aa423f6dd Merge branch 'renpy:master' into master 2024-08-17 01:17:47 +03:00
Andy_kl d2eaf0f2e3 Minor tweak in generate_pyi script.
This allow to use SDK python (3.9) to execute the script.
2024-08-16 22:27:46 +04:00
Andy_kl 67fd54215f Fix the the and a a duplication in the codebase. 2024-08-16 16:55:20 +04:00
Tom Rothamel c2e1d5b6af steam: Fix initialization problems.
* Remove a debug traceback.
* Avoid trying to initialize steam on unsupported platforms.
2024-08-15 02:35:23 -04:00
Tom Rothamel ea3c2f32ff audio: Implement synchro start using webaudio. 2024-08-15 02:25:08 -04:00
Tom Rothamel 487fc1c9f2 audio: Reimplement synchro_start in renpysound.
This is a more principled implementation than we had before. Syncro
start now consists of audio about to play being delayed until:

* All audio about to play with the synchro_start flag set is
  ready to play. (Has samples decoded.)
* There is no queued audio with the synchro_start flag set.
2024-08-15 00:51:03 -04:00
Tom Rothamel 0081d80c44 audio: Remove the existing implementation of synchro start. 2024-08-14 22:36:32 -04:00
Tom Rothamel 6561f50908 Prevent an exception during prediction from crashing Ren'Py.
Fixes #5698
2024-08-13 22:24:43 -04:00
Tom Rothamel 720a57bad0 Cycle autosaves after the save completes.
This should prevent empty save slots when an autosave fails.

Fixes #5704.
2024-08-13 21:39:18 -04:00
Tom Rothamel 3090a97550 Minor fixes to incompatible changes.
Closes #5701.
2024-08-12 21:49:17 -04:00
Tom Rothamel 53fcb11869 Remove padding from remaining width before rendering.
Fixes #5684.
2024-08-12 01:28:22 -04:00
Tom Rothamel f0a86c2a97 doc: That blend functions work on premultiplied alpha. 2024-08-11 11:17:26 -04:00
Tom Rothamel e00f82fea5 Merge pull request #5700 from renpy/patch-atl-pos-only
Patch compat ATL pos-only behavior
2024-08-11 10:48:43 -04:00
Gouvernathor 50e2b4432e Change the compat setting
This seems better : re-allowing these parameters is the responsibility of another issue
2024-08-11 15:14:09 +02:00
Gouvernathor 24bffd6cbe Patch pre-7.2.0 atl pos-only behavior
the block in which this is added to compat is to be checked
2024-08-11 15:10:25 +02:00
Tom Rothamel df879a7f9f Fix how ids are added to displayables.
Fixes #5683.
2024-08-10 17:21:43 -04:00
Tom Rothamel 04812f43fa Format the volume on mac.
Fixes #5697.
2024-08-10 11:00:45 -04:00
Tom Rothamel 7a59a6bfa0 Do not hide the keyboard on mobile when resizing.
This is an attempt to prevent flickering when the keyboard is
shown.
2024-08-10 10:18:52 -04:00
Tom Rothamel ecdf4c83fc Merge pull request #5670 from renpy/doc-atl-partial
Document ATL's partial behavior
2024-08-09 22:52:23 -04:00
Tom Rothamel 2d941be35c Show "Image Attributes" in order.
Fixes #5689.
2024-08-09 01:26:53 -04:00
Tom Rothamel 76b92e55d6 text: Assign {fast} text a time of -3600.0 seconds.
This is intended to help with textshaders, as it means that any
textshader should have long completed before time 0, preventing it
from happening at time 0.

Fixes #5685.
2024-08-09 01:03:56 -04:00
Tom Rothamel dabe6494e5 Merge pull request #5688 from brimbel/patch-1
Fix texture_wrap typo
2024-08-08 22:58:03 -04:00
brimbel 8dc5b7e554 Fix texture_wrap typo 2024-08-08 19:34:42 -07:00
Gouvernathor 142b3fc895 Document parameter default value evaluation time 2024-08-08 22:19:12 +02:00
Ren'Py Bot 8ddf779df5 Merge branch 'fix' 2024-08-08 04:30:30 -04:00
Tom Rothamel 3d213cb7db Merge pull request #5680 from kyouryuukunn/add_note_textshader
add the textshaders doc note
2024-08-08 01:06:33 -04:00
Tom Rothamel 93b844bc63 Apply __slotname when cycling quicksave slots.
This allows __slotname to apply the prefix and other processing.
Fixes #5679.
2024-08-08 00:05:18 -04:00
kyouryuukunn 1781891b3a add the textshaders doc note 2024-08-08 12:36:33 +09:00
Tom Rothamel e788f399d4 Prevent a crash in warp when next is None.
Fixes #5678.
2024-08-07 21:47:41 -04:00
Andy_kl 87431a41ad Fix for #5522.
Model defined with `default_fade != 1.0` was incorrectly looking for a duplicated for a probably undefined model with `default_fade == 1.0`.
2024-08-08 03:52:16 +04:00
Tom Rothamel 51b8b805e0 Check in updated keywords. 2024-08-06 23:04:55 -04:00
Tom Rothamel ea5bffc799 Name Ren'Py 8. 2024-08-06 22:19:35 -04:00
Tom Rothamel 2b8ece51df doc: Changelog and Sponsors. 2024-08-06 22:19:35 -04:00
Gouvernathor 4627bdba11 Update method doc 2024-08-06 08:28:01 +02:00
Tom Rothamel 8cf771d8fe Merge pull request #5671 from renpy/unrestrained-crop
Unrestrain crop
2024-08-06 00:45:01 -04:00
Tom Rothamel 68a5dfea9d Fix error reporting in screen variable functions.
Fixes #5674.
2024-08-05 23:14:57 -04:00
Asriel Senna 7b836f8a50 Shuffle config values more accurately 2024-08-05 19:34:55 +02:00
Asriel Senna 0faf3553e9 Expand a bit on out-of-bounds crop 2024-08-05 19:26:33 +02:00
Gouvernathor b18003976f Rephrase 2024-08-05 12:10:20 +02:00
Gouvernathor 01420fd46c doc: update incompat 2024-08-05 11:54:25 +02:00
Gouvernathor 68fde6ccb4 Update documentation 2024-08-05 11:45:11 +02:00
Gouvernathor 271e2d5278 doc: Move stuff 2024-08-05 11:43:35 +02:00
Gouvernathor d4d5d0ff3e Unrestrain crop for 8.3 on 2024-08-05 11:22:38 +02:00
Gouvernathor 236a910e62 Reorder and explicite the versions 2024-08-05 11:17:41 +02:00
Gouvernathor 5399b55fa4 Rename the relative function
it's not about abstract relative computation anymore, it's now tied to crop
2024-08-05 11:06:54 +02:00
Gouvernathor a69fefea05 Other doc stuff 2024-08-05 11:04:47 +02:00
Gouvernathor 917765c333 Cancel 4405 2024-08-05 11:04:34 +02:00
Gouvernathor 8ee37ee9bc Document partialing and parameters behavior 2024-08-05 11:04:16 +02:00
Tom Rothamel 534dc8d32c atl: Allow spline to interpolate inherited position properties.
Fixes #5669
2024-08-05 01:55:06 -04:00
Tom Rothamel beca6f8759 Limit cropping of a displayable to the size of that displayable.
Previous versions of Ren'Py could expand a displayable by cropping
it, which makes no sense. This version limits the size of the
cropped displayable to the intersection  of the crop box and
displayable.

This has compatibility with the 8.2 and pre-8.2 behaviors.
2024-08-05 00:22:13 -04:00
Tom Rothamel 6e9a47587c Fix the keybinding for the style inspector.
So it doesn't conflict with the full inspector.
2024-08-04 19:29:55 -04:00
Tom Rothamel 98615653e0 ffmedia: Call media_pause for each channel during a global pause.
This adjust the times on movies so that there isn't a pause when
we come back. Fixes #5667.
2024-08-04 14:28:40 -04:00
Tom Rothamel 328c2b5d95 Change the links to the schinese documentation.
Fixes #5665.
2024-08-04 01:25:13 -04:00
Tom Rothamel 9c5f9de257 Fix uniqueness problems in DynamicImage and slast.
DynamicImages would not be marked unique before the first execution,
which is wrong.

The change in slast is to fix a missing _unique call on the creation
of an unaliased displayable.

Fixes #5659.
2024-08-04 01:02:29 -04:00
Tom Rothamel 3ab001e11a Only enable subpixel subsurface for subsurface blits.
Fixes #5661's second comment.
2024-08-03 14:44:59 -04:00
Tom Rothamel d9baf3f919 boxes: Make box_align/box_justify work better with xfill/yfill.
This is done by making the boxes change behavior when the justify
or align is given, to not supply extra space to the placements
like xfill and yfill usually do.
2024-08-03 10:55:00 -04:00
Ren'Py Bot de103f6039 Merge branch 'fix' 2024-08-03 04:30:30 -04:00
Tom Rothamel c2316d6742 Fix a regression with boxes xfill and yfill. 2024-08-03 03:30:08 -04:00
Tom Rothamel 6d93afe2ed Scale the image before applying config.screenshot_crop.
Fixes #5560.
Fixes #5621.
2024-08-03 02:41:10 -04:00
Tom Rothamel c060312d4b Changes to box_align and box_justify.
This moves alignment and justification to a second pass, when the
size of each placement is fully known. This seems better than trying
to place each with partial information and then correcting it.

As a change, box_align and box_justify no longer imply xfill or
yfill. This follows how Text works, where justify and align
occur inside a small text size.
2024-08-03 02:32:14 -04:00
Tom Rothamel 598ab7f97d Use !r to report the exception, since it shows the exception name. 2024-08-02 23:02:09 -04:00
Tom Rothamel 3dd41ed247 Merge pull request #5451 from renpy/better-cds-lint
Show the error when linting a cds's next
2024-08-02 23:01:28 -04:00
Tom Rothamel c396526408 Use floats to distribute padding in justified boxes.
This makes sure that box_justify completely fills the screen.
2024-08-02 22:40:28 -04:00
Tom Rothamel c1e2724c3a Remove the use of min_line_x and min_line_y.
These were causing crashes, and there's probably a more direct way
of doing the same thing.
2024-08-02 02:31:15 -04:00
Tom Rothamel a54b8fc9d8 Compat for the interaction between box_reverse and box_align.
See the discussion in #5404 for why this is required.
2024-08-01 22:48:06 -04:00
Tom Rothamel af23452394 Support Render.subsurface or subpixel blits.
Turned off on initial call for compatibility, but then activated
for nested calls to subsurface to get correct results.

Fixes #5661.
2024-07-31 23:01:51 -04:00
Tom Rothamel a9dd666e11 text: Make hspace and vspace respect text scaling.
Fixes #5662.
2024-07-31 21:36:42 -04:00
Tom Rothamel 1e91cd28a0 Work on box_justify and box_align.
Some 'cleanups' on #5404.

* Integrate it with the style system.
* Rename justify to box_justify.
2024-07-31 02:00:22 -04:00
Tom Rothamel 99a12807b2 Merge pull request #5404 from shawna-p/box-updates
Add box_align and justify for boxes
2024-07-30 23:18:51 -04:00
Tom Rothamel 850f2705bd Merge branch 'master' into box-updates 2024-07-30 23:18:43 -04:00
Gouvernathor 494420d884 Typo
Interestingly enough, Lint will also not report spelling mistakes in dialogue, snake case in class names, or your stash of downloaded movies to the authorities. The more you know.
2024-07-30 20:19:20 +02:00
Tom Rothamel 2eedf53eac Lint now reports obsolete image manipulators.
Fixes #5532.
2024-07-30 00:55:57 -04:00
Tom Rothamel 5bdbcc2111 Replace uses of im.Tile with Tile.
Allowing us to obsolete im.Tile.
2024-07-30 00:41:47 -04:00
Tom Rothamel f0ecc1dc1a Check to see if the new vscode extension is installed.
And if it is, assume that the old one has been taken care of.
2024-07-29 23:43:53 -04:00
Tom Rothamel c6a29f79bc Run Linux non-system outside the sandbox.
Because we can't set it suid on install.
2024-07-29 23:34:11 -04:00
Tom Rothamel 82bbab49b6 Upgrade the Ren'Py extension for VS Code.
If Ren'Py sees the old VS Code extension, it will offer to upgrade it
to the new renpy.language-renpy extension.
2024-07-29 22:27:51 -04:00
Tom Rothamel d9f595f93e Sync screen fixes.
* Make sync_text inherit from gui text.
* Only use gui/overlay/confirm.png if it exists.

Fixes #5647.
2024-07-28 14:41:28 -04:00
Tom Rothamel 0acd1968e2 renpy.open_file now returns an io.BufferedReader
... when opened in binary mode.

Fixes #5653.
2024-07-28 12:39:50 -04:00
Tom Rothamel 0bae8dd684 Fixen.
Per @mal.
2024-07-27 23:37:06 -04:00
Tom Rothamel d97eb9e4d7 Allow control to start/stop skipping without considering modifiers.
Fixes #5657.
2024-07-27 16:47:48 -04:00
Tom Rothamel b5802657ac Add the anymod keymap prefix.
And rename any to anyrepeat, but keep compatibility.
2024-07-27 16:47:33 -04:00
Tom Rothamel 9dfe6ffc36 Merge pull request #5655 from pabdulin/fix-ru-translate
Fixed some obvious translation "bugs"
2024-07-27 11:10:10 -04:00
Petr Abdulin ba7ff1c175 Fixed some obvious translation "bugs" 2024-07-27 20:42:07 +07:00
Gouvernathor 3c38aa8965 doc: fix a typo and reorder some 2024-07-27 04:49:07 +02:00
Tom Rothamel 2d5b2bc3b8 Correct help. 2024-07-25 23:56:39 -04:00
Tom Rothamel d10b10d4f3 Revert "Export time into the default store."
This reverts commit fcc0f1cfd3.
2024-07-25 23:56:09 -04:00
Tom Rothamel 84d631a41a Merge pull request #5285 from lent1-andrealphusgames/android_packages
Add package argument when building android from CLI
2024-07-25 23:55:52 -04:00
Gouvernathor bac73366e2 Better type annotations 2024-07-26 01:56:28 +02:00
Tom Rothamel b61a47d7c9 Merge pull request #5652 from renpy/trans-doc-overhaul
Transforms, ATL and Transitions doc overhaul
2024-07-25 08:33:37 -04:00
Tom Rothamel 79e83cf566 Include the config.auto_channels mixers in the list of all mixers.
Fixes #5645.
2024-07-24 22:58:24 -04:00
Tom Rothamel 23f9268dad Exclude .rpe files from the build.
Fixes #5648.
2024-07-24 22:49:41 -04:00
Gouvernathor a08224d937 Comments for future evolution of allowed ATL parameters 2024-07-24 13:35:06 +02:00
Gouvernathor bdba20bab6 Add warpers
I would put it in transform properties, to balance the length of the two pages
but existing links to the Warpers section will survive this way (once the redirect is put in place)
and it would be the only part not directly related to transform properties
2024-07-24 13:29:48 +02:00
Gouvernathor cec9fa5e7e Move At from displayables to transforms 2024-07-24 13:10:27 +02:00
Gouvernathor 6e6de0b50a Linkify 2024-07-24 13:00:49 +02:00
Gouvernathor 32076a51b6 Fix links again 2024-07-24 12:46:56 +02:00
Gouvernathor 5818a20746 Merge branch 'master' into trans-doc-overhaul 2024-07-24 12:43:31 +02:00
Gouvernathor 2148123b59 Document the child parameter and its latest features 2024-07-24 12:43:03 +02:00
Gouvernathor c12b4558ea Fix links 2024-07-24 12:42:49 +02:00
Gouvernathor a35d42268c Reorder the statement for good practice and explicitibility reasons 2024-07-24 12:16:06 +02:00
Gouvernathor 6dafe282cf Add the last ATL statements 2024-07-24 11:55:23 +02:00
Tom Rothamel 1ad8e6706e doc: Fix errors.
* Duplications in config.
* Bad reference in Steam.
2024-07-24 02:12:45 -04:00
Gouvernathor ca40c7f797 Fix headers and add more ATL statements 2024-07-24 05:33:28 +02:00
Gouvernathor 4af6740050 Merge branch 'master' into trans-doc-overhaul 2024-07-24 05:07:38 +02:00
Gouvernathor c08d3a72b4 Add more ATL statements 2024-07-24 05:07:11 +02:00
Tom Rothamel fcc0f1cfd3 Export time into the default store.
For compatibility with older saves. Fixes #5650.
2024-07-23 23:04:10 -04:00
Tom Rothamel b321389cde Move loadsaveexports to contextexports.
The two functions make sense in the contextexports file.
2024-07-23 22:58:13 -04:00
Gouvernathor 0e420d769f Add redirect stubs 2024-07-24 04:53:22 +02:00
Gouvernathor f768ba1c82 Shorten the line so that it displays correctly 2024-07-24 04:34:22 +02:00
Tom Rothamel ebd134d91d Add missing import.
Fixes #5649.
2024-07-23 22:34:07 -04:00
Gouvernathor 5702b3a627 Update transform properties intro 2024-07-24 04:30:07 +02:00
Gouvernathor 69f25761e4 Add some ATL statements 2024-07-24 04:29:51 +02:00
Tom Rothamel c39ff754dc doc: Remove obsolete file. 2024-07-23 20:35:06 -04:00
Gouvernathor 8058c86c60 Forgotten page 2024-07-24 02:06:43 +02:00
Gouvernathor 5cad3b479e Include the new pages in the toctree 2024-07-24 02:05:00 +02:00
Gouvernathor 6e86645fa7 First pass of rewriting transforms and transitions 2024-07-24 01:49:03 +02:00
Tom Rothamel 436191ab90 Remove files used to reorder config.rst. 2024-07-23 02:06:42 -04:00
Tom Rothamel 073d54b8aa doc: Reorganize config.rst.
Fixes #5549.

Co-Authored-By: Lezalith <Lezalith@gmail.com>
2024-07-23 02:05:11 -04:00
Tom Rothamel 181a58a0de doc: Continue the organization of config variables. 2024-07-22 23:24:41 -04:00
Tom Rothamel 51d50d9fad Initial grouping of configuration variables.
Co-Authored-By: Lezalith <Lezalith@gmail.com>
2024-07-22 21:17:33 -04:00
Tom Rothamel 9770667158 Sort the contents of exports/__init__.py. 2024-07-21 21:54:46 -04:00
Tom Rothamel ecee802d9d Finish refactoring exports into multiple files. 2024-07-21 20:25:50 -04:00
Tom Rothamel 4a51df2543 More refactoring of exports. 2024-07-21 11:05:55 -04:00
Tom Rothamel 2f561a4294 Continue breaking up exports. 2024-07-21 02:18:47 -04:00
Tom Rothamel 7dab37afaa Continue refactoring exports. 2024-07-21 01:32:28 -04:00
Tom Rothamel 4c405aa344 Make lint accept the shader= tag.
Fixes #5643.
2024-07-20 20:46:54 -04:00
Tom Rothamel 5c41886bf4 Add u_virtual_size, the virtual size of the window.
Per #5642.
2024-07-20 18:20:31 -04:00
Tom Rothamel 753750ba58 Export proxies. 2024-07-19 12:18:15 -04:00
Tom Rothamel c316398404 Migrate more to export files. 2024-07-19 01:18:45 -04:00
Tom Rothamel ce62a7794e Break the fetch exports out into their own file. 2024-07-18 01:30:18 -04:00
Tom Rothamel 65486e9c30 Breaking exports up into multiple files. 2024-07-18 01:23:49 -04:00
Tom Rothamel 437c5ce7d5 Move exports into a package. 2024-07-18 00:54:38 -04:00
Tom Rothamel 07ca61f826 Fix an initialization problem with default preferences.volume.x
Fixes #5639.
2024-07-17 22:07:48 -04:00
Tom Rothamel 287f74065d Convert the translation identifier screen to the translation info screen.
This:

* Is available outside of developer mode.
* Shows the current line number.
* If a translation is in use, shows the source line number.
* If a translation is in use, shows the translated line.

Fixes #5414.
2024-07-17 01:05:50 -04:00
Tom Rothamel 1d2a811c36 Add the _translates screen, which shows what a line will translate. 2024-07-17 00:37:55 -04:00
Tom Rothamel 3ec75f6a10 tl: Add renpy.translation_info.
This returns an object containing information about a translation
or the default text corresponding to the translation, including
the source, filename, and line number.

Per #5414.
2024-07-16 23:14:34 -04:00
Tom Rothamel 423acaa502 Unpremultiply colors when taking a screenshot.
Fixes #5630.
2024-07-15 23:39:50 -04:00
Ren'Py Bot 57be1ca33f Merge branch 'fix' 2024-07-15 04:30:21 -04:00
Tom Rothamel cc61f53730 gl2: When intersecting polygons, align to a grid.
This prevents errors from accumulating and causing glitches. The grid
is 1/100th of a pixel, which should allow for subpixel movement without
too many problems.

Fixes #5632
2024-07-15 02:30:01 -04:00
Tom Rothamel db57fa8e39 Mark side image transforms as unique.
Fixes #5633.
2024-07-14 22:22:50 -04:00
Tom Rothamel 67d5a05a85 Document renpy.show's atl argument. 2024-07-14 16:35:08 -04:00
Tom Rothamel 3186c7c584 Creator-defined statements can take an ATL block.
It's also possible for the block to be optional, or to take an
optional block of script statements.
2024-07-14 16:00:35 -04:00
Tom Rothamel 111d786b59 Predict ATL used in scene and show statements. 2024-07-14 15:36:19 -04:00
Tom Rothamel fa077786aa Add config.interface_layer.
This is the layer that built-in screens will be shown on. It defaults
to "screens", but can be changed by creators.

Fixes #5618.
2024-07-13 23:57:33 -04:00
Ren'Py Bot 56e9243f23 Merge branch 'fix' 2024-07-13 04:30:21 -04:00
Tom Rothamel 335f076048 Save the state after an upgrade or DLC download. 2024-07-13 02:06:56 -04:00
Tom Rothamel 59e0595c66 Monkeypatch the updater to fix missing DLC.
The rpu updater didn't save the state during an update, causing
Ren'Py not update files it installed. That was fixed in
05bfde75e3, and this deals with
the fallout by adding the missing dlc as required.
2024-07-13 02:05:04 -04:00
Tom Rothamel b417b19d37 update: Add RENPY_TEST_MONKEYPATCH
This is an internal environment variable that makes it possible for
me to test monkeypatches without building an update.
2024-07-13 01:57:47 -04:00
Tom Rothamel 05bfde75e3 Save the state after an upgrade or DLC download. 2024-07-13 00:03:06 -04:00
Tom Rothamel 584073f824 Merge branch 'fix' 2024-07-12 23:34:00 -04:00
Tom Rothamel d1d299c64d Use the default style for the Window displayable.
Fixes #5625.
2024-07-12 22:39:39 -04:00
Tom Rothamel 270984c6e1 text: Fixes to RTL with multiple segments:
* The segments were not put in the right order.
* Times were not applied to the segments properly.

Fixes #5629.
2024-07-12 22:27:19 -04:00
Tom Rothamel e3d638eca1 Add more checks to renpy.can_rollback()
To check if rollback is actually possible. Fixes #5619.
2024-07-11 01:27:20 -04:00
Tom Rothamel 1df41abf33 Merge pull request #5616 from aleksbelic/docs-typos-fix
Fixes some typos found in docs.
2024-07-10 23:01:20 -04:00
Tom Rothamel b27cf19317 Merge pull request #5620 from kyouryuukunn/add_description_live2d_in_web
[Doc]add the description that live2d is not supported in web plattform
2024-07-10 23:01:07 -04:00
Tom Rothamel a1eeda4074 Merge pull request #5626 from agejevasv/fix-cors-video-loading
Fix video playing if config.web_video_base URL is cross-origin
2024-07-10 14:07:54 -04:00
Viktoras Agejevas c509bd180c Fix video playing if config.web_video_base URL is cross-origin
When `config.web_video_base` is set with an absolute URL to another origin,
modern browsers won't load the video with an error:

> The HTMLMediaElement passed to createMediaElementSource has a cross-origin resource, the node will output silence.

For CORS to work:
1. The server serving the resources should have a `access-control-allow-origin: *` header.
2. The `video` element should have `crossorigin="anonymous"` attribute.
2024-07-10 18:33:44 +03:00
Tom Rothamel b2ba205e22 Merge branch 'to-renpy-json' 2024-07-10 01:57:39 -04:00
Tom Rothamel bebd305e66 Avoid breaking a role across two lines. 2024-07-10 01:57:27 -04:00
Tom Rothamel e6d8522b96 doc: Document the default namespaces.
Right now, this is mostly hidden, intended to supply information
to vscode completion.
2024-07-09 23:16:00 -04:00
Tom Rothamel 0db128da75 vscode: Create renpy.json when the documentation is built. 2024-07-09 22:05:46 -04:00
Tom Rothamel 5b01a7c678 vscode: Move renpy_json generation into game. 2024-07-09 21:37:40 -04:00
Tom Rothamel b573a0249b Handle deprecation.
With a list of rules for deprecated and non-deprecated names.

The origin of all Ren'Py-sourced names is "renpy", and then this
is changed to "deprecated" if a rule hits.
2024-07-09 21:35:26 -04:00
Ren'Py Bot c01616a959 Merge branch 'fix' 2024-07-09 04:30:21 -04:00
Tom Rothamel 341bf3aaa1 vscode: Experimental script to generate renpy.json.
This does it by parsing the reStructuredText input to Sphinx, and
then converting it to Markdown in the correct format.
2024-07-09 01:17:31 -04:00
Tom Rothamel 4c15220b91 Do not end instantly. 2024-07-08 22:05:06 -04:00
Tom Rothamel 1a06f959bb End the animation if the animation delay is 0 or None.
Fixes #5622.
2024-07-08 21:34:34 -04:00
Tom Rothamel b0ce4e71ac Scale the image before applying config.screenshot_crop.
Fixes #5560.
Fixes #5621.
2024-07-08 01:08:45 -04:00
Gouvernathor 1a2186ad26 doc: tweak renpy.Choice signature
this should be changed once we enable py3-only code
2024-07-08 00:22:38 +02:00
Tom Rothamel 18dc019a54 Add the renpy.Choice class, allowing arguments to be suppled to menu items.
Fixes #5509.
2024-07-07 09:26:10 -04:00
Tom Rothamel 9b8cde6240 doc: Steam. 2024-07-06 17:02:46 -04:00
Tom Rothamel b5767defc2 doc: Document achievement.steam. 2024-07-06 16:26:04 -04:00
Tom Rothamel 296948317a steam: Add support for Steam Timeline. 2024-07-06 16:16:10 -04:00
Tom Rothamel ca4e791fd4 steam: Update to support v160. 2024-07-06 14:26:36 -04:00
Tom Rothamel 712cb434da Add license information to renpy.gl2 files. 2024-07-06 09:44:52 -04:00
Tom Rothamel 0b34353f2a doc: Changelog. 2024-07-06 09:31:30 -04:00
Tom Rothamel 9ecd771a78 screenshot: Add the ability to resize rendered displayables. 2024-07-06 09:22:22 -04:00
Tom Rothamel 6003d51716 doc: Screenshot functions. 2024-07-06 09:12:43 -04:00
Tom Rothamel 2bb9739212 Add renpy.render_to_surfacne and renpy.render_to_file.
Two functions that can capture the rendered version of a displayable.

Fixes #5440.
2024-07-06 01:12:16 -04:00
Tom Rothamel 6d71bfd7fb Give renpy.display.draw.screenshot the ability to screenshot arbiratry renders.
Per #5540.
2024-07-05 19:54:16 -04:00
Tom Rothamel d4fc779f6d gl2: Allow texture wrap to be customize on a per-uniform basis. 2024-07-05 12:13:15 -04:00
Tom Rothamel d16c81f936 gl2: Apply texture properties at render time.
Rather than when the texture is created. This fixes an issue
introduced by texture caching that was preventing GL_REPEAT
from working.

Fixes #5568.
2024-07-05 10:13:05 -04:00
kyouryuukunn 5daac3c611 add the description that live2d is not supported in web plattform 2024-07-05 22:36:29 +09:00
Tom Rothamel a4eb607775 Supply res<x> to shaders, even if tex<x> isn't used.
Fix #5615.
2024-07-04 21:34:53 -04:00
Tom Rothamel 8ed2f4fbfd Allow renpy.display_menu to take menu arguments.
Fixes #5509.
2024-07-03 22:53:56 -04:00
Aleksandar Belic Aleksanchez 300d50b826 Fixes some typos found in docs. 2024-07-03 23:30:23 +02:00
Tom Rothamel a23c5ef778 Retained speech bubbles are cleared...
... when other say, menu, or call screen statement are invoked. With
a variable to control this.

Fixes #5611.
2024-07-03 08:31:01 -04:00
Tom Rothamel fd4da5b0de Merge pull request #5563 from luejerry/save-load-mousewheel
Allow mousewheel to paginate save/load screen
2024-07-02 22:19:11 -04:00
Tom Rothamel acba6a2f60 Remove exec.py support.
It's a bit too footgun, so instead we'll use .rpe.py files to
inject the same thing. See the discussion in #5607.
2024-07-01 22:38:45 -04:00
Tom Rothamel c99a9052d4 RPE changes.
* RPE files are now searched for in config.renpy_base as well as
  the game directory, to make it easy for the user to install
  .rpes.

* .rpe.py files are searched for in the same places, and loaded at
  the same time.
2024-07-01 22:38:45 -04:00
Tom Rothamel 44b5ca8a02 Merge pull request #5608 from m-from-space/master
Update German Translation Files
2024-07-01 11:38:46 -04:00
m-from-space 309080f4e8 Update script.rpym
Changed formal to informal speech, because it is more natural.
2024-07-01 15:56:37 +02:00
m-from-space a998c4dc42 Update screens.rpy
Fixed auto translations where necessary and changed formal to informal speech, because it is more natural and usually shorter.
2024-07-01 15:48:10 +02:00
m-from-space 7e16ce9d2d Update options.rpy
Fixed auto translations where necessary and changed formal speech into informal speech, because it is more natural and usually shorter.
2024-07-01 14:57:21 +02:00
m-from-space c074279dc4 Update launcher.rpy
Fixed auto translations where necessary and changed formal to informal speech, because it is more natural and usually shorter
2024-07-01 14:41:18 +02:00
m-from-space 3cca58e474 Update error.rpy
fixed auto translations and some other translations where necessary and changed formal speech into informal speech, because it is more natural and usually shorter
2024-07-01 11:40:48 +02:00
m-from-space 4ffd682634 Update developer.rpy
fixed auto translations where necessary and changed informal speech into formal, because it is more natural
2024-07-01 11:26:41 +02:00
m-from-space 00facab8c2 Update common.rpy
fixed auto translations where necessary and changed formal speech to informal one, since this is more natural in games
2024-07-01 11:10:41 +02:00
Tom Rothamel 9ceb14d4e0 Add renpy.get_ongoing_transition.
Fixes #5385.
2024-07-01 02:06:37 -04:00
Tom Rothamel 6081c49f5d Add config.translate_ignore_who.
Fixes #5575.
2024-06-30 23:43:46 -04:00
Tom Rothamel 01a5d37ee3 Merge pull request #5606 from qTich/fix/5603
fix: #5603
2024-06-30 23:14:15 -04:00
Tom Rothamel 6c45cdd8f1 Document oversampling directories. 2024-06-30 16:39:31 -04:00
Tom Rothamel 0ca1015974 Merge pull request #5605 from levicratic/allow-@-in-folder
Be more lenient with '@' in image names
2024-06-30 14:18:50 -04:00
Ren'Py Bot d3de1405dc Merge branch 'fix' 2024-06-30 04:30:21 -04:00
Tichq 84ff26b8cb fix: #5603 2024-06-30 07:07:44 +03:00
Tom Rothamel 1e3c7a346d Fix bad merge. 2024-06-29 23:42:39 -04:00
Tom Rothamel e41d22cb9e Merge branch 'fix' 2024-06-29 23:39:22 -04:00
Tom Rothamel 38623ff2ea Merge pull request #5587 from kyouryuukunn/add_describes_for_files
[Doc]add describes for files
2024-06-29 23:03:25 -04:00
Tom Rothamel aa1289aa17 Merge pull request #5589 from shawna-p/pad-event-fix
Gamepad event fix
2024-06-29 23:02:48 -04:00
Gouvernathor 5c14eb023b Trim Signature
the legacy constructor is not used anymore, the positional property either.
extrapos and extrakw returned the name of the parameter instead of the object itself, that's useless
also reimplement the atl commented code that was using it - there needs to be clarity between parameter objects and names
2024-06-30 03:43:34 +02:00
Tom Rothamel 2435f93658 ATL polar coordinates now support the radius being a negative number.
Fixes #5598.
2024-06-29 21:03:11 -04:00
levicratic 387d45cf73 Pull oversample value from folder or base name 2024-06-29 20:51:57 -04:00
Tom Rothamel 1653b87ef3 wp: Store and use the sign of the radius. 2024-06-29 19:33:30 -04:00
Tom Rothamel 2939404b27 transform: Fix error when dealing with near-0 radii.
Fixes #5596.
2024-06-29 16:59:57 -04:00
Tom Rothamel 5321773622 Scroll restarts interaction on when an adjustment is ranged.
Fixes #5599.
2024-06-28 23:46:47 -04:00
Tom Rothamel 48693f76f4 Scroll restarts interaction on when an adjustment is ranged.
Fixes #5599.
2024-06-28 08:52:05 -04:00
kyouryuukunn f80a8c71aa Merge pull request #5601 from kyouryuukunn/japanese_translation_240628
fix japanese translation 240628
2024-06-28 19:36:44 +09:00
kyouryuukunn 1a541133e3 fix japanese translation 240628 2024-06-28 19:30:53 +09:00
Ren'Py Bot ec9c6486b3 Merge branch 'fix' 2024-06-28 04:30:19 -04:00
Tom Rothamel 5e90fbad2e Only trigger default_focus if the mouse hasn't been used in 100ms.
This fixes and issue where restarted interactions could cause
the default_focus behavior.

Fixes #5600.
2024-06-27 20:23:09 -04:00
Ren'Py Bot 098bf0b06e Merge branch 'fix' 2024-06-27 04:30:20 -04:00
Tom Rothamel 5d33a14d3e tts: Properly handle modal screens that do not contain tts text.
Fixes #5590.
2024-06-26 22:26:26 -04:00
Tom Rothamel 06f145a17b Reorg documentation. 2024-06-25 23:30:35 -04:00
Tom Rothamel 43783c2caf Merge #5237 (ATL partials overhaul and fix.)
Adresses most of the main points of #5102, and #4371.
The parameters that get fixed are still forbidden though, as are var-pos and var-kw parameters. That will be for another PR. But the implementation that goes with handling those is already here, commented-out for performance.

The solution to #4405 is there too but also commented out. That change will also go in separately.
2024-06-25 21:16:57 -04:00
shawna-p 1b8780fc8a Update for new pad_bindings as of 8.2 2024-06-25 11:14:39 -04:00
shawna-p fe5f68ab1d Fix for lists of pad events 2024-06-25 11:13:58 -04:00
Tom Rothamel 4379d2187a The displayable inspector (Shift+Alt+I) now shows a displayable's id if it has one.
Fixes #5583.
2024-06-24 16:21:02 -04:00
Tom Rothamel 02573ed165 Store the id as a field on Displayables. 2024-06-24 16:19:49 -04:00
kyouryuukunn a02e5f38bb add describes for files 2024-06-24 19:48:42 +09:00
Tom Rothamel a8ffb16c63 Hide notifications before screenshots.
Fixes #5569.

This works by deferring the screenshot until after an immediate
interaction restart, and adding actions that can be run before
this restart.

As part of this, the precise timing of renpy.invoke_in_main_thread
handing is adjusted. Since that wasn't ever defined, this seems fine.
2024-06-23 22:25:12 -04:00
Tom Rothamel 1537306cab Add Hide(..., immediately=True).
And the renpy.hide_screen equivalent. There are cases (#5569) when
we want to hide a screen with triggering events, and this allows
for that.
2024-06-23 22:03:18 -04:00
Tom Rothamel b231071aa6 Handle local labels in test cases.
Qualified local labels work as expected. Unqualified local labels
are relative to the test case names.

Per #5410.
2024-06-21 23:42:06 -04:00
Tom Rothamel 38b6cdfa94 test: Fix execution of test cases. 2024-06-21 23:41:52 -04:00
Tom Rothamel 40055b24c6 Add changelog and documentation for config.clear_log. 2024-06-21 20:54:15 -04:00
kyouryuukunn 8560b39e71 Merge pull request #5579 from kyouryuukunn/Japanese_update_240621
Japanese update 240621
2024-06-21 12:58:19 +09:00
Tom Rothamel 48d9a8da10 Merge pull request #5286 from lent1-andrealphusgames/clear_config_log_during_startup
Clear config.log file during game startup
2024-06-20 21:43:35 -04:00
kyouryuukunn 5a66ab997d update japanese translation 240621 2024-06-21 08:59:03 +09:00
kyouryuukunn b04141a3a4 update japanese translation 240620 2024-06-20 21:06:24 +09:00
Tom Rothamel c386922b16 Undocument the show_done callback, which was rarely or never called. 2024-06-19 21:04:14 -04:00
Tom Rothamel 066660451e Pass more keyword arguments to character callbacks.
Fixes #5533.
2024-06-19 21:04:14 -04:00
kyouryuukunn f639c176fc Merge pull request #5577 from kyouryuukunn/Japanese_update_240619
update Japanese translation
2024-06-19 12:26:22 +09:00
kyouryuukunn db39372702 update Japanese translation 2024-06-19 12:24:04 +09:00
Tom Rothamel f949c2f09a Merge branch 'fix' 2024-06-18 22:54:36 -04:00
Tom Rothamel 45a13a9da6 Bump versions. 2024-06-18 22:52:10 -04:00
Tom Rothamel 5a88385e7a doc: Update. 2024-06-17 21:55:22 -04:00
Tom Rothamel 689ce63e85 Pull before build. 2024-06-17 20:24:38 -04:00
Tom Rothamel 2c0fcf0418 Limit exec.py processing to developer mode + environment variable handling.
To limit security implications.
2024-06-16 22:20:48 -04:00
Ren'Py Bot 4be97baab1 Merge branch 'fix' 2024-06-16 04:30:18 -04:00
levicratic e8d627d7c7 Add font check for aliases in font_name_map 2024-06-15 19:32:47 -04:00
Tom Rothamel 66aa290908 Merge pull request #5571 from levicratic/lint-font-name-map
Add lint check for font aliases in font_name_map
2024-06-15 19:31:39 -04:00
Tom Rothamel c2f34f0727 Use correct variable. 2024-06-15 19:30:41 -04:00
levicratic c21b2cad01 Add font check for aliases in font_name_map 2024-06-15 16:03:59 -04:00
Tom Rothamel 0aea527511 Add the _clear_layers argument for renpy.{call,invoke}_in_new_context.
Fixes #5550.
2024-06-14 22:52:40 -04:00
Ren'Py Bot 13c5f8d11b Merge branch 'fix' 2024-06-14 04:30:18 -04:00
npckc 6cd01c559e Correct config.fill_shrinks_frames to config.fill_shrinks_frame
The Incompatible Changes page has the variable written as config.fill_shrinks_frames, but config.fill_shrinks_frame is the correct variable
2024-06-13 23:53:47 -04:00
Tom Rothamel 9b3743508e Merge pull request #5565 from npckc/master
Correct config.fill_shrinks_frames to config.fill_shrinks_frame
2024-06-13 23:52:26 -04:00
Tom Rothamel 36690cd413 live2d, doc: Update live2d documentation. 2024-06-13 18:10:53 -04:00
Ren'Py Bot b7f3368c64 Merge branch 'fix' 2024-06-13 04:30:18 -04:00
npckc c8bd10b486 Correct config.fill_shrinks_frames to config.fill_shrinks_frame
The Incompatible Changes page has the variable written as config.fill_shrinks_frames, but config.fill_shrinks_frame is the correct variable
2024-06-13 17:16:59 +09:00
Tom Rothamel 3e6eb3c1f8 Bump version. 2024-06-12 19:12:39 -04:00
Tom Rothamel 18b01d9fb9 Bump version. 2024-06-12 19:03:16 -04:00
luejerry 64ab754bca Allow mousewheel to paginate save/load screen 2024-06-12 01:37:51 -07:00
Ren'Py Bot f8f8a6b2d6 Merge branch 'fix' 2024-06-12 04:30:18 -04:00
Tom Rothamel db12aca24b Add a mode to show files that have changed size. 2024-06-12 01:35:35 -04:00
Tom Rothamel 4248ea0b18 doc: Changelog. 2024-06-11 22:59:11 -04:00
Tom Rothamel e976763457 doc: Changelog. 2024-06-11 21:47:14 -04:00
Tom Rothamel 95c3070bd2 doc: Update sponsors. 2024-06-11 21:23:20 -04:00
Ren'Py Bot 0949e14892 Merge branch 'fix' 2024-06-11 04:30:01 -04:00
Tom Rothamel 6e5d3b926b Scale up the interface styles on small devices.
This makes the accessibility menu more usable on phones.
2024-06-11 00:06:35 -04:00
Tom Rothamel fed3bbf2c1 tts: Allow tts on Android and iOS. 2024-06-10 23:41:10 -04:00
Tom Rothamel 4decefb7c4 On touch platforms, allow a gesture to access the accessibility menu. 2024-06-10 23:03:33 -04:00
Ren'Py Bot 6d0443c94c Merge branch 'fix' 2024-06-10 04:30:01 -04:00
Tom Rothamel 0b257c3505 Tweak the LOD setting.
This changes when it triggers, as .5 is too close to sizes a
creator might use.

Fixes #5466.
2024-06-09 21:16:46 -04:00
Tom Rothamel bf04173e44 tts: Fallback if the selected voice can't be used.
Fixes #5556. Probably only works on Linux and Mac, as on Windows
this is the default.
2024-06-09 16:21:09 -04:00
Tom Rothamel 0ec182d18d tts: Fallback if the selected voice can't be used.
Fixes #5556. Probably only works on Linux and Mac, as on Windows
this is the default.
2024-06-09 16:20:13 -04:00
Tom Rothamel ffc8b5532c Merge branch 'fix' 2024-06-09 01:03:43 -04:00
Tom Rothamel 33818ecd5b Include the version at the end of blocks of variables.
This should help with merges.
2024-06-09 01:01:50 -04:00
Tom Rothamel 08538b2ed6 Merge branch 'fix' 2024-06-09 01:00:56 -04:00
Tom Rothamel 14f28c0160 android: Call armOnStop, finishOnStop.
This is required by renpy/renpy-build@c6253f81ad.
2024-06-09 00:56:28 -04:00
Tom Rothamel 90398b5604 android: Use armOnStop and FinishOnStop.
Per renpy/renpy-build@c6253f81ad
2024-06-08 23:02:35 -04:00
Tom Rothamel ce2ad1c14e Fix translations. 2024-06-07 22:49:40 -04:00
Tom Rothamel 8486ab06bf Fix translations. 2024-06-07 22:49:15 -04:00
Zout141 4b888f0c89 Try To Update Existing SChinese and TChinese Translation,Fix A Little Problem Of Korean Translation (#5524)
Co-authored-by: Liu Wenyuan <15816141883@163.com>
Co-authored-by: 复予 <clonewith@qq.com>
2024-06-07 22:25:54 -04:00
Zout141 f346cf5a1a Try To Update Existing SChinese and TChinese Translation,Fix A Little Problem Of Korean Translation (#5524)
Co-authored-by: Liu Wenyuan <15816141883@163.com>
Co-authored-by: 复予 <clonewith@qq.com>
2024-06-07 22:15:21 -04:00
Tom Rothamel bbd9bfb8ad Us a style to control image error placement.
And update the style to something more modern.
2024-06-07 00:32:11 -04:00
Tom Rothamel 1463b141ab Stop raising image exceptions if the player choses to ignore. 2024-06-07 00:32:11 -04:00
Tom Rothamel a4c51a0095 Add config.raise_image_load_exceptions.
This lets the creator control when image load exceptions
occur.
2024-06-07 00:32:11 -04:00
Tom Rothamel 8cfb3e4dbd Add config.python_exit_callbacks.
Functions that are called when Ren'Py is shutting down, to allow
Python modules to be deinitialized.
2024-06-07 00:31:48 -04:00
Tom Rothamel 7ffdde6ac2 Undocument config.at_exit_callbacks.
This is a really poorly named callback that has little purpose
(other than saving jsondbs) as it runs between when the game
store has been loaded and when the init data is removed.
2024-06-07 00:31:13 -04:00
Tom Rothamel cc97832772 Us a style to control image error placement.
And update the style to something more modern.
2024-06-07 00:19:37 -04:00
Tom Rothamel 4bcb365a78 Stop raising image exceptions if the player choses to ignore. 2024-06-06 21:54:58 -04:00
Tom Rothamel cbf17de9bc Add config.raise_image_load_exceptions.
This lets the creator control when image load exceptions
occur.
2024-06-06 21:50:17 -04:00
Tom Rothamel 1c39200c17 Add config.python_exit_callbacks.
Functions that are called when Ren'Py is shutting down, to allow
Python modules to be deinitialized.
2024-06-05 22:37:41 -04:00
Tom Rothamel f549453214 Undocument config.at_exit_callbacks.
This is a really poorly named callback that has little purpose
(other than saving jsondbs) as it runs between when the game
store has been loaded and when the init data is removed.
2024-06-05 22:09:50 -04:00
Ren'Py Bot f5d065e181 Merge branch 'fix' 2024-06-05 04:30:18 -04:00
Tom Rothamel 6e46f2bb6a Restore _with_none to renpy.call_screen.
See discussion in #5536.
2024-06-04 22:22:03 -04:00
Tom Rothamel 72437e55fa Remove _with_none from argument signatures.
It was never useful, and it's obsolete at this point.

Fixes #5536.
2024-06-04 21:58:57 -04:00
Tom Rothamel c0d6b9b6df Merge branch 'fix' 2024-06-03 23:07:46 -04:00
Tom Rothamel 968c6059df doc: Fix typo. 2024-06-03 23:05:11 -04:00
Tom Rothamel ab09cd29f0 tts: Queue up and allow forced tts.
Queuing up allow multiple messages with renpy.alt to be queued up
before the next tts. And this fix allows renpy.alt(force=True) to
work where it had been broken.

Fixes #5545.
2024-06-03 23:01:38 -04:00
Tom Rothamel 2b5b93adc1 Munge __word everywhere in strings.
Fixes #5442.
2024-06-03 22:32:37 -04:00
Tom Rothamel 4978fe748b Merge branch 'fix' 2024-06-03 02:19:09 -04:00
Tom Rothamel 3b8194dd5e Prevent xfill and yfill from shrinking frames.
Fixes #5424.
2024-06-03 02:17:05 -04:00
Tom Rothamel 909f665585 Merge branch 'fix' 2024-06-02 11:25:15 -04:00
Tom Rothamel 823c168154 Work around an issue where harfbuzz couldn't get font height.
Fixes #5416.
2024-06-02 11:25:01 -04:00
Tom Rothamel 8bf7dbac7b Change files shown in .vscode. 2024-06-01 21:21:13 -04:00
Tom Rothamel 62a002659c Work around an issue where harfbuzz couldn't get font height.
Fixes #5416.
2024-06-01 21:20:21 -04:00
Tom Rothamel a8521df324 doc: Fix style property names. 2024-06-01 13:13:54 -04:00
Ren'Py Bot d08efd929f Merge branch 'fix' 2024-06-01 04:30:01 -04:00
Tom Rothamel 8f2a30c2d5 Merge pull request #5543 from Kuroonehalf/patch-1
Couple typos fix in textshaders.rst
2024-06-01 01:12:59 -04:00
Kuro 4422f66ba8 Couple typos fix in textshaders.rst 2024-06-01 05:50:11 +01:00
Tom Rothamel d7a10778ee Treat the use of default_focus as an explicit focus.
That causes hovered handlers to run. Fixes #5477.
2024-05-31 22:25:50 -04:00
Tom Rothamel 8e6446e85a Add the prefences.volume namespace.
This allows mixers to be set with the default statment.

Fixes #5541.
2024-05-30 22:10:28 -04:00
Denys 451fc492b3 Merge branch 'renpy:master' into master 2024-05-30 15:33:02 +01:00
Tom Rothamel 12e781cf4f Merge pull request #5513 from renpy/doc-display_menu
Tweak display_menu
2024-05-30 01:33:07 -04:00
Tom Rothamel d0c78aaaca Merge branch 'fix' 2024-05-29 21:54:29 -04:00
Tom Rothamel 7886c536ec live2d: Always apply attribute_filter.
Fixes #5415.
2024-05-29 20:36:38 -04:00
Tom Rothamel 7620f8ef78 Fadeout audio when stopping sounds for rollback.
Fixes #5497.
2024-05-29 20:21:21 -04:00
Tom Rothamel 8a6111cf83 Use config.fadeout_audio on play/stop sound.
Per #5497.
2024-05-29 20:21:21 -04:00
Tom Rothamel ac8cd9d9b2 live2d: Properly encode and suggest cause of errors from missing symbols.
Fixes #5485.
2024-05-29 20:21:21 -04:00
Andy_kl ac81c53bf2 Allow to have the same model with 2 different default_fade 2024-05-29 20:21:21 -04:00
Tom Rothamel 2eddbd9712 Fadeout audio when stopping sounds for rollback.
Fixes #5497.
2024-05-29 01:50:34 -04:00
Tom Rothamel 2c7bf8aed4 Use config.fadeout_audio on play/stop sound.
Per #5497.
2024-05-29 01:08:46 -04:00
Tom Rothamel e2cb92540f live2d: Properly encode and suggest cause of errors from missing symbols.
Fixes #5485.
2024-05-28 22:48:29 -04:00
Tom Rothamel 64779676a8 Merge pull request #5540 from qTich/fix/textshader-compilation
textshader: convert static int to float
2024-05-28 09:44:11 -04:00
Tichq f914c0ae50 textshader: convert static int to float 2024-05-28 09:32:53 +03:00
Tom Rothamel fd9fee113e Clear after_rollback even if an interaction aborts early.
Fixes #5511
2024-05-28 01:47:45 -04:00
Tom Rothamel d348af3edf Clear after_rollback even if an interaction aborts early.
Fixes #5511
2024-05-28 01:47:19 -04:00
Tom Rothamel 9476a1e2cd Merge pull request #5489 from andrigamerita/the-question
Create full Italian translation of The Question
2024-05-27 23:14:43 -04:00
Tom Rothamel 4ee10cb9bf Merge pull request #5486 from andrigamerita/master
Update existing Italian translations and add missing ones
2024-05-27 23:14:19 -04:00
Tom Rothamel 920921e87d Merge pull request #5522 from renpy/live2d-auxiliaryout
Allow to have the same model with 2 different default_fade
2024-05-27 21:35:48 -04:00
Tom Rothamel 3907f95a1c Fix newlines in config.log.
Fixes #5535.
2024-05-26 21:09:41 -04:00
Tom Rothamel a2f6891341 Fix newlines in config.log.
Fixes #5535.
2024-05-26 21:08:52 -04:00
Tom Rothamel 10a71b7e0d Add config.log_events.
A way of logging pygame events.
2024-05-26 20:41:31 -04:00
Mal Graty 18aec480f0 Skip unnecessary conditionals during interpolation
We already bail early when inside parens, and taking the same approach
with brackets allows us to short-circuit further character checks.
2024-05-26 20:40:49 -04:00
Mal Graty eb7d711fa8 Respect config.savegame_suffix in sync 2024-05-26 20:40:49 -04:00
Tom Rothamel 7fafea3a5c Move to a different approach to pausing on Android and iOS.
This is a (more or less) direct call of SDL_PauseAudio, without
any locking.

Per #5292.
2024-05-26 20:40:49 -04:00
Tom Rothamel 67618d00fc Look for live2d ion the main executable on ios.
Per #5502.
2024-05-26 20:40:19 -04:00
Tom Rothamel f8383eef39 Add config.log_events.
A way of logging pygame events.
2024-05-25 23:30:35 -04:00
Tom Rothamel 6a9039a7c3 Add config.shader_part_filter.
This can be used to filter shaders, to implement preference that turn
shaders parts on and off as required.

Close #5534.
2024-05-24 22:34:56 -04:00
Tom Rothamel b7bb25fa38 doc textshader: Document creating a textshader. 2024-05-24 01:04:31 -04:00
Tom Rothamel f5b4c5fd5d Convert int to float. 2024-05-24 01:04:16 -04:00
Tom Rothamel ae873abdf4 doc textshader: Generate documentation for built-in textshaders. 2024-05-23 22:02:44 -04:00
Tom Rothamel 0bc13d58a3 doc, textshader: Textshader callbacks. 2024-05-22 21:58:25 -04:00
Tom Rothamel f54bc355fd Only create a rollback at a label if the current rollback is not at a lable.
This fixes a problem where:

    label start:

        "A"
        $ pass

    label b1:
    label b2:
    label b3:
    label b4:
    label b5:
    label b6:
    label b7:
    label b8:
    label b9:

        "B"

Would create a Rollback for each of the labels, depleting the rollback
log space. The practical version of this involves many calls and returns.

Fixes #5406.
2024-05-21 22:00:46 -04:00
Tom Rothamel 53f5445f82 Merge pull request #5529 from mal/optimise-str-interpolation
Skip unnecessary conditionals during interpolation
2024-05-21 20:08:26 -04:00
Tom Rothamel 392fd5c3da Merge pull request #5528 from mal/respect-save-game-suffix
Respect config.savegame_suffix in sync
2024-05-21 20:07:09 -04:00
Chengtian He 8ac49970b8 Fix unpaired quotation mark in python.rst (#5523)
doc: fix unpaired quotation mark in example code
2024-05-21 20:01:07 +02:00
Tom Rothamel 1a7ead6ec0 doc: More changes.
* Do not build the abbreviated documentation on the command line.
* Remove debug prints.
2024-05-21 02:07:12 -04:00
Tom Rothamel 78d8547b27 doc: Fix various errors. 2024-05-21 01:59:22 -04:00
Tom Rothamel db2b3acc31 doc, textshader: Document and rationalize shader priorities. 2024-05-21 01:54:34 -04:00
Tom Rothamel 09f3a53c09 doc: Add an index of shader priorities. 2024-05-21 00:15:41 -04:00
Tom Rothamel d607076acb doc: Move shader parts into their own file. 2024-05-20 23:02:03 -04:00
Tom Rothamel 0cda6a3de6 textshader: Add linetexture. 2024-05-20 02:29:54 -04:00
Tom Rothamel fbfbbfe081 textshader: Remove the texture rect attribute.
As it's equivalent to the a_text_pos_rect / res0.
2024-05-20 01:53:06 -04:00
Tom Rothamel 59d2c251e7 textshader: Add u_text_main.
This is 1.0 if we're on the main text (no outline or offset), and
0.0 otherwise.
2024-05-19 23:40:42 -04:00
Tom Rothamel 00e36f3305 gl2: Correct shader line numbers in log. 2024-05-19 23:30:28 -04:00
Tom Rothamel 8d8ea32b46 textshader: Prefer multiply to divide. 2024-05-19 22:39:57 -04:00
Tom Rothamel 6130437ee7 gl2: Make the texture resolution available to shader uniforms. 2024-05-19 22:25:40 -04:00
Tom Rothamel 2b1c5ac83b textshader: Include the bounding rectangles for positions and textures as attributes. 2024-05-19 22:18:04 -04:00
Mal Graty 92a00f1183 Skip unnecessary conditionals during interpolation
We already bail early when inside parens, and taking the same approach
with brackets allows us to short-circuit further character checks.
2024-05-19 22:05:48 +01:00
Mal Graty 02e654e855 Respect config.savegame_suffix in sync 2024-05-19 22:04:04 +01:00
Tom Rothamel 6a613314c5 Do not add uniforms when rendering a render that is a model. 2024-05-19 01:39:30 -04:00
Tom Rothamel 61c2963ef6 textshader: offset and wave shaders.
And rename the old wave shader to dissolve to free up the name.
2024-05-18 23:25:19 -04:00
Tom Rothamel 3b9068c659 textshader: Fix issue applying arguments. 2024-05-18 23:24:35 -04:00
Tom Rothamel 094827aa83 textshader: Make the index of the character available in the shader. 2024-05-18 23:17:00 -04:00
Tom Rothamel fc0e410ef2 If config.default_texshader is set, set style.default.textshader. 2024-05-18 14:54:18 -04:00
Andy_kl 3318d23a8d Allow to have the same model with 2 different default_fade 2024-05-18 10:24:42 +04:00
Tom Rothamel 234765499c Merge pull request #5517 from brainos233/vf-bold-italic
Allow use italic/bold italic instance for variable font by default
2024-05-17 23:02:49 -04:00
Tom Rothamel 44ebeddaf6 textshader: Add the jitter shader. 2024-05-17 22:53:25 -04:00
Tom Rothamel 554c2f816b textshader: Finish variable rename. 2024-05-17 22:50:33 -04:00
Tom Rothamel 98dee5f007 Move to a different approach to pausing on Android and iOS.
This is a (more or less) direct call of SDL_PauseAudio, without
any locking.

Per #5292.
2024-05-17 01:21:14 -04:00
OleSTEEP e57117ec90 Fix renpy.exports.get_sdl_dll() for Android 2024-05-16 18:57:21 -04:00
Tom Rothamel 48d84ee045 Merge pull request #5519 from OleSTEEP/master
Fix permission requesting on Android platform
2024-05-16 18:55:16 -04:00
OleSTEEP 71424d877a Fix renpy.exports.get_sdl_dll() for Android 2024-05-16 23:58:35 +03:00
Brainos ffb60c054e Allow use italic instance for variable font by default 2024-05-16 23:03:54 +08:00
Gouvernathor 899a4ac7d1 doc: typo in example 2024-05-16 14:50:04 +02:00
Tom Rothamel 2118c398bc gl2: Use cached textures, where possible. 2024-05-16 03:03:08 -04:00
Tom Rothamel a9806926bd textshader: Render text meshes using a displayable.
This makes it possible to have the mesh render depend on
texture displayables, which will allow the mesh displayable
to change if the texture displayable animates.
2024-05-16 02:51:35 -04:00
Tom Rothamel a11c36bb3a gl2: Allow Renders to be supplied to uniforms.
These become textures and are suppled to shaders.
2024-05-16 01:32:05 -04:00
Tom Rothamel f0a52916c4 textshader: Allow textshaders to take textures as arguments.
This is just supplying the argument, with the next commit
going to make use of the displayables.
2024-05-15 21:27:18 -04:00
Tom Rothamel 3292ad26f4 Merge pull request #5514 from renpy/doc-label
Tweak label documentation
2024-05-15 20:20:06 -04:00
Tom Rothamel 63433f7656 Merge pull request #5515 from renpy/cleanup-revertable
Cleanup some warnings in the revertable module
2024-05-15 20:19:24 -04:00
Gouvernathor 0a6e6fb7e1 Cleanup some warnings in the revertable module
importing __future__ is not strictly necessary as the imported values of division and with_statement could be used directly, but I think it's preferable to separate the future statement from the future import.
2024-05-16 01:14:28 +02:00
Gouvernathor ca3d291861 Tweak some more 2024-05-16 01:06:29 +02:00
Gouvernathor 6a4038b5b8 Tweak label documentation 2024-05-16 00:49:09 +02:00
Gouvernathor 97e0b8c71f Tweak display_menu
actually, arbitrary kwargs are a very bad thing to pass since as long as the specified screen exists (so, unless something is very wrong), they are just ignored
the scope's default value change is benign as long as we don't do stupid things with it and continue to call dict() on it - and it prevents stupid things we might do to it in the future to go unseen
2024-05-16 00:04:34 +02:00
Tom Rothamel 8f24a44a02 Add the zoom shader.
This is a shader that causes the text to zoom in.
2024-05-14 22:57:30 -04:00
Tom Rothamel 68a361ddd7 textshader: Add the flip shader. 2024-05-14 22:02:08 -04:00
Tom Rothamel e223e845da textshader: typewriter and slowalpha shaders. 2024-05-14 01:52:24 -04:00
Tom Rothamel 60e56e5e08 textshader: Add the wave text shader. 2024-05-13 22:30:12 -04:00
Tom Rothamel 86d750f741 gl2: Allow shaders to define local variables. 2024-05-13 22:02:56 -04:00
Tom Rothamel 3ef2e5ec58 textshader: Allow textshaders to take a function to adjust settings. 2024-05-12 23:05:33 -04:00
Tom Rothamel 70462ab3e2 Merge pull request #5501 from renpy/textshader-doc-pass
Textshader doc pass
2024-05-12 10:42:17 -04:00
Tom Rothamel db2ac67b6f gl2, textshader: Move support for scoped shader variables into gl2.
These could be useful for other kinds of shaders, so it makes sense
to move them to a common place.
2024-05-11 21:54:55 -04:00
Tom Rothamel 1ab277c8a5 Fix invalid function call in error case. 2024-05-11 09:57:03 -04:00
Tom Rothamel 19b8cfb9aa Look for live2d ion the main executable on ios.
Per #5502.
2024-05-10 21:50:32 -04:00
Tom Rothamel 3eb675c119 textshader: Fix use of undefined variable.
This doesn't actually do all that much, since displayables aren't
rendered by shaders, but it does set the field.

Fixes #5504.
2024-05-10 21:31:09 -04:00
Asriel Senna 5e981d9828 Typing, and trimming useless/obsolete code 2024-05-09 22:19:07 +02:00
Tom Rothamel 19819337a9 textshader: Allow a__ and v__ to be shader-scoped. 2024-05-09 09:35:01 -04:00
Ren'Py Bot c583894c0e Merge branch 'fix' 2024-05-09 04:30:14 -04:00
Tom Rothamel f26b014856 textshader: Add a way of documenting textshaders. 2024-05-09 01:47:47 -04:00
Tom Rothamel 5d862887dc doc: Fix typos in updater documentation.
Fixes #5500.
2024-05-08 23:29:21 -04:00
Asriel Senna 62b8260090 Fix and improve various stuff in exports
optimizing some priority choices or wasteful idioms
also some doc stuff
2024-05-09 04:39:02 +02:00
Asriel Senna 1aa83b0109 doc: rephrases and clarifications
a character is something in renpy (and in renpy dialogue), calling it a unicode character, while not particularly relevant otherwise, helps clarification
internal links = gud, x2
textshader is a tag, text shader is the feature
you can't create an entire text shader out of string interpolation - or I would be very surprised - what you can create is a textshader tag which is nice enough
2024-05-09 00:39:45 +02:00
Asriel Senna c984170eac typo last 2024-05-09 00:36:12 +02:00
Asriel Senna 01d46ae6cd doc: fix code markup and rephrase 2024-05-09 00:25:06 +02:00
Tom Rothamel 2fd6da4195 textshader,doc: Start docs. 2024-05-08 02:03:34 -04:00
Tom Rothamel 1bad7055a8 textshader: Add per-shader uniforms.
These have the form u__var, and expand to u_textshader_name_var,
though are intended to be used as positional-only in most cases.

A way of preventing uniform conflicts.
2024-05-08 02:01:43 -04:00
Tom Rothamel 77e24c0c51 textshader: Allow positional uniforms.
Rather than just one single default, allow multiple positional
shader arguments. It's just too useful not to allow.
2024-05-08 01:13:58 -04:00
Tom Rothamel e9aba8253b textshader: Supply premultiplied alpha to shaders. 2024-05-08 00:17:37 -04:00
Tom Rothamel ab9d904b19 Add tasks.json to .gitignore. 2024-05-07 22:57:33 -04:00
Tom Rothamel 376c520b75 textshader: Make the slow duration available.
The slow duration is 1 / slow_cps, or 0 if slow text is not active.
It's available in the shader, to make effects scalable by the
duration. It's also available as a multiplier that can be used
to add to extra_time.
2024-05-07 22:00:31 -04:00
Tom Rothamel 766be19326 textshader: Avoid slow effects when the CPS is 0. 2024-05-06 02:35:40 -04:00
Tom Rothamel 7a6f6385e1 textshader: Improve getting shaders.
Add config.textshader_callbacks to make it possible to change the
textshader each time it is access.

Cache text shaders once parsed.
2024-05-06 02:28:33 -04:00
Tom Rothamel 88b6373572 textshader: Improve uniform handling.
* Uniforms are checked for existence.
* The u_ prefix is no longer mandatory.
* It's possible to specify a default uniform that's used if no
  uniform name is given.
2024-05-06 01:40:48 -04:00
Tom Rothamel 9bbd594645 textshaders: Disable if not running gl2. 2024-05-06 00:25:11 -04:00
Tom Rothamel 5ce9407066 textshader: Factor out computing the redraw time. 2024-05-05 23:51:12 -04:00
Tom Rothamel dee798a5ea textshader: Allow shaders to be combined with |. 2024-05-05 22:08:10 -04:00
Tom Rothamel 2ca90a5600 textshader: Create the API.
Several changes to provide an API for the textshader system.

Add the renpy.register_textshader function.

Add config.default_textshader. This is a shader that is combined with
other textshaders, generally to provide the slow text effect while
the other textshader provides more complicated effects.
2024-05-05 21:44:48 -04:00
Tom Rothamel 3164cc9deb textshader: Use slow_time, not st.
This is meant to keep shaders from using u_text_slow_time when
u_time is needed.
2024-05-05 12:06:54 -04:00
Tom Rothamel 2d777c9f0c textshader: Use the texture, not the surface. 2024-05-05 02:06:04 -04:00
Tom Rothamel dc0b840c01 textshader: Fixes to shaders that use redraw. 2024-05-04 22:40:10 -04:00
Tom Rothamel 07adaa472e textshader: Add the shader text tag. 2024-05-04 02:10:22 -04:00
Tom Rothamel 4a1dcaf28b textshader: Add a uniform that converts from drawable to virtual. 2024-05-04 01:49:10 -04:00
Tom Rothamel 8589740e8e textshader: Work on the textual representation. 2024-05-03 23:07:24 -04:00
Tom Rothamel 0417b08ed9 Add raw_changed to ui.adjustment.
This gets the raw value, and can be used to trigger actions when
an adjustment goes out of range.
2024-05-03 02:08:07 -04:00
Tom Rothamel 88246afd66 Add RENPY_REPORT_EXCEPTIONS.
This is mostly intended for use in VS Code and similar environments.
When an exception happens, this will propagate it through Ren'Py,
allowing the debugger to inspect the state of the game.
2024-05-02 01:47:27 -04:00
Tom Rothamel ae81022b0c textshader: Move shaders into a dedicated file. 2024-05-02 01:23:23 -04:00
Tom Rothamel d3542f8bc3 textshader: Allow there to be multiple shaders in a single block.
This just implements the rendering aspects, actually having more
than one shader at a time will require the upcoming shader
text tag.
2024-05-01 23:52:02 -04:00
Tom Rothamel 10e210052d textshader: Add more uniforms to the renders. 2024-05-01 22:39:00 -04:00
Tom Rothamel ba8815cff0 textshader: Improve slow text.
* When slow is False, set u_text_slow_time to the end of the slow text
  period.
* Use different redraws for slow and not-slow text.
2024-04-30 23:21:08 -04:00
OctoSpacc a790e836e2 Create full Italian translation of The Question 2024-04-29 16:44:16 +02:00
Ren'Py Bot 4df19285a8 Merge branch 'fix' 2024-04-29 04:30:14 -04:00
Tom Rothamel 1151ac4b9e textshader: Make the glyph duration -1 when no time is assigned.
This is meant to make it more clear what text needs transition
in effects, and what should be displayed from the start.
2024-04-29 01:58:08 -04:00
Tom Rothamel 3dde152c59 textshader: Redraw time handling. 2024-04-29 01:44:25 -04:00
Tom Rothamel dc5101270d textshader: Make it easier to add new info per-glyph. 2024-04-29 01:35:22 -04:00
Tom Rothamel ea34d8f995 Allow Transform to take a Transform Matrix.
Fixes #5487.
2024-04-29 00:57:10 -04:00
Tom Rothamel 7f9ee7ba6c textshader: Create the renders once per layout, not once per frame. 2024-04-28 15:16:56 -04:00
Tom Rothamel 9fbfd99cca textshader: Read text shader config out of an object. 2024-04-28 14:35:33 -04:00
Tom Rothamel d340e41c58 textshader: First working text shaders. 2024-04-28 13:11:00 -04:00
Tom Rothamel 94c912c3ce gl2: Break the renpy.geometry shader up.
This allows for other shaders to adjust the untransformed
geometry if required. (Text shaders will likely be doing
this.)
2024-04-28 12:53:48 -04:00
octospacc ec89ca3cdc Update and improve italian translation for template and launcher 2024-04-28 18:21:00 +02:00
Tom Rothamel 3d717ed39b textshader: Add style. 2024-04-27 14:52:00 -04:00
Tom Rothamel 353f08ce13 textshader: Move blitting text into its own function.
So it will be able to serve as an alternative to shader/mesh
text.
2024-04-27 14:33:37 -04:00
Tom Rothamel 9655231fc0 Remove use of max_height.
Closes #5481, right idea, wrong change.
2024-04-26 21:20:39 -04:00
Tom Rothamel fe1023fe74 text shader: Create meshes.
This moves the conversion of positions to texture coordinates
to glyph_coordinates, where it's faster.

This also stores information about RTL and duration into
each glyph, which is then used to figure out the duration
of each glyph.

Finally, the mesh is created when it doesn't exist already,
and stored in the layout.
2024-04-26 00:54:15 -04:00
Tom Rothamel 8b57b220b9 text shader: Determine bounding box excursions for each glyph.
This is going to be used when computing the text mesh, to expand
the bounding boxes of each glyph when outside the (width, line_spacing)
default bounding box.
2024-04-26 00:54:15 -04:00
Tom Rothamel afc03e11ee Merge pull request #5480 from qTich/fix/emscripten-progress
fix: `emscripten` presplash progress
2024-04-25 22:15:14 -04:00
Tichq ae542aeb3b fix: emscripten presplash progress 2024-04-25 20:40:24 +03:00
Tom Rothamel a2529e3af5 Merge branch 'fix' 2024-04-24 21:32:36 -04:00
Tom Rothamel 5bbbd688af Restore removed line.
Fixes #5469.
2024-04-24 21:03:47 -04:00
Ren'Py Bot ff3a9c4d42 Merge branch 'fix' 2024-04-24 04:30:14 -04:00
Tom Rothamel a7c113adbc text shader: Compute the baseline of each line.
This will be used to determine the 'center' of the character.
2024-04-24 00:28:09 -04:00
Tom Rothamel 9a479f25e5 doc: Fixes.
Mostly the aftermath of undocumenting mode.

Fixes #5469.
2024-04-23 21:37:53 -04:00
Tom Rothamel 3674f45efe doc: Fixes.
Mostly the aftermath of undocumenting mode.

Fixes #5469.
2024-04-23 21:35:16 -04:00
Ren'Py Bot c8ed7059a4 Merge branch 'fix' 2024-04-23 04:30:14 -04:00
Tom Rothamel fb58d699f5 Properly filter the axis text tag.
Fixes #5470.
2024-04-22 22:23:16 -04:00
Tom Rothamel ff8e0a0cb0 Ensure the vibration time is above a minimum value.
Fixes #5474.
2024-04-22 21:45:45 -04:00
Tom Rothamel 6815ae4439 text shader: Add text meshes.
This will store the data used by a text shader.
2024-04-21 23:16:20 -04:00
Tom Rothamel d722260f71 Use the upcoming say statement for window.show. 2024-04-20 11:20:00 -04:00
Tom Rothamel 130f7f4e36 Change how window auto works.
The window hide/show statements no longer disable the window auto
flag, with new statements (window auto True, window auto False)
taking care of that.

The thinking behind this is that window hide is useful in it's own
right, but significantly less useful if it requires a matching
window auto each time.

For example, one might want to do:

     e "Dialogue"
     window hide
     show clouds with dissolve
     e "Dialogue"

and have that work.
2024-04-19 22:38:23 -04:00
Ren'Py Bot 43d0c955a4 Merge branch 'fix' 2024-04-19 04:30:55 -04:00
Tom Rothamel 9cb8b904b9 Improve and document config.statement_callbacks. 2024-04-18 22:16:57 -04:00
Tom Rothamel 980c7cfb1f Undocument mode callbacks. 2024-04-18 21:45:58 -04:00
Tom Rothamel 2c09515c4d Add some safety to MouseDisplayable, by using the default if the mouse isn't defined. 2024-04-18 21:37:02 -04:00
Tom Rothamel 94a8647291 Document last. 2024-04-18 01:01:02 -04:00
Tom Rothamel 66ab709373 Better integrate window show/hide/auto and nvl show/hide.
The two had been largely independent. The result of these changes
is that nvl operations now adjust the window show/hide state, while
the nvl <-> adv transitions won't happen if the window is hidden.

If the window is hidden, then window show will happen instead.
2024-04-17 23:50:00 -04:00
Tom Rothamel a04946905d Remove some obsolete TODOs. 2024-04-17 21:54:36 -04:00
Tom Rothamel 378950f633 Allow ruby text to inherit its color from parent text.
Fixes #5418
2024-04-16 22:23:39 -04:00
Tom Rothamel f855f8367c Merge pull request #5401 from CensoredUsername/screenlang-v1-rpyc-loading-support
Allow ren'py 8 to load .rpyc files using old-style screens.
2024-04-16 21:21:31 -04:00
Tom Rothamel 4b4f993886 Make math match. 2024-04-15 22:38:57 -04:00
Tom Rothamel 7595c32728 web filter: Get all filters working in browser. 2024-04-15 22:06:47 -04:00
Tom Rothamel cc2729257d Restrict layer names to image component names.
To fix some syntax issues. Fixes #5464.
2024-04-14 23:14:25 -04:00
Tom Rothamel c5c1b8af92 Disable debug sound during error handling.
Because it can really interfere with error handling.

And also disable it by default.
2024-04-14 22:42:46 -04:00
Tom Rothamel 6b8295a122 web filter: More work.
Filter replacement is in, as are Null and Crossfade.
2024-04-14 02:33:31 -04:00
Tom Rothamel 87dd502244 web filter: Basic infrastructure for web audio filters.
This handles uploading filters to the web audio system, identified by
numeric ids. It can also then plumb those filters in to the rest of
the system, allowing them to be used to filter audio.

Finally this adds the Biquad filter.
2024-04-13 22:02:59 -04:00
Tom Rothamel 1c7a665312 Load _audio_filter.js.
This file will contain the JS audio filters.
2024-04-13 20:32:57 -04:00
Tom Rothamel 7b24aaf5de emscripten: Fix compatibility. 2024-04-13 20:28:36 -04:00
Tom Rothamel b2ef8d5f33 Add the fps transform property.
This quantizes time inside the transform to a particular number of
frames per second. This can be used to simulate a
lower frame rate.

Per #5463.
2024-04-12 22:54:48 -04:00
Tom Rothamel 3bb93db2c4 filter: Call a deallocate function when an audio filter is deallocated.
When webaudio filters are a thing, this will let those filters
be deallocated when they are no longer needed.
2024-04-11 23:53:47 -04:00
Ren'Py Bot bad814b135 Merge branch 'fix' 2024-04-11 04:30:55 -04:00
Tom Rothamel 51393042b4 Fix downloader instructions.
Fixes #5421.
2024-04-11 01:19:49 -04:00
Tom Rothamel f4067af182 Under navigation, the TODOs button now has a count of TODOs next to it.
Fixes #5445
2024-04-10 22:17:50 -04:00
Tom Rothamel a560520af9 Document exec.py. 2024-04-09 22:09:42 -04:00
Gouvernathor 8d1b73a606 doc: Add missing parameters in display_menu signature
forgotten in e576d4d47a
2024-04-09 11:44:43 +02:00
Tom Rothamel 9e59ae470f Implement exec.py.
This change causes Ren'Py to scan for a file named exec.py, and if
found, run it.

This is intended to enable certain kinds of tools, like #5455, and
probably a bunch I haven't thought of, like debuggers.

Security:

I don't think this has security implications. It requires writing
exec.py into config.basedir. If you can do that, you can write
renpy.sh or renpy.exe. There's also a good chance you'd have
permissions to write into game/ or lib/.

So, it's basically letting you do something you could do anyway,
without restarting the game.
2024-04-08 22:22:25 -04:00
Ren'Py Bot 836b42bd78 Merge branch 'fix' 2024-04-07 22:29:18 -04:00
Tom Rothamel 10c02a4caf Do not end an interpolation expression inside brackers or parens.
This fixes an issue I caught myself where trying to slice inside an
interpolation would cause an error, because:

"[l[:100]]"

would be parsed as an expression of l[ and a format string of
:100], which is wrong.
2024-04-07 22:21:30 -04:00
Ren'Py Bot 6416aea8aa Merge branch 'fix' 2024-04-07 04:30:55 -04:00
Tom Rothamel 0ab547dd34 Document fixes. 2024-04-07 00:37:53 -04:00
Tom Rothamel f9ccc4b2e0 Generate string translations from _ren.py files.
Fixes #5458.
2024-04-06 22:15:05 -04:00
Tom Rothamel 1e5845b5b6 Typecheck achievement names. 2024-04-06 21:26:56 -04:00
Tom Rothamel d932e09cd4 Clean invalid achievement names out of persistent._achievements.
Fixes #5457.
2024-04-06 21:20:05 -04:00
Ren'Py Bot 0fda6fe389 Merge branch 'fix' 2024-04-05 04:30:55 -04:00
Tom Rothamel bc2c137c18 doc: Replace eileen mad with eileen concerned.
Fixes #5454.
2024-04-05 01:03:12 -04:00
Tom Rothamel e07a7b231d doc: Replace eileen mad with eileen concerned.
Fixes #5454.
2024-04-05 01:02:29 -04:00
Tom Rothamel c2c5e41948 fetch: Accept headers.
Fixes #5452.
2024-04-04 23:38:22 -04:00
Tom Rothamel 1357cd3990 Merge branch 'fix' 2024-04-04 02:45:19 -04:00
Tom Rothamel af2e9e2b0a Mark RPY nodes as weakly reachable.
Fixes #5447.
2024-04-02 23:05:14 -04:00
Tom Rothamel 5c5475a1fa py2: Fix weakref pickling.
NoneType isn't a function in Python 2, so one is provided.

Fixes #5446.
2024-04-02 22:28:38 -04:00
Tom Rothamel 86aa7722a1 filter: Add __repr__ and .constructor()
The constructor function returns a JS/Python function that
creates a filter.
2024-04-01 18:38:55 -04:00
Gouvernathor ad5f042de9 Show the error when linting cds's next 2024-04-01 22:20:07 +02:00
Elckarow 1c29911877 check for warp_function as well 2024-03-31 10:17:35 -04:00
Tom Rothamel 27b2fb08b8 Merge pull request #5433 from Elckarow/fit-warp-interp
fix `warp` interpolation
2024-03-31 10:10:02 -04:00
Tom Rothamel f88f1013dc Add u_drawable_size.
A new standard uniform that gives the viewport's drawable size.
2024-03-30 22:37:39 -04:00
Tom Rothamel 8051c69b8e gl2: Log the shader source when an error happens. 2024-03-30 22:26:49 -04:00
Elckarow 044c608354 fix nvl hide 2024-03-30 00:34:27 -04:00
Tom Rothamel bc9fb905ed Merge pull request #5426 from Elckarow/fix-nvl-hide
Fix nvl hide
2024-03-30 00:31:09 -04:00
Tom Rothamel 83d157e384 Merge pull request #5437 from qTich/feature/loader-loadable
add: `tl` keyword into `renpy.loadable` method
2024-03-30 00:30:31 -04:00
Tom Rothamel 69b8e0a945 doc: Filter reuse. 2024-03-29 00:36:58 -04:00
Tom Rothamel 883b6ad0cb filter: Add some bounds checks. 2024-03-28 21:42:58 -04:00
Tom Rothamel 2f8325a773 Disable sound in the launcher.
Per #5429.
2024-03-27 23:10:12 -04:00
Tom Rothamel 79ec01fe1a filter: Pad channels with silence.
This ensures that Delay, Comb, and Reverb filters generally have
time to complete.
2024-03-27 00:44:48 -04:00
Tom Rothamel 231dbeb6b9 filter: Raise the reverb lowpass cutoff. 2024-03-26 22:44:00 -04:00
Tom Rothamel f0e5f5b8ca doc: Audio filters. 2024-03-26 02:08:53 -04:00
Tom Rothamel 1c9c718220 doc gen: Make the keywords more diffable. 2024-03-26 00:15:57 -04:00
Tom Rothamel 328062e089 doc: Music functions. 2024-03-25 22:44:53 -04:00
Tichq 93ee54f74f add: tl keyword into renpy.loadable method 2024-03-26 02:09:30 +03:00
Elckarow 881aeacc69 check for warp_function as well 2024-03-24 23:16:46 +01:00
Tom Rothamel 7ff7e6edf4 filter: Documentation for filters. 2024-03-24 13:59:42 -04:00
Tom Rothamel 75fd6f115f filter: Add __reduce__ methods to AudioFilter classes.
This allows the filters to be saved and restored.
2024-03-24 12:57:56 -04:00
Tom Rothamel 962547cd12 filter: Remove check_subchannels.
This isn't needed, as all of the filters take the same number of
subchannels (right now, left and right).
2024-03-24 12:35:25 -04:00
Tom Rothamel eb9990d424 filter: Allow each channel to have a separate delay. 2024-03-23 23:19:24 -04:00
Tom Rothamel b81050babb filter: Improve the Reverb. 2024-03-22 23:54:45 -04:00
Tom Rothamel fe900d1817 filter: Improve Comb, add WetDry.
Comb can now give the audio with or without the dry audio. The
WetDry audio makes it possible to specify the wet and dry mix.
2024-03-22 23:31:56 -04:00
Tom Rothamel b22559954c filter: Untuned reverb.
Based on https://itnext.io/algorithmic-reverb-and-web-audio-api-e1ccec94621a.
2024-03-22 03:07:34 -04:00
Tom Rothamel 363777cdc8 filter: Replace gain with multiplier.
More algorithms seem to come with multipliers, and gain can
be implemented using a multiplier.
2024-03-22 03:07:34 -04:00
Tom Rothamel d1ec960bda filter: Initial take on a comb filter. 2024-03-22 03:07:34 -04:00
Tom Rothamel f917d63e31 Merge pull request #5427 from qTich/feature/set_audio_filter-props
add: `duration` parameter & allow filter to be set to `None` as can be done directly.
2024-03-21 17:16:19 -04:00
Tichq 86b4e20dfb add: duration parameter & allow filter to be set to None as can be done directly. 2024-03-21 16:00:24 +03:00
Tom Rothamel 7b3fb20ae6 filter: Process audio in chunks.
To allow .01s delays.
2024-03-20 20:25:19 -04:00
Tom Rothamel fc3b991c88 filter: Gain should take gain in db. 2024-03-20 02:07:36 -04:00
Tom Rothamel a8d77bf318 filter: Fix various issues with filters. 2024-03-20 02:04:19 -04:00
Tom Rothamel 26b115106b filter: Implement the Delay filter.
with some fixes for other filters.
2024-03-20 00:15:18 -04:00
Tom Rothamel ebe5e8ee14 filter: Drop the number of subchannels to 2.
Until we support more otherwise.
2024-03-20 00:15:18 -04:00
Elckarow 5f02188e4c fix nvl hide 2024-03-19 14:57:32 +01:00
Ren'Py Bot 6aedd4c58f Merge branch 'fix' 2024-03-19 04:30:05 -04:00
minger0 184be0b5ec Add to web.rst the details where to find the generated web files 2024-03-18 14:14:26 -04:00
Tom Rothamel 78af5e8f5d Merge pull request #5423 from minger0/patch-1
Add to web.rst the details where to find the generated web files
2024-03-18 14:13:50 -04:00
Tom Rothamel 51841c8687 filter: Mix and Gain filters. 2024-03-18 01:53:09 -04:00
Tom Rothamel c36330de21 filter: Add Null()
This simply copies input to output.

By adding this, it's now possible to be sure that (in filter.pyx,
_not_ renpysound), an AudioFilter will never be None. This in turns
removes a lot of special casing.
2024-03-18 01:37:36 -04:00
Tom Rothamel 585683f653 filter: Add FilterList.
This encapsulates multiple filters into a single object that
can be iterated with and without the GIL.
2024-03-18 01:10:56 -04:00
Tom Rothamel 503007274d filter: Crossfade between filters.
This is similar to the way music fades out by default - by using
one frame to crossfade the audio filter, leveles change relatively
slowly and a pop is avoided.
2024-03-18 00:54:40 -04:00
Tom Rothamel 0a6bd6c93e filter: Rename Sequence. 2024-03-17 23:30:07 -04:00
Tom Rothamel 0af51330b5 filter: Document and rename Biquad, remove Lowpass. 2024-03-17 23:29:30 -04:00
Tom Rothamel 8e64c73887 filter: Implement the biquad filter. 2024-03-17 17:01:30 -04:00
Tom Rothamel 2d2867ef21 filter: Pass the sample rate to the filter. 2024-03-16 22:19:06 -04:00
minger0 2c945dc13e Add to web.rst the details where to find the generated web files 2024-03-16 22:02:12 +01:00
Tom Rothamel b29ef94141 filter: Add a function to expose the audio sample rate. 2024-03-16 02:07:57 -04:00
Tom Rothamel 42e3b2600c filter: Include filter in the build process. 2024-03-15 17:08:32 -04:00
Tom Rothamel 6e532f1b08 filter: Add set_audio_filter(replace=True)
To give the option of effects where the filter is replaced
while music is playing.
2024-03-15 03:01:36 -04:00
Tom Rothamel e0718d9143 filter: Low-level public API. 2024-03-15 02:15:03 -04:00
Tom Rothamel 554b019218 filter: Work to support filter composition.
* SequenceFilter is a filter that takes multiple filters as
  children, and pipelines them in sequence.
* to_audio_filter turns lists into SequenceFilters, and typechecks.
* The check_subchannels methods make sure that audio filters are
  compatible.
2024-03-15 01:46:38 -04:00
Tom Rothamel 552e555204 filter: Add filter.pyx to the import system. 2024-03-14 23:41:14 -04:00
Tom Rothamel d25bbaa01c filter: Store and use the audio filter. 2024-03-14 01:21:48 -04:00
Tom Rothamel aa0925d1db filter: Basic audio filtering.
This converts the sound to float, and sends it to the audio filter
before mixing. This also includes the initial implementation of the
AudioFilters, using SoundBuffers to store the audio.
2024-03-13 02:04:53 -04:00
Tom Rothamel 44145febf4 Add an empty renpy.audio.filter module. 2024-03-12 01:29:07 -04:00
Tom Rothamel dbdb439ccb Fix the one non-deprecation warning. 2024-03-12 01:03:37 -04:00
Tom Rothamel 457ad4ddb5 Add a way of hiding ffmpeg deprecations.
While we're stuck on an old version that supports Win7.
2024-03-12 00:00:02 -04:00
Tom Rothamel 229b80a76c filter: Accept audio_filter as an argument to renpysound.play.
And renpysound.queue, and propagate it through the system. This
lets an audiofilter defined in Python and Cython be available to
the C.
2024-03-11 23:16:47 -04:00
Tom Rothamel dd5475bd5f Merge pull request #5411 from qTich/fix/sync-fetch
fix: `FetchError` case & check on `renpy.emscripten` before import `requests`
2024-03-11 10:52:31 -04:00
Tichq 9ad6f8c3ed fix: FetchError case & check on renpy.emscripten before import requests 2024-03-11 17:06:19 +03:00
CensoredUsername a61595021e Allow ren'py 8 to load .rpyc files using old-style screens.
Ren'py 8 still has all the code needed to support these files, but
as the ast module of python has changed between 2.7 and 3.9 it becamse
impossible to even load these files as the unpickling process would error
due to unknown classes. This means nearly any ren'py 6.17 game cannot be ported
over without a recompile.

This commit fixes this by intercepting the construction of these classes
using pre-existing mechanisms in renpy.compat.pickle. When not needed this
adds only a single equality check to the critical path of unpickling files.
2024-03-11 12:40:17 +01:00
Tom Rothamel 96e77332a2 Move to F32 audio.
We'll be doing audio processing in F32 anyway, so if conversion is
necessary, let's let SDL do it. And if it's not, we have extra
headroom.
2024-03-10 21:10:42 -04:00
Tom Rothamel 0e8e8944fa Merge branch 'fix' 2024-03-10 18:23:00 -04:00
Tom Rothamel 83aecea50b Revert "Remove duplicate say-related functions from 00library."
This reverts commit 122dbf2619.

Fixes #5409.
2024-03-10 17:04:58 -04:00
Ren'Py Bot b7f4812bee Merge branch 'fix' 2024-03-10 04:30:05 -04:00
shawna-p 744b503e84 Add box_align and justify for boxes 2024-03-09 20:15:37 -05:00
Tom Rothamel 32a372a56e Merge pull request #5398 from DipeshAggarwal/fix
Update transistions.rst and atl.rst
2024-03-09 15:42:01 -05:00
Bas Couwenberg 11c4a4e7f1 Fix 'if' typo
Replace 'inf' with 'if'.
2024-03-09 15:39:34 -05:00
Tom Rothamel 44a43abd34 Merge pull request #5402 from sebastic/patch-1
Fix 'if' typo
2024-03-09 15:38:54 -05:00
Bas Couwenberg 457aa55941 Fix 'if' typo
Replace 'inf' with 'if'.
2024-03-09 13:52:01 +01:00
Tom Rothamel c9bde1dd9e Fix bad call. 2024-03-08 22:23:34 -05:00
Tom Rothamel ae298fd2a8 Use proxies everywhere else.
Fixes #5400.
2024-03-08 22:01:34 -05:00
Tom Rothamel b42e1954e4 Rewrite the downloader in terms of requests.
This can't use renpy.fetch, as its purpose is to report progress.
2024-03-08 21:43:16 -05:00
Tom Rothamel e9b77344c2 sync: Rewrite in terms of renpy.fetch. 2024-03-08 21:27:09 -05:00
Tom Rothamel 784fbff0e0 Use the proxies in the updater. 2024-03-08 20:37:02 -05:00
Tom Rothamel 3d6c00dc64 Make the list of proxies available in renpy.fetch. 2024-03-08 20:23:05 -05:00
Tom Rothamel 6b5c555c99 Fix incorrect use of builtins. 2024-03-07 21:46:47 -05:00
Tom Rothamel 5abad0df54 Add the min and max arguments to BarValues.
So one can write FieldValue(persistent, "option", min=1.0, max=5.0)
rather than FieldValue(persistent, "option", range=4.0, offset=1.0),
which is a bit harder to read.
2024-03-07 20:49:41 -05:00
Dipesh Aggarwal 928387e2d8 Update atl.rst 2024-03-07 17:27:30 +05:30
Dipesh Aggarwal cb8b5d3de8 Update transitions.rst
Fix a broken ref to dialogue-window-management
2024-03-07 17:09:08 +05:30
Tom Rothamel ce58c4e4b1 Add keyboard_focus_insets.
The keyboard_focus_insets style property makes it possible to
have keyboard focus work with overlapping buttons, by artificially reducing
the size of the buttons to remove the overlap, when determining keyboard focus.

Closes #4620.
2024-03-06 21:51:49 -05:00
Tom Rothamel 18d478545c Merge branch 'fix' 2024-03-06 01:29:17 -05:00
Dipesh Aggarwal c8b76750c3 Update template_projects.rst
config.build_name doesn't exist. Replaced it with build.name
2024-03-06 01:27:07 -05:00
Dipesh Aggarwal 754d50c345 Update changelog.rst
Fix link to the vertical property and remove unncessary ` after renpy.fetch
2024-03-06 01:26:58 -05:00
Tom Rothamel 5564ca3bc0 Merge pull request #5392 from AbdulGoodLooks/patch-3
Fix typos in changelog.rst
2024-03-06 01:23:24 -05:00
Abdul f774d14e04 Fix typos in changelog.rst
posssible -> possible
gtlphs -> glyphs
2024-03-05 22:09:36 +00:00
Dipesh Aggarwal d836d94bac Update template_projects.rst
config.build_name doesn't exist. Replaced it with build.name
2024-03-06 00:03:36 +05:30
Dipesh Aggarwal e156bae357 Update changelog.rst
Fix link to the vertical property and remove unncessary ` after renpy.fetch
2024-03-05 23:58:25 +05:30
Ren'Py Bot d60a00d118 Merge branch 'fix' 2024-03-05 04:30:05 -05:00
Tom Rothamel e0fd979c54 Bump version. 2024-03-05 01:39:20 -05:00
Tom Rothamel 60eaa0877b doc: Fix incorrect caveat. 2024-03-04 22:45:05 -05:00
Ren'Py Bot f3477da262 Merge branch 'fix' 2024-03-04 04:30:05 -05:00
Tom Rothamel bc561be9fe console: Add a warning if a represention is shortened.
Fixes #5388.
2024-03-02 21:15:31 -05:00
Ren'Py Bot c468719abb Merge branch 'fix' 2024-03-02 04:30:05 -05:00
Ren'Py Bot 7868dbd4a7 Merge branch 'fix' 2024-03-01 04:30:05 -05:00
Tom Rothamel e150ef680a Fix bad revert-reversion.
Fixes #5384.
2024-02-27 22:13:42 -05:00
Ren'Py Bot 74d69259e8 Merge branch 'fix' 2024-02-27 04:30:56 -05:00
Tom Rothamel 5bd001c50b Merge pull request #5383 from do10HM/patch-1
Fix typo in code example
2024-02-26 20:41:50 -05:00
do10HM a7ae398908 Fix typo in code example 2024-02-26 17:14:09 -08:00
Tom Rothamel 48c0012f56 Allow the user to filter out translations when navigating by file.
Fixes #3567.
2024-02-25 22:26:43 -05:00
Ren'Py Bot 8f56b41c02 Merge branch 'fix' 2024-02-25 04:30:56 -05:00
Ren'Py Bot 4c756b2238 Merge branch 'fix' 2024-02-24 04:30:56 -05:00
Tom Rothamel 2744a40248 Merge pull request #5380 from ImJustAQ/master
Fix typos n stuff
2024-02-23 20:52:32 -05:00
ImJustAQ 40dd9c4a42 Fix typos 2024-02-23 11:47:49 -03:00
Tom Rothamel f4f18d8da5 Make synchro_start the default.
In response to vn;conf discussion.
2024-02-22 23:26:17 -05:00
Tom Rothamel 44db8893ab Fix use of incorrect class. 2024-02-22 19:51:38 -05:00
Tom Rothamel fa7c68c18e Rep SplineMatrix when it could be useful. 2024-02-21 22:55:02 -05:00
Tom Rothamel 6f741be169 Merge branch 'fix' 2024-02-21 22:37:56 -05:00
Tom Rothamel 4361fff535 Add SplineMatrix.
This is a class that lets the creator use a spline to interpolate
between ColorMatrix-es and TransformMatrix-es.

Fixes #5376.
2024-02-21 22:37:45 -05:00
Ren'Py Bot 1199e7defe Merge branch 'fix' 2024-02-20 04:30:56 -05:00
Tom Rothamel 233fbf4401 Fix bad merge. 2024-02-19 21:13:04 -05:00
Ren'Py Bot 5694fee81b Merge branch 'fix' 2024-02-19 21:12:18 -05:00
Tom Rothamel 107cabeadd Merge branch 'fix' 2024-02-19 19:51:39 -05:00
Tom Rothamel 8b45464802 Handle at transform: with 2 tokens of lookahead. 2024-02-17 23:59:54 -05:00
Tom Rothamel 1601456255 Disallow with from being part of an image name. 2024-02-17 23:23:28 -05:00
Tom Rothamel 72adb7f78d Revert "Revert "Document image name specific keywords.""
This reverts commit c40d1cd68c.
2024-02-17 23:21:31 -05:00
Tom Rothamel 5e4617df86 Revert "Revert "Relax what Ren'Py considers to be a keyword.""
This reverts commit d339e17f39.
2024-02-17 23:21:21 -05:00
Tom Rothamel d339e17f39 Revert "Relax what Ren'Py considers to be a keyword."
This reverts commit e29854e0b4.
2024-02-17 23:20:18 -05:00
Tom Rothamel c40d1cd68c Revert "Document image name specific keywords."
This reverts commit 6a9a0c5d59.
2024-02-17 23:20:18 -05:00
Ren'Py Bot 65ad9fe72b Merge branch 'fix' 2024-02-17 04:30:56 -05:00
Ren'Py Bot 279e4d8789 Merge branch 'fix' 2024-02-16 04:30:56 -05:00
Tom Rothamel 9a6b31eba9 Merge pull request #5362 from qTich/fix/nvl_hide
fix: `nvl_hide` transition
2024-02-15 19:22:15 -05:00
Tichq 88940b7c9d fix: nvl_hide transition 2024-02-16 01:50:04 +03:00
Ren'Py Bot a168314f57 Merge branch 'fix' 2024-02-14 01:46:18 -05:00
Tom Rothamel 322291286a Mark newly created transforms as unique.
In the various layer transform functions. This is a speedup, and also
a somewhat hacky fix - as it means the transform will be used, rather
than copied, and hence the state available to be propagated.

Fixes #5358.
2024-02-14 01:44:21 -05:00
Tom Rothamel 7bf86d6851 When processing at-lists, check for ATL after transforms. 2024-02-14 01:06:17 -05:00
Tom Rothamel f75ddca122 Merge branch 'fix' 2024-02-13 21:53:31 -05:00
Tom Rothamel 55b20e23a5 Merge pull request #5353 from DipeshAggarwal/patch-2
Fix broken link to dialogue-window-management in sphinx/source/transitions.rst
2024-02-13 10:03:21 -05:00
Dipesh Aggarwal 44905b89d3 Update transitions.rst 2024-02-13 18:22:13 +05:30
Dipesh Aggarwal 3cdb662d2b Update transitions.rst 2024-02-13 18:16:50 +05:30
Tom Rothamel 10cc613cc7 Merge branch 'fix' 2024-02-11 22:49:19 -05:00
Tom Rothamel 825b1192d4 Merge pull request #5347 from AbdulGoodLooks/patch-2
Fix typos
2024-02-10 15:27:24 -05:00
Tom Rothamel 45954a6eed Merge pull request #5346 from AbdulGoodLooks/patch-1
Fix typos
2024-02-10 15:27:09 -05:00
Ren'Py Bot 15f833cd88 Merge branch 'fix' 2024-02-10 04:30:56 -05:00
Tom Rothamel e776ed3746 live2d: Automatically adjust config.max_texture_size.
To prevent live2d textures from being loaded small.
2024-02-09 22:15:24 -05:00
Tom Rothamel 20022c7ff6 Rename config.fbo_size to config.max_texture_size, and doc.
Some games want to use very large textures in live2d, so this needs
to be available.
2024-02-09 22:14:41 -05:00
Tom Rothamel ef0b676972 Revert "live2d: Grow the FBO to fit all textures."
This reverts commit 476ef5cd74.
2024-02-09 18:43:00 -05:00
Tom Rothamel 83fd684140 Revert "Ensure that FBO resizing takes place in the main thread."
This reverts commit 2ee6001306.
2024-02-09 18:42:50 -05:00
Tom Rothamel c548e82728 Revert "Fix failure to start."
This reverts commit 9133530f8d.
2024-02-09 18:42:38 -05:00
Abdul 4a936c6199 Fix typos 2024-02-08 23:39:55 +00:00
Abdul 07f5a1193f Fix typos 2024-02-08 23:28:53 +00:00
Tom Rothamel 9133530f8d Fix failure to start. 2024-02-07 23:31:15 -05:00
Tom Rothamel 2ee6001306 Ensure that FBO resizing takes place in the main thread. 2024-02-07 02:37:58 -05:00
Tom Rothamel f5aa3dbd34 live2d: Directly use unoptimized textures.
Unoptimized means that we don't have transparent pixels cropped
out. This is the format live2d expects, and so using it will
ensure that the texture can be used directly avoiding a
render-to-texture.
2024-02-07 02:25:04 -05:00
Tom Rothamel 476ef5cd74 live2d: Grow the FBO to fit all textures.
This ensures that Ren'Py will be able to load all Live2D textures
that the game uses at full resolution, provided the system supports
that.

Fixes #5293.
2024-02-06 22:18:04 -05:00
Ren'Py Bot 29ec8a9bf8 Merge branch 'fix' 2024-02-06 04:30:56 -05:00
Tom Rothamel 4cfc9fbc65 Merge pull request #5339 from renpy/import-urllib
Better urllib import
2024-02-05 09:48:03 -05:00
Gouvernathor b047e69c86 Better urllib import 2024-02-05 11:19:40 +01:00
Tom Rothamel d6a687804e fetch: Allow fetch to take params.
To make it easier to just pass GET parameters to a website, without
having to remember the right way to encode them.
2024-02-04 22:36:45 -05:00
Tom Rothamel ae8af536d8 Make renpy.fetch work in more places.
It now works:

* During the init phase.
* Inside an interaction.
* And as before, outside an interaction.
2024-02-04 22:01:54 -05:00
Tom Rothamel 416e7608da Make the secret progress screen easier on my old eyes. 2024-02-03 23:49:02 -05:00
Ren'Py Bot c1db32003f Merge branch 'fix' 2024-02-03 12:10:00 -05:00
Tom Rothamel 342af0cbdd update: Include the current version when fetching the channels URL.
This will let the server be able to choose to offer a different
set of downloads based on what version of Ren'Py is in use.
2024-02-03 12:06:19 -05:00
Tom Rothamel b5345274b0 py2: Fix syntax error in susbtitutions. 2024-02-02 20:23:47 -05:00
Ren'Py Bot 29c29b24f3 Merge branch 'fix' 2024-02-02 04:30:56 -05:00
Tom Rothamel 8369fe8127 Merge pull request #5331 from renpy/opti-substitute
Fix optimization of string substitution
2024-02-01 19:00:36 -05:00
Gouvernathor 2e0c0667bc Fix optimization of string substitution 2024-02-01 22:52:45 +01:00
Tom Rothamel e310687ad2 Merge pull request #5328 from iivusly/patch-1
Update chromeos.rst spelling mistakes
2024-02-01 13:18:09 -05:00
iivusly e2f028fe7a Update chromeos.rst spelling mistakes 2024-02-01 09:16:59 -08:00
Tom Rothamel 9619ae80bc Merge branch 'fix' 2024-02-01 00:24:03 -05:00
Tom Rothamel f3f69614c1 distribute: Write update.ecdsa in binary mode.
This fixes a problem on Windows where the file was being signed
in binary mode, but written in text mode, preventing the update
from proceeding.
2024-01-31 22:16:13 -05:00
Gouvernathor 69108223cb Merge branch 'master' into at-partial 2024-01-31 18:39:17 +01:00
Gouvernathor 406693c920 Update incompat for new version (and add link) 2024-01-31 18:10:21 +01:00
Tom Rothamel 2bed8513f7 Allow input to take an action.
This makes it easier to call a function on enter, without needing
to write a custome Input value.

Fixes #4936.
2024-01-30 21:22:27 -05:00
Tom Rothamel 40ff25241f Merge branch 'fix' 2024-01-29 23:59:20 -05:00
Ren'Py Bot c5a143cce4 Merge branch 'fix' 2024-01-29 00:29:27 -05:00
Alexandre Detiste 9f9a9106c7 typo (#5317)
Co-authored-by: a-detiste
2024-01-28 22:55:39 +01:00
Gouvernathor 0bad2e675c Partially redo 8d5b1b5 and remove dualangle_or_float_or_none
None as an anchorangle wasn't supported (it fails at the setter phase in an expectable way).
The use in atl.py was simplified before, then undone for reasons of git revert only.
2024-01-28 22:54:35 +01:00
Ren'Py Bot 7228e76a01 Merge branch 'fix' 2024-01-28 04:30:06 -05:00
Lent1 cd5ee3ec6f Allow specifying a package when building android from cli 2024-01-18 10:41:47 +01:00
Lent1 98118b0d97 Allow clearing config.log at startup 2024-01-15 10:58:17 +01:00
Gouvernathor 0378e32950 py3 todo 2024-01-14 19:21:15 +01:00
Gouvernathor 83199bb4b1 Internal doc and spurious import 2024-01-14 13:46:28 +01:00
Gouvernathor 13728673a1 doc: incompat 2024-01-14 13:23:17 +01:00
Gouvernathor b1ffb3faec Merge branch 'master' into at-partial 2024-01-13 21:55:23 +01:00
Gouvernathor 631618d4d8 Merge branch 'master' into at-partial 2024-01-02 10:48:31 +01:00
Gouvernathor 77c3f22aca Refix
otherwise each pass almost-systematically nullifies the preceding ones
2023-12-10 19:43:18 +01:00
Gouvernathor 313d924611 Fix 2023-12-10 13:06:19 +01:00
Asriel Senna a2c2d2e4e3 Future and alternates 2023-12-10 12:59:13 +01:00
Asriel Senna e64a56a00f First trial
The name is quater, Gamma-quater
The commented lines only waste execution time until all kinds of parameters are allowed, but they are intended to be included when all parameters are.
2023-12-10 07:52:03 +01:00
Asriel Senna c9a2699c2c Better error message 2023-12-10 04:32:54 +01:00
Asriel Senna 8d9be62187 Add evaluated parameters 2023-12-10 04:29:25 +01:00
Asriel Senna f33a47d4be Free repr 2023-12-10 04:26:21 +01:00
Asriel Senna 6310d34dd8 Enable scoped evaluation for apply_defaults 2023-12-09 18:19:17 +01:00
Asriel Senna adfe76b6fb Make apply_defaults optional in apply 2023-12-09 18:18:52 +01:00
Denys 1a182d529c Update error.rpy 2023-09-22 14:58:43 +01:00
492 changed files with 37133 additions and 13483 deletions
+1
View File
@@ -133,3 +133,4 @@ CubismSdkForNative-4-*.zip
/c
/cg
/.vscode/launch.json
/.vscode/tasks.json
+35
View File
@@ -36,7 +36,10 @@
"renpy*.app": true,
"renpy*.exe": true,
"tmp": true,
"vscode": true,
"web": true,
"web2": true,
"web3": true,
"**/*.rpa": true,
"**/*.rpymc": true,
"**/cache/": true
@@ -57,6 +60,26 @@
"renpy.warnOnInvalidFilenameIssues": "Disabled",
"renpy.warnOnIndentationAndSpacingIssues": "Disabled",
"editor.tokenColorCustomizations": {
"[*Light*]": {
"textMateRules": [
{
"scope": "ref.matchtext",
"settings": {
"foreground": "#000"
}
}
]
},
"[*Dark*]": {
"textMateRules": [
{
"scope": "ref.matchtext",
"settings": {
"foreground": "#fff"
}
}
]
},
"textMateRules": [
{
"scope": "renpy.meta.plain",
@@ -163,6 +186,12 @@
"foreground": "#ffffff"
}
},
{
"scope": "renpy.meta.color.#f00",
"settings": {
"foreground": "#f00"
}
},
{
"scope": "text.notes.info",
"settings": {
@@ -208,6 +237,12 @@
"settings": {
"foreground": "#cfc"
}
},
{
"scope": "renpy.meta.color.#c00",
"settings": {
"foreground": "#c00"
}
}
]
},
+12
View File
@@ -0,0 +1,12 @@
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "run.sh --build",
"type": "shell",
"command": "/home/tom/ab/renpy/run.sh --build",
}
]
}
+9 -1
View File
@@ -53,4 +53,12 @@ The quality is not perfect, but it should make sense to any developer
fluent in Finnish but not English. Adjustments will be made if better
translations are suggested.
* Lari Liuhamo (Diapolo10) <lari.liuhamo+github116504@gmail.com>
* Lari Liuhamo (Diapolo10) <lari.liuhamo+github116504@gmail.com>
Ukrainian
---------
Translation to Ukrainian language. Most of translations provided by Veydzher.
Feel free to report me any mistakes, fixes or improvements.
* Veydzher <veydzherdgswift008@gmail.com>
+7 -2
View File
@@ -8,13 +8,15 @@ import sys
from renpy import version_tuple # @UnresolvedImport
branch = os.popen("git branch --show-current").read().strip()
SOURCE = [
"/home/tom/ab/renpy",
"/home/tom/ab/renpy-build",
"/home/tom/ab/renpy-build-" + branch,
"/home/tom/ab/pygame_sdl2",
"/home/tom/ab/renpy-build/renpyweb",
]
from renpy.versions import generate_vc_version
version = generate_vc_version()["version"]
@@ -22,6 +24,9 @@ short_version = version.rpartition(".")[0]
major = version.partition(".")[0]
print("Version", version)
if major == '7':
SOURCE.append("/home/tom/ab/renpy-build-fix/renpyweb")
ap = argparse.ArgumentParser()
ap.add_argument("--release", action="store_true")
+1 -1
View File
@@ -252,7 +252,7 @@ def main():
"-q",
"egg_info",
"--tag-build",
"+renpy" + args.version,
"+renpy" + args.version.replace("+", "-"),
"sdist",
"-d",
os.path.abspath(destination)
+1 -1
View File
@@ -328,7 +328,7 @@ define gui.vbar_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.
define gui.vscrollbar_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
define gui.vslider_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
## What to do with unscrollable scrollbars in the gui. "hide" hides them, while
## What to do with unscrollable scrollbars in the game menu. "hide" hides them, while
## None shows them.
define gui.unscrollable = "hide"
+2 -1
View File
@@ -96,7 +96,6 @@ style frame:
## https://www.renpy.org/doc/html/screen_special.html#say
screen say(who, what):
style_prefix "say"
window:
id "window"
@@ -662,6 +661,7 @@ screen file_slots(title):
spacing gui.page_spacing
textbutton _("<") action FilePagePrevious()
key "save_page_prev" action FilePagePrevious()
if config.has_autosave:
textbutton _("{#auto_page}A") action FilePage("auto")
@@ -674,6 +674,7 @@ screen file_slots(title):
textbutton "[page]" action FilePage(page)
textbutton _(">") action FilePageNext()
key "save_page_next" action FilePageNext()
if config.has_sync:
if CurrentScreenName() == "save":
+8 -4
View File
@@ -8,14 +8,14 @@ class Editor(renpy.editor.Editor):
has_projects = True
system = __file__.endswith(" (System).edit.py")
def get_code(self):
"""
Returns the path to the code executable.
"""
system = __file__.endswith(" (System).edit.py")
if system:
if self.system:
if "RENPY_VSCODE" in os.environ:
return os.environ["RENPY_VSCODE"]
@@ -65,7 +65,11 @@ class Editor(renpy.editor.Editor):
self.args.reverse()
code = self.get_code()
args = [ code, "-g" ] + self.args
if self.system or not renpy.linux:
args = [ code, "-g" ] + self.args
else:
args = [ code, "--no-sandbox", "-g" ] + self.args
args = [ renpy.exports.fsencode(i) for i in args ]
if renpy.windows:
+8 -4
View File
@@ -8,14 +8,14 @@ class Editor(renpy.editor.Editor):
has_projects = True
system = __file__.endswith(" (System).edit.py")
def get_code(self):
"""
Returns the path to the code executable.
"""
system = __file__.endswith(" (System).edit.py")
if system:
if self.system:
if "RENPY_VSCODE" in os.environ:
return os.environ["RENPY_VSCODE"]
@@ -65,7 +65,11 @@ class Editor(renpy.editor.Editor):
self.args.reverse()
code = self.get_code()
args = [ code, "-g" ] + self.args
if self.system or not renpy.linux:
args = [ code, "-g" ] + self.args
else:
args = [ code, "--no-sandbox", "-g" ] + self.args
args = [ renpy.exports.fsencode(i) for i in args ]
if renpy.windows:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
+13 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -198,7 +198,7 @@ init python:
c.save(p.path)
def android_build(p=None, gui=True, bundle=False, install=False, launch=False, destination=None, opendir=False):
def android_build(p=None, gui=True, bundle=False, install=False, launch=False, destination=None, opendir=False, packages=None):
"""
This actually builds the package.
"""
@@ -220,9 +220,12 @@ init python:
reporter = distribute.TextReporter()
rapt_interface = rapt.interface.Interface()
if not packages:
packages = ['android']
distribute.Distributor(p,
reporter=reporter,
packages=[ 'android' ],
packages=packages,
build_update=False,
noarchive=True,
packagedest=dist,
@@ -711,6 +714,7 @@ init python:
ap.add_argument("--install", action="store_true", help="Installs the app on a device.")
ap.add_argument("--launch", action="store_true", help="Launches the app after build and install complete. Implies --install.")
ap.add_argument("--destination", "--dest", default=None, action="store", help="The directory where the packaged files should be placed.")
ap.add_argument("--package", action="append", help="If given, a package to build. Defaults to building the 'android' package.")
args = ap.parse_args()
@@ -719,7 +723,12 @@ init python:
p = project.Project(args.android_project)
android_build(p=p, gui=False, bundle=args.bundle, install=args.install, launch=args.launch, destination=args.destination)
if args.package:
packages = args.package
else:
packages = None
android_build(p=p, gui=False, bundle=args.bundle, install=args.install, launch=args.launch, destination=args.destination, packages=packages)
return False
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
+30 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -63,6 +63,7 @@ init python in distribute:
# * Going from 7.4 to 7.5 or 8.0, the library directory changed.
# * 7.7 called os.makedirs with exist_ok=True, even on Python 2.
# * 8.2 wouldn't save the DLC state.
RENPY_PATCH = py("""\
def change_renpy_executable():
import sys, os, renpy, site
@@ -82,6 +83,24 @@ if sys.version_info.major == 2:
os.old_makedirs(name, mode)
os.makedirs = makedirs
def fix_dlc(name, fn):
import sys, os
if not os.path.exists(os.path.join(config.renpy_base, fn)):
return
u = sys._getframe(2).f_locals["self"]
if name in u.current_state:
return
u.add_dlc_state(name)
fix_dlc("steam", "lib/py3-linux-x86_64/libsteam_api.so")
fix_dlc("steam", "lib/py2-linux-x86_64/libsteam_api.so")
fix_dlc("web", "web")
fix_dlc("rapt", "rapt")
fix_dlc("renios", "renios")
""")
match_cache = { }
@@ -1081,12 +1100,14 @@ if sys.version_info.major == 2:
prefix = py("lib/py{major}-")
if os.path.exists(linux_i686):
i686fn = os.path.join(config.renpy_base, prefix + "linux-i686/renpy")
if os.path.exists(i686fn):
self.add_file(
linux_i686,
prefix + "linux-i686/" + self.executable_name,
os.path.join(config.renpy_base, prefix + "linux-i686/renpy"),
i686fn,
True)
self.add_file(
@@ -1512,7 +1533,8 @@ if sys.version_info.major == 2:
update = { variant : { "version" : self.update_versions[variant], "base_name" : self.base_name, "files" : update_files, "directories" : update_directories, "xbit" : update_xbit } }
update_fn = os.path.join(self.destination, filename + ".update.json")
update_fn = self.temp_filename(filename + ".update.json")
if self.include_update and not format.startswith("app-"):
@@ -1546,9 +1568,11 @@ if sys.version_info.major == 2:
in this thread or a background thread.
"""
if self.include_update and not self.build_update and not dlc:
final_update_fn = os.path.join(self.destination, filename + ".update.json")
if self.build_update or dlc:
if os.path.exists(update_fn):
os.unlink(update_fn)
shutil.copy(update_fn, final_update_fn)
if not directory:
file_hash = hash_file(path)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
+8 -26
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -21,27 +21,13 @@
init python:
import requests
import urllib.request
import os
import threading
import time
ssl_context_cache = None
def ssl_context():
"""
Returns the SSL context.
"""
global ssl_context_cache
if ssl_context_cache is None:
import ssl
import certifi
ssl_context_cache = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile=certifi.where())
return ssl_context_cache
class Downloader(object):
def __init__(self, url, dest):
@@ -73,7 +59,7 @@ init python:
try:
# Open the URL.
self.urlfile = urllib.request.urlopen(url, context=ssl_context())
self.urlfile = requests.get(url, stream=True, proxies=renpy.proxies, timeout=15)
t = threading.Thread(target=self.thread)
t.daemon = True
@@ -92,12 +78,7 @@ init python:
else:
length = 0
while not self.cancelled:
data = self.urlfile.read(65536)
if not data:
break
for data in self.urlfile.iter_content(1024 * 1024):
count += len(data)
self.tmpfile.write(data)
@@ -105,6 +86,9 @@ init python:
if length > 0:
self.progress = 1.0 * count / length
if self.cancelled:
break
self.tmpfile.close()
if self.cancelled:
@@ -122,7 +106,6 @@ init python:
except Exception as e:
self.failure = str(e)
def safe_unlink(self, fn):
if os.path.exists(fn):
os.unlink(fn)
@@ -164,4 +147,3 @@ init python:
def periodic(self, st):
self.adjustment.change(self.downloader.progress)
return .25
+75 -18
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -138,6 +138,26 @@ init 1 python in editor:
# If the editor is considered deprecated for use with Ren'Py.
self.deprecated = deprecated
def vscode_path():
"""
Gets the path to VS Code for this platform.
"""
if renpy.windows:
return os.path.join(config.renpy_base, "vscode/VSCode-win32-x64")
elif renpy.macintosh:
return os.path.join(config.renpy_base, "vscode/Visual Studio Code.app")
else:
if renpy.arch == "aarch64":
arch = "arm64"
elif renpy.arch == "armv7l":
arch = "arm"
else:
arch = "x64"
return os.path.join(config.renpy_base, "vscode/VSCode-linux-" + arch)
def fancy_scan_editors():
"""
Creates the list of FancyEditorInfo objects.
@@ -155,19 +175,7 @@ init 1 python in editor:
AD1 = _("A modern editor with many extensions including advanced Ren'Py integration.")
AD2 = _("A modern editor with many extensions including advanced Ren'Py integration.\n{a=jump:reinstall_vscode}Upgrade Visual Studio Code to the latest version.{/a}")
if renpy.windows:
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/VSCode-win32-x64"))
elif renpy.macintosh:
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/Visual Studio Code.app"))
else:
if renpy.arch == "aarch64":
arch = "arm64"
elif renpy.arch == "armv7l":
arch = "arm"
else:
arch = "x64"
installed = os.path.exists(os.path.join(config.renpy_base, "vscode/VSCode-linux-" + arch))
installed = os.path.exists(vscode_path())
e = FancyEditorInfo(
0,
@@ -237,9 +245,6 @@ init 1 python in editor:
_("Invokes the editor your operating system has associated with .rpy files."),
None))
for k in editors:
if k in [ "Visual Studio Code", "Visual Studio Code (System)", "Atom", "jEdit", "System Editor", "None" ]:
continue
@@ -528,6 +533,27 @@ init 1 python in editor:
return False
def check_old_vscode_extension():
"""
Check to see if the old version of the Ren'Py vscode extension is installed.
"""
extensions = os.path.join(vscode_path(), "data", "extensions")
if not os.path.isdir(extensions):
return False
for i in util.listdir(extensions):
if i.lower().startswith("renpy.language-renpy-"):
return False
for i in util.listdir(extensions):
if i.lower().startswith("luquedaniel.languague-renpy-"):
return True
return False
screen editor:
frame:
@@ -590,6 +616,13 @@ label reinstall_vscode:
jump editor_preference
label upgrade_vscode_extension:
python hide:
manifest = "vscode"
renpy.invoke_in_new_context(installer.manifest, "https://www.renpy.org/extensions/vscode/upgrade_extension.py", renpy=True)
jump post_extension_check
label editor_preference:
call screen editor
jump preferences
@@ -612,7 +645,7 @@ label editor_check:
], "select")
else:
jump post_editor_check
jump post_atom_check
if result == "select":
$ renpy.pop_call()
@@ -621,4 +654,28 @@ label editor_check:
elif result == "block":
$ persistent.ignore_obsolete_editor.add(persistent.editor)
label post_atom_check:
if "luquedaniel.languague-renpy" in persistent.ignore_obsolete_editor:
jump post_extension_check
if persistent.editor != "Visual Studio Code":
jump post_extension_check
if editor.check_old_vscode_extension():
$ result = interface.choice(
_("You are using an old version of the Ren'Py Language support for Visual Studio Code. Would you like to upgrade?"), [
( "upgrade", _("Upgrade.")),
( "ignore", _("Ignore until next launch.")),
( "block", _("Do not ask again.")),
], "select")
if result == "upgrade":
jump upgrade_vscode_extension
elif result == "block":
$ persistent.ignore_obsolete_editor.add("luquedaniel.languague-renpy")
label post_extension_check:
jump post_editor_check
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -216,7 +216,7 @@ screen front_page_project:
textbutton _("Android") action Jump("android")
textbutton _("iOS") action Jump("ios")
textbutton _("Web") + " " + _("(Beta)") action Jump("web")
textbutton _("Web") action Jump("web")
textbutton _("Generate Translations") action Jump("translate")
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -172,7 +172,7 @@ class CodeGenerator(object):
for l in self.lines:
m = re.match('^(\s*)define (.*?) =', l)
m = re.match(r'^(\s*)define (.*?) =', l)
if m:
indent = m.group(1)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
Binary file not shown.

After

Width:  |  Height:  |  Size: 160 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -183,7 +183,7 @@ screen install_live2d():
style "l_indent"
has vbox
text _("The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc.")
text _("The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc.")
add SPACER
+7 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -169,7 +169,7 @@ def _check_hash(filename, hashj):
download_file = ""
download_url = ""
def download(url, filename, hash=None):
def download(url, filename, hash=None, headers=None, requests_kwargs={}):
"""
Downloads `url` to `filename`, a tempfile.
"""
@@ -188,9 +188,13 @@ def download(url, filename, hash=None):
progress_time = time.time()
all_headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36 renpy/8'}
if headers:
all_headers.update(headers)
try:
response = requests.get(url, stream=True)
response = requests.get(url, stream=True, proxies=renpy.exports.proxies, timeout=15, headers=all_headers, **requests_kwargs)
response.raise_for_status()
total_size = int(response.headers.get('content-length', 1))
+11 -4
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -33,6 +33,10 @@ init python in interface:
DOC_URL = "http://www.renpy.org/doc/html/"
DOC_LOCAL_URL = "file:///" + DOC_PATH
# If true, the launcher should not link back to renpy.org.
NO_LAUNCHER_LINKS = os.path.exists(os.path.join(config.renpy_base, "no_launcher_links.txt"))
local_doc_exists = os.path.exists(DOC_PATH)
def get_doc_url(page):
@@ -40,7 +44,7 @@ init python in interface:
Returns the URL to the documentation page.
"""
if local_doc_exists and not persistent.use_web_doc:
if local_doc_exists and (NO_LAUNCHER_LINKS or not persistent.use_web_doc):
from urllib.parse import urljoin
from urllib.request import pathname2url
@@ -117,7 +121,10 @@ screen bottom_info:
hbox:
spacing INDENT
textbutton _("Documentation") style "l_link" action interface.OpenDocumentation()
textbutton _("Ren'Py Website") style "l_link" action OpenURL(interface.RENPY_URL)
if not interface.NO_LAUNCHER_LINKS:
textbutton _("Ren'Py Website") style "l_link" action OpenURL(interface.RENPY_URL)
textbutton _("[interface.version]") style "l_link" action Jump("about")
hbox:
@@ -133,7 +140,7 @@ screen bottom_info:
textbutton _("preferences") style "l_link" action Jump("preferences")
textbutton _("quit") style "l_link" action Quit(confirm=False)
if persistent.sponsor_message:
if persistent.sponsor_message and not interface.NO_LAUNCHER_LINKS:
textbutton _("Ren'Py Sponsor Information"):
style "l_link"
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -50,9 +50,9 @@ init python:
pass
with interface.error_handling(_("Downloading the itch.io butler.")):
url = "https://broth.itch.ovh/butler/{}/LATEST/archive/default".format(platform)
url = "https://broth.itch.zone/butler/{}/LATEST/archive/default".format(platform)
response = requests.get(url, headers={'User-Agent' : "Renpy"})
response = requests.get(url, headers={'User-Agent' : "Renpy"}, proxies=renpy.proxies)
with open(zip, "wb") as f:
f.write(response.content)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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 -1 python:
if not renpy.loadable(fn1):
return True
hash1 = renpy.file(fn1).read().decode("utf-8")
hash1 = renpy.open_file(fn1, encoding="utf-8").read()
if not os.path.exists(fn2):
return False
+14 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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,6 +19,9 @@
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
# Should translation files be shown in the launcher file navigation?
default persistent.show_translation_files = True
init python in navigation:
import store.interface as interface
import store.project as project
@@ -110,6 +113,9 @@ init python in navigation:
if shortfn.startswith("game/"):
shortfn = fn[5:]
if shortfn.startswith("tl/") and not persistent.show_translation_files:
continue
rv.append((shortfn, fn, None))
rv.sort()
@@ -155,6 +161,8 @@ init python in navigation:
screen navigation:
$ todo_count = len(project.current.dump.get("location", {}).get("todo", []))
frame:
style_group "l"
style "l_root"
@@ -201,7 +209,7 @@ screen navigation:
textbutton _("transforms") action navigation.ChangeKind("transform")
textbutton _("screens") action navigation.ChangeKind("screen")
textbutton _("callables") action navigation.ChangeKind("callable")
textbutton _("TODOs") action navigation.ChangeKind("todo")
textbutton (__("TODOs") + " (" + str(todo_count) + ")") action navigation.ChangeKind("todo")
add SPACER
add SEPARATOR
@@ -218,6 +226,10 @@ screen navigation:
vbox:
style_group "l_navigation"
if persistent.navigation == "file":
textbutton _("Show translation files") style "l_checkbox" action [ ToggleField(persistent, "show_translation_files"), Jump("navigation_loop") ]
add SPACER
for group_name, group in groups:
if group_name is not None:
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -184,9 +184,17 @@ init -1 python hide:
#####################
# More customizations can go here.
config.sound = False
config.has_sound = False
config.has_music = False
config.has_voice = False
config.force_sound = False
config.quit_action = Quit(confirm=False)
config.window_icon = "images/logo.png"
if renpy.macintosh:
config.window_icon = "images/window-icon-mac.png"
else:
config.window_icon = "images/window-icon.png"
config.has_autosave = False
config.log_enable = False
config.mouse_hide_time = None
@@ -293,6 +301,8 @@ init python:
build.classify_renpy("**.new", None)
build.classify_renpy("**.bak", None)
build.classify_renpy("**.keystore", None)
build.classify_renpy("**/log.txt", None)
build.classify_renpy("**/traceback.txt", None)
build.classify_renpy("**/errors.txt", None)
@@ -400,9 +410,15 @@ init python:
build.classify_renpy("module/libhydrogen/**", "source")
# all-platforms binary.
build.classify_renpy("lib/**/libpython{}.{}.dll".format(sys.version_info.major, sys.version_info.minor), "binary")
build.classify_renpy("lib/**/libpython*.dll", None)
build.classify_renpy("lib/**/*steam_api*", "steam")
build.classify_renpy("lib/**/*Live2D*", None)
libpython = "lib/python{}.{}".format(sys.version_info.major, sys.version_info.minor)
if PY2:
build.classify_renpy("lib/py2-linux-armv7l/**", "linux_arm")
build.classify_renpy("lib/py2-linux-aarch64/**", "linux_arm")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
+74 -125
View File
@@ -163,43 +163,43 @@ translate german strings:
# 00gui.rpy:227
old "Are you sure?"
new "Sind Sie sicher?"
new "Bist Du sicher?"
# 00gui.rpy:228
old "Are you sure you want to delete this save?"
new "Sind Sie sicher, dass Sie diese Datei löschen möchten?"
new "Bist Du sicher, dass Du diese Datei löschen möchtest?"
# 00gui.rpy:229
old "Are you sure you want to overwrite your save?"
new "Sind Sie sicher, dass Sie diese Datei überschreiben möchten?"
new "Bist Du sicher, dass Du diese Datei überschreiben möchtest?"
# 00gui.rpy:230
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Beim Laden geht ungespeicherter Fortschritt verloren.\nSind Sie sicher, dass Sie das tun möchten?"
new "Beim Laden geht ungespeicherter Fortschritt verloren.\nBist Du sicher, dass Du das tun möchtest?"
# 00gui.rpy:231
old "Are you sure you want to quit?"
new "Sind Sie sicher, dass Sie beenden möchten?"
new "Bist Du sicher, dass Du das Spiel beenden möchtest?"
# 00gui.rpy:232
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Sind Sie sicher, dass Sie zurück zum Hauptmenü möchten?\nUngespeicherter Fortschritt geht dabei verloren."
new "Bist Du sicher, dass Du zurück zum Hauptmenü möchtest?\nUngespeicherter Fortschritt geht dabei verloren."
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Sind Sie sicher, dass sie die Szenen-Wiederholung beenden möchten?"
new "Bist Du sicher, dass Du die Szenen-Wiederholung beenden möchtest?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
new "Sind Sie sicher, dass Sie Text überspringen möchten?"
new "Bist Du sicher, dass Du vorspulen möchtest?"
# 00gui.rpy:235
old "Are you sure you want to skip to the next choice?"
new "Sind Sie sicher, dass Sie zur nächsten Auswahl springen möchten?"
new "Bist Du sicher, dass Du zur nächsten Entscheidung springen möchtest?"
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Sind Sie sicher, dass sie ungesehenen Dialog bis zur nächsten Entscheidung überspringen möchten?"
new "Bist Du sicher, dass Du ungesehenen Dialog bis zur nächsten Entscheidung überspringen möchtest?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -220,7 +220,7 @@ translate german strings:
# 00library.rpy:179
old "Skip Mode"
new "Skip-Modus"
new "Vorspul-Modus"
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
@@ -229,19 +229,19 @@ translate german strings:
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
# Automatic translation.
new "Zwischenablage-Voicing aktiviert. Drücken Sie 'Umschalt+C' zum Deaktivieren."
new "Zwischenablage-Voicing aktiviert. Drücke 'Shift+C' zum Deaktivieren."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Sprachausgabe würde \"[renpy.display.tts.last]\" sagen. Zum deaktivieren 'alt+shift+V' drücken."
new "Sprachausgabe würde \"[renpy.display.tts.last]\" sagen. Drücke 'Alt+Shift+V' zum Deaktivieren."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Sprachausgabe aktiviert. Zum deaktivieren 'v' drücken."
new "Sprachausgabe aktiviert. Drücke 'V' zum Deaktivieren."
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Kontaktiert App Store\nBitte warten..."
new "Kontaktiere App Store\nBitte warten..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -249,7 +249,7 @@ translate german strings:
# 00updater.rpy:486
old "An error is being simulated."
new "Ein Error wird simuliert."
new "Ein Fehler wird simuliert."
# 00updater.rpy:662
old "Either this project does not support updating, or the update status file was deleted."
@@ -278,7 +278,7 @@ translate german strings:
# 00updater.rpy:1049
old "While unpacking {}, unknown type {}."
# Automatic translation.
new "Beim Auspacken {}, unbekannter Typ {}."
new "Beim Entpacken {}, unbekannter Typ {}."
# 00updater.rpy:1393
old "Updater"
@@ -290,7 +290,7 @@ translate german strings:
# 00updater.rpy:1406
old "[u.version] is available. Do you want to install it?"
new "[u.version] ist verfügbar. Möchten Sie sie installieren?"
new "[u.version] ist verfügbar. Möchtest Du es installieren?"
# 00updater.rpy:1408
old "Preparing to download the updates."
@@ -351,13 +351,11 @@ translate german strings:
# renpy/common/00accessibility.rpy:34
old "viewport"
# Automatic translation.
new "Ansichtsfenster"
new "Viewport"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "Horizontales Blättern"
new "horizontaler Bildlauf"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
@@ -366,8 +364,7 @@ translate german strings:
# renpy/common/00accessibility.rpy:37
old "activate"
# Automatic translation.
new "aktivieren."
new "aktivieren"
# renpy/common/00accessibility.rpy:38
old "deactivate"
@@ -376,8 +373,7 @@ translate german strings:
# renpy/common/00accessibility.rpy:39
old "increase"
# Automatic translation.
new "erhöhen."
new "erhöhen"
# renpy/common/00accessibility.rpy:40
old "decrease"
@@ -419,13 +415,11 @@ translate german strings:
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Hochkontrastiger Text"
new "Kontrastreicher Text"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
# Automatic translation.
new "Selbstanzeige"
new "Sprachausgabe"
# renpy/common/00accessibility.rpy:197
old "Off"
@@ -434,8 +428,7 @@ translate german strings:
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
# Automatic translation.
new "Text-in-Sprache"
new "Text-zu-Sprache"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
@@ -449,53 +442,43 @@ translate german strings:
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
# Automatic translation.
new "Selbstlautstärkeabfall"
new "Lautstärkeabfall Sprachausgabe"
# renpy/common/00accessibility.rpy:234
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
# Automatic translation.
new "Die Optionen in diesem Menü dienen der Verbesserung der Zugänglichkeit. Sie funktionieren möglicherweise nicht mit allen Spielen, und einige Kombinationen von Optionen können das Spiel unspielbar machen. Dies ist kein Problem mit dem Spiel oder der Engine. Die besten Ergebnisse beim Ändern von Schriftarten erzielen Sie, wenn Sie die ursprüngliche Textgröße beibehalten."
new "Die Optionen in diesem Menü dienen der Verbesserung der Zugänglichkeit. Sie funktionieren möglicherweise nicht mit allen Spielen, und einige Kombinationen von Optionen können das Spiel unspielbar machen. Dies ist kein Problem mit dem Spiel oder der Engine. Die besten Ergebnisse beim Ändern von Schriftarten erzielst Du, wenn Du die ursprüngliche Textgröße beibehältst."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
# Automatic translation.
new "Steckplatz %s speichern: [text]"
new "Speicherplatz %s speichern: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
# Automatic translation.
new "Steckplatz %s laden: [text]"
new "Speicherplatz %s laden: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
# Automatic translation.
new "Steckplatz löschen [text]"
new "Speicherplatz löschen [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
# Automatic translation.
new "Datei Seite auto"
new "Spielstände: Seite auto-speichern"
# renpy/common/00action_file.rpy:595
old "File page quick"
# Automatic translation.
new "Datei Seite schnell"
new "Spielstände: Seite schnell-speichern"
# renpy/common/00action_file.rpy:597
old "File page [text]"
# Automatic translation.
new "Datei-Seite [text]"
new "Spielstände: Seite [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
# Automatic translation.
new "Nächste Dateiseite."
new "Nächste Seite."
# renpy/common/00action_file.rpy:868
old "Previous file page."
# Automatic translation.
new "Vorherige Dateiseite."
new "Vorherige Seite."
# renpy/common/00action_file.rpy:944
old "Quick save."
@@ -527,35 +510,30 @@ translate german strings:
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Erledigt"
new "Fertig"
# renpy/common/00director.rpy:1584
old "(statement)"
# Automatic translation.
new "(Erklärung)"
new "(Statement)"
# renpy/common/00director.rpy:1585
old "(tag)"
# Automatic translation.
new "(Tag)"
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(Attribute)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(transform)"
new "(Transform)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transition)"
new "(Transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(Kanal)"
# renpy/common/00director.rpy:1625
@@ -565,23 +543,19 @@ translate german strings:
# renpy/common/00director.rpy:1654
old "Change"
# Automatic translation.
new "Ändern Sie"
new "Ändern"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "hinzufügen"
new "Hinzufügen"
# renpy/common/00director.rpy:1662
old "Remove"
# Automatic translation.
new "entfernen"
new "Entfernen"
# renpy/common/00director.rpy:1697
old "Statement:"
# Automatic translation.
new "Erklärung:"
new "Statement:"
# renpy/common/00director.rpy:1718
old "Tag:"
@@ -594,18 +568,15 @@ translate german strings:
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
# Automatic translation.
new "Klicken Sie auf das Attribut, um es einzuschalten, klicken Sie mit der rechten Maustaste, um das negative Attribut einzuschalten."
new "Klicke auf das Attribut, um es umzuschalten; klicke mit der rechten Maustaste, um das negative Attribut umzuschalten."
# renpy/common/00director.rpy:1757
old "Transforms:"
# Automatic translation.
new "Verwandeln:"
new "Transforms:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
# Automatic translation.
new "Klicken Sie, um die Transformation festzulegen, und klicken Sie mit der rechten Maustaste, um sie zur Transformationsliste hinzuzufügen."
new "Klicke, um das Transform festzulegen; klicke mit der rechten Maustaste, um es zur Liste hinzuzufügen."
# renpy/common/00director.rpy:1780
old "Behind:"
@@ -619,8 +590,7 @@ translate german strings:
# renpy/common/00director.rpy:1801
old "Transition:"
# Automatic translation.
new "Überleitung:"
new "Transition:"
# renpy/common/00director.rpy:1819
old "Channel:"
@@ -634,13 +604,12 @@ translate german strings:
# renpy/common/00gui.rpy:456
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
# Automatic translation.
new "Dieser Spielstand wurde auf einem anderen Gerät erstellt. Böswillig erstellte Speicherdateien können Ihrem Computer schaden. Vertrauen Sie dem Ersteller dieses Spielstands und allen, die die Datei geändert haben könnten?"
new "Dieser Spielstand wurde auf einem anderen Gerät erstellt. Böswillig erstellte Speicherstände können Deinem Computer schaden. Vertraust Du dem Ersteller dieses Spielstands und allen, die die Datei geändert haben könnten?"
# renpy/common/00gui.rpy:457
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
# Automatic translation.
new "Vertrauen Sie dem Gerät, auf dem die Sicherung erstellt wurde? Sie sollten nur dann Ja wählen, wenn Sie der einzige Benutzer des Geräts sind."
new "Vertraust Du dem Gerät, auf dem die Sicherung erstellt wurde? Du solltest nur dann Ja wählen, wenn Du der einzige Benutzer des Geräts bist."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
@@ -654,12 +623,10 @@ translate german strings:
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "Übergänge"
# renpy/common/00preferences.rpy:292
old "skip transitions"
# Automatic translation.
new "Übergänge überspringen"
# renpy/common/00preferences.rpy:294
@@ -700,32 +667,29 @@ translate german strings:
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "ungesehenen Text übergehen"
new "ungesehenen Text überspringen"
# renpy/common/00preferences.rpy:337
old "begin skipping"
# Automatic translation.
new "mit dem Springen beginnen"
new "mit dem Vorspulen beginnen"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "nach der Wahl"
new "nach Entscheidungen"
# renpy/common/00preferences.rpy:348
old "skip after choices"
# Automatic translation.
new "nach Auswahlen überspringen"
new "Vorspulen nach Entscheidungen"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "automatische Vorlaufzeit"
new "Zeit des automatischen Blätterns"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "automatisches Weiterleiten"
new "automatisches Blättern"
# renpy/common/00preferences.rpy:371
old "Auto forward"
@@ -754,23 +718,19 @@ translate german strings:
# renpy/common/00preferences.rpy:410
old "self voicing"
# Automatic translation.
new "selbststimmend"
new "Sprachausgabe"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
# Automatic translation.
new "Selbststimmende Lautstärkeabnahme"
new "Lautstärkeabnahme der Sprachausgabe"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
# Automatic translation.
new "Clipboard-Intonation"
new "Sprachausgabe zur Zwischenablage"
# renpy/common/00preferences.rpy:436
old "debug voicing"
# Automatic translation.
new "Intonation debuggen"
new "Sprachausgabe debuggen"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
@@ -789,7 +749,7 @@ translate german strings:
# renpy/common/00preferences.rpy:470
old "gl framerate"
# Automatic translation.
new "Gl-Framerate"
new "gl-Framerate"
# renpy/common/00preferences.rpy:473
old "gl tearing"
@@ -797,8 +757,7 @@ translate german strings:
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "Schriftart umwandeln"
new "Schriftart Transform"
# renpy/common/00preferences.rpy:479
old "font size"
@@ -822,13 +781,11 @@ translate german strings:
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "Menü Barrierefreiheit"
new "Barrierefreiheit-Menü"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "Text mit hohem Kontrast"
new "kontrastreicher Text"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
@@ -837,8 +794,7 @@ translate german strings:
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "Audio bei Unschärfe"
new "Audio wenn im Hintergrund"
# renpy/common/00preferences.rpy:537
old "web cache preload"
@@ -852,28 +808,23 @@ translate german strings:
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "Hauptvolumen"
new "Master-Lautstärke"
# renpy/common/00preferences.rpy:572
old "music volume"
# Automatic translation.
new "Musiklautstärke"
new "Musik-Lautstärke"
# renpy/common/00preferences.rpy:573
old "sound volume"
# Automatic translation.
new "Lautstärke"
new "Ton-Lautstärke"
# renpy/common/00preferences.rpy:574
old "voice volume"
# Automatic translation.
new "Sprachlautstärke"
new "Stimmen-Lautstärke"
# renpy/common/00preferences.rpy:575
old "mute main"
# Automatic translation.
new "Hauptstummschaltung"
new "Master stummschalten"
# renpy/common/00preferences.rpy:576
old "mute music"
@@ -887,13 +838,11 @@ translate german strings:
# renpy/common/00preferences.rpy:578
old "mute voice"
# Automatic translation.
new "stumme Stimme"
new "Stimme stummschalten"
# renpy/common/00preferences.rpy:579
old "mute all"
# Automatic translation.
new "alle stumm schalten"
new "alles stummschalten"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
@@ -933,7 +882,7 @@ translate german strings:
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
# Automatic translation.
new "Bitte geben Sie die von Ihnen erstellte Sync-ID ein.\nGeben Sie niemals eine Sync-ID ein, die Sie nicht selbst erstellt haben."
new "Bitte gib die von Dir erstellte Sync-ID ein.\nGie niemals eine Sync-ID ein, die Du nicht selbst erstellt hast."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
@@ -958,7 +907,7 @@ translate german strings:
# renpy/common/00sync.rpy:529
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
# Automatic translation.
new "Dadurch werden Ihre Spielstände auf den {a=https://sync.renpy.org}Ren'Py Sync Server{/a} hochgeladen.\nMöchten Sie fortfahren?"
new "Dadurch werden Deine Spielstände auf den {a=https://sync.renpy.org}Ren'Py Sync Server{/a} hochgeladen.\nMöchtest Du fortfahren?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
@@ -983,7 +932,7 @@ translate german strings:
# renpy/common/00sync.rpy:605
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
# Automatic translation.
new "Sie können diese ID verwenden, um Ihren Spielstand auf ein anderes Gerät herunterzuladen.\nDiese Synchronisierung läuft in einer Stunde ab.\nRen'Py Sync wird unterstützt von {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "Du kannst diese ID verwenden, um Deinen Spielstand auf ein anderes Gerät herunterzuladen.\nDiese Synchronisierung läuft in einer Stunde ab.\nRen'Py Sync wird unterstützt von {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
# renpy/common/00sync.rpy:631
old "Sync Error"
+19 -32
View File
@@ -119,15 +119,15 @@ translate german strings:
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
new "Drücken Sie <esc>, um die Konsole zu schließen. Geben Sie „help“ ein, um die Hilfe anzuzeigen.\n"
new "Drücke <esc>, um die Konsole zu schließen. Gib „help“ ein, um die Hilfe anzuzeigen.\n"
# 00console.rpy:186
old "Ren'Py script enabled."
new "RenPy Skript aktiviert."
new "Ren'Py Skript aktiviert."
# 00console.rpy:188
old "Ren'Py script disabled."
new "RenPy Skript deaktiviert."
new "Ren'Py Skript deaktiviert."
# 00console.rpy:398
old "help: show this help"
@@ -143,7 +143,7 @@ translate german strings:
# 00console.rpy:415
old " <python expression or statement>: run the expression or statement"
new " <python expression or statement>: startet den Ausdruck oder die Anweisung"
new " <python Ausdruck oder Anweisung>: startet den Ausdruck oder die Anweisung"
# 00console.rpy:423
old "clear: clear the console history"
@@ -186,23 +186,19 @@ translate german strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
# Automatic translation.
new "Interaktiver Direktor (D)"
new "Interaktiver Regisseur (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Dauerhafter Betrachter"
new "Übersicht persistenter Variablen"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Bildladeprotokoll anzeigen (F4)"
new "Ladeprotokoll aller Bilder anzeigen (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
# Automatic translation.
new "Bildladeprotokoll ausblenden (F4)"
new "Ladeprotokoll aller Bilder ausblenden (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
@@ -211,32 +207,28 @@ translate german strings:
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "Sprechblasen-Editor (Umschalt+B)"
new "Sprechblasen-Editor (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (versteckt)"
new "[Name] [Attribute] (versteckt)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
new "[Name] [Attribute]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Ausblenden gelöscht"
new "Gelöschtes verbergen"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Anzeigen gelöscht"
new "Gelöschtes anzeigen"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Typ zum Filtern: "
new "Filtertyp: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
@@ -255,23 +247,20 @@ translate german strings:
# renpy/common/00console.rpy:813
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
# Automatic translation.
new "Die Hilfe kann undokumentierte Funktionen anzeigen. Bitte prüfen Sie, ob die Funktion oder\nKlasse, die Sie verwenden möchten, dokumentiert ist.\n\n"
new "Die Hilfe kann undokumentierte Funktionen anzeigen. Bitte prüfe, ob die Funktion\noder Klasse, die Du verwenden möchtest, dokumentiert ist.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: den Rückgabestapel drucken"
new "stack: den Stack anzeigen"
# renpy/common/00console.rpy:908
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
# Automatic translation.
new "watch <expression>: einen Python-Ausdruck beobachten\n watch short: macht die Darstellung der nachverfolgten Ausdrücke kurz (Standard)\n watch long: macht die Darstellung von verfolgten Ausdrücken wie folgt"
new "watch <expression>: einen Python-Ausdruck beobachten\n watch short: macht die Darstellung der nachverfolgten Ausdrücke kurz (Voreinstellung)\n watch long: macht die Darstellung von verfolgten Ausdrücken wie sie sind"
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Verkürzt die Darstellung von Objekten auf der Konsole (Standard)."
new "short: Verkürzt die Darstellung von Objekten auf der Konsole (Voreinstellung)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
@@ -280,11 +269,9 @@ translate german strings:
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: Ermöglicht das Escaping von Unicode-Symbolen in Unicode-Strings."
new "escape: Aktiviert das Escaping von Unicode-Symbolen in Unicode-Strings."
# renpy/common/00console.rpy:1040
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
# Automatic translation.
new "unescape: Deaktiviert das Escaping von Unicode-Symbolen in Unicode-Zeichenfolgen und druckt sie so, wie sie sind (Voreinstellung)."
+14 -22
View File
@@ -23,8 +23,7 @@ translate german strings:
# 00gltest.rpy:93
old "Enable"
# Automatic translation.
new "Aktivieren Sie"
new "Aktivieren"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -40,7 +39,7 @@ translate german strings:
# 00gltest.rpy:148
old "This computer is not using shaders."
new "Dieser Computer verwendet keine Shaders."
new "Dieser Computer verwendet keine Shader."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
@@ -107,8 +106,7 @@ translate german strings:
# 00gamepad.rpy:58
old "Press or move the [control!s] [kind]."
# Automatic translation.
new "Drücken Sie oder bewegen Sie die [control!s] [kind] ."
new "Drücke oder bewege [control!s] [kind] ."
# 00gamepad.rpy:66
old "Skip (A)"
@@ -117,8 +115,7 @@ translate german strings:
# 00gamepad.rpy:69
old "Back (B)"
# Automatic translation.
new "Rücken (B)"
new "Zurück (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -144,11 +141,11 @@ translate german strings:
# _errorhandling.rpym:538
old "Rollback"
new "Zurückscrollen"
new "Zurückspulen"
# _errorhandling.rpym:540
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Versucht zu einem früheren Zeitpunkt zu gehen und ermöglicht es zu speichern oder eine andere Auswahl zu treffen."
new "Versucht zu einem früheren Zeitpunkt zu spulen, damit Du erneut speichern oder eine andere Entscheidung treffen kannst."
# _errorhandling.rpym:543
old "Ignore"
@@ -156,7 +153,7 @@ translate german strings:
# _errorhandling.rpym:545
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ignoriert den Fehler und ermöglicht es, fortzusetzen. Dies führt oft zu weiteren Fehlern."
new "Ignoriert den Fehler und ermöglicht es, fortzufahren. Dies führt oft zu weiteren Fehlern."
# _errorhandling.rpym:548
old "Reload"
@@ -176,7 +173,7 @@ translate german strings:
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Parse Errors öffnen"
new "Syntaxfehler öffnen"
# _errorhandling.rpym:608
old "Opens the errors.txt file in a text editor."
@@ -229,7 +226,7 @@ translate german strings:
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Powersave"
new "Energiesparen"
# renpy/common/00gltest.rpy:173
old "Framerate"
@@ -259,13 +256,11 @@ translate german strings:
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
# Automatic translation.
new "Die Datei {a=edit:1:log.txt}log.txt{/a} kann Informationen enthalten, die Ihnen helfen, das Problem mit Ihrem Computer zu lösen."
new "Die Datei {a=edit:1:log.txt}log.txt{/a} kann Informationen enthalten, die Dir helfen, das Problem mit Deinem Computer zu lösen."
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
# Automatic translation.
new "Weitere Einzelheiten zur Behebung dieses Problems finden Sie in der Dokumentation {a=[url]}{/a} ."
new "Weitere Einzelheiten zur Behebung dieses Problems findest Du in der Dokumentation {a=[url]}{/a} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
@@ -274,13 +269,11 @@ translate german strings:
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
# Automatic translation.
new "Drücken Sie oder bewegen Sie die Taste '[control!s]' [kind]."
new "Drücke oder bewege die Taste '[control!s]' [kind]."
# renpy/common/_errorhandling.rpym:555
old "Open"
# Automatic translation.
new "Öffnen Sie"
new "Öffnen"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
@@ -304,8 +297,7 @@ translate german strings:
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
# Automatic translation.
new "Ignoriert die Ausnahme, so dass Sie fortfahren können."
new "Ignoriert den Fehler, so dass Du fortfahren kannst."
# renpy/common/_errorhandling.rpym:637
old "Console"
File diff suppressed because it is too large Load Diff
+15 -28
View File
@@ -8,8 +8,7 @@ translate german 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."
# Automatic translation.
new "## Zeilen, die mit zwei '#' beginnen, sind Kommentare und sollten nicht auskommentiert werden. Zeilen, die mit einem einzelnen '#' beginnen, sind auskommentierter Code, den Sie ggf. auskommentieren sollten."
new "## Zeilen, die mit zwei '#' beginnen, sind Kommentare und sollten nicht auskommentiert werden. Zeilen, die mit einem einzelnen '#' beginnen, sind auskommentierter Code, den Du ggf. auskommentieren kannst."
# options.rpy:10
old "## Basics"
@@ -33,8 +32,7 @@ translate german strings:
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
# Automatic translation.
new "## Bestimmt, ob der oben angegebene Titel auf dem Hauptmenübildschirm angezeigt wird. Setzen Sie dies auf False, um den Titel auszublenden."
new "## Bestimmt, ob der oben angegebene Titel auf dem Hauptmenübildschirm angezeigt wird. Setze dies auf False, um den Titel auszublenden."
# options.rpy:26
old "## The version of the game."
@@ -44,7 +42,7 @@ translate german strings:
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
# Automatic translation.
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Um eine Leerzeile zwischen Absätzen einzufügen, schreiben Sie \\n\\n."
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Um eine Leerzeile zwischen Absätzen einzufügen, schreibe \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
@@ -53,8 +51,7 @@ translate german strings:
# options.rpy:44
old "## Sounds and music"
# Automatic translation.
new "## Klänge und Musik"
new "## Ton und Musik"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
@@ -63,13 +60,11 @@ translate german strings:
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
# Automatic translation.
new "## Um dem Benutzer die Möglichkeit zu geben, einen Testton auf dem Ton- oder Sprachkanal abzuspielen, entfernen Sie die Kommentarzeichen in der Zeile unten und verwenden Sie sie, um einen Beispielton abzuspielen."
new "## Um dem Benutzer die Möglichkeit zu geben, einen Testton auf dem Ton- oder Sprachkanal abzuspielen, entfernen die Kommentarzeichen in der Zeile unten und verwenden sie, um einen Beispielton abzuspielen."
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
# Automatic translation.
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. Diese Datei wird im Spiel weiter abgespielt, bis sie gestoppt wird oder eine andere Datei abgespielt wird."
new "## Entferne das Kommentarzeichen in der folgenden Zeile, damit im Hauptmenü eine Audiodatei abgespielt wird. Diese wird im Spiel so lange weiterlaufen, bis sie gestoppt wird oder eine andere Datei abgespielt wird."
# options.rpy:69
old "## Transitions"
@@ -98,8 +93,7 @@ translate german strings:
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
# Automatic translation.
new "## Eine Variable zum Festlegen des Übergangs, der beim Start des Spiels verwendet wird, existiert nicht. Verwenden Sie stattdessen eine with-Anweisung, nachdem Sie die Anfangsszene gezeigt haben."
new "## Eine Variable zum Festlegen des Übergangs, der beim Start des Spiels verwendet wird, existiert nicht. Verwende stattdessen eine with-Anweisung, nachdem Du die Anfangsszene gezeigt hast."
# options.rpy:96
old "## Window management"
@@ -123,8 +117,7 @@ translate german strings:
# options.rpy:115
old "## Preference defaults"
# Automatic translation.
new "## Präferenzvorgaben"
new "## Standardwerte für Einstellungen"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
@@ -134,7 +127,7 @@ translate german strings:
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
# Automatic translation.
new "## Die Standardverzögerung für die automatische Weiterleitung. Größere Zahlen führen zu längeren Wartezeiten, wobei 0 bis 30 der gültige Bereich ist."
new "## Die Standardverzögerung für das automatische Blättern. Größere Zahlen führen zu längeren Wartezeiten, wobei 0 bis 30 der gültige Bereich ist."
# options.rpy:129
old "## Save directory"
@@ -179,8 +172,7 @@ translate german strings:
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
# Automatic translation.
new "## Dieser Abschnitt steuert, wie Ren'Py Ihr Projekt in Distributionsdateien umwandelt."
new "## Dieser Abschnitt steuert, wie Ren'Py Dein Projekt in Distributionsdateien umwandelt."
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
@@ -209,13 +201,11 @@ translate german strings:
# options.rpy:177
old "## Classify files as None to exclude them from the built distributions."
# Automatic translation.
new "## Klassifizieren Sie Dateien als None, um sie von den erstellten Distributionen auszuschließen."
new "## Klassifiziere Dateien als None, um sie von den erstellten Distributionen auszuschließen."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
# Automatic translation.
new "## Um Dateien zu archivieren, klassifizieren Sie sie als \"Archiv\"."
new "## Um Dateien zu archivieren, klassifiziere sie als \"archive\"."
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
@@ -224,8 +214,7 @@ translate german strings:
# options.rpy:196
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
# Automatic translation.
new "## Ein Google Play-Lizenzschlüssel ist erforderlich, um Erweiterungsdateien herunterzuladen und In-App-Käufe durchzuführen. Sie finden ihn auf der Seite \"Services & APIs\" in der Google Play-Entwicklerkonsole."
new "## Ein Google Play-Lizenzschlüssel ist erforderlich, um Erweiterungsdateien herunterzuladen und In-App-Käufe durchzuführen. Du findest ihn auf der Seite \"Services & APIs\" in der Google Play-Entwicklerkonsole."
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
@@ -234,8 +223,7 @@ translate german strings:
# gui/game/options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
# Automatic translation.
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Setzen Sie den Text zwischen die dreifachen Anführungszeichen und lassen Sie eine Leerzeile zwischen den Absätzen."
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Setz den Text zwischen dreifache Anführungszeichen und lass eine Leerzeile zwischen den Absätzen."
# gui/game/options.rpy:47
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
@@ -253,5 +241,4 @@ translate german strings:
# gui/game/options.rpy:203
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
# Automatic translation.
new "## Für In-App-Käufe ist ein Google Play-Lizenzschlüssel erforderlich. Sie finden ihn in der Google Play-Entwicklerkonsole unter \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
new "## Für In-App-Käufe ist ein Google Play-Lizenzschlüssel erforderlich. Du findest ihn in der Google Play-Entwicklerkonsole unter \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
+66 -102
View File
@@ -8,13 +8,11 @@ translate german strings:
# screens.rpy:87
old "## In-game screens"
# Automatic translation.
new "## Bildschirme im Spiel"
new "## Spielinterne Bildschirme (Screens)"
# screens.rpy:91
old "## Say screen"
# Automatic translation.
new "## Sagen Sie Bildschirm"
new "## Dialog-Bildschirm"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
@@ -32,8 +30,7 @@ translate german strings:
# screens.rpy:169
old "## Input screen"
# Automatic translation.
new "## Eingabebildschirm"
new "## Eingabe-Bildschirm"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
@@ -51,13 +48,11 @@ translate german strings:
# screens.rpy:205
old "## Choice screen"
# Automatic translation.
new "## Auswahlbildschirm"
new "## Auswahl- oder Entscheidungs-Bildschirm"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
# Automatic translation.
new "## Dieser Bildschirm wird verwendet, um die Auswahlmöglichkeiten im Spiel anzuzeigen, die von der Menüanweisung präsentiert werden. Der eine Parameter, items, ist eine Liste von Objekten, jedes mit Beschriftung und Aktionsfeldern."
new "## Dieser Bildschirm wird verwendet, um die Auswahlmöglichkeiten im Spiel anzuzeigen, die von der Menüanweisung präsentiert werden. Der Parameter \"items\" ist eine Liste von Objekten, jedes mit Beschriftung und Aktionsfeldern."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -65,13 +60,11 @@ translate german strings:
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
# Automatic translation.
new "## Wenn dies wahr ist, werden die Menübeschriftungen vom Sprecher gesprochen. Bei \"false\" werden die Menübeschriftungen als leere Schaltflächen angezeigt."
new "## Bei \"True\" werden die Menübeschriftungen vom Erzähler gesprochen. Bei \"False\" werden die Menübeschriftungen als leere Schaltflächen angezeigt."
# screens.rpy:244
old "## Quick Menu screen"
# Automatic translation.
new "## Bildschirm Schnellmenü"
new "## Schnellmenü-Bildschirm"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
@@ -84,12 +77,11 @@ translate german strings:
# screens.rpy:262
old "History"
# Automatic translation.
new "Geschichte"
new "Dialogverlauf"
# screens.rpy:263
old "Skip"
new "Spulen"
new "Vorspulen"
# screens.rpy:264
old "Auto"
@@ -105,7 +97,7 @@ translate german strings:
# screens.rpy:267
old "Q.Load"
new "S. Laden"
new "S.Laden"
# screens.rpy:268
old "Prefs"
@@ -133,7 +125,7 @@ translate german strings:
# screens.rpy:316
old "Load"
# Automatic translation.
new "Laden Sie"
new "Laden"
# screens.rpy:318
old "Preferences"
@@ -205,13 +197,11 @@ translate german strings:
# screens.rpy:539
old "## About screen"
# Automatic translation.
new "## Über den Bildschirm"
new "## Info-Bildschirm"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
# Automatic translation.
new "## Dieser Bildschirm enthält Kredit- und Copyright-Informationen über das Spiel und Ren'Py."
new "## Dieser Bildschirm enthält Würdigungen und Copyright-Informationen über das Spiel und Ren'Py."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
@@ -220,7 +210,6 @@ translate german strings:
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
# Automatic translation.
new "## Diese Anweisung schließt den Bildschirm game_menu in diesen Bildschirm ein. Das vbox-Kind wird dann in das Viewport innerhalb des game_menu-Bildschirms aufgenommen."
# screens.rpy:561
@@ -234,23 +223,20 @@ translate german strings:
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# Automatic translation.
new "Hergestellt mit {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only] .\n\n[renpy.license!t]"
new "Erstellt mit {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
# Automatic translation.
new "## Dies wird in options.rpy neu definiert, um dem Info-Bildschirm Text hinzuzufügen."
# screens.rpy:582
old "## Load and Save screens"
# Automatic translation.
new "## Bildschirme laden und speichern"
new "## Spielstände-Bildschirm"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
# Automatic translation.
new "## Diese Bildschirme sind dafür verantwortlich, dass der Spieler das Spiel speichern und wieder laden kann. Da sie fast alles gemeinsam haben, sind beide in Form eines dritten Bildschirms, file_slots, implementiert."
new "## Der load and save Bildschirm sind dafür verantwortlich, dass der Spieler das Spiel speichern und wieder laden kann. Da sie fast alles gemeinsam haben, sind beide in Form eines dritten Bildschirms, file_slots, implementiert."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -263,13 +249,11 @@ translate german strings:
# screens.rpy:607
old "Automatic saves"
# Automatic translation.
new "Automatisch speichern"
new "Automatische Speicherstände"
# screens.rpy:607
old "Quick saves"
# Automatic translation.
new "Schnelles Speichern"
new "Schnellspeicherstände"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
@@ -283,12 +267,11 @@ translate german strings:
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d. %B %Y, %H:%M"
# screens.rpy:649
old "empty slot"
# Automatic translation.
new "leerer Steckplatz"
new "leerer Speicherplatz"
# screens.rpy:657
old "## Buttons to access other pages."
@@ -305,7 +288,7 @@ translate german strings:
# screens.rpy:670
old "{#quick_page}Q"
new "{#quick_page}Q"
new "{#quick_page}S"
# screens.rpy:676
old ">"
@@ -314,12 +297,12 @@ translate german strings:
# screens.rpy:711
old "## Preferences screen"
# Automatic translation.
new "## Bildschirm Präferenzen"
new "## Einstellungs-Bildschirm"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
# Automatic translation.
new "## Der Einstellungsbildschirm ermöglicht es dem Spieler, das Spiel so zu konfigurieren, dass es besser zu ihm passt."
new "## Der Einstellungs-Bildschirm ermöglicht es dem Spieler, das Spiel so zu konfigurieren, dass es besser zu ihm passt."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -345,7 +328,7 @@ translate german strings:
# screens.rpy:745
old "Disable"
# Automatic translation.
new "Deaktivieren Sie"
new "Deaktivieren"
# screens.rpy:746
old "Left"
@@ -359,12 +342,11 @@ translate german strings:
# screens.rpy:752
old "Unseen Text"
# Automatic translation.
new "Unsichtbarer Text"
new "Ungesehener Text"
# screens.rpy:753
old "After Choices"
new "Nach Auswahl"
new "Nach Entscheidungen"
# screens.rpy:754
old "Transitions"
@@ -389,7 +371,7 @@ translate german strings:
# screens.rpy:785
old "Sound Volume"
new "Soundlautstärke"
new "Geräuschlautstärke"
# screens.rpy:791
old "Test"
@@ -406,8 +388,7 @@ translate german strings:
# screens.rpy:882
old "## History screen"
# Automatic translation.
new "## Bildschirm Geschichte"
new "## Dialogverlauf-Bildschirm"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
@@ -420,8 +401,7 @@ translate german strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
# Automatic translation.
new "## Vermeiden Sie es, diesen Bildschirm vorherzusehen, da er sehr groß sein kann."
new "## Vermeide es, diesen Bildschirm via \"predict\" vorberechnen zu lassen, da er sehr groß sein kann."
# screens.rpy:905
old "## This lays things out properly if history_height is None."
@@ -430,8 +410,7 @@ translate german strings:
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
# Automatic translation.
new "## Übernimmt die Farbe des Wer-Textes aus dem Zeichen, falls festgelegt."
new "## Übernimmt die Farbe des who-Textes des Charakters, falls vorhanden."
# screens.rpy:921
old "The dialogue history is empty."
@@ -470,17 +449,17 @@ translate german strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
# Automatic translation.
new "Erweitert den Dialog und aktiviert die Schnittstelle."
new "Bringt den Dialog voran und aktiviert die Schnittstelle."
# screens.rpy:1007
old "Space"
# Automatic translation.
new "Weltraum"
new "Leertaste"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
# Automatic translation.
new "Bringt den Dialog voran, ohne eine Auswahl zu treffen."
new "Bringt den Dialog voran ohne eine Auswahl zu treffen."
# screens.rpy:1011
old "Arrow Keys"
@@ -490,12 +469,12 @@ translate german strings:
# screens.rpy:1012
old "Navigate the interface."
# Automatic translation.
new "Navigieren Sie durch die Schnittstelle."
new "Navigiert durch die Schnittstelle."
# screens.rpy:1015
old "Escape"
# Automatic translation.
new "Flucht"
new "ESC"
# screens.rpy:1016
old "Accesses the game menu."
@@ -509,8 +488,7 @@ translate german strings:
# screens.rpy:1020
old "Skips dialogue while held down."
# Automatic translation.
new "Überspringt Dialoge, wenn Sie die Taste gedrückt halten."
new "Überspringt Dialoge, wenn Du die Taste gedrückt hältst."
# screens.rpy:1023
old "Tab"
@@ -519,27 +497,27 @@ translate german strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
# Automatic translation.
new "Schaltet das Überspringen von Dialogen ein."
new "Schaltet das Überspringen von Dialogen ein/aus."
# screens.rpy:1027
old "Page Up"
# Automatic translation.
new "Seite oben"
new "Seite hoch"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
# Automatic translation.
new "Kehrt zu einem früheren Dialog zurück."
new "Springt zu einem früheren Dialog zurück."
# screens.rpy:1031
old "Page Down"
# Automatic translation.
new "Seite unten"
new "Seite runter"
# screens.rpy:1032
old "Rolls forward to later dialogue."
# Automatic translation.
new "Weiter geht's mit einem späteren Dialog."
new "Springt zu einem späteren Dialog vor."
# screens.rpy:1036
old "Hides the user interface."
@@ -554,12 +532,12 @@ translate german strings:
# screens.rpy:1044
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
# Automatic translation.
new "Schaltet das Hilfsmittel {a=https://www.renpy.org/l/voicing}selbststimmend{/a} um."
new "Schaltet unterstützende {a=https://www.renpy.org/l/voicing}Automatische Spracherzeugung{/a} ein/aus."
# screens.rpy:1050
old "Left Click"
# Automatic translation.
new "Links klicken"
new "Linksklick"
# screens.rpy:1054
old "Middle Click"
@@ -573,8 +551,7 @@ translate german strings:
# screens.rpy:1062
old "Mouse Wheel Up"
# Automatic translation.
new "Mausrad nach oben\nKlicken Sie auf Rollback Seite"
new "Mausrad nach oben\nKlicke auf Rollback Seite"
# screens.rpy:1066
old "Mouse Wheel Down"
@@ -589,12 +566,12 @@ translate german strings:
# screens.rpy:1074
old "Advance dialogue and activates the interface."
# Automatic translation.
new "Erweitert den Dialog und aktiviert die Schnittstelle."
new "Springt zu einem späteren Dialog vor und aktiviert die Schnittstelle."
# screens.rpy:1078
old "Roll back to earlier dialogue."
# Automatic translation.
new "Gehen Sie zu einem früheren Dialog zurück."
new "Springt zu einem früheren Dialog zurück."
# screens.rpy:1081
old "Right Shoulder"
@@ -603,8 +580,7 @@ translate german strings:
# screens.rpy:1082
old "Roll forward to later dialogue."
# Automatic translation.
new "Spulen Sie vor zu einem späteren Dialog."
new "Spult zu einem späteren Dialog vor."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -617,8 +593,7 @@ translate german strings:
# screens.rpy:1090
old "Access the game menu."
# Automatic translation.
new "Rufen Sie das Spielmenü auf."
new "Ruft das Spielmenü auf."
# screens.rpy:1093
old "Y/Top Button"
@@ -628,7 +603,7 @@ translate german strings:
# screens.rpy:1096
old "Calibrate"
# Automatic translation.
new "Kalibrieren Sie"
new "Kalibrieren"
# screens.rpy:1124
old "## Additional screens"
@@ -637,8 +612,7 @@ translate german strings:
# screens.rpy:1128
old "## Confirm screen"
# Automatic translation.
new "## Bildschirm bestätigen"
new "## Bestätigungs-Bildschirm"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
@@ -652,7 +626,7 @@ translate german strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
# Automatic translation.
new "## Stellen Sie sicher, dass andere Bildschirme keine Eingaben erhalten, während dieser Bildschirm angezeigt wird."
new "## Stell sicher, dass andere Bildschirme keine Eingaben erhalten, während dieser Bildschirm angezeigt wird."
# screens.rpy:1161
old "Yes"
@@ -664,13 +638,12 @@ translate german strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
# Automatic translation.
new "## Klicken Sie mit der rechten Maustaste und geben Sie die Antwort \"Nein\" ein."
new "## Ein Rechtsklick oder [ESC] beantworten jeweils mit \"Nein\"."
# screens.rpy:1191
old "## Skip indicator screen"
# Automatic translation.
new "## Indikatorbildschirm überspringen"
new "## Vorspul-Symbol Bildschirm"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
@@ -683,18 +656,16 @@ translate german strings:
# screens.rpy:1208
old "Skipping"
# Automatic translation.
new "Überspringen"
new "Vorspulen"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
# Automatic translation.
new "## Diese Transformation wird verwendet, um die Pfeile nacheinander zu blinken."
new "## Dieses Transform wird verwendet, um die Pfeile nacheinander blinken zu lassen."
# screens.rpy:1247
old "## Notify screen"
# Automatic translation.
new "## Bildschirm benachrichtigen"
new "## Benachrichtigungsbildschirm"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
@@ -736,8 +707,7 @@ translate german strings:
# screens.rpy:1406
old "## Mobile Variants"
# Automatic translation.
new "## Mobile Varianten"
new "## Varianten für Mobilgeräte"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
@@ -755,12 +725,11 @@ translate german strings:
# gui/game/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."
# Automatic translation.
new "## Wenn es ein Seitenbild gibt, zeigen Sie es über dem Text an. Nicht auf der Telefonvariante anzeigen - dort ist kein Platz."
new "## Wenn es ein Seitenbild gibt, wird es über dem Text angezeigt. Allerdings nicht auf der Smartphone-Variante - dort ist kein Platz."
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
# Automatic translation.
new "## Machen Sie das Namensfeld für die Gestaltung durch das Character-Objekt verfügbar."
new "## Macht das Namensfeld für die Gestaltung durch das Character-Objekt verfügbar."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
@@ -772,8 +741,7 @@ translate german strings:
# gui/game/screens.rpy:241
old "## Ensure this appears on top of other screens."
# Automatic translation.
new "## Stellen Sie sicher, dass dies über den anderen Bildschirmen erscheint."
new "## Stellt sicher, dass dies vor allen anderen Bildschirmen erscheint."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
@@ -801,8 +769,7 @@ translate german strings:
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
# Automatic translation.
new "## Reservieren Sie Platz für den Navigationsbereich."
new "## Reserviert Platz für den Navigationsbereich."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
@@ -812,7 +779,7 @@ translate german strings:
# gui/game/screens.rpy:668
old "## range(1, 10) gives the numbers from 1 to 9."
# Automatic translation.
new "## bereich(1, 10) liefert die Zahlen von 1 bis 9."
new "## range(1, 10) liefert die Zahlen von 1 bis 9."
# gui/game/screens.rpy:676
old "Upload Sync"
@@ -826,7 +793,6 @@ translate german strings:
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
# Automatic translation.
new "## Hier wird festgelegt, welche Tags auf dem Verlaufsbildschirm angezeigt werden dürfen."
# gui/game/screens.rpy:1049
@@ -845,7 +811,6 @@ translate german strings:
# gui/game/screens.rpy:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
# Automatic translation.
new "## Wir müssen eine Schriftart verwenden, die die Glyphe BLACK RIGHT-POINTING SMALL TRIANGLE enthält."
# gui/game/screens.rpy:1296
@@ -859,13 +824,12 @@ translate german strings:
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
new "## Blasenbildschirm"
new "## Sprechblasen-Bildschirm"
# gui/game/screens.rpy:1412
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
# Automatic translation.
new "## Der Sprechblasenbildschirm wird verwendet, um dem Spieler einen Dialog anzuzeigen, wenn Sprechblasen verwendet werden. Der Sprechblasenbildschirm benötigt die gleichen Parameter wie der Sprechblasenbildschirm, muss ein Displayable mit der Id \"what\" erstellen und kann Displayables mit den Ids \"namebox\", \"who\" und \"window\" erstellen."
new "## Der Sprechblasenbildschirm wird verwendet, um dem Spieler einen Dialog anzuzeigen, wenn Sprechblasen verwendet werden. Er benötigt die gleichen Parameter wie der Dialog-Bildschirm, muss ein Displayable mit der Id \"what\" erstellen und kann Displayables mit den Ids \"namebox\", \"who\" und \"window\" erstellen."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
@@ -875,6 +839,6 @@ translate german strings:
# gui/game/screens.rpy:411
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
# Automatic translation.
new "## Der Parameter scroll kann None oder einer der Parameter \"viewport\" oder \"vpgrid\" sein. Dieser Bildschirm soll mit einem oder mehreren Kindern verwendet werden, die in ihn eingeschlossen (platziert) werden."
new "## Der Parameter scroll kann None oder einer der Parameter \"viewport\" oder \"vpgrid\" sein. Dieser Bildschirm sollte mit einem oder mehreren Unterobjekten verwendet werden, die in ihn eingeschlossen (platziert) werden."
+4 -5
View File
@@ -1,17 +1,16 @@
# Sie können das Skript Ihres Spiels in dieser Datei platzieren.
# Du kannst das Skript für Dein Spiel in diese Datei schreiben.
# Bestimmen Sie Grafiken unterhalb dieser Zeile, indem Sie die "Image-Statements" verwenden.
# Unterhalb dieser Zeile kannst Du Bilder definieren, indem Du das Wort "image" verwendest
# z. B. image eileen happy = "eileen_happy.png"
# Bestimmen Sie Charaktere, die in diesem Spiel verwendet werden.
# Erstelle hier Charaktere, die in Deinem Spiel auftauchen werden
define e = Character('Eileen', color="#c8ffc8")
# Hier beginnt das Spiel.
label start:
e "Du hast ein neues Ren'Py Spiel erstellt."
e "Sobald du eine Geschichte, Bilder und Musik hinzufügst, kannst du es für alle veröffentlichen!"
e "Sobald Du eine Geschichte, Bilder und Musik hinzufügst, kannst Du es für alle veröffentlichen!"
return
+89 -201
View File
@@ -183,7 +183,7 @@ translate italian strings:
# 00gui.rpy:232
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Confermi di voler tornare al menù principale?\nQuesto causerà la perdita di progressi non salvati."
new "Confermi di voler tornare al menu principale?\nQuesto causerà la perdita di progressi non salvati."
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
@@ -203,7 +203,7 @@ translate italian strings:
# 00keymap.rpy:250
old "Saved screenshot as %s."
new "Screenshot salvato come %s."
new "Cattura di schermaa salvata come %s."
# 00library.rpy:142
old "Self-voicing disabled."
@@ -211,7 +211,7 @@ translate italian strings:
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Vocalizza Appunti abilitato. "
new "Vocalizzazione Appunti abilitata. "
# 00library.rpy:144
old "Self-voicing enabled. "
@@ -223,7 +223,7 @@ translate italian strings:
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "Questo programma contiene software libero rilasciato sotto una quantità di licenze, che includono la MIT License e la GNU Lesser General Public License. Una lista completa dei software, inclusi link al codice sorgente completo, si può trovare {a=https://www.renpy.org/l/license}qui{/a}."
new "Questo programma contiene software libero rilasciato sotto svariate licenze, che includono la MIT License e la GNU Lesser General Public License. Una lista completa dei software, inclusi link al codice sorgente completo, si può trovare {a=https://www.renpy.org/l/license}qui{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -231,7 +231,7 @@ translate italian strings:
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "L'Assistente Vocale tenta di dire \"[renpy.display.tts.last]\". Premi 'alt+shift+V' per disabilitare."
new "L'Assistente Vocale direbbe \"[renpy.display.tts.last]\". Premi 'alt+shift+V' per disabilitare."
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
@@ -243,7 +243,7 @@ translate italian strings:
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
new "L'aggiornamento di Ren'Py non è supportato nei dispositivi mobili."
new "L'aggiornamento di Ren'Py non è supportato sui dispositivi mobili."
# 00updater.rpy:486
old "An error is being simulated."
@@ -333,16 +333,12 @@ translate italian strings:
old "return"
new "chiudi"
translate italian strings:
# renpy/common/00accessibility.rpy:32
old "bar"
new "bar"
new "barra"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "selezionato"
# renpy/common/00accessibility.rpy:34
@@ -351,42 +347,34 @@ translate italian strings:
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "scorrimento orizzontale"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
# Automatic translation.
new "scorrimento verticale"
# renpy/common/00accessibility.rpy:37
old "activate"
# Automatic translation.
new "attivare"
new "attiva"
# renpy/common/00accessibility.rpy:38
old "deactivate"
# Automatic translation.
new "disattivare"
new "disattiva"
# renpy/common/00accessibility.rpy:39
old "increase"
# Automatic translation.
new "aumento"
new "aumenta"
# renpy/common/00accessibility.rpy:40
old "decrease"
# Automatic translation.
new "diminuzione"
new "diminuisci"
# renpy/common/00accessibility.rpy:138
old "Font Override"
# Automatic translation.
new "Sovrascrittura dei caratteri"
new "Forza Famiglia Caratteri"
# renpy/common/00accessibility.rpy:142
old "Default"
# Automatic translation.
new "Predefinito"
# renpy/common/00accessibility.rpy:146
@@ -399,8 +387,7 @@ translate italian strings:
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
# Automatic translation.
new "Dimensione del testo in scala"
new "Scala Dimensioni del Testo"
# renpy/common/00accessibility.rpy:162
old "Reset"
@@ -408,22 +395,18 @@ translate italian strings:
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
# Automatic translation.
new "Interlinea Scala"
new "Scala Interlinea"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Testo ad alto contrasto"
new "Testo ad Alto Contrasto"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
# Automatic translation.
new "Autocelebrazione"
new "Assistente Vocale"
# renpy/common/00accessibility.rpy:197
old "Off"
# Automatic translation.
new "Spento"
# renpy/common/00accessibility.rpy:201
@@ -432,7 +415,6 @@ translate italian strings:
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Appunti"
# renpy/common/00accessibility.rpy:209
@@ -441,73 +423,63 @@ translate italian strings:
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
# Automatic translation.
new "Caduta di volume autoavvertita"
new "Riduzione Volume dell'Assistente Vocale"
# renpy/common/00accessibility.rpy:234
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
# Automatic translation.
new "Le opzioni di questo menu hanno lo scopo di migliorare l'accessibilità. Potrebbero non funzionare con tutti i giochi e alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Non si tratta di un problema del gioco o del motore. Per ottenere i migliori risultati quando si cambiano i caratteri, cercare di mantenere le dimensioni del testo uguali a quelle originarie."
new "Le opzioni di questo menu hanno lo scopo di migliorare l'accessibilità. Potrebbero non funzionare con tutti i giochi, e alcune combinazioni di opzioni potrebbero rendere il gioco ingiocabile. Non si tratta di un problema del gioco o del motore. Per ottenere i migliori risultati quando si cambiano i caratteri, cerca di mantenere le dimensioni del testo uguali a quelle originarie."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
# Automatic translation.
new "Salva lo slot %s: [text]"
new "Salva nello slot %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
# Automatic translation.
new "Caricare lo slot %s: [text]"
new "Carica slot %s: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
# Automatic translation.
new "Elimina slot [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
# Automatic translation.
new "Pagina di file automatica"
new "Pagina di file automatici"
# renpy/common/00action_file.rpy:595
old "File page quick"
# Automatic translation.
new "Pagina di file veloce"
new "Pagina di file rapidi"
# renpy/common/00action_file.rpy:597
old "File page [text]"
# Automatic translation.
new "Pagina di file [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
# Automatic translation.
new "Pagina successiva."
new "Pagina di file successiva."
# renpy/common/00action_file.rpy:868
old "Previous file page."
# Automatic translation.
new "Pagina precedente."
new "Pagina di file precedente."
# renpy/common/00action_file.rpy:944
old "Quick save."
# Automatic translation.
new "Salvataggio rapido."
# renpy/common/00action_file.rpy:963
old "Quick load."
# Automatic translation.
new "Carico rapido."
new "Caricamento rapido."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Lingua [text]"
#
old "Language"
new "Lingua"
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
# Automatic translation.
new "Il direttore interattivo non è abilitato in questo caso."
new "L'interactive director non è abilitato qui."
# renpy/common/00director.rpy:1504
old "⬆"
@@ -519,13 +491,11 @@ translate italian strings:
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Fatto"
# renpy/common/00director.rpy:1584
old "(statement)"
# Automatic translation.
new "(dichiarazione)"
new "(istruzione)"
# renpy/common/00director.rpy:1585
old "(tag)"
@@ -533,46 +503,39 @@ translate italian strings:
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(attributi)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(transform)"
new "(trasforma)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transition)"
new "(transizioni)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(canale)"
# renpy/common/00director.rpy:1625
old "(filename)"
# Automatic translation.
new "(nome del file)"
new "(nome file)"
# renpy/common/00director.rpy:1654
old "Change"
# Automatic translation.
new "Cambiamento"
new "Cambia"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "Aggiungi"
# renpy/common/00director.rpy:1662
old "Remove"
# Automatic translation.
new "Rimuovere"
new "Rimuovi"
# renpy/common/00director.rpy:1697
old "Statement:"
# Automatic translation.
new "Dichiarazione:"
new "Istruzione:"
# renpy/common/00director.rpy:1718
old "Tag:"
@@ -580,63 +543,51 @@ translate italian strings:
# renpy/common/00director.rpy:1734
old "Attributes:"
# Automatic translation.
new "Attributi:"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
# Automatic translation.
new "Fare clic per attivare l'attributo, fare clic con il tasto destro per attivare l'attributo negativo."
new "Clicca per attivare/disattivare l'attributo, clicca con il tasto destro per attivare/disattivare l'attributo negativo."
# renpy/common/00director.rpy:1757
old "Transforms:"
# Automatic translation.
new "Trasformazioni:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
# Automatic translation.
new "Fare clic per impostare la trasformazione, fare clic con il pulsante destro del mouse per aggiungere all'elenco delle trasformazioni."
new "Clicca per impostare la trasformazione, clicca con il tasto destro per aggiungere all'elenco delle trasformazioni."
# renpy/common/00director.rpy:1780
old "Behind:"
# Automatic translation.
new "Dietro:"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
# Automatic translation.
new "Fare clic per impostare, fare clic con il pulsante destro del mouse per aggiungere all'elenco retrostante."
new "Clicca per impostare, clicca con il tasto destro per aggiungere all'elenco di dietro."
# renpy/common/00director.rpy:1801
old "Transition:"
# Automatic translation.
new "Transizione:"
# renpy/common/00director.rpy:1819
old "Channel:"
# Automatic translation.
new "Canale:"
# renpy/common/00director.rpy:1837
old "Audio Filename:"
# Automatic translation.
new "Nome del file audio:"
# renpy/common/00gui.rpy:456
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
# Automatic translation.
new "Questo salvataggio è stato creato su un dispositivo diverso. I file di salvataggio creati male possono danneggiare il computer. Vi fidate del creatore di questo salvataggio e di tutti coloro che potrebbero aver modificato il file?"
new "Questo salvataggio è stato creato su un dispositivo diverso. Un file di salvataggio creato in modo malevolo può danneggiare il tuo computer. Puoi fidarti di chi ha creato questo salvataggio e di tutti coloro che potrebbero aver modificato il file?"
# renpy/common/00gui.rpy:457
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
# Automatic translation.
new "Vi fidate del dispositivo su cui è stato creato il salvataggio? Scegliere sì solo se si è l'unico utente del dispositivo."
new "Puoi fidarti del dispositivo su cui è stato creato il salvataggio? Dovresti scegliere sì solo se si è l'unico utente del dispositivo."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
# Automatic translation.
new "Impossibile salvare l'immagine come %s."
new "Impossibile salvare la cattura di schermata come %s."
# renpy/common/00preferences.rpy:271
old "display"
@@ -644,27 +595,22 @@ translate italian strings:
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "transizioni"
# renpy/common/00preferences.rpy:292
old "skip transitions"
# Automatic translation.
new "saltare le transizioni"
# renpy/common/00preferences.rpy:294
old "video sprites"
# Automatic translation.
new "sprite video"
# renpy/common/00preferences.rpy:303
old "show empty window"
# Automatic translation.
new "mostra la finestra vuota"
new "mostra finestra vuota"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "velocità del testo"
# renpy/common/00preferences.rpy:320
@@ -677,97 +623,79 @@ translate italian strings:
# renpy/common/00preferences.rpy:327
old "skip"
# Automatic translation.
new "saltare"
new "salta"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
# Automatic translation.
new "saltare non visto [text]"
new "salta [text] non visto"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "saltare il testo non visto"
new "salta il testo non visto"
# renpy/common/00preferences.rpy:337
old "begin skipping"
# Automatic translation.
new "iniziare a saltare"
new "inizia a saltare"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "dopo le scelte"
# renpy/common/00preferences.rpy:348
old "skip after choices"
# Automatic translation.
new "saltare dopo le scelte"
new "salta dopo le scelte"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "tempo di inoltro automatico"
new "ritmo di avanzamento automatico"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "Inoltro automatico"
new "avanzamento automatico"
# renpy/common/00preferences.rpy:371
old "Auto forward"
# Automatic translation.
new "Avanzamento automatico"
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
# Automatic translation.
new "Inoltro automatico dopo il clic"
new "avanzamento automatico dopo il clic"
# renpy/common/00preferences.rpy:383
old "automatic move"
# Automatic translation.
new "spostamento automatico"
# renpy/common/00preferences.rpy:392
old "wait for voice"
# Automatic translation.
new "attendere la voce"
new "dai tempo alla voce"
# renpy/common/00preferences.rpy:401
old "voice sustain"
# Automatic translation.
new "sostegno della voce"
new "mantenimento della voce"
# renpy/common/00preferences.rpy:410
old "self voicing"
# Automatic translation.
new "autocelebrazione"
new "assistente vocale"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
# Automatic translation.
new "caduta di volume dell'autocelebrazione"
new "riduzione volume dell'assistente vocale"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
# Automatic translation.
new "Votazione degli appunti"
new "vocalizzazione degli appunti"
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "debug voicing"
new "debug vocalizzazione"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
# Automatic translation.
new "enfatizzare l'audio"
new "enfatizza audio"
# renpy/common/00preferences.rpy:454
old "rollback side"
# Automatic translation.
new "lato rollback"
new "lato riavvolgimento"
# renpy/common/00preferences.rpy:464
old "gl powersave"
@@ -775,8 +703,7 @@ translate italian strings:
# renpy/common/00preferences.rpy:470
old "gl framerate"
# Automatic translation.
new "framerate gl"
new "gl framerate"
# renpy/common/00preferences.rpy:473
old "gl tearing"
@@ -784,196 +711,157 @@ translate italian strings:
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "trasformazione dei caratteri"
new "trasformazioni dei caratteri"
# renpy/common/00preferences.rpy:479
old "font size"
# Automatic translation.
new "dimensione del carattere"
new "dimensione dei caratteri"
# renpy/common/00preferences.rpy:487
old "font line spacing"
# Automatic translation.
new "interlinea del carattere"
new "interlinea dei caratteri"
# renpy/common/00preferences.rpy:495
old "system cursor"
# Automatic translation.
new "cursore di sistema"
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "menu del renderer"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "menu accessibilità"
new "menu di accessibilità"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "testo ad alto contrasto"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
# Automatic translation.
new "audio quando è ridotto a icona"
new "audio con finestra minimizzata"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "audio quando non viene messo a fuoco"
new "audio con finestra non a fuoco"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "precaricamento della cache web"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "voce dopo il menu di gioco"
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "volume principale"
# renpy/common/00preferences.rpy:572
old "music volume"
# Automatic translation.
new "volume della musica"
# renpy/common/00preferences.rpy:573
old "sound volume"
# Automatic translation.
new "volume del suono"
new "volume dei suoni"
# renpy/common/00preferences.rpy:574
old "voice volume"
# Automatic translation.
new "volume della voce"
# renpy/common/00preferences.rpy:575
old "mute main"
# Automatic translation.
new "silenziamento principale"
new "silenzia il volume principale"
# renpy/common/00preferences.rpy:576
old "mute music"
# Automatic translation.
new "disattivare la musica"
new "silenzia la musica"
# renpy/common/00preferences.rpy:577
old "mute sound"
# Automatic translation.
new "Disattivare l'audio"
new "silenzia i suoni"
# renpy/common/00preferences.rpy:578
old "mute voice"
# Automatic translation.
new "voce muta"
new "silenzia voce"
# renpy/common/00preferences.rpy:579
old "mute all"
# Automatic translation.
new "disattivare tutti"
new "silenzia tutto"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "Editor di bolle vocali"
new "Editor di Bolle di Dialogo"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(Nascondi)"
new "(nascondi)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "Sincronizzazione scaricata."
new "Dati sincronizzati scaricati."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Impossibile connettersi al server Ren'Py Sync."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
# Automatic translation.
new "Il server Ren'Py Sync è scaduto."
new "Il server Ren'Py Sync non ha risposto in tempo."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
new "Si è verificato un errore sconosciuto durante la connessione al server Ren'Py Sync."
# renpy/common/00sync.rpy:267
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
# Automatic translation.
new "Il server Ren'Py Sync non dispone di una copia di questa sincronizzazione. L'ID della sincronizzazione potrebbe non essere valido o potrebbe essere scaduto."
new "Il server Ren'Py Sync non dispone di una copia di questi dati. L'ID di sincronizzazione potrebbe essere invalido o scaduto."
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
# Automatic translation.
new "Inserire l'ID di sincronizzazione generato.\nNon inserite mai un ID di sincronizzazione che non avete creato voi stessi."
new "Inserire l'ID di sincronizzazione che hai generato.\nNon inserire mai un ID di sincronizzazione che non hai creato tu."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "L'ID di sincronizzazione non è nel formato corretto."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
# Automatic translation.
new "Non è stato possibile decifrare la sincronizzazione."
new "Non è stato possibile decifrare i dati sincronizzati."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "La sincronizzazione appartiene a un gioco diverso."
new "I dati sincronizzati appartengono ad un gioco diverso."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
# Automatic translation.
new "La sincronizzazione contiene un file con un nome non valido."
new "I dati sincronizzati contengono un file con un nome non valido."
# renpy/common/00sync.rpy:529
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
# Automatic translation.
new "Questo caricherà i salvataggi sul server di sincronizzazione {a=https://sync.renpy.org}Ren'Py{/a}.\nVuoi continuare?"
new "I tuoi salvataggi saranno caricati sul {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}.\nVuoi continuare?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
new "Immettere l'ID di sincronizzazione"
new "Immettere l'ID di Sincronizzazione"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# Automatic translation.
new "Questo contatterà il server di sincronizzazione {a=https://sync.renpy.org}Ren'Py{/a}."
new "Verrà contattato il {a=https://sync.renpy.org}Server di Sincronizzazione di Ren'Py{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
# Automatic translation.
new "Successo della sincronizzazione"
new "Sincronizzazione completata con Successo"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
new "L'ID di sincronizzazione è:"
new "L'ID di Sincronizzazione è:"
# renpy/common/00sync.rpy:605
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
# Automatic translation.
new "È possibile utilizzare questo ID per scaricare il salvataggio su un altro dispositivo.\nQuesta sincronizzazione scadrà tra un'ora.\nRen'Py Sync è supportato da {a=https://www.renpy.org/sponsors.html}Gli sponsor di Ren'Py{/a}."
new "Puoi usare questo ID per scaricare il tuo salvataggio su un altro dispositivo.\nQuesta sincronizzazione scadrà tra un'ora.\nRen'Py Sync è supportato dagli {a=https://www.renpy.org/sponsors.html}Sponsor di Ren'Py{/a}."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "Errore di sincronizzazione"
new "Errore di Sincronizzazione"
+17 -41
View File
@@ -23,7 +23,7 @@ translate italian strings:
# _developer/developer.rpym:51
old "Image Location Picker"
new "Selettore Locazione Immagini"
new "Selettore Posizione Immagini"
# _developer/developer.rpym:53
old "Filename List"
@@ -79,7 +79,7 @@ translate italian strings:
# _developer/inspector.rpym:38
old "Displayable Inspector"
new "Ispettore dei Displayable"
new "Ispezionatore dei Displayable"
# _developer/inspector.rpym:61
old "Size"
@@ -99,7 +99,6 @@ translate italian strings:
# _developer/inspector.rpym:139
old "displayable:"
# Automatic translation.
new "visualizzabile:"
# _developer/inspector.rpym:145
@@ -116,7 +115,7 @@ translate italian strings:
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
new "Premi <esc> per uscire dalla console. Scrivi \"help\" per aiuto.\n"
new "Premi <esc> per uscire dalla console. Scrivi \"help\" per avere aiuto.\n"
# 00console.rpy:186
old "Ren'Py script enabled."
@@ -178,42 +177,32 @@ translate italian strings:
old "jump <label>: jumps to label"
new "jump <label>: salta alla label"
translate italian strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
# Automatic translation.
new "Direttore interattivo (D)"
new "Interactive Director (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Visualizzatore persistente"
new "Visualizzatore dei dati Persistenti"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Mostra registro caricamento immagini (F4)"
new "Mostra il Registro di Caricamento delle Immagini (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
# Automatic translation.
new "Nascondere il registro di caricamento dell'immagine (F4)"
new "Nascondi il Registro di Caricamento delle Immagini (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
# Automatic translation.
new "Attributi dell'immagine"
new "Attributi dell'Immagine"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "Editor di bolle vocali (Shift+B)"
new "Editor di Bolle di Dialogo (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (nascosto)"
# renpy/common/_developer/developer.rpym:101
@@ -222,66 +211,53 @@ translate italian strings:
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Nascondi cancellato"
new "Nascondi cancellati"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Mostra cancellata"
new "Mostra cancellati"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Tipo da filtrare: "
new "Tipi da filtrare: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
# Automatic translation.
new "Texture: [tex_count] ([tex_size_mb:.1f] MB)"
# renpy/common/_developer/developer.rpym:511
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# Automatic translation.
new "Cache immagini: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
# Automatic translation.
new "help: mostra questo aiuto\n help <expr>: mostra la firma e la documentazione di <expr>"
# renpy/common/00console.rpy:813
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
# Automatic translation.
new "La guida potrebbe visualizzare funzioni non documentate. Verificate che la funzione o\nLa classe che si vuole utilizzare è documentata.\n\n"
new "La guida potrebbe visualizzare funzioni non documentate. Verifica che la funzione o\n classe che vuoi usare utilizzare sia documentata.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: stampare lo stack di ritorno"
new "stack: stampa a schermo lo stack di ritorno"
# renpy/common/00console.rpy:908
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
# Automatic translation.
new "watch <expression>: guardare un'espressione python\n watch short: rende breve la rappresentazione delle espressioni tracciate (default)\n watch long: rende la rappresentazione delle espressioni tracciate come è"
new "watch <expression>: traccia un'espressione python\n watch short: rende breve la rappresentazione delle espressioni tracciate (default)\n watch long: rende la rappresentazione delle espressioni tracciate così come è"
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Accorcia la rappresentazione degli oggetti sulla console (impostazione predefinita)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
# Automatic translation.
new "long: Stampa la rappresentazione completa degli oggetti sulla console."
new "long: Stampa sulla console la rappresentazione completa degli oggetti."
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: Abilita l'escape dei simboli unicode nelle stringhe unicode."
# renpy/common/00console.rpy:1040
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
# Automatic translation.
new "unescape: Disabilita l'escape dei simboli unicode nelle stringhe unicode e le stampa così come sono (impostazione predefinita)."
new "unescape: Disabilita l'escape dei simboli unicode nelle stringhe unicode e le stampa a schermo così come sono (impostazione predefinita)."
+24 -48
View File
@@ -11,15 +11,15 @@ translate italian strings:
# 00gltest.rpy:75
old "Force Angle/DirectX Renderer"
new "Forza Renderer Angle/DirectX"
new "Forza Renderizzatore Angle/DirectX"
# 00gltest.rpy:79
old "Force OpenGL Renderer"
new "Forza Renderer OpenGL"
new "Forza Renderizzatore OpenGL"
# 00gltest.rpy:83
old "Force Software Renderer"
new "Forza Renderer Software"
new "Forza Renderizzatore Software"
# 00gltest.rpy:93
old "Enable"
@@ -31,7 +31,7 @@ translate italian strings:
# 00gltest.rpy:141
old "Performance Warning"
new "Avviso Prestazioni"
new "Avviso sulle Prestazioni"
# 00gltest.rpy:146
old "This computer is using software rendering."
@@ -39,7 +39,7 @@ translate italian strings:
# 00gltest.rpy:148
old "This computer is not using shaders."
new "Questo computer non fa uso degli shader."
new "Questo computer non sta usando gli shader."
# 00gltest.rpy:150
old "This computer is displaying graphics slowly."
@@ -135,7 +135,7 @@ translate italian strings:
# _errorhandling.rpym:538
old "Rollback"
new "Regredisci"
new "Riavvolgi"
# _errorhandling.rpym:540
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
@@ -167,7 +167,7 @@ translate italian strings:
# _errorhandling.rpym:606
old "Open Parse Errors"
new "Apri errori di analisi"
new "Apri Errori di Analisi"
# _errorhandling.rpym:608
old "Opens the errors.txt file in a text editor."
@@ -177,51 +177,40 @@ translate italian strings:
old "Copies the errors.txt file to the clipboard."
new "Copia il file errors.txt negli appunti."
translate italian strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderer"
new "Renderizzatore"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
# Automatic translation.
new "Forza il renderizzatore GL"
new "Forza Renderizzatore GL"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
# Automatic translation.
new "Rendering angolare della forza"
new "Forza Renderizzatore ANGLE"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
# Automatic translation.
new "Forza il renderizzatore GLES"
new "Forza Renderizzatore GLES"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
# Automatic translation.
new "Rendering Force GL2"
new "Forza Renderizzatore GL2"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "Forza il renderizzatore ANGLE2"
new "Forza Renderizzatore ANGLE2"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
# Automatic translation.
new "Forza il renderizzatore GLES2"
new "Forza Renderizzatore GLES2"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "Abilitazione (nessuna lista di blocco)"
new "Abilita (nessuna lista di blocco)"
# renpy/common/00gltest.rpy:159
old "Powersave"
# Automatic translation.
new "Risparmio energetico"
# renpy/common/00gltest.rpy:173
@@ -230,7 +219,6 @@ translate italian strings:
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Schermo"
# renpy/common/00gltest.rpy:181
@@ -247,58 +235,47 @@ translate italian strings:
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
# Automatic translation.
new "Questo gioco richiede l'uso di GL2 che non può essere inizializzato."
new "Questo gioco richiede l'uso di GL2, che non può essere inizializzato."
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
# Automatic translation.
new "Il file {a=edit:1:log.txt}log.txt{/a} può contenere informazioni che aiutano a determinare il problema del computer."
new "Il file {a=edit:1:log.txt}log.txt{/a} può contenere informazioni che possono aiutarti a determinare il problema del tuo computer."
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
# Automatic translation.
new "Maggiori dettagli su come risolvere questo problema sono disponibili nella documentazione di {a=[url]}{/a} ."
new "Maggiori dettagli su come risolvere questo problema sono disponibili nella documentazione di {a=[url]}{/a}."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "Modifica delle opzioni di rendering"
new "Modifica le opzioni di rendering"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
# Automatic translation.
new "Premere o spostare il pulsante '[control!s]'[kind]."
new "Premi o sposta l'input '[control!s]'[kind]."
# renpy/common/_errorhandling.rpym:555
old "Open"
# Automatic translation.
new "Aperto"
new "Apri"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
# Automatic translation.
new "Copiare il codice BBC"
new "Copia BBCode"
# renpy/common/_errorhandling.rpym:561
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
# Automatic translation.
new "Copia il file traceback.txt negli appunti come BBcode per forum come https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
# Automatic translation.
new "Copiare Markdown"
new "Copia Markdown"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# Automatic translation.
new "Copia il file traceback.txt negli appunti come Markdown per Discord."
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
# Automatic translation.
new "Ignora l'eccezione, consentendo di continuare."
new "Ignora l'eccezione, permettendo di continuare l'esecuzione."
# renpy/common/_errorhandling.rpym:637
old "Console"
@@ -306,6 +283,5 @@ translate italian strings:
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
# Automatic translation.
new "Apre una console per consentire il debug del problema."
+13 -24
View File
@@ -203,23 +203,23 @@ translate italian strings:
# gui.rpy:220
old "## File Slot Buttons"
new "## Pulsanti Slot"
new "## Pulsanti Slot File"
# gui.rpy:222
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Un pulsante Slot è un tipo di pulsante speciale. Contiene un'immagine miniatura, e testo che riporta i contenuti dello slot. Uno Slot Save usa immagini presenti in gui/button, come tutti gli altri tipi di pulsante."
new "## Un pulsante slot è un tipo di pulsante speciale. Contiene un'immagine miniatura, e testo che riporta i contenuti dello slot. Uno slot di salvataggio usa immagini presenti in gui/button, come tutti gli altri tipi di pulsante."
# gui.rpy:226
old "## The save slot button."
new "## Il pulsante slot."
new "## Il pulsante slot salvataggio."
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## Larghezza e altezza delle miniature usate dallo slot."
new "## Larghezza e altezza delle miniature usate dallo slot di salvataggio."
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## Numero di colonne e righe della griglia degli slot."
new "## Numero di colonne e righe della griglia degli slot di salvataggio."
# gui.rpy:243
old "## Positioning and Spacing"
@@ -327,8 +327,7 @@ translate italian strings:
# gui.rpy:331
old "## History"
# Automatic translation.
new "## Storia"
new "## Cronologia"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
@@ -380,7 +379,7 @@ translate italian strings:
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Questo aumenta la dimensione dei Pulsanti Rapidi per renderli più facili da toccare su tablet e telefoni."
new "## Questo aumenta la dimensione dei pulsanti rapidi per renderli più facili da toccare su tablet e telefoni."
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
@@ -408,7 +407,7 @@ translate italian strings:
# gui.rpy:456
old "## Quick buttons."
new "## Pulsanti Rapidi."
new "## Pulsanti rapidi."
# gui.rpy:17
old "## GUI Configuration Variables"
@@ -434,41 +433,31 @@ translate italian strings:
old "## Mobile devices"
new "## Dispositivi mobili"
translate italian strings:
# gui/game/gui.rpy:5
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
# Automatic translation.
new "## L'istruzione init offset fa sì che le istruzioni di inizializzazione in questo file vengano eseguite prima delle istruzioni di init in qualsiasi altro file."
new "## L'istruzione init offset fa sì che le istruzioni di inizializzazione in questo file vengano eseguite prima di quelle di inizializzazione in qualsiasi altro file."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
# Automatic translation.
new "## Abilita i controlli per le proprietà non valide o instabili nelle schermate o nelle trasformazioni"
new "## Abilita i controlli per proprietà non valide o instabili nelle schermate o nelle trasformazioni"
# gui/game/gui.rpy:278
old "## The position of the main menu text."
# Automatic translation.
new "## La posizione del testo del menu principale."
# gui/game/gui.rpy:287
old "## Generic frames."
# Automatic translation.
new "## Cornici generiche."
# gui/game/gui.rpy:307
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
# Automatic translation.
new "## L'interfaccia grafica predefinita utilizza solo i cursori e le barre di scorrimento verticali. Tutte le altre barre sono utilizzate solo nelle schermate scritte dal creatore."
new "## L'interfaccia grafica predefinita usa solo cursori e barre di scorrimento verticali. Tutte le altre barre sono utilizzate solo in schermate scritte dai creatori di giochi."
# gui/game/gui.rpy:368
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."
# Automatic translation.
new "## Il numero massimo di voci in modalità NVL che Ren'Py visualizzerà. Se devono essere visualizzate più voci di questa, la voce più vecchia verrà rimossa."
new "## Il numero massimo di voci in modalità NVL che Ren'Py visualizzerà. Se ne devono essere visualizzate di più, la voce più vecchia verrà rimossa."
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
# Automatic translation.
new "## Cambia la dimensione e la spaziatura di vari elementi."
new "## Cambia dimensione e spaziatura di vari elementi."
File diff suppressed because it is too large Load Diff
+2 -10
View File
@@ -23,7 +23,6 @@ translate italian strings:
# options.rpy:17
old "Ren'Py 7 Default GUI"
# Automatic translation.
new "GUI predefinita di Ren'Py 7"
# options.rpy:20
@@ -198,26 +197,19 @@ translate italian strings:
old "## Icon"
new "## Icona"
translate italian strings:
# gui/game/options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
# Automatic translation.
new "## Testo che viene inserito nella schermata del gioco. Posizionare il testo tra le virgolette triple e lasciare una riga vuota tra i paragrafi."
new "## Testo che viene inserito nella schermata informazioni del gioco. Inserisci il testo tra triple virgolette e lascia una riga vuota tra i paragrafi."
# gui/game/options.rpy:47
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
# Automatic translation.
new "## Queste tre variabili controllano, tra le altre cose, quali mixer vengono mostrati al giocatore per impostazione predefinita. Impostando una di queste variabili a False, si nasconde il mixer appropriato."
new "## Queste tre variabili controllano, tra le altre cose, quali mixer vengono mostrati al giocatore per impostazione predefinita. Impostando una di queste a False, si nasconde il mixer appropriato."
# gui/game/options.rpy:82
old "## Between screens of the game menu."
# Automatic translation.
new "## Tra le schermate del menu di gioco."
# gui/game/options.rpy:203
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
# Automatic translation.
new "## Per eseguire gli acquisti in-app è necessaria una chiave di licenza Google Play. Si trova nella console per sviluppatori di Google Play, in \"Monetizzazione\" > \"Impostazione monetizzazione\" > \"Licenze\"."
+59 -91
View File
@@ -1,5 +1,4 @@
translate italian strings:
translate italian strings:
# screens.rpy:9
old "## Styles"
@@ -7,20 +6,19 @@ translate italian strings:
# screens.rpy:87
old "## In-game screens"
new "## Schermi interni al gioco"
new "## Schermate interne al gioco"
# screens.rpy:91
old "## Say screen"
# Automatic translation.
new "## Dire schermo"
new "## Schermata dei dialoghi"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Il say screen è usato per mostrare dialoghi al giocatore. Richiede due parametri, who e what, che sono il nome del personaggio che parla e il testo da mostrare. (Il parametro who può essere None se non si intende fornire un nome)"
new "## La schermata dei dialoghi (say) è usata per mostrare dialoghi al giocatore. Richiede due parametri, who e what, che sono il nome del personaggio che parla e il testo da mostrare. (Il parametro who può essere None se non si intende fornire un nome)"
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Questo schermo crea un displayable di testo con id \"what\", che Ren'py usa per gestire la visualizzazione del testo. Può creare anche displayable con id \"who\" e id \"window\" per applicarvi proprietà di stile."
new "## Questa schermata crea un displayable di testo con id \"what\", che Ren'Py usa per gestire la visualizzazione del testo. Può creare anche displayable con id \"who\" e id \"window\" per applicarvi proprietà di stile."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -28,16 +26,15 @@ translate italian strings:
# screens.rpy:169
old "## Input screen"
# Automatic translation.
new "## Schermata di ingresso"
new "## Schermata di inserimento"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Questo schermo si usa per mostrare renpy.input. Il parametro prompt è usato per fornire un prompt testuale."
new "## Questa schermata si usa per mostrare renpy.input. Il parametro prompt è usato per fornire un prompt testuale."
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Questo schermo deve creare un input displayable con id \"input\" per accettare i vari parametri dell'input."
new "## Questa schermata deve creare un displayable input con id \"input\" per accettare i vari parametri dell'input."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -45,12 +42,11 @@ translate italian strings:
# screens.rpy:205
old "## Choice screen"
# Automatic translation.
new "## Schermata di scelta"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Questo screen è usato per mostrare le scelte nel gioco, offerte dal comando 'menu'. Il solo parametro, 'items', è una lista di oggetti, ciascuna coi campi 'caption' e 'action'."
new "## Questa schermata è usata per mostrare le scelte nel gioco, offerte dal comando 'menu'. Il solo parametro, 'items', è una lista di oggetti, ciascuna coi campi 'caption' e 'action'."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -62,12 +58,11 @@ translate italian strings:
# screens.rpy:244
old "## Quick Menu screen"
# Automatic translation.
new "## Schermata del menu rapido"
new "## Schermata del Menu Rapido"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Il Quick Menu è mostrato durante il gioco per fornire accesso rapido ai menu esterni."
new "## Il menu rapido è mostrato durante il gioco per fornire accesso facile ai menu esterni."
# screens.rpy:261
old "Back"
@@ -91,11 +86,11 @@ translate italian strings:
# screens.rpy:266
old "Q.Save"
new "Salva V."
new "Salva R."
# screens.rpy:267
old "Q.Load"
new "Carica V."
new "Carica R."
# screens.rpy:268
old "Prefs"
@@ -107,12 +102,11 @@ translate italian strings:
# screens.rpy:291
old "## Navigation screen"
# Automatic translation.
new "## Schermata di navigazione"
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Questo screen è incluso nel main menu e nel game menu, e consente di navigare verso altri menu o di iniziare il gioco."
new "## Questa schermata è inclusa nei menu principale e di gioco, e consente di navigare verso altri menu o di iniziare il gioco."
# screens.rpy:308
old "Start"
@@ -140,7 +134,7 @@ translate italian strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## L'Aiuto non è necessario nei dispositivi mobili."
new "## L'Aiuto non è necessario o rilevante sui dispositivi mobili."
# screens.rpy:333
old "Help"
@@ -148,7 +142,7 @@ translate italian strings:
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## Il pulsante Esci è vietato in iOS e inutile su Android."
new "## Il pulsante esci è vietato su iOS e inutile su Android."
# screens.rpy:336
old "Quit"
@@ -156,12 +150,11 @@ translate italian strings:
# screens.rpy:350
old "## Main Menu screen"
# Automatic translation.
new "## Schermata del menu principale"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Usato per mostrare il main menu quando si avvia Ren'Py."
new "## Usato per mostrare il menu principale quando si avvia Ren'Py."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -169,20 +162,19 @@ translate italian strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Il comando 'use' include un'altro schermo all'interno di questo. I reali contenuti del main menu sono nel navigation screen."
new "## Il comando 'use' include un'altra schermata all'interno della corrente. I contenuti effettivi del menu principale sono nella schermata di navigazione."
# screens.rpy:413
old "## Game Menu screen"
# Automatic translation.
new "## Schermata del menu di gioco"
new "## Schermata del Menu di Gioco"
# screens.rpy:415
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## Costruisce la struttura comune di tutti gli screen game menu. Viene avviato nella schermata del titolo, e mostra lo sfondo, il titolo e la navigazione."
new "## Costituisce la struttura comune di qualunque schermata del menu di gioco. Viene avviato nella schermata del titolo, e mostra lo sfondo, il titolo e la navigazione."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Il parametro 'scroll' può essere None, oppure uno fra \"viewport\" o \"vpgrid\". Questo screen è creato per essere usato con uno o più figli, che sono trasclusi (piazzati) dentro di esso."
new "## Il parametro 'scroll' può essere None, oppure uno fra \"viewport\" o \"vpgrid\". Questa schermata è progettata per essere usata con uno o più figli, che sono trasclusi (piazzati) dentro di esso."
# screens.rpy:476
old "Return"
@@ -190,20 +182,19 @@ translate italian strings:
# screens.rpy:539
old "## About screen"
# Automatic translation.
new "## Informazioni sullo schermo"
new "## Schermata delle informazioni"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Questo screen fornisce i crediti e le informazioni di copyright sul gioco e su Ren'Py."
new "## Questa schermata visualizza i crediti e le informazioni di copyright sul gioco e su Ren'Py."
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## Non c'è niente di speciale in questo screen, pertanto può servire come esempio su come si crea uno screen personalizzato."
new "## Non c'è niente di speciale in questa schermata, pertanto può servire come esempio su come si crea una schermata personalizzata."
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## Questo comando 'use' include lo screen game_menu dentro questo screen. Il figlio di vbox è quindi incluso nel viewport all'interno dello screen game_menu. \n## ===PER NEOFITI===: in pratica viene prima chiamato il game menu che stabilisce spaziature, sfondo, titoli e una viewport. Questo screen chiama e mostra il navigation screen a sinistra, che a sua volta determina quale screen (opzioni, slot, aiuto...) mostrare nella viewport a destra."
new "## Questo comando 'use' include la schermata game_menu all'interno della corrente. Il figlio di vbox è quindi incluso nel viewport all'interno dello screen game_menu. \n## ===PER NEOFITI===: in pratica viene prima chiamato il game menu che stabilisce spaziature, sfondo, titoli e una viewport. Questo screen chiama e mostra il navigation screen a sinistra, che a sua volta determina quale screen (opzioni, slot, aiuto...) mostrare nella viewport a destra."
# screens.rpy:561
old "Version [config.version!t]\n"
@@ -223,8 +214,7 @@ translate italian strings:
# screens.rpy:582
old "## Load and Save screens"
# Automatic translation.
new "## Schermate di caricamento e salvataggio"
new "## Schermate di Caricamento e Salvataggio"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
@@ -284,7 +274,6 @@ translate italian strings:
# screens.rpy:711
old "## Preferences screen"
# Automatic translation.
new "## Schermata delle preferenze"
# screens.rpy:713
@@ -341,19 +330,19 @@ translate italian strings:
# screens.rpy:767
old "Text Speed"
new "Velocità Testo"
new "Velocità del Testo"
# screens.rpy:771
old "Auto-Forward Time"
new "Avanzamento automatico"
new "Ritmo di Avanzamento Automatico"
# screens.rpy:778
old "Music Volume"
new "Volume Musica"
new "Volume della Musica"
# screens.rpy:785
old "Sound Volume"
new "Volume Suoni"
new "Volume dei Suoni"
# screens.rpy:791
old "Test"
@@ -361,16 +350,15 @@ translate italian strings:
# screens.rpy:795
old "Voice Volume"
new "Volume Voce"
new "Volume della Voce"
# screens.rpy:806
old "Mute All"
new "Silenzio"
new "Silenzia Tutto"
# screens.rpy:882
old "## History screen"
# Automatic translation.
new "## Schermata della storia"
new "## Schermata della cronologia"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
@@ -398,7 +386,6 @@ translate italian strings:
# screens.rpy:965
old "## Help screen"
# Automatic translation.
new "## Schermata di aiuto"
# screens.rpy:967
@@ -423,7 +410,7 @@ translate italian strings:
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Avanza nei dialoghi e conferma scelta."
new "Avanza nei dialoghi e conferma opzioni."
# screens.rpy:1007
old "Space"
@@ -467,8 +454,7 @@ translate italian strings:
# screens.rpy:1027
old "Page Up"
# Automatic translation.
new "Pagina su"
new "Pagina Su"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
@@ -476,8 +462,7 @@ translate italian strings:
# screens.rpy:1031
old "Page Down"
# Automatic translation.
new "Pagina giù"
new "Pagina Giù"
# screens.rpy:1032
old "Rolls forward to later dialogue."
@@ -485,7 +470,7 @@ translate italian strings:
# screens.rpy:1036
old "Hides the user interface."
new "Nascondi l'interfaccia."
new "Nascondi l'interfaccia utente."
# screens.rpy:1040
old "Takes a screenshot."
@@ -513,7 +498,7 @@ translate italian strings:
# screens.rpy:1066
old "Mouse Wheel Down"
new "Rotella Giu"
new "Rotella Giù"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
@@ -529,7 +514,7 @@ translate italian strings:
# screens.rpy:1081
old "Right Shoulder"
new "Laterale Destro"
new "Dorsale Destro"
# screens.rpy:1082
old "Roll forward to later dialogue."
@@ -537,13 +522,11 @@ translate italian strings:
# screens.rpy:1085
old "D-Pad, Sticks"
# Automatic translation.
new "D-Pad, bastoni"
new "Croce direzionale, Joystick"
# screens.rpy:1089
old "Start, Guide"
# Automatic translation.
new "Avvio, Guida"
new "Start, Guida"
# screens.rpy:1090
old "Access the game menu."
@@ -551,7 +534,7 @@ translate italian strings:
# screens.rpy:1093
old "Y/Top Button"
new "Y/Pulsante superiore"
new "Pulsante Y/Superiore"
# screens.rpy:1096
old "Calibrate"
@@ -559,16 +542,15 @@ translate italian strings:
# screens.rpy:1124
old "## Additional screens"
new "## Screen addizionali"
new "## Schermate addizionali"
# screens.rpy:1128
old "## Confirm screen"
# Automatic translation.
new "## Conferma la schermata"
new "## Schermata di conferma"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## Lo screen confirm è usato quando Ren'Py vuole porre una domanda 'sì o no?' al giocatore."
new "## La schermata di conferma (confirm) è usata quando Ren'Py vuole porre una domanda 'sì o no?' al giocatore."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -592,12 +574,11 @@ translate italian strings:
# screens.rpy:1191
old "## Skip indicator screen"
# Automatic translation.
new "## Schermata dell'indicatore di salto"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Lo screen skip_indicator è impiegato per indicare che è in corso la modalità salto."
new "## La schermata skip_indicator è visualizzata per indicare che è in corso la modalità salto."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -613,12 +594,11 @@ translate italian strings:
# screens.rpy:1247
old "## Notify screen"
# Automatic translation.
new "## Schermata di notifica"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## Lo screen notify è usato per mostrare una notifica al giocatore (per esempio, quando si salva rapidamente o si cattura una schermata)."
new "## La schermata di notifica (notify) è usata per mostrare una notifica al giocatore (per esempio, quando si salva rapidamente o si cattura una schermata)."
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -626,12 +606,11 @@ translate italian strings:
# screens.rpy:1286
old "## NVL screen"
# Automatic translation.
new "## Schermo NVL"
new "## Schermata NVL"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## Questo screen è usato per dialoghi e menu in modalità NVL."
new "## Questa schermata è usata per dialoghi e menu in modalità NVL."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -651,7 +630,7 @@ translate italian strings:
# screens.rpy:1406
old "## Mobile Variants"
new "## Varianti Mobili"
new "## Varianti Mobili"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
@@ -695,14 +674,11 @@ translate italian strings:
# screens.rpy:1079
old "Left Trigger\nLeft Shoulder"
new "Grilletto Sinistro\nLaterale Sinistro"
translate italian strings:
new "Grilletto Sinistro\nDorsale Sinistro"
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
# Automatic translation.
new "## Rendere la casella dei nomi disponibile per lo styling attraverso l'oggetto Character."
new "## Rendi la casella dei nomi disponibile per lo styling attraverso l'oggetto Character."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
@@ -714,8 +690,7 @@ translate italian strings:
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
# Automatic translation.
new "## Il pulsante di abbandono è vietato su iOS e non è necessario su Android e sul Web."
new "## Il pulsante esci è vietato su iOS e inutile su Android e sul Web."
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -723,23 +698,19 @@ translate italian strings:
# gui/game/screens.rpy:676
old "Upload Sync"
# Automatic translation.
new "Sincronizzazione del caricamento"
new "Carica dati per la Sincronizzazione"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Scarica Sync"
new "Scarica dati Sincronizzati"
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
# Automatic translation.
new "## Determina quali tag possono essere visualizzati nella schermata della cronologia."
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
# Automatic translation.
new "Apre il menu di accessibilità."
new "Apri il menu di accessibilità."
# gui/game/screens.rpy:1139
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -747,8 +718,7 @@ translate italian strings:
# gui/game/screens.rpy:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
# Automatic translation.
new "## Dobbiamo usare un carattere che contenga il glifo NERO TRIANGOLO PICCOLO IN PUNTA DESTRA."
new "## Bisogna usare un carattere che contenga il glifo BLACK RIGHT-POINTING SMALL TRIANGLE."
# gui/game/screens.rpy:1296
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -756,13 +726,11 @@ translate italian strings:
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
new "## Schermo a bolle"
new "## Schermata a bolle"
# gui/game/screens.rpy:1412
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
# Automatic translation.
new "## La schermata bubble è usata per visualizzare il dialogo al giocatore quando si usano le bolle vocali. Lo schermo a bolle prende gli stessi parametri dello schermo say, deve creare un visualizzabile con l'id \"what\" e può creare visualizzabili con gli id \"namebox\", \"who\" e \"window\"."
new "## La schermata a bolle (bubble) è usata per visualizzare il dialogo al giocatore quando si usano le bolle di dialogo. La schermata a bolle prende gli stessi parametri della schermata say, deve creare un visualizzabile con l'id \"what\" e può creare visualizzabili con gli id \"namebox\", \"who\" e \"window\"."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
+2 -3
View File
@@ -13,7 +13,6 @@ label start:
# aggiungere un file (chiamato "bg room.png" oppure "bg room.jpg")
# alla directory 'images' per cambiarla.
scene bg room
# Mostra lo sprite di un personaggio.
@@ -26,11 +25,11 @@ label start:
"Funziona davvero!"
e "Hai creato un nuovo gioco Ren'py."
e "Hai creato un nuovo gioco Ren'Py."
e "Quando aggiungerai una storia, immagini e musica, potrai distribuirlo nel mondo!"
# Questo finisce il gioco.
# Questo termina il gioco.
return
+42 -2
View File
@@ -735,7 +735,7 @@ translate japanese strings:
# renpy/common/00accessibility.rpy:191
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "このメニューのオプションはアクセス性を改善するためのものです。すべてのゲームで動作するわけではなく、特定の組合せではゲームを正常にレンダリングしないでしょう。これはゲームやエンジンの問題ではありません。フォント変更時に最良の結果を得るには、テキストサイズをオリジナルのままにしてください。"
new "このメニューのオプションはアクセシビリティーを改善するためのものです。すべてのゲームで動作するわけではなく、特定の組合せではゲームを正常にレンダリングしないでしょう。これはゲームやエンジンの問題ではありません。フォント変更時に最良の結果を得るには、テキストサイズをオリジナルのままにしてください。"
# renpy/common/00preferences.rpy:430
old "font transform"
@@ -791,7 +791,7 @@ translate japanese strings:
# renpy/common/00preferences.rpy:490
old "accessibility menu"
new "アクセス性メニュー"
new "アクセシビリティーメニュー"
# renpy/common/00preferences.rpy:493
old "high contrast text"
@@ -980,3 +980,43 @@ translate japanese strings:
old "Retry"
new "リトライ"
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "アクセシビリティーメニュー。上下矢印キーをナビゲーションに使用し、ボタンとバーのアクティブ化にはエンターを使用します"
# renpy/common/00accessibility.rpy:197
old "Self-voicing support is limited when using a touch screen."
new "セルフボイシングのサポートはタッチスクリーン使用時に限定されます"
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "続きから開始しますか"
# renpy/common/00preferences.rpy:438
old "self voicing enable"
new "セルフボイシング有効化"
# renpy/common/00preferences.rpy:440
old "self voicing disable"
new "セルフボイシング無効化"
# renpy/common/00preferences.rpy:455
old "clipboard voicing enable"
new "クリップボードボイシング有効化"
# renpy/common/00preferences.rpy:457
old "clipboard voicing disable"
new "クリップボードボイシング無効化"
# renpy/common/00preferences.rpy:464
old "debug voicing enable"
new "デバックボイシング有効化"
# renpy/common/00preferences.rpy:466
old "debug voicing disable"
new "デバックボイシング無効化"
# renpy/common/00preferences.rpy:595
old "reset"
new "リセット"
+2 -3
View File
@@ -250,10 +250,9 @@ translate japanese strings:
new "\n{color=#fff}クリップボードにコピー{/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}クリックでコピー.\nドラッグで移動します{/color}"
new ""
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff}クリックでコピー.\nドラッグで移動します{/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "エディターで開く"
+9
View File
@@ -2290,3 +2290,12 @@ translate japanese strings:
# game/updater.rpy:78
old "Nightly Fix (Ren'Py 7, Python 2)"
new "Nightly Fix (Ren'Py 7, Python 2)"
# game/install.rpy:186
old "The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc."
new "{a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} は Live2D モデルの表示サポートを追加します。CubismSdkForNative-{i}version{/i}.zip を Ren'Py SDK ディレクトリーに配置して、インストールをクリックしてください。Live2Dと共にゲームを配布するには Live2D, Inc からあなたがライセンスを所得する必要がります"
# game/preferences.rpy:258
old "Prefer the web documentation"
new "Web上のドキュメントを優先する"
+4 -4
View File
@@ -346,15 +346,15 @@ translate japanese strings:
# screens.rpy:752
old "Unseen Text"
new "未読テキストもスキップ"
new "未読テキスト"
# screens.rpy:753
old "After Choices"
new "選択肢後もスキップ継続"
new "選択肢後"
# screens.rpy:754
old "Transitions"
new "トランジションをスキップ"
new "トランジション"
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
@@ -697,7 +697,7 @@ translate japanese strings:
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
new "アクセス性メニューを開きます。"
new "アクセシビリティーメニューを開きます。"
# gui/game/screens.rpy:1307
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
+2 -2
View File
@@ -2067,12 +2067,12 @@ translate korean strings:
# game/preferences.rpy:338
old "{#in language font}Welcome! Please choose a language"
# Automatic translation.
new "{#in language font}환영합니다! 언어를 선택해 주세요."
new "{font=SourceHanSansLite.ttf}환영합니다! 언어를 선택해 주세요."
# game/preferences.rpy:373
old "{#in language font}Start using Ren'Py in [lang_name]"
# Automatic translation.
new "{#in language font}다음에서 Ren'Py 사용 시작 [lang_name]"
new "{font=SourceHanSansLite.ttf}다음에서 Ren'Py 사용 시작 [lang_name]"
# game/project.rpy:46
old "Lint checks your game for potential mistakes, and gives you statistics."
+1 -1
View File
@@ -53,7 +53,7 @@
# game/editor.rpy:327
old "An exception occured while launching the text editor:\n[exception!q]"
new "Ocorreu uma exceção ao executar o editor de texto:\[exception!q]"
new "Ocorreu uma exceção ao executar o editor de texto:\n[exception!q]"
# game/editor.rpy:423
old "Select Editor"
+1 -1
View File
@@ -1874,7 +1874,7 @@
# game/androidstrings.rpy:43
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Please make sure you installed the 'JavaSoft (Oracle) registry keys'.\n\nWithout a working JDK, I can't continue."
new "Не удалось использовать javac для компиляции тестового файла. Если вы еще не установили Java Development Kit, загрузите его с:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\JDK отличается от JRE, поэтому возможно, что у вас есть Java без JDK. Пожалуйста, убедитесь, что вы установили 'переменные окружения JavaSoft (Oracle)'.\n\nБез работающего JDK я не могу продолжать."
new "Не удалось использовать javac для компиляции тестового файла. Если вы еще не установили Java Development Kit, загрузите его с:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nJDK отличается от JRE, поэтому возможно, что у вас есть Java без JDK. Пожалуйста, убедитесь, что вы установили 'переменные окружения JavaSoft (Oracle)'.\n\nБез работающего JDK я не могу продолжать."
# game/androidstrings.rpy:64
old "I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place."
-1
View File
@@ -131,7 +131,6 @@ translate russian strings:
# options.rpy:144
old "## Linux: $HOME/.renpy/<config.save_directory>"
# Automatic translation.
new "## Linux: $HOME/.renpy/<config.save_directory>."
# options.rpy:146
+5 -10
View File
@@ -447,8 +447,7 @@ translate russian strings:
# screens.rpy:1004
old "Enter"
# Automatic translation.
new "Войти"
new "Enter"
# screens.rpy:1005
old "Advances dialogue and activates the interface."
@@ -496,8 +495,7 @@ translate russian strings:
# screens.rpy:1028
old "Page Up"
# Automatic translation.
new "Страница вверху"
new "Page Up"
# screens.rpy:1029
old "Rolls back to earlier dialogue."
@@ -505,8 +503,7 @@ translate russian strings:
# screens.rpy:1032
old "Page Down"
# Automatic translation.
new "Страница вниз"
new "Page Down"
# screens.rpy:1033
old "Rolls forward to later dialogue."
@@ -683,12 +680,10 @@ translate russian strings:
# gui/game/screens.rpy:676
old "Upload Sync"
# Automatic translation.
new "Синхронизация загрузки"
new "Загрузить Sync"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Скачать Sync"
# gui/game/screens.rpy:1410
@@ -712,4 +707,4 @@ translate russian strings:
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "Старт, Гид, B/кнопка вправо"
new "Старт, Гид, B/Правая кнопка"
+336
View File
@@ -803,3 +803,339 @@
# renpy/common/00sync.rpy:631
old "Sync Error"
new "同步错误"
# renpy/common/00accessibility.rpy:32
old "bar"
new "栏"
# renpy/common/00accessibility.rpy:33
old "selected"
new "选定"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "视口"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
new "水平滚动"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
new "垂直滚动"
# renpy/common/00accessibility.rpy:37
old "activate"
new "激活"
# renpy/common/00accessibility.rpy:38
old "deactivate"
new "停用"
# renpy/common/00accessibility.rpy:39
old "increase"
new "增加"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "减少"
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "辅助功能菜单。使用向上和向下箭头进行导航,并使用 Enter 激活按钮和栏"
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "自定义 director.transforms 以添加更多变换"
# renpy/common/00director.rpy:1821
old "Click to set."
new "点击设置"
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "自定义 director.transitions 以添加更多过渡。"
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "自定义 director.audio_channels 以添加更多音频频道。"
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "您确定要从上次中断的地方继续吗?"
# renpy/common/00preferences.rpy:288
old "display"
new "显示"
# renpy/common/00preferences.rpy:308
old "transitions"
new "过渡"
# renpy/common/00preferences.rpy:317
old "skip transitions"
new "跳过过渡"
# renpy/common/00preferences.rpy:319
old "video sprites"
new "视频精灵"
# renpy/common/00preferences.rpy:328
old "show empty window"
new "显示空窗口"
# renpy/common/00preferences.rpy:337
old "text speed"
new "文本速度"
# renpy/common/00preferences.rpy:345
old "joystick"
new "手柄"
# renpy/common/00preferences.rpy:345
old "joystick..."
new "手柄..."
# renpy/common/00preferences.rpy:352
old "skip"
new "跳过"
# renpy/common/00preferences.rpy:355
old "skip unseen [text]"
new "跳过没见过的 [text]"
# renpy/common/00preferences.rpy:360
old "skip unseen text"
new "跳过没见过的文本"
# renpy/common/00preferences.rpy:362
old "begin skipping"
new "开头快进"
# renpy/common/00preferences.rpy:366
old "after choices"
new "选项后"
# renpy/common/00preferences.rpy:373
old "skip after choices"
new "选项后快进"
# renpy/common/00preferences.rpy:375
old "auto-forward time"
new "自动推进时间"
# renpy/common/00preferences.rpy:389
old "auto-forward"
new "自动推进"
# renpy/common/00preferences.rpy:396
old "Auto forward"
new "自动推进"
# renpy/common/00preferences.rpy:399
old "auto-forward after click"
new "单击后自动推进"
# renpy/common/00preferences.rpy:408
old "automatic move"
new "自动移动"
# renpy/common/00preferences.rpy:417
old "wait for voice"
new "等待朗读"
# renpy/common/00preferences.rpy:426
old "voice sustain"
new "维持朗读"
# renpy/common/00preferences.rpy:435
old "self voicing"
new "机器朗读"
# renpy/common/00preferences.rpy:438
old "self voicing enable"
new "机器朗读已启用"
# renpy/common/00preferences.rpy:440
old "self voicing disable"
new "机器朗读已禁用"
# renpy/common/00preferences.rpy:444
old "self voicing volume drop"
new "机器朗读音量减小"
# renpy/common/00preferences.rpy:452
old "clipboard voicing"
new "剪贴板朗读"
# renpy/common/00preferences.rpy:455
old "clipboard voicing enable"
new "剪贴板朗读已启用"
# renpy/common/00preferences.rpy:457
old "clipboard voicing disable"
new "剪贴板朗读已禁用"
# renpy/common/00preferences.rpy:461
old "debug voicing"
new "调试朗读"
# renpy/common/00preferences.rpy:464
old "debug voicing enable"
new "调试朗读已启用"
# renpy/common/00preferences.rpy:466
old "debug voicing disable"
new "调试朗读已禁用"
# renpy/common/00preferences.rpy:470
old "emphasize audio"
new "强调音频"
# renpy/common/00preferences.rpy:479
old "rollback side"
new "回滚侧"
# renpy/common/00preferences.rpy:489
old "gl powersave"
new "gl 省电"
# renpy/common/00preferences.rpy:495
old "gl framerate"
new "gl 帧率"
# renpy/common/00preferences.rpy:498
old "gl tearing"
new "gl 撕裂"
# renpy/common/00preferences.rpy:501
old "font transform"
new "字体变换"
# renpy/common/00preferences.rpy:504
old "font size"
new "字体大小"
# renpy/common/00preferences.rpy:512
old "font line spacing"
new "字体间距"
# renpy/common/00preferences.rpy:520
old "system cursor"
new "系统光标"
# renpy/common/00preferences.rpy:529
old "renderer menu"
new "渲染器菜单"
# renpy/common/00preferences.rpy:532
old "accessibility menu"
new "辅助功能菜单"
# renpy/common/00preferences.rpy:535
old "high contrast text"
new "高对比度文本"
# renpy/common/00preferences.rpy:544
old "audio when minimized"
new "最小化时的音频"
# renpy/common/00preferences.rpy:553
old "audio when unfocused"
new "未聚焦时的音频"
# renpy/common/00preferences.rpy:562
old "web cache preload"
new "网络缓存预加载"
# renpy/common/00preferences.rpy:577
old "voice after game menu"
new "游戏菜单后语音"
# renpy/common/00preferences.rpy:586
old "restore window position"
new "恢复窗口位置"
# renpy/common/00preferences.rpy:595
old "reset"
new "重置"
# renpy/common/00preferences.rpy:608
old "main volume"
new "主要音量"
# renpy/common/00preferences.rpy:609
old "music volume"
new "音乐音量"
# renpy/common/00preferences.rpy:610
old "sound volume"
new "声音音量"
# renpy/common/00preferences.rpy:611
old "voice volume"
new "语音音量"
# renpy/common/00preferences.rpy:612
old "mute main"
new "静音主要"
# renpy/common/00preferences.rpy:613
old "mute music"
new "静音音乐"
# renpy/common/00preferences.rpy:614
old "mute sound"
new "静音声音"
# renpy/common/00preferences.rpy:615
old "mute voice"
new "静音语音"
# renpy/common/00preferences.rpy:616
old "mute all"
new "静音全部"
# renpy/common/00speechbubble.rpy:397
old "(hide)"
new "(隐藏)"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(清除保留的气泡)"
# renpy/common/00updater.rpy:505
old "No update methods found."
new "未找到更新方法"
# renpy/common/00updater.rpy:552
old "Could not download file list: "
new "无法下载文件列表:"
# renpy/common/00updater.rpy:555
old "File list digest does not match."
new "文件列表摘要不匹配"
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "准备下载游戏数据"
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "下载游戏数据"
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "游戏数据已下载"
# renpy/common/00updater.rpy:2078
old "An error occured when trying to download game data:"
new "尝试下载游戏数据时发生错误:"
# renpy/common/00updater.rpy:2083
old "This game cannot be run until the game data has been downloaded."
new "在游戏数据下载完毕之前,该游戏无法运行"
# renpy/common/00updater.rpy:2090
old "Retry"
new "重试"
+39
View File
@@ -96,3 +96,42 @@
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "帮助功能可能会显示未记录文档的函数。请确认您想使用的函数或类是否已经被记录文档。\n\n"
# renpy/common/_developer/developer.rpym:69
old "Show Translation Identifiers"
new "显示翻译标识符"
# renpy/common/_developer/developer.rpym:72
old "Hide Translation Identifiers"
new "隐藏翻译标识符"
# renpy/common/_developer/developer.rpym:81
old "Show Filename and Line"
new "显示文件名和行"
# renpy/common/_developer/developer.rpym:84
old "Hide Filename and Line"
new "隐藏文件名和行"
# renpy/common/_developer/developer.rpym:127
old "Layer [l]:"
new "层 [l] "
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (隐藏)"
# renpy/common/_developer/developer.rpym:135
old " [name] [attributes]"
new " [name] [attributes]"
# renpy/common/_developer/developer.rpym:606
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff} 已复制到剪贴板。 {/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff} 单击以复制。 \n 拖动以移动。 {/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "单击以在编辑器中打开。"
+3
View File
@@ -436,3 +436,6 @@
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## 启用对屏幕或变换中无效或不稳定属性的检查"
# gui/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## 在历史记录屏幕条目之间添加额外的空间。"
+156
View File
@@ -1853,3 +1853,159 @@
# game/updater.rpy:79
old "A nightly build of fixes to the release version of Ren'Py."
new "对 Ren'Py 发布版进行修正的每夜构建。"
# game/android.rpy:455
old "Logcat"
new "Logcat"
# game/androidstrings.rpy:37
old "Google Play."
new "Google Play"
# game/androidstrings.rpy:46
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\n{a=https://adoptium.net}https://adoptium.net/{/a}\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Please install JDK [JDK_REQUIREMENT], and add it to your PATH.\n\nWithout a working JDK, I can't continue."
new "我无法使用 javac 编译测试文件。如果您尚未安装 Java 开发工具包,请从以下位置下载:\n\n{a=https://adoptium.net}https://adoptium.net/{/a}\n\nJDK 与 JRE 不同,因此您可能有 Java,但没有 JDK。请安装 JDK [JDK_REQUIREMENT] ,并将其添加到您的 PATH 中。\n\n没有可用的 JDK 的话,我无法继续"
# game/androidstrings.rpy:47
old "The version of Java on your computer does not appear to be JDK [JDK_REQUIREMENT], which is required to build Android apps. If you need to install a newer JDK, you can download it from:\n\n{a=https://adoptium.net/}https://adoptium.net/{/a}, and add it to your PATH.\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
new "您计算机上的 Java 版本似乎不是构建 Android 应用程序所需的 JDK [JDK_REQUIREMENT] ,如果您需要安装较新的 JDK,可以从以下位置下载:\n\n{a=https://adoptium.net/}https://adoptium.net/{/a},并将其添加到您的 PATH。\n\n您还可以设置 JAVA_HOME 环境变量以使用不同版本的 Java。"
# game/choose_directory.rpy:72
old "No directory was selected, but one is required."
new "未选择目录,但至少需要一个。"
# game/choose_directory.rpy:80
old "The selected directory does not exist."
new "所选目录不存在"
# game/choose_directory.rpy:82
old "The selected directory is not writable."
new "所选目录不可写"
# game/choose_theme.rpy:371
old "Planetarium"
new "Planetarium"
# game/distribute.rpy:543
old "Building distributions failed:\n\nThe project is the Ren'Py Tutorial, which can't be distributed outside of Ren'Py. Consider using The Question as a test project."
new "构建发行版失败:\n\n该项目是 Ren'Py 教程,无法在 Ren'Py 之外分发。请考虑使用 The Question 作为测试项目。"
# game/distribute.rpy:570
old "This may be derived from build.name and config.version or build.version."
new "这可能源自 build.name 和 config.version 或 build.version。"
# game/distribute.rpy:1606
old "Finishing the [variant] [format] package."
new "正在完成 [variant] [format] 包。"
# game/editor.rpy:185
old "Atom is deprecated and its bugs are known for corrupting games, using another editor is recommended."
new "Atom 已被弃用,其错误会破坏游戏,建议使用其他编辑器。"
# game/editor.rpy:214
old "JEdit is deprecated, using another editor is recommended."
new "JEdit 已弃用,建议使用其他编辑器。"
# game/editor.rpy:607
old "The Atom text editor is no longer supported by its developers. We suggest switching to Visual Studio Code or another editor."
new "Atom 文本编辑器不再受其开发人员支持。我们建议切换到 Visual Studio Code 或其他编辑器。"
# game/editor.rpy:607
old "Select editor now."
new "现在选择编辑器"
# game/editor.rpy:607
old "Ignore until next launch."
new "忽略直到下次启动"
# game/editor.rpy:607
old "Do not ask again."
new "别再问了"
# game/front_page.rpy:133
old "The Question"
new "The Question"
# game/navigation.rpy:230
old "Show translation files"
new "显示翻译文件"
# game/new_project.rpy:38
old "Warning : you are using Ren'Py 7. It is recommended to start new projects using Ren'Py 8 instead."
new "警告:您正在使用 Ren'Py 7。建议使用 Ren'Py 8 开始新项目。"
# game/new_project.rpy:49
old "Please select a template project to use."
new "请选择要使用的模板项目"
# game/new_project.rpy:49
old "Do not use a template project."
new "不要使用模板项目"
# game/preferences.rpy:95
old "Lint"
new "Lint"
# game/preferences.rpy:234
old "Game Options:"
new "游戏选项:"
# game/preferences.rpy:241
old "Skip splashscreen"
new "跳过启动画面"
# game/preferences.rpy:258
old "Prefer the web documentation"
new "偏好网络文档"
# game/preferences.rpy:262
old "Restore window position"
new "恢复窗口位置"
# game/preferences.rpy:266
old "Prefer RPU updates"
new "偏好 RPU 更新"
# game/preferences.rpy:338
old "Open projects.txt"
new "打开 projects.txt"
# game/preferences.rpy:364
old "Lint toggles:"
new "Lint 功能开关:"
# game/preferences.rpy:368
old "Check for orphan/obsolete translations"
new "检查孤立/过时的翻译"
# game/preferences.rpy:371
old "Check parameters shadowing reserved names"
new "检查参数隐藏保留名称"
# game/preferences.rpy:374
old "Print block, word, and character counts by speaking character."
new "通过对话字符来打印块、单词和字符计数。"
# game/preferences.rpy:377
old "Unclosed text tags"
new "未封闭的文本标签"
# game/preferences.rpy:380
old "Show all unreachable blocks and orphaned translations."
new "显示所有无法访问的块和孤立的翻译"
# game/project.rpy:776
old "Splashscreen skipped in launcher preferences."
new "在启动器首选项中跳过启动画面。"
# game/updater.rpy:76
old "Nightly Fix"
new "每夜修复版"
# game/updater.rpy:77
old "Nightly Fix (Ren'Py 8, Python 3)"
new "每夜修复版(Ren'Py 8Python 3"
# game/updater.rpy:78
old "Nightly Fix (Ren'Py 7, Python 2)"
new "每夜修复版(Ren'Py 7Python 2"
+16 -13
View File
@@ -22,7 +22,7 @@
# gui/game/screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## https://www.renpy.cn/doc/screen_special.html#say"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#say"
# gui/game/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."
@@ -46,7 +46,7 @@
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://www.renpy.cn/doc/screen_special.html#input"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#input"
# gui/game/screens.rpy:200
old "## Choice screen"
@@ -58,7 +58,7 @@
# gui/game/screens.rpy:206
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://www.renpy.cn/doc/screen_special.html#choice"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#choice"
# gui/game/screens.rpy:234
old "## Quick Menu screen"
@@ -170,7 +170,7 @@
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://www.renpy.cn/doc/screen_special.html#main-menu"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#main-menu"
# gui/game/screens.rpy:352
old "## This ensures that any other menu screen is replaced."
@@ -242,7 +242,7 @@
# gui/game/screens.rpy:579
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.cn/doc/screen_special.html#save https://www.renpy.cn/doc/screen_special.html#load"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#save https://doc.renpy.cn/zh-CN/screen_special.html#load"
# gui/game/screens.rpy:598
old "Page {}"
@@ -310,7 +310,7 @@
# gui/game/screens.rpy:709
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## https://www.renpy.cn/doc/screen_special.html#preferences"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#preferences"
# gui/game/screens.rpy:726
old "Display"
@@ -379,7 +379,7 @@
# gui/game/screens.rpy:869
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.cn/doc/history.html"
new "## https://doc.renpy.cn/zh-CN/history.html"
# gui/game/screens.rpy:875
old "## Avoid predicting this screen, as it can be very large."
@@ -498,7 +498,7 @@
# gui/game/screens.rpy:1032
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
new "切换辅助{a=https://www.renpy.cn/doc/self_voicing.html}机器朗读{/a}。"
new "切换辅助{a=https://doc.renpy.cn/zh-CN/self_voicing.html}机器朗读{/a}。"
# gui/game/screens.rpy:1036
old "Opens the accessibility menu."
@@ -566,7 +566,7 @@
# gui/game/screens.rpy:1126
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://www.renpy.cn/doc/screen_special.html#confirm"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#confirm"
# gui/game/screens.rpy:1130
old "## Ensure other screens do not get input while this screen is displayed."
@@ -594,7 +594,7 @@
# gui/game/screens.rpy:1189
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## https://www.renpy.cn/doc/screen_special.html#skip-indicator"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#skip-indicator"
# gui/game/screens.rpy:1201
old "Skipping"
@@ -618,7 +618,7 @@
# gui/game/screens.rpy:1245
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## https://www.renpy.cn/doc/screen_special.html#notify-screen"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#notify-screen"
# gui/game/screens.rpy:1279
old "## NVL screen"
@@ -630,7 +630,7 @@
# gui/game/screens.rpy:1283
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.cn/doc/screen_special.html#nvl"
new "## https://doc.renpy.cn/zh-CN/screen_special.html#nvl"
# gui/game/screens.rpy:1294
old "## Displays dialogue in either a vpgrid or the vbox."
@@ -674,5 +674,8 @@
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
new "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
new "## https://doc.renpy.cn/zh-CN/bubble.html#bubble-screen"
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "开始,向导,B/右键"
+1 -1
View File
@@ -884,7 +884,7 @@ translate spanish strings:
# renpy/common/00sync.rpy:593
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "Puede usar esta ID para descargar su guardado en otro dispositivo.\nEsta sincronización caducará en una hora.\RenPy Sync está para {a=https://www.renpy.org/sponsors.html}los patrocinadores de Ren'Py{/a}."
new "Puede usar esta ID para descargar su guardado en otro dispositivo.\nEsta sincronización caducará en una hora.\nRenPy Sync está para {a=https://www.renpy.org/sponsors.html}los patrocinadores de Ren'Py{/a}."
# renpy/common/00sync.rpy:619
old "Sync Error"
+671 -47
View File
@@ -3,155 +3,155 @@ translate tchinese strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Monday"
new "{#weekday}星期一"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
new "{#weekday}Tuesday"
new "{#weekday}星期二"
# 00action_file.rpy:26
old "{#weekday}Wednesday"
new "{#weekday}Wednesday"
new "{#weekday}星期三"
# 00action_file.rpy:26
old "{#weekday}Thursday"
new "{#weekday}Thursday"
new "{#weekday}星期四"
# 00action_file.rpy:26
old "{#weekday}Friday"
new "{#weekday}Friday"
new "{#weekday}星期五"
# 00action_file.rpy:26
old "{#weekday}Saturday"
new "{#weekday}Saturday"
new "{#weekday}星期六"
# 00action_file.rpy:26
old "{#weekday}Sunday"
new "{#weekday}Sunday"
new "{#weekday}星期日"
# 00action_file.rpy:37
old "{#weekday_short}Mon"
new "{#weekday_short}Mon"
new "{#weekday_short}周一"
# 00action_file.rpy:37
old "{#weekday_short}Tue"
new "{#weekday_short}Tue"
new "{#weekday_short}周二"
# 00action_file.rpy:37
old "{#weekday_short}Wed"
new "{#weekday_short}Wed"
new "{#weekday_short}周三"
# 00action_file.rpy:37
old "{#weekday_short}Thu"
new "{#weekday_short}Thu"
new "{#weekday_short}周四"
# 00action_file.rpy:37
old "{#weekday_short}Fri"
new "{#weekday_short}Fri"
new "{#weekday_short}周五"
# 00action_file.rpy:37
old "{#weekday_short}Sat"
new "{#weekday_short}Sat"
new "{#weekday_short}周六"
# 00action_file.rpy:37
old "{#weekday_short}Sun"
new "{#weekday_short}Sun"
new "{#weekday_short}周日"
# 00action_file.rpy:47
old "{#month}January"
new "{#month}January"
new "{#month}一月"
# 00action_file.rpy:47
old "{#month}February"
new "{#month}February"
new "{#month}二月"
# 00action_file.rpy:47
old "{#month}March"
new "{#month}March"
new "{#month}三月"
# 00action_file.rpy:47
old "{#month}April"
new "{#month}April"
new "{#month}四月"
# 00action_file.rpy:47
old "{#month}May"
new "{#month}May"
new "{#month}五月"
# 00action_file.rpy:47
old "{#month}June"
new "{#month}June"
new "{#month}六月"
# 00action_file.rpy:47
old "{#month}July"
new "{#month}July"
new "{#month}七月"
# 00action_file.rpy:47
old "{#month}August"
new "{#month}August"
new "{#month}八月"
# 00action_file.rpy:47
old "{#month}September"
new "{#month}September"
new "{#month}九月"
# 00action_file.rpy:47
old "{#month}October"
new "{#month}October"
new "{#month}十月"
# 00action_file.rpy:47
old "{#month}November"
new "{#month}November"
new "{#month}十一月"
# 00action_file.rpy:47
old "{#month}December"
new "{#month}December"
new "{#month}十二月"
# 00action_file.rpy:63
old "{#month_short}Jan"
new "{#month_short}Jan"
new "{#month_short}1月"
# 00action_file.rpy:63
old "{#month_short}Feb"
new "{#month_short}Feb"
new "{#month_short}2月"
# 00action_file.rpy:63
old "{#month_short}Mar"
new "{#month_short}Mar"
new "{#month_short}3月"
# 00action_file.rpy:63
old "{#month_short}Apr"
new "{#month_short}Apr"
new "{#month_short}4月"
# 00action_file.rpy:63
old "{#month_short}May"
new "{#month_short}May"
new "{#month_short}5月"
# 00action_file.rpy:63
old "{#month_short}Jun"
new "{#month_short}Jun"
new "{#month_short}6月"
# 00action_file.rpy:63
old "{#month_short}Jul"
new "{#month_short}Jul"
new "{#month_short}7月"
# 00action_file.rpy:63
old "{#month_short}Aug"
new "{#month_short}Aug"
new "{#month_short}8月"
# 00action_file.rpy:63
old "{#month_short}Sep"
new "{#month_short}Sep"
new "{#month_short}9月"
# 00action_file.rpy:63
old "{#month_short}Oct"
new "{#month_short}Oct"
new "{#month_short}10月"
# 00action_file.rpy:63
old "{#month_short}Nov"
new "{#month_short}Nov"
new "{#month_short}11月"
# 00action_file.rpy:63
old "{#month_short}Dec"
new "{#month_short}Dec"
new "{#month_short}12月"
# 00action_file.rpy:235
old "%b %d, %H:%M"
@@ -187,7 +187,7 @@ translate tchinese strings:
# 00gui.rpy:233
old "Are you sure you want to end the replay?"
new "Are you sure you want to end the replay?"
new "你確認你想要結束回想嗎?"
# 00gui.rpy:234
old "Are you sure you want to begin skipping?"
@@ -199,7 +199,7 @@ translate tchinese strings:
# 00gui.rpy:236
old "Are you sure you want to skip unseen dialogue to the next choice?"
new "Are you sure you want to skip unseen dialogue to the next choice?"
new "你確認你想要跳過沒看過的對話直接跳到下一個選項嗎?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -207,15 +207,15 @@ translate tchinese strings:
# 00library.rpy:142
old "Self-voicing disabled."
new "Self-voicing disabled."
new "Self-voicing 已禁用。"
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
new "Clipboard voicing 已啓用。 "
# 00library.rpy:144
old "Self-voicing enabled. "
new "Self-voicing enabled. "
new "Self-voicing 已啓用。 "
# 00library.rpy:179
old "Skip Mode"
@@ -223,7 +223,7 @@ translate tchinese strings:
# 00library.rpy:262
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
new "該程式包含許多許可證下的自由軟體,包括 MIT 許可證和 GNU 寬通用公共許可證。 {a=https://www.renpy.org/l/license}這裏{/a} 可以找到完整的軟體列表,包括完整原始碼的鏈接。 "
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -231,11 +231,11 @@ translate tchinese strings:
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Self-voicing 會開始朗讀 \"[renpy.display.tts.last]\"。 按 'alt+shift+V' 來禁用。"
# 00preferences.rpy:426
old "Self-voicing enabled. Press 'v' to disable."
new "Self-voicing 已啟用。按 'v' 禁用"
new "Self-voicing 已啟用。按 'v' 禁用"
# _compat/gamemenu.rpym:198
old "Empty Slot."
@@ -263,7 +263,7 @@ translate tchinese strings:
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
new "聯絡應用程式商店中\n請稍等。。。。。。"
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -356,3 +356,627 @@ translate tchinese strings:
# 00gallery.rpy:586
old "return"
new "返回"
# renpy/common/00accessibility.rpy:32
old "bar"
new "條"
# renpy/common/00accessibility.rpy:33
old "selected"
new "選定"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "視角"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
new "水平滾動"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
new "垂直滾動"
# renpy/common/00accessibility.rpy:37
old "activate"
new "啟動"
# renpy/common/00accessibility.rpy:38
old "deactivate"
new "停用"
# renpy/common/00accessibility.rpy:39
old "increase"
new "增加"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "減少"
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "輔助功能選單。使用向上和向下箭頭進行導航,並使用 Enter 啟動按鈕和欄位。"
# renpy/common/00accessibility.rpy:139
old "Font Override"
new "字形覆蓋"
# renpy/common/00accessibility.rpy:143
old "Default"
new "預設"
# renpy/common/00accessibility.rpy:147
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:151
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:157
old "Text Size Scaling"
new "文字大小縮放"
# renpy/common/00accessibility.rpy:163
old "Reset"
new "重置"
# renpy/common/00accessibility.rpy:169
old "Line Spacing Scaling"
new "行距縮放"
# renpy/common/00accessibility.rpy:181
old "High Contrast Text"
new "高對比度文字"
# renpy/common/00accessibility.rpy:194
old "Self-Voicing"
new "Self-voicing "
# renpy/common/00accessibility.rpy:198
old "Off"
new "關閉"
# renpy/common/00accessibility.rpy:202
old "Text-to-speech"
new "文本轉語音"
# renpy/common/00accessibility.rpy:206
old "Clipboard"
new "剪貼簿"
# renpy/common/00accessibility.rpy:210
old "Debug"
new "調試"
# renpy/common/00accessibility.rpy:224
old "Self-Voicing Volume Drop"
new "Self-voicing 音量下降"
# renpy/common/00accessibility.rpy:235
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "此選單上的選項旨在提高可訪問性。它們可能不適用於所有遊戲,並且某些選項組合可能導致遊戲無法玩。這不是遊戲或引擎的問題。為了在更改字形時獲得最佳效果,盡量保持文字大小與原來一樣。"
# renpy/common/00action_file.rpy:395
old "Save slot %s: [text]"
new "儲存槽 %s: [text]"
# renpy/common/00action_file.rpy:480
old "Load slot %s: [text]"
new "載入槽 %s: [text]"
# renpy/common/00action_file.rpy:533
old "Delete slot [text]"
new "刪除槽 [text]"
# renpy/common/00action_file.rpy:612
old "File page auto"
new "存檔頁面 自動"
# renpy/common/00action_file.rpy:614
old "File page quick"
new "存檔頁面 快速"
# renpy/common/00action_file.rpy:616
old "File page [text]"
new "存檔頁面 [text]"
# renpy/common/00action_file.rpy:815
old "Next file page."
new "下一個存檔頁面"
# renpy/common/00action_file.rpy:887
old "Previous file page."
new "上一個存檔頁面"
# renpy/common/00action_file.rpy:963
old "Quick save."
new "快速存檔"
# renpy/common/00action_file.rpy:982
old "Quick load."
new "快速加載"
# renpy/common/00action_other.rpy:383
old "Language [text]"
new "語言 [text]"
# renpy/common/00director.rpy:712
old "The interactive director is not enabled here."
new "此處未啟用互動式導演。"
# renpy/common/00director.rpy:1511
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1517
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1581
old "Done"
new "完成"
# renpy/common/00director.rpy:1591
old "(statement)"
new "(statement)"
# renpy/common/00director.rpy:1592
old "(tag)"
new "(tag)"
# renpy/common/00director.rpy:1593
old "(attributes)"
new "(attributes)"
# renpy/common/00director.rpy:1594
old "(transform)"
new "(transform)"
# renpy/common/00director.rpy:1619
old "(transition)"
new "(transition)"
# renpy/common/00director.rpy:1631
old "(channel)"
new "(channel)"
# renpy/common/00director.rpy:1632
old "(filename)"
new "(filename)"
# renpy/common/00director.rpy:1661
old "Change"
new "更改"
# renpy/common/00director.rpy:1663
old "Add"
new "新增"
# renpy/common/00director.rpy:1669
old "Remove"
new "刪除"
# renpy/common/00director.rpy:1704
old "Statement:"
new "通告:"
# renpy/common/00director.rpy:1725
old "Tag:"
new "標籤:"
# renpy/common/00director.rpy:1741
old "Attributes:"
new "屬性:"
# renpy/common/00director.rpy:1752
old "Click to toggle attribute, right click to toggle negative attribute."
new "點選切換屬性,右鍵切換負屬性。"
# renpy/common/00director.rpy:1764
old "Transforms:"
new "變換:"
# renpy/common/00director.rpy:1775
old "Click to set transform, right click to add to transform list."
new "點擊設定變換,右鍵加入到變換列表"
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "自訂 director.transforms 以新增更多變換。"
# renpy/common/00director.rpy:1788
old "Behind:"
new "後部:"
# renpy/common/00director.rpy:1799
old "Click to set, right click to add to behind list."
new "點擊設置,右鍵新增到後部列表。"
# renpy/common/00director.rpy:1811
old "Transition:"
new "過渡:"
# renpy/common/00director.rpy:1821
old "Click to set."
new "點擊設定。"
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "自訂 director.transitions 以增加更多過渡。"
# renpy/common/00director.rpy:1834
old "Channel:"
new "音訊通道:"
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "自訂 director.audio_channels 以新增更多頻道。"
# renpy/common/00director.rpy:1857
old "Audio Filename:"
new "音訊檔案名稱:"
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "您確定要從上次中斷的地方繼續嗎?"
# renpy/common/00gui.rpy:459
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
new "此儲存是在不同裝置上建立的。惡意建構的儲存檔案可能會損害您的電腦。您信任此儲存的建立者以及可能變更該檔案的每個人嗎?"
# renpy/common/00gui.rpy:460
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
new "您信任創建保存的設備嗎?只有當您是該設備的唯一用戶時,才應選擇“是”。"
# renpy/common/00keymap.rpy:323
old "Failed to save screenshot as %s."
new "無法將螢幕截圖儲存為 %s 。"
# renpy/common/00speechbubble.rpy:392
old "Speech Bubble Editor"
new "語音氣泡編輯器"
# renpy/common/00speechbubble.rpy:397
old "(hide)"
new "(隱藏)"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(清除保留的氣泡)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
new "已下載同步。"
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
new "無法連線到 Ren'Py 同步伺服器。"
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "Ren'Py 同步伺服器逾時。"
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
new "連線到 Ren'Py 同步伺服器時發生未知錯誤。"
# renpy/common/00sync.rpy:267
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
new "Ren'Py 同步伺服器沒有此同步的副本。同步 ID 可能無效,或可能已逾時。"
# renpy/common/00sync.rpy:412
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "請輸入您產生的同步 ID。 \n 切勿輸入不是您自己建立的同步 ID。"
# renpy/common/00sync.rpy:431
old "The sync ID is not in the correct format."
new "同步 ID 的格式不正確。"
# renpy/common/00sync.rpy:451
old "The sync could not be decrypted."
new "同步無法解密。"
# renpy/common/00sync.rpy:474
old "The sync belongs to a different game."
new "同步屬於不同的遊戲。"
# renpy/common/00sync.rpy:479
old "The sync contains a file with an invalid name."
new "同步包含名稱無效的檔案。"
# renpy/common/00sync.rpy:538
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "這會將您的儲存上傳到 {a=https://sync.renpy.org} Ren'Py 同步服務器 {/a} 。 \n 你想要繼續嗎?"
# renpy/common/00sync.rpy:569
old "Enter Sync ID"
new "輸入同步 ID"
# renpy/common/00sync.rpy:580
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "這將聯繫 {a=https://sync.renpy.org} Ren'Py 同步服務器 {/a} 。"
# renpy/common/00sync.rpy:609
old "Sync Success"
new "同步成功"
# renpy/common/00sync.rpy:612
old "The Sync ID is:"
new "同步 ID 為:"
# renpy/common/00sync.rpy:618
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
new "您可以使用此ID 在另一台裝置上下載您的保存內容。 \n 此同步將在一小時後過期。 \n Ren'Py 同步 由{a=https://www.renpy.org/sponsors.html} Ren'Py 的贊助商 {/a} 支持。"
# renpy/common/00sync.rpy:646
old "Sync Error"
new "同步錯誤"
# renpy/common/00updater.rpy:505
old "No update methods found."
new "未找到更新方法。"
# renpy/common/00updater.rpy:552
old "Could not download file list: "
new "無法下載的檔案清單:"
# renpy/common/00updater.rpy:555
old "File list digest does not match."
new "檔案清單摘要不符。"
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "準備下載遊戲資料。"
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "下載遊戲資料中。"
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "遊戲資料已下載。"
# renpy/common/00updater.rpy:2078
old "An error occured when trying to download game data:"
new "嘗試下載遊戲資料時發生錯誤:"
# renpy/common/00updater.rpy:2083
old "This game cannot be run until the game data has been downloaded."
new "在遊戲資料下載完畢之前,該遊戲還無法運行。"
# renpy/common/00updater.rpy:2090
old "Retry"
new "重試"
# renpy/common/00preferences.rpy:288
old "display"
new "顯示"
# renpy/common/00preferences.rpy:308
old "transitions"
new "過渡"
# renpy/common/00preferences.rpy:317
old "skip transitions"
new "跳過過渡"
# renpy/common/00preferences.rpy:319
old "video sprites"
new "視訊精靈"
# renpy/common/00preferences.rpy:328
old "show empty window"
new "顯示空視窗"
# renpy/common/00preferences.rpy:337
old "text speed"
new "文本速度"
# renpy/common/00preferences.rpy:345
old "joystick"
new "游戲桿"
# renpy/common/00preferences.rpy:345
old "joystick..."
new "游戲桿..."
# renpy/common/00preferences.rpy:352
old "skip"
new "跳過"
# renpy/common/00preferences.rpy:355
old "skip unseen [text]"
new "跳過未見過的 [text]"
# renpy/common/00preferences.rpy:360
old "skip unseen text"
new "跳過未見過的文本"
# renpy/common/00preferences.rpy:362
old "begin skipping"
new "開始快進"
# renpy/common/00preferences.rpy:366
old "after choices"
new "選項后"
# renpy/common/00preferences.rpy:373
old "skip after choices"
new "選項后快進"
# renpy/common/00preferences.rpy:375
old "auto-forward time"
new "自動推進時間"
# renpy/common/00preferences.rpy:389
old "auto-forward"
new "自動推進"
# renpy/common/00preferences.rpy:396
old "Auto forward"
new "自動推進"
# renpy/common/00preferences.rpy:399
old "auto-forward after click"
new "點擊後自動推進"
# renpy/common/00preferences.rpy:408
old "automatic move"
new "自動移動"
# renpy/common/00preferences.rpy:417
old "wait for voice"
new "等待語音"
# renpy/common/00preferences.rpy:426
old "voice sustain"
new "保持語音"
# renpy/common/00preferences.rpy:435
old "self voicing"
new "self voicing"
# renpy/common/00preferences.rpy:438
old "self voicing enable"
new "self voicing 已啓用"
# renpy/common/00preferences.rpy:440
old "self voicing disable"
new "self voicing 已禁用"
# renpy/common/00preferences.rpy:444
old "self voicing volume drop"
new "self voicing 音量減小"
# renpy/common/00preferences.rpy:452
old "clipboard voicing"
new "clipboard voicing"
# renpy/common/00preferences.rpy:455
old "clipboard voicing enable"
new "clipboard voicing 已啓用"
# renpy/common/00preferences.rpy:457
old "clipboard voicing disable"
new "clipboard voicing 已禁用"
# renpy/common/00preferences.rpy:461
old "debug voicing"
new "debug voicing"
# renpy/common/00preferences.rpy:464
old "debug voicing enable"
new "debug voicing 已啓用"
# renpy/common/00preferences.rpy:466
old "debug voicing disable"
new "debug voicing 已禁用"
# renpy/common/00preferences.rpy:470
old "emphasize audio"
new "强調音頻"
# renpy/common/00preferences.rpy:479
old "rollback side"
new "回滾側端"
# renpy/common/00preferences.rpy:489
old "gl powersave"
new "gl 節電"
# renpy/common/00preferences.rpy:495
old "gl framerate"
new "gl 幀率"
# renpy/common/00preferences.rpy:498
old "gl tearing"
new "gl 撕裂"
# renpy/common/00preferences.rpy:501
old "font transform"
new "字形變換"
# renpy/common/00preferences.rpy:504
old "font size"
new "字形大小"
# renpy/common/00preferences.rpy:512
old "font line spacing"
new "字形間隔"
# renpy/common/00preferences.rpy:520
old "system cursor"
new "系統遊標"
# renpy/common/00preferences.rpy:529
old "renderer menu"
new "渲染器選單"
# renpy/common/00preferences.rpy:532
old "accessibility menu"
new "輔助使用選單"
# renpy/common/00preferences.rpy:535
old "high contrast text"
new "高對比文本"
# renpy/common/00preferences.rpy:544
old "audio when minimized"
new "最小化時的音頻"
# renpy/common/00preferences.rpy:553
old "audio when unfocused"
new "未聚焦時的音頻"
# renpy/common/00preferences.rpy:562
old "web cache preload"
new "網路快取預先載入"
# renpy/common/00preferences.rpy:577
old "voice after game menu"
new "遊戲選單後語音"
# renpy/common/00preferences.rpy:586
old "restore window position"
new "恢復視窗位置"
# renpy/common/00preferences.rpy:595
old "reset"
new "重置"
# renpy/common/00preferences.rpy:608
old "main volume"
new "主要音量"
# renpy/common/00preferences.rpy:609
old "music volume"
new "音樂音量"
# renpy/common/00preferences.rpy:610
old "sound volume"
new "聲音音量"
# renpy/common/00preferences.rpy:611
old "voice volume"
new "語音音量"
# renpy/common/00preferences.rpy:612
old "mute main"
new "靜音主要"
# renpy/common/00preferences.rpy:613
old "mute music"
new "靜音音樂"
# renpy/common/00preferences.rpy:614
old "mute sound"
new "靜音聲音"
# renpy/common/00preferences.rpy:615
old "mute voice"
new "靜音語音"
# renpy/common/00preferences.rpy:616
old "mute all"
new "靜音全部"
+119 -2
View File
@@ -75,7 +75,7 @@ translate tchinese strings:
# _developer/developer.rpym:532
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ 已預加載影像(良好) {/color}\n{color=#fcc}✘ 未預加載影像(糟糕) {/color}\n{color=#fff}通過拖拽來移動位置。{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
@@ -111,7 +111,7 @@ translate tchinese strings:
# _developer/inspector.rpym:185
old "<repr() failed>"
new "<repr() 失敗>"
new "<repr() failed>"
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
@@ -176,3 +176,120 @@ translate tchinese strings:
# 00console.rpy:536
old "jump <label>: jumps to label"
new "jump <標籤>: 跳移至標籤"
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
new "互動總監(D"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "持續觀察者"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
new "顯示圖像加載日誌(F4"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
new "隱藏圖像加載日誌(F4"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
new "圖像屬性"
# renpy/common/_developer/developer.rpym:69
old "Show Translation Identifiers"
new "顯示翻譯標識符"
# renpy/common/_developer/developer.rpym:72
old "Hide Translation Identifiers"
new "隱藏翻譯標識符"
# renpy/common/_developer/developer.rpym:77
old "Speech Bubble Editor (Shift+B)"
new "語音氣泡編輯器(Shift+B"
# renpy/common/_developer/developer.rpym:81
old "Show Filename and Line"
new "顯示檔案名稱和行"
# renpy/common/_developer/developer.rpym:84
old "Hide Filename and Line"
new "隱藏檔案名稱和行"
# renpy/common/_developer/developer.rpym:127
old "Layer [l]:"
new "層 [l]"
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (隱藏)"
# renpy/common/_developer/developer.rpym:135
old " [name] [attributes]"
new " [name] [attributes]"
# renpy/common/_developer/developer.rpym:198
old "Hide deleted"
new "隱藏已刪除"
# renpy/common/_developer/developer.rpym:198
old "Show deleted"
new "顯示已刪除"
# renpy/common/_developer/developer.rpym:420
old "Type to filter: "
new "要過濾的類型:"
# renpy/common/_developer/developer.rpym:538
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "紋理: [tex_count] ([tex_size_mb:.1f] MB)"
# renpy/common/_developer/developer.rpym:542
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "映像快取: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
# renpy/common/_developer/developer.rpym:606
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff} 已複製到剪貼簿。 {/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff} 點擊複製。 \n 拖曳移動。 {/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "單擊以在編輯器中打開"
# renpy/common/00console.rpy:793
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "幫助:顯示此幫助 \n <expr> 幫助:顯示 <expr> 的簽名和文件"
# renpy/common/00console.rpy:817
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "幫助可能會顯示未記錄的函數。請檢查您要使用的函數或 \n 類別是否已記錄。 \n\n"
# renpy/common/00console.rpy:858
old "stack: print the return stack"
new "堆疊:列印返回堆疊"
# renpy/common/00console.rpy:912
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
new "監視 <expression> :監視 python 表達式 \n 短監視:使追蹤表達式的表示較短(預設)\n 長監視:使追蹤表達式的表示按原樣"
# renpy/common/00console.rpy:1032
old "short: Shorten the representation of objects on the console (default)."
new "短 :縮短控制台上物件的表示(預設)。"
# renpy/common/00console.rpy:1036
old "long: Print the full representation of objects on the console."
new "長 :在控制台上列印物件的完整表示。"
# renpy/common/00console.rpy:1040
old "escape: Enables escaping of unicode symbols in unicode strings."
new "轉義:啟用 unicode 字串中的 unicode 符號轉義。"
# renpy/common/00console.rpy:1044
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
new "不轉義:禁用 unicode 字串中 unicode 符號的轉義並按原樣列印(預設)。"
+118 -10
View File
@@ -23,7 +23,7 @@ translate tchinese strings:
# 00gltest.rpy:93
old "Enable"
new "Enable"
new "啓用"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -91,27 +91,27 @@ translate tchinese strings:
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
new "選擇要校準的遊戲手柄"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
new "沒有可用的游戲手柄"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
new "矯正 [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!s] [kind]."
new "Press or move the [control!s] [kind]."
new "按下或者移動 [control!s] [kind]."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
new "跳過 (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
new "返回 (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -123,11 +123,11 @@ translate tchinese strings:
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
new "複製到剪貼簿"
# _errorhandling.rpym:501
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
new "已經將 traceback.txt 檔案複製到剪貼簿。"
# _errorhandling.rpym:519
old "An exception has occurred."
@@ -175,4 +175,112 @@ translate tchinese strings:
# _errorhandling.rpym:612
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
new "已經將 errors.txt 檔案複製到剪貼簿。"
# renpy/common/00gltest.rpy:89
old "Renderer"
new "渲染器"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "强制 GL 渲染器"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "強制 ANGLE 渲染器"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
new "強制 GLES 渲染器"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
new "强制 GL2 渲染器"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
new "強制 ANGLE2 渲染器"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
new "強制 GLES2 渲染器"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "啟用(無封鎖清單)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "省電"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "幀率"
# renpy/common/00gltest.rpy:177
old "Screen"
new "畫面"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
new "這個遊戲需要使用無法初始化的GL2。"
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
new " {a=edit:1:log.txt}log.txt{/a} 檔案可能包含可幫助您確定電腦出現問題的資訊。"
# renpy/common/00gltest.rpy:264
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "有關如何解決此問題的更多詳細信息,請參閱 {a=[url]} 文檔 {/a} 。"
# renpy/common/00gltest.rpy:281
old "Change render options"
new "更改渲染選項"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
new "按下或移動 '[control!s]' [kind] 。"
# renpy/common/_errorhandling.rpym:662
old "Open"
new "打開"
# renpy/common/_errorhandling.rpym:666
old "Copy BBCode"
new "複製 BBCode"
# renpy/common/_errorhandling.rpym:668
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "已將 traceback.txt 檔案作為 BBcode 複製到剪貼簿,用於 https://lemmasoft.renai.us/ 等論壇。"
# renpy/common/_errorhandling.rpym:670
old "Copy Markdown"
new "複製 Markdown"
# renpy/common/_errorhandling.rpym:672
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "已將 traceback.txt 檔案作為適用於 Discord 的 Markdown 複製到剪貼簿。"
# renpy/common/_errorhandling.rpym:735
old "Ignores the exception, allowing you to continue."
new "忽略異常,允許您繼續。"
# renpy/common/_errorhandling.rpym:746
old "Console"
new "控制台"
# renpy/common/_errorhandling.rpym:748
old "Opens a console to allow debugging the problem."
new "打開控制台以調試問題。"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "撕裂"
+159 -102
View File
@@ -3,408 +3,465 @@ translate tchinese strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
new "## 初始化"
# gui.rpy:5
old "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## The init offset statement causes the init code in this file to run before init code in any other file."
new "## init offset 語句會導致此檔案中的 init 程式碼在任何其他檔案中的 init 程式碼之前執行"
# gui.rpy:9
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## 呼叫 gui.init 將樣式重置為合理的預設值,並設定遊戲的寬度和高度"
# gui.rpy:21
old "## Colors"
new "## Colors"
new "## 顔色"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
new "## 介面中文字的顏色"
# gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## An accent color used throughout the interface to label and highlight text."
new "## 整個介面中使用的強調色,用於標記和突出顯示文字"
# gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## The color used for a text button when it is neither selected nor hovered."
new "## 當文字按鈕既未被選取也未被懸停時所使用的顏色"
# gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
new "## 小顏色適用於小文本,需要更亮/更暗才能達到與普通文本相同的效果"
# gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## The color that is used for buttons and bars that are hovered."
new "## 用於懸停的按鈕和欄的顏色"
# gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## 當文字按鈕被選取但未獲得焦點時所使用的顏色。如果按鈕是目前畫面或首選項值,則按鈕將被選取"
# gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## The color used for a text button when it cannot be selected."
new "## 無法選擇文字按鈕時使用的顏色"
# gui.rpy:46
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
new "## 顏色用於未填充的條形部分。這些顏色不直接使用,而是在重新生成條形圖像檔案時使用"
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
new "## 用於對話和選單選擇文字的顏色"
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
new "## 字形和字形大小"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
new "## 用於遊戲內文字的字形"
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
new "## 用於角色名稱的字形"
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
new "## 用於遊戲外文本的字形"
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
new "## 正常對話文字的大小"
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
new "## 角色名稱的大小"
# gui.rpy:73
old "## The size of text in the game's user interface."
new "## The size of text in the game's user interface."
new "## 遊戲用戶介面中的文字的大小"
# gui.rpy:76
old "## The size of labels in the game's user interface."
new "## The size of labels in the game's user interface."
new "## 遊戲用戶介面中標籤的大小"
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
new "## 通知螢幕上的文字大小"
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
new "## 遊戲標題的大小"
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
new "## 主選單和遊戲選單"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
new "## 用於主選單和遊戲選單的圖像"
# gui.rpy:92
old "## Should we show the name and version of the game?"
new "## Should we show the name and version of the game?"
new "## 我們需要顯示遊戲的名稱和版本嗎?"
# gui.rpy:96
old "## Dialogue"
new "## Dialogue"
new "## 對話"
# gui.rpy:98
old "## These variables control how dialogue is displayed on the screen one line at a time."
new "## These variables control how dialogue is displayed on the screen one line at a time."
new "## 這些變數控制對話如何一次一行地顯示在螢幕上"
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
new "## 包含對話的文本框的高度"
# gui.rpy:104
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
new "## 文本框在螢幕上垂直的位置。0.0 是頂部,0.5 是中心,1.0 是底部"
# gui.rpy:109
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## 對話角色的名字相對於文本框的位置。這些可以是從左側或頂部開始的整數像素,也可以是到中心的 0.5 個像素"
# gui.rpy:114
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 角色名稱的水平對齊方式。左對齊可以為 0.0,居中對齊可以為 0.5,右對齊可以為 1.0"
# gui.rpy:118
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
new "## 包含角色名稱的框的寬度、高度和邊框,或無以自動調整其大小"
# gui.rpy:123
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## 包含角色名稱的框的邊框,按左、上、右、下順序排列"
# gui.rpy:127
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## 如果為 True ,名稱框的背景將平鋪,如果為 False ,則名稱框的背景將縮放"
# gui.rpy:132
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
new "## 對話相對於文本框的位置。這些可以是相對於文字方塊左側或頂部的整數像素,或相對於中心的 0.5 個像素"
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
new "## 對話文字的最大寬度,以像素為單位"
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## 對話文字的水平對齊方式。左對齊可以為 0.0,居中對齊可以為 0.5,右對齊可以為 1.0"
# gui.rpy:146
old "## Buttons"
new "## Buttons"
new "## 按鈕"
# gui.rpy:148
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## 這些變數與 gui/button 中的圖像檔案一起控制按鈕顯示方式的各個方面"
# gui.rpy:151
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## 按鈕的寬度和高度,以像素為單位。如果沒有,Ren'Py 會計算其尺寸"
# gui.rpy:155
old "## The borders on each side of the button, in left, top, right, bottom order."
new "## The borders on each side of the button, in left, top, right, bottom order."
new "## 按鈕兩側的邊框,依左、上、右、下順序排列"
# gui.rpy:158
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## 如果為 True ,背景圖像將平鋪。如果為 False ,背景圖像將線性縮放"
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
new "## 按鈕使用的字型"
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
new "## 按鈕使用的文字大小"
# gui.rpy:179
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## 這些變數會覆寫不同類型按鈕的設定。請參閱 gui 文檔以了解可用按鈕的類型以及每個按鈕的用途"
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
new "## 預設介面使用這些自訂設定:"
# gui.rpy:198
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
new "## 您也可以透過新增正確命名的變數來新增自己的自訂設定。例如,您可以取消註解以下行以設定導覽按鈕的寬度"
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
new "## 選項按鈕"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
new "## 選擇按鈕用於遊戲內選單"
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
new "## 存檔槽按鈕"
# gui.rpy:222
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## 存檔槽按鈕是一種特殊類型的按鈕。它包含縮圖和描述儲存槽內容的文字。與其他類型的按鈕一樣,儲存槽使用 gui/button 中的圖像檔案"
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
new "## 儲存槽按鈕"
# gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## The width and height of thumbnails used by the save slots."
new "## 儲存槽使用的縮圖的寬度和高度"
# gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## The number of columns and rows in the grid of save slots."
new "## 儲存槽網格中的列數和行數"
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
new "## 位置和間距"
# gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## These variables control the positioning and spacing of various user interface elements."
new "## 這些變數控制各種用戶介面元素的位置和間距"
# gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
new "## 導航按鈕左側一般相對於螢幕左側的位置"
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
new "## 跳過指示器的垂直位置"
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
new "## 通知畫面的垂直位置"
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
new "## 選單選項之間的間距"
# gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
new "## Buttons in the navigation section of the main and game menus."
new "## 主選單和遊戲選單導航部分中的按鈕"
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
new "## 控制首選項之間的間距"
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
new "## 控制首選項按鈕之間的間距"
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
new "## 存檔頁面按鈕之間的間距"
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
new "## 存檔槽之間的間距"
# gui.rpy:277
old "## Frames"
new "## Frames"
new "## 框架"
# gui.rpy:279
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## 當不存在覆蓋層或視窗時,這些變數控制可以包含使用者介面元件的框架的外觀"
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
new "## 由玩家代碼引入的通用框架"
# gui.rpy:285
old "## The frame that is used as part of the confirm screen."
new "## The frame that is used as part of the confirm screen."
new "## 用作確認螢幕一部分的框架"
# gui.rpy:288
old "## The frame that is used as part of the skip screen."
new "## The frame that is used as part of the skip screen."
new "## 用作跳過螢幕一部分的框架"
# gui.rpy:291
old "## The frame that is used as part of the notify screen."
new "## The frame that is used as part of the notify screen."
new "## 用作通知螢幕一部分的框架"
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
new "## 應該平鋪框架背景嗎?"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
new "## 條、捲軸和滑塊"
# gui.rpy:300
old "## These control the look and size of bars, scrollbars, and sliders."
new "## These control the look and size of bars, scrollbars, and sliders."
new "## 這些控制條、捲軸和滑塊的外觀和大小"
# gui.rpy:302
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
new "## 預設 GUI 僅使用滑塊和垂直捲軸。所有其他捲軸僅在創建者編寫的程式碼中使用"
# gui.rpy:305
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
new "## 水平條、捲軸和滑塊的高度。垂直條、捲軸和滑塊的寬度"
# gui.rpy:311
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True if bar images should be tiled. False if they should be linearly scaled."
new "## 如果需要條圖平鋪,則為 True。如果需要條圖線性縮放,則為 False"
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
new "## 水平邊框"
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
new "## 垂直邊框"
# gui.rpy:326
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## 如何處理 gui 中不可滾動的捲軸。 \"hide\" 隱藏它們,而 None 則顯示它們"
# gui.rpy:331
old "## History"
new "## History"
new "## 歷史"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
new "## The history screen displays dialogue that the player has already dismissed."
new "## 歷史畫面顯示玩家已經閱讀過的對話"
# gui.rpy:335
old "## The number of blocks of dialogue history Ren'Py will keep."
new "## The number of blocks of dialogue history Ren'Py will keep."
new "## Ren'Py 將保留的對話歷史記錄區塊的數量"
# gui.rpy:338
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## 歷史畫面條目的高度,或設爲 None 以犧牲性能為代價使高度可變"
# gui.rpy:342
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## The position, width, and alignment of the label giving the name of the speaking character."
new "## 給予對話角色名稱的標籤的位置、寬度和對齊方式"
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
new "## 對話文字的位置、寬度和對齊方式"
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
new "## NVL-模式"
# gui.rpy:358
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
new "## NVL 模式畫面顯示 NVL 模式角色所說的對話"
# gui.rpy:360
old "## The borders of the background of the NVL-mode background window."
new "## The borders of the background of the NVL-mode background window."
new "## NVL 模式背景視窗的背景邊框"
# gui.rpy:363
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
new "## NVL 模式條目的高度。將其設為 None 以使條目動態調整高度"
# gui.rpy:367
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
new "## gui.nvl_height None 時 NVL 模式條目之間的間距,以及 NVL 模式條目和選單之間的間距"
# gui.rpy:384
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
new "## nvl_thought 文字的位置、寬度和對齊方式(由 nvl_narrator 字元表示的文字)"
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
new "## nvl menu_buttons 的位置"
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## 這增加了快捷按鈕的大小,使它們在平板電腦和手機上更容易觸摸"
# gui.rpy:409
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## 這會改變各種 GUI 元素的大小和間距,以確保它們在手機上輕鬆可見"
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
new "## 字形大小"
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
new "## 調整文本框的位置"
# gui.rpy:427
old "## Change the size and spacing of items in the game menu."
new "## Change the size and spacing of items in the game menu."
new "## 更改遊戲選單中項目的大小和間距"
# gui.rpy:436
old "## File button layout."
new "## File button layout."
new "## 檔案按鈕佈局"
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
new "## NVL 模式"
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
new "## 快捷按鈕"
# gui/game/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 "## init offset 語句導致此文件中的初始化語句在任何其他文件中的 init 語句之前運行。"
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## 啟用螢幕或變換中無效或不穩定屬性的檢查"
# gui/game/gui.rpy:19
old "## GUI Configuration Variables"
new "## GUI 配置變數"
# gui/game/gui.rpy:167
old "## The color of button text in various states."
new "## 各種狀態下按鈕文字的顏色"
# gui/game/gui.rpy:173
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## 按鈕文字的水平對齊方式。(0.0 為左,0.5 為中,1.0 為右)"
# gui/game/gui.rpy:278
old "## The position of the main menu text."
new "## 主選單文字的位置"
# gui/game/gui.rpy:287
old "## Generic frames."
new "## 通用框架"
# gui/game/gui.rpy:307
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/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## 在歷史畫面條目之間添加的額外空間。"
# gui/game/gui.rpy:371
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 "## Ren'Py 將顯示的 NVL 模式條目的最大數量。當要顯示的條目多於此時,最舊的條目將被刪除。"
# gui/game/gui.rpy:408
old "## Localization"
new "## 在地化"
# gui/game/gui.rpy:410
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/game/gui.rpy:418
old "## Mobile devices"
new "## 行動裝置"
# gui/game/gui.rpy:449
old "## Change the size and spacing of various things."
new "## 改變各種東西的大小和間距。"
File diff suppressed because it is too large Load Diff
+66 -45
View File
@@ -3,119 +3,119 @@ translate tchinese strings:
# options.rpy:1
old "## This file contains options that can be changed to customize your game."
new "## This file contains options that can be changed to customize your game."
new "## 此文件包含可以更改以自訂您的遊戲的選項。"
# options.rpy:4
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
new "## 以兩個'#' 標記開頭的行是註釋,您不應取消註釋它們。以單一'#' 標記開頭的行是註解掉的程式碼,您可能需要在適當的時候取消註解它們。"
# options.rpy:10
old "## Basics"
new "## Basics"
new "## 基礎"
# options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## 一個人類可讀的遊戲名稱。這用於設定預設視窗標題,並顯示在介面和錯誤報告中。"
# options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
new "## The _() surrounding the string marks it as eligible for translation."
new "## 字串周圍的 _() 標記其為符合翻譯條件。"
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
new "Ren'Py 7 默認 GUI"
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## 決定上面給出的標題是否顯示在主選單畫面上。將其設為 False 以隱藏標題。"
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
new "## 遊戲的版本"
# options.rpy:31
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
new "## 放置在遊戲的關於螢幕上的文字。要在段落之間插入空行,請寫入 \\n\\n."
# options.rpy:37
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
new "## 遊戲的短名稱,用於建立發行版中的可執行檔和目錄。它必須只是 ASCII,並且不能包含空格、冒號或分號。"
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
new "## 聲音和音樂"
# options.rpy:46
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## 這三個變數控制預設向播放器顯示哪些混音器。將其中一個設定為 False 將隱藏對應的混音器。"
# options.rpy:55
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
new "## 要允許用戶在聲音或語音通道上播放測試聲音,請取消註釋下面的行並使用它來設定要播放的範例聲音。"
# options.rpy:62
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
new "## 取消註解以下行以設定玩家在主選單時播放的音訊檔案。該檔案將繼續在遊戲中播放,直到停止或播放另一個檔案。"
# options.rpy:69
old "## Transitions"
new "## Transitions"
new "## 過渡"
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 這些變數設定在發生某些事件時使用的過渡。每個變數都應設定為過渡,或 None 表示不應使用任何過渡。"
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
new "## 進入或退出遊戲選單。"
# options.rpy:81
old "## A transition that is used after a game has been loaded."
new "## A transition that is used after a game has been loaded."
new "## 遊戲載入後使用的過渡。"
# options.rpy:86
old "## Used when entering the main menu after the game has ended."
new "## Used when entering the main menu after the game has ended."
new "## 在遊戲結束後進入主選單時使用。"
# options.rpy:91
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
new "## 用於設定遊戲開始時使用的過渡的變數不存在。相反,需要在顯示初始場景後使用 with 語句。"
# options.rpy:96
old "## Window management"
new "## Window management"
new "## 視窗管理"
# options.rpy:98
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
new "## 這控制何時顯示對話視窗。如果 \"show\" ,則始終顯示。如果 \"hide\" ,則僅在存在對話時顯示。如果 \"auto\" ,則視窗在場景陳述之前隱藏,並在顯示對話後再次顯示。"
# options.rpy:103
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
new "## 遊戲開始後,可以使用 \"window show\", \"window hide\", \"window auto\" 語句更改。"
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
new "## 用於顯示和隱藏對話視窗的轉換"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
new "## 首選項預設值"
# options.rpy:117
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
new "## 控制預設文字速度。預設值 0 是無限的,而任何其他數字是每秒鍵入的字元數。"
# options.rpy:123
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
new "## 預設自動轉送延遲。數字越大,等待時間越長,有效範圍為 0 30"
# options.rpy:129
old "## Save directory"
new "## Save directory"
new "## 儲存檔目錄"
# options.rpy:131
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
new "## 控制Ren'Py將放置該遊戲的儲存文檔的平台特定位置。儲存文檔將放置在:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -131,64 +131,85 @@ translate tchinese strings:
# options.rpy:140
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## 通常不應更改,如果更改,則應始終是文字字串,而不是表達式。"
# options.rpy:146
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
new "## 圖標 ########################################################################'"
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
new "## 顯示在工作列或擴充座上的圖示。"
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
new "## 構置配置"
# options.rpy:155
old "## This section controls how Ren'Py turns your project into distribution files."
new "## This section controls how Ren'Py turns your project into distribution files."
new "## 本節控制Ren'Py如何將您的專案轉換為釋出版。"
# options.rpy:160
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
new "## 以下函數採用檔案模式。 檔案模式不區分大小寫,並與相對於基底目錄的路徑進行匹配,無論是否有前導 /。 如果多個模式匹配,則使用第一個模式。"
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
new "## 在一個模式中:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
new "## / 是目錄分隔符號。"
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
new "## * 匹配目錄分隔符號之外的所有字元。"
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
new "## ** 匹配所有字符,包括目錄分隔符。"
# options.rpy:173
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## 就比如, \"*.txt\" 匹配 base 目錄中的txt文件, \"game/**.ogg\" 匹配遊戲目錄或其任何子目錄中的 ogg 文件,和 \"**.psd\" 匹配專案中任意位置的 psd 檔案。"
# options.rpy:177
old "## Classify files as None to exclude them from the built distributions."
new "## Classify files as None to exclude them from the built distributions."
new "## 將檔案分類為 None 以將它們從建置的釋出版中排除。"
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
new "## 要歸檔文件,請將其分類為 'archive'"
# options.rpy:190
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
new "## 與文件模式匹配的文件在 Mac 應用程式建置中會重複,因此它們會同時出現在應用程式和 zip 檔案中。"
# options.rpy:196
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
new "## 下載擴充檔案和執行應用程式內購買需要 Google Play 許可證金鑰。 它可以在 Google Play 開發者控制台的 \"Services & APIs\" 頁面上找到。"
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## The username and project name associated with an itch.io project, separated by a slash."
new "## 與 itch.io 項目關聯的使用者名稱和項目名稱,以斜線分隔。"
# gui/game/options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## 放置在遊戲的關於螢幕上的文字。將文字放在三引號之間,並在段落之間留一個空行。"
# gui/game/options.rpy:47
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## 這三個變數控制預設向播放器顯示哪些混音器。將其中之一設為 False 將隱藏相應的混音器。"
# gui/game/options.rpy:82
old "## Between screens of the game menu."
new "## 在遊戲選單畫面之間。"
# gui/game/options.rpy:152
old "## Icon"
new "## 圖標"
# gui/game/options.rpy:203
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
new "## 執行應用程式內購買需要 Google Play 許可證密鑰。它可以在 Google Play 開發者控制台的 \"Monetize\" > \"Monetization Setup\" > \"Licensing\" 下找到。"
+247 -162
View File
@@ -3,67 +3,55 @@ translate tchinese strings:
# screens.rpy:9
old "## Styles"
new "## Styles"
new "## 樣式"
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
new "## 遊戲內畫面"
# screens.rpy:91
old "## Say screen"
new "## Say screen"
new "## Say 畫面"
# screens.rpy:93
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
new "## Say 畫面用於向玩家顯示對話。它有兩個參數 who what,分別是說話角色的名字和要顯示的文本。(who 參數可以為 None 如果沒有給出名字。)"
# screens.rpy:98
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## 此畫面必須建立 id \"what\" 的可顯示文本,因為 Ren'Py 使用它來管理文字顯示。它還可以建立 id \"who\" id \"window\" 的可顯示文字應用程式樣式屬性。"
# screens.rpy:169
old "## Input screen"
new "## Input screen"
new "## 輸入畫面"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## 此畫面用於顯示 renpy.input prompt 參數用於傳入文字提示。"
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
new "## http://www.renpy.org/doc/html/screen_special.html#input"
new "## 此畫面必須建立一個可顯示的輸入,通過 id \"input\" 以接受各種輸入參數。"
# screens.rpy:205
old "## Choice screen"
new "## Choice screen"
new "## 選擇畫面"
# screens.rpy:207
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
new "## http://www.renpy.org/doc/html/screen_special.html#choice"
new "## 此畫面用於顯示選單語句所呈現的遊戲內選項。第一個參數,項目,是一個物件列表,每個物件都有標題和操作字段。"
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## 當此值為 true 時,選單字幕將由旁白說出。當為 false 時,選單字幕將顯示為空按鈕。"
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
new "## 快捷選單畫面"
# screens.rpy:246
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## 快捷選單顯示在遊戲中,以便輕鬆訪問遊戲外選單。"
# screens.rpy:261
old "Back"
@@ -71,7 +59,7 @@ translate tchinese strings:
# screens.rpy:262
old "History"
new "History"
new "歷史"
# screens.rpy:263
old "Skip"
@@ -99,23 +87,23 @@ translate tchinese strings:
# screens.rpy:271
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## 此代碼確保只要玩家沒有明確隱藏介面, quick_menu 畫面就會在遊戲中顯示。"
# screens.rpy:291
old "## Navigation screen"
new "## Navigation screen"
new "## 導航畫面"
# screens.rpy:293
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## 此畫面包含在主選單和遊戲選單中,並提供其他選單的導航以及開始遊戲的導航。"
# screens.rpy:308
old "Start"
new "Start"
new "開始"
# screens.rpy:316
old "Load"
new "Load"
new "加載"
# screens.rpy:318
old "Preferences"
@@ -123,7 +111,7 @@ translate tchinese strings:
# screens.rpy:322
old "End Replay"
new "End Replay"
new "結束回想"
# screens.rpy:326
old "Main Menu"
@@ -135,7 +123,7 @@ translate tchinese strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
new "## 幫助對於行動裝置來說是不必要或不相關的。"
# screens.rpy:333
old "Help"
@@ -143,7 +131,7 @@ translate tchinese strings:
# screens.rpy:335
old "## The quit button is banned on iOS and unnecessary on Android."
new "## The quit button is banned on iOS and unnecessary on Android."
new "## 退出按鈕在 iOS 上被禁止,在 Android 上則不必要。"
# screens.rpy:336
old "Quit"
@@ -151,31 +139,27 @@ translate tchinese strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
new "## 主選單畫面"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
new "## Used to display the main menu when Ren'Py starts."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## 用於在 Ren'Py 啟動時顯示主選單。"
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## use 語句在該畫面中包含另一個畫面。主選單的實際內容在導航畫面中。"
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
new "## 遊戲選單畫面"
# screens.rpy:415
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## 這列出了遊戲選單畫面的基本公共結構。它透過畫面標題進行調用,並顯示背景、標題和導航。"
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## 滾動參數可以是None,或者是 \"viewport\" \"vpgrid\" 的其中之一。此畫面旨在與一個或多個子畫面一起使用,這些子畫面被嵌入(放置)在其中。"
# screens.rpy:476
old "Return"
@@ -183,67 +167,63 @@ translate tchinese strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
new "## 關於畫面"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## This screen gives credit and copyright information about the game and Ren'Py."
new "## 此畫面提供有關遊戲和Ren'Py的製作人員名單和版權資訊。"
# screens.rpy:544
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
new "## 這個畫面沒有什麼特別的,因此它也可以作為如何製作自訂螢幕的範例。"
# screens.rpy:551
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
new "## use 語句包含此畫面中的 game_menu 畫面。然後,vbox 子項將包含在 game_menu 畫面內的視口內"
# screens.rpy:561
old "Version [config.version!t]\n"
new "Version [config.version!t]\n"
new "版本 [config.version!t]\n"
# screens.rpy:563
old "## gui.about is usually set in options.rpy."
new "## gui.about is usually set in options.rpy."
new "## gui.about 通常在 options.rpy 中設定。"
# screens.rpy:567
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
new "使用 {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only] 製作。 \n\n[renpy.license!t]"
# screens.rpy:570
old "## This is redefined in options.rpy to add text to the about screen."
new "## This is redefined in options.rpy to add text to the about screen."
new "## 這是在 options.rpy 中重新定義,以將文字新增至關於畫面。"
# screens.rpy:582
old "## Load and Save screens"
new "## Load and Save screens"
new "## 載入和儲存畫面"
# screens.rpy:584
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
new "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
# screens.rpy:588
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 "## 這些畫面負責讓玩家保存遊戲並再次載入。由於它們幾乎共享所有共同點,因此兩者都是透過第三個畫面 file_slots 實現的。"
# screens.rpy:607
old "Page {}"
new "Page {}"
new "頁面 {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
new "自動儲存"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
new "快速儲存"
# screens.rpy:613
old "## This ensures the input will get the enter event before any of the buttons do."
new "## This ensures the input will get the enter event before any of the buttons do."
new "## 這確保輸入將在任何按鈕之前獲得輸入事件。"
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
new "## 存檔槽的網格。"
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
@@ -251,11 +231,11 @@ translate tchinese strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
new "空槽"
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
new "## 訪問其他頁面的按鈕。"
# screens.rpy:666
old "<"
@@ -275,15 +255,11 @@ translate tchinese strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
new "## 首選項畫面"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
new "## The preferences screen allows the player to configure the game to better suit themselves."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## 首選項畫面允許玩家配置遊戲以更好地適合自己。"
# screens.rpy:738
old "Display"
@@ -299,23 +275,23 @@ translate tchinese strings:
# screens.rpy:744
old "Rollback Side"
new "Rollback Side"
new "回滾側"
# screens.rpy:745
old "Disable"
new "Disable"
new "禁用"
# screens.rpy:746
old "Left"
new "Left"
new ""
# screens.rpy:747
old "Right"
new "Right"
new ""
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
new "未讀文本"
# screens.rpy:753
old "After Choices"
@@ -327,7 +303,7 @@ translate tchinese strings:
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## 可以在此處新增 \"radio_pref\" \"check_pref\" 類型的其他 vbox,以新增其他建立者定義的首選項。"
# screens.rpy:767
old "Text Speed"
@@ -355,211 +331,203 @@ translate tchinese strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
new "全部靜音"
# screens.rpy:882
old "## History screen"
new "## History screen"
new "## 歷史畫面"
# screens.rpy:884
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
new "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.org/doc/html/history.html"
new "## 這是向玩家顯示對話歷史記錄的畫面。 雖然這個畫面沒有什麼特別的,但它必須存取儲存在 _history_list 中的對話歷史記錄。"
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
new "## 避免預測該螢幕,因為它可能非常大。"
# screens.rpy:905
old "## This lays things out properly if history_height is None."
new "## This lays things out properly if history_height is None."
new "## 如果 history_height None,這會正確排列事物。"
# screens.rpy:914
old "## Take the color of the who text from the Character, if set."
new "## Take the color of the who text from the Character, if set."
new "## 從角色中取得 who 文字的顏色(如果已設定)。"
# screens.rpy:921
old "The dialogue history is empty."
new "The dialogue history is empty."
new "對話歷史記錄為空。"
# screens.rpy:965
old "## Help screen"
new "## Help screen"
new "## 幫助畫面"
# screens.rpy:967
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
new "## 提供有關按鍵和滑鼠綁定資訊的畫面。 它使用其他畫面 (keyboard_help, mouse_help, and gamepad_help) 來顯示實際幫助。"
# screens.rpy:986
old "Keyboard"
new "Keyboard"
new "鍵盤"
# screens.rpy:987
old "Mouse"
new "Mouse"
new "鼠標"
# screens.rpy:990
old "Gamepad"
new "Gamepad"
new "游戲手柄"
# screens.rpy:1003
old "Enter"
new "Enter"
new "回車"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
new "推進對話並啟動介面。"
# screens.rpy:1007
old "Space"
new "Space"
new "空格"
# 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"
new "Escape"
new "退出鍵"
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
new "訪問遊戲選單。"
# screens.rpy:1019
old "Ctrl"
new "Ctrl"
new "控制鍵"
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
new "按住時跳過對話。"
# screens.rpy:1023
old "Tab"
new "Tab"
new "製表鍵"
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
new "保持對話跳過。"
# screens.rpy:1027
old "Page Up"
new "Page Up"
new "上翻頁鍵"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
new "回滾到之前的對話。"
# screens.rpy:1031
old "Page Down"
new "Page Down"
new "下翻頁鍵"
# 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} Self-Vocing {/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"
new "Mouse Wheel Up"
new "滑鼠滾輪向上"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
new "滑鼠滾輪向下"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
new "右扳機鍵 \nA/ 底鍵"
# 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"
new "Right Shoulder"
new "右肩鍵"
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
new "前進到稍後的對話。"
# screens.rpy:1085
old "D-Pad, Sticks"
new "D-Pad, Sticks"
new "十字鍵,搖桿"
# screens.rpy:1089
old "Start, Guide"
new "Start, Guide"
new "開始,向導"
# screens.rpy:1090
old "Access the game menu."
new "Access the game menu."
new "訪問遊戲選單。"
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
new "Y/頂鍵"
# screens.rpy:1096
old "Calibrate"
new "Calibrate"
new "矯正"
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
new "## 附加畫面"
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
new "## 確認畫面"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
new "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
new "## http://www.renpy.org/doc/html/screen_special.html#confirm"
new "## 當 Ren'Py 想問玩家是或否問題時,會呼叫確認畫面。"
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
new "## 確保顯示此畫面時其他畫面不會收到輸入。"
# screens.rpy:1161
old "Yes"
@@ -571,72 +539,189 @@ translate tchinese strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
new "## 右鍵單擊並退出回答 \"no\"."
# screens.rpy:1191
old "## Skip indicator screen"
new "## Skip indicator screen"
new "## 快進提示畫面"
# screens.rpy:1193
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## The skip_indicator screen is displayed to indicate that skipping is in progress."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## 顯示 skip_indicator 畫面以指示快進正在進行中。"
# screens.rpy:1208
old "Skipping"
new "Skipping"
new "快進中"
# screens.rpy:1215
old "## This transform is used to blink the arrows one after another."
new "## This transform is used to blink the arrows one after another."
new "## 此變換用於使箭頭依序閃爍。"
# screens.rpy:1247
old "## Notify screen"
new "## Notify screen"
new "## 提醒畫面"
# screens.rpy:1249
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
new "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## 通知畫面用於向玩家顯示訊息。 (例如,當遊戲快速保存或截取螢幕截圖時。)"
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
new "## NVL 畫面"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
new "## This screen is used for NVL-mode dialogue and menus."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
new "## http://www.renpy.org/doc/html/screen_special.html#nvl"
new "## 此畫面用於 NVL 模式對話和選單。"
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
new "## 在 vpgrid 或 vbox 中顯示對話。"
# screens.rpy:1314
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
new "## 顯示選單(如果有)。 如果 config.narrator_menu 設定為 True ,選單可能會顯示不正確,如上所示。"
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## 這控制可以一次顯示的 NVL 模式條目的最大數量。"
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
new "## 行動裝置變體"
# screens.rpy:1413
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
new "## 由於可能不存在滑鼠,我們將快捷選單替換為使用更少、更大、更容易觸摸的按鈕的版本。"
# screens.rpy:1429
old "Menu"
new "Menu"
new "選單"
# gui/game/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 "## 如果有側面圖像,請將其顯示在文字上方。不要顯示在手機版本上 - 沒有空間。"
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
new "## 使名稱框可用於透過角色物件進行樣式設定。"
# gui/game/screens.rpy:241
old "## Ensure this appears on top of other screens."
new "## 確保它出現在其他螢幕的頂部。"
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
new "## 主選單和遊戲選單畫面"
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
new "## 退出按鈕在 iOS 上被禁止,在 Android 和 Web 上則不必要。"
# gui/game/screens.rpy:352
old "## This ensures that any other menu screen is replaced."
new "## 這可確保替換任何其他選單畫面。"
# gui/game/screens.rpy:357
old "## This empty frame darkens the main menu."
new "## 這個空框使主選單變暗。"
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
new "## 為導航部分保留空間。"
# gui/game/screens.rpy:612
old "## The page name, which can be edited by clicking on a button."
new "## 頁面名稱,可以透過點擊按鈕進行編輯。"
# gui/game/screens.rpy:672
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) 給出從 1 到 9 的數字。"
# gui/game/screens.rpy:680
old "Upload Sync"
new "上傳同步"
# gui/game/screens.rpy:684
old "Download Sync"
new "下載同步"
# gui/game/screens.rpy:925
old "## This determines what tags are allowed to be displayed on the history screen."
new "## 這決定了允許在歷史螢幕上顯示哪些標籤。"
# gui/game/screens.rpy:1053
old "Opens the accessibility menu."
new "打開輔助功能選單"
# gui/game/screens.rpy:1086
old "Left Trigger\nLeft Shoulder"
new "左扳機 \n 左肩鍵"
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "開始,指南,B/右鍵"
# gui/game/screens.rpy:1251
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## 我們必須使用帶有黑色右指小三角形字形的字體。"
# gui/game/screens.rpy:1323
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
new "## 顯示選單(如果給定)。如果 config.narrator_menu 設定為 True,則選單可能無法正確顯示。"
# gui/game/screens.rpy:1413
old "## Bubble screen"
new "## 氣泡畫面"
# gui/game/screens.rpy:1415
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
new "## 氣泡螢幕用於在使用對話氣泡時向玩家顯示對話。氣泡螢幕採用與 say 螢幕相同的參數,必須創建一個 id 為 \"what\" 的可顯示內容,並且可以創建可顯示內容帶有 \"namebox\", \"who\", 和 \"window\" ID。"
# gui/game/screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
new "## https://www.renpy.org/doc/html/screen_special.html#say"
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
new "## https://www.renpy.org/doc/html/screen_special.html#input"
# gui/game/screens.rpy:206
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
new "## https://www.renpy.org/doc/html/screen_special.html#choice"
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
# gui/game/screens.rpy:583
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"
# gui/game/screens.rpy:726
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
new "## https://www.renpy.org/doc/html/screen_special.html#preferences"
# gui/game/screens.rpy:886
old "## https://www.renpy.org/doc/html/history.html"
new "## https://www.renpy.org/doc/html/history.html"
# gui/game/screens.rpy:1142
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
# gui/game/screens.rpy:1205
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
new "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
# gui/game/screens.rpy:1261
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
new "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
# gui/game/screens.rpy:1299
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
# gui/game/screens.rpy:1420
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
new "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
+22 -6
View File
@@ -1,17 +1,33 @@
# 您可以在此編寫遊戲腳本。
# 遊戲腳本位於此檔案
# image命令可用於定義一個圖像。
# eg. image eileen happy = "eileen_happy.png"
# 聲明該遊戲使用的角色。 color 參數
# 為角色的名稱著色。
# define命令可定義遊戲中出現的角色名稱與對應文本顏色。
define e = Character('Eileen', color="#c8ffc8")
define e = Character("艾琳")
# 遊戲從這裡開始。
label start:
# 顯示背景。 預設情況下,它使用佔位符,但您可以
# 將檔案(名為 "bg room.png" 或 "bg room.jpg")新增至
# images 目錄來顯示它。
scene bg room
# 這顯示了一個角色精靈。 使用了佔位符,但您可以
# 透過將名為 "eileen happy.png" 的檔案
# 新增至 images 目錄來取代它。
show eileen happy
# 這些顯示對話行。
e "您已經創建了一個新的 Ren'Py 遊戲。"
e "當您添加一段故事, 圖片和音樂, 您就可以將它發佈給全世界!"
e "一旦您爲其添加一段故事, 圖片和音樂, 您就可以將它發佈給全世界!"
# 遊戲結束。
return
+169 -58
View File
@@ -155,7 +155,7 @@ translate ukrainian strings:
# 00action_file.rpy:240
old "%b %d, %H:%M"
new "%b %d, %H:%M"
new "%d %b, %H:%M"
# 00action_file.rpy:353
old "Save slot %s: [text]"
@@ -207,7 +207,7 @@ translate ukrainian strings:
# 00director.rpy:708
old "The interactive director is not enabled here."
new "Інтерактивний режисер тут не ввімкнений."
new "Інтерактивний режисер тут не ввімкнено."
# 00director.rpy:1481
old "⬆"
@@ -223,7 +223,7 @@ translate ukrainian strings:
# 00director.rpy:1561
old "(statement)"
new "(функція)"
new "(оператор)"
# 00director.rpy:1562
old "(tag)"
@@ -235,7 +235,7 @@ translate ukrainian strings:
# 00director.rpy:1564
old "(transform)"
new "(трансформація)"
new "(перетворення)"
# 00director.rpy:1589
old "(transition)"
@@ -247,7 +247,7 @@ translate ukrainian strings:
# 00director.rpy:1602
old "(filename)"
new "(ім’я файла)"
new "(назва файлу)"
# 00director.rpy:1631
old "Change"
@@ -267,7 +267,7 @@ translate ukrainian strings:
# 00director.rpy:1674
old "Statement:"
new "Функція:"
new "Оператор:"
# 00director.rpy:1695
old "Tag:"
@@ -279,7 +279,7 @@ translate ukrainian strings:
# 00director.rpy:1729
old "Transforms:"
new "Трансформації:"
new "Перетворення:"
# 00director.rpy:1748
old "Behind:"
@@ -295,7 +295,7 @@ translate ukrainian strings:
# 00director.rpy:1803
old "Audio Filename:"
new "Ім’я аудіофайлу::"
new "Назва аудіофайлу:"
# 00gui.rpy:370
old "Are you sure?"
@@ -311,7 +311,7 @@ translate ukrainian strings:
# 00gui.rpy:373
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
new "Завантаження гри приведе до втрати незбереженого прогресу.\nВи дійсно бажаєте це зробити?"
new "Завантаження призведе до втрати незбереженого поступу.\nВи дійсно бажаєте продовжити?"
# 00gui.rpy:374
old "Are you sure you want to quit?"
@@ -319,7 +319,7 @@ translate ukrainian strings:
# 00gui.rpy:375
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
new "Ви дійсно бажаєте повернутися до головного меню?\nЦе призведе до втрати незбереженого прогресу."
new "Ви дійсно бажаєте повернутися до головного меню?\nЦя дія призведе до втрати незбереженого поступу."
# 00gui.rpy:376
old "Are you sure you want to end the replay?"
@@ -331,7 +331,7 @@ translate ukrainian strings:
# 00gui.rpy:378
old "Are you sure you want to skip to the next choice?"
new "Ви дійсно бажаєте пропустити все до наступного вибору?"
new "Ви дійсно бажаєте пропускати до наступного вибору?"
# 00gui.rpy:379
old "Are you sure you want to skip unseen dialogue to the next choice?"
@@ -351,7 +351,7 @@ translate ukrainian strings:
# 00library.rpy:147
old "Clipboard voicing enabled. "
new "Озвучення буфера обміну увімкнено."
new "Озвучення буфера обміну ввімкнено."
# 00library.rpy:148
old "Self-voicing enabled. "
@@ -371,11 +371,11 @@ translate ukrainian strings:
# 00library.rpy:153
old "horizontal scroll"
new "горизонтальне прокручування"
new "горизонтальна прокрутка"
# 00library.rpy:154
old "vertical scroll"
new "вертикальне прокручування"
new "вертикальна прокрутка"
# 00library.rpy:155
old "activate"
@@ -411,7 +411,7 @@ translate ukrainian strings:
# 00preferences.rpy:228
old "skip transitions"
new "пропустити переходи"
new "пропускати переходи"
# 00preferences.rpy:230
old "video sprites"
@@ -423,7 +423,7 @@ translate ukrainian strings:
# 00preferences.rpy:248
old "text speed"
new "швидкість тексту"
new "швидкість друку тексту"
# 00preferences.rpy:256
old "joystick"
@@ -435,19 +435,19 @@ translate ukrainian strings:
# 00preferences.rpy:263
old "skip"
new "пропустити"
new "пропускати"
# 00preferences.rpy:266
old "skip unseen [text]"
new "пропустити весь [text]"
new "пропускати весь [text]"
# 00preferences.rpy:271
old "skip unseen text"
new "пропускати увесь текст"
new "пропускати весь текст"
# 00preferences.rpy:273
old "begin skipping"
new "почати пропускати"
new "почати пропуск"
# 00preferences.rpy:277
old "after choices"
@@ -471,7 +471,7 @@ translate ukrainian strings:
# 00preferences.rpy:310
old "auto-forward after click"
new "перемотка після дотику"
new "перемотка після клацу"
# 00preferences.rpy:319
old "automatic move"
@@ -479,7 +479,7 @@ translate ukrainian strings:
# 00preferences.rpy:328
old "wait for voice"
new "чекати голос"
new "чекати на голос"
# 00preferences.rpy:337
old "voice sustain"
@@ -495,7 +495,7 @@ translate ukrainian strings:
# 00preferences.rpy:364
old "debug voicing"
new "режим налагодження синтезу мови"
new "налагоджувальне озвучення"
# 00preferences.rpy:373
old "emphasize audio"
@@ -507,7 +507,7 @@ translate ukrainian strings:
# 00preferences.rpy:392
old "gl powersave"
new "економія енергії"
new "енергозбереження"
# 00preferences.rpy:398
old "gl framerate"
@@ -523,7 +523,7 @@ translate ukrainian strings:
# 00preferences.rpy:414
old "sound volume"
new "гучність звук. ефектів"
new "гучність звукових ефектів"
# 00preferences.rpy:415
old "voice volume"
@@ -535,7 +535,7 @@ translate ukrainian strings:
# 00preferences.rpy:417
old "mute sound"
new "без звук. ефектів"
new "без звукових ефектів"
# 00preferences.rpy:418
old "mute voice"
@@ -547,19 +547,19 @@ translate ukrainian strings:
# 00preferences.rpy:500
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Озвучення буфера обміну увімкнено. Натисніть 'shift+C', щоб вимкнути."
new "Озвучення буфера обміну ввімкнено. Натисніть «Shift+C», щоб вимкнути."
# 00preferences.rpy:502
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
new "Синтез мовлення має сказати \"[renpy.display.tts.last]\". Натисніть 'alt+shift+V', щоб вимкнути."
new "Синтез мовлення сказав би «[renpy.display.tts.last]». Натисніть «Alt+Shift+V», щоб вимкнути."
# 00preferences.rpy:504
old "Self-voicing enabled. Press 'v' to disable."
new "Синтез мовлення увімкнено. Натисніть 'v', щоб вимкнути його."
new "Синтез мовлення увімкнено. Натисніть «V», щоб вимкнути."
# _compat\gamemenu.rpym:198
old "Empty Slot."
new "Порожній комірка."
new "Порожня комірка."
# _compat\gamemenu.rpym:355
old "Previous"
@@ -595,7 +595,7 @@ translate ukrainian strings:
# _developer\developer.rpym:51
old "Image Location Picker"
new "Вибір розташування зображень"
new "Вибирач розташування зображень"
# _developer\developer.rpym:53
old "Filename List"
@@ -603,15 +603,15 @@ translate ukrainian strings:
# _developer\developer.rpym:57
old "Show Image Load Log (F4)"
new "Показати журнал завант. зображень (F4)"
new "Показати панель завантаження зображень (F4)"
# _developer\developer.rpym:60
old "Hide Image Load Log (F4)"
new "Сховати журнал завант. зображень (F4)"
new "Сховати панель завантаження зображень (F4)"
# _developer\developer.rpym:63
old "Image Attributes"
new "Атрибути зображення"
new "Атрибути зображень"
# _developer\developer.rpym:90
old "[name] [attributes] (hidden)"
@@ -639,7 +639,7 @@ translate ukrainian strings:
# _developer\developer.rpym:435
old "Right-click or escape to quit."
new "Натисніть ПКМ або Escape, щоб вийти."
new "Натисніть ПКМ або ESC, щоб вийти."
# _developer\developer.rpym:467
old "Rectangle copied to clipboard."
@@ -655,11 +655,11 @@ translate ukrainian strings:
# _developer\developer.rpym:617
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
new "Текстури: [tex_count] ([tex_size_mb:.1f] Мб)"
new "Текстури: [tex_count] ([tex_size_mb:.1f] МБ)"
# _developer\developer.rpym:621
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
new "Кеш зображень: [cache_pct:.1f]% ([cache_size_mb:.1f] Мб)"
new "Кеш зображень: [cache_pct:.1f]% ([cache_size_mb:.1f] МБ)"
# _developer\developer.rpym:631
old "✔ "
@@ -671,7 +671,7 @@ translate ukrainian strings:
# _developer\developer.rpym:639
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
new "\n{color=#cfc}✔ передбачене зображення (добре){/color}\n{color=#fcc}✘ раптове зображення (погано){/color}\n{color=#fff}Перетягніть, щоб перемістити.{/color}"
new "\n{color=#cfc}✔ передбачене зображення (добре){/color}\n{color=#fcc}✘ непередбачене зображення (погано){/color}\n{color=#fff}Перетягніть для пересування.{/color}"
# _developer\inspector.rpym:38
old "Displayable Inspector"
@@ -699,7 +699,7 @@ translate ukrainian strings:
# _developer\inspector.rpym:145
old " (no properties affect the displayable)"
new " (на об’єкт не впливають жодні параметри)"
new " (на об’єкт не впливають жодні властивості)"
# _developer\inspector.rpym:147
old " (default properties omitted)"
@@ -767,7 +767,7 @@ translate ukrainian strings:
# 00updater.rpy:1452
old "[u.version] is available. Do you want to install it?"
new "[u.version] доступно. Бажаєте її встановити?"
new "[u.version] доступно. Бажаєте її установити?"
# 00updater.rpy:1454
old "Preparing to download the updates."
@@ -783,7 +783,7 @@ translate ukrainian strings:
# 00updater.rpy:1462
old "The updates have been installed. The program will restart."
new "Оновлення встановлено. Програма буде перезапущена."
new "Оновлення було встановлено. Програму буде перезапущено."
# 00updater.rpy:1464
old "The updates have been installed."
@@ -823,11 +823,11 @@ translate ukrainian strings:
# 00accessibility.rpy:76
old "Font Override"
new "Замінити шрифт"
new "Перевизначення шрифту"
# 00accessibility.rpy:80
old "Default"
new "Стандратний"
new "Стандартний"
# 00accessibility.rpy:84
old "DejaVu Sans"
@@ -859,7 +859,7 @@ translate ukrainian strings:
# 00accessibility.rpy:125
old "Text-to-speech"
new "Перетворення тексту в мовлення"
new "Текст-у-мовлення"
# 00accessibility.rpy:129
old "Clipboard"
@@ -879,7 +879,7 @@ translate ukrainian strings:
# renpy/common/00accessibility.rpy:191
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
new "Параметри цього меню призначені для покращення доступності. Вони можуть працювати не з усіма іграми, а деякі комбінації параметрів можуть зробити гру неможливою для гри. Це не є проблемою гри або рушія. Для досягнення найкращих результатів при зміні шрифтів намагайтеся зберігати розмір тексту таким, яким він був спочатку."
new "Параметри цього меню призначені для покращення доступності. Вони можуть працювати не з усіма іграми, а деякі комбінації параметрів можуть зробити гру неможливою для гри. Це не є проблемою гри або рушія. Для отримання кращих результатів при зміні шрифтів намагайтеся зберігати розмір тексту таким, яким він був спочатку."
# renpy/common/00accessibility.rpy:193
old "Self-Voicing Volume Drop"
@@ -919,7 +919,7 @@ translate ukrainian strings:
# renpy/common/00preferences.rpy:535
old "mute main"
new "без основи"
new "без основної гучності"
translate ukrainian strings:
@@ -941,11 +941,11 @@ translate ukrainian strings:
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "Натисніть, щоб встановити трансформацію, натисніть ПКМ, щоб додати до списку трансформацій."
new "Натисніть, щоб установити перетворення, клацніть ПКМ, щоб додати до списку перетворень."
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Натисніть, щоб встановити, натисніть ПКМ, щоб додати до списку."
new "Натисніть, щоб установити, клацніть ПКМ, щоб додати до списку."
# renpy/common/00gui.rpy:456
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
@@ -953,7 +953,7 @@ translate ukrainian strings:
# renpy/common/00gui.rpy:457
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
new "Чи довіряєте ви пристрою, на якому було створено збереження? Ви повинні вибрати «Так», тільки якщо ви є єдиним користувачем пристрою."
new "Чи довіряєте ви пристрою, на якому було створено збереження? Ви повинні натиснути «Так», лише якщо ви є єдиним користувачем пристрою."
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
@@ -961,7 +961,7 @@ translate ukrainian strings:
# renpy/common/00preferences.rpy:537
old "web cache preload"
new "попер. завантаження вебкешу"
new "попереднє завантаження вебкешу"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
@@ -973,7 +973,7 @@ translate ukrainian strings:
# renpy/common/00speechbubble.rpy:349
old "(hide)"
new "(приховати)"
new "(сховати)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
@@ -985,7 +985,7 @@ translate ukrainian strings:
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "Сервер Ren'Py Sync вийшов з ладу."
new "Час під’єднання до Ren'Py Sync закінчився."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
@@ -993,11 +993,11 @@ translate ukrainian strings:
# renpy/common/00sync.rpy:267
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
new "Сервер Ren'Py Sync не має копії цієї синхронізації. Ідентифікатор синхронізації може бути недійсним або його термін дії закінчився."
new "Сервер Ren'Py Sync не має копії цієї синхронізації. Ідентифікатор синхронізації може бути недійсним або термін його дії закінчився."
# renpy/common/00sync.rpy:409
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Будь ласка, введіть згенерований вами ідентифікатор синхронізації.\nНіколи не вводьте ідентифікатор синхронізації, який ви не створювали."
new "Введіть згенерований вами ідентифікатор синхронізації.\nНіколи не вводьте не створений вами ідентифікатор синхронізації."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
@@ -1013,19 +1013,19 @@ translate ukrainian strings:
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
new "Синхронізація містить файл з невірною назвою."
new "Синхронізація містить файл з недійсною назвою."
# renpy/common/00sync.rpy:529
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "Це завантажить ваші збереження на {a=https://sync.renpy.org}сервер Ren'Py Sync{/a}.\nБажаєте продовжити?"
new "Ця дія вивантажить ваші збереження на {a=https://sync.renpy.org}сервер Ren'Py Sync{/a}.\nБажаєте продовжити?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
new "Уведіть ідентифікатор синхронізації"
new "Введіть ідентифікатор синхронізації"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Зв’язок зі {a=https://sync.renpy.org}сервером Ren'Py Sync{/a}."
new "Ця дія зв’яжеться зі {a=https://sync.renpy.org}сервером Ren'Py Sync{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
@@ -1043,3 +1043,114 @@ translate ukrainian strings:
old "Sync Error"
new "Помилка синхронізації"
translate ukrainian strings:
# renpy/common/00accessibility.rpy:120
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
new "Меню доступності. Використовуйте стрілки вгору та вниз для навігації, а клавішу Enter для взаємодії між кнопками та смуг."
# renpy/common/00accessibility.rpy:197
old "Self-voicing support is limited when using a touch screen."
new "Підтримка синтезу мовлення обмежена при використанні сенсорного екрана."
# renpy/common/00director.rpy:1776
old "Customize director.transforms to add more transforms."
new "Налаштуйте «director.transforms», щоб додати більше перетворень."
# renpy/common/00director.rpy:1821
old "Click to set."
new "Клацніть, щоб установити."
# renpy/common/00director.rpy:1822
old "Customize director.transitions to add more transitions."
new "Налаштуйте «director.transitions», щоб додати більше переходів."
# renpy/common/00director.rpy:1845
old "Customize director.audio_channels to add more channels."
new "Налаштуйте «director.audio_channels», щоб додати більше каналів."
# renpy/common/00gui.rpy:454
old "Are you sure you want to continue where you left off?"
new "Ви дійсно бажаєте продовжити з того місця, на якому зупинилися?"
# renpy/common/00preferences.rpy:438
old "self voicing enable"
new "увімкнути синтез мовлення"
# renpy/common/00preferences.rpy:440
old "self voicing disable"
new "вимкнути синтез мовлення"
# renpy/common/00preferences.rpy:455
old "clipboard voicing enable"
new "увімкнути озвучення буфера обміну"
# renpy/common/00preferences.rpy:457
old "clipboard voicing disable"
new "вимкнути озвучення буфера обміну"
# renpy/common/00preferences.rpy:464
old "debug voicing enable"
new "увімкнути налагоджувальне озвучення"
# renpy/common/00preferences.rpy:466
old "debug voicing disable"
new "вимкнути налагоджувальне озвучення"
# renpy/common/00preferences.rpy:586
old "restore window position"
new "відновити положення вікна"
# renpy/common/00preferences.rpy:595
old "reset"
new "скинути"
# renpy/common/00speechbubble.rpy:408
old "(clear retained bubbles)"
new "(очистити залишкові бульбашки)"
# renpy/common/00updater.rpy:505
old "No update methods found."
new "Методів оновлення не знайдено."
# renpy/common/00updater.rpy:552
old "Could not download file list: "
new "Не вдалося завантажити список файлів: "
# renpy/common/00updater.rpy:555
old "File list digest does not match."
new "Дайджест списку файлів не збігається."
# renpy/common/00updater.rpy:2072
old "Preparing to download the game data."
new "Підготовка до завантаження даних гри."
# renpy/common/00updater.rpy:2074
old "Downloading the game data."
new "Завантаження даних гри."
# renpy/common/00updater.rpy:2076
old "The game data has been downloaded."
new "Дані гри було завантажено."
# renpy/common/00updater.rpy:2078
old "An error occured when trying to download game data:"
new "Виникла помилка при спробі завантажити дані гри:"
# renpy/common/00updater.rpy:2083
old "This game cannot be run until the game data has been downloaded."
new "Цю гру не можна буде запустити, доки не будуть завантажені дані гри."
# renpy/common/00updater.rpy:2090
old "Retry"
new "Повторити"
translate ukrainian strings:
# renpy/common/00translation.rpy:63
old "Translation identifier: [identifier]"
new "Ідентифікатор перекладу: [identifier]"
# renpy/common/00translation.rpy:84
old " translates [tl.filename]:[tl.linenumber]"
new " перекладає [tl.filename]:[tl.linenumber]"
+53 -4
View File
@@ -89,8 +89,6 @@ translate ukrainian strings:
old "stack: print the return stack"
new "stack: вивести стек повернення"
translate ukrainian strings:
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "Переглядач даних"
@@ -99,11 +97,62 @@ translate ukrainian strings:
old "Speech Bubble Editor (Shift+B)"
new "Редактор мовних бульбашок (Shift+B)"
# renpy/common/_developer/developer.rpym:70
old "Show Translation Info"
new "Показати відомості про переклад"
# renpy/common/_developer/developer.rpym:73
old "Hide Translation Info"
new "Сховати відомості про переклад"
# renpy/common/_developer/developer.rpym:69
old "Show Translation Identifiers"
new "Показати ідентифікатори перекладу"
# renpy/common/_developer/developer.rpym:72
old "Hide Translation Identifiers"
new "Сховати ідентифікатори перекладу"
# renpy/common/_developer/developer.rpym:81
old "Show Filename and Line"
new "Показати назву файлу та рядок"
# renpy/common/_developer/developer.rpym:84
old "Hide Filename and Line"
new "Сховати назву файлу та рядок"
# renpy/common/_developer/developer.rpym:127
old "Layer [l]:"
new "Шар [l]:"
# renpy/common/_developer/developer.rpym:131
old " [name] [attributes] (hidden)"
new " [name] [attributes] (приховано)"
# renpy/common/_developer/developer.rpym:135
old " [name] [attributes]"
new " [name] [attributes]"
# renpy/common/_developer/developer.rpym:606
old "\n{color=#fff}Copied to clipboard.{/color}"
new "\n{color=#fff}Скопійовано до буфера обміну.{/color}"
# renpy/common/_developer/developer.rpym:612
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
new "\n{color=#fff}Клацніть для копіювання.\nПеретягніть для пересування.{/color}"
# renpy/common/_developer/developer.rpym:657
old "Click to open in editor."
new "Клацніть, щоб відкрити в редакторі."
# renpy/common/00console.rpy:725
old "The console is using short representations. To disable this, type 'long', and to re-enable, type 'short'"
new "Консоль використовує короткі представлення. Щоб вимкнути це, введіть 'long', а щоб увімкнути, введіть 'short'"
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "help: показує цю довідку\n help <вираз>: показує підпис та документацію <виразу>"
# renpy/common/00console.rpy:813
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "У довідці можуть відображатися недокументовані функції. Будь ласка, перевірте, чи функцію або\nклас, який бажаєте використати, задокументовано.\n\n"
new "У довідці можуть бути недокументовані функції. Будь ласка, перевірте, чи бажана функція або\nклас задокументовано.\n\n"
+19 -19
View File
@@ -59,7 +59,7 @@ translate ukrainian strings:
# 00gltest.rpy:213
old "Performance Warning"
new "Попередження про продуктивність"
new "Попередження про швидкодію"
# 00gltest.rpy:218
old "This computer is using software rendering."
@@ -67,7 +67,7 @@ translate ukrainian strings:
# 00gltest.rpy:220
old "This computer is not using shaders."
new "Цей пристрій не використовує шейдерів."
new "Цей пристрій не використовує шейдери."
# 00gltest.rpy:222
old "This computer is displaying graphics slowly."
@@ -103,15 +103,15 @@ translate ukrainian strings:
# 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."
new "Запущено вебналаштування DirectX. Вона може згорнутися на панелі завдань. Будь ласка, дотримуйтесь вказівок для встановлення DirectX."
# 00gltest.rpy:272
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
new "{b}Нотатка:{/b} Програма вебналаштування DirectX від Microsoft за стандартом встановлює панель інструментів Bing. Якщо вам не потрібна ця панель, зніміть позначку у відповідному полі."
new "{b}Примітка:{/b} застосунок вебналаштування DirectX від Microsoft за стандартом установлює панель інструментів Bing. Якщо вам не потрібна вона, зніміть позначку у відповідному полі."
# 00gltest.rpy:276
old "When setup finishes, please click below to restart this program."
new "Після завершення налаштування, натисніть нижче, щоб перезапустити програму."
new "Після завершення установлення, натисніть нижче для перезапуску програми."
# 00gltest.rpy:278
old "Restart"
@@ -155,7 +155,7 @@ translate ukrainian strings:
# _errorhandling.rpym:535
old "Copies the traceback.txt file to the clipboard."
new "Копіює файл traceback.txt у буфер обміну."
new "Копіює вміст файлу traceback.txt у буфер обміну."
# _errorhandling.rpym:562
old "An exception has occurred."
@@ -167,7 +167,7 @@ translate ukrainian strings:
# _errorhandling.rpym:584
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
new "Спроба відкату до попереднього часу, що дозволяє зберегти або вибрати інший варіант."
new "Спробує відкатити до попереднього часу, дозволяючи вам зберегтися або вибрати інший варіант."
# _errorhandling.rpym:587
old "Ignore"
@@ -175,11 +175,11 @@ translate ukrainian strings:
# _errorhandling.rpym:591
old "Ignores the exception, allowing you to continue."
new "Ігнорує цей виняток, дозволяючи вам продовжити."
new "Ігнорує виняток, дозволяючи вам продовжити."
# _errorhandling.rpym:593
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
new "Ігнорує цей виняток, дозволяючи вам продовжити. Найчастіше це призводить до додаткових помилок."
new "Ігнорує виняток, дозволяючи вам продовжити. Найчастіше призводить до додаткових помилок."
# _errorhandling.rpym:597
old "Reload"
@@ -199,11 +199,11 @@ translate ukrainian strings:
# _errorhandling.rpym:614
old "Quits the game."
new "Виходить із гри."
new "Виходить з гри."
# _errorhandling.rpym:638
old "Parsing the script failed."
new "Розбір скрипта не вдався."
new "Помилка розбіру скрипта."
# _errorhandling.rpym:664
old "Opens the errors.txt file in a text editor."
@@ -211,7 +211,7 @@ translate ukrainian strings:
# _errorhandling.rpym:668
old "Copies the errors.txt file to the clipboard."
new "Копіює файл errors.txt у буфер обміну."
new "Копіює вміст файлу errors.txt у буфер обміну."
# _errorhandling.rpym:542
old "Copy BBCode"
@@ -219,7 +219,7 @@ translate ukrainian strings:
# _errorhandling.rpym:544
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Копіює файл traceback.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
new "Копіює вміст файлу traceback.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
# _errorhandling.rpym:546
old "Copy Markdown"
@@ -227,15 +227,15 @@ translate ukrainian strings:
# _errorhandling.rpym:548
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
new "Копіює файл traceback.txt у буфер обміну як Markdown для Discord."
new "Копіює вміст файлу traceback.txt у буфер обміну як Markdown для Discord."
# _errorhandling.rpym:683
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
new "Копіює файл errors.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
new "Копіює вміст файлу errors.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "Копіює файл errors.txt у буфер обміну як Markdown для Discord."
new "Копіює вміст файлу errors.txt у буфер обміну як Markdown для Discord."
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
@@ -267,11 +267,11 @@ translate ukrainian strings:
# renpy/common/00gltest.rpy:256
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
new "Більше інформації про те, як це може бути виправлено, дивіться в {a=[url]}документації{/a}."
new "Детальніше про те, як це можна виправити, дивіться у {a=[url]}документації{/a}."
# renpy/common/00gltest.rpy:273
old "Change render options"
new "Змінити параметри візцалізації"
new "Змінити параметри візуалізації"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
@@ -279,7 +279,7 @@ translate ukrainian strings:
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
new "Увімкнути (без списку блокування)"
new "Увімкнути (без списку блоку)"
# renpy/common/00gltest.rpy:259
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
+49 -48
View File
@@ -13,6 +13,10 @@ translate ukrainian strings:
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
new "## Виклик gui.init скидає стилі до розумних значень за замовчуванням і встановлює ширину та висоту гри."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Увімкнути перевірку недійсних або нестабільних властивостей в екранах або перетвореннях"
# gui/game/gui.rpy:17
old "## GUI Configuration Variables"
new "## Змінні конфігурації GUI"
@@ -27,11 +31,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:25
old "## An accent color used throughout the interface to label and highlight text."
new "## Колір акценту, який використовується в інтерфейсі для позначення та виділення тексту."
new "## Акцентований колір, який використовується в інтерфейсі для позначення та виділення тексту."
# gui/game/gui.rpy:29
old "## The color used for a text button when it is neither selected nor hovered."
new "## Колір, який використовується для текстової кнопки, коли вона не вибрана і не наведена."
new "## Колір, який використовується для кнопки з текстом, коли її не вибрано або не наведено вказівником."
# gui/game/gui.rpy:32
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
@@ -39,23 +43,23 @@ translate ukrainian strings:
# gui/game/gui.rpy:36
old "## The color that is used for buttons and bars that are hovered."
new "## Колір, який використовується для кнопок і смуг, на які наводяться."
new "## Колір, який використовується для кнопок і смуг, на які наводяться вказівником."
# gui/game/gui.rpy:39
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
new "## Колір, який використовується для текстової кнопки, коли вона вибрана, але не в фокусі. Кнопку вибрано, якщо це поточний екран або значення параметра."
new "## Колір, який використовується для кнопки з текстом, коли її вибрано, але користувач не в програмі. Кнопку вибрано, якщо це поточний екран або значення параметра."
# gui/game/gui.rpy:43
old "## The color used for a text button when it cannot be selected."
new "## Колір текстової кнопки, якщо її неможливо вибрати."
new "## Колір кнопки з текстом, коли її неможливо вибрати."
# gui/game/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/game/gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## Кольори, які використовуються для тексту діалогу та вибору меню."
new "## Кольори, які використовуються для тексту діалогу та меню вибору."
# gui/game/gui.rpy:56
old "## Fonts and Font Sizes"
@@ -67,7 +71,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:61
old "## The font used for character names."
new "## Шрифт, який використовується для імен символів."
new "## Шрифт, який використовується для імен персонажів."
# gui/game/gui.rpy:64
old "## The font used for out-of-game text."
@@ -83,11 +87,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:73
old "## The size of text in the game's user interface."
new "## Розмір тексту в інтерфейсі користувача гри."
new "## Розмір тексту в інтерфейсі гри."
# gui/game/gui.rpy:76
old "## The size of labels in the game's user interface."
new "## Розмір міток в інтерфейсі користувача гри."
new "## Розмір міток в інтерфейсі гри."
# gui/game/gui.rpy:79
old "## The size of text on the notify screen."
@@ -123,7 +127,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:106
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
new "## Розташування імені персонажа, що говорить, відносно текстового поля. Це може бути ціла кількість пікселів зліва чи зверху або 0,5 до центру."
new "## Розташування імені персонажа, відносно текстового поля. Це може бути ціла кількість пікселів зліва чи зверху або 0,5 до центру."
# gui/game/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."
@@ -135,11 +139,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:120
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
new "## Межі поля, що містять ім'я персонажа, у порядку зліва, зверху, справа, знизу."
new "## Межі поля, що містять імʼя персонажа, у порядку зліва, зверху, справа, знизу."
# gui/game/gui.rpy:124
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
new "## Якщо True, фон поля імен буде мозаїкою, якщо False, фон вікна імен буде масштабовано."
new "## Якщо встановлено «True», тло поля імен буде мозаїкою, якщо «False», тло поля імен буде масштабовано."
# gui/game/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."
@@ -159,11 +163,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:145
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
new "## Ці змінні разом із файлами зображень у gui/button контролюють аспекти відображення кнопок."
new "## Ці змінні разом із файлами зображень у gui/button контролюють аспекти показу кнопок."
# gui/game/gui.rpy:148
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
new "## Ширина та висота кнопки в пікселях. Якщо немає, Ren'Py обчислює розмір."
new "## Ширина та висота кнопки в пікселях. Якщо встановлено «None», Ren'Py обчислить розмір."
# gui/game/gui.rpy:152
old "## The borders on each side of the button, in left, top, right, bottom order."
@@ -171,7 +175,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:155
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
new "## Якщо True, фонове зображення буде мозаїчно. Якщо False, фонове зображення буде лінійно масштабовано."
new "## Якщо встановлено «True», зображення тла буде мозаїчно. Якщо «False», зображення тла буде лінійно масштабовано."
# gui/game/gui.rpy:159
old "## The font used by the button."
@@ -187,11 +191,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:171
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
new "## Горизонтальне вирівнювання тексту кнопки. (0,0 ліворуч, 0,5 центр, 1,0 праворуч)."
new "## Горизонтальне вирівнювання тексту кнопки. (0,0 ліворуч, 0,5 центр, 1,0 праворуч)."
# gui/game/gui.rpy:176
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
new "## Ці змінні перекривають налаштування для різних типів кнопок. Перегляньте документацію gui, щоб дізнатися про типи доступних кнопок і для чого кожна з них використовується."
new "## Ці змінні перевизначають налаштування для різних типів кнопок. Перегляньте документацію про GUI, щоб дізнатися про типи доступних кнопок і для чого кожна з них використовується."
# gui/game/gui.rpy:180
old "## These customizations are used by the default interface:"
@@ -211,23 +215,23 @@ translate ukrainian strings:
# gui/game/gui.rpy:218
old "## File Slot Buttons"
new "## Кнопки слотів файлів"
new "## Кнопки комірок збережень"
# gui/game/gui.rpy:220
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
new "## Кнопка слота файлів — це особливий вид кнопки. Він містить ескіз зображення та текст, що описує вміст гнізда збереження. Слот збереження використовує файли зображень у gui/button, як і інші типи кнопок."
new "## Кнопка комірки збереження — це особливий вид кнопки. Він містить мале зображення та текст, що описує вміст комірки збереження. Комірка збереження використовує файли зображень у gui/button, як і інші типи кнопок."
# gui/game/gui.rpy:224
old "## The save slot button."
new "## Кнопка збереження слота."
new "## Кнопка комірки збереження."
# gui/game/gui.rpy:234
old "## The width and height of thumbnails used by the save slots."
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу користувача."
new "## Ширина та висота малих зображень, що використовуються комірками збереження."
# gui/game/gui.rpy:238
old "## The number of columns and rows in the grid of save slots."
new "## Ширина та висота мініатюр, що використовуються слотами для збереження."
new "## Кількість стовпців і рядків у сітці комірок збереження."
# gui/game/gui.rpy:243
old "## Positioning and Spacing"
@@ -235,7 +239,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:245
old "## These variables control the positioning and spacing of various user interface elements."
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу користувача."
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу."
# gui/game/gui.rpy:248
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
@@ -247,11 +251,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:255
old "## The vertical position of the notify screen."
new "## Вертикальне положення екрана сповіщень."
new "## Вертикальна позиція екрана сповіщень."
# gui/game/gui.rpy:258
old "## The spacing between menu choices."
new "## Інтервал між пунктами меню."
new "## Інтервал між елементами у меню вибору."
# gui/game/gui.rpy:261
old "## Buttons in the navigation section of the main and game menus."
@@ -271,7 +275,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:273
old "## The spacing between file slots."
new "## Відстань між слотами файлів."
new "## Відстань між комірками збережень."
# gui/game/gui.rpy:276
old "## The position of the main menu text."
@@ -283,7 +287,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:282
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
new "## Ці змінні керують виглядом рамок, що можуть містити компоненти інтерфейсу користувача, коли накладання або вікно відсутні."
new "## Ці змінні керують виглядом рамок, що можуть містити компоненти інтерфейсу, коли накладання або вікно відсутні."
# gui/game/gui.rpy:285
old "## Generic frames."
@@ -295,7 +299,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:291
old "## The frame that is used as part of the skip screen."
new "## Рамка, який використовується як частина екрана пропуску."
new "## Рамка, яка використовується як частина екрана пропуску."
# gui/game/gui.rpy:294
old "## The frame that is used as part of the notify screen."
@@ -303,7 +307,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:297
old "## Should frame backgrounds be tiled?"
new "## Чи слід фонові рамки розміщувати плиткою?"
new "## Чи слід фонові рамки розміщувати мозаїчно?"
# gui/game/gui.rpy:301
old "## Bars, Scrollbars, and Sliders"
@@ -311,11 +315,11 @@ translate ukrainian strings:
# gui/game/gui.rpy:303
old "## These control the look and size of bars, scrollbars, and sliders."
new "## Це керує виглядом і розміром смуг, смуг прокрутки та повзунків."
new "## Ці керують виглядом і розміром панель, смуг прокрутки та повзунків."
# gui/game/gui.rpy:305
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
new "## GUI за замовчуванням використовує лише повзунки та вертикальні смуги прокручування. Усі інші смужки використовуються лише на екранах, написаних автором."
new "## Стандартний інтерфейс використовує лише повзунки та вертикальні смуги прокрутки. Усі інші смуги використовуються лише на екранах, написаних автором."
# gui/game/gui.rpy:308
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
@@ -323,7 +327,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:314
old "## True if bar images should be tiled. False if they should be linearly scaled."
new "## True якщо зображення панелей мають бути мозаїками. False, якщо вони повинні бути лінійно масштабовані."
new "## True якщо зображення панелей мають бути мозаїчно. False, якщо вони повинні бути лінійно масштабовані."
# gui/game/gui.rpy:319
old "## Horizontal borders."
@@ -335,7 +339,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:329
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
new "## Що робити з непрокручуваними смугами прокручування в gui. \"hide\" приховує їх, а «Нічого» показує їх."
new "## Що робити з непрокручуваними смугами прокрутки в інтерфейсі. Значення «hide» приховує їх, а «None» показує їх."
# gui/game/gui.rpy:334
old "## History"
@@ -351,12 +355,16 @@ translate ukrainian strings:
# gui/game/gui.rpy:341
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
new "## Висота запису на екрані історії або «Нічого», щоб зробити висоту змінною за рахунок продуктивності."
new "## Висота запису на екрані історії або «None», щоб зробити висоту змінною шляхом швидкодії."
# gui/game/gui.rpy:345
old "## The position, width, and alignment of the label giving the name of the speaking character."
new "## Положення, ширина та вирівнювання мітки, що вказує ім’я персонажа, що говорить."
# gui/game/gui.rpy:347
old "## Additional space to add between history screen entries."
new "## Додатковий простір для додавання між записами на екрані «Історія»."
# gui/game/gui.rpy:352
old "## The position, width, and alignment of the dialogue text."
new "## Позиція, ширина та вирівнювання тексту діалогу."
@@ -371,7 +379,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:363
old "## The borders of the background of the NVL-mode background window."
new "## Межі фону заднього плану режиму NVL."
new "## Межі тла вікна заднього плану режиму NVL."
# gui/game/gui.rpy:366
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."
@@ -399,7 +407,7 @@ translate ukrainian strings:
# gui/game/gui.rpy:404
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"
new "## Це визначає, де дозволений розрив рядка. Стандартне значення підходить для більшості мов. Список доступних значень можна знайти на https://www.renpy.org/doc/html/style_properties.html#style-property-language"
# gui/game/gui.rpy:412
old "## Mobile devices"
@@ -407,15 +415,15 @@ translate ukrainian strings:
# gui/game/gui.rpy:417
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## Це збільшує розмір швидких кнопок, щоб їх було легше торкатися на планшетах і телефонах."
new "## Це збільшує розмір кнопок швидкої панелі доступу, щоб їх було легше торкатися на планшетах і телефонах."
# gui/game/gui.rpy:424
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
new "## Це змінює розмір і відстань між різними елементами gui, щоб вони були видимими на телефонах."
new "## Це змінює розмір і відстань між різними елементами інтерфейсу, щоб вони були видимими на телефонах."
# gui/game/gui.rpy:429
old "## Font sizes."
new "## Розміри шрифту"
new "## Розміри шрифтів"
# gui/game/gui.rpy:437
old "## Adjust the location of the textbox."
@@ -427,15 +435,8 @@ translate ukrainian strings:
# gui/game/gui.rpy:457
old "## File button layout."
new "## Макет кнопки файлу."
new "## Макет кнопки збереження."
# gui/game/gui.rpy:461
old "## NVL-mode."
new "## NVL-режим."
translate ukrainian strings:
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Увімкнути перевірку недійсних або нестабільних властивостей у екранах або перетвореннях"
File diff suppressed because it is too large Load Diff
+33 -35
View File
@@ -7,7 +7,7 @@ translate ukrainian strings:
# gui/game/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 "## Рядки, що починаються з двох решіток «##» є коментарями і вам не потрібно розкоментовувати їх. Рядки, що починаються з однієї решітки «#» є закоментованим кодом, і ви можете за потреби розкоментувати їх."
# gui/game/options.rpy:10
old "## Basics"
@@ -15,7 +15,7 @@ translate ukrainian strings:
# gui/game/options.rpy:12
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
new "## Зрозуміла назва гри. Це використовується для встановлення заголовка вікна за замовчуванням і відображається в інтерфейсі та звітах про помилки."
new "## Зрозуміла назва гри. Використовується для задання заголовка вікна за стандартом і показується в інтерфейсі та звітах про помилки."
# gui/game/options.rpy:15
old "## The _() surrounding the string marks it as eligible for translation."
@@ -23,11 +23,11 @@ translate ukrainian strings:
# gui/game/options.rpy:17
old "Ren'Py 7 Default GUI"
new "Графічний інтерфейс Ren'Py 7 за замовчуванням"
new "Стандартний GUI Ren'Py 7"
# gui/game/options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
new "## Визначає, чи заголовок, наведений вище, відображається на екрані головного меню. Встановіть значення False, щоб приховати назву."
new "## Визначає, чи наведений вище заголовок показано на екрані головного меню. Установіть значення «False» для приховання заголовка."
# gui/game/options.rpy:26
old "## The version of the game."
@@ -35,27 +35,27 @@ translate ukrainian strings:
# gui/game/options.rpy:31
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
new "## Текст, який розміщується на екрані інформації про гру. Поставте текст між потрійними лапками, а між абзацами залиште порожній рядок."
new "## Текст, який розміщено на екрані «Про гру». Поставте текст між потрійними лапками, а між абзацами залиште порожній рядок."
# gui/game/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 і не повинно містити пробілів, двокрапки чи крапки з комою."
new "## Коротка назва гри, яка використовується для виконуваних файлів і тек у вбудованому дистрибутиві. Дозволено лише символи ASCII та не повинно містити пробілів, двокрапок чи крапок з комою."
# gui/game/options.rpy:45
old "## Sounds and music"
new "## Звуки і музика"
new "## Звуки й музика"
# gui/game/options.rpy:47
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
new "## Ці три змінні керують, серед іншого, тим, які міксери відображаються гравцеві за замовчуванням. Встановлення для одного з них значення False приховає відповідний мікшер."
new "## Ці три змінні визначають, серед іншого, які мікшери показуватимуться гравцеві за стандартом. Установивши значення «False» одній з них, відповідний мікшер буде приховано."
# gui/game/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 "## Щоб дозволити користувачеві відтворювати тестовий звук на звуковому або голосовому каналі, розкоментуйте рядок нижче та скористайтеся ним, щоб задати зразок звуку для відтворення."
# gui/game/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 "## Розкоментуйте наступний рядок, щоб налаштувати аудіофайл, який відтворюватиметься, коли плеєр перебуває в головному меню. Цей файл продовжуватиме відтворюватися в грі, доки його не буде зупинено або не буде відтворено інший файл."
new "## Розкоментуйте наступний рядок, щоб налаштувати аудіофайл, який відтворюватиметься, коли гравець у головному меню. Цей файл продовжуватиме відтворюватися у грі, доки його не буде зупинено або не буде відтворено інший файл."
# gui/game/options.rpy:70
old "## Transitions"
@@ -63,7 +63,7 @@ translate ukrainian strings:
# gui/game/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, щоб вказати, що перехід не слід використовувати."
new "## Ці змінні встановлюють переходи, які використовуються, коли відбуваються певні події. Кожна змінна має бути встановлена на певний перехід або «None», щоб вказати, що перехід не слід використовувати."
# gui/game/options.rpy:76
old "## Entering or exiting the game menu."
@@ -83,7 +83,7 @@ translate ukrainian strings:
# gui/game/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 після показу початкової сцени."
new "## Змінна для встановлення переходу, який використовується під час запуску гри, не існує. Замість цього використовуйте оператор «with» після показу початкової сцени."
# gui/game/options.rpy:102
old "## Window management"
@@ -91,11 +91,11 @@ translate ukrainian strings:
# gui/game/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\", вікно буде приховано перед операторами сцени та показано знову, коли відобразиться діалог."
new "## Цей параметр визначає час показу діалогового вікна. Якщо задано «show», воно завжди показуватиметься. Якщо задано «hide», воно показуватиметься лише за наявності діалогу. Якщо задано «auto», вікно буде приховано перед операторами сцени та показано знову, коли відобразиться діалог."
# gui/game/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»."
# gui/game/options.rpy:115
old "## Transitions used to show and hide the dialogue window"
@@ -103,23 +103,23 @@ translate ukrainian strings:
# gui/game/options.rpy:121
old "## Preference defaults"
new "## Параметри за замовчуванням"
new "## Стандартні налаштування"
# gui/game/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, означає різку появу тексту, а будь-яке інше число означатиме кількість символів за секунду для друку."
# gui/game/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."
new "## Затримка автоматичного перемотування за стандартом. Більші значення призводять до довшого очікування, допустимий діапазон від 0 до 30."
# gui/game/options.rpy:135
old "## Save directory"
new "## Зберегти теку"
new "## Тека збережень"
# gui/game/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 буде розміщувати файли збереження для цієї гри. Файли збереження будуть розміщені в:"
new "## Дозволяє вказати місце на платформі, куди Ren'Py зберігатиме файли збережень для цієї гри. Місце розміщення файлів збереження:"
# gui/game/options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -135,7 +135,7 @@ translate ukrainian strings:
# gui/game/options.rpy:146
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
new "## Як правило, це не слід змінювати, і якщо це так, завжди має бути літеральний рядок, а не вираз."
new "## Як правило, його не слід змінювати, а якщо змінювати, то це завжди має бути буквальний рядок, а не вираз."
# gui/game/options.rpy:152
old "## Icon"
@@ -143,19 +143,19 @@ translate ukrainian strings:
# gui/game/options.rpy:154
old "## The icon displayed on the taskbar or dock."
new "## Значок, що відображається на панелі завдань або док-станції."
new "## Значок, що показується на панелі завдань або док-станції."
# gui/game/options.rpy:159
old "## Build configuration"
new "## Створити конфігурацію"
new "## Конфігурація збірки"
# gui/game/options.rpy:161
old "## This section controls how Ren'Py turns your project into distribution files."
new "## Цей розділ керує тим, як Ren'Py перетворює ваш проєкт у файли розповсюдження."
new "## Цей розділ керує тим, як Ren'Py перетворює ваш проєкт на файли для розповсюдження."
# gui/game/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 "## Наступні функції приймають шаблони файлів. Шаблони файлів не чутливі до регістру та зіставляються зі шляхом відносно основної теки, з / без нього на початку. Якщо збігається декілька шаблонів, використовується перший."
new "## Наступні функції приймають шаблони файлів. Шаблони файлів не залежать від регістру і збігаються за шляхом відносно основної теки, з та без скісної риски «/» на початку. Якщо збігається декілька шаблонів, використовується перший."
# gui/game/options.rpy:171
old "## In a pattern:"
@@ -163,44 +163,42 @@ translate ukrainian strings:
# gui/game/options.rpy:173
old "## / is the directory separator."
new "## / є роздільником теки."
new "## / є роздільником тек."
# gui/game/options.rpy:175
old "## * matches all characters, except the directory separator."
new "## * відповідає всім символам, крім роздільника теки."
new "## * збігається з усіма символами, окрім роздільника тек."
# gui/game/options.rpy:177
old "## ** matches all characters, including the directory separator."
new "## ** відповідає всім символам, включаючи роздільник теки."
new "## ** збігаються з усіма символами, включаючи роздільника тек."
# gui/game/options.rpy:179
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
new "## Наприклад, \"*.txt\" відповідає файлам txt у базовому каталозі, \"game/**.ogg\" відповідає файлам ogg у каталозі гри або будь-якому з його під-тек, а \"**.psd \" відповідає файлам psd будь-де в проєкті."
new "## Наприклад, «*.txt» збігається з файламм txt у базовій теці, «game/**.ogg» збігається з файлами ogg у теці «game» або будь-якій з її підтек, а «**.psd» збігається з файлами psd будь-де в проєкті."
# gui/game/options.rpy:183
old "## Classify files as None to exclude them from the built distributions."
new "## Класифікуйте файли як None, щоб виключити їх із вбудованих дистрибутивів."
new "## Для виключення файлів із збірки файлів розповсюдження, класифікуйте їх як «None»."
# gui/game/options.rpy:191
old "## To archive files, classify them as 'archive'."
new "## Щоб архівувати файли, класифікуйте їх як 'archive'."
new "## Для архівації файлів, класифікуйте їх як «archive»."
# gui/game/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-файл."
# gui/game/options.rpy:203
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."
new "## Для завантаження файлів розширення та здійснення покупок у застосунку потрібен ліцензійний ключ Google Play. Його можна знайти на сторінці «Сервіси та API» в консолі розробника Google Play."
# gui/game/options.rpy:210
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Ім’я користувача та назва проєкту, пов’язані з проєктом itch.io, розділені скісною рискою."
translate ukrainian strings:
# gui/game/options.rpy:203
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
new "## Для здійснення покупок у додатку потрібен ліцензійний ключ Google Play. Його можна знайти в консолі розробника Google Play у розділі \"Монетизація\" > \"Налаштування монетизації\" > \"Ліцензування\"."
new "## Для здійснення внутрішньоігрового придбання потрібен ліцензійний ключ Google Play. Його можна знайти в консолі розробника Google Play у розділі «Монетизація» > «Налаштування монетизації» > «Ліцензування»."
+63 -60
View File
@@ -11,15 +11,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:85
old "## Say screen"
new "## Екран Say"
new "## Екран промови"
# gui/game/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 "## Екран Say використовується для відображення діалогу гравцеві. Він приймає два параметри, who і what, ім’я персонажа, що говорить, і текст, який буде відображатися відповідно. (Параметр who може мати значення None, якщо ім’я не вказано.)"
new "## Екран промови використовується для показу діалогу гравцеві. Він приймає два параметри, «who» та «what», ім’я персонажа й текст, який буде показано відповідно. (Параметр «who» може мати значення «None», якщо ім’я не вказано.)"
# gui/game/screens.rpy:92
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
new "## Цей екран має створювати текст, який можна відображати з ідентифікатором «what», оскільки Ren'Py використовує це для керування відображенням тексту. Він також може створювати відображувані елементи з ідентифікаторами «who» та «window» для застосування властивостей стилю."
new "## Цей екран має створювати текст з ідентифікатором «what», оскільки Ren'Py використовує його для керування показу тексту. Він також може створювати елементи з ідентифікаторами «who» та «window» для застосування властивостей стилю."
# gui/game/screens.rpy:96
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -39,11 +39,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:167
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
new "## Цей екран використовується для відображення renpy.input. Параметр prompt використовується для передачі текстової підказки."
new "## Цей екран використовується для показу «renpy.input». Параметр «prompt» використовується для передачі текстової підказки."
# gui/game/screens.rpy:170
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Цей екран має створити відображуваний вхід з ідентифікатором «input» для прийняття різних вхідних параметрів."
new "## Цей екран має створити введення з ідентифікатором «input» для прийняття різних параметрів введення."
# gui/game/screens.rpy:173
old "## https://www.renpy.org/doc/html/screen_special.html#input"
@@ -55,7 +55,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:202
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
new "## Цей екран використовується для відображення вибору в грі, представленого командою 'menu'. Один параметр, 'items' — це список об’єктів, кожен із полями заголовка та дії."
new "## Цей екран використовується для показу ігрових варіантів вибору, представлених оператором «menu». Один параметр, «items», являє собою список об’єктів, кожен з яких має підпис і поле дії."
# gui/game/screens.rpy:206
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
@@ -67,11 +67,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:236
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
new "## Швидке меню відображається в грі, щоб забезпечити легкий доступ до меню поза грою."
new "## Швидке меню показується у грі, щоб забезпечити легкий доступ до меню поза грою."
# gui/game/screens.rpy:241
old "## Ensure this appears on top of other screens."
new "## Переконайтеся, що це відображається поверх інших екранів."
new "## Переконайтеся, що воно показується поверх інших екранів."
# gui/game/screens.rpy:252
old "Back"
@@ -83,7 +83,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:254
old "Skip"
new "Пропустити"
new "Пропускати"
# gui/game/screens.rpy:255
old "Auto"
@@ -107,7 +107,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:262
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
new "## Цей код гарантує, що екран quick_menu відображається в грі, якщо гравець явно не приховав інтерфейс."
new "## Цей код гарантує, що екран «quick_menu» показується у грі, якщо гравець не приховав інтерфейс явно."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
@@ -119,7 +119,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:285
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
new "## Цей екран включено в головне та ігрове меню та забезпечує навігацію до інших меню та початок гри."
new "## Цей екран включено в головне та ігрове меню і забезпечує навігацію до інших меню та початку гри."
# gui/game/screens.rpy:300
old "Start"
@@ -147,7 +147,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:324
old "## Help isn't necessary or relevant to mobile devices."
new "## Допомога не є необхідною або актуальною для мобільних пристроїв."
new "## Довідка не є необхідною або доречною для мобільних пристроїв."
# gui/game/screens.rpy:325
old "Help"
@@ -155,7 +155,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
new "## Кнопка виходу заборонена на iOS і непотрібна на Android і в Web."
new "## Кнопка виходу заборонена на iOS й непотрібна на Android та Web."
# gui/game/screens.rpy:330
old "Quit"
@@ -167,7 +167,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:346
old "## Used to display the main menu when Ren'Py starts."
new "## Використовується для відображення головного меню під час запуску Ren'Py."
new "## Використовується для показу головного меню під час запуску Ren'Py."
# gui/game/screens.rpy:348
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -183,19 +183,19 @@ translate ukrainian strings:
# gui/game/screens.rpy:361
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## Інструкція використання включає інший екран всередині цього. Фактичний вміст головного меню знаходиться на екрані навігації."
new "## Оператор «use» включає інший екран усередині цього. Фактичний вміст головного меню знаходиться на екрані навігації."
# gui/game/screens.rpy:406
old "## Game Menu screen"
new "## Екран меню гри"
new "## Екран ігрового меню"
# gui/game/screens.rpy:408
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
new "## Це описує базову структуру екрана меню гри. Він викликається за допомогою заголовка екрана та відображає тло, заголовок і навігацію."
new "## Тут викладено основну загальну структуру екрана ігрового меню. Він викликається заголовком екрана і показує тло, заголовок і навігацію."
# gui/game/screens.rpy:411
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Параметр прокручування може бути None або одним із «viewport» чи «vpgrid». Цей екран призначений для використання з одним або декількома об’єктами, які включені (розміщені) всередині нього."
new "## Параметр «scroll» може мати значення «None» або один з «viewport» чи «vpgrid». Цей екран призначений для використання з одним або декількома об’єктами, які включені (розміщені) всередині нього."
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
@@ -211,7 +211,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:536
old "## This screen gives credit and copyright information about the game and Ren'Py."
new "## Цей екран містить інформацію про авторство та авторські права щодо гри та Ren'Py."
new "## Цей екран містить інформацію про авторів та авторські права щодо гри та Ren'Py."
# gui/game/screens.rpy:539
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
@@ -219,7 +219,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:546
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 "## Цей оператор використання включає екран «game_menu» всередині цього. Потім дочірній елемент «vbox» включається в область перегляду всередині екрана «game_menu»."
new "## Цей оператор «use» включає екран «game_menu» всередині цього. Потім дочірній елемент «vbox» буде включено до «viewport» всередині екрана «game_menu»."
# gui/game/screens.rpy:556
old "Version [config.version!t]\n"
@@ -227,7 +227,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:558
old "## gui.about is usually set in options.rpy."
new "## «gui.about» зазвичай встановлюється в «options.rpy»."
new "## Значення «gui.about» зазвичай задається у файлі «options.rpy»."
# gui/game/screens.rpy:562
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
@@ -259,7 +259,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:604
old "## This ensures the input will get the enter event before any of the buttons do."
new "## Це гарантує, що введення отримає подію «enter» раніше, ніж будь-яка кнопка."
new "## Це гарантує, що введення отримає подію входу раніше, ніж будь-яка кнопка."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
@@ -267,11 +267,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:620
old "## The grid of file slots."
new "## Сітка комірок для файлів."
new "## Сітка комірок збережень."
# gui/game/screens.rpy:640
old "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %B %d %Y, %H:%M"
new "{#file_time}%A, %d %B %Y, %H:%M"
# gui/game/screens.rpy:640
old "empty slot"
@@ -279,7 +279,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:648
old "## Buttons to access other pages."
new "## Кнопки для доступу до інших сторінок."
new "## Кнопки для відкриття інших сторінок."
# gui/game/screens.rpy:657
old "<"
@@ -295,7 +295,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:665
old "## range(1, 10) gives the numbers from 1 to 9."
new "## range(1, 10) дає числа від 1 до 9."
new "## range(1, 10) повертає числа від 1 до 9."
# gui/game/screens.rpy:669
old ">"
@@ -339,11 +339,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:737
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», щоб додати додаткові налаштування, визначені автором."
# gui/game/screens.rpy:748
old "Text Speed"
new "Швидкість тексту"
new "Швидкість друку тексту"
# gui/game/screens.rpy:752
old "Auto-Forward Time"
@@ -355,7 +355,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:766
old "Sound Volume"
new "Гучність звук. ефектів"
new "Гучність звукових ефектів"
# gui/game/screens.rpy:772
old "Test"
@@ -375,7 +375,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:865
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."
new "## Це екран, на якому гравцеві буде показано історію діалогів. Хоч й в цьому екрані немає нічого особливого, він має мати доступ до історії діалогів, що зберігається в «_history_list»."
# gui/game/screens.rpy:869
old "## https://www.renpy.org/doc/html/history.html"
@@ -383,15 +383,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:875
old "## Avoid predicting this screen, as it can be very large."
new "## Не намагайтеся передбачити цей екран, оскільки він може бути дуже великим."
new "## Уникайте виклику цього екрану, оскільки він може бути дуже великим."
# gui/game/screens.rpy:886
old "## This lays things out properly if history_height is None."
new "## Тут все буде правильно, якщо history_height дорівнює None."
new "## Тут усе буде показано правильно, якщо «history_height» дорівнює «None»."
# gui/game/screens.rpy:896
old "## Take the color of the who text from the Character, if set."
new "## Бере колір тексту who з Character, якщо він заданий."
new "## Бере колір тексту «who» з «Character», якщо він заданий."
# gui/game/screens.rpy:905
old "The dialogue history is empty."
@@ -399,7 +399,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:908
old "## This determines what tags are allowed to be displayed on the history screen."
new "## Це визначає теги, які можна відображати на екрані історії."
new "## Визначає, які теги дозволено показувати на екрані історії."
# gui/game/screens.rpy:953
old "## Help screen"
@@ -407,7 +407,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:955
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), щоб відобразити фактичну довідку."
new "## Екран, що надає інформацію про призначення клавіш і миші. Він використовує інші екрани (keyboard_help, mouse_help та gamepad_help), щоб показати саму довідку."
# gui/game/screens.rpy:974
old "Keyboard"
@@ -439,7 +439,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:999
old "Arrow Keys"
new "Клавіші зі стрілками"
new "Клавіші стрілок"
# gui/game/screens.rpy:1000
old "Navigate the interface."
@@ -451,7 +451,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1004
old "Accesses the game menu."
new "Доступ до меню гри."
new "Відкриває ігрове меню."
# gui/game/screens.rpy:1007
old "Ctrl"
@@ -467,7 +467,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1012
old "Toggles dialogue skipping."
new "Вмикає пропуск діалогу."
new "Перемикає пропуск діалогу."
# gui/game/screens.rpy:1015
old "Page Up"
@@ -475,7 +475,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1016
old "Rolls back to earlier dialogue."
new "Відкат до попереднього діалогу."
new "Відкатує до попереднього діалогу."
# gui/game/screens.rpy:1019
old "Page Down"
@@ -483,7 +483,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1020
old "Rolls forward to later dialogue."
new "Перехід до наступного діалогу."
new "Переходить до наступного діалогу."
# gui/game/screens.rpy:1024
old "Hides the user interface."
@@ -503,15 +503,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:1042
old "Left Click"
new "ЛКМ"
new "Ліва кнопка миші"
# gui/game/screens.rpy:1046
old "Middle Click"
new "СКМ"
new "Середня кнопка миші"
# gui/game/screens.rpy:1050
old "Right Click"
new "ПКМ"
new "Права кнопка миші"
# gui/game/screens.rpy:1054
old "Mouse Wheel Up"
@@ -523,7 +523,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1065
old "Right Trigger\nA/Bottom Button"
new "Правий тригер\nA/Нижня кнопка"
new "Правий тригер\nКнопка A/Униз"
# gui/game/screens.rpy:1069
old "Left Trigger\nLeft Shoulder"
@@ -535,7 +535,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1078
old "D-Pad, Sticks"
new "Хрестовина, Стики"
new "Хрестовина, стики"
# gui/game/screens.rpy:1082
old "Start, Guide"
@@ -543,12 +543,16 @@ translate ukrainian strings:
# gui/game/screens.rpy:1086
old "Y/Top Button"
new "Y/Верхня кнопка"
new "Кнопка Y/Угору"
# gui/game/screens.rpy:1089
old "Calibrate"
new "Відкалібрувати"
# gui/game/screens.rpy:1098
old "Start, Guide, B/Right Button"
new "Start, Guide, Кнопка B/Управо"
# gui/game/screens.rpy:1117
old "## Additional screens"
new "## Додаткові екрани"
@@ -559,7 +563,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1123
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 хоче поставити гравцеві запитання з відповіддю «Так» або «Ні»."
# gui/game/screens.rpy:1126
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -567,7 +571,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1130
old "## Ensure other screens do not get input while this screen is displayed."
new "## Переконайтеся, що інші екрани не отримують введення, поки відображається цей екран."
new "## Переконайтеся, що на інші екранах не отримується введення під час показу цього екрана."
# gui/game/screens.rpy:1154
old "Yes"
@@ -579,7 +583,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1157
old "## Right-click and escape answer \"no\"."
new "## Клацніть ПКМ та вийдіть із відповіді «Ні»."
new "## Клацніть ПКМ й оберіть відповідь «Ні»."
# gui/game/screens.rpy:1184
old "## Skip indicator screen"
@@ -587,7 +591,7 @@ translate ukrainian strings:
# gui/game/screens.rpy:1186
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
new "## Екран skip_indicator відображається, щоб вказати, що триває пропуск."
new "## Екран «skip_indicator» показується, що вказати на те, що виконується пропуск."
# gui/game/screens.rpy:1189
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -599,19 +603,19 @@ translate ukrainian strings:
# gui/game/screens.rpy:1208
old "## This transform is used to blink the arrows one after another."
new "## Це перетворення використовується для миготіння стрілок одна за одною."
new "## Це перетворення використовується для блимання стрілок одна за одною."
# gui/game/screens.rpy:1235
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
new "## Ми повинні використовувати шрифт із гліфом МАЛЕНЬКИЙ ЧОРНИЙ ТРИКУТНИК ВПРАВО."
new "## Ми маємо використовувати шрифт, в якому є гліф «BLACK RIGHT-POINTING SMALL TRIANGLE»."
# gui/game/screens.rpy:1240
old "## Notify screen"
new "## Екран сповіщень"
new "## Екран оповіщення"
# gui/game/screens.rpy:1242
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 "## Екран оповіщення використовується, щоб показати гравцеві повідомлення. (Наприклад, коли гру збережено або зроблено знімок екрана)."
# gui/game/screens.rpy:1245
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -631,15 +635,15 @@ translate ukrainian strings:
# gui/game/screens.rpy:1294
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Відображає діалог у vpgrid або vbox."
new "## Показує діалог у типі «vpgrid» або «vbox»."
# gui/game/screens.rpy:1307
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
new "## Відображає меню, якщо є. Меню може відображатися неправильно, якщо для config.narrator_menu задано значення True."
new "## Показує меню, якщо його задано. Меню може показуватися некоректно, якщо «config.narrator_menu» має значення «True»."
# gui/game/screens.rpy:1337
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
new "## Це визначає максимальну кількість записів у режимі NVL, які можуть бути відображені одночасно."
new "## Цей параметр контролює максимальну кількість реплік у режимі NVL, які можуть бути показані одночасно."
# gui/game/screens.rpy:1399
old "## Mobile Variants"
@@ -653,7 +657,6 @@ translate ukrainian strings:
old "Menu"
new "Меню"
translate ukrainian strings:
# gui/game/screens.rpy:676
@@ -666,11 +669,11 @@ translate ukrainian strings:
# gui/game/screens.rpy:1410
old "## Bubble screen"
new "## Екран з бульбашками"
new "## Екран бульбашок"
# gui/game/screens.rpy:1412
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
new "## Екран бульбашок використовується для показу діалогу гравцеві під час використання мовних бульбашок. Екран бульбашок має ті самі параметри, що й екран слів, має створювати елемент відображення з ідентифікатором «what», а також може створювати елементи відображення з ідентифікаторами «namebox», «who» і «window»."
new "## Екран бульбашок використовується для показу діалогу гравцеві під час використання мовних бульбашок. Екран бульбашок має ті самі параметри, що й екран промови, має створювати об’єкт з ідентифікатором «what», а також може створювати об’єкти з ідентифікаторами «namebox», «who» і «window»."
# gui/game/screens.rpy:1417
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
+9 -9
View File
@@ -1,7 +1,7 @@
# У цьому файлі міститься скрипт гри.
# У цьому файлі міститься сценарій гри.
# Оголошення персонажів, які використовуються в цій грі. Колірний аргумент розфарбовує
# ім’я персонажа.
# Визначення персонажів для гри.
# Аргумент color змінює колір ім’я персонажа.
define e = Character("Ейлін")
@@ -10,23 +10,23 @@ define e = Character("Ейлін")
label start:
# Це показує тло. За стандратом використовується заповнювач, але ви можете
# Показ тла. Типово використовується заповнювач, але ви можете
# додати файл (з назвою «bg room.png» або «bg room.jpg») до
# теки images, щоб показати його.
scene bg room
# Це показує спрайт персонажа. Використовується заповнювач, але ви можете
# замінити його, додавши до зображень файл із назвою «eileen happy.png».
# до теки.
# Наступний рядок показує спрайт персонажа. Тут використано заповнювач,
# але ви можете замінити його, додавши файл з назвою «eileen happy.png»,
# до теки images.
show eileen happy
# Це репліки діалогу.
# Ці рядки показують репліки діалогу.
e "Ви створили нову гру Ren'Py."
e "Додавши історію, зображення та музику, ви можете оприлюднити це світові!"
e "Додавши сюжет, зображення та музику, ви зможете оприлюднити її світові!"
# На цьому гра закінчується.
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
@@ -224,9 +224,9 @@ init python:
if not quiet:
with interface.error_handling(_("downloading the list of update channels")):
channels = requests.get(url).json()["releases"]
channels = requests.get(url, proxies=renpy.proxies).json()["releases"]
else:
channels = requests.get(url).json()["releases"]
channels = requests.get(url, proxies=renpy.proxies).json()["releases"]
persistent.has_update = False
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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-2024 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2025 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
+12 -1
View File
@@ -17,6 +17,8 @@ root = ""
import renpy
class BannedException(Exception):
pass
class WebHandler(http.server.BaseHTTPRequestHandler):
@@ -59,7 +61,13 @@ class WebHandler(http.server.BaseHTTPRequestHandler):
None, in which case the caller has nothing further to do.
"""
path = self.translate_path(self.path)
try:
path = self.translate_path(self.path)
except BannedException:
self.send_error(403, "File not found")
return None
f = None
if os.path.isdir(path):
parts = urllib.parse.urlsplit(self.path)
@@ -192,6 +200,9 @@ class WebHandler(http.server.BaseHTTPRequestHandler):
path = root
for word in words:
if word.startswith("."):
raise BannedException("Invalid path.")
if os.path.dirname(word) or word in (os.curdir, os.pardir):
# Ignore components that are not a simple file/directory name
continue
Binary file not shown.

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