Compare commits

...

1394 Commits

Author SHA1 Message Date
Gouvernathor 4402611aaa various fixes 2023-05-13 19:40:41 +02:00
Gouvernathor abb7557070 doc tweaks 2023-05-13 19:24:26 +02:00
Gouvernathor bbd8d7c5c8 Deactivate execution of not
it would always end up executing an unready clause
2023-05-13 18:51:59 +02:00
Gouvernathor 6fb6425cf4 Merge branch 'master' into testcase-ex 2023-05-13 18:48:50 +02:00
Tom Rothamel 61f9e2d1f7 Treat an empty at_list like no transform.
Fixes #4628.
2023-05-13 02:02:04 -04:00
Tom Rothamel d346e7a325 Remove more automatic translations of proper nouns. 2023-05-12 01:29:02 -04:00
Tom Rothamel b471addb84 Merge pull request #4617 from nattyan-tv/master
Translation of Japanese
2023-05-12 01:24:04 -04:00
Tom Rothamel a47121d6aa controller: Blocklist a non-working controller.
Fixes #4622.
2023-05-12 01:20:15 -04:00
Tom Rothamel 44eef26342 transform: Alignaround sets anchor.
This makes it behave more like it did in 8.0.3.
2023-05-12 01:13:24 -04:00
Tom Rothamel 5757e2eb72 transform: If a position is a float, it should remain a float.
This ensures that circling to a float position will continue to
cause xpos to be a float, which will help further positioning.
2023-05-12 01:13:24 -04:00
Tom Rothamel bce69d0fb6 atl: Add the anchorradius and anchorangle properties.
Having these makes revolution work much better, as it's no longer
necessary to try to derive them from angle and radius.
2023-05-12 01:13:24 -04:00
Erufailon4 80db4c307a Finnish translation fixes (#4623) 2023-05-11 18:43:39 +02:00
Tom Rothamel 238607d5a1 Allow radius to be a position again.
Looking at some examples in the field, it looks like people are
using radius as a position - so make it work, but improve the
semantics slightly so that the polar coordinates are actually circular.
2023-05-11 01:16:32 -04:00
Tom Rothamel 24a3346670 Remove the changes to polar coordinates, start over.
This removes the ability of radius to be given as a float, which
doesn't make a ton of sense. Is the radius measured compared to
width, height, or something else? Now it's back to being pixels,
which is was in 8.0.

This does make around work better when it is a float, using the
available area.

Polar coordinates now always produce absolutes for xpos and ypos,
allowing radius and around to be in different types.
2023-05-10 23:38:08 -04:00
NattyanTV cf40d10bc0 fix: Translate untranslated parts 2023-05-11 00:23:18 +09:00
NattyanTV 51bc9ed0ee change: changed to better wording 2023-05-11 00:06:27 +09:00
NattyanTV a3cade9a5a add: Japanese translation added 2023-05-10 23:56:26 +09:00
Tom Rothamel 5275ae114c Remove unnecessary calculation. 2023-05-10 00:07:21 -04:00
Tom Rothamel f537b09337 Document the translation changes. 2023-05-09 22:05:00 -04:00
Tom Rothamel 27d28db994 Fixes to alignaround and polar coordinates.
* Fix alignaround to only take floats, and rotate the floats
  properly.

* Make it clear that alignaround really only makes sense with
  (0.5, 0.5) as the argument, and that other values don't make
  sense.

* Make radius occur after the other linear interpolations in ATL,
  to be sure alignaround and around happen before it, which allows
  for correctness without a warning.

Fixes #4613.
2023-05-09 09:08:50 -04:00
Tom Rothamel daab75fb32 Remove debug prints. 2023-05-08 23:52:44 -04:00
Tom Rothamel ae243f44b3 tl: More translation updates. 2023-05-08 00:13:42 -04:00
Tom Rothamel fa7023c8ec tl: Revert more translations. 2023-05-07 23:51:01 -04:00
Gouvernathor cde6882601 Updating translations following minor edit
I won't do it every time.
Some translations were already good and only the english version was updated.
Some were skipped (see you in hell, finnish)
2023-05-08 05:01:47 +02:00
Gouvernathor f429fcb76d Update and fix some french translations 2023-05-08 04:38:21 +02:00
Tom Rothamel 814f93b620 Fix proofreading error. 2023-05-07 22:29:41 -04:00
Tom Rothamel 59508028dc Remove things that shouldn't be auto-translated. 2023-05-07 22:10:59 -04:00
Tom Rothamel 796030c8e5 tl: Un-mark directory names as translations. 2023-05-07 21:52:12 -04:00
Tom Rothamel 74477e0de6 tl: Fix incorrect translations of directory names.
Which shouldn't really be translated in the first place.
2023-05-07 19:39:33 -04:00
Tom Rothamel ccd2abc22b tl: Check in the automatic translation scripts. 2023-05-07 17:38:49 -04:00
Tom Rothamel 37ea587f61 tl: Automatically update the launcher's Ukrainian translation. 2023-05-07 17:32:42 -04:00
Tom Rothamel 29234e0945 tl: Automatically update the launcher's Turkish translation. 2023-05-07 17:25:16 -04:00
Tom Rothamel ba15b08bce tl: Automatically update the launcher's Simplifed Chinese translation. 2023-05-07 17:20:39 -04:00
Tom Rothamel ff1ba8a9f5 tl: Automatically update the launcher's Russian translation. 2023-05-07 17:18:23 -04:00
Tom Rothamel ece67a6ee4 tl: Automatically update the launcher's Portuguese translation. 2023-05-07 17:15:30 -04:00
Tom Rothamel 76dc673898 tl: Automatically update the launcher's Polish translation. 2023-05-07 17:09:45 -04:00
Tom Rothamel e9a12bdc32 tl: Automatically update the launcher's Korean translation. 2023-05-07 17:06:24 -04:00
Tom Rothamel 46d96dea71 tl: Automatically update the launcher's Japanese translation. 2023-05-07 17:01:59 -04:00
Tom Rothamel ff6bdefb7b tl: Automatically update the launcher's Italian translation. 2023-05-07 16:52:40 -04:00
Tom Rothamel b7fce0f30c tl: Automatically update the launcher's Indonesian translation. 2023-05-07 16:43:00 -04:00
Tom Rothamel 70cd64c067 tl: Automatically update the launcher's Greek translation. 2023-05-07 16:38:04 -04:00
Tom Rothamel 48d3e89bd9 tl: Automatically update the launcher's French translation. 2023-05-07 16:30:31 -04:00
Tom Rothamel 5b3dad9476 tl: Automatically update the launcher's German translation. 2023-05-07 16:28:10 -04:00
Tom Rothamel 9abf62cf65 tl: Automatically update the launcher's Finnish translation. 2023-05-07 16:23:09 -04:00
Tom Rothamel 4221cd1e85 live2d: Sort new attributes before older ones. 2023-05-06 19:18:01 -04:00
Tom Rothamel 8048386b4b Extend should have the same statement_name as what's being extended.
This prevents unexpected transitions.

Per #4605.
2023-05-06 18:20:02 -04:00
Tom Rothamel 1341285769 Turn extend from a function into an object.
This will let us declare properties and methods on it.
2023-05-06 17:46:02 -04:00
Tom Rothamel d8262b21c1 character: Set interact=False for the first of multiple displays. 2023-05-06 17:19:58 -04:00
Tom Rothamel 8b14b86702 Merge pull request #4611 from renpy/layeredimage-add
Document LayeredImage.add
2023-05-06 16:42:55 -04:00
Gouvernathor 6cc5ea6e5d doc: typo and preferred syntax 2023-05-06 19:21:48 +02:00
Gouvernathor 7572681097 Save some execution time
Summing those up for every kwarg is absurdly wasteful.
2023-05-06 19:21:03 +02:00
Gouvernathor 7c076fd49f Document LayeredImage.add 2023-05-06 19:16:44 +02:00
Gouvernathor ed471a56cb Comments and exception message format 2023-05-06 14:33:01 +02:00
Tom Rothamel 39f53e200a Merge pull request #4607 from renpy/doc-additive-warning
Remove warning about software rendererers
2023-05-05 23:33:38 -04:00
Tom Rothamel 19d387d3b0 gl2: Fullscreen cancels maximize. 2023-05-05 23:10:27 -04:00
Tom Rothamel bd3c36b3a7 audio: Only fadeout on game quit. 2023-05-05 23:10:27 -04:00
Gouvernathor 57830f35e0 Remove warning about software rendererers 2023-05-06 04:06:49 +02:00
Tom Rothamel 5f1c0590a4 Merge pull request #4604 from renpy/revertable-operators
Update revertable types according to Python's datamodel
2023-05-05 21:58:22 -04:00
Tom Rothamel ead6611e1d Fadeout, rather than quitting audio as the game starts to end. 2023-05-05 21:57:06 -04:00
Tom Rothamel 2d5ba5e840 Revert "audio: Fadeout for the default fadeout on game end."
This reverts commit 7917173b05.
2023-05-05 21:20:29 -04:00
Gouvernathor 0db8ef2b30 Revert changes to list methods
pun intended
2023-05-06 03:09:32 +02:00
Tom Rothamel 13bf13728a audio: More volume changes.
* Make the volume range 40 dB, rather than 60 dB, so more of the
  range is useful.

* When config.quadratic_volumes is enabled, used it everywhere.
2023-05-05 20:55:13 -04:00
Gouvernathor 1831bdaea0 Quicken list dunders
Exact typechecks are quicker than instance checks.

If it's a pure list, it needs to be converted.
If somehow it's a RevertableList, no need to trigger a O(n) copy.
If even more weirdly it's another subclass of list, there's magic in place and no need to account for that case (it's the creator's problem).
Finally, if it's NotImplemented, return it as-is.
2023-05-05 15:36:59 +02:00
Gouvernathor 48662e0be6 Update revertable types according to Python's datamodel 2023-05-05 15:33:05 +02:00
Tom Rothamel 7917173b05 audio: Fadeout for the default fadeout on game end.
This tries to make sure that a pop isn't the last thing the player
hears when Ren'Py ends.
2023-05-05 00:29:02 -04:00
Tom Rothamel f38b407bb7 audio: Reduce the fadeout range further.
With the last commit stopping the popping, fadeout can focus on
the effect itself, which according to Wikipedia tends to be done
in a 30-40dB range.
2023-05-05 00:09:19 -04:00
Tom Rothamel a48624f15e audio: Lowpass-filter volume changes.
This prevents "popping" when dragging the volume slider, and other
volume change events.
2023-05-04 23:57:12 -04:00
Tom Rothamel e08a5691f8 video: Do not fade out sprite movies. 2023-05-04 22:58:11 -04:00
Tom Rothamel e26d42fdee Merge pull request #4601 from Kassy2048/web_movie_fadeout
Implement fadeout for movies on Web.
2023-05-04 18:46:05 -04:00
Kassy e7ff113605 Implement fadeout for movies on Web. 2023-05-04 22:26:02 +02:00
Tom Rothamel ca3b98672f audio: Compute the secondary volume propery when linear_fades is true.
Fixes #4597.
2023-05-04 02:32:14 -04:00
Tom Rothamel ccce4ad081 Reduce the fadeout range to 42 dB.
It's a tradeoff between spending too much time in the low ends of the
range, when all but the loudest sounds will be inaudible, and having
so much sound at the end that there's a pop when the fadeout finishes.

~40dB seems to be a good compromise for all but the loudest headphone
volumes.

Per discussion in #4597.
2023-05-03 22:33:36 -04:00
Tom Rothamel 533299c9bf Merge pull request #4598 from renpy/PEP584
Make `|` methods return RevertableDict's.
2023-05-03 20:53:24 -04:00
Andy_kl 94cab603d8 Make | methods return RevertableDict's. 2023-05-04 04:46:47 +04:00
MigProPlayer 993e90277b Update Portuguese Translations (#4595)
ios - Fixed a broken string which was in Spanish and changed a duplicate string.
preferences - Fixed a typo which said "Open launcher" instead of "Open launcher project".
2023-05-03 19:40:19 +02:00
Tom Rothamel 67050eecc8 Merge pull request #4592 from mal/update-lint-layers
Use computed layer list in lint
2023-05-02 17:25:30 -04:00
Mal Graty fadba7ae56 Use computed layer list in lint 2023-05-02 19:03:22 +01:00
Tom Rothamel 512ae898dc Include thoughtbubble.png in builds. 2023-05-02 01:31:17 -04:00
Tom Rothamel 82fad4f4ff Merge pull request #4589 from qTich/fix/web-preload-cache-preference
typo on `web cache preload` toggle `Preference`
2023-05-01 12:27:40 -04:00
Tichq c3c90b9d43 typo on web cache preload toggle Preference 2023-05-01 19:09:45 +03:00
Tom Rothamel bdcba5cd6f doc: Try to improve keywords.py stability. 2023-05-01 00:28:57 -04:00
Tom Rothamel 8522ff0f7f rapt: Fix documentation for android.json update_keystores. 2023-04-30 22:23:20 -04:00
Tom Rothamel 4117176a0a Check in updated keywords. 2023-04-30 21:32:10 -04:00
Mal Graty 62136111e8 Update preference name in docs 2023-04-30 23:26:25 +01:00
Tom Rothamel 48cfb76607 Update translations. 2023-04-30 14:33:39 -04:00
Tom Rothamel f20ba5e633 bubble: Document the required changes. 2023-04-30 14:32:37 -04:00
Tom Rothamel a2719b9995 bubble: Add a thought bubble to the default game. 2023-04-30 14:19:12 -04:00
Tom Rothamel 9e4417729d Add omitted character. 2023-04-30 09:46:01 -04:00
Tom Rothamel 0f253c15c4 live2d: Add Live2D.blend_opacity.
This can be used in an update_function.
2023-04-29 23:15:26 -04:00
Tom Rothamel 224965c0cc live2d: Add support for x86_64 Android. 2023-04-29 22:44:02 -04:00
Tom Rothamel be2be8c557 live2d: Support multiply and screen.
Fixes #3729.
2023-04-29 22:41:29 -04:00
Tom Rothamel 594bb9d8e0 live2d: Load the csmGetDrawableMultiplyColors and csmGetDrawableScreenColors functions. 2023-04-29 20:28:01 -04:00
Tom Rothamel 31aa071f4a Add deprecations to incompatible changes. 2023-04-29 00:25:40 -04:00
Tom Rothamel 4d40a29350 Merge pull request #4586 from renpy/doc-jsondb
JSONDB doc
2023-04-28 13:07:13 -04:00
Gouvernathor 82c05454be Rephrase and add link 2023-04-28 18:56:44 +02:00
Tom Rothamel 6eefafd5a9 Allow radius to be a position.
As documented, but not implemented. Fixes #4574.
2023-04-28 00:45:00 -04:00
Tom Rothamel d07fe424eb Prevent radius and angle from conflicting.
This is necessary, as it's basically impossible to use these two
properties without them conflicting.
2023-04-28 00:45:00 -04:00
Tom Rothamel 2f19fe65bd Merge pull request #4582 from renpy/confirm-action
Allow layout.yesno_screen and Confirm to take lists of actions
2023-04-26 23:40:14 -04:00
Gouvernathor d795f03b13 doc interlinks 2023-04-27 05:29:17 +02:00
Gouvernathor 1e5355e727 whitespace 2023-04-27 04:55:49 +02:00
Tom Rothamel c5571e6637 Add config.linear_fades.
This is is a vairable that returns the pre-8.1 fade behavior,
which was linear in amplitude, and so would perceptually barely
fader and then fade out all at once.

Fixes #4580.
2023-04-26 22:55:47 -04:00
Gouvernathor 64aab8a62e use renpy.run instead of calling 2023-04-27 04:55:35 +02:00
Tom Rothamel 774991431e Avoid generating translations for empty extends.
Per #4581.
2023-04-26 19:22:58 -04:00
Andy_kl a687f5ec13 Use collections.deque in walk_memory.
This makes the function way, way faster. Seconds instead of hour to walk 1GB of RAM.
2023-04-27 01:23:37 +04:00
Tom Rothamel 59c9ce1901 Add GetMixer().
This is an action that can display a mixer, either as a value
or in DB.
2023-04-26 00:51:16 -04:00
Tom Rothamel 1edb2c8cde Better document what SVG is supported. 2023-04-25 21:49:36 -04:00
Tom Rothamel 78ba95403f Prevent audio from starting during a global pause.
* Prevent non-looping audio entirely.
* Avoid starting music until unpaused

Fixes #4568.
2023-04-25 01:31:02 -04:00
Tom Rothamel bb798c2db9 Make all hyperlinks active immediately when text is not slow.
Fixes #4569.
2023-04-25 00:17:21 -04:00
Tom Rothamel 9cfbd3a75d Merge pull request #4573 from Kassy2048/web_sync_fix
Fix sync download for web
2023-04-24 18:53:32 -04:00
Kassy 302d4fe1c1 Fix sync download for web 2023-04-24 19:41:17 +02:00
Tom Rothamel 6b0332a566 Merge pull request #4564 from renpy/bubbledoc
Tweak and fix bubble doc
2023-04-24 11:02:11 -04:00
Tom Rothamel e3e78a7524 Always apply the default parameters to a transition.
Fixes #4551.
2023-04-24 09:28:54 -04:00
Gouvernathor c547bf3623 Fix wrong config name, quadratic_volumeS 2023-04-24 15:00:36 +02:00
Tom Rothamel 42bc1ccb79 Fix zzoom.
* Fix the implementation.
* Fix the documentation.

Fixes #4556.
2023-04-24 00:59:41 -04:00
Tom Rothamel 4613ee1fa4 doc: Fix the name of config.quadradic_volumes.
Fixes #4554.
2023-04-23 23:08:29 -04:00
Tom Rothamel 8279f4aad0 Do not create a new scope when going from predicting -> updating.
The scope itself will be shared with constant displayables, so
clear it rather than replacing it with a new object.

Fixes #4563.
2023-04-23 22:55:41 -04:00
Gouvernathor dd00c19708 Update bubble doc 2023-04-23 23:46:57 +02:00
Gouvernathor 510b19018d Update and fix french translations 2023-04-23 22:23:05 +02:00
Moshibit 1784db4663 Update Spanish translation (#4560)
* Update developer.rpy

* Update screens.rpy
2023-04-23 22:00:26 +02:00
Morgan Willcock bfcbb95156 Fix _ren.py format changelog example (#4557) 2023-04-23 16:40:56 +02:00
Tom Rothamel 37f7a397e3 Merge pull request #4553 from Kassy2048/prefix_movie
Apply path prefixes when loading movies for web
2023-04-23 00:40:23 -04:00
Kassy 830b122a1f Apply path prefixes when loading movies for web 2023-04-23 02:31:18 +02:00
Tom Rothamel f43208cce6 doc: Changelog fixes. 2023-04-22 17:31:51 -04:00
Tom Rothamel 8cb2379b25 Merge pull request #4550 from renpy/split-prop-pure
Mark renpy.split_properties as pure
2023-04-22 15:17:48 -04:00
Gouvernathor 811b135690 Mark renpy.split_properties as pure 2023-04-22 21:10:10 +02:00
Tom Rothamel f6460ed448 doc: More credits. 2023-04-22 14:42:46 -04:00
Tom Rothamel 617bd43afb doc: Update sponsor list. 2023-04-22 14:38:38 -04:00
Tom Rothamel 2c9c8205ee doc: Credits. 2023-04-22 14:38:38 -04:00
Gouvernathor 9c2c8c9535 doc: bad include 2023-04-22 20:04:19 +02:00
Tom Rothamel ece477836c doc: Fixes and edits. 2023-04-22 13:04:26 -04:00
Tom Rothamel eb47fc4500 Limit how far we try to scry extend.
Fixes #4548.
2023-04-21 22:52:21 -04:00
Tom Rothamel f322828baf Fix translations. 2023-04-21 21:50:27 -04:00
Tom Rothamel 20f1a76637 doc: Licenses. 2023-04-21 21:43:55 -04:00
Tom Rothamel 9cdd8a2654 doc: Changelog. 2023-04-21 21:24:56 -04:00
Gouvernathor 160fdd8489 Update tutorial translations from the launcher translations 2023-04-22 01:26:51 +02:00
Gouvernathor 48b1aeb5f3 Remove wrongly translatable string 2023-04-22 01:23:11 +02:00
Gouvernathor 54ec403f5b Cleanup french translation files
Using the brand new orphan translation flagging
2023-04-22 01:22:19 +02:00
Gouvernathor b7213f4b78 Forgotten in last 2023-04-22 01:20:29 +02:00
Gouvernathor 211da69d08 Update text_align -> textalign in translations
follow-up to a1f6312
2023-04-22 00:56:24 +02:00
Tom Rothamel c15f4c3487 doc: JSONDB. 2023-04-21 00:51:59 -04:00
Tom Rothamel 417aee0bff doc: Sync actions. 2023-04-21 00:38:56 -04:00
Tom Rothamel 9c130cf149 Doc and changelog areapicker.
And improve the screen language documentation for drag and
draggroup.
2023-04-21 00:29:14 -04:00
Tom Rothamel 49e7e9182e Merge pull request #4543 from renpy/reachme
Reachability tweaks
2023-04-20 20:30:45 -04:00
Tom Rothamel 27fd71815e live2d: Create a second copy of each mesh to use as a mask.
This is because the first copy was getting its shaders changed,
which would cause a problem when that copy was being used as a
mask.

This would cause a problem when a live2d layer both used a mask
and was used as a mask.

Per https://lemmasoft.renai.us/forums/viewtopic.php?f=8&t=66455
2023-04-20 01:00:23 -04:00
Gouvernathor 9db0ec1683 Simplify CDS linting
Use elif instead of if
Merge two loops
Make builtin statements use the weakly_reachable set instead of a separate mechanism
Avoid a set update if the original is not read afterwards
2023-04-19 16:17:01 +02:00
Gouvernathor 1b62055d69 Better document how the reachable method works 2023-04-19 16:10:13 +02:00
Tom Rothamel 3deca06054 Allow statements to mark themselves as weakly reachable.
These are statements that are not reported as unreachable, but
will only pass reachability to the next statement if the statement
is actually reachable.
2023-04-19 01:09:30 -04:00
Tom Rothamel 9a250ccdc5 Add reachable as a method on user statements.
If given, this lets a statement register a function that
determines if it is reachable, and what is reachable
from the statement.
2023-04-18 23:23:39 -04:00
Tom Rothamel fb803ea05c Force a new checkpoint to begin when checkpointing is suspended.
Per #4534.
2023-04-17 23:29:15 -04:00
Tom Rothamel 04d9ea3016 itch: Make the channels configurable.
Fixes #4481.
2023-04-17 01:33:38 -04:00
Tom Rothamel 1f26d829d1 doc: Reload is disabled when autoreload is active. 2023-04-16 21:39:47 -04:00
Tom Rothamel d9b30cf8a1 Merge pull request #4537 from renpy/replay-action
Replay action's lockedness
2023-04-15 23:00:20 -04:00
Tom Rothamel ebcc0ce7dc Believe _choose_attributes when it chooses attributes.
Even if it does odd things, like removing a required attribute
from the list of attributes.

Fixes #4505.
2023-04-15 15:10:04 -04:00
Gouvernathor 8a2c6d4dc4 Better behavior for the locked parameter 2023-04-15 19:21:49 +02:00
Gouvernathor 5c400fdbc9 Accurate doc entry 2023-04-15 19:14:22 +02:00
Tom Rothamel 34a011e79f Python string prefixes must immediately precede delimiters.
Fixes #4535
2023-04-15 12:33:12 -04:00
Gouvernathor 7545b87364 Fix rst comment block
yes, sphinx is *that* annoying
2023-04-15 17:26:16 +02:00
Tom Rothamel 72f0535fb3 Prevent greedy rollbacks from passing through suspend_checkpointing.
Fixes #4534.
2023-04-15 01:28:30 -04:00
Tom Rothamel e776a4c3f5 doc: SVG. 2023-04-14 01:50:22 -04:00
Tom Rothamel e439957896 Document last change. 2023-04-14 01:04:10 -04:00
Tom Rothamel dffbe3521c Allow triple quoted strings to be used in simple expressions.
For example:

text """\
line 1
line 2
line 3"""

is now allowed.
2023-04-13 23:34:55 -04:00
Tom Rothamel 1fad559548 doc: Speech bubble dialogue. 2023-04-13 00:28:46 -04:00
Tom Rothamel e6fec6ea50 doc: Credit. 2023-04-12 01:10:24 -04:00
Tom Rothamel a427a6611b gl2: Restore the window position after a reload. 2023-04-12 00:36:39 -04:00
Tom Rothamel 9932e4e892 Allow Character's kind argument to be a namspace.
The main reason for this is to allow Character(kind=bubble), which
looks way nicer that Character(kind=bubble.character) to me.
2023-04-11 23:42:56 -04:00
Tom Rothamel e702a15785 bubble: Add shift+B as a way of toggling the bubble editor. 2023-04-11 23:40:30 -04:00
Tom Rothamel cf7910687f bubble: Add four speech bubbles by default. 2023-04-11 23:25:39 -04:00
Tom Rothamel 2a6c719678 Clean language dependent data when jumping back after a load.
Fixes #4525.
2023-04-10 22:28:52 -04:00
Tom Rothamel 9f08129084 Fix steam.activate_overlay_to_web_page.
Fixes #4526.
2023-04-10 01:12:38 -04:00
Tom Rothamel 40e81d44a4 bubble: Support expanding beyond what's given.
This will provide room for tails.
2023-04-09 00:39:19 -04:00
Tom Rothamel 40ac61bf23 Merge pull request #4523 from awaken1ng/fix-compat
Fix compat using unknown config option.
2023-04-08 23:24:11 -04:00
Tom Rothamel 16372810e5 Reset the video to the beginning when it is shown again.
As opposed to when it's hidden.

Per the discussion at #4508.
2023-04-08 21:33:43 -04:00
awakening f2a76c5872 Fix compat using unknown config option.
Fixes `Exception: config.timer_blocks_pause is not a known configuration variable.`

7d4610d13d introduces `modal_blocks_timer`
which is probably what was meant to be used here.
2023-04-08 19:44:49 +07:00
Tom Rothamel 3350ffa713 gl2: Add functions to allow a user to create a mesh from Python.
Per request via discord.
2023-04-07 23:27:18 -04:00
Tom Rothamel bf0634f738 Disable skip mode in the launcher. 2023-04-07 14:28:44 -04:00
Tom Rothamel 13f9b3d04c Remove pointless maintenance of ctx.updating. 2023-04-07 14:27:05 -04:00
Tom Rothamel 1d96e7a16f Fix Scroll action.
Fixes #4520.
2023-04-07 00:18:08 -04:00
Tom Rothamel df524315a8 sl2: Do not reuse the scope when showing a 'used' screen.
This fixes the default statement when in a used screen that's
passed different parameters than it was predicted with.

Fixes #4519.
2023-04-06 22:51:13 -04:00
Tom Rothamel 7c082f0fb5 Fixes to applying 3d state properties.
Recent changes made many of the properties incorrectly conditional
on each other, which prevented the properties from working
correctly.

Fixes #4518.
2023-04-06 21:33:29 -04:00
Tom Rothamel 6d637237ff doc: Extend the gl1 timeline slightly further. 2023-04-06 20:26:13 -04:00
Tom Rothamel 2f6556052a doc: Correct version. 2023-04-06 20:09:24 -04:00
Tom Rothamel 9a6448dd94 doc: Pending deprecations.
* Mention the planned removal of gl1 and Python 2/Ren'Py 7.
2023-04-06 19:05:24 -04:00
Tom Rothamel 54f62730a2 Fit the error that occurs if a style statement has two is clauses.
Per #4510

Co-authored-by: <Ayowel@users.noreply.github.com>
2023-04-06 00:31:33 -04:00
Tom Rothamel ca7c78dbcd Only reset a channel if a hide happens.
Fixes #4508.
2023-04-05 22:29:01 -04:00
Moshibit 16fb5ffb85 Update Spanish translation (#4511)
* Update gui.rpy

* Update launcher.rpy

* Update screens.rpy
2023-04-05 18:38:42 +02:00
Gouvernathor aea1129812 Update translations 2023-04-05 06:59:54 +02:00
Tom Rothamel 46320ddcd4 Fix the type of paths on mac.
Fixes #4509.
2023-04-05 00:48:56 -04:00
Tom Rothamel a65cdd6f0e Fix the Android JDK link.
Add a bit of abstraction so it'll only need to be restranslated
once, and route it through renpy.org so the links can't break.
2023-04-05 00:48:56 -04:00
Gouvernathor 9d275e9349 doc: forgotten markup 2023-04-04 20:01:15 +02:00
Gouvernathor 534fb0f9f6 Fix typo in docstring 2023-04-04 19:58:17 +02:00
Gouvernathor 005be375fc french translations 2023-04-04 17:50:28 +02:00
Tom Rothamel b2d5dd87fa Ignore ATL transition arguments when comparing contexts.
The new_widget argument will be different each time the
interaction restarts - but it generally represents the same
thing, and so it makes sense to consider it equal for the
purposes of this test.

Fixes #4167.
2023-04-03 00:08:28 -04:00
Tom Rothamel a6b99364aa Propagate ATL state between transitions when an interaction restarts.
This partially addresses #4167.
2023-04-02 23:38:59 -04:00
Tom Rothamel e5c2e7f88c doc: Last change. 2023-04-02 23:35:45 -04:00
Tom Rothamel 907ba19bea tts: Make it respect the voice volume mixer.
At least more or less, as it generally doesn't go through Ren'Py.
But on all platforms where voice is supported, the amplitude of
voice is controlled by the voice mixer

This also makes the voice volume mixer available on the
accessiiblity screen, so the volume can be adjusted even
if the game doesn't otherwise use voice.

Fixes #4161.
2023-04-02 20:56:15 -04:00
Tom Rothamel 74d8c5c398 gl2: Handle the interaction of maximized, fullscreen, and window size/location.
The maximized flag is persisted, so that if the game is shut down
when maximized, it will start up again maximized.

The size of the game is only stored when non maximized or fullscreen,
so only sensible game sizes are persisten.

Switching from fullscreen to maximized or vice versa goes through
the windowed state.

The first time the window is in the windowed state, it's moved to the
center of the screen - rather than being undefined when the game
starts fullscreen.

Fixes #4155.
2023-04-02 19:06:07 -04:00
Tom Rothamel f65c1a1af3 Merge pull request #4497 from mal/fix-style-optimisation
Let Transforms benefit from style optimisation
2023-04-02 00:14:01 -04:00
Mal Graty b740e723a3 Let Transforms benefit from style optimisation
In ef6173de4f we added the facility for
alt text to be passed through Transforms to allow its use in SL2. A side
effect of this was to always pass alt text, meaning that the underlying
Displayable's properties could never be empty (they'd contain alt=None).
This has been preventing Transforms benefiting from the optimised code
path in Displayable that avoids creating a new anonymous style.

In order to address this, we now filter out arguments passed to
Transform that ought to be propagated up to the parent class, sending
them only when defined, thus re-enabling the optimisation for the vast
majority of Transform instances.
2023-04-02 04:47:41 +01:00
Tom Rothamel 5bdb9b5459 Name Ren'Py 8.1 and Ren'Py 7.6. 2023-04-01 02:03:57 -04:00
Tom Rothamel d70d6b8f26 Merge pull request #4494 from renpy/comments-in-shader-variables
Allow comments in shader variables lists
2023-03-31 22:45:35 -04:00
Gouvernathor 44cdc09745 Allow comments in shader variables lists 2023-03-30 22:56:44 +02:00
Tom Rothamel 1291c3cb26 Slightly adjust controller deadbands (based on my experience). 2023-03-30 02:11:08 -04:00
Tom Rothamel 493edfbb82 Add renpy.load_rgba, loading a rgba string into a surface.
This is intended to support image data being created elsewhere,
loaded in via ctypes, and then passed into Ren'Py.
2023-03-29 23:27:25 -04:00
Tom Rothamel ec6277588d Allow the Ren'Py audio system to be extended. 2023-03-29 23:27:25 -04:00
Tom Rothamel 3f057f159a Make the audio buffer size configurable. 2023-03-29 23:27:25 -04:00
Tom Rothamel 420e167d41 Merge pull request #4491 from renpy/fix-__-munging
Fix name-munging
2023-03-29 12:27:16 -04:00
Gouvernathor 2828f3b517 Fix name-munging 2023-03-29 18:03:53 +02:00
Tom Rothamel c378247a39 Add config.display_start_callbacks.
This is intended to be used to let DLLS gain access to GL functios
before a frame is renderer.
2023-03-29 01:57:15 -04:00
Tom Rothamel 9ab745db85 Increase the contrast of the light GUI.
Fixes #4470.
2023-03-29 01:43:44 -04:00
Tom Rothamel f92022308d Disable ui-less IME.
Which shows the candidate list for languages that require one -
not sure why this isn't the default.

Fixes #4474.
2023-03-28 02:44:59 -04:00
Tom Rothamel 4f0e882d97 Set empty properties on a texture.
Fixes #4488.
2023-03-28 02:04:34 -04:00
Tom Rothamel 46f62133d1 Add movie groups.
When a movie in a group is starting, and doesn't have the first
frame, it checks to see if another movie in the group is playing.
If so, it takes the frame from the other movie - preventing flashes
of transparency when switching movies.

Fixes #4475.
2023-03-28 01:46:15 -04:00
Tom Rothamel 77889607f3 gl2: Use a 1px framebuffer for is_pixel_opaque.
So there's less to clear.
2023-03-27 01:39:24 -04:00
Tom Rothamel f92dcd8068 doc: Anonymous transforms on the first sl line. 2023-03-26 10:20:57 -04:00
Tom Rothamel 815a3999b4 Compat for c492f2f8e6. 2023-03-26 10:16:52 -04:00
Tom Rothamel 11c9b8f34b Revert "Consider all variables in the #4095 fix, not just locals."
This reverts commit d2b5f2fdc9.

This doesn't seem like the right fix, as it has the potential to
cause memory leaks. I'm going to compat the old behavior, and
require it to be explicit.
2023-03-26 09:59:41 -04:00
Tom Rothamel cfe892405e sl2: Allow at transform outside of a block.
This makes for a more compact syntax.
2023-03-26 09:58:52 -04:00
Tom Rothamel d2b5f2fdc9 Consider all variables in the #4095 fix, not just locals. 2023-03-26 03:42:41 -04:00
Tom Rothamel 8c4387bae4 Merge pull request #4486 from KiloOscarSix/master
Fixed incorrect behaviour for ToggleDict.get_sensitive()
2023-03-26 03:05:22 -04:00
Tom Rothamel bfb3955e9e Merge pull request #4483 from Kassy2048/touch_alternate_fix
Cancel long press wait when user stops touching the screen
2023-03-26 03:01:24 -04:00
Oscar Six 1498f625df Fixed incorrect behaviour for ToggleDict.get_sensitive() when using lists 2023-03-26 05:25:39 +01:00
Kassy 9523222b37 Only check for mouseup when long press is being detected 2023-03-26 01:39:27 +01:00
Kassy 9c197abca3 Cancel long press wait when user stops touching the screen 2023-03-26 00:26:00 +01:00
Tom Rothamel d3dbc40749 accelerator: Cythionify, add typing information, and document. 2023-03-25 12:25:12 -04:00
Tom Rothamel 6362ad8550 quaternion: Add cython types. 2023-03-25 10:56:07 -04:00
Tom Rothamel 04a73d2ad4 Remove old theme. 2023-03-25 10:30:54 -04:00
Tom Rothamel ddfcf67486 Make the total texture size a Python object.
(Preventing a crash if we get the calculation wrong.)
2023-03-25 10:29:49 -04:00
Tom Rothamel 8f5a32deeb Merge pull request #4477 from kyouryuukunn/fix_README
add README sphinx_rtd_theme sphinx_rtd_dark_mode
2023-03-25 10:24:55 -04:00
kyouryuukunn 5155c08f54 add README sphinx_rtd_theme sphinx_rtd_dark_mode 2023-03-25 19:09:57 +09:00
Tom Rothamel 7511c3ff42 Move quaternion code into its own pyx file.
This is a combination of it seeming like something meaty enough
that it might grow into more operations, and this taking 5s
for clang to compile.
2023-03-25 02:50:54 -04:00
Tom Rothamel e4ff027499 accelerator: Break up transform_render fully.
Break the ridiculously long transform_render function into a
number of smaller methods in a class, and use fields on that
class to store data used by multiple methods.

This is mostly to speed up compilation time by reducing how much
work clang has to do to compile things.

This is a work in progress - it's not well tested, and typing
information is missing or commented out. But it's enough to
render basic displayables.
2023-03-25 02:32:27 -04:00
Tom Rothamel 1cccdbdaaf Create a class to render transforms.
Basically, to store the variables that had been updated by
the crazy-big transform_render function.
2023-03-24 23:15:15 -04:00
Tom Rothamel 1a100a0006 accelerator: Begin to break up transform_render. 2023-03-24 03:04:19 -04:00
Tom Rothamel 2863bb2d88 live2d: Sort the properties to ensure a stable order. 2023-03-24 01:00:58 -04:00
Tom Rothamel 14f653f0a5 Attributes can't be required and optional.
Fixes #4466.
2023-03-24 01:00:58 -04:00
Gouvernathor 93fe44fa94 Fix wrong SetField use
It does take a fourth parameter, kind, which is private and only used for error messages when the target is not found/writable. It takes a string, so this code doesn't make sense.
My mistake, btw.
2023-03-23 19:40:15 +01:00
Tom Rothamel e73c750ef1 launcher: Make selected text more obvious.
Fixes #4471.
2023-03-22 23:00:05 -04:00
Tom Rothamel b929fa838c Apply pixel_perfect to renders rather than models.
This means that all the models that are underneath the render will be
adjusted together, so that relative blits all wind up in the same
place.

This is mostly the case for text, where things like centering, slow
text, and outlines could cause text to appear in different locations, and then be
drawn separately - only to jump into place when slow text finished and
the Text was drawn as a whole.

Fixes #4103.
2023-03-22 22:53:38 -04:00
Mal Graty d25bd3c01f Fix orientation interpolation
Ended up with an erroneous indent after the recent point_to changes.
2023-03-22 14:46:35 +00:00
Gouvernathor 1a9870ad5a doc: fix wrong role 2023-03-22 14:26:49 +01:00
Tom Rothamel fbbc8e0e34 Replace point_to True with point_to Camera()
The latter seems like a more readable syntax to me, as True doesn't
really feel associated with the camera. (And this provides a place
to store the layer.)
2023-03-22 02:45:01 -04:00
Tom Rothamel cc77af4d9f Move the point_to logic from ATL to Transform.
This is for two reasons:

* It allows point_to True to work in Transforms, at least if we figure
  out a way to refresh Transforms when the camera changes.

* It gets things right if the camera changes position while not
  interpolating point_to.
2023-03-22 02:11:01 -04:00
Tom Rothamel 65ff148898 Merge pull request #4449 from kyouryuukunn/allow_poi_tag_and_camera3
allow point_to to take camera
2023-03-21 22:01:01 -04:00
Tom Rothamel 24ad7c9a01 Merge pull request #4464 from renpy/fix-im-always-doc
Python equivalent of layeredimage's Always layer
2023-03-21 21:58:41 -04:00
Gouvernathor 6ce6a877a5 doc: Python equivalent of layeredimage's Always layer 2023-03-21 20:30:19 +01:00
Tom Rothamel 65bceeddba End ongoing transitions after rollback.
Fixes #4105.
2023-03-21 02:19:05 -04:00
Tom Rothamel 77cb945b9f On Android and iOS, log the Ren'Py version to stdout. 2023-03-20 22:26:50 -04:00
Tom Rothamel eab3d2dab4 Fix how None interacts with the pressed mouse state. 2023-03-20 20:17:59 -04:00
kyouryuukunn 4e3d66b975 remove tag from point_to 2023-03-20 17:36:24 +09:00
Tom Rothamel a192a352e1 sl2: Allow both 'at' and 'at transform' to be given to the same statement.
Fixes #4455.
2023-03-19 23:55:17 -04:00
kyouryuukunn c4e9a64b1e simplify codes around poi 2023-03-20 12:31:09 +09:00
Tom Rothamel 533cbe10e3 gamepad: Process more than one analog axis motion per frame.
Fixes #4178, more or less. This certainly makes the controller more
responsive, though perhaps not as good as desktop.

This also gains a bit of performance by reducing how far the
controller needs to deflect, and introdces hysteresis to
prevent spurious controller events.
2023-03-19 15:44:59 -04:00
Tom Rothamel c492f2f8e6 atl: Only compare contexts based on used variables.
This is useful in screens, where a transform might have a context
contains many variables that are not used by the transform. The
transform shouldn't restart when an irrelevant variable is
changed.

Fixes #4095.
2023-03-19 14:20:38 -04:00
Tom Rothamel 9249c6ffd4 sl2, atl: Compile ATL transforms in screens.
These transforms weren't being compiled before the game started.
2023-03-19 14:20:38 -04:00
kyouryuukunn 98609fe72f remove 2-tuple format from point_to 2023-03-19 13:14:50 +09:00
kyouryuukunn 03bf276e15 fix 2023-03-19 12:44:50 +09:00
Tom Rothamel d52fa74ffd Merge pull request #4454 from valery-iwanofu/input_multiline
Multiline support for input
2023-03-18 12:00:13 -04:00
valery.iwanofu 15d2e037fe Multiline support for input 2023-03-18 21:09:57 +07:00
Tom Rothamel 2da6f8cab0 Avoid cache.get keeping the surface in memory when returning a texture. 2023-03-18 01:08:18 -04:00
Tom Rothamel 8c331b336e gl2: More accurate accounting of texture memory.
This adds a 1.34x multiplier to textures that have mipmaps associated
with them, and only indicates that a texture is consuming memory when
it's been transferred to the GPU.
2023-03-18 00:54:37 -04:00
Tom Rothamel 8e90d2f6ab Add a 1.34x multiplier to account for mipmapping.
Increase the default image cache size to match. This won't actually
increase the amount of memory used by the image cache, just
makes the setting match the memory being used.
2023-03-17 22:27:32 -04:00
Gouvernathor acfc5772ee Not sure 2023-03-17 23:28:17 +01:00
Gouvernathor fd55d9f010 Also check if the save was correctly loaded
the re-setting of the value is there to make sure a save is loaded at all, and the value check to make sure it was the correct save that was loaded
2023-03-17 23:27:57 +01:00
Gouvernathor 5e494d18b3 Fix tutorial testcase 2023-03-17 23:24:43 +01:00
Gouvernathor 266c69e71d doc updates 2023-03-17 23:23:07 +01:00
Gouvernathor 2c431f7a08 Fix 19fa815 2023-03-17 23:22:31 +01:00
Gouvernathor 51070c6d0e Make pass a clause instead of a statement
That way we have an or-neutral element (and not pass is the and-neutral element)
2023-03-17 23:21:39 +01:00
Gouvernathor a2232535e8 Set attribute at the correct time
In case of an exception
2023-03-17 23:20:26 +01:00
Gouvernathor 459295f97e Optimize int castings 2023-03-17 19:32:13 +01:00
Gouvernathor 641f5698b7 Simplify test
We don't support subpixel, sure, but this is faster and more "correct" if any absolute finds its way through.
Also there's no need to cast to int if we're doing it afterwards anyway.
2023-03-17 19:18:56 +01:00
Gouvernathor eb3f6a2e66 doc: better explanation 2023-03-17 16:52:05 +01:00
Gouvernathor 19fa815048 Simplify focus finder code 2023-03-17 16:51:46 +01:00
kyouryuukunn 01c9e137e0 consider camera anchor when calculating point_to camera 2023-03-17 23:01:30 +09:00
kyouryuukunn 47418aa92d allow point_to to take "tag" or camera 2023-03-17 14:35:16 +09:00
Gouvernathor 8342a66d9b have a pass at the doc page 2023-03-16 23:54:07 +01:00
Tom Rothamel c998b456a1 Merge pull request #4447 from renpy/point-to
Rename poi to point_to
2023-03-16 18:46:07 -04:00
Gouvernathor 7aa9d66597 Commit small launcher test 2023-03-16 22:11:29 +01:00
Gouvernathor aa9f15a199 Cleanup a bit 2023-03-16 22:10:12 +01:00
Asriel Senna c6cd0fe411 add caveat about renpy.is_in_test 2023-03-16 21:15:22 +01:00
Asriel Senna 11cc6aebf8 add The Question example testcase 2023-03-16 21:15:21 +01:00
Asriel Senna ef98d82679 add not/and/or documentation (and fix line endings) 2023-03-16 21:15:20 +01:00
Asriel Senna e5d16a984b fix example 2023-03-16 21:15:19 +01:00
Asriel Senna 3eba03854b update the readiness at each execution instead of in start 2023-03-16 21:15:18 +01:00
Asriel Senna 692bf4c34b remove short-circuit in readiness check causing inaccurate sub-readiness 2023-03-16 21:15:17 +01:00
Asriel Senna 451c3a7baf make code more compact to find the problem 2023-03-16 21:15:17 +01:00
Asriel Senna 3dec7f6498 first pass at and/or state management 2023-03-16 21:15:16 +01:00
Asriel Senna 29f4c1caee add boolean operations between clauses 2023-03-16 21:15:15 +01:00
Asriel Senna 3543238e5b fix execute methods 2023-03-16 21:15:14 +01:00
Asriel Senna 70ce1aa5c7 simplify these repetititive start methods 2023-03-16 21:15:13 +01:00
Asriel Senna 56ee681250 add the Not, And and Or test clauses 2023-03-16 21:15:13 +01:00
Asriel Senna 0f8b1ade00 update doc 2023-03-16 21:15:12 +01:00
Asriel Senna ca77d6f8d7 add the hide property to python blocks 2023-03-16 21:15:11 +01:00
Asriel Senna 14e19cd9d0 further documentation 2023-03-16 21:15:11 +01:00
Asriel Senna 29979fd828 improve the repr 2023-03-16 21:15:10 +01:00
Asriel Senna 777ff166a8 let me sleep before writing code 2023-03-16 21:15:09 +01:00
Asriel Senna 57abd5bd0f fix super calls 2023-03-16 21:15:08 +01:00
Asriel Senna 6c08d61125 update doc and add things to add later 2023-03-16 21:15:07 +01:00
Asriel Senna 12b070c7c7 create Clause subclass for more readability 2023-03-16 21:15:06 +01:00
Asriel Senna f9995e88fd updates following assert's change of meaning 2023-03-16 21:15:05 +01:00
Asriel Senna a6f2e6b2ce update doc 2023-03-16 21:15:05 +01:00
Asriel Senna 144001b412 add renpy.is_in_test 2023-03-16 21:15:04 +01:00
Asriel Senna 6b585d2227 document that the run clause takes lists 2023-03-16 21:15:03 +01:00
Asriel Senna 322d247bcd rename 2023-03-16 21:15:02 +01:00
Asriel Senna 12cc2d45c9 add to the config list 2023-03-16 21:15:02 +01:00
Asriel Senna 13e8445144 document config.testcase_finally_callbacks 2023-03-16 21:15:01 +01:00
Asriel Senna 5c80ffa509 add config.testcase_finally_callbacks 2023-03-16 21:15:00 +01:00
Asriel Senna 4adaddafae update 2023-03-16 21:13:54 +01:00
Asriel Senna 4517f76396 better document click and patterns 2023-03-16 21:13:53 +01:00
Asriel Senna a85c53c436 make label inexecutive, and assert clause-taking like if 2023-03-16 21:13:53 +01:00
Asriel Senna 3344defb89 raise betterer exception 2023-03-16 21:13:52 +01:00
Asriel Senna 1e24279acc raise better exception 2023-03-16 21:13:51 +01:00
Asriel Senna 42b38f32c6 disable the (useless) always property for patternless click clauses 2023-03-16 21:13:49 +01:00
Asriel Senna 73339577cf fix exit example 2023-03-16 21:13:48 +01:00
Asriel Senna d49c392383 rst fixes 2023-03-16 21:13:47 +01:00
Asriel Senna 9d8155ba17 rephrase documentation 2023-03-16 21:13:45 +01:00
Asriel Senna 4a3b27285b document the testcase statement 2023-03-16 21:13:45 +01:00
Asriel Senna e8888933ea reorder and better document the click/string clause 2023-03-16 21:13:44 +01:00
Asriel Senna b671e01f19 make Patterns raise exceptions when the target is not found 2023-03-16 21:13:43 +01:00
Asriel Senna 84b73d7164 document the focusing algorithm, and use faster min instead of sort 2023-03-16 21:13:43 +01:00
Asriel Senna 1398dc08d0 parameterize the number of trials in find_position 2023-03-16 21:13:42 +01:00
Asriel Senna 98ee23888d remove advance clause 2023-03-16 21:13:41 +01:00
Asriel Senna 70cb354f81 add has_default_focus
Co-Authored-By: Tom Rothamel <pytom@bishoujo.us>
2023-03-16 21:13:40 +01:00
Asriel Senna 479d19bb9b fix wrong offset
Co-Authored-By: Tom Rothamel <pytom@bishoujo.us>
2023-03-16 21:13:39 +01:00
Asriel Senna 15744d14c1 fix rst 2023-03-16 21:13:38 +01:00
Asriel Senna a9f5024399 big advancement on the doc 2023-03-16 21:13:38 +01:00
Asriel Senna 671685ea64 add advance (except for the readiness condition) 2023-03-16 21:13:37 +01:00
Asriel Senna e2f2baca94 document if eval 2023-03-16 21:13:36 +01:00
Asriel Senna 92556b3a66 change doc structure 2023-03-16 21:13:35 +01:00
Asriel Senna 1c26110256 add eval clause 2023-03-16 21:13:34 +01:00
Asriel Senna 75383c00c2 fix pass 2023-03-16 21:13:33 +01:00
Asriel Senna 44d3155a6f more proper reorder 2023-03-16 21:13:32 +01:00
Asriel Senna 64e35b7d49 document the clause concept differently 2023-03-16 21:13:32 +01:00
Asriel Senna 3f23fb10a3 add pass 2023-03-16 21:13:31 +01:00
Asriel Senna 2a54a20a37 doc updates 2023-03-16 21:13:30 +01:00
Asriel Senna eb048b5e03 add exit statement 2023-03-16 21:13:29 +01:00
Asriel Senna fadf4b0e1c raise more accurate exception types 2023-03-16 21:13:26 +01:00
Asriel Senna b627cf66a2 makes label raise an exception instead of creating a silly loop 2023-03-16 21:13:25 +01:00
Asriel Senna e40561a5ae check for both 2023-03-16 21:13:24 +01:00
Asriel Senna ac9c91eeec fix bugs in class attributes 2023-03-16 21:13:23 +01:00
Asriel Senna 1efa5b6178 oh 2023-03-16 21:13:22 +01:00
Asriel Senna 83d48b2428 update doc page 2023-03-16 21:13:21 +01:00
Asriel Senna b1b613a247 update doc page 2023-03-16 21:13:20 +01:00
Asriel Senna 98eba57192 clean stuff 2023-03-16 21:13:19 +01:00
Asriel Senna 36210285ea slotting ast nodes (like in normal-renpy ast) 2023-03-16 21:13:18 +01:00
Asriel Senna 2b2f4a5d1d add doc stub 2023-03-16 21:13:17 +01:00
Asriel Senna 148cd16ae6 Add launcher button to launch tests on the current game 2023-03-16 21:13:17 +01:00
Asriel Senna eba7bf474d use better exception types (probably very little relevance) 2023-03-16 21:13:16 +01:00
Asriel Senna 595a94c44c register the test CLI command correctly 2023-03-16 21:13:15 +01:00
Gouvernathor bb34b38432 Update renpy/display/accelerator.pyx
Co-authored-by: Mal Graty <mal.graty@googlemail.com>
2023-03-16 12:50:55 +01:00
Tom Rothamel ca1871863b Only close fds if stdout/stderr/stdin are not being used.
Fixes #4445.
2023-03-16 01:17:42 -04:00
Gouvernathor 9475a0f4b8 Better phrased error message 2023-03-16 05:26:07 +01:00
Gouvernathor 606a196e52 Rename poi to point_to (and simplify code) 2023-03-16 05:18:27 +01:00
Gouvernathor bcfdb73715 Simplify and optimize some code 2023-03-16 05:07:10 +01:00
Tom Rothamel f8673861aa Go back to the default colorspace, but with the full JPEG range.
Per #4263.
2023-03-15 22:56:07 -04:00
Tom Rothamel 1947db8acd Merge pull request #4444 from mal/improve-savedump
Improve savedump
2023-03-15 22:10:55 -04:00
Tom Rothamel 260b8f5f8d Merge pull request #4443 from mal/fix-tint-matrix
Fix TintMatrix to respect alpha
2023-03-15 21:25:17 -04:00
Mal Graty e5f58fe935 savedump: Add function support 2023-03-15 18:38:32 +00:00
Mal Graty cfee63b880 savedump: Keep pickle protocol in-sync 2023-03-15 18:21:58 +00:00
Mal Graty ee817a32f4 savedump: Write warning into cache
Previously it would never have been used.
2023-03-15 17:45:49 +00:00
Mal Graty 8039704b0d savedump: Improve representation of singletons 2023-03-15 17:45:11 +00:00
Mal Graty c0ff662d60 matrixcolor: Fix TintMatrix to respect alpha
Per the documentation, the alpha shouldn't ever have been impacted.

This change instead treats the alpha in the supplied RGBA value as the
tint opacity rather than applying the tint formula to the alpha channel.
The result is the ability to use a colour value of #FF000080 to apply
a 50%-red tint to the target.
2023-03-15 17:23:05 +00:00
Tom Rothamel bfd6f2c9a8 Clear a deferred side image if a say statement runs.
Fixes #4438.
2023-03-15 02:27:27 -04:00
Tom Rothamel faa9155c88 More work on #4263.
Fundamentally, the problem is that ffmpeg's yuv->rgb conversion is
inaccurate, unless it's given flags that cause a ~12x slowdown -
SWS_ACCURATE_RND or SWS_ERROR_DIFFUSION.

That's not tolerable, so we do enable SWS_FULL_CHR_H_INT and
SWS_FULL_CHR_H_INP, which seem to improve things somewhat, without
slowing down conversion by much.

We now also default to the ITU 709 colorspace, which is the default
for HD video.
2023-03-14 23:18:15 -04:00
Tom Rothamel 444d002304 Revert "ffmedia: Convert to YUV444, then RGB."
This reverts commit a516bda700.

This conversion was too slow for practical use.
2023-03-14 23:13:32 -04:00
Tom Rothamel 2f56256a82 doc: Renpy.redraw is documented in cdd.rst. 2023-03-14 18:48:04 -04:00
Tom Rothamel 16cba5ef11 Remove debug print. 2023-03-14 01:29:46 -04:00
Tom Rothamel 53b9879a7a Limit the size of the icon to 1024x1024.
A 2048x2048 icon causes an X11 crash.
2023-03-14 00:37:11 -04:00
Tom Rothamel a628b2dba3 Document that being redrawn cancels redraw. 2023-03-13 23:51:21 -04:00
Tom Rothamel e45a3b18ae Separate angle and radius in ATL.
This allows angle and radius to be computed in parallel.

Fixes #4118.
2023-03-13 22:05:02 -04:00
Tom Rothamel a3b8f75a8d Avoid reverting the slast serial number.
This prevents slast nodes from getting the same serial number
after a shift+R reload.
2023-03-13 00:10:57 -04:00
Tom Rothamel a516bda700 ffmedia: Convert to YUV444, then RGB.
This works around some issues, reported in #4263, where going
from YUV420 to RGB directly produces artifacts. The two-step
conversion process eliminates these artifacts.
2023-03-12 18:29:34 -04:00
Tom Rothamel 44e23a9665 Use bilinear interpolation when resampling video.
This should only kick in when resampling movies that are
chroma subsampled, as the luma should always be full size.

Fixes #4263
2023-03-12 00:02:19 -05:00
Tom Rothamel 45e5535e89 Allow greedy rollback to the statement after renpy.block_rollback.
Previously, it woudn't proceed past the next checkpoint after
renpy.block_rollback, which could be several statements away.

Fixes #4138.
2023-03-11 23:08:11 -05:00
Gouvernathor 652a06c1a8 doc: remove obsolete name-munging in f-strings warning 2023-03-12 02:31:12 +01:00
Tom Rothamel e48cd58b2c Add config.file_slotname_callback and config.autosave_prefix_callback.
The former allows a game to customize the mapping from page and name
(used by the File actions) to slot (used by the save functions).

The latter lets the names of the autosaves Ren'Py generates be
customized to match.

Fixes #4067.
2023-03-11 20:27:03 -05:00
Tom Rothamel 8f2c27979a doc: Changelog f-string variable munging. 2023-03-11 19:21:21 -05:00
Tom Rothamel 0d7e5ec9e5 Munge variables in f-strings beginning with __.
As per the rest of Ren'Py. Rather than parsing f-strings ourselves,
this is done as part of the Python compiler.

Fixes #4084.
2023-03-11 18:14:11 -05:00
Tom Rothamel d89c89f368 Munge a _ren.py file the same as the .rpy file it replaces. 2023-03-11 17:44:01 -05:00
Tom Rothamel ec48202e27 Use equality when comparing InputValues.
This is to match the way equality is used in sl2ast to avoid
updating the displayables.

This could be wrong if two displayables use the same (or equal)
InputValues, but that's likely a rare situation.

Fixes #4042.
2023-03-11 16:45:50 -05:00
Tom Rothamel 245576331b Duplicate the control argument of AlphaDissolve.
So that the transform that's being used doesn't run.

Fixes #4435.
2023-03-10 22:31:18 -05:00
Tom Rothamel d426c80761 doc: Fix typo. 2023-03-10 09:14:10 -05:00
Tom Rothamel 303dadf377 Drag improvements.
* Apply displayable before calling per_interact, fixing set_child.
* In the examples, show the use of add rather than child, as the
  style property is for specialized use.

Fixes #4432
2023-03-09 23:55:58 -05:00
Tom Rothamel f50be5712d Merge pull request #4434 from via-my/master
Logical mistake
2023-03-09 20:56:59 -05:00
LaUwUrence ea76473e81 Logical mistake 2023-03-10 00:32:46 +04:00
Tom Rothamel 6662238338 Merge pull request #4428 from Kassy2048/webloader_voice
Remove useless double iteration
2023-03-09 00:14:32 -05:00
Tom Rothamel c33f5c4d3d Force the browser out of fullscreen on input.
Fixes #4429.
2023-03-08 19:14:29 -05:00
Kassy 54fb3d9be8 Remove useless double iteration 2023-03-08 13:50:26 +01:00
Tom Rothamel 5c0f86c19e Update Android strings. 2023-03-08 02:28:58 -05:00
Gouvernathor 1e5c227909 Say statement equivalents tweaks and refactor (#4294)
* doc: tweak and warn about say statement equivalents

* doc: move things around about say statement equivalents

Drain the part about it from the dialogue page
Add a link from there to the statement equivalents page
Add the warning about skipping seen dialogue
Incorporate other explanations, examples and the dialogue window management equivalents

* doc: add more advice about use of the character store

* Remove out-of-place explanation

* Clarify, reorganize, readd interact info with more

* Move the interact override hierarchy around

but leave the interact being passed automatically in the call in the statement equivalents page

* More information about say_arguments_callback

* Add example for say_arguments_callback

fixes #4319
2023-03-08 02:16:48 -05:00
Tom Rothamel 6c8996207b Remove an isinstance check in per_interact().
By moving it into the Layer displayable, we can save the call.
2023-03-08 00:50:02 -05:00
Tom Rothamel cd8b496876 Visit the image child of a Frame.
Fixes #4005.
2023-03-07 23:05:17 -05:00
Tom Rothamel 2379d75173 py2: Default subprocess.Popen's close_fds to True.
This matches the behavior change in Python 3.

Fixes #4425.
2023-03-07 20:31:13 -05:00
Tom Rothamel 2147242d91 doc: Copyedit documentation for poi, orientation, and {x,y,z}rotate. 2023-03-07 01:26:46 -05:00
kyouryuukunn 3a06f5e7c6 add poi, orientation and x,y,z rotate (#3609) 2023-03-06 22:07:22 -05:00
Gouvernathor 7d000076ed Layeredimage documentation (#4415)
* Add an example of the last advice

* Add an example for auto groups

following feedback

* Integrate info about "poses"

* Fix markup mistake

* Better document Condition and document ConditionGroup
2023-03-06 21:19:58 -05:00
Gouvernathor e0df6d9b0b docgen: Don't get inherited docstrings for subclasses 2023-03-06 02:24:17 -05:00
Tom Rothamel 2a860ca1c4 per-sample: Documentation. 2023-03-06 02:08:35 -05:00
Tom Rothamel d8326fdb36 per-sample: Rename config.fade_music to config.fadeout_audio, and set it.
It's a more accurate name, as the variable isn't limited to music,
but works with all audio.

It's set to 0.016, the duration of one frame, which seems about right
and also minimizes popping sounds when an audio file ends.
2023-03-06 02:08:35 -05:00
Tom Rothamel 8ebeebe7ea per-sample: Enqueue audio immediately, if possible.
This helps ensure that when a short fadeout ends, the next audio
file is available to be played.
2023-03-06 02:08:35 -05:00
Tom Rothamel 328b056410 per-sample: Prevent clicking noises.
There were two causes for these. The first was that if a sound
was queued tight, the fadeout would finish, and both playing and
queued sounds would be removed - meaning nothing would play
until the next time periodic ran. Fadeout now dequeues the
queued sound if the fadeout would finish.

The second was a mistake that looked at the wrong portion of the
stream buffer, with the resulting errors often sounding like
clicks.
2023-03-06 02:08:35 -05:00
Tom Rothamel eb89a9bafb Use a default fadeout of 1ms when stopping or fading music.
This mitigates a high-frequency click that happens when stopping
a sound too fast.

Fixes #3934.
2023-03-06 02:08:35 -05:00
Tom Rothamel a8351b86c2 per-sample: Implement constant power panning.
This uses sine and cosine to keep the power of the sample constant
as it's moved from ear to ear.
2023-03-06 02:08:35 -05:00
Tom Rothamel c78484dfb3 per-sample: Use a slightly different power unit.
This avoids multiplying and dividing.
2023-03-06 02:08:35 -05:00
Tom Rothamel 255fd01f1b per-sample: Implement volumes.
This implements all four volumes that can be applied to a stream -
mixer, relative_volume, secondary_volume, and fade.

The interpolated volumes (secondary and fade) are now interpolated
using power, rather than magnitude, which leads to perceptually
linear interpolation.

There is a bit of a performance enhancement here - instead of
using decibels as our power units, we use a base-2 power unit
that can be calculated faster.
2023-03-06 02:08:35 -05:00
Tom Rothamel ea706a8071 per-sample: Start work on per-sample mixing.
This is a change to audio mixing that will cause all mixing
calculations to be done on a per-sample basis, rather than
trying to perform mixing on blocks of samples at once.

This will fix issues caused by very short fadeouts, and
enable the move to power-based fading.
2023-03-06 02:08:35 -05:00
Gouvernathor ee4d982bd0 doc: fix wrong bullet-list markup
you were right to warn me, Tom
2023-03-05 15:08:20 +01:00
Tom Rothamel 0e3630e602 Make children of a screen reachable.
This ensures that the displayables in a screen are reachable
via rollback.

Fixes #3907.
2023-03-04 19:14:31 -05:00
Tom Rothamel a4a8fa95ee Allow an object to define what's save and what's reachable differently.
This is mostly intended for screens, where displayables might have
to participate in rollback, but aren't saved.
2023-03-04 18:14:52 -05:00
Tom Rothamel 759b17f195 Remove debug print. 2023-03-04 15:03:12 -05:00
Tom Rothamel db123458a3 doc: Make it clearer that define is for constants.
Fixes #4389.
2023-03-04 14:31:53 -05:00
Tom Rothamel 063092875b doc: The translate None changes in previous commit. 2023-03-04 14:28:43 -05:00
Tom Rothamel 7591092518 Deal with translate None statements.
These statements used to be recommended, by they're error prone
and now deprecated, and the replacement (say-with-id) has been
available for a long time.

Now, there are deferred warnings for translate None and for
duplicate ids, as well as some infrastructure for enabling
developer mode in python early blocks.

Fixes #4407. Fixes #4406. Relevant to #4243.
2023-03-04 14:12:58 -05:00
Tom Rothamel 87d598604e pylance: Ignore ecdsa-based type issues. 2023-03-04 12:34:00 -05:00
Tom Rothamel 4f4516f3fc pylance: Ignore a few more type errors. 2023-03-04 10:53:24 -05:00
Tom Rothamel 1f91895624 Filter a spurious message when building for Android.
Per #4413.
2023-03-03 23:41:52 -05:00
Tom Rothamel f019785797 rapt: Remove spurious warning and delay. 2023-03-03 22:50:27 -05:00
Tom Rothamel d2b25deec4 pylance: Type fixes for pressed mouse cursors. 2023-03-02 23:38:36 -05:00
Gouvernathor 0a04eadc55 Doc tweaks - variables in screens, and CDS (#4385)
* doc: explain the different kinds of variables in screens

* doc: tweaks and better explanations in cds

* doc: Add a warning about overriding the default statement

* Clarify that passing None to Return does not work

"must not" could be understood as "doesn't need to", now hopefully it's more clear.
2023-03-02 20:16:24 -05:00
Gouvernathor 91300cdc0e Rewrite the layeredimage page (#4404) 2023-03-02 20:15:24 -05:00
Gouvernathor 151acc6959 Fix docstring for renpy.music.set_pan (#4411)
doc: fic docstring for renpy.music.set_pan
2023-03-02 20:14:12 -05:00
Gouvernathor d598d39520 Remove mentions of ScreenDisplayable from the documentation (#4412)
Remove ScreenDisplayable from the documentation

the returned object should not be implied to be a Displayable nor usable as one
2023-03-02 20:13:58 -05:00
Tom Rothamel bb2b1bc23a Prepend extend-predicted text with {done}.
This hides it from tts, fixes #4410.
2023-03-02 20:12:25 -05:00
Tom Rothamel 6f76c83421 Defer when extend test is applied.
Fixes #4408.
2023-03-01 23:07:37 -05:00
Tom Rothamel bbdff96b49 Predict the extend statment.
This scrys for extend text, and appends it to the text being
shown before layout happens. This then lets the text layout
code take that text into account when determining line breaking
and word placement.

Fixes #3963.
2023-03-01 00:49:24 -05:00
Tom Rothamel c621ec4865 Use the scry system to add extend text that will always be shown.
This is intended to support the solution to #3963.
2023-02-28 22:13:45 -05:00
Tom Rothamel d75a4950cb Avoid stopping a movie channel that doesn't exist.
This is likely due to a movie that was defined in an old version
of the game not existing anymore.

Fixes #4402.
2023-02-27 21:03:22 -05:00
Tom Rothamel 49bdc8819f text: Position text using ints, rather than shorts.
Saving a few bytes isn't worth dealing with overflow issues
that seem to be actually happening.

Fixes #4031.
2023-02-27 01:26:35 -05:00
Tom Rothamel 68e9e02bf8 text: Ensure conversions are in range.
Per #4031.
2023-02-27 00:46:14 -05:00
Tom Rothamel d702a4f62e Add namespace/field support to VariableValue and VariableInputValue.
Fixes #3611.
2023-02-26 19:07:55 -05:00
Tom Rothamel 236d836274 Prevent overflow error.
This can't be absolutely correct, as the underlying problem is
too much text, but should work around the crash caused in #4031.
2023-02-26 18:35:53 -05:00
Tom Rothamel ecf89db683 Avoid resetting the caps and numlock keyboardm modifiers. 2023-02-26 17:28:32 -05:00
Mal Graty 18e54353fe Fix same typo in documented keymap
Pairs with 2ec1e32681.
2023-02-26 16:39:31 +00:00
Tom Rothamel bd8ffe068d Merge pull request #4401 from renpy/doc-monologue-none
Doc and changelog monologue none
2023-02-26 11:35:44 -05:00
Mal Graty 2ec1e32681 Fix typo in new keymap 2023-02-26 16:21:19 +00:00
Gouvernathor 77c342b6ab Changelog rpy-monologue-none 2023-02-26 14:30:52 +01:00
Gouvernathor 69a7b58756 Document rpy-monologue-none 2023-02-26 14:22:45 +01:00
Tom Rothamel 1c9b12c69e Merge pull request #4277 from altskop/new_cursor_types
Support for new cursor types
2023-02-25 19:31:00 -05:00
Tom Rothamel 60bac24065 Merge branch 'master' into new_cursor_types 2023-02-25 19:09:03 -05:00
Tom Rothamel 73a5efcb7c Merge pull request #4398 from lanodan/pep440-version
renpy: Make version PEP440-compatible
2023-02-25 19:05:04 -05:00
Haelwenn (lanodan) Monnier 19cf6b57f6 renpy: Make version PEP440-compatible
Starting with 67.2.0 setuptools enforces PEP440 compliance.
2023-02-25 21:47:14 +01:00
Tom Rothamel 65ee166afb pylance: More type annotations. 2023-02-25 00:24:04 -05:00
Tom Rothamel 3fe4f6ac8f text: Only trigger slow_done when events are available.
Fixes #4392.

This was caused by Text's slow_done callback being triggered when
text was being rendered in the old-side of a transitions. Because
the slow_done callback was running in th new context, the context
was aborting.

This moves running of slow_done into the event handler. Event handling
isn't done on the old-side of transitions, and so the problem does not
trigger.
2023-02-25 00:21:52 -05:00
Tom Rothamel 9be196163c Merge pull request #4313 from renpy/rpy-mononlogue-none
Implement `rpy monologue none`
2023-02-24 22:26:05 -05:00
Tom Rothamel 4574a50590 nw: Delay for both voice and self-voice in self-voice mode.
So that self-voice doesn't cancel voice.
2023-02-23 23:57:16 -05:00
Tom Rothamel a57ac97e10 Rename a Layer's raw_child to untransformed_layer.
That prevents it from interfering with other things being named
raw_child, while still not requiring hasattr and getting rid of
type warnings.

Fixes #4391.
2023-02-23 22:35:44 -05:00
Tom Rothamel 4fb8316903 Revert "pylance: Address more type warnings."
This reverts commit 9f96f132e7.
2023-02-23 22:09:24 -05:00
Tom Rothamel 0b424a8221 Revert "Hotfix 9f96f13"
This reverts commit 4326981a4d.
2023-02-23 22:08:20 -05:00
Gouvernathor 367f32bd06 Other fix for 9f96f13 and #4391 2023-02-23 23:09:41 +01:00
Tom Rothamel 214833b1ec Merge pull request #4393 from renpy/fix-4391
Hotfix 9f96f13
2023-02-23 16:50:16 -05:00
Gouvernathor 4326981a4d Hotfix 9f96f13 2023-02-23 22:01:36 +01:00
Tom Rothamel 9f96f132e7 pylance: Address more type warnings. 2023-02-23 01:25:21 -05:00
Tom Rothamel 51e89cb7bd pylance: Fix more typing problems.
Especially in webaudio.
2023-02-23 01:05:20 -05:00
Tom Rothamel 8a7fc84f96 pylance: Eliminate type errors.
These changes aren't expected to change the behavior of Ren'Py.
2023-02-23 00:29:29 -05:00
Tom Rothamel 0165b94e0e Merge pull request #4386 from shawna-p/master
Fix inertial viewport dragging
2023-02-22 22:41:13 -05:00
Tom Rothamel f1190f7187 persistent: Fix issue that became obvious in the last review. 2023-02-22 22:22:35 -05:00
Tom Rothamel 7cc434691a Merge pull request #4388 from renpy/simplen-persistent
Simplify and quicken code in persistent.py
2023-02-22 22:17:51 -05:00
Tom Rothamel d54c29e2b7 Ensure that both the screen name and tag are available to renpy.showing.
And that the information is properly maintained.

Per #4384.
2023-02-22 22:09:00 -05:00
Tom Rothamel 17c9c6f62c Make {nw} wait for self-voicing to complete.
Per #4387, and trying to make sure that the self-voicing text
completes before advance happens.
2023-02-22 20:59:55 -05:00
Gouvernathor 2e8c59b94a Simplify and quicken code in persistent.py 2023-02-23 01:52:03 +01:00
shawna-p f968c5016b Fix inertial viewport dragging 2023-02-22 14:06:28 -05:00
Tom Rothamel b3406bc9ae oversample: Try to ensure divisions are exact.
Which means we can always do a blit rather than a subpixel blit,
even if bounds are computed.
2023-02-21 23:46:45 -05:00
Tom Rothamel 5a0ca315bf Merge pull request #4083 from renpy/fix-oversample-offset
Fix subsurface offset when oversampling
2023-02-21 23:00:52 -05:00
Tom Rothamel 57a1a9ece6 Merge pull request #4357 from renpy/mipmap-transitions
Document mipmap specifically in transition parameters
2023-02-21 22:55:05 -05:00
Tom Rothamel 85a21e93e3 Merge pull request #4382 from renpy/clear-all-focuses
Enable ClearFocus and renpy.clear_capture_focus to clear all focuses at once
2023-02-21 18:09:21 -05:00
Gouvernathor a559f10792 Enable ClearFocus and renpy.clear_capture_focus to clear all 2023-02-21 18:40:46 +01:00
Tom Rothamel 4e4dc33843 Merge pull request #4359 from Tey/video-warning-fix
Only show warning message when playing a video
2023-02-21 01:34:31 -05:00
Tom Rothamel 51985b8633 doc: Fix the types of xsize and ysize.
Fixes #4373.
2023-02-21 01:32:24 -05:00
Tom Rothamel a0f4ed2ca6 Enable the selected_insensitive state.
And pass insensitive events to transforms.

Fixes #4338.
2023-02-21 01:28:44 -05:00
Tom Rothamel fd3f9102dc Minor changes to #4363.
Use a sentinel value rather than False.
2023-02-20 21:46:33 -05:00
Tom Rothamel 0c03ca25b5 Add a better example of a CTC screen. 2023-02-20 21:34:41 -05:00
Tom Rothamel 1c49408810 Merge pull request #4363 from Kassy2048/audio_wait_web
Wait for audio files to be downloaded before queuing them (web)
2023-02-20 21:14:04 -05:00
Gouvernathor b1cace6a24 doc: fix last 2023-02-21 02:07:18 +01:00
Tom Rothamel f4fd9156c0 Merge pull request #4376 from renpy/config-example
Upgrade example of config variable definition
2023-02-20 20:05:32 -05:00
Tom Rothamel 85f9d77c9d Merge pull request #4379 from renpy/dynamic-kwargs
simplify renpy.dynamic calls
2023-02-20 20:05:05 -05:00
Gouvernathor 6d92653229 simplify renpy.dynamic calls 2023-02-21 00:57:56 +01:00
Gouvernathor e69967fc94 doc: Upgrade example of config variable definition 2023-02-20 19:12:03 +01:00
Tom Rothamel 4fc96ee3ba Resolve bad merge. 2023-02-19 15:13:57 -05:00
Tom Rothamel 646bc8b398 Merge pull request #4369 from renpy/object-init
Fix classes signatures in the documentation (again)
2023-02-19 14:59:06 -05:00
Tom Rothamel a1302ecb3b Merge branch 'master' into object-init 2023-02-19 14:59:00 -05:00
Tom Rothamel ff2302f542 Merge pull request #4368 from renpy/lf
LF everywhere
2023-02-19 14:58:09 -05:00
Tom Rothamel 2bd1c71fd8 Merge pull request #4370 from renpy/doc-4316
Document #4316
2023-02-19 14:57:24 -05:00
Gouvernathor 9c3957a567 doc: changelog slcontinue and slbreak 2023-02-19 17:49:17 +01:00
Gouvernathor 9df7c047e4 doc: slcontinue and slbreak 2023-02-19 17:46:41 +01:00
Gouvernathor 4a53152c96 doc: fix 3746367 2023-02-19 16:00:45 +01:00
Gouvernathor e9be0244ca back to LF 2023-02-19 15:15:48 +01:00
Gouvernathor ff5bb28fe6 docgen: pop the prepending "self" better
args.replace(tuple(args.parameters.values())[1:]) would have been shorter, but would require two memory copies
this should be equivalent
2023-02-19 15:05:26 +01:00
Gouvernathor 89618e957f docgen: ban object.__init__'s signature 2023-02-19 15:03:34 +01:00
Gouvernathor aa9432948f docgen: simplify the issue with revobj's init 2023-02-19 15:02:58 +01:00
Gouvernathor 34c12fd310 doc: typo 2023-02-19 14:17:22 +01:00
Tom Rothamel b4ce3ccf9b Add directory to renpy.open_file and renpy.loadable. 2023-02-19 01:06:18 -05:00
Tom Rothamel a433009de8 Merge pull request #4360 from qTich/typo-images-prefix
fix: typo in common
2023-02-18 23:33:27 -05:00
Tom Rothamel b87b673e0f doc: Better documentation as to how ctc="fixed" works. 2023-02-18 20:32:59 -05:00
Tom Rothamel eff081741a Fix the default modal value for renpy.pause. 2023-02-18 20:22:48 -05:00
Tom Rothamel 6667c50ce4 doc: Deprioritize FLAC in the movie audio codec list. 2023-02-18 20:22:25 -05:00
Tom Rothamel 3ff388c5ed Doc: The addition of AV1. 2023-02-18 19:19:00 -05:00
Tom Rothamel b0ded80c22 doc: Fix improperly documented args. 2023-02-18 18:49:27 -05:00
Tom Rothamel c97c4871a6 Some compatibility for the keymap changes.
Fixes #4362 by preventing problems in released games, and documenting
this in the log.
2023-02-18 01:09:08 -05:00
Tom Rothamel 8c179a88a4 Check for changed language when rolling back.
Fixes #4351.

This also cleares the roll-forward log if the language has changed,
to stop roll-forwards into lines that haven't been shown.
2023-02-17 16:58:01 -05:00
Kassy 384b70a301 Wait for voice file to be downloaded before queuing it
If prediction failed, it is still worth it to play the voice file
late than not at all.
2023-02-17 20:23:02 +01:00
Kassy ba903152a0 Wait for audio file to be downloaded before queuing it
Fix #4113
2023-02-17 20:20:58 +01:00
Tom Rothamel 8668e3c986 Fix NVL-mode paged roll-forward.
By keeping all the roll-forward info, even past the first
checkpoint.

Per #4352.
2023-02-17 00:41:12 -05:00
Tom Rothamel 7039ec5d34 rt: When selecting the project, select int the launcher. 2023-02-16 23:35:14 -05:00
Tom Rothamel 02c1e46cbb launcher: Add a command to select the project. 2023-02-16 23:02:09 -05:00
Tichq d1a91a85e4 fix: 3a9db89382 2023-02-17 01:40:49 +03:00
Gouvernathor 5781e3b4f4 doc: document mipmap as its own thing in transition parameters 2023-02-15 23:36:58 +01:00
Tom Rothamel d6a72cfef3 Use the controller instance_id (not index) to remove controllers.
Fixes #4354.
2023-02-15 02:54:10 -05:00
Tom Rothamel bb791f4a9e Prefer explicity given images to ones found by name.
The thinking is that renpy.show's with argument should always
be the image that is show - it doesn't make sense for a named
image to override it.

Per #4353.
2023-02-15 02:30:22 -05:00
Teyut 2c2d08e5f1 Only show warning message when playing a video 2023-02-15 04:37:34 +01:00
Tom Rothamel 8a55b45cc9 _ren.py: Integrate with navigation.
This is mostly just making sure _ren.py files are considered
to be script files, and not filtered out.

Fixes #3920.
2023-02-14 02:13:20 -05:00
Tom Rothamel 26689f992b Strip BOM from the start of example lines. 2023-02-13 23:59:49 -05:00
Tom Rothamel 80b3e8236e Standardize on LF line endings. 2023-02-13 23:50:51 -05:00
Tom Rothamel a1f631285f Rename text_align to textalign (#4305)
Textalign renaming
2023-02-13 23:48:08 -05:00
Tom Rothamel 3a9db89382 Fix compat. 2023-02-13 23:38:46 -05:00
Teyut deae896fec Cutscene and loop for web (#4324)
* Draw video frames on canvas directly for cutscenes

This replaces the features of "00webvideo.rpy" and adds a way to detect
if autoplay is blocked for Movie() as well (with workarounds).

* Let video loop be handled by the browser

* Check for audio or video playback support

A warning message is shown when audio or video playback is not supported.
Video playback requires OpenGL 2 which should be guaranteed by WebGL v1,
but Ren'Py falls back to OpenGL 1 in some exotic configurations (like a
remote X11 server).

* Remove test condition

* Use wasm to decode audio files when needed without disabling video support

Video channels are marked asap in the webaudio module so it is possible to
know which audio function to call for that channel when audio decoding is not
possible by the browser (i.e., for Safari).

* Add details about video support on Web platform

* Remove useless check
2023-02-13 23:34:38 -05:00
Gouvernathor 70892cdf1d Modernize the inspect module and fix subclasses of RevObject not overriding __init__ (#4348)
* docgen: Modernize signature-reading

Our object's __init__ has a bogus (*args, **kwargs) signature which is actually (), subclasses not overriding it should get a () documented sig
The inspect.getargspec and inspect.formatargspec functions are deprecated in favor of inspect.signature

* Better fix for classes not redefining __init__

Probably faster at execution (although who cares) and does not rely on undocumented identity check
2023-02-13 23:32:06 -05:00
Tom Rothamel b6d51b7b0b Search for audio in audio, fonts in fonts/
And images in images/

Fixes #2077.
2023-02-13 22:31:22 -05:00
Galo223344 b3611b04cd Include an example of a proper usage of time_warp in the docs of ImageDissolve (#4326)
Include an example of a proper usage of time_warp in ImageDissolve

Even though time_warp is mentioned three times in the transition classes document, it's never shown how to actually use it. Since the idea of using the _warper module is not intuitive, and it's mentioned only once at the beginning of the section, I thought it would be best to at least include it in one of the examples.
2023-02-13 19:11:43 -05:00
Gouvernathor beebbf86af Doc misc (tweaks and fixes) (#4349)
* document Function's arguments the usual way

* document that Style's fields are write-only

* rephrase beginning of styles

* Warn about not using default

* typo: misdefined var
2023-02-13 19:11:28 -05:00
Tom Rothamel 9ac23face8 The current screen shouldn't be a HIDE or OLD screen.
There are various actions and values that access displayables
in the current screen. Some of these might be run (for example,
BarValue.get_adjustment()) in a hiding or old(-state-of-transition)
screen.

Almost certainly, those values and actions want the displayables
that are present in the original screen, not the copy, and so
the value is redirected.

Fixes #3998.
2023-02-12 15:59:08 -05:00
Gouvernathor 4e416ffebb Lint orphan translations (#4314) 2023-02-12 01:29:51 -05:00
Tom Rothamel 3e6afe04bb rapt: Update Android documentation to match the latest changes. 2023-02-12 01:27:50 -05:00
Tom Rothamel c96aac25c4 rapt: Update the launcher to match recent changes.
* Key generation is now per-process, and is a different step
  from installing the SDK.
* .android.json is now android.json.
2023-02-12 01:12:39 -05:00
Tom Rothamel 4d6bd0e14e steam: Do not initialize if the dlls do not exist.
Fixes #4344.
2023-02-11 13:29:40 -05:00
Tom Rothamel f7b6001771 py3: Fix old-style backtick repr.
Turns `expr` into repr(expr).
2023-02-11 03:05:14 -05:00
Tom Rothamel 06aff37241 py3: Fix old-style raises.
Transforms a raise of Type, expression into Type(expression).
2023-02-11 02:51:56 -05:00
Tom Rothamel d14bb49be1 When predicting an image for immediate use, push it to the GPU.
This mostly affects the case where Ren'Py is skipping, and hence
the images aren't likely to be loaded onto the GPU, and the idle
frame handler is unlikely to be triggered.

When this happens, prediction doesn't - but images will still be
predicted for immediate use. However, the surfaces were not being
loaded onto the GPU until use.

By immediately loading onto the GPU, the surfaces can be immediately
evicted from CPU memory, reducing the maximum amount of CPU memory
in use.
2023-02-11 00:30:22 -05:00
Tom Rothamel 738e4b30ec Limit how often the presplash is drawn.
Limiting the presplash to being drawn at 24fps speeds up loading
by 4 seconds (halving it) in a game with ~3000 .rpyc files.

Fixes #3962.
2023-02-10 21:21:56 -05:00
Tom Rothamel 7fd8f66145 Ensure there is always a context during rollback.
Fixes #4337.
2023-02-10 00:38:34 -05:00
Tom Rothamel 3ef37f8adf Use a dedicated keymap entry for exiting the console. 2023-02-09 22:10:54 -05:00
Moshibit a168f4be32 doc: Fix typo (#4340) 2023-02-09 15:48:00 -05:00
Tom Rothamel 242431b0b0 Fix the analysis of imagemaps. 2023-02-09 00:08:38 -05:00
Tom Rothamel 9a06311d97 sl2: Analyze for loops with break/continue for constness.
When a for loop has a break or continue in it, it may not
complete all of its executions. The result of that is that
variables that are updated in the loop are no longer constant
in the screen.

This has break and continue mark the loop as non-constant, and
then the loop re-analyzed to mark the variables in it as
non-constant.
2023-02-08 22:09:21 -05:00
Tom Rothamel d89abb44f1 Remove unneeded case that was causing a problem.
Fixes #4334.
2023-02-07 22:27:56 -05:00
Mal Graty f5dd816d1f Allow slow text to be used in screens while TTS is active (#4333)
text: Allow slow mode use while TTS is active

This relaxes the restriction on using slow text in screens while
self-voicing is enabled. As typical say dialogue is handled by Character
it is unaffected by this change.
2023-02-06 22:26:27 -05:00
Tichq 89f17d3aeb fix: missed iteration arg in SLIf.keywords (#4332) 2023-02-06 20:40:03 -05:00
Tom Rothamel 5cb1b0de72 doc: Fix generation. 2023-02-06 09:37:48 -05:00
Tom Rothamel 9a1d7f57d3 Better comments for what LOCAL_CONST means. 2023-02-06 01:24:08 -05:00
Tom Rothamel 1e98a7046b Merge commit 'f2d55f96576710b798a1df4046eec123f55c745b' 2023-02-06 01:22:33 -05:00
Gouvernathor f2d55f9657 doc: typo 2023-02-06 06:02:39 +01:00
Tom Rothamel e0b051cf56 sl2: Add prefer_screen_to_id.
This controls whether properties supplied through the screen
override those supplied through the displayable identifier.

Per #4319.
2023-02-05 23:32:41 -05:00
Gouvernathor 0419548455 doc: add attribute_function parameter to layim language 2023-02-06 05:31:33 +01:00
Tom Rothamel 03d37d24dc sl2: Do not predict branches of for loops that can never be taken.
The previous approach of predicting all branches was incorrect when
a constant branch was taken, as it could lead a locally const variable
to be given a different value, which prevented further optimizations
from working.

Fixes #4163.
2023-02-05 23:06:40 -05:00
altskop a2fdb61f70 Move pressed_ logic to get_mouse_name 2023-02-05 19:32:22 -06:00
altskop 8d6345e04a Resolve merge conflict 2023-02-05 15:43:29 -06:00
altskop 93f8cb30b7 Resolve merge conflict 2023-02-05 15:41:34 -06:00
altskop 94522d104b Remove mousebuttondown in cursor styles and switch to "pressed_" prefix instead. 2023-02-05 15:34:58 -06:00
Gouvernathor 9f1dbf208c Add renpy.is_pixel_opaque (#4315)
* Add renpy.is_pixel_opaque

* Change the signature
2023-02-05 12:31:59 -05:00
Gouvernathor fd86992a0e Make the alt character accept kwargs (#4321)
Make the alt character pass kwargs through
2023-02-05 12:31:37 -05:00
Tom Rothamel d2cb7c82b8 sl2: Improve error handling.
This is mostly intended to provide a better error message if
continue or break is out of place.
2023-02-05 12:08:48 -05:00
Gouvernathor 6052b3ec2c Add break and continue to the screen language for loop (#4316) 2023-02-05 10:55:54 -05:00
Tom Rothamel 2a6fa817de sync: Add buttons to the gui.
This should make it possible to generate a new game that
supports Ren'Py Sync.
2023-02-04 22:14:42 -05:00
Tom Rothamel 28e8203527 Fix an issue that was preventing the gui project from being run. 2023-02-04 22:14:42 -05:00
Gouvernathor 6ec246eaee doc: Changelog (#4322) 2023-02-04 14:22:49 -05:00
Asriel Senna 0e39a75e10 doc: fix typos 2023-02-04 19:42:55 +01:00
Asriel Senna 1a69e9af1b doc: update following #4318 2023-02-04 07:59:47 +01:00
Tom Rothamel 513099ef0f emscripten: Disable audio_when_unfocused and audio_when_minimized.
Fixes #4289.
2023-02-04 01:51:28 -05:00
Gouvernathor d8d5c2889a Oversampling for image manipulators (#4318)
* im.Data, and im.ZipFileImage aren't subject to oversampling, as they aren't "im transforms" - taking an im and returning another
* Composite takes several im parameters, so computing the oversampling of the whole is not trivial. I chose only to support all the images having the same oversampling factor - which is better than nothing, for obsolete functions
* Alphamask already had the constrant of the two images having the same size, they now also must have the same oversampling - seems fair enough to me. If you try it, it will most likely glitch, but that's only if and because Fix subsurface offset when oversampling #4083 is not merged
* All others have been converted.
2023-02-04 01:44:31 -05:00
Asriel Senna 0c076bf365 doc typos and fixes 2023-02-04 05:25:37 +01:00
Gouvernathor a12f7e96f7 Fix french translations 2023-02-03 17:25:18 +01:00
Tom Rothamel 8eff33f250 pyright: Fix some typing issues. 2023-02-03 01:05:57 -05:00
Tom Rothamel 12d337252e gl2: Fix off-by-one errors. 2023-02-03 00:58:55 -05:00
Tom Rothamel 5951976050 Remove unneeded line. 2023-02-03 00:30:00 -05:00
Tom Rothamel cda2f03dc1 Add the delay parameter to the Scroll action.
This lets a scroll button delay/animate scrolling.

Fixes #3747.
2023-02-03 00:26:21 -05:00
Tom Rothamel 5f05df1721 Fixes/improvements to animated adjustments.
* Round the animation target, not the final position.
* Fix math when computing position.
2023-02-03 00:24:47 -05:00
Tom Rothamel 62eadebbee Generate stylesets.pxi stably.
This prevents it from being recompiled each time Ren'Py is run.
2023-02-02 23:59:52 -05:00
Tom Rothamel 6dd9afb0ab Adapt to setuptools. 2023-02-02 23:59:52 -05:00
Asriel Senna 9e0e85bc86 implement rpy monologue none 2023-02-03 05:49:35 +01:00
Gouvernathor 36f41e3d22 doc: fix typo in example 2023-02-03 05:13:33 +01:00
Tom Rothamel 6d9b593555 Replace adjustment intertia with a more generic animation system.
This is to make it easier to animate scroll actions.
2023-02-02 22:31:49 -05:00
Tom Rothamel 28cea14a7f Enable draggable for the tutorial list of choices.
Mostly to test touch scrolling and inertia.
2023-02-02 22:31:49 -05:00
Gouvernathor a45f7c71e3 Add config.font_name_map
This is a variable that maps a short font name to a longer font name, allowing font tags (and other places fonts are used) to be shorter when required.
2023-02-02 20:53:07 -05:00
Gouvernathor eff49c8e43 Check conflicting properties in SL and ATL (#3821) 2023-02-02 20:49:18 -05:00
Gouvernathor 053428b945 Make spacing relative in grids (and vpgrids) (#3850)
Fixes #3840.

---------

Co-authored-by: Tom Rothamel <pytom@bishoujo.us>
2023-02-02 20:47:06 -05:00
Mal Graty 22a1e0525b move: Transformed-layer specific Move transition (#4268)
This alters how the Move transition deals with layers that have been
wrapped in a transform by the "show layer" statement.

Previously raw layers were hung on the layers_root widget, so that the
Move transition could unwrap them when needed. Unfortunately this meant
that it was only possible to do this unwrapping if it was the
layers_root widget being transitioned, rather than individual layers.

The change is to instead hang the raw layer on its transformation
directly, allowing it to be accessed both in the case of transitioning
the layers_root widget and also transitioning a layer in isolation. It
also makes the concept of raw_layers on the root widget redundant, and
so they have been cleaned up.
2023-02-02 20:42:32 -05:00
Gouvernathor 79aedc830c Upgrade the fixed rollback documentation to strip obsolete functions (#4288) 2023-02-02 20:41:34 -05:00
Gouvernathor 1c84857191 Fix recent director regression (#4311)
* Patch check_image_attributes

The last change to now-line 147 require `negative` and the elements of `l` to be the same type,
which they are not because the elements of `l` are not of constant type:
when added by line 134 they're lists, but when added by line 139 they're tuples.
This converts them always to lists - the memory-heavier but safer option.

* Convert all to tuples

* Simplify the code
2023-02-02 20:28:10 -05:00
Tom Rothamel ebc1ed7ab6 Merge pull request #4310 from renpy/better-director-enable
Better director toggle variable
2023-02-02 20:26:27 -05:00
Gouvernathor 8a3b69347a better director opt-out
Replaced a variable meant to change but placed in a constant store, with a query on a variable in the general store.
2023-02-02 16:55:01 +01:00
Tom Rothamel 9b82eaf228 Fix the documentation of config.gamedir and renpy.open_file. 2023-02-02 09:57:43 -05:00
Tom Rothamel 33c86d3b93 Revert "Normalize gamedir to slashes"
This reverts commit c7c7733be3.
2023-02-02 09:37:16 -05:00
Gouvernathor c7c7733be3 Normalize gamedir to slashes 2023-02-02 15:15:50 +01:00
Tom Rothamel 3d7b15c521 Only collapse runs of whitespace consisting of space and \n.
\r doesn't exist in Ren'Py, and if the user picks another kind of
whitespace, it's best to preserve it.

Fixes #4275, closes #4299.
2023-02-02 00:50:26 -05:00
Tom Rothamel 3918cd3e93 Merge pull request #4279 from Tey/webvideo
Add Movie() support for web
2023-02-02 00:42:34 -05:00
Tom Rothamel f42b11ce6b Merge pull request #4301 from renpy/doc-style
Update the Style page
2023-02-01 23:48:07 -05:00
Tom Rothamel e8c11080a5 Merge pull request #4304 from renpy/doc-currying-callbacks
Add an example of currying a character callback
2023-02-01 23:47:32 -05:00
Asriel Senna 194cacf7f2 Update internal use of text_align 2023-02-02 05:37:47 +01:00
Asriel Senna a0dba5ca1d Update good practices in the doc and the tutorial 2023-02-02 05:34:07 +01:00
Asriel Senna 6c89fcb29d Update and compat gui.text_properties 2023-02-02 05:25:23 +01:00
Asriel Senna ad2e80f900 change the documentation from text_align to textalign 2023-02-02 05:24:19 +01:00
Asriel Senna be95fa7412 Enable textalign in screen language 2023-02-02 05:02:38 +01:00
Gouvernathor 7094d87843 doc: add an example of currying a character callback 2023-02-02 04:07:29 +01:00
Moshibit 9e02cf20f4 Update Spanish translation (#4302)
* Update common.rpy

* Update developer.rpy
2023-02-01 18:43:33 +01:00
Gouvernathor d284791ffb doc: minor tweaks and typos on the lifecycle page 2023-02-01 12:24:29 +01:00
Gouvernathor 8637d74c3a doc: some further edits 2023-02-01 12:22:29 +01:00
Gouvernathor 69701070b6 doc: Update styles documentation
Various rephrasings, added links, comparisons with modern renpy statements, remove duplicate entry for the style inspector, and so on.
2023-02-01 11:43:33 +01:00
Gouvernathor 76b8962bc5 Fix last
Weirdly enough defaultdict.pop raises an error if the key doesn't exist
2023-02-01 08:44:09 +01:00
Gouvernathor 2f19f4d3e9 Check that the deferred errors are correct when releasing them 2023-02-01 08:29:12 +01:00
Tom Rothamel 17e1cf0a67 Merge pull request #4296 from renpy/disable-empty-slkeywords
Disable empty keywords in screen parsing
2023-02-01 01:43:50 -05:00
Tom Rothamel 49e531fabb Merge pull request #4295 from renpy/tts-sub
Use presumably faster builtin methods
2023-02-01 01:43:28 -05:00
Tom Rothamel 1bd7bc6d53 Add Lexer.deferred_error, and support for deferred errors.
A deferred error is a parse error that might or might not manifest,
based on configuration variables that need to be set early, but can
be in any file.

These errors are stored in .rpyc files, and might become real parse
errors, or might be discarded.

This is intended to address #4284.
2023-02-01 01:37:45 -05:00
Gouvernathor ed19b3c333 Update french translations 2023-01-31 19:32:17 +01:00
Gouvernathor fb251c362d Error-out on emply screen language keyword 2023-01-31 17:59:04 +01:00
Gouvernathor 3e0a84ee8c doc: fix typos and escape 2023-01-31 15:20:54 +01:00
Gouvernathor db419875b0 Use presumably faster builtin methods 2023-01-31 15:14:58 +01:00
Tom Rothamel a474006d40 Add config.tts_substitutions.
This allows words to be replaced with their pronuncations, for
the purpose of self-voicing.
2023-01-31 00:27:16 -05:00
Gouvernathor d764a100a6 doc: reference typo 2023-01-31 04:44:46 +01:00
Gouvernathor bc2f9c866b doc: forgotten code block 2023-01-31 04:42:07 +01:00
Tom Rothamel a49bd0133c Fix crash on Android 12.
It looks like there were two things happening at once. One might have
been caused by aggressive power saving after onPause returns, and
seems to have been fixed by renpy-build@e73258924e907fe613ea6f243ab4a6bcae561632 .

The second was a crash in renpy.audio.audio.pause_all, that is probably
caused by the Audio Focus system on Android 12 starving the audio
thread, leading to things locking up.

This change pauses the audio without acquiring any locks, and was
stable after tens of pause-resume cycles on my Pixel 7.

Addresses #4286.
2023-01-29 22:55:10 -05:00
Tey 97f67f3cb8 Do not warn if playback is stopped before movie is ready 2023-01-30 03:41:09 +01:00
Tey bec8d214d3 Disable debug output by default 2023-01-30 03:17:15 +01:00
Teyut 7cd3ed824f Merge branch 'renpy:master' into webvideo 2023-01-30 02:35:48 +01:00
Tom Rothamel 7fd6fda193 Fix regression. 2023-01-29 14:58:37 -05:00
Tom Rothamel 0c0b824be6 sync: Finish changing to taking the url. 2023-01-29 14:22:08 -05:00
Tom Rothamel 261e4f9926 py3: Build using setuptools. 2023-01-29 14:15:46 -05:00
Tom Rothamel 221815a3ad Remove the embedded libfribidi.
It's now fine to use the system fribidi, so we use that. This
also upgrades the interface to use Python unicode functions that
are no longer deprecated.
2023-01-29 13:24:07 -05:00
Tom Rothamel 33e740e4ad Fix various warnings produced by GCC or clang. 2023-01-29 13:10:40 -05:00
Tom Rothamel b64c4c0904 Fix warnings emitted during compilation. 2023-01-29 10:43:08 -05:00
Tom Rothamel e00dd6a491 Fix use of undefined behavior with matrixes.
* Use of a zero-length array in the middle of the structure is non-portable,
  so replace it with a pointer.

* Apparently, M_PI is non-portable, so replace it with the constant.
2023-01-29 10:24:40 -05:00
Tey 2a6bfb8878 Add support for movies with mask on web 2023-01-29 04:23:04 +01:00
Tey 90b29854a9 Add "renpy.alpha_mask" shader that sets transparency of a texture using another texture 2023-01-29 04:20:29 +01:00
Tey 9358dbc613 Make cached_texture public so GL2Draw.render_to_texture() can actually use it 2023-01-29 04:18:53 +01:00
Tom Rothamel ea4e9bc144 sync: Fix wording. 2023-01-28 21:38:42 -05:00
Tom Rothamel 280ea1e0e4 Document the sync server protocol. 2023-01-28 21:34:34 -05:00
Tom Rothamel d5a7b257dc Include a hash of save_directory with the upload.
It may be necessary to cut off an API client, so this will allow that.
2023-01-28 21:28:23 -05:00
Tom Rothamel 84238fcca5 sync: Include the save_directory with the sync ids.
This should add a little to the entropy involved.
2023-01-28 21:01:18 -05:00
Tom Rothamel f4990b9f98 Add CurrentScreenName().
This is a screen function that returns the name of the current
screen (ignoring use-es).
2023-01-28 10:28:38 -05:00
Tom Rothamel e0d6230f2f sync: Preserve mtime when unpacking files.
This helps make sure that the right persisten is used, and gets
the save times correct.
2023-01-28 01:50:43 -05:00
Tom Rothamel c0385ce188 sync: Check that as sync belongs to the game being played. 2023-01-28 00:57:19 -05:00
Tom Rothamel e624691fc3 Merge branch 'sync' 2023-01-28 00:21:44 -05:00
Tom Rothamel a173928fe6 token: Allow loading slots where the save token wasn't accepted. 2023-01-28 00:21:05 -05:00
Tom Rothamel 4e06513d07 Update the look of the default sync screens. 2023-01-28 00:19:50 -05:00
Tey a66a521660 Only copy a video frame when a new one is available
This relies on requestVideoFrameCallback() which is available on Chrome and Safari,
but not Firefox.
2023-01-27 23:38:43 +01:00
Tey 7c08938fb9 Copy video frame to WebGL texture to improve performances
Video with alpha masks are not supported yet.
2023-01-27 23:36:59 +01:00
Tey c51c5e0e7d Add a way to generate an empty GLTexture and retrieve its name
This is required for the web platform so the browser copy video frames to it from JS.
2023-01-27 23:32:06 +01:00
Tom Rothamel ca649f95ec sync: Various improvements.
* Allow the sync id to be typed in lower-case.
* Set the correct init.
* Do not depend on the system-wide confirm screen.
* Use gui._scale rather than gui.scale.
2023-01-27 02:48:47 -05:00
Tom Rothamel 247b5d33cd Merge branch 'master' into sync 2023-01-27 01:22:10 -05:00
Tom Rothamel c9bdd74a5c Allow save files without signatures to be loaded. 2023-01-27 01:08:30 -05:00
Tom Rothamel 86be00ff75 Fix issues with maxing focus.
The new max focus was not stored, causing problems. If maxing a focus
happens when a displayable is grabbed, the grab is broken.

Fixes #4092, resolves #4108.
2023-01-26 21:03:01 -05:00
Tey eadff6ee94 Add more debug outputs and a switch to disable them 2023-01-25 21:31:13 +01:00
Gouvernathor 687e1f190d doc: typo 2023-01-25 21:09:15 +01:00
Tom Rothamel d0f293d799 Include libhydrogen in renpy.encryption.
This fixes a linking problem with the python 2 renpyweb, and doesn't
hurt anything else.
2023-01-25 11:20:25 -05:00
Tom Rothamel 32ee3ed517 Include libhydrogen in renpy.encryption.
This fixes a linking problem with the python 2 renpyweb, and doesn't
hurt anything else.
2023-01-25 11:03:28 -05:00
Tom Rothamel 84d12e2a93 sync: Add sync system.
This allows the user to upload their game data to a Ren'Py-run
server, and download it onto a new device.
2023-01-25 00:16:32 -05:00
Tom Rothamel e52ba082bb Fix typo in Setup. 2023-01-25 00:14:15 -05:00
Tom Rothamel b3dd01d50a sync: Add libhydrogen and renpy.encryption.
This is a much lighter set of libraries that will allow
authenticated encryption.
2023-01-24 22:44:52 -05:00
altskop 23122310ae Support for new cursor types
Added support for "mousebuttondown" and "button" states for mouse cursors. Additionally, updated the documentation.
2023-01-24 12:42:49 -06:00
Tom Rothamel 74027bef5d doc: Changelog and more.
This is the result of auditing the history to find items that
didn't get changelogged. There are still a number of big items
that need to be added.
2023-01-24 02:11:18 -05:00
Tom Rothamel aa6cedcc87 Adjust how history_current_dialogue works, enable by default.
Having do_done happen before do_display seemed like it could
cause problems, so put the dialogue onto the history_list, pop
it, and put it back on again in do_done.
2023-01-23 23:59:38 -05:00
Tom Rothamel 2a1ecfd497 sync: Save location improvements.
* It's now possible to specify a list of additional save locations
  that files can be saved to.
* A new method that gets a path to a save or persisten file.
2023-01-23 23:28:54 -05:00
Tom Rothamel fc561141d4 Reinitialize save locations. (And clean up log_clock.) 2023-01-23 23:28:54 -05:00
Tom Rothamel e4c7faf8de Merge pull request #4028 from Noriverwater/4018
Allow adding the current dialogue to history screen
2023-01-23 23:28:46 -05:00
Tey c06da680ed Fix scrolling bars appearing when prompt/error message shows up 2023-01-23 18:13:53 +01:00
Tey 70ef636572 Handle cutscene video load error and show message for web 2023-01-23 18:13:21 +01:00
Tey 3029937cf6 Implement video file rendering for web
Video files are rendered by the browser using a HTML video element. The video
output is drawn to a canvas periodically and the canvas content is copied to
a MEMFS file for Renpy to process it. The file format is TGA to reduce the
CPU load as much as possible (HTML canvas only support exporting data as JPG
or PNG natively).
2023-01-23 05:37:18 +01:00
Tey bba9e06d31 Forward video specific call to JS 2023-01-23 05:29:28 +01:00
Tey 417dd54e49 Handle URL scheme for video files on web 2023-01-23 05:27:21 +01:00
Tey 87fd6ea4f3 Use URL scheme for video files on web 2023-01-23 05:24:47 +01:00
Tey 35cdc01c27 Add video files to remote files list to process them differently 2023-01-23 05:23:52 +01:00
Tom Rothamel a4b1172883 Rename to voice_after_game_menu.
Per comment in #4019.
2023-01-20 23:10:13 -05:00
Tom Rothamel 3c8a31cff2 Add the voice after menu preference.
This allows the voice to continue being played after the user
enters the menu.

Fixes #4019.
2023-01-20 22:04:21 -05:00
Tom Rothamel 780fe50050 Include all commits in version calculations. 2023-01-19 22:27:23 -05:00
Tom Rothamel 094bf6edb5 py: Remove a del that didn't do much.
But did cause problems running under Python 2.
2023-01-19 21:20:39 -05:00
Tom Rothamel ae9d6d2ea3 Merge Layer displayable and detached layers (#4239)
This allows one to create layers that are not part of the normal layer stack, but instead are accessed through a Layer displayable.
2023-01-19 01:26:02 -05:00
Gouvernathor 78d423b9e9 typos
yay for reachability analysis
2023-01-18 19:16:18 +01:00
Tom Rothamel 926f9190be Merge pull request #3929 from renpy/lint-reachability-1
Add lint reachability analysis
2023-01-18 02:18:48 -05:00
Tom Rothamel cecc13498a Release the grab when losing focus while changing context.
Fixes #4172
2023-01-17 22:36:42 -05:00
Tom Rothamel 1051e3f2dc Merge pull request #4252 from renpy/fix-4194
Apply transforms to displayables the proper way
2023-01-17 22:05:44 -05:00
Mal Graty b5bb26fa52 layerdisp: First pass at documentation 2023-01-17 23:41:32 +00:00
Mal Graty 58efd993dd layerdisp: Add config.detached_layers 2023-01-17 23:41:23 +00:00
Mal Graty ddff0df466 layerdisp: Call visit_all callback on self first
The Layer displayable has its child injected using visit_all. That makes
the default behaviour of calling the callback on children first
unhelpful, as it descends the tree before the child is replaced. This
change flips that order for the Layer displayable, calling the callback
first on self (allowing the child be updated) before descending into the
new child.
2023-01-17 23:41:23 +00:00
Mal Graty fbbe9b138b layerdisp: Make Layer displayble public 2023-01-17 23:41:23 +00:00
Mal Graty 2ade8e0449 layerdisp: Capture detached layer transitions
Only care about layers being displayed, either directly or via a Layer
displayable.
2023-01-17 23:41:23 +00:00
Mal Graty 929aedd082 layerdisp: Inject layers into displayables
Reuse the tree traversal done to support per_interact to find Layer
displayables in the tree and replace their contents before calling
per_interact as normal.
2023-01-17 23:41:23 +00:00
Mal Graty f06cac8537 layerdisp: New layer displayable
Uses the clipping keyword argument via properties to avoid making it
usable as a positional argument, and to prevent the creation of a new
style. Additionally the AdjustTimes init is skipped as there's no
benefit to initialising either the times or the child before add is
called by interact_core.
2023-01-17 23:41:23 +00:00
Mal Graty 3b08646baa layerdisp: Compute the layers to process just once 2023-01-17 23:41:23 +00:00
Tom Rothamel b3558d0725 Clear the focus when entering a new context.
It will clear anyway, but doing so explicitly like this makes
sure to run all the unfocused handlers before the context is
entered.

Fixes #4255.
2023-01-16 21:55:05 -05:00
Mal Graty 6387e44694 Fix more suspected typos in MoveTranslation 2023-01-16 08:26:12 +01:00
Gouvernathor 498b0966be Fix probable typo in MoveTransition 2023-01-16 08:25:49 +01:00
Tom Rothamel 6fb620c12a Use a different log message for a second video rejection. 2023-01-16 02:14:46 -05:00
Tom Rothamel da7d90ea41 Merge pull request #4145 from GlacierLab/webvideo
web: auto mute video for autoplay
2023-01-16 02:12:36 -05:00
Tom Rothamel 5893414f21 Only notify for a QuickSave that succeeds.
Fixes #4236. Closes #4238.
2023-01-16 02:04:27 -05:00
Tom Rothamel 3e571d04d2 Allow side to expand to fit its child on render.
This deals with the case where the the insets caused by the
side displayable might cause the center displayab;e to grow in
one dimension. (For example, Text that has an inset on the right
may be bigger vertically than if there was no inset.)

When this happens, the space allocated to the center displayable
will be allowed to expand until everything fits.

Fixes #4253.
2023-01-16 01:28:10 -05:00
Tom Rothamel d2c385a713 Merge pull request #4225 from mal/fix-self-voicing-screen
Restore self-voicing notification callback
2023-01-15 22:18:14 -05:00
Tom Rothamel 9a821eca85 Merge pull request #4250 from renpy/doc-variables
Variables documentation
2023-01-15 22:17:52 -05:00
Tom Rothamel 40472632a9 Merge pull request #4229 from renpy/fix-init-doc
Ban object's __init__ docstring from our documentation
2023-01-15 22:17:15 -05:00
Tom Rothamel 89c07909ef Merge pull request #4251 from renpy/doc-translation-id
Remove wrong example and move things around
2023-01-15 22:16:47 -05:00
Tom Rothamel a55ca53310 Merge pull request #3423 from uyjulian/use_rwops
loader: use RWops object from pygame_sdl2
2023-01-15 20:12:48 -05:00
Gouvernathor fb44010b7f Apply transforms to displayables the proper way 2023-01-15 19:31:47 +01:00
Asriel Senna 6ea0a43e47 doc: remove wrong example and move things around 2023-01-15 18:54:53 +01:00
Asriel Senna 5161728f5e doc: clarify arguments taken by callbacks 2023-01-15 18:27:30 +01:00
Asriel Senna e7bb3967f2 doc: various fixes, tweaks and cross-references 2023-01-15 18:26:45 +01:00
Asriel Senna 637af5a21e doc: secure the signature of renpy.display_menu 2023-01-15 18:22:51 +01:00
ねゆんせ 82dd8ffe95 ren_py: Removed extra quotation mark from example (#4247) 2023-01-15 17:19:13 +01:00
Tom Rothamel 9f24f22206 Replace heapq_merge with sort. 2023-01-14 22:15:09 -05:00
Tom Rothamel 5d069f1589 Merge pull request #3961 from Booplicate/include_module
Add `renpy.include_module`
2023-01-14 21:35:43 -05:00
Tom Rothamel 77692f7a7f Merge pull request #4201 from Moshibit/revert-1-Moshibit-patch-1
Update Spanish translation
2023-01-14 21:20:51 -05:00
Tom Rothamel 0bfa9a022b Merge pull request #4246 from altskop/3dstage.rst.layers
[docs] Elaborate on layer specification in camera statement description
2023-01-14 21:20:13 -05:00
altskop f98221a54f Elaborate on layers in camera statement description 2023-01-14 19:14:58 -06:00
Tom Rothamel b830143788 web: Add AVIF and SVG to formats that are thumbnailed. 2023-01-14 12:37:57 -05:00
Tom Rothamel c404490bd2 Merge pull request #4144 from renpy/actions-as-functions
Classify actions as functions
2023-01-14 01:14:42 -05:00
Tom Rothamel 591c440647 Merge pull request #4226 from renpy/doc-mung
Document name-munging more visually and add warning for f-strings incompatibility
2023-01-14 01:14:08 -05:00
Tom Rothamel a95e59bd7c Merge pull request #4227 from renpy/fix-documented-signatures
Document more function signatures as keyword-only.
2023-01-14 01:13:07 -05:00
Tom Rothamel 458bbe3ba4 Merge pull request #4224 from renpy/show-sig
Document some renpy.show arguments as keyword-only.
2023-01-14 01:12:19 -05:00
Tom Rothamel a40856fdad Merge pull request #4217 from renpy/config-examples
Avoid undocumented config variables in examples
2023-01-14 01:11:30 -05:00
Tom Rothamel adfe4fc712 Merge pull request #4231 from renpy/fix-config.help
Fix and document config.help
2023-01-14 01:09:47 -05:00
Tom Rothamel 1ba031b1c5 Merge branch 'master' into fix-config.help 2023-01-14 01:09:40 -05:00
Tom Rothamel 77236946d0 Document how None and Button sensitive/selected interact.
Which is to say, that None means "take the default", like it does
in other places.

Fixed #4235.
2023-01-13 23:48:37 -05:00
Tom Rothamel f49a7d293a Allow an on "show" to end an interaction.
Fixes #4234.
2023-01-13 23:34:27 -05:00
Tom Rothamel 268de01790 Delete steam_appid.txt when the game does not set it.
This prevents steam_appid.txt from activating steam for legacy
games.

Fixes #4244.
2023-01-13 22:40:25 -05:00
Tom Rothamel beeed03b54 web: Hide exec-ed commands from the store. 2023-01-13 22:30:47 -05:00
Tom Rothamel 8784250be9 Automatically oversample SVGs.
SVGs will be automatically rendered at the drawable resolution,
and then oversampled to reduce them to the appropriate virtual
size. The result is something very similar to the way text is
rendered always sharp.

Fixed #1641.
2023-01-13 01:40:49 -05:00
Tom Rothamel 4f972a5c39 Allow SVG images to be loaded at alternate sizes.
And document the requirement for SDL_image 2.6.
2023-01-11 23:45:46 -05:00
Tom Rothamel 561dcdbe74 Diagnose unsupported formats when loading images.
Based on #3906.

Co-Authored-By: Taeyeon Mori <taeyeon@oro.sodimm.me>
2023-01-11 21:48:36 -05:00
Tom Rothamel 8906015895 Reload .avif and .svg files when they change.
Co-Authored-By: Taeyeon Mori <taeyeon@oro.sodimm.me>
2023-01-11 20:18:38 -05:00
Tom Rothamel 5d6d660e0b Update the image extensions list to include avif and svg. 2023-01-11 01:01:38 -05:00
Gouvernathor 758b5e2f38 whitespace 2023-01-10 21:48:25 +01:00
Gouvernathor 198fc93532 doc: minor corrections
3 configs missing a link, one misordered in the general page, and one inexistent used in an example
2023-01-08 17:19:57 +01:00
Gouvernathor f82f7d82d5 docgen: classify Actions and Values by inheritance check 2023-01-08 17:01:14 +01:00
Gouvernathor 0558efe5d9 Merge branch 'master' of https://github.com/renpy/renpy 2023-01-08 05:40:04 +01:00
Gouvernathor 7b1ea17a91 typos and whitespace 2023-01-08 05:39:57 +01:00
Gouvernathor 99514a9341 doc: document config.help's use as Help's default value
Also fixes Help's doc which was inaccurate - config.help_screen is a fallback, not an override.
2023-01-08 03:30:33 +01:00
Gouvernathor 457ba21aba Remove config.help's first "help on config" implementation 2023-01-08 03:27:35 +01:00
Tom Rothamel 570cbb8b5b Error out early when trying to run live2d on the web platform. 2023-01-07 21:05:32 -05:00
Gouvernathor 665e5760d8 docgen: ban object's __init__ docstring
In py3, an object's method inherits the object's method's docstring.
We don't want that one to pass as one written by us and which should be included in our documentation.
2023-01-08 02:33:30 +01:00
Tom Rothamel 1cb7d09b97 Update the copyright to 2023. 2023-01-07 19:21:14 -05:00
Tom Rothamel 8cb0fd0670 py3: Update copyright script to work with Python 3. 2023-01-07 19:20:59 -05:00
Gouvernathor 922798185c fix typos, remove obsolete information 2023-01-07 23:40:20 +01:00
Gouvernathor 2bd84d93b8 doc: use stars and a slash to secure signatures
Also, the `alpha` parameter, which was documented as "ignored", was removed from transition classes' signatures.
2023-01-07 23:38:26 +01:00
Gouvernathor b2ce4fa349 doc: Warn about name-munging and f-strings
until and unless #4084 gets resolved
2023-01-07 23:00:55 +01:00
Mal Graty 978126612f tts: Restore self-voicing notification callback 2023-01-07 10:34:10 +00:00
Tom Rothamel 1e4298ed61 Remover circuitpython from vscode settings. 2023-01-06 22:26:59 -05:00
Tom Rothamel 6b227619e9 pyright: Fix warning. 2023-01-06 22:26:59 -05:00
Gouvernathor 2a6bda3a3d doc: Improve and secure renpy.show's signature 2023-01-06 18:46:31 +01:00
Tom Rothamel 0628b3c1ae Merge pull request #4222 from renpy/py2-test
Use the regular way of testing py's version
2023-01-06 00:05:18 -05:00
Tom Rothamel 801cee5db1 Fix the encoding when loading bmfonts. 2023-01-05 23:34:05 -05:00
Tom Rothamel ca1c0f94f5 Fix a crash caused by Preferences changing without changing its length. 2023-01-05 21:43:35 -05:00
Gouvernathor c356f177d4 Use the regular way of testing py's version 2023-01-06 03:23:56 +01:00
Gouvernathor 0a434367b3 doc: opt to documenting config.gamedir 2023-01-06 02:55:58 +01:00
Tom Rothamel 250bb26b16 Merge pull request #4212 from renpy/wrong-include
Include functions intended to be documented
2023-01-05 20:49:02 -05:00
Tom Rothamel 3a1b3e75d3 Merge pull request #4213 from renpy/config.language
Unmixup config.language and config.default_language
2023-01-05 20:48:42 -05:00
Tom Rothamel 6f6e40e066 Merge pull request #4215 from renpy/config.console
Add a formal doc entry for config.console
2023-01-05 20:48:28 -05:00
Tom Rothamel eb7ca2d684 Merge pull request #4214 from renpy/config.editor
Undocument config.editor and document Shift+E
2023-01-05 20:42:42 -05:00
Tom Rothamel d376f8cc30 Merge pull request #4216 from renpy/config.perspective
Add an entry for config.perspective
2023-01-05 20:39:45 -05:00
Tom Rothamel 9b051a0918 Merge pull request #4218 from renpy/config.pad_bindings
Add a entry for config.pad_bindings
2023-01-05 20:37:45 -05:00
Tom Rothamel fadff3ae4c Merge pull request #4221 from mal/sticky-layers-redux
Sticky layer tweaks
2023-01-05 20:37:19 -05:00
Tom Rothamel 4f6951e911 Merge pull request #4220 from mal/filmstip-gl2
Update anim.Filmstrip to take advantage of gl2
2023-01-05 19:22:25 -05:00
Mal Graty 8cd3d4553d sticky: Document feature 2023-01-05 23:48:39 +00:00
Mal Graty 0d558d2670 sticky: Parity in clean up between hide and clear
This change ensures that tags are only unstuck when being removed from
the layer to which they were stuck. As they could only have been stuck
to a sticky layer in the first place, there is no need to check if the
layer is sticky.
2023-01-05 23:08:48 +00:00
Mal Graty 7350cd81fd anim: Update Filmstrip to take advantage of gl2
This change results in much better prediction of the source image,
considerably speeding up prediction and loading while reducing I/O.
Previously it would attempt to load the source image for each frame.
2023-01-05 10:10:14 +00:00
Gouvernathor c540df7fd1 doc: add a entry for config.pad_bindings 2023-01-05 07:30:03 +01:00
Gouvernathor 7d17c94251 doc: use the better function (given context) 2023-01-05 07:29:08 +01:00
Gouvernathor 2a18f54179 doc: avoid undocumented configs in examples 2023-01-05 07:22:12 +01:00
Gouvernathor 3b910c8227 doc: Add an entry for config.perspective 2023-01-05 07:02:17 +01:00
Gouvernathor 7b2a55e0a4 doc: Add an entry for config.console 2023-01-05 06:53:33 +01:00
Tom Rothamel 51fcf958e8 doc: New preferences. 2023-01-05 00:49:09 -05:00
Gouvernathor 053d0bc158 doc: Undocument config.editor and document Shift+E 2023-01-05 06:39:06 +01:00
Tom Rothamel 73300ccc27 Rename preferences.pwa_preload to .web_cache_preload.
This matches the name used in Preferences, which will make the
documentation easier to write.
2023-01-05 00:24:09 -05:00
Tom Rothamel 37b000f36c Add a preference that controls if the game plays audio when unfocused.
Defaulting to off, because I personally like keeping the game running
when doing something else. (And because this would ruin the usefulness
of music rooms.)

Fixes #3777.
2023-01-05 00:20:03 -05:00
Gouvernathor 93d3163b01 doc: unmixup config.language and config.default_language 2023-01-05 06:11:23 +01:00
Tom Rothamel 260913703b audio: Reference count pause_all. 2023-01-05 00:09:33 -05:00
Gouvernathor 879c32e538 doc: Fix typo preventing functions from being included 2023-01-05 04:42:23 +01:00
Tom Rothamel c4ff37826a Preserve volumes when muted.
Fixes #3975.
2023-01-04 22:39:38 -05:00
Tom Rothamel 3e14e1f25e Merge pull request #3991 from renpy/fix-3966
Remove bogus onlayer parsing on scene statements
2023-01-04 22:10:47 -05:00
Tom Rothamel 68e2cfb420 Explicity document that it is not required to close text tags.
This has been the behavior of Ren'Py, outside of lint, for quite some
time, and the usability improvements likely make up for the chance
that some errors will pass unnoticed.

Fixes #3926.
2023-01-04 00:45:53 -05:00
Tom Rothamel e531f7561a Add config.after_default_callbacks. 2023-01-04 00:04:09 -05:00
Tom Rothamel 96ff02dff8 Allow creator-defined statements to execute at default-statement time.
Fixes #4041.
2023-01-03 23:12:53 -05:00
Gouvernathor aa7a197771 doc: tweaks to last
Move a warning section that seemed out of place
Fix references to functions (the mistake predates my PR)
2023-01-04 03:26:29 +01:00
Gouvernathor c8e22d8c7f Document new clauses for show screen and other statements (#3601)
* doc: typos and references to new clauses

* doc: new parameters to show screen and hide screen

* revert accidental revert

* doc: document new clauses for call screen

and bring nopredict in line with the others

* doc: fix wrong example

Co-authored-by : Booplicate
2023-01-03 20:51:59 -05:00
Tom Rothamel 5de6385165 Merge pull request #3595 from Booplicate/new_screen_clauses
New screen clauses
2023-01-03 20:50:59 -05:00
ねゆんせ 9b6df453bc doc: fixed double h (#4209) 2023-01-03 18:16:27 +01:00
Asriel Senna b23ecf3603 Fix previous, allow all previously unglitched statements 2023-01-03 15:21:40 +01:00
Gouvernathor d7d53a06b9 Fix wrong config variable name (#4205)
doc: fix wrong config variable name
2023-01-02 21:30:58 -05:00
Gouvernathor bae6672f36 Remove remaining gl2 references (#4206)
doc: Remove remaining gl2 references
2023-01-02 21:30:29 -05:00
Mal Graty 0e0e91495f Sticky layer implementation (#4202)
* Group layer definitions in config.py

* sticky: Initial sticky layer implementation

* sticky: Add sticky argument to renpy.add_layer

* sticky: Compat with older versions without sticky

* sticky: Document config.sticky_layers

* sticky: Use list for config var instead of set

Usability trade off at Tom's request.
2023-01-02 21:30:10 -05:00
Tom Rothamel 329e0f49de Consider pauses in text tags when computing auto-forward time.
Fixes #3958.
2023-01-02 21:29:08 -05:00
Gouvernathor 97d1fd059d doc: remove deleted page from the index
following #4170
2023-01-02 18:07:09 +01:00
Gouvernathor 55858f9f6d doc: fix method syntax and linebreaks 2023-01-02 18:06:08 +01:00
Gouvernathor 1b8269d746 doc: protect unsafe character
it was creating a link for some reason
2023-01-02 18:05:37 +01:00
Moshibit f02ca4c042 Revert "Fix typo" 2023-01-02 07:45:34 -06:00
Moshibit f3e19bd772 Merge pull request #1 from Moshibit/Moshibit-patch-1
Fix typo
2023-01-02 07:37:48 -06:00
Moshibit 76be237d8b Fix typo
config.history_list_length does not exist but config.history_length does.
2023-01-02 07:33:23 -06:00
Moshibit 64dd878b6b Merge branch 'renpy:master' into master 2023-01-02 07:24:45 -06:00
Gouvernathor b1b8b03f12 Persistent improvements and fixes (#4197)
* Update persistent.py

Add the __contains__ syntax
Add the _keys method
Include __ keys in _clear's behavior, and use the new _keys method to avoid code duplication

* Document the new behaviors and explain the __ fields

* Add link anchor

* Undo _keys, turn `in` into _hasattr, document this

* better document __-starting fields' limitations

* doc: Move _hasattr and word things better

* typo
2023-01-02 00:02:41 -05:00
Tom Rothamel d5a816c4fe Allow negating attributes in the interactive director.
This makes the interactive director more useful in cases where
layeredimages are involved.

Fixes #2605.

Co-Authored-By: JackkelDragon <37125112+JackkelDragon@users.noreply.github.com>
2023-01-01 13:46:10 -05:00
Moshibit bef4a6f99e Update common.rpy 2023-01-01 09:04:14 -06:00
Moshibit 72f3513022 Update launcher.rpy 2023-01-01 09:01:12 -06:00
Tom Rothamel 47b82bb2d4 Persistent devtoool.
This makes it possible to visualize the persistent data.
2023-01-01 09:56:05 -05:00
Tom Rothamel 362b22bd4d Merge pull request #4192 from renpy/overlay_functions
Undocument config.overlay_functions
2023-01-01 09:36:27 -05:00
Tom Rothamel 6226a8a78b Viewport inertia.
This is based on the implementation in iOS, as described at
https://ariya.io/2011/10/flick-list-with-its-momentum-scrolling-and-deceleration .

When the user releases their finger from the viewport while it's moving,
inertia will keep the viewport scrolling until either the user begins to
scroll again, or it comes to a natural stop.
2023-01-01 02:09:41 -05:00
Mal Graty e3d443acc3 Reduce duplication in new persistent viewer
By having it reuse the existing variable viewer screen with minor
alterations. Also alters an internal name to better reflect its use.
2022-12-31 22:58:10 +00:00
Gouvernathor 034ebf7d54 Comment-out unused lines 2022-12-31 22:57:31 +00:00
Gouvernathor c54034c7e0 Add persistent menu in developer tools 2022-12-31 22:57:31 +00:00
Gouvernathor 09eb77b56e doc: fix typos and add link 2022-12-31 15:17:44 +01:00
Tom Rothamel be5ad751cf launcher: Choose a language by clicking on it.
I had some feedback that clicking and then clicking on the text-button
was confusing, and it confused me late last night - so move to a single
click model.
2022-12-31 09:03:20 -05:00
Tom Rothamel 2b85a7f1eb token: Ecdsa is now a dependency for Ren'Py. 2022-12-31 08:40:15 -05:00
Tom Rothamel 708c7a52a1 Add config.save_token_keys.
This lets a game developer pre-seed the list of verification keys,
and ship 'blessed' save-games or persistent files that the user's
game will load without asking for verification.
2022-12-31 01:08:48 -05:00
Tom Rothamel b42b24be75 token: Make the tokens keys and signatures.
By making the tokens ECDSA keys, it's possible to include a signature
of the log or persistent data in each file. By doing this, it becomes
impossible to simply transfer a token from one save file to another,
allowing it to prove that the data was generated by someone who knew
the public key.
2022-12-30 23:32:43 -05:00
Tom Rothamel 5a124d6d45 token: Be more explicit about why this is important. 2022-12-30 09:35:46 -05:00
Gouvernathor 98328bd6b9 doc: remove config.overlay_functions 2022-12-30 14:38:55 +01:00
Tom Rothamel a494d160c4 Merge pull request #4191 from renpy/update-config
Futureproof list and dict config variables, and better nomenclature for callable configs
2022-12-30 08:32:42 -05:00
Gouvernathor 91e3fc15c7 doc : futureproof list and dict config variables 2022-12-30 12:40:26 +01:00
Tom Rothamel 2b719a5b86 doc: Save token security. 2022-12-30 01:07:18 -05:00
Tom Rothamel 9ce786d578 token: Confirm loading a save with a different token.
And offer to add the token to the player's current
computer.
2022-12-29 23:24:09 -05:00
Tom Rothamel 994f358ca8 token: Include the save token in a save. 2022-12-29 21:42:16 -05:00
Tom Rothamel cfd17c616c token: Include the save token in persistent data, and check it for validity. 2022-12-29 21:23:24 -05:00
Tom Rothamel 4826741846 token: Use path_to_saves to find the token.
And change the order a bit, so the token is available the first
time persistent is loaded.
2022-12-29 20:30:37 -05:00
Tom Rothamel 258beb1b38 savetoken: Generate save tokens and upgrade games to include them.
Save tokens will be used to warn the user if they're loading a
game that wasn't created on the current computer.
2022-12-29 19:38:58 -05:00
Tom Rothamel c0de244fd9 Do not generate relative imports for renpy.common. 2022-12-29 19:38:38 -05:00
Tom Rothamel a39cb7c8f6 Do not delete os from the store.
It was added, deleted, then added again. This fixes a regression
caused by 9366678fef, which removed
the re-import.
2022-12-29 10:39:55 -05:00
Tom Rothamel f1462bd1e1 Update keywords. 2022-12-29 10:14:31 -05:00
Tom Rothamel c7c713c6de Merge pull request #3946 from renpy/xycenter-style
Add the xycenter proxy style property
2022-12-28 18:19:04 -05:00
Tom Rothamel b9d1660377 text: Do not allow invisible hyperlinks to gain focus.
Fixes #3941.
2022-12-28 18:15:32 -05:00
Tom Rothamel 9366678fef afm, self-voicing: Allow self-voicing and afm to be active simultaneously.
The compromise is that when self-voicing is active, afm will only occur
when the dialogue is focused - it will not occur when another button is
focused.
2022-12-28 17:16:48 -05:00
Tom Rothamel c105989111 web: Remove unneeded disclaimer. 2022-12-28 17:16:48 -05:00
Gouvernathor a4d0b79de4 Complete Text docstring 2022-12-28 21:12:09 +01:00
Tom Rothamel 6e910343e1 Merge pull request #4185 from renpy/clarify-speaking_attribute
doc: fix and clarify confix.speaking_attribute
2022-12-28 08:56:48 -05:00
Tom Rothamel d33317fdb8 Allow Text to take a list of tokens instead of a string.
This helps the implementation of custom text tags that would be
implemented as a displayable containing a Text. Fixes #4102.
2022-12-28 02:05:54 -05:00
Tom Rothamel e020f225f8 Fix regression in how Text("") was rendered.
7d31bed4f6 introduced an issue that
changed how the empty string renders. This restores the longstanding
behavior.
2022-12-28 01:32:53 -05:00
Tom Rothamel a727c0edec Limit the maximum size of a console log result by characters.
Fixes #4031.
2022-12-28 01:16:38 -05:00
Tom Rothamel 546b903660 Fix bad keybinding. 2022-12-28 00:51:06 -05:00
Tom Rothamel 39193405ed Do not include node in LineLog.
This should prevent crashes in the case where a LineLog gets
serialized. Fixes #3871.
2022-12-28 00:17:39 -05:00
Tom Rothamel 351c97bf09 Access __main__ as renpy.__main__.
This allows Ren'Py to be imported separately.
2022-12-27 18:53:28 -05:00
Tom Rothamel b903fc7fb1 Update the keymap.
This takes advantage of any, removes unicode keys that duplicate
key-stroke keys, and makes the keypad useful.

Fixed #4030
2022-12-27 00:28:42 -05:00
Tom Rothamel 067a8b4831 Add the any prefix to covere repeat and no-repeat. 2022-12-26 22:13:19 -05:00
Gouvernathor f766375dd6 doc: fix and clarify speaking_attribute 2022-12-26 16:45:31 +01:00
Gouvernathor 4b56f275f4 typo for parser error messages 2022-12-26 12:43:23 +01:00
Tom Rothamel 6067437ea2 Improve numeric keypad keysyms.
Two changes in this one. The first is to add a quartet of new
modifiers (caps/nocaps, num/nonum) to reflect if capslock or
numlock are turned on.

The second is to create a new type of keysym, beggining with KP,
that expands out to the key with our without the numlock modifier.

Starts work on #4030.
2022-12-26 00:03:05 -05:00
Tom Rothamel 6517d35727 Add the top and bottom layers.
Thes are meant for interface and key handlers, respectivelyy, that
should not be affected by transitions.

Fixes #4818.
2022-12-25 14:25:16 -05:00
Tom Rothamel 7a6f0d6082 Merge pull request #4107 from valery-iwanofu/place_method_patch
Update place method of render
2022-12-25 00:21:15 -05:00
Tom Rothamel d38c505ec8 Merge pull request #4170 from MintiClinti/obsolete-docs
removed obsolete documentation
2022-12-25 00:19:07 -05:00
Tom Rothamel b74c14d93a Merge pull request #4141 from renpy/noblock-better-error
Add colon warning in the noblock lexer error
2022-12-24 22:29:41 -05:00
Tom Rothamel 3cb327ff8d Revert part of the last change.
The part that would prevent reporting an overfull vpgrid.
2022-12-24 22:12:07 -05:00
Tom Rothamel a8f4d149da Allow grids to be underfull.
There are some good reasons for allowing undefull grids (like a
gallery with variable number of images), and not a ton of reasons
not to allow these grids. So this changes the default.
2022-12-24 16:23:32 -05:00
Tom Rothamel 3753cfa417 Merge pull request #4154 from mal/refactor-underfull
Optimize allow_underfull for non-developer mode
2022-12-24 15:45:37 -05:00
Tom Rothamel 1b6ef60a37 doc: config.web_input. 2022-12-24 01:22:45 -05:00
Tom Rothamel 58ed0461f9 web input: Filter tags, implement allow, exclude, mask.
This is fairly simple, with the real meat of this renpy/renpy-build@6f1bdd1 .
2022-12-24 01:01:09 -05:00
Tom Rothamel 93ffeb8c32 Remove debugging. 2022-12-23 02:13:38 -05:00
Tom Rothamel 1feed24f14 webinput: Initial implementation.
This uses a browser's input element to handle renpy.input, on
Python 3.
2022-12-23 01:50:06 -05:00
Tom Rothamel 72a2b88af9 Add a displayable that waits for a Javascript value. 2022-12-22 01:45:09 -05:00
Tom Rothamel ed21a6b21c doc: Wrap the sidebar captions.
Fixes #4175.
2022-12-21 00:53:05 -05:00
Clinton Nguyen 27dbdab522 removed obsolete documentation 2022-12-19 23:57:21 -08:00
Tom Rothamel ecd1fc2803 web3: Deal with webgl context loss.
Specifically by not trying to draw when the context is gone, and
then resetting the display when it comes back.
2022-12-20 01:53:17 -05:00
Gouvernathor a59b0442f9 doc: add precision and fix typo 2022-12-20 00:20:20 +01:00
Tom Rothamel 3c2b35576e web: Process the JS command queue regularly.
This moves the JS command queue processing into the 20hz periodic
event handler. Moving it out of the idle frame handing makes sure
that the command queue runs even if the the idle frame code is
being starved by frequent events or animations.

The js command overhead was measured, and seems to be less than
the browser's cock precision.
2022-12-18 18:47:57 -05:00
Tom Rothamel 40f24c0196 web: Add caching to the webservr. 2022-12-18 09:12:50 -05:00
Tom Rothamel 6bd9819f7f web3: Include all files in the preload files list.
This makes updating the preload cache a bit easier.
2022-12-18 02:50:49 -05:00
Tom Rothamel 477ec726b2 pwa preload: Only preload if the preference is set. 2022-12-18 02:17:38 -05:00
Tom Rothamel 5c56d9c374 web3 pwa: Use smooth scaling to generate the PWA icon set. 2022-12-18 02:11:10 -05:00
Tom Rothamel 717fdd96c8 web3 pwa: Preload files into the the web browser cache.
This adds a new preference that controls if the game is loaded into
the browser cache or not, and implements that preference.
2022-12-18 01:47:23 -05:00
Tom Rothamel d004dfe2bf web: Add the ExecJS action.
This is an action that allows Ren'Py to run Javascript. It'll be
used with the PWA Cache preferences, but might as well make it a
public API.
2022-12-18 00:59:10 -05:00
Tom Rothamel 0e4ff5622e web3 pwa: Various improvements.
* Generate pwa_catalog.json in a way that matches how renpy-pre.js
  uses it.
* Directly update manifest.jso, rather than using search and replace
  to do it.
2022-12-18 00:50:19 -05:00
Tom Rothamel 2249c10d37 web3 pwa: Avoid versioning the cache.
Now that the service worker handles refreshing the cache,
we don't need to version it like this.
2022-12-17 23:51:54 -05:00
Tom Rothamel ac08209e36 Merge pull request #4152 from Vadim-Karpenko/master
web: Generate catalog of all media content for caching in PWA
2022-12-17 19:46:38 -05:00
Tom Rothamel c8b4cf9433 py2: Fix encoding issue that kept Ren'Py from running. 2022-12-16 23:21:14 -05:00
Tom Rothamel 3da93f7abd doc: Fix example of accessing mActivity. 2022-12-16 23:21:14 -05:00
Vadim Karpenko 4a8d9b6b54 Merge branch 'master' into master 2022-12-16 14:24:34 +02:00
Vadim Karpenko d0382be839 Generate MD5 hashes for core files 2022-12-16 09:13:08 +02:00
Tom Rothamel e2c1758667 Merge pull request #4160 from renpy/better-4133
Emscripten module availability
2022-12-16 00:47:40 -05:00
Tom Rothamel e2f3a6bb2b ruby: Doc and compat lenticular bracket ruby. 2022-12-16 00:43:15 -05:00
Tom Rothamel 30a3174c88 web3: Restore compatibility with Ren'Py 7 saves. 2022-12-16 00:17:55 -05:00
琴梨梨 43a08784f7 make prompt as fallback 2022-12-16 14:34:42 +10:00
Tom Rothamel 7d31bed4f6 text: Optimize tokenizing text without tags or newlines. 2022-12-15 23:06:14 -05:00
Tom Rothamel e510cb1ccc lenticular ruby: Implement.
This is a feature where one can write 【東京|とうきょう】 and have
it mean the same thing as {rb}東京{/rb}{rt}とうきょう{/rt}.

Per #4146.
2022-12-15 23:00:00 -05:00
Gouvernathor c7503f13ac doc: emscripten module availability 2022-12-16 03:47:16 +01:00
Andy_kl aec68a96a4 Fix emscripten Import and Export saves functionality 2022-12-16 05:25:29 +04:00
Tom Rothamel 53d293fe12 Merge pull request #4157 from mal/web-video-fix
webvideo: Fix small JS issues with sources
2022-12-15 19:45:56 -05:00
Mal Graty e5558f0527 webvideo: Fix small JS issues with sources 2022-12-15 16:34:33 +00:00
Vadim Karpenko 047937a57d Flip key and value for md5 hash 2022-12-15 17:10:18 +02:00
Vadim Karpenko 452e9ead75 Remove types 2022-12-15 17:06:20 +02:00
Gouvernathor ae74819174 Avoid duplicate extension calculations
A possibly safer way would be to use os.path.splitext, but it would only change anything if the file has no extension - the current implementation could yield an incorrect result, and splitext would return an empty string.
2022-12-15 13:59:41 +01:00
Vadim Karpenko cf0d2c28ec Generate MD5 hashes 2022-12-15 13:40:51 +02:00
Tom Rothamel abeebfa81c web3: Limit pwa to Ren'Py 8, rename the pwa icon. 2022-12-14 20:27:25 -05:00
Tom Rothamel 62e9a7c50c webvideo: Include the mime types with the video and alternative.
This helps the browser choose what to play.
2022-12-14 20:24:42 -05:00
Mal Graty a7c029cd1e Optimize allow_underfull for non-developer mode 2022-12-13 23:36:44 +00:00
Tom Rothamel 7d11c06cbe doc: Allow underfull. 2022-12-13 10:38:08 -05:00
Vadim Karpenko 115f249b75 Update docs of the function 2022-12-13 14:18:33 +02:00
Tom Rothamel c40bae3a5e Avoid appending build-in to package paths with built-in modules. 2022-12-13 00:23:56 -05:00
Vadim Karpenko 197af9d3e4 Remove sort keys 2022-12-13 07:20:44 +02:00
Vadim Karpenko 5e758a3b09 web: Generate catalog of all files for PWA caching 2022-12-13 07:18:50 +02:00
Tom Rothamel 1edeae716a doc: Add credit. 2022-12-12 22:10:46 -05:00
Tom Rothamel 461c5e823c Merge pull request #4151 from xareyli/launcher-ukrainian-typo
Update Ukrainian translation
2022-12-12 20:11:27 -05:00
xareyli 79ef560c06 Update Ukrainian translation 2022-12-12 22:43:20 +03:00
Tom Rothamel 2de0ec9bee Add Thai C90 font support to Ren'Py.
This is an encoding used with Thai fonts that contain precomposed
glyphs in the private use area.

Taken from https://gitlab.com/sahabandha/renpy-thai-font-adjuster ,
per #3864.
2022-12-11 23:44:07 -05:00
Tom Rothamel bd5f682196 Merge pull request #4150 from mal/console-dedupe
console: Only save command if not the same as last
2022-12-11 09:42:48 -05:00
Tom Rothamel 8ec6bb15fe pylance: Remove vars() related warnings.
The warnings seem to come from using vars() to mean object.__dict__,
so replace it with the latter.
2022-12-11 01:26:12 -05:00
Tom Rothamel acdd4ff468 Allow mouse keysyms to take modifiers.
Fixes #4122.
2022-12-10 22:01:06 -05:00
Tom Rothamel 305dd3636b launcher: When a launch fails, log it to the console. 2022-12-09 21:39:54 -05:00
Mal Graty fdd46102f4 console: Only save command if not the same as last 2022-12-10 01:46:27 +00:00
NattyanTV 80b0b2a792 Fix japanese translation case (#4148)
`Ren'PY` -> `Ren'Py`
2022-12-09 18:38:01 +01:00
Tom Rothamel 73f824ab1c py2: Remove use of f-string. 2022-12-09 09:21:58 -05:00
Gouvernathor 556e014e3a fix spaces in docstrings 2022-12-09 12:40:07 +01:00
琴梨梨 91e27ff475 web: auto mute video for autoplay 2022-12-09 16:38:51 +10:00
Gouvernathor 7cafef382b Add colon warning in the noblock lexer error 2022-12-09 01:22:02 +01:00
Tom Rothamel 4b16eebe57 Merge pull request #4126 from Vadim-Karpenko/master
web: Generate PWA icons and prepare files
2022-12-08 18:29:11 -05:00
Vadim Karpenko 3158cc8fba Set the preferred orientation from screen size 2022-12-07 19:04:01 +02:00
Vadim Karpenko 39dfe02350 Replace default project names with actual ones 2022-12-07 18:56:37 +02:00
Vadim Karpenko 385060334e Generate maskable icons, change compression 2022-12-07 09:30:03 +02:00
Tom Rothamel 59a4e6cb0b py311: Ensure python_strict exists.
This fixes an error where it's used in lexer.py, but doesn't exist
on Python 3.
2022-12-06 20:57:29 -05:00
Tom Rothamel d3bc7650fe steam: Rate-limit calls to BOverlayNeedsPresent
Fixes #3978, which is likely caused by a bug in this function on the
Steam Deck.
2022-12-05 01:22:00 -05:00
Tom Rothamel 7a7c4ec7e4 Merge pull request #4131 from renpy/duplicate-thumbnail-vars
Avoid re-defining two config variables
2022-12-04 21:59:26 -05:00
Tom Rothamel 9a68ea37f1 Merge pull request #4132 from renpy/autosphinx-knows-methods
Tag the callables properly when generating sphinx from docstrings
2022-12-04 21:59:09 -05:00
Tom Rothamel 58052bdb46 doc: More work on the dark theme. 2022-12-04 21:44:48 -05:00
Gouvernathor f4da18de2d doc-generation: tag the callables properly 2022-12-04 23:40:17 +01:00
Tom Rothamel 89fcde4dc3 doc: Fix color of pre in dark mode. 2022-12-04 17:34:58 -05:00
Gouvernathor f3d43f110c doc: avoid re-defining two config variables 2022-12-04 22:59:32 +01:00
Gouvernathor 8cdf2b45ee fix typo too 2022-12-04 22:43:35 +01:00
Gouvernathor 25ab46acd3 fix typo 2022-12-04 21:31:50 +01:00
Tom Rothamel 53df5499ea Link the various preplashes together. 2022-12-04 15:25:06 -05:00
Tom Rothamel df48f4d525 Merge pull request #4127 from renpy/web-doc
Web and presplash doc tweaks
2022-12-04 15:16:24 -05:00
Tom Rothamel 495d3bd66c Merge pull request #4128 from renpy/renpy.show-examples
Add doc examples for renpy.show
2022-12-04 15:15:17 -05:00
Tom Rothamel 2ce437871a Stop packaging atom and jedit.
Atom is an extension. Jedit is only available if it's already
present on the system.
2022-12-04 00:35:38 -05:00
Tom Rothamel 216ed01bee doc: Dark mode.
For the emo among you.
2022-12-04 00:35:38 -05:00
Gouvernathor 6f12af24d9 doc: Fix markup issue with code block in function's docstring
The block code inside the arg's block was causing an issue in the rendering of the HTML (for some reason).
The `::` was turned into a `.. code-block:: none` because as it's not proper ren'py syntax, it was issuing a warning about it when building - now it knows there's no proper syntax to expect there.
2022-12-04 01:15:46 +01:00
Tom Rothamel bcac0ed1a8 Merge pull request #4129 from renpy/new-doc-index
Upgrade toctrees for the new doc theme
2022-12-03 18:51:46 -05:00
Gouvernathor 9dc576fd30 orphan-out thequestion_nvl 2022-12-04 00:50:33 +01:00
Gouvernathor 0534264d1b orphan-out thequestion 2022-12-04 00:49:59 +01:00
Gouvernathor 9fc04f1fa4 Upgrade toctrees for the new doc theme 2022-12-04 00:31:53 +01:00
Tom Rothamel 41bba0cb14 doc: Remove over-copying from Patreon. 2022-12-03 09:42:08 -05:00
Gouvernathor 3746367531 doc: add examples for renpy.show 2022-12-03 14:58:28 +01:00
Gouvernathor e1a844a8af Update splashscreen_presplash.rst 2022-12-03 14:38:47 +01:00
Gouvernathor adf22f984e doc: Remove thanks and tweak presplash 2022-12-03 13:48:35 +01:00
Vadim Karpenko 0527380c7b web: Generate PWA icons 2022-12-03 13:11:42 +02:00
Tom Rothamel f793cec5d8 doc: Undocument config.gl2.
It's the primary renderer at this point, and games should not
disable it.
2022-12-03 02:36:36 -05:00
Tom Rothamel ab818456b0 Merge pull request #2934 from Gouvernathor/patch-2
[7.5+] Remove obsolete gl2 references
2022-12-03 02:32:46 -05:00
Tom Rothamel ca2e59e0a9 doc: Build with renpy3 from now on. 2022-12-03 02:28:30 -05:00
Tom Rothamel 923ff6442f doc: Fix rendering of variables. 2022-12-03 02:16:01 -05:00
Tom Rothamel 57e3331d81 doc: More work to make the documentation look good with the RTD theme. 2022-12-03 02:07:00 -05:00
Tom Rothamel cc69d17254 doc: Switch to using sphinx_rtd_theme. 2022-12-03 01:15:11 -05:00
Tom Rothamel 7326afc126 web, doc: Actually check in the web docs. 2022-12-02 18:14:09 -05:00
Tom Rothamel a4876166e4 Make DLC translatable. 2022-12-02 18:13:45 -05:00
Tom Rothamel 6df0957a4a Merge pull request #4121 from Neyunse/master
Differentiate DLC from other types of packages (Build)
2022-12-02 18:10:39 -05:00
Tom Rothamel 74da96c073 doc, android: Add a line about the version of android that is supported.
Fixes #4124.
2022-12-01 22:54:08 -05:00
Tom Rothamel b670f13108 web, docs: Merge web documentation.
Thanks to the Patreon sponsors.
2022-12-01 00:40:43 -05:00
Tom Rothamel c1999ebace web: Zip the game up. 2022-12-01 00:40:43 -05:00
Tom Rothamel 061b57c9ce Merge pull request #4123 from Vadim-Karpenko/master
web: fix to_unlink changes size during iteration error
2022-11-30 20:41:04 -05:00
Vadim Karpenko 5dfcada8ac Move current time out of the to_unlink loop
Improve the performance of the loop by avoiding calling for the current time on every step of the iteration. A few milliseconds won't make any difference and could be neglectable.
2022-11-30 16:15:36 +02:00
Vadim Karpenko 64b0b0bb84 Remove redundant accesses to the to_unlink 2022-11-30 16:05:17 +02:00
Vadim Karpenko b5928b26ed fix to_unlink changes size during iteration error 2022-11-30 08:26:24 +02:00
Tom Rothamel 9b1a20e049 web: Actually check in 00webvideo.rpy. 2022-11-29 22:38:16 -05:00
Tom Rothamel 099f0ffa6f web3: Merge webvideo playback in.
From the June 2022 Patreon article. Thanks, sponsors!
2022-11-29 22:05:59 -05:00
ねゆんせ 8b59103258 added: Differentiating DLC from other types of packages 2022-11-29 22:35:18 -03:00
Andy_kl 95f048272f live2d: Update lib install destination.
Fix mac destination. Remove Windows x32.
2022-11-29 18:25:20 +04:00
Tom Rothamel 24ed86da48 web3: Send wasm files with the wasm type.
This allows for a streaming compile and faster start, and also
prevents an error from being reported.
2022-11-28 00:32:19 -05:00
Tom Rothamel fafb45bbce bubble: Remove test code that snuck in. 2022-11-27 14:49:53 -05:00
Tom Rothamel ad90228ce1 web3: Handle the game title and presplash image. 2022-11-27 01:32:39 -05:00
Tom Rothamel f90a9b56cc web3: Unlock web3 in the launcher.
This makes it possible to use the launcher to make a web3 game.
2022-11-27 00:11:47 -05:00
Tom Rothamel a9a6bc8cf4 Merge pull request #4111 from Moshibit/master
Update Spanish translation
2022-11-25 23:08:42 -05:00
Tom Rothamel d87e8a3b9b web3: Select between web2 and web3 on distribute. 2022-11-25 00:20:19 -05:00
Tom Rothamel f1a6fec980 Only incluede bytecode-<ver>.rpyb for the current Python. 2022-11-24 21:34:43 -05:00
Tom Rothamel 2319e889c6 Include bubble.png in the Ren'PY build.
Fixes #4112.
2022-11-24 10:36:58 -05:00
Tom Rothamel 63caa1d436 Merge pull request #4101 from renpy/lint-blurb
Add a lint blurb to the launcher's splash
2022-11-24 09:39:35 -05:00
Gouvernathor 09b562836a Update blurb 2022-11-24 13:45:54 +01:00
Moshibit 1979fd0b61 Update options.rpy 2022-11-24 06:42:06 -06:00
valery-iwanofu 4b1e1fba88 Update cdd.rst
Added doc for Displayable.place() and updated doc for Render.place()
2022-11-24 13:16:31 +07:00
Tom Rothamel bf125a8795 Merge pull request #4090 from renpy/fix-4077
Fix star-import of substores
2022-11-23 22:33:23 -05:00
Tom Rothamel 444c885785 Merge pull request #4104 from Ayowel/fix/extension_sys_path
Add path cleanup when reloading extensions and extension __file__ context
2022-11-23 22:31:00 -05:00
Tom Rothamel 8af6ec55f1 Merge pull request #4110 from renpy/exports-questions
Fix some mistakes in exports.py
2022-11-23 22:28:56 -05:00
Gouvernathor 9f5df79973 Fix :other: 2022-11-24 00:09:32 +01:00
Gouvernathor b870c5b0dd Update exports.py 2022-11-23 21:33:58 +01:00
Tom Rothamel 21b507dc71 web3: Report progress loading the game script. 2022-11-22 23:22:42 -05:00
valery-iwanofu 4afce1d144 Update place method of render
Method Render.place() now returns d.place() result
2022-11-22 23:26:32 +07:00
Ayowel 185171c5f5 Add path cleanup when reloading extensions and extension __file__ context 2022-11-22 12:37:09 +01:00
Tom Rothamel 94218416d2 Include the python version in the bytecode cache.
This is mostly to support the web version, but it also means
that there won't be fights when Ren'Py 7 and Ren'Py 8 run the
same game.
2022-11-21 23:24:29 -05:00
Tom Rothamel 5ab5ae6e68 web3: Add functions that can be called to zip and unzip savefiles. 2022-11-21 01:23:34 -05:00
Gouvernathor ac663e2f1c Add a lint blurb 2022-11-18 22:27:02 +01:00
Gouvernathor f7ee13724e Use round to have accurate integral offset 2022-11-17 04:25:45 +01:00
Tom Rothamel d7e6438f8f Merge pull request #4081 from renpy/fix-4080
Fix #4080
2022-11-16 20:21:38 -05:00
Tom Rothamel 0a6e9fb1f0 Merge pull request #4097 from renpy/translate-voice-doc
Add examples of multi-language voicing
2022-11-16 20:21:15 -05:00
Tom Rothamel bb53cdb68a Merge pull request #4093 from Ayowel/fix/extension-load-order
Make extension load order reliable
2022-11-16 20:20:47 -05:00
Gouvernathor 8fc417b5e9 doc: clarify that break and continue don't exist in SLFor 2022-11-16 22:19:47 +01:00
Gouvernathor 679184ce79 Update voice.rst 2022-11-14 22:26:45 +01:00
Gouvernathor 4403a0c63c Add ref anchor 2022-11-14 22:22:48 +01:00
Gouvernathor e902707960 Update voice.rst 2022-11-14 22:21:52 +01:00
Ayowel 681cad1a44 Make extension load order reliable 2022-11-12 15:55:06 +01:00
Gouvernathor cf6d2559ec fix translation 2022-11-11 22:24:35 +01:00
Gouvernathor d0067052a8 Fix wrong encoding leading to star-import malfunctions 2022-11-11 14:59:55 +01:00
Tom Rothamel c7ce911edc Merge pull request #4087 from llyama/queue-sound-fadein
Queue sound can now use fadein
2022-11-10 18:19:09 -05:00
llyama ef7c7f1b35 Fixed missing quotes 2022-11-10 17:56:16 +00:00
llyama b839a1e080 Queue sound can now use fadein
Fixes renpy/renpy#4086
2022-11-10 17:26:25 +00:00
Moshibit 3280d36230 Spanish translation update (#4085)
* Update common.rpy

* Update developer.rpy

* Update screens.rpy
2022-11-09 21:12:21 +01:00
Gouvernathor 68a36dae39 Add french translations 2022-11-08 18:57:22 +01:00
Gouvernathor bbb6587495 fix typos in the standard screens.rpy 2022-11-08 18:56:28 +01:00
Gouvernathor 511288f86d Fix typo 2022-11-08 18:44:09 +01:00
Gouvernathor 89342fc956 Fix subsurface offset when oversampling 2022-11-08 16:17:22 +01:00
Gouvernathor f98476e8cf Fix quoting and update sentence translation 2022-11-08 11:46:18 +01:00
Gouvernathor b0cee97f26 Remove the "expansion files" reference 2022-11-08 11:44:05 +01:00
Tom Rothamel 78d839b94a Merge pull request #4075 from renpy/regchandoc
Reserve spaces in register_channel's names
2022-11-08 00:25:21 -05:00
Gouvernathor 75aea66d16 Translate the changed string
Translation source is here https://support.google.com/googleplay/android-developer/answer/186113?hl=fr
2022-11-08 02:16:46 +01:00
Gouvernathor fa63ace6a7 Change the location of the android license key in the Play console 2022-11-08 02:13:18 +01:00
Tom Rothamel 5520142001 web3: Fix webaudio to run under Python 3. 2022-11-07 01:07:41 -05:00
Tom Rothamel ccb075ea53 py311: Fix end_lineno and end_col_offset locations.
These were being set, but being set incorrectly, which violates
the invariant (enforced by Python 3.11) that the end location
must be after the starting location.

This enforces that the end of each node is after it's start,
and after the end of each of the node's children.
2022-11-07 00:18:59 -05:00
Tom Rothamel 6a2d2632ce web3: Do not create threads on renpy.emscripten.
Unlike web2, where we stubbed out the threading module that wasn't
being compiled, on web3 we use the Python threading module and simply
don't create threads. This is because the locking exists, and so
doesn't need to be stubbed - just the thread starts.
2022-11-06 11:47:00 -05:00
Gouvernathor 57d67b78c8 doc: advise the use of valid identifiers
uses a link to the official python doc
2022-11-05 23:29:28 +01:00
Gouvernathor 2aa3e9b6e1 doc: reserve spaces in register_channel 2022-11-05 23:18:37 +01:00
Gouvernathor ce206baa88 doc: fix nested markup
You can't have a ref/link within bold or italics, aka nested markups, see 55b00d4 and https://stackoverflow.com/questions/72773716/
2022-11-05 22:34:18 +01:00
Tom Rothamel fb63d447f0 Add a link from the changelog to the incompatible changes page. 2022-11-05 00:09:54 -04:00
Tom Rothamel 19d4a18315 Merge pull request #4061 from renpy/3994-format-typo
Pylint - Fix wrong formatting in exception raising
2022-11-04 23:58:28 -04:00
Tom Rothamel 31ab083352 Merge pull request #4072 from Elckarow/patch-2
use `zorder 0` for the gl test
2022-11-04 23:58:14 -04:00
Elckarow 8bee5d2a77 use zorder 0 2022-11-04 21:41:50 +01:00
Tom Rothamel 4385af9f75 Merge pull request #4063 from DinakiS/translate_fix
Fix: alternate translation
2022-11-02 23:02:48 -04:00
Tom Rothamel c01dfa32c3 doc: Make it clear that dynamic and context_dynamic take variables. 2022-11-01 21:13:41 -04:00
Tom Rothamel cf7df895a1 Move to notarytool to sign on mac. 2022-11-01 20:02:53 -04:00
Tom Rothamel fb00ffadc4 Merge pull request #4066 from renpy/new-sphinx
Various issues in the doc
2022-11-01 20:01:16 -04:00
Gouvernathor a61f28b0de doc: yet another forgotten label (for the lifecycle page) 2022-11-01 18:53:10 +01:00
Gouvernathor f5ae0db8bd doc: add other missing internal label targets 2022-11-01 18:41:31 +01:00
Gouvernathor 12ba529632 doc: fix dubious internal reference 2022-11-01 18:40:58 +01:00
Gouvernathor bcee7753e6 doc: do not declare the same variable twice
The other is in store_variables.rst .
2022-11-01 18:32:05 +01:00
Gouvernathor 2b913ae540 doc: typos 2022-11-01 18:31:17 +01:00
Gouvernathor a1e4a44069 doc: add missing internal label target 2022-11-01 18:31:08 +01:00
Gouvernathor b36a574f3c doc: use the anonymous inline syntax for hyperlinks 2022-11-01 18:30:49 +01:00
Gouvernathor 15910d0954 Merge remote-tracking branch 'origin/maint-8.0' into new-sphinx 2022-11-01 18:24:26 +01:00
Gouvernathor 5894a59d5c doc: typo 2022-11-01 16:46:21 +01:00
Tom Rothamel 1d9b6414aa bubble: Allow the speech bubble editor to persist through rollback.
Previously, rollbacks (like ones caused by the SBE) would hide the
screen.
2022-10-31 21:02:59 -04:00
Tom Rothamel f476b87a5d mac: Set CFBundleIdentifier when distributing Ren'Py. 2022-10-31 20:14:12 -04:00
Tom Rothamel 8f18cde853 py2: Fix more issues generating json files. 2022-10-31 03:21:17 -04:00
Tom Rothamel 6cf589429d Remove the (long empty) autobuild script. 2022-10-31 02:28:21 -04:00
Tom Rothamel 743bae43c3 py2: Fix creating the rapt/renios hash files. 2022-10-31 02:27:41 -04:00
Tom Rothamel 509f16865a Fix copilot-injected error.
An incorrect import was added.
2022-10-31 02:01:41 -04:00
Tom Rothamel 72815a4915 py3: Avoid compiling renpy.compat.dictviews.
This module won't work on 3.11, but won't be imported there
anyway, so there is no reason to import it.
2022-10-30 20:40:40 -04:00
Tom Rothamel b4a76f1e61 bubble: Check in the default bubble image. 2022-10-30 01:39:22 -04:00
Tom Rothamel d02b5c5fdb Allow the console's help command to be called during doc generation. 2022-10-30 01:34:14 -04:00
DinakiS 9bffa67c7f Fix: alternate translation 2022-10-29 17:24:53 +03:00
Tom Rothamel ec8093f8dc pyright: Fix all current issues. 2022-10-28 18:25:04 -04:00
Gouvernathor a71df01691 Fix wrong formatting in exception raising (7edb69b) 2022-10-28 13:43:48 +02:00
Tom Rothamel 77460ec62f Fix or removed unused variables.
Fixes #4044.
2022-10-27 22:49:54 -04:00
Gouvernathor 7467eb8934 Repeal part of #4050 (hotfix)
The function is actually called inside renpy.compat, so importing sys after importing renpy.compat is already too late.
It could be considered to use `global sys;import sys` in the function, or to import sys just before or after defining the function, but I'd rather keep things the way they were.
2022-10-27 15:22:57 +02:00
Tom Rothamel e5cb5868a7 Merge pull request #4047 from renpy/3994-slots
Pylint - Remove overriden slot name
2022-10-26 21:35:33 -04:00
Tom Rothamel e908bed1e2 Merge pull request #4052 from renpy/3994-bare-except
Fix bare except statements
2022-10-26 21:03:51 -04:00
Tom Rothamel 8da53babbf Merge pull request #4045 from renpy/3994-listcomp
Pylint - Remove useless list comprehensions
2022-10-26 21:03:17 -04:00
Tom Rothamel a0208228bd Merge pull request #4046 from renpy/3994-builtin-literals
Pylint - Use literals instead of builtin types constructors
2022-10-26 21:02:55 -04:00
Tom Rothamel 9516d35b0c Merge pull request #4048 from renpy/3994-with
Pylint - Use the with statements
2022-10-26 21:02:09 -04:00
Tom Rothamel e06925e208 Merge pull request #4049 from renpy/3994-shadow
Pylint - Avoid shadowing the function parameter
2022-10-26 21:01:41 -04:00
Tom Rothamel 0e2dce0976 Merge pull request #4050 from renpy/3994-reimports
Pylint - Avoid unnecessary reimports
2022-10-26 21:01:20 -04:00
Tom Rothamel 2729df6eca Merge pull request #4051 from renpy/3994-unused
Pylint - Flag or remove unused variables
2022-10-26 21:01:01 -04:00
Tom Rothamel 630f673d28 Merge pull request #4053 from renpy/3994-global
Pylint - Remove useless global statements
2022-10-26 21:00:34 -04:00
Tom Rothamel 03bf21141d Merge pull request #4054 from renpy/3994-dict-iter
Pylint - Optimize dict iteration
2022-10-26 20:59:50 -04:00
Tom Rothamel 59898271d0 Merge pull request #4055 from renpy/3944-useless-statements
Pylint - Remove useless statements
2022-10-26 20:59:23 -04:00
Gouvernathor 788ebab40c Fix some french translations 2022-10-26 23:30:12 +02:00
Asriel Senna 5dbc2c1da3 Remove useless statements (8e188cc) 2022-10-26 19:44:36 +02:00
Asriel Senna 257c95e2b2 Optimize dict iteration (9b884d3) 2022-10-26 19:41:20 +02:00
Gouvernathor 402d04d054 Remove useless global statements 2022-10-26 19:38:17 +02:00
Gouvernathor ab6023371c fix bare except statements 2022-10-26 19:33:21 +02:00
Asriel Senna e64242c9a2 Remove unused as e clauses from raise statements 2022-10-26 16:52:48 +02:00
Asriel Senna a8bf2e0246 Mark unused variables from tuple unpackings 2022-10-26 16:52:12 +02:00
Asriel Senna 82fb38560e Avoid unnecessary reimports (2904149) 2022-10-26 16:40:51 +02:00
Asriel Senna 25edfa0542 Avoid shadowing the function parameter (73c8575)
`layer` is passed as parameter, and this loop generates a `layer` 
variable
2022-10-26 16:36:58 +02:00
Asriel Senna f8864d8b90 Use the with statements (58a2950) 2022-10-26 16:31:56 +02:00
Asriel Senna 001ce8acd0 Remove overriden slot name
wastes memory and may break in a future version of python, see point 6 
of this : 
https://docs.python.org/3/reference/datamodel.html#notes-on-using-slots
2022-10-26 16:27:09 +02:00
Asriel Senna 13cf71b2ea Use literals instead of builtin types constructors 2022-10-26 16:23:04 +02:00
Asriel Senna ea95338e69 Remove useless list comprehensions (1d08817) 2022-10-26 16:15:24 +02:00
Tom Rothamel 57721bacb2 Merge pull request #4039 from pazkero/patch-1
Fix bugs on steam.get_session_ticket
2022-10-24 17:17:20 -04:00
Jesusaves 4269d45411 Fix bugs on steam.get_session_ticket
Without these changes imposed by Python3.9, calling get_session_ticket() raises two exceptions.
2022-10-24 14:51:19 -03:00
Tom Rothamel 65e03993dc Only set compresslevel on Python 2. 2022-10-21 21:25:42 -04:00
Noriverwater cb35c75d9c Merge branch 'master' into 4018 2022-10-21 19:20:14 +08:00
Tom Rothamel 01cef5d7df cds: Document that init and execute_init don't play well together.
Fixes #4032.
2022-10-20 23:36:33 -04:00
Tom Rothamel 0f8576f18b Custom statement execute_init now respect init priority.
When looking into #4032, I noticed it didn't.
2022-10-20 23:22:23 -04:00
Noriverwater fbb80afbeb Merge branch 'master' into 4018 2022-10-20 19:31:16 +08:00
Tom Rothamel 92c7691789 Add config.physical_width and config.physical_height.
These are variables that let the creator set the default size
of the game window separately from config.screen_width and
config.screen_height.
2022-10-19 01:50:58 -04:00
Noriverwater 6116646094 Doc:config.history_current_dialogue 2022-10-18 21:50:28 +08:00
Noriverwater 8edaa7cf50 Add config.history_current_dialogue 2022-10-18 21:47:08 +08:00
Noriverwater eccf8a560d Add configuration variables to implement it 2022-10-18 21:42:31 +08:00
Tom Rothamel 8157c5d8c5 Standardize variable naming. 2022-10-18 01:34:44 -04:00
Tom Rothamel 7675251049 Merge pull request #4027 from qTich/fix/persistent-MP
fix & changes: bypassing exception on `MP.save`, some functions, docs for `MP`
2022-10-18 01:33:02 -04:00
Tichq 7a3322740d changes for _MultiPersistent
-- review for naming of variables;
-- add field for `MP`: `_name`, `_save_on_quit`;
-- functions:
-- -- `save_MP` as `save_on_quit_MP` with check on  `_save_on_quit`
-- -- `save_MP` called for every `MP` instances;
-- -- `get_MP` returns `MP` instance` if has already been created before;
-- add some docs.
2022-10-17 22:29:47 +03:00
Tichq 61393dbb0e fix: bypassing exception on try save MP 2022-10-17 22:27:55 +03:00
Tom Rothamel a8896e3d1b oversample: Doc. 2022-10-17 01:06:44 -04:00
Tom Rothamel 7ae59e8ad2 oversample: Make image auto-defining aware of @oversample. 2022-10-16 22:43:20 -04:00
Tom Rothamel 7d20837ee6 oversample: Automatically oversample based on the image filename. 2022-10-16 22:12:10 -04:00
Tom Rothamel d4326ee4a7 Add image oversampling.
This allows an image to be interpreted as a smaller image for the
purpose of layout. For example, a 2048x2048 image with 2x oversampling
will be considered as a 1024x1024 image for layout purposes.

But if the window is scaled up, then the additional detail will be
there.
2022-10-16 00:43:55 -04:00
Tom Rothamel 4e69fcb3ec Merge pull request #3983 from methanoliver/master
Documenting the pitfall of animated shaders.
2022-10-15 10:06:18 -04:00
Tom Rothamel 10b057285c Merge pull request #4022 from qTich/fix/shutil-copyfile
fix: bypassing an exception when trying to copy a save file.
2022-10-14 23:42:15 -04:00
Tom Rothamel b7c2f240a1 bubble: Add the speech bubble editor to the developer menu. 2022-10-14 21:54:50 -04:00
Tichq 0832600b45 fix: bypassing an exception when trying to copy a save file. 2022-10-14 14:25:44 +03:00
Tom Rothamel 2ed24851ad Merge pull request #4017 from renpy/platform-presplash
Document platform-specific presplash images
2022-10-14 00:03:32 -04:00
Tom Rothamel 48a54c7c2a bubble: Copy the bubble image over as part of game generation. 2022-10-13 01:04:32 -04:00
Tom Rothamel 21072e5722 bubble: Add bubble styles and screens to the default project. 2022-10-13 00:23:51 -04:00
Tom Rothamel dfeb401352 bubble: Substantial rewrite.
Previously, properties were configured one at a time. This didn't
allow realistic customizations, which often require groups of properties
to be customized together, so bubble has been rewritten to allow this.
2022-10-12 01:49:27 -04:00
Gouvernathor c4626cbde6 Add android-presplash anchor 2022-10-11 11:03:49 +02:00
Gouvernathor e53f40ab07 Add the web presplash and a ref to the android presplash 2022-10-11 11:02:49 +02:00
Tom Rothamel bfc28665c1 rapt: Include the native symbols in the build directory.
Fixes #3806.
2022-10-11 00:54:44 -04:00
Tom Rothamel 2a8a9fc3a2 Merge pull request #4013 from JeremyRand/gcc
Fix RENPY_DEPS_INSTALL docs for armhf, ppc64, and ppc64le
2022-10-10 19:31:18 -04:00
Tom Rothamel ee18060e25 Add the show_cancels_hide transform property.
This controls if showing a displayable or screen with the same
tag or name cancels a hide transition.
2022-10-09 23:39:29 -04:00
Tom Rothamel 11e72ba9f4 bubble: Avoid showing the narrator window when a bubble is up.
When window auto is true, this will hide the narrator window when
bubbles appear.

This also changes the priority of say-condition-false and say-centered
so the former takes priority, which is more likely correct.
2022-10-08 23:22:40 -04:00
Jeremy Rand 5c3f39b1ff Fix RENPY_DEPS_INSTALL docs for armhf, ppc64, and ppc64le
The correct triplets for various arches are:

x86_64-linux-gnu
arm-linux-gnueabihf
powerpc64-linux-gnu
powerpc64le-linux-gnu

The uname-based instructions produced the following:

x86_64-linux-gnu (correct)
armv7l-linux-gnu (wrong)
ppc64-linux-gnu (wrong)
ppc64le-linux-gnu (wrong)

gcc produces the correct results for all four.  I suspect this will also
fix non-GNU triplets such as musl, but didn't test those.
2022-10-08 14:06:37 +00:00
Tom Rothamel 778ae30bcd bubble: Allow any property to be given an area.
This might make things more flexible, as the area can be supplied to
the screen through a show_ property instead of window_area, if
the creator wants.
2022-10-08 01:06:11 -04:00
Tom Rothamel 7cc7de4199 bubble: More implementation.
* Cycling through the non-area properties.
* Right-click to remove a property.
* Check that ptoperty contents can be saved.
2022-10-08 00:31:23 -04:00
Tom Rothamel 99ea82e20c bubble: Implement window area editing. 2022-10-07 22:55:23 -04:00
Tom Rothamel 1f7c5184af bubble: WIP
* Use the on_show method to set character properties for a speech
  bubble.
* Work on the _bubble_editor screen, which allows a property to be
  selected for editing.
2022-10-07 22:16:17 -04:00
Tom Rothamel 784d978a0d doc: Document that Ren'Py might use all_character_callbacks. 2022-10-07 00:15:21 -04:00
Tom Rothamel 174f784c28 bubble: Allow Character.on_show and Character.on_predict to take extra properties.
These add to the properties that would normally be
suppled by the Character itself, allowing BubbleCharacter
to customize how the screen is displayed.
2022-10-06 23:24:30 -04:00
Tom Rothamel 2df014314a Add RENPY_MAX_TEXTURE_SIZE environment variable.
To make it easier to test issues that only manifest with particular
texture sizes.
2022-10-05 23:48:34 -04:00
Tom Rothamel 4e5739abe1 Merge pull request #4011 from Elckarow/patch-1
fix drag drop screen example
2022-10-05 22:50:37 -04:00
Elckarow 59c2e84aac fix example 2022-10-05 14:10:05 +02:00
Tom Rothamel cb2d32ec4e bubble: Check in WIP speech bubble project.
This currently can generate default values, and propagate them
all the way to dialogue.
2022-10-05 00:30:15 -04:00
Tom Rothamel c73bbff581 Merge pull request #4003 from Andykl/modules-in-tl
Fix wrong .rpymc loading.
2022-10-04 21:08:15 -04:00
Tom Rothamel 3a764acea5 Merge pull request #4008 from Andykl/fix-4007
Fix change_language during menu-with-say.
2022-10-04 00:02:48 -04:00
Andy_kl d2fbf45f71 Fix change_language during menu-with-say. 2022-10-04 05:50:30 +04:00
Tom Rothamel 02531cb4da Merge pull request #4006 from Chrisclone/master
Added help <expr> for existing commands
2022-10-03 19:44:07 -04:00
Chrisclone 0d403f6f9a Added help <expr> for existing commands 2022-10-02 21:01:57 -04:00
Tom Rothamel 791cfdcd5f Remove code left in by mistake. 2022-10-02 16:14:24 -04:00
Tom Rothamel 6ef863793e Rename config.label_callback to config.label_callbacks. 2022-10-01 16:32:47 -04:00
Tom Rothamel 7f9ac2494e Make config.label_callback a list. 2022-10-01 16:27:05 -04:00
Tom Rothamel 8f241763c1 Fix text of syntax errors in a python block.
By offsetting the line number, and retreiving the text from the source.
2022-10-01 15:45:50 -04:00
Tom Rothamel d1aef49c5d Remove obsolete portions of developer.rpym. 2022-10-01 02:00:15 -04:00
Tom Rothamel ac9821b439 Use a single list of image extensions.
For the images directory and the image location picker.
2022-10-01 01:55:31 -04:00
Tom Rothamel d6c7f73dba Rewrite the image location picker in terms of areapicker.
Areapicker is very similar to the custom ilp displayable, so it
makes sense to focus on areapicker and remove the old displayable.
2022-10-01 01:52:45 -04:00
Tom Rothamel f3bfc91311 doc: Update the list of extensions that are automatically defined in the images direcotry.
The .jxl extension is here so I won't forget to change this again
when JXL support lands.

Fixes #4004.
2022-10-01 01:52:45 -04:00
Mal Graty 097da86793 Restore missing at_list assignment
It went walkabout in 6338a144f7.
2022-09-30 21:37:23 +01:00
Tom Rothamel ce8f33d671 areapicker: Include the position callback.
This will allow the image location picker to be rewritten in
terms of areapicker.
2022-09-29 23:06:48 -04:00
Andy_kl d38bc47030 Fix wrong .rpymc loading.
This fixes behavior of renpy.load_module if it exists both
in game and tl directory.
2022-09-30 02:44:20 +04:00
Tom Rothamel 0d876b0367 Add the AreaPicker displayable.
This is a displayable that allows the user (generally the creator)
to pick a rectangular area on the screen. The intended use of this
is to support placing balloon dialogue onto the screen, though
other uses might be possible.
2022-09-28 21:04:29 -04:00
Tom Rothamel 1883815cc5 Various edits to the lifecycle documentation. 2022-09-27 21:55:14 -04:00
Tom Rothamel 2518998099 Document and add a warning to the new console help function. 2022-09-27 21:30:14 -04:00
Tom Rothamel ebe79d1c92 Merge pull request #3995 from renpy/lifecycle
Lifecycle doc page
2022-09-27 21:29:03 -04:00
Tom Rothamel 78a122a24b Merge pull request #3996 from renpy/substore-doc
More documentation for named stores
2022-09-27 21:23:39 -04:00
Gouvernathor ec6f83731e Add renpy.clear_attributes (#3938) 2022-09-27 21:22:36 -04:00
Gouvernathor 6338a144f7 Use easy.to_list and easy.to_tuple (#3948)
This adds two new functions, renpy.easy.to_list and renpy.easy.to_tuple, that convert objects to lists or tuples as required.

Co-authored-by: Mal Graty <mal.graty@googlemail.com>
2022-09-27 21:18:46 -04:00
Tom Rothamel 0b056f1615 Merge pull request #3890 from Andykl/console-help
Add help <expr> into console commands.
2022-09-26 22:13:15 -04:00
Tom Rothamel 1e908ee265 Merge pull request #3998 from renpy/revertable-random-rv
Make random choices and sample methods return revertable lists instead of _list
2022-09-26 22:11:51 -04:00
Gouvernathor e78f5655ef Account for py2 2022-09-26 23:00:53 +02:00
Gouvernathor aa6c2acdff Make random methods return revertable lists instead of _list
works better with the wrapper included
2022-09-26 19:40:18 +02:00
Gouvernathor 4750d5cb15 typo 2022-09-26 14:09:56 +02:00
Tom Rothamel f1fa93e068 jsondb: Prevent JSONDBs from participating in rollback. 2022-09-25 20:52:07 -04:00
Gouvernathor ea474c9705 Add python early and more example 2022-09-25 19:15:12 +02:00
Gouvernathor 021fd6ca32 Add more documentation for named stores 2022-09-25 18:44:50 +02:00
Tom Rothamel 131491e8ac jsondb: Rewrite to have the API reflect the two-level structure.
There are use cases (like multiple dialogue) where it makes sense
to have two levels of information in play.
2022-09-25 01:23:08 -04:00
Tom Rothamel 91ecbb8719 pyright: Triage and fix or ignore type issues in new vscode. 2022-09-24 00:03:35 -04:00
Asriel Senna 1dd0af0aca Tweak explanations 2022-09-24 04:46:06 +02:00
Tom Rothamel c72865e791 Fix type issue using matrixtransform
Fixes #3980 by converting callable TransformMatrix objects into
real Matrix objects.
2022-09-23 22:25:08 -04:00
Asriel Senna 4570ab6023 Add a lifecycle doc page 2022-09-24 04:03:35 +02:00
Tom Rothamel 31e2d8b49b Merge pull request #3984 from renpy/drain-other
Move some functions from the "Others" page to more specific places in the doc
2022-09-23 20:19:33 -04:00
Gouvernathor fccda46404 Remove bogus onlayer parsing on scene statements
The layer variable was never used, c77a11382d contained that mistake all along
2022-09-23 22:53:10 +02:00
Gouvernathor 677d3493d4 typos 2022-09-23 10:45:00 +02:00
Tom Rothamel 9572d20bcb JSONDB improvements.
* Document.
* Allow `key` to be "dialogue"
* Add the `default` argument.
* Run at low init level.
2022-09-22 23:07:39 -04:00
Tom Rothamel 53a28e0cba Add the renpy.get_translation_identifier function.
Which does what it says on the tin.
2022-09-22 23:07:39 -04:00
Gouvernathor 5400aa5db3 doc: remove obsolete reference to jEdit 2022-09-22 00:44:10 +02:00
Adam Trzypolski f55c9f792d Correct syntax. 2022-09-22 01:12:46 +03:00
Tom Rothamel 24dadde724 Add the JSONDB.
This is the intial creation of a new construct for in-game, non-script
programming. For example, a system for displaying dialogue in popup
bubbles could use a JSONDB with the correct key to choose popup
bubble location.
2022-09-21 13:15:55 -04:00
Tom Rothamel 9ee5d24d4b Merge pull request #3985 from renpy/layers-doc
Advise renpy.add_layer instead of config.layers
2022-09-20 21:41:28 -04:00
Gouvernathor d8a56af3da doc: fix CDS example
The error message needs to be reported as an error, otherwise it's pointless.
2022-09-21 02:43:54 +02:00
Gouvernathor f5c7f79db7 doc: remove reference to obsolete framework
per #3987
until/unless the framework is upgraded to more recent standards of renpy code
2022-09-20 12:26:21 +02:00
Tom Rothamel ed831f5e6c Add config.scene_callbacks.
This is a list of functions that are called when the scene statement is
run or renpy.scene is called.
2022-09-19 09:16:08 -04:00
Gouvernathor b7d2220198 doc: tweak layers documentation 2022-09-19 13:06:11 +02:00
Gouvernathor 3b1a612502 Move add_layer from other to displaying_images 2022-09-19 12:56:12 +02:00
Gouvernathor 1c2865b1f5 Move call/invoke_in_new_context in the Contexts group 2022-09-19 12:44:21 +02:00
Gouvernathor da1d3c47b6 Move jump_in_new_context to the Contexts group 2022-09-19 12:41:53 +02:00
Adam Trzypolski c1b6d2de4d Incorporate suggestions. 2022-09-19 13:39:55 +03:00
Gouvernathor b9b34c9bae Move the Contexts group to label
More explanation about what a context is could be a good addition to this part.
2022-09-19 12:30:52 +02:00
Gouvernathor 5bd61be8a6 Move the Contexts group to label (1/2) 2022-09-19 12:30:50 +02:00
Gouvernathor e24ac8c25f Move context_dynamix to the context group 2022-09-19 12:18:34 +02:00
Gouvernathor cbb204cf37 Move substitute from other to text 2022-09-19 12:10:25 +02:00
Gouvernathor 5c3998f7ac Move flush_cache_file from other to displaying_images 2022-09-19 12:00:16 +02:00
Gouvernathor e8e20936e0 Move dynamic from other to label, clarify it, and avoid shadowing 2022-09-19 11:55:32 +02:00
Gouvernathor 8a369831dc Move clear_keympa_cache from other to keymap 2022-09-19 11:31:13 +02:00
Gouvernathor bdc3f51807 Include keymap-related function(s) in the keymap page 2022-09-19 11:29:08 +02:00
Gouvernathor 00cf228d4e Move call_stack_depth from other to label 2022-09-19 11:24:44 +02:00
Gouvernathor 588dac2776 Move get_adjustment from other to screen_python 2022-09-19 11:21:51 +02:00
Asriel Senna e732cf1db3 Update some launcher translations
Some languages wer untouched, as I don't know what part of the sentence 
to remove.
2022-09-19 11:17:01 +02:00
Gouvernathor 27475ae7f8 doc: clarify that language_tailor has nothing to do with Character 2022-09-19 10:52:27 +02:00
Gouvernathor 5775310ea8 Move pop_call from other to label 2022-09-19 10:31:06 +02:00
Gouvernathor b27deb794f doc: update obsolete description 2022-09-19 10:27:42 +02:00
Gouvernathor c57f3ae4cd doc: improve local labels documentation 2022-09-18 21:46:58 +02:00
Adam Trzypolski ca98796799 Documenting the pitfall of animated shaders. 2022-09-18 20:34:53 +03:00
Tom Rothamel 8c6903b552 mac: Use mac-universal programs and libraries.
This allows us to run natively on M1 and M2 Macs.
2022-09-18 00:59:02 -04:00
Tom Rothamel 12f0318b5c doc: Update keywords.py. 2022-09-18 00:57:54 -04:00
Gouvernathor 86b8b208ef doc: reminder for the values of tooltip 2022-09-15 19:02:35 +02:00
Tom Rothamel f3535a6456 Merge branch 'maint-8.0' 2022-09-15 01:37:34 -04:00
Tom Rothamel 49e42c56b3 Merge pull request #3974 from renpy/more-li-doc
More layeredimage documentation
2022-09-15 01:36:45 -04:00
Gouvernathor 6994aa94d0 doc: anchor the ref 2022-09-13 11:56:09 +02:00
Gouvernathor 3036fbd107 Attempt to explain the if_ clauses and tweak explanations 2022-09-13 11:54:22 +02:00
Tom Rothamel 711979985e doc: Document the changes to Viewport. 2022-09-12 21:23:52 -04:00
Tom Rothamel 9b2e6eee39 Merge pull request #3949 from via-my/master
Fix sticky draggable viewport
2022-09-12 21:13:28 -04:00
Gouvernathor f4d184eb41 doc: case(s) when the menu is skipped 2022-09-12 00:39:58 +02:00
Tom Rothamel 889394c7f3 web: Use the correct mime type for mp3 audio.
Fixes #3969.
2022-09-11 14:43:09 -04:00
Tom Rothamel 8d3cd5bb85 doc: Improve config.always_shown_screens. 2022-09-11 14:38:58 -04:00
Totally a booplicate 3b0b01f5f0 add sanity check
in case somebody loads an empty module
2022-09-09 18:39:40 +03:00
Gouvernathor f0aba80b81 doc: reference minimum_presplash_time in presplash 2022-09-09 12:44:17 +02:00
Totally a booplicate 3b7bd5c4b8 remove decorated sort
As of Python 2.3 the sorting algo is guaranteed to be stable and decorate-sort-undecorate approach is not needed anymore
2022-09-09 10:01:08 +03:00
Totally a booplicate 54934084cb remove debug print 2022-09-09 09:57:51 +03:00
Totally a booplicate 4174161a66 also sort load_string nodes 2022-09-09 09:49:13 +03:00
Totally a booplicate bb9bd717c4 implement include_module 2022-09-09 09:48:02 +03:00
Tom Rothamel 814b4abddd Merge branch 'maint-8.0' 2022-09-09 02:11:44 -04:00
Tom Rothamel 9b1f65b824 Merge pull request #3954 from renpy/allow-repair-updates
Allows the launcher to perform repair updates
2022-09-08 22:05:17 -04:00
Tom Rothamel 15f7626ed2 Merge pull request #3959 from Booplicate/fix_load_module
Fix `renpy.load_module` not respecting init order
2022-09-08 22:01:31 -04:00
Totally a booplicate 8ff3aa697c sort AST before running them 2022-09-09 03:22:00 +03:00
Tom Rothamel f9d1070da7 Merge branch 'maint-8.0' 2022-09-07 23:49:02 -04:00
Tom Rothamel ea963c581c Merge branch 'maint-8.0' 2022-09-07 09:14:23 -04:00
Tom Rothamel 2867d4b347 Merge pull request #3901 from midgethetree/fix-lint-say-attributes
Improve lint for say attributes
2022-09-07 09:11:07 -04:00
Gouvernathor 8c95ed33a5 Allows the launcher to performrepair updates 2022-09-07 13:56:19 +02:00
LaUwUrence 1daceab8ee Additional zero check for renpy_blur (#3951)
* Fix sticky draggable viewport

Forget the initial drag position if the visible dragging was not started and the player unpressed LMB.

* Make it possible to use either bool or variant

* Remove the gap

Removes the gap that was noticeable if `config.viewport_drag_radius` was set to a large value.

* Additional zero check

Do not let the image disappear if the final image weight is zero.

* Removed wrong changes
2022-09-06 21:48:17 -04:00
LaUwUrence 89a569da5a Remove the gap
Removes the gap that was noticeable if `config.viewport_drag_radius` was set to a large value.
2022-09-06 02:31:44 +04:00
LaUwUrence ae823ccb10 Make it possible to use either bool or variant 2022-09-06 02:16:46 +04:00
LaUwUrence c8a25fb409 Fix sticky draggable viewport
Forget the initial drag position if the visible dragging was not started and the player unpressed LMB.
2022-09-06 02:01:56 +04:00
Tom Rothamel 44f50623e7 doc: Changelog {size=*2.0}, etc. 2022-09-05 14:25:42 -04:00
Tom Rothamel 01dba2a574 doc: Reorder the changelog after merging. 2022-09-05 14:21:43 -04:00
Tom Rothamel 5524796509 Merge pull request #3922 from methanoliver/methanoliver-size-patch
Allow multipliers in {size=<value>}
2022-09-05 14:06:11 -04:00
Tom Rothamel 280555ea44 Merge pull request #3923 from renpy/lint-dev-auto
Advise setting config.developer to "auto" in lint
2022-09-05 14:05:21 -04:00
Tom Rothamel b64ba23863 Merge branch 'maint-8.0' 2022-09-05 13:32:49 -04:00
Tom Rothamel a465b313bc Merge branch 'maint-8.0' 2022-09-05 11:40:28 -04:00
Tom Rothamel 8eeb921ef3 Merge branch 'maint-8.0' 2022-09-05 10:37:51 -04:00
Gouvernathor 466ba3741c Document xycenter as a style property 2022-09-05 14:34:45 +02:00
Gouvernathor fa6f3d523e Add xycenter to the list of position style properties 2022-09-05 14:27:45 +02:00
Gouvernathor 9069749c44 Add the xycenter synthetic style prop 2022-09-05 14:26:16 +02:00
Tom Rothamel e9d0574f88 Merge branch 'maint-8.0' 2022-09-04 00:55:53 -04:00
Andy_kl 7f45cf4ee8 Fix typo in UserStatement.replace_next 2022-09-03 02:02:00 +04:00
Gouvernathor 1d330d222c truncate when there are too many unreachable lines 2022-09-02 23:46:56 +02:00
Tom Rothamel 75669c545a ffmedia: Do not stop decoding when sending packets hits EOF.
Only stop decoding when there are no more frames to be decoded, or a
real error.

Fixes #3927.
2022-09-02 00:48:00 -04:00
Tom Rothamel c29e7a0e85 Merge branch 'maint-8.0' 2022-09-01 02:20:13 -04:00
Tom Rothamel 22e58c9a4e Merge branch 'maint-8.0' 2022-09-01 02:19:33 -04:00
Gouvernathor 4640b135a1 Add reachability analysis 2022-09-01 01:32:32 +02:00
Tom Rothamel 0d04423ca9 Fix credits. 2022-08-31 19:18:47 -04:00
Tom Rothamel af0d90d23c Merge branch 'maint-8.0' 2022-08-30 23:55:41 -04:00
Gouvernathor 6d820a5e74 Update lint.py 2022-08-30 13:55:13 +02:00
Adam Trzypolski 1df764065e Document {size=*<float>} 2022-08-30 11:39:03 +03:00
Adam Trzypolski 8836b924d7 Allow multipliers in {size=<value>}
Sometimes, your tag doesn't know what size it will be, but `+`/`-` is not enough. Allowing a multiplier is a two line change.

```
"{size=*2}This is double size{/size} and this is {size=*0.5}half size{/size}"
```
2022-08-30 11:19:25 +03:00
Andykl f2fd54744b Merge pull request #3915 from qTich/fix/issue-3912
Strip parsed arugment default expression.
So it does not appear with \n when the last argument in the multiline parameters does not have a trailing comma.
2022-08-29 00:58:16 +04:00
Tichq e2909848ec fix: issue-3912 2022-08-28 23:14:01 +03:00
Tom Rothamel a2e2f8ba55 Allow quotes inside of triple strings.
Per #3913.

Co-authored-by: Dan Hess <phxntxm1@gmail.com>
2022-08-27 22:26:31 -04:00
Tom Rothamel 841e736cf9 Improvements to viewport dragging.
The biggest change here is that there is a new _draggable field on
Displayable. If True, the displable itself might be draggable, and
so a Viewport won't steal the focus of it.

There are also several changes that make sure the viewport gets and
releases drags as appropriate.

Finally, draggability only enables when the displayable is actually
scrollable in at least on axis.

Fixes #3910.
2022-08-27 22:00:42 -04:00
Tom Rothamel 832560d8dc Merge branch 'maint-8.0' 2022-08-27 00:35:40 -04:00
Tom Rothamel c23466d98d Merge branch 'maint-8.0' 2022-08-27 00:32:38 -04:00
Tom Rothamel 511cdc1227 Document the fields of version_tuple. 2022-08-26 00:03:51 -04:00
Tom Rothamel fbcb9a102e Allow viewport drag to override child focus.
Now, when a a touch moves by a certain number of pixels when a
button inside a viewport is focused, focus and grab are shifted
onto the viewport, which then can be scrolled.

This also changes several things about how viewports process
events - now, if an event can be handled by the viewport, the
viewport takes precendence.
2022-08-25 23:48:28 -04:00
Tom Rothamel 2214c67706 Allow a displayable to force itself to be focused.
This disables the grab, and then changes the focus. This is mainly
intended for used by Viewport and VPGrid to override child focus
when being scrolled.
2022-08-25 23:48:28 -04:00
Tom Rothamel 207e0b791d Merge pull request #3883 from GiovanH/namedtuple
Use a NamedTuple for version_tuple (for #3755)
2022-08-25 21:11:41 -04:00
Gio 090c3d246c VersionTuple naming 2022-08-25 20:02:43 -05:00
Tom Rothamel d111e24a7b Add a keysym property to dismiss.
Fixes #3903.
2022-08-25 01:52:06 -04:00
Tom Rothamel 2ffe5007c1 Abort if too many interaction restarts occur without progress.
In this case, progress consists of either terminating the current
interaction, processing input, or waiting without processing input.

Fixes #3627.
2022-08-24 22:44:49 -04:00
midgethetree 3fb99d39b3 Improve lint for say attributes
Applies config.adjust_attributes to say attributes when linting, so lint won't report errors for say statements which work in-game.
2022-08-24 00:05:20 -04:00
Tom Rothamel a09c879f8d Update README.rst for Python 3 and Ubuntu 22.04.
Also, help sphinx run in more places.
2022-08-23 23:38:40 -04:00
Tom Rothamel 3028fe28a3 Fix typing problems in Matrix.__eq__.
Fixes #3895.
2022-08-23 01:13:22 -04:00
Tom Rothamel 6b81f958fd translation: Avoid automatically generating an identifier that already exists.
Fixes #3894.
2022-08-22 21:11:52 -04:00
Tom Rothamel 14f535cea8 Ensure the interface starts before displaying an error message. 2022-08-22 01:15:57 -04:00
Tom Rothamel e7f186e12a Merge pull request #3892 from renpy/fix-lambda-in-comp
Fix the ast magic applied on comprehensions when containing lambdas
2022-08-21 22:09:24 -04:00
Gouvernathor 2a90f82f3a Add py2 support 2022-08-22 03:08:16 +02:00
Gouvernathor c54780e088 Mark (lambda) arguments as not loaded from context 2022-08-22 02:41:26 +02:00
Andy_kl 97eb86d6d9 Add help <expr> into console commands. 2022-08-22 04:16:46 +04:00
Gouvernathor 60ad4487ac doc: fix typo 2022-08-22 02:06:54 +02:00
Tom Rothamel 9f6e618ee4 sl2: Do not copy a non-const created slfor list or iterator. 2022-08-21 17:02:31 -04:00
valery-iwanofu fb5db21898 Fix jnius example code 2022-08-21 12:04:49 +02:00
Tom Rothamel c91b8f1031 py3, sl2: Copy the value for is iterating over into a list.
This allows it to be iterated multiple times, even if the value
is an iterator. This in turn, allows range, enumerate, and zip to
be marked as pure, and hence potentially treated as constant in
a screen.
2022-08-21 00:28:00 -04:00
Tom Rothamel 6b390c0191 py3: Audit pure builtin functons on Python 3.
Previously, Python 3 builtins weren't included, so this replaces
the functions with a curated list.
2022-08-20 22:17:05 -04:00
Tom Rothamel 087fb97c0b ren_py: Remove debug raise. 2022-08-20 21:51:11 -04:00
Tom Rothamel 5322748f51 ren_py: Rewrite get_line_text to return the transformed text. 2022-08-20 21:48:29 -04:00
Tom Rothamel 156166b3dc Merge pull request #3885 from renpy/_ren.py-crlf
Make _ren.py accept windows-ending (CRLF) files
2022-08-20 21:48:16 -04:00
Gouvernathor ae9c90a25e Use splitlines to avoid errors with CRLF
also, used a better enumerated linenumber
2022-08-21 03:44:02 +02:00
Gio 649c4bc725 WIP namedtuple for version info 2022-08-20 17:25:20 -05:00
Tom Rothamel 402d6779e8 ren_py: Remove potentially over-sensitive test, fix linenumber. 2022-08-19 23:45:15 -04:00
Tom Rothamel 29b191ff05 Merge pull request #3881 from renpy/_ren.py
Add a syntax error to _ren.py parsing, and tweak its doc
2022-08-19 23:43:28 -04:00
Gouvernathor 932bf79fbe Revert allowing triple simple quotes 2022-08-20 05:40:11 +02:00
Gouvernathor 703d775e99 Update ren_py.rst 2022-08-20 05:35:06 +02:00
Gouvernathor 588b447ab2 Merge branch 'master' into _ren.py 2022-08-20 05:26:45 +02:00
Tom Rothamel 4f8cca62fe doc: _ren.py files. 2022-08-19 23:23:32 -04:00
Gouvernathor d5546516fd Expand _ren.py syntax 2022-08-19 11:40:45 +02:00
Tom Rothamel 98b44c7a76 _ren.py: Report files with obvious errors. 2022-08-19 01:10:44 -04:00
Tom Rothamel 22d1af00ef _renpy.py: Error out if foo_ren.py and foo.rpy exist in the same game. 2022-08-18 22:47:05 -04:00
Tom Rothamel 81e21925b2 _ren.py: Change the order that _ren.py files are compiled.
With this change, foo_ren.py is compiled at the same time foo.rpy
would be, and both files produce foo.rpyc, with foo_ren.py taking
precendece over foo.rpy if both exist.

The purpose of this is to make it possible to replace a .rpy file
that contains an init python block with a _ren.py file, and have
the .rpyc file be replaced with the file fron the new source.
2022-08-18 22:32:29 -04:00
Gouvernathor 0efbf3484b Add comments and internal documentation 2022-08-18 21:52:24 +02:00
Gouvernathor 1fdd09aa4f Replace inline if/else with or, and fix comments
It's a bit quicker in the general case, and avoids repetitions.
2022-08-18 16:19:49 +02:00
Tom Rothamel b29df78420 ren_py: Initial implementation of ren_py to rpy converter. 2022-08-17 21:52:39 -04:00
Tom Rothamel 53f5d4aa89 Break the lexer off into its own file.
At 3,000+ lines, parser.py was getting a bit unwieldy. This change
breaks off the file processing and lexing portions of the parser
into lexer.py, and leaves parser.py more for the parser trie and
statement definitions.

This will let me add more functionality (the ren.py transfome)
to lexer.py.
2022-08-17 00:40:10 -04:00
Tom Rothamel 72df151885 Merge branch 'maint-8.0' 2022-08-16 21:09:21 -04:00
Tom Rothamel e48c9045e7 Merge pull request #3750 from Tey/web_progressive
Optimizations for building Web packages
2022-08-15 18:37:30 -04:00
Tom Rothamel 077a368386 Merge pull request #3866 from renpy/lint-init-priority
Lint out-of-range init priorities
2022-08-15 01:34:18 -04:00
Tom Rothamel 96be374566 Merge pull request #3869 from renpy/new-matrix-equality
Use eq and ne for Matrix comparisons
2022-08-14 21:18:52 -04:00
Gouvernathor eac73269de Use eq and ne for Matrix comparisons 2022-08-14 16:04:32 +02:00
Tom Rothamel 12e6c4b7e1 ffmedia: Modernize how ffmpeg is used.
The goal of this was to make sure that ffmedia.c compiles without
any warnings under ffmpeg 4.2. This required a series of
related changes.

The first was more changes of how the Packet queue works. The packet
queue is now in charge of allocated and deallocating AVPacket objects
as required, and is the only place where AVPacket objects are created.
This allowed us to get rid of several AVPackets that were allocated
as part of MediaState, and a lot of copying of data to and from these
objects.

This enables and is enabled by a change to fully embrace the new
avcodec_send_packet/avcodec_receive_frame API, and most notably
that avcodec_send_packet is defined to either fully read a packet,
or not read it at all.There was a lot of complexity inherited
from prior APIs that would only partially read packets, which
these changes do away with.
2022-08-14 01:55:10 -04:00
Tom Rothamel 90dee6d775 ffmedia: Replace AVPacketList in PacketQueue functions.
AVPacketList is deprecated, so this replaces it with the amazingly
similar PacketQueueEntry object.
2022-08-13 22:36:18 -04:00
Tom Rothamel 425feb7909 Merge branch 'maint-8.0' 2022-08-13 00:21:42 -04:00
Gouvernathor 45cdda60c3 Check for out-of-range init priorities 2022-08-13 04:26:47 +02:00
Tom Rothamel 464b5d8c53 Merge branch 'maint-8.0' 2022-08-12 00:55:53 -04:00
Tom Rothamel 4629de77f9 Merge pull request #3860 from renpy/image-shorten-repr
Don't shorten Image's repr
2022-08-12 00:55:12 -04:00
Tom Rothamel 48b6f77901 Merge branch 'maint-8.0' 2022-08-11 17:50:31 -04:00
Gouvernathor 54f1cae1aa Don't shorten Image's repr 2022-08-11 03:39:02 +02:00
Tom Rothamel d07d61d050 Merge branch 'maint-8.0' 2022-08-10 21:26:37 -04:00
Tom Rothamel 30db52f617 Merge pull request #3855 from renpy/operator-mul
Use c-boosted mul function instead of python-defined one
2022-08-09 23:04:50 -04:00
Gouvernathor 6891ad6174 Update _shaders.rpym 2022-08-09 11:40:13 +02:00
Tom Rothamel 609e502a4d Add config.autosave_callback.
A callback or list of callbacks that are called after a background
autosave finishes.

Fixes #3851.
2022-08-09 01:00:24 -04:00
Tom Rothamel bb576eec63 Merge branch 'maint-8.0' 2022-08-08 01:06:00 -04:00
Tom Rothamel 037880acf0 Merge branch 'maint-8.0' 2022-08-07 18:44:05 -04:00
Tom Rothamel b1fdb7be39 Merge pull request #3848 from Elckarow/patch-4
fixed typo
2022-08-06 23:55:09 -04:00
Elckarow c25e5d31f0 fixed typo 2022-08-07 04:09:13 +02:00
Tom Rothamel 257b49ff3a Merge branch 'maint-8.0' 2022-08-06 00:39:24 -04:00
Tom Rothamel f285009182 Make built-in stores constant, document constant stores.
The goal of this is to improve Ren'Py performance by not checking
stores that will not be changed outside of the init phase for
changes before statements.

The icon store is left alone, as it may be going away soon.
2022-08-05 01:38:40 -04:00
Tom Rothamel 5cc4fd64a1 Allow a namespace to declare the _constant variable.
If true, this variable declares the namespace constant. Constant
namespaces are not saved or loaded, and do not participate in
rollback.

In exchange for this, the namespace does not need to be scanned
for changed variables, saving a lot of time if the namespace has
no variables that will change after init.
2022-08-04 02:11:07 -04:00
Tom Rothamel ef1ae9a562 Merge branch 'maint-8.0' 2022-08-04 01:15:44 -04:00
Tom Rothamel 20dc7e5eb3 Merge branch 'maint-8.0' 2022-08-04 00:13:46 -04:00
Tom Rothamel 2a97b50917 Use the middle element when quicksorting store dicts.
This is a big improvement on Python 3, where store dictionaries can
be created in mostly-sorted order, and hence become the worst-case
for quicksort.

Fixes #3812, which is caused by the store.audio namespace becoming
truly huge, and this bad behavior running Ren'Py out of memory.
2022-08-03 19:32:01 -04:00
Gouvernathor bc696a05c4 doc: rephrase renpy.scry a bit 2022-08-03 08:41:53 +02:00
Tom Rothamel e302c2ad62 Merge pull request #3827 from renpy/fix-list-filenames-py3
Fix and simplify the "List filenames" dev action
2022-08-03 00:31:12 -04:00
Tom Rothamel c98f1d2b83 Merge pull request #3823 from shawna-p/master
Expand functionality of drag_offscreen
2022-08-03 00:30:44 -04:00
Tom Rothamel 77cb7334bc Merge pull request #3820 from renpy/doc-doc
Replace :ref: with :doc:
2022-08-03 00:20:19 -04:00
Tom Rothamel 60d25f62aa Merge pull request #3834 from kyouryuukunn/add_doc_about_scry
add doc about scry
2022-08-02 20:10:55 -04:00
Tom Rothamel 24215c9383 Merge pull request #3835 from renpy/better-doc-help-commands
Improve the generation and inclusion of the console commands list
2022-08-02 20:03:18 -04:00
Tom Rothamel 7a3c77d119 Merge pull request #3836 from qTich/fix/undefined-pygame
fix: Unavailable `pygame` in `renpy.display.layout`
2022-08-02 20:02:41 -04:00
Tom Rothamel 1c86b51175 Merge branch 'maint-8.0' 2022-08-01 22:52:47 -04:00
Tichq 3a1fbb2859 fix: At the time of import renpy.import_all the pygame module may not be present. 2022-08-01 15:43:34 +03:00
Gouvernathor 50fe062e72 doc: improve console commands list generation
Using replace is probably simpler than using split then join.
Also, the markup using a leading whitespace is the quote markup in sphinx, which is a bit ugly. A bullet list renders better, I think.
2022-08-01 06:12:07 +02:00
kyouryuukunn e6e98c6f41 add doc about scry 2022-08-01 12:52:24 +09:00
kyouryuukunn 69dc800a89 [fix doc]lexer.catch_errors() -> catch_error() 2022-08-01 05:43:15 +02:00
Tom Rothamel 766820a881 Merge branch 'maint-8.0' 2022-07-31 02:02:46 -04:00
Tom Rothamel 08f3fce3d2 Merge branch 'maint-8.0' 2022-07-31 01:33:47 -04:00
shawna-p ad04219074 Improve documentation and reduce calls to len 2022-07-30 19:13:32 -04:00
Gouvernathor 3fdb9236ae Fix and simplify "List filenames"
- Avoid sorting dirs because it's pointless
- strip config.gamedir once instead of many times
- only strip it when safe (this one is a little bonus)
- do not turn into a bytes in py3 (I don't even know why it was the case in py2, but I left it just in case) (and even in that case, now it does it only once)
2022-07-30 17:04:35 +02:00
Tom Rothamel 1f1573c0db Merge pull request #3826 from renpy/fix-3825
Fix duplicate label errors
2022-07-30 10:42:07 -04:00
Gouvernathor 3498c5e24c extra space 2022-07-30 16:35:49 +02:00
Gouvernathor a05f3050d4 Fix duplicate label errors 2022-07-30 16:11:57 +02:00
shawna-p 8f297ce5f1 Add option to keep (width, height) drag on screen 2022-07-29 19:59:09 -04:00
shawna-p 728e5e0b88 Expand functionality of drag_offscreen 2022-07-29 19:19:05 -04:00
Tom Rothamel 16b6fe8a62 Merge branch 'maint-8.0' 2022-07-29 01:12:26 -04:00
Asriel Senna 79706e3489 doc: replace :ref: with :doc: wherever possible
This simplifies many cases where a page has a ref identifier distinct 
from its filename, which makes linking harder to understand when writing 
the doc.
Also, it solves a small scrolling problem in such cases.
Some links in changelog and changelog6 were left alone, and some .. _ 
identifiers too, to ensure compatibility.
2022-07-29 05:28:51 +02:00
Gouvernathor 05516c5eff doc: tweak the sentence 2022-07-28 08:34:38 +02:00
Tom Rothamel f55091310d gl2: Create an appropriately-sized texture when drawable_resolution is used. 2022-07-27 23:27:24 -04:00
Tom Rothamel bfad014ce4 Merge branch 'maint-8.0' 2022-07-27 01:28:06 -04:00
Tom Rothamel 1ca3201ddd Avoid using stylized quotes. 2022-07-26 00:34:54 -04:00
Tom Rothamel 5429223c34 Undocument config.main_game_transition and config.game_main_transition.
In favor of config.intra_transition, which Ren'Py has been using since
the switch to screens.

Fixes #3038.
2022-07-26 00:34:54 -04:00
Tom Rothamel ad140a9ae8 doc: Fix various issue with preferences documentation.
Fixes #3809. Fixes #3810.
2022-07-26 00:34:54 -04:00
Gouvernathor 7c8e4475c5 doc: fix typo (#3805)
no need to propagate to maint-8.0 as its doc will probably never be regenerated
2022-07-25 15:04:28 +02:00
Tom Rothamel c5fb0cddb4 Merge branch 'maint-8.0' 2022-07-25 00:44:02 -04:00
Tom Rothamel 3c741ac051 Add renpy.music.pump.
When called, this causes audio to be processed, as it is at the
start of an interaction. This is intended for cases where audio
is played and then stopped with a fadeout, which default to not
playing anything.

Fixes #3805.
2022-07-24 23:12:27 -04:00
Tom Rothamel 7e75d7f61c Merge pull request #3804 from midgethetree/fix-mousearea
Fixed mouse area hovering
2022-07-24 22:19:18 -04:00
midgethetree d605c8f1af Fixed mouse area hovering
Mouseareas are supposed to not hover if the keyboard is being used for focusing, but this was broken by an if/else statement that changed the is_hovered value again without regard to if it had already been set to false because of keyboard focusing. Changing it to elif/else ensures the value of is_hovered is only changed if it hasn't already been set to false because of keyboard focusing.
2022-07-24 16:26:53 -06:00
Elckarow c1d41e3a78 fixed typo in 'renpy/sl2/slparser.py' 2022-07-24 19:46:38 +02:00
Tom Rothamel b8ab9a002e Merge branch 'maint-8.0' 2022-07-24 00:32:43 -04:00
Tom Rothamel 87dee63bf6 Allow Ren'Py to continue even if audio init fails.
This happens even when config.debug_sound is True, as the current
SDL can fail sound init if no audio devices exist.

Fixes #3768.
2022-07-24 00:14:15 -04:00
Tom Rothamel a16b4a54d5 iap: Use a unicode string with autoclass. 2022-07-24 00:14:15 -04:00
Tom Rothamel e5497b423e Back out half of #3790.
Events (other than modal TIMEEVENTS) should not be delivered to
the pausebehavior when it's behind a screen, and since TIMEEVENTS
can be combined with other events, it needs to be possible to
end the pause on any event.
2022-07-24 00:14:15 -04:00
Gouvernathor 71385f87d9 Allow transforms to be created in stores (#3678)
This commit adds the ability to include a store name when defining a transform, allowing transforms to be define in stores other than the default.
2022-07-23 21:00:25 -04:00
Tom Rothamel bb90368eef Merge branch 'maint-8.0' 2022-07-22 23:19:44 -04:00
Andykl d4c784bd1a Merge pull request #3798 from qTich/fix/missed-matrix-parent
fix: missed `DictEquality` parent for `SaturationMatrix`
2022-07-22 19:56:37 +04:00
Tichq d88cefbdef fix: missed DictEquality parent for SaturationMatrix 2022-07-22 18:17:14 +03:00
Gouvernathor 775d291fec doc: tweaks to last
Add a label to avoid confusion between the statements (the first happens at init, the second at runtime), and fix wording.
2022-07-22 15:19:29 +02:00
Gouvernathor b9313ff1d9 Merge pull request #3795 from kyouryuukunn/add_ParameterizedText_sample_code
[Doc] add ParameterizedText sample code
2022-07-22 15:15:50 +02:00
kyouryuukunn a3ae45e3f2 add ParameterizedText sample code 2022-07-22 21:10:20 +09:00
Tom Rothamel 9d5951b9ae Merge branch 'maint-8.0' 2022-07-22 00:41:50 -04:00
Tom Rothamel 8d435710df Merge pull request #3792 from kyouryuukunn/contribute_{{_in_extract_dialogue
consider {{ in exatract_dialogue
2022-07-21 22:48:13 -04:00
kyouryuukunn 84a3aa0b49 consider {{ in exatract_dialogue 2022-07-22 08:41:05 +09:00
Tom Rothamel 1191c64e0e Merge pull request #3766 from kyouryuukunn/add_combine_option_to_extract
add combine option to extract dialogue
2022-07-21 11:09:53 -04:00
kyouryuukunn 35b6014ea4 remove the combine option 2022-07-20 20:21:38 +09:00
Tom Rothamel 8435f57a83 Merge pull request #3753 from qTich/fix/tts-filter_text_tags-displayable
Fix: `filter_text_tags` for `tts`.
2022-07-20 01:59:41 -04:00
Tom Rothamel 79fcc13a3a Merge pull request #3790 from midgethetree/fix-modal-behavior
Fix modal behavior
2022-07-20 01:52:06 -04:00
Tom Rothamel edad2f4de7 Merge branch 'maint-8.0' 2022-07-20 01:48:17 -04:00
Tom Rothamel a27d9183d0 Merge branch 'maint-8.0' 2022-07-20 01:46:28 -04:00
midgethetree c1a7591040 Make modal pause interactions not time out
Timed pause interactions (interactions triggered by renpy.pause with a specified delay) will now not time out when a modal screen is being shown.
2022-07-19 18:32:06 -06:00
kyouryuukunn 6e08fd91e9 Merge pull request #3779 from kyouryuukunn/Japanese_translate_220717
Japanese translate 220717
2022-07-19 17:27:17 +09:00
kyouryuukunn 8a32c2fb24 update tutorial japanese 2022-07-19 17:16:38 +09:00
Tom Rothamel 4d19b114f8 Merge branch 'maint-8.0' 2022-07-19 01:12:22 -04:00
Tom Rothamel 075c48324f Merge branch 'maint-8.0' 2022-07-18 02:09:24 -04:00
Tom Rothamel fbf39a76ee Fix vscode. 2022-07-18 02:07:40 -04:00
Tom Rothamel 11ef81ef89 Do not render zero-width displayables in text.
Fixes #3772.
2022-07-18 01:52:10 -04:00
Tom Rothamel 10600fd307 Remove the obsolete udd.rst, now that there's a server redirect. 2022-07-17 13:23:19 -04:00
Gouvernathor d26bc4f048 doc: use the exception role 2022-07-17 13:38:33 +02:00
kyouryuukunn df7be71e9a update Japanese 2022-07-17 17:54:25 +09:00
kyouryuukunn 90a827bcd5 update Japanese 2022-07-17 17:37:49 +09:00
midgethetree 953375d0aa Make modal saybehavior not autoforward
If a modal screen like the confirm screen is up, autoforwarding will now be paused.
2022-07-16 19:49:05 -06:00
Tom Rothamel 53e8d5c28a Merge pull request #3769 from kyouryuukunn/add_warp
add renpy.warp_to_line func
2022-07-16 16:47:01 -04:00
kyouryuukunn 5ffbbc5531 add renpy.warp_to_line func 2022-07-16 19:34:39 +09:00
kyouryuukunn 1b363a7793 doesn't combine [[. 2022-07-16 09:17:01 +09:00
Tom Rothamel 5dd655eb4a Merge pull request #3758 from renpy/document-warp
doc: better document user-defined warpers
2022-07-15 17:51:59 -04:00
kyouryuukunn a618d3db32 add combine option to extract dialogue 2022-07-16 01:26:39 +09:00
Tom Rothamel c97a29aa02 Add the IF ... ELIF ... ELSE statement.
Per #3760, allows conditional compilation. There are a lot of game
stability caveats to this.
2022-07-15 00:42:08 -04:00
Tom Rothamel 331932ecc1 Revert "ren.py: Add the pass: syntax."
This reverts commit e532e9f9c3.

The solution to #3760 will take care of this by providing a
better syntax.
2022-07-14 19:28:22 -04:00
Gouvernathor c6f59b8144 doc: better example 2022-07-14 16:50:15 +02:00
Gouvernathor 52ee233378 doc: better document user-defined warpers 2022-07-14 16:13:27 +02:00
Tom Rothamel fab154eace ren.py: Load _ren.py files as Ren'Py script files.
This allows files ending with _ren.py to contain Ren'Py script,
be loaded, and operate as part of a normal game. The transformation
from Python to Ren'Py script has yet to be implemented.
2022-07-14 10:00:33 -04:00
Tom Rothamel e532e9f9c3 ren.py: Add the pass: syntax.
When followed by as :, pass takes an optional block that it
then ignores.

This is mostly intended for _ren.py files, where it will be used
as a way of ignoring lines of Python that only exist to make
Python type-checkers happy.

The buried lede - a _ren.py file will be a Python file (that can be
analyzed with Python tooling) that is convered internally to a
.rpy file, and then compiled as Ren'Py. At least, that's the plan.
2022-07-14 00:52:23 -04:00
Andy_kl 0b6112fadb Normalize elided filename in scanstrings before searching in properties.
Before that, on Windows the rules for _compat, _layout and most importantly _developer was failed, so some strings was leaked in common.rpy.
2022-07-14 06:23:46 +04:00
Tom Rothamel ce07604bd6 Merge pull request #3675 from kyouryuukunn/modify_default_transition
mofify alpha, zoom type in default and reset transform
2022-07-13 09:58:42 -04:00
Tichq f9f24b6a36 Fix: filter_text_tags for tts can accept a displayable text tag that cannot be converted to a string. 2022-07-13 02:10:56 +03:00
Tom Rothamel fc73078f54 Merge branch 'maint-8.0' 2022-07-12 16:00:15 -04:00
Tom Rothamel e17f4f3598 linvol: Documentation. 2022-07-12 15:47:07 -04:00
Tom Rothamel c6e360caf6 linvol: Add preferences.set_mixer and preferences.get_mixer.
These get and set the mixer in the new interpolated db format.
2022-07-12 15:46:14 -04:00
Tom Rothamel 5abb96d8fc Merge branch 'maint-8.0' 2022-07-12 09:17:40 -04:00
Tom Rothamel a7ec32c81d linvol: Use db power when calculating db.
This probably doesn't matter as much in practice, but it's the right
calculation for audio.

A more important change is that the default values for mixers are
now specified as a percentage of a mixer bar.
2022-07-12 09:14:53 -04:00
Tom Rothamel 26d7a4ab9b linvol: Mixer bars use decibels.
Using decibels makes the mixers feel right - the 50% point is
perceptually half volume, even if power-wise it's a lot less
than that.
2022-07-12 09:14:53 -04:00
Tom Rothamel f4dda8db33 linvol: Compatibility for linear volume.
Internally, the volumes are stored as linear volumes, being upgraded
the first time a version of Ren'Py that supports linear volumes is
run.

All other places a volume can come into Ren'Py are updated to consider
the new config.quadratic_volume variable, which will square the volume
to get linear volume.
2022-07-12 09:14:53 -04:00
Tom Rothamel 2dfa05fbcb linvol: Move to linear volume.
As opposed to the previous approach, where volume was squared,
which we're now calling quadratic volume.
2022-07-12 09:14:53 -04:00
Tom Rothamel 9063ad413a Add a multiple-version compatibility check.
This is intended for the Ren'Py 8/7 mixed period, and allows a
compat test to be True in Ren'Py 8 and False in some Ren'Py 7
versions.
2022-07-12 09:14:53 -04:00
Teyut 966cce804e Stop copying the files to be downloaded progressively into the initial ZIP archive 2022-07-12 02:25:42 +02:00
Teyut 6ff68089bd Add a generic files filter from Distributor users 2022-07-12 02:18:31 +02:00
Gouvernathor a1004924ce doc: tweak is_selected and is_sensitive
False -> false, and true -> a true value, because no guarantee is given on the type of the returned value
Also, a list of actions is accepted
2022-07-12 00:31:31 +02:00
Tom Rothamel 0a923be2de Merge branch 'maint-8.0' 2022-07-11 00:15:56 -04:00
Andy_kl 8f4d70a836 Fix TypeError when comparing float and None. 2022-07-10 22:45:20 +04:00
Tom Rothamel 0b78b48d8d sl1: Remove the ability to parse SL1 screens.
This had been left in to support potential issues in the change
from SL1 to SL2. That wasn't used, and almost certainly isn't
being used anymore, so the parser can be removed.

SL1 screens can still be loaded if they exist in SL1 files,
as this only affects the parser, not the runtime.

Fixes #3430.
2022-07-10 00:01:23 -04:00
Tom Rothamel 83268109c6 Merge branch 'maint-8.0' 2022-07-09 21:42:38 -04:00
Tom Rothamel 055dd39982 Start 8.1.0 and 7.6.0.
These will live on the main branch.
2022-07-09 16:55:25 -04:00
kyouryuukunn 850fa94c3d mofify alpha, zoom type in default and reset transform 2022-06-18 09:13:06 +09:00
Totally a booplicate 133a5a8c76 Improve lint 2022-05-28 22:35:50 +03:00
Totally a booplicate aa08660ca6 Fix regression from 3dd71cc
Prevent `_zorder` from leaking to screens scope
2022-05-28 22:23:42 +03:00
Totally a booplicate 93cce0fcf8 New screen statement clauses
Adds `onlayer`, `zorder`, and `as`
2022-05-28 22:18:32 +03:00
uyjulian 2fa378ca42 loader: use RWops object from pygame_sdl2 2022-04-17 19:15:05 -05:00
Gouvernathor 0092484cdd Merge branch 'master' into patch-2 2022-04-09 04:56:47 +02:00
Gouvernathor 07c9e23c23 Merge branch 'master' into patch-2 2021-12-29 05:37:33 +01:00
Gouvernathor f9fe673c42 Remove obsolete gl2 references 2021-07-10 04:16:29 +02:00
653 changed files with 47372 additions and 32278 deletions
+8 -1
View File
@@ -14,10 +14,12 @@ ehthumbs_vista.db
*.pyc
*.pyo
*.pyi
*.egg-info
# Editor files.
# Editor/tool files.
*~
*.bak
.gdb_history
# Compiled Ren'Py files.
*.rpyc
@@ -64,6 +66,8 @@ cache/
/renios3
/web
/web2
/web3
# Docs.
/sphinx/source/inc
@@ -103,6 +107,9 @@ cache/
steam_appid.txt
/steamapi.py
# Android.
*.keystore
# Type analysis.
/typings
-8
View File
@@ -44,11 +44,6 @@
"python.languageServer": "Pylance",
"python.analysis.typeCheckingMode": "basic",
"python.analysis.extraPaths": [
"",
"/home/tom/.vscode/extensions/joedevivo.vscode-circuitpython-0.1.17-linux-x64/stubs",
"/home/tom/.config/Code/User/globalStorage/joedevivo.vscode-circuitpython/bundle/20220710/adafruit-circuitpython-bundle-py-20220710/lib"
],
"python.analysis.diagnosticMode": "workspace",
"python.linting.pylintEnabled": false,
"python.analysis.diagnosticSeverityOverrides": {
@@ -56,12 +51,9 @@
},
"esbonio.server.enabled": true,
"esbonio.sphinx.confDir": "",
"circuitpython.board.version": null,
"renpy.excludeCompiledFilesFromWorkspace": true,
"renpy.watchFoldersForChanges": false,
"renpy.warnOnInvalidVariableNames": "Disabled",
"renpy.warnOnInvalidFilenameIssues": "Disabled",
"renpy.warnOnIndentationAndSpacingIssues": "Disabled",
}
+14 -9
View File
@@ -49,29 +49,34 @@ Building the modules requires you have the many dependencies installed on
your system. On Ubuntu and Debian, these dependencies can be installed with
the command::
apt-get install virtualenvwrapper python-dev libavcodec-dev libavformat-dev \
libavresample-dev libswresample-dev libswscale-dev libfreetype6-dev libglew1.6-dev \
libfribidi-dev libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev \
libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
sudo apt install virtualenvwrapper python3-dev libavcodec-dev libavformat-dev \
libswresample-dev libswscale-dev libfreetype6-dev libfribidi-dev libsdl2-dev \
libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
Ren'Py requires SDL_image 2.6 or greater. If your distribution doesn't include
that version, you'll need to download it from:
https://github.com/libsdl-org/SDL_image/tree/SDL2
We strongly suggest installing the Ren'Py modules into a Python
virtualenv. To create a new virtualenv, open a new terminal and run::
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh
mkvirtualenv renpy
To return to this virtualenv later, run::
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh
workon renpy
After activating the virtualenv, install additional dependencies::
pip install -U cython future six typing pefile requests
pip install -U cython future six typing pefile requests ecdsa
Then, install pygame_sdl2 by running the following commands::
git clone https://www.github.com/renpy/pygame_sdl2
pushd pygame_sdl2
python fix_virtualenv.py $VIRTUAL_ENV
python setup.py install
python setup.py install_headers
popd
@@ -80,7 +85,7 @@ Next, set RENPY_DEPS_INSTALL To a \:-separated (\;-separated on Windows)
list of paths containing the dependencies, and RENPY_CYTHON to the name
of the cython command::
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(uname -m)-linux-gnu/"
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(gcc -dumpmachine)/"
export RENPY_CYTHON=cython
Finally, use setup.py in the Ren'Py ``module`` directory to compile and
@@ -93,7 +98,7 @@ install the modules that support Ren'Py::
Ren'Py will be installed into the activated virtualenv. It can then be run
using the command::
python -O renpy.py
python renpy.py
Documentation
@@ -107,7 +112,7 @@ link in a nightly build, or compile the modules as described above. You'll
also need the `Sphinx <https://www.sphinx-doc.org>`_ documentation generator.
If you have pip working, install Sphinx using::
pip install -U sphinx sphinx-bootstrap-theme
pip install -U sphinx sphinx_rtd_theme sphinx_rtd_dark_mode
Once Sphinx is installed, change into the ``sphinx`` directory inside the
Ren'Py checkout and run::
+27 -9
View File
@@ -17,13 +17,34 @@ import time
import collections
try:
# reload is built-in in Python 2, in importlib in Python 3
reload # type: ignore
except NameError:
from importlib import reload
except ImportError:
pass
ROOT = os.path.dirname(os.path.abspath(__file__))
def zip_rapt_symbols(destination):
"""
Zips up the rapt symbols.
"""
import zipfile
if PY2:
zf = zipfile.ZipFile(destination + "/android-native-symbols.zip", "w", zipfile.ZIP_DEFLATED)
else:
zf = zipfile.ZipFile(destination + "/android-native-symbols.zip", "w", zipfile.ZIP_DEFLATED, compresslevel=3)
for dn, dirs, files in os.walk("rapt/symbols"):
for fn in dirs + files:
fn = os.path.join(dn, fn)
arcname = os.path.relpath(fn, "rapt/symbols")
zf.write(fn, arcname)
zf.close()
def copy_tutorial_file(src, dest):
"""
Copies a file from src to dst. Lines between "# tutorial-only" and
@@ -78,6 +99,7 @@ def main():
link_directory("rapt")
link_directory("renios")
link_directory("web")
if args.link_directories:
return
@@ -108,7 +130,7 @@ def main():
commits_per_day = collections.defaultdict(int)
for i in subprocess.check_output([ "git", "log", "-99", "--pretty=%cd", "--date=format:%Y%m%d", "--follow", "HEAD", "--", "." ]).decode("utf-8").split():
for i in subprocess.check_output([ "git", "log", "-99", "--pretty=%cd", "--date=format:%Y%m%d" ]).decode("utf-8").split():
commits_per_day[i[2:]] += 1
if dirty:
@@ -166,11 +188,6 @@ def main():
else:
renpy_sh = "./renpy2.sh"
# Perhaps autobuild.
if "RENPY_BUILD_ALL" in os.environ:
print("Autobuild...")
subprocess.check_call(["scripts/autobuild.sh"])
# Compile all the python files.
compileall.compile_dir("renpy/", ddir="renpy/", force=True, quiet=1)
@@ -201,6 +218,7 @@ def main():
if not os.path.exists(destination):
os.makedirs(destination)
zip_rapt_symbols(destination)
if args.fast:
+3
View File
@@ -11,6 +11,8 @@ init offset = -2
init python:
gui.init(1280, 720)
## Enable checks for invalid or unstable properties in screens or transforms
define config.check_conflicting_properties = True
################################################################################
@@ -399,6 +401,7 @@ define gui.nvl_thought_xalign = 0.0
define gui.nvl_button_xpos = gui.scale(450)
define gui.nvl_button_xalign = 0.0
## Localization ################################################################
## This controls where a line break is permitted. The default is suitable for
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

+3 -3
View File
@@ -200,9 +200,9 @@ init python:
build.documentation('*.txt')
## 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.
## 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".
# define build.google_play_key = "..."
+123 -21
View File
@@ -408,8 +408,8 @@ style main_menu_version:
## 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.
##
## The scroll parameter can be None, or one of "viewport" or "vpgrid". When
## this screen is intended to be used with one or more children, which are
## 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.
screen game_menu(title, scroll=None, yinitial=0.0):
@@ -646,27 +646,40 @@ screen file_slots(title):
key "save_delete" action FileDelete(slot)
## Buttons to access other pages.
hbox:
vbox:
style_prefix "page"
xalign 0.5
yalign 1.0
spacing gui.page_spacing
hbox:
xalign 0.5
textbutton _("<") action FilePagePrevious()
spacing gui.page_spacing
if config.has_autosave:
textbutton _("{#auto_page}A") action FilePage("auto")
textbutton _("<") action FilePagePrevious()
if config.has_quicksave:
textbutton _("{#quick_page}Q") action FilePage("quick")
if config.has_autosave:
textbutton _("{#auto_page}A") action FilePage("auto")
## range(1, 10) gives the numbers from 1 to 9.
for page in range(1, 10):
textbutton "[page]" action FilePage(page)
if config.has_quicksave:
textbutton _("{#quick_page}Q") action FilePage("quick")
textbutton _(">") action FilePageNext()
## range(1, 10) gives the numbers from 1 to 9.
for page in range(1, 10):
textbutton "[page]" action FilePage(page)
textbutton _(">") action FilePageNext()
if config.has_sync:
if CurrentScreenName() == "save":
textbutton _("Upload Sync"):
action UploadSync()
xalign 0.5
else:
textbutton _("Download Sync"):
action DownloadSync()
xalign 0.5
style page_label is gui_label
@@ -684,7 +697,7 @@ style page_label:
ypadding gui.scale(3)
style page_label_text:
text_align 0.5
textalign 0.5
layout "subtitle"
hover_color gui.hover_color
@@ -932,7 +945,7 @@ style history_name:
style history_name_text:
min_width gui.history_name_width
text_align gui.history_name_xalign
textalign gui.history_name_xalign
style history_text:
xpos gui.history_text_xpos
@@ -940,7 +953,7 @@ style history_text:
xanchor gui.history_text_xalign
xsize gui.history_text_width
min_width gui.history_text_width
text_align gui.history_text_xalign
textalign gui.history_text_xalign
layout ("subtitle" if gui.history_text_xalign else "tex")
style history_label:
@@ -1109,7 +1122,7 @@ style help_label:
style help_label_text:
size gui.text_size
xalign 1.0
text_align 1.0
textalign 1.0
@@ -1171,7 +1184,7 @@ style confirm_frame:
yalign .5
style confirm_prompt_text:
text_align 0.5
textalign 0.5
layout "subtitle"
style confirm_button:
@@ -1365,7 +1378,7 @@ style nvl_label:
yanchor 0.0
xsize gui.nvl_name_width
min_width gui.nvl_name_width
text_align gui.nvl_name_xalign
textalign gui.nvl_name_xalign
style nvl_dialogue:
xpos gui.nvl_text_xpos
@@ -1373,7 +1386,7 @@ style nvl_dialogue:
ypos gui.nvl_text_ypos
xsize gui.nvl_text_width
min_width gui.nvl_text_width
text_align gui.nvl_text_xalign
textalign gui.nvl_text_xalign
layout ("subtitle" if gui.nvl_text_xalign else "tex")
style nvl_thought:
@@ -1382,7 +1395,7 @@ style nvl_thought:
ypos gui.nvl_thought_ypos
xsize gui.nvl_thought_width
min_width gui.nvl_thought_width
text_align gui.nvl_thought_xalign
textalign gui.nvl_thought_xalign
layout ("subtitle" if gui.nvl_text_xalign else "tex")
style nvl_button:
@@ -1394,6 +1407,95 @@ style nvl_button_text:
properties gui.button_text_properties("nvl_button")
## Bubble screen ###############################################################
##
## 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.
##
## https://www.renpy.org/doc/html/bubble.html#bubble-screen
screen bubble(who, what):
style_prefix "bubble"
window:
id "window"
if who is not None:
window:
id "namebox"
style "bubble_namebox"
text who:
id "who"
text what:
id "what"
style bubble_window is empty
style bubble_namebox is empty
style bubble_who is default
style bubble_what is default
style bubble_window:
xpadding 30
top_padding 5
bottom_padding 5
style bubble_namebox:
xalign 0.5
style bubble_who:
xalign 0.5
textalign 0.5
color "#000"
style bubble_what:
align (0.5, 0.5)
text_align 0.5
layout "subtitle"
color "#000"
define bubble.frame = Frame("gui/bubble.png", 55, 55, 55, 95)
define bubble.thoughtframe = Frame("gui/thoughtbubble.png", 55, 55, 55, 55)
define bubble.properties = {
"bottom_left" : {
"window_background" : Transform(bubble.frame, xzoom=1, yzoom=1),
"window_bottom_padding" : 27,
},
"bottom_right" : {
"window_background" : Transform(bubble.frame, xzoom=-1, yzoom=1),
"window_bottom_padding" : 27,
},
"top_left" : {
"window_background" : Transform(bubble.frame, xzoom=1, yzoom=-1),
"window_top_padding" : 27,
},
"top_right" : {
"window_background" : Transform(bubble.frame, xzoom=-1, yzoom=-1),
"window_top_padding" : 27,
},
"thought" : {
"window_background" : bubble.thoughtframe,
}
}
define bubble.expand_area = {
"bottom_left" : (0, 0, 0, 22),
"bottom_right" : (0, 0, 0, 22),
"top_left" : (0, 22, 0, 0),
"top_right" : (0, 22, 0, 0),
"thought" : (0, 0, 0, 0),
}
################################################################################
## Mobile Variants
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
+35 -31
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -31,22 +31,23 @@ init python:
ANDROID_NO_BUNDLE = 6
ANDROID_OK = 7
JDK_REQUIREMENT=8
NO_RAPT_TEXT = _("To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_JDK_TEXT = _("A 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}download and install the JDK{/a}, then restart the Ren'Py launcher.")
NO_SDK_TEXT = _("RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this.")
NO_KEY_TEXT = _("RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore.")
NO_BUNDLE_KEY_TEXT = _("RAPT has been installed, but a bundle key hasn't been configured. Please create a new key, or restore bundle.keystore.")
NO_KEY_TEXT = _("RAPT has been installed, but a key hasn't been configured. Please generate new keys, or copy android.keystore and bundle.keystore to the base directory.")
NO_CONFIG_TEXT = _("The current project has not been configured. Use \"Configure\" to configure it before building.")
NO_BUNDLE_TEXT = _("Please select if you want a Play Bundle (for Google Play), or a Universal APK (for sideloading and other app stores).")
OK_TEXT = _("Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device.")
PHONE_TEXT = _("Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button.")
TABLET_TEXT = _("Attempts to emulate an Android tablet.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button.")
OUYA_TEXT = _("Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button.")
OUYA_TEXT = _("Attempts to emulate a televison-based Android console.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button.")
INSTALL_SDK_TEXT = _("Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package.")
INSTALL_SDK_TEXT = _("Downloads and installs the Android SDK and supporting packages.")
GENERATE_KEYS_TEXT = _("Generates the keys required to sign the package.")
CONFIGURE_TEXT = _("Configures the package name, version, and other information about this project.")
PLAY_KEYS_TEXT = _("Opens the file containing the Google Play keys in the editor.\n\nThis is only needed if the application is using an expansion APK. Read the documentation for more details.")
BUILD_TEXT = _("Builds the Android package.")
BUILD_AND_INSTALL_TEXT = _("Builds the Android package, and installs it on an Android device connected to your computer.")
BUILD_INSTALL_AND_LAUNCH_TEXT = _("Builds the Android package, installs it on an Android device connected to your computer, then launches the app on your device.")
@@ -62,7 +63,6 @@ init python:
PLAY_BUNDLE_TEXT = _("Builds an Android App Bundle (ABB), intended to be uploaded to Google Play. This can include up to 2GB of data.")
UNIVERSAL_APK_TEXT = _("Builds a Universal APK package, intended for sideloading and stores other than Google Play. This can include up to 2GB of data.")
import subprocess
import re
import os
@@ -94,6 +94,7 @@ init python:
import rapt.install_sdk
import rapt.plat
import rapt.interface
import rapt.keys
rapt.plat.renpy = True
rapt.plat.translate = __
@@ -112,11 +113,12 @@ init python:
return ANDROID_NO_JDK
if not os.path.exists(rapt.plat.adb):
return ANDROID_NO_SDK
if not os.path.exists(rapt.plat.path("project/local.properties")):
if not rapt.keys.keys_exist(project.current.path):
return ANDROID_NO_KEY
if not os.path.exists(rapt.plat.path("project/bundle.properties")):
return ANDROID_NO_BUNDLE_KEY
if not os.path.exists(os.path.join(project.current.path, ".android.json")):
if not any([
os.path.exists(os.path.join(project.current.path, "android.json")),
os.path.exists(os.path.join(project.current.path, ".android.json"))
]):
return ANDROID_NO_CONFIG
if persistent.android_bundle is None:
return ANDROID_NO_BUNDLE
@@ -137,8 +139,6 @@ init python:
return NO_SDK_TEXT
if state == ANDROID_NO_KEY:
return NO_KEY_TEXT
if state == ANDROID_NO_BUNDLE_KEY:
return NO_BUNDLE_KEY_TEXT
if state == ANDROID_NO_CONFIG:
return NO_CONFIG_TEXT
if state == ANDROID_NO_BUNDLE:
@@ -181,31 +181,23 @@ init python:
build = p.dump["build"]
filename = os.path.join(p.path, ".android.json")
with open(filename, "r") as f:
android_json = json.load(f)
old_android_json = dict(android_json)
c = rapt.configure.Configuration(p.path)
if "google_play_key" in build:
android_json["google_play_key"] = build["google_play_key"]
c.google_play_key = build["google_play_key"]
else:
android_json.pop("google_play_key", None)
c.google_play_key = None
if "google_play_salt" in build:
if len(build["google_play_salt"]) != 20:
raise Exception("build.google_play_salt must be exactly 20 bytes long.")
android_json["google_play_salt"] = ", ".join(str(i) for i in build["google_play_salt"])
c.google_play_salt = ", ".join(str(i) for i in build["google_play_salt"])
else:
android_json.pop("google_play_salt", None)
c.google_play_salt = None
if android_json != old_android_json:
with open(filename, "w") as f:
json.dump(android_json, f)
c.save(p.path)
def android_build(p=None, gui=True, bundle=False, install=False, launch=False, destination=None, opendir=False):
@@ -288,7 +280,7 @@ init python:
with interface.nolinks():
rapt.build.build(rapt_interface, dist, bundle=bundle, install=install, launch=launch, finished=finished, permissions=p.dump['build']['android_permissions'])
rapt.build.build(rapt_interface, dist, p.path, bundle=bundle, install=install, launch=launch, finished=finished, permissions=p.dump['build']['android_permissions'])
def android_build_argument(cmd):
@@ -388,12 +380,16 @@ screen android:
frame style "l_indent":
has vbox
textbutton _("Install SDK & Create Keys"):
textbutton _("Install SDK"):
action AndroidIfState(state, ANDROID_NO_SDK, Jump("android_installsdk"))
hovered tt.Action(INSTALL_SDK_TEXT)
textbutton _("Generate Keys"):
action AndroidIfState(state, ANDROID_NO_KEY, Jump("android_keys"))
hovered tt.Action(GENERATE_KEYS_TEXT)
textbutton _("Configure"):
action AndroidIfState(state, ANDROID_NO_CONFIG, Jump("android_configure"))
action AndroidIfState(state, ANDROID_NO_KEY, Jump("android_configure"))
hovered tt.Action(CONFIGURE_TEXT)
add SPACER
@@ -509,6 +505,14 @@ label android_installsdk:
jump android
label android_keys:
python:
rapt.keys.generate_keys(MobileInterface("android"), project.current.path)
jump android
label android_configure:
python:
+12 -3
View File
@@ -29,12 +29,17 @@ init python hide:
__("{} is a Java keyword, and can't be used as part of a package name.")
__("What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots.")
__("The version number must contain only numbers and dots.")
__("How much RAM do you want to allocate to Gradle?\n\nThis must be a positive integer number.")
__("The RAM size must contain only numbers.")
__("How much RAM (in GB) do you want to allocate to Gradle?\nThis must be a positive integer number.")
__("The RAM size must contain only numbers and be positive.")
__("How would you like your application to be displayed?")
__("In landscape orientation.")
__("In portrait orientation.")
__("In the user's preferred orientation.")
__("Which app store would you like to support in-app purchasing through?")
__("Google Play.")
__("Amazon App Store.")
__("Both, in one app.")
__("Neither.")
__("Do you want to automatically update the Java source code?")
__("Yes. This is the best choice for most projects.")
__("No. This may require manual updates when Ren'Py or the project configuration changes.")
@@ -53,13 +58,17 @@ init python hide:
__("I was unable to accept the Android licenses.")
__("I was unable to install the required Android packages.")
__("I've finished installing the required Android packages.")
__("It looks like you're ready to start packaging games.")
__("Please enter your name or the name of your organization.")
__("I found an android.keystore file in the rapt directory. Do you want to use this file?")
__("I can create an application signing key for you. This key is required to create Universal APK for sideloading and stores other than Google Play.\n\nDo you want to create a key?")
__("I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?")
__("\n\nSaying 'No' will prevent key creation.")
__("Could not create android.keystore. Is keytool in your path?")
__("I've finished creating android.keystore. Please back it up, and keep it in a safe place.")
__("I found a bundle.keystore file in the rapt directory. Do you want to use this file?")
__("I can create a bundle signing key for you. This key is required to build an Android App Bundle (AAB) for upload to Google Play.\n\nDo you want to create a key?")
__("I will create the key in the bundle.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of bundle.keystore, and keep it in a safe place?")
__("\n\nSaying 'No' will prevent key creation.")
__("Could not create bundle.keystore. Is keytool in your path?")
__("I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place.")
__("It looks like you're ready to start packaging games.")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+29 -13
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -368,13 +368,15 @@ change_renpy_executable()
duplicate is set.
"""
prefix = py("lib/py{major}-mac-universal")
for f in list(self):
if f.name.startswith("lib/python") and (not duplicate):
name = app + "/Contents/Resources/" + f.name
elif f.name.startswith(py("lib/py{major}-mac-x86_64")):
name = app + "/Contents/MacOS/" + f.name[19:]
elif f.name.startswith(prefix):
name = app + "/Contents/MacOS/" + f.name[len(prefix)+1:]
else:
continue
@@ -399,7 +401,10 @@ change_renpy_executable()
for f in sorted(self, key=lambda a : a.name):
f.hash(sha, distributor)
return sha.hexdigest()
if PY2:
return sha.hexdigest().decode("utf-8")
else:
return sha.hexdigest()
def split_by_prefix(self, prefix):
"""
@@ -436,7 +441,7 @@ change_renpy_executable()
This manages the process of building distributions.
"""
def __init__(self, project, destination=None, reporter=None, packages=None, build_update=True, open_directory=False, noarchive=False, packagedest=None, report_success=True, scan=True, macapp=None, force_format=None):
def __init__(self, project, destination=None, reporter=None, packages=None, build_update=True, open_directory=False, noarchive=False, packagedest=None, report_success=True, scan=True, macapp=None, force_format=None, files_filter=None):
"""
Distributes `project`.
@@ -474,6 +479,11 @@ change_renpy_executable()
`force_format`
If given, forces the format of the distribution to be this.
`files_filter`
If given, use this object to decide which files must be included.
The object must contains the `filter(file, variant, format)`
method which must return True is the file must be included.
"""
# A map from a package to a unique update version hash.
@@ -646,6 +656,8 @@ change_renpy_executable()
# The time of the update version.
self.update_version = int(time.time())
self.files_filter = files_filter
for p in build_packages:
formats = p["formats"]
@@ -960,6 +972,7 @@ change_renpy_executable()
CFBundleDisplayName=display_name,
CFBundleExecutable=executable_name,
CFBundleIconFile="icon",
CFBundleIdentifier="com.domain.game",
CFBundleInfoDictionaryVersion="6.0",
CFBundleName=display_name,
CFBundlePackageType="APPL",
@@ -1051,8 +1064,8 @@ change_renpy_executable()
self.add_file(
mac,
prefix + "mac-x86_64/" + self.executable_name,
os.path.join(config.renpy_base, prefix + "mac-x86_64/renpy"),
prefix + "mac-universal/" + self.executable_name,
os.path.join(config.renpy_base, prefix + "mac-universal/renpy"),
True)
def add_mac_files(self):
@@ -1076,7 +1089,7 @@ change_renpy_executable()
self.add_file(filelist,
contents + "/MacOS/" + self.executable_name,
os.path.join(config.renpy_base, py("lib/py{major}-mac-x86_64/renpy")))
os.path.join(config.renpy_base, py("lib/py{major}-mac-universal/renpy")))
custom_fn = os.path.join(self.project.path, "icon.icns")
@@ -1094,7 +1107,7 @@ change_renpy_executable()
if not self.build['renpy']:
self.add_directory(filelist, contents + "/MacOS/lib")
self.add_directory(filelist, contents + py("/MacOS/lib/py{major}-mac-x86_64"))
self.add_directory(filelist, contents + py("/MacOS/lib/py{major}-mac-universal"))
self.add_directory(filelist, contents + py("/Resources/lib/python{major}.{minor}"))
self.file_lists[filelist].mac_lib_transform(self.app, self.build['renpy'])
@@ -1308,13 +1321,13 @@ change_renpy_executable()
def workaround_mac_notarization(self, fl):
"""
This works around mac notarization by compressing the unsigned,
un-notarized, binaries in lib/py3-mac-x86_64.
un-notarized, binaries in lib/py3-mac-universal.
"""
fl = fl.copy()
for f in fl:
if py("/lib/py{major}-mac-x86_64/") in f.name:
if py("/lib/py{major}-mac-universal/") in f.name:
with open(f.path, "rb") as inf:
data = inf.read()
@@ -1447,7 +1460,7 @@ change_renpy_executable()
if self.include_update and (variant not in [ 'ios', 'android', 'source']) and (not format.startswith("app-")):
with open(update_fn, "w") as f:
with open(update_fn, "wb" if PY2 else "w") as f:
json.dump(update, f, indent=2)
if (not dlc) or (format == "update"):
@@ -1529,6 +1542,9 @@ change_renpy_executable()
if f.directory:
pkg.add_directory(f.name, f.path)
else:
if self.files_filter is not None and not self.files_filter.filter(f, variant, format):
# Ignore file
continue
pkg.add_file(f.name, f.path, f.executable)
self.reporter.progress_done()
@@ -1584,7 +1600,7 @@ change_renpy_executable()
add_variant(p["name"])
fn = renpy.fsencode(os.path.join(self.destination, "updates.json"))
with open(fn, "w") as f:
with open(fn, "wb" if PY2 else "w") as f:
json.dump(index, f, indent=2)
+8 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -222,7 +222,13 @@ screen build_distributions:
for pkg in packages:
if not pkg["hidden"]:
$ description = pkg["description"]
textbutton "[description!q]" action PackageToggle(pkg["name"]) style "l_checkbox"
button:
action PackageToggle(pkg["name"]) style "l_checkbox"
hbox:
spacing 3
text "[description!q]"
if pkg["dlc"]:
text _("(DLC)")
add SPACER
add HALF_SPACER
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -197,7 +197,7 @@ init 1 python in editor:
1,
_("Atom"),
AD,
dlc,
"extension:atom",
_("Up to 150 MB download required."),
None)
@@ -205,7 +205,7 @@ init 1 python in editor:
fei.append(e)
# jEdit
# jEdit - Only present if it exists on system.
if os.path.exists(os.path.join(config.renpy_base, "jedit")):
fei.append(FancyEditorInfo(
+17 -11
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -159,11 +159,11 @@ screen front_page_project:
frame style "l_indent":
has vbox
textbutton _("game") action OpenDirectory(os.path.join(p.path, "game"), absolute=True)
textbutton _("base") action OpenDirectory(os.path.join(p.path, "."), absolute=True)
textbutton _("images") action OpenDirectory(os.path.join(p.path, "game/images"), absolute=True)
textbutton _("audio") action OpenDirectory(os.path.join(p.path, "game/audio"), absolute=True)
textbutton _("gui") action OpenDirectory(os.path.join(p.path, "game/gui"), absolute=True)
textbutton "game" action OpenDirectory(os.path.join(p.path, "game"), absolute=True)
textbutton "base" action OpenDirectory(os.path.join(p.path, "."), absolute=True)
textbutton "images" action OpenDirectory(os.path.join(p.path, "game/images"), absolute=True)
textbutton "audio" action OpenDirectory(os.path.join(p.path, "game/audio"), absolute=True)
textbutton "gui" action OpenDirectory(os.path.join(p.path, "game/gui"), absolute=True)
vbox:
if persistent.show_edit_funcs:
@@ -196,6 +196,7 @@ screen front_page_project:
textbutton _("Navigate Script") action Jump("navigation")
textbutton _("Check Script (Lint)") action Jump("lint")
textbutton _("Launch tests") action Jump("launch_tests")
if project.current.exists("game/gui.rpy"):
textbutton _("Change/Update GUI") action Jump("change_gui")
@@ -216,10 +217,7 @@ screen front_page_project:
textbutton _("Android") action Jump("android")
textbutton _("iOS") action Jump("ios")
textbutton _("Web") + " " + _("(Beta)") action Jump("web"):
if not PY2:
text_color DISABLED
textbutton _("Web") + " " + _("(Beta)") action Jump("web")
textbutton _("Generate Translations") action Jump("translate")
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
@@ -240,7 +238,7 @@ label front_page:
if (not persistent.has_chosen_language) or ("RENPY_CHOOSE_LANGUAGE" in os.environ):
if _preferences.language is None:
if (_preferences.language is None) or ("RENPY_CHOOSE_LANGUAGE" in os.environ):
hide screen bottom_info
call choose_language
show screen bottom_info
@@ -286,3 +284,11 @@ label force_recompile:
project.current.launch([ 'compile' ], wait=True)
jump front_page
label launch_tests:
python hide:
interface.processing(_("Launching tests..."))
project.current.launch([ 'test' ], wait=True)
jump front_page
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -214,7 +214,8 @@ class CodeGenerator(object):
'gui.insensitive_color' : repr(self.p.insensitive_color.hexcode),
'gui.text_color' : repr(self.p.text_color.hexcode),
'gui.interface_text_color' : repr(self.p.text_color.hexcode),
'gui.choice_text_color' : repr(self.p.choice_color.hexcode),
'gui.choice_button_text_idle_color' : repr(self.p.idle_color.hexcode),
'gui.choice_button_text_insensitive_color' : repr(self.p.insensitive_color.hexcode),
}
self.update_defines(replacements, language_defines[self.p.language])
+17 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -404,6 +404,21 @@ class ImageGenerator(object):
self.save(s, "main_menu", overwrite=False)
self.save(s, "game_menu", overwrite=False)
def generate_bubble(self):
import shutil
for fn in [ "bubble.png", "thoughtbubble.png" ]:
source = os.path.join(config.renpy_base, "gui", "game", "gui", fn)
dest = os.path.join(self.prefix, fn)
if source == dest:
return
shutil.copyfile(source, dest)
def generate_all(self):
self.generate_textbox()
self.generate_choice_button()
@@ -415,6 +430,7 @@ class ImageGenerator(object):
self.generate_notify()
self.generate_menus()
self.generate_icon()
self.generate_bubble()
if __name__ == "__main__":
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -67,8 +67,8 @@ class GuiParameters(object):
if light:
self.selected_color = Color("#555555")
self.idle_color = Color("#aaaaaa")
self.idle_small_color = Color("#888888")
self.idle_color = Color("#707070")
self.idle_small_color = Color("#606060")
self.text_color = Color("#404040")
self.choice_color = Color("#cccccc")
+3 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -90,15 +90,12 @@ label install_live2d:
patterns = [
(r".*/Core/dll/linux/x86_64/(libLive2DCubismCore.so)", _prefix + r"linux-x86_64/\1"),
(r".*/Core/dll/windows/x86_64/(Live2DCubismCore.dll)", _prefix + r"windows-x86_64/\1"),
(r".*/Core/dll/windows/x86/(Live2DCubismCore.dll)", _prefix + r"windows-i686/\1"),
(r".*/Core/dll/macos/(libLive2DCubismCore.dylib)", _prefix + r"mac-x86_64/\1"),
(r".*/Core/dll/macos/(libLive2DCubismCore.dylib)", _prefix + r"mac-universal/\1"),
(r".*/Core/dll/experimental/rpi/(libLive2DCubismCore.so)", _prefix + r"linux-armv7l/\1"),
(r".*/Core/dll/android/(armeabi-v7a/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
(r".*/Core/dll/android/(arm64-v8a/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
# This doesn't exist yet.
# (r".*/Core/dll/android/(x86_64/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
(r".*/Core/dll/android/(x86_64/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
]
install_from_zip("Live2D Cubism SDK for Native", "CubismSdkForNative-4-*.zip", patterns)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 @@
# This file imports the extensions API into the default store, and makes it
# also contains the strings used by the extensions API, so the Ren'Py translation
# framework can find them.
+13 -5
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -170,7 +170,7 @@ screen common:
has vbox
text message:
text_align 0.5
textalign 0.5
xalign 0.5
layout "subtitle"
@@ -200,7 +200,15 @@ screen common:
add SPACER
for v, l in choices:
textbutton l action SetScreenVariable("selected", v)
textbutton l:
action SetScreenVariable("selected", v)
selected_background REVERSE_IDLE
selected_hover_background REVERSE_HOVER
xpadding 20
size_group "choice"
text_selected_idle_color REVERSE_TEXT
text_selected_hover_color REVERSE_TEXT
text_xalign 0.5
if selected is not None:
$ continue_ = Return(selected)
@@ -211,7 +219,7 @@ screen common:
add SPACER
text submessage:
text_align 0.5
textalign 0.5
xalign 0.5
layout "subtitle"
@@ -250,7 +258,7 @@ screen launcher_input:
has vbox
text message:
text_align 0.5
textalign 0.5
xalign 0.5
layout "subtitle"
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
+5 -23
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -97,32 +97,14 @@ label itch:
files = [ ]
for fn in os.listdir(destination):
fn = os.path.join(destination, fn)
if fn.endswith("-all.zip"):
channel = "win-osx-linux"
elif fn.endswith("-market.zip"):
channel = "win-osx-linux"
elif fn.endswith("-pc.zip"):
channel = "win-linux"
elif fn.endswith("-win.zip"):
channel = "win"
elif fn.endswith("-mac.zip"):
channel = "osx"
elif fn.endswith("-linux.tar.bz2"):
channel = "linux"
elif fn.endswith("-release.apk"):
channel = "android"
for pattern, channel in reversed(build['itch_channels']):
if fnmatch.fnmatch(fn, pattern):
break
else:
continue
fn = os.path.join(destination, fn)
files.append((fn, channel))
if not os.path.exists(destination):
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -23,7 +23,7 @@ init python hide:
import os
macapp = os.path.join(config.renpy_base, "renpy.app/Contents/MacOS")
maclib = os.path.join(config.renpy_base, distribute.py("lib/py{major}-mac-x86_64"))
maclib = os.path.join(config.renpy_base, distribute.py("lib/py{major}-mac-universal"))
if os.path.exists(maclib):
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 Tom Rothamel <pytom@bishoujo.us>
#
# Permission is hereby granted, free of charge, to any person
# obtaining a copy of this software and associated documentation files
@@ -249,7 +249,7 @@ screen navigation:
if persistent.navigation == "todo":
text _("No TODO comments found.\n\nTo create one, include \"# TODO\" in your script."):
text_align 0.5
textalign 0.5
xalign 0.5
yalign 0.5
@@ -279,4 +279,3 @@ label navigation_loop:
label navigation_refresh:
$ project.current.update_dump(True)
jump navigation_loop
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
+18 -28
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -270,22 +270,8 @@ init python:
build.classify_renpy("**/thumbs.db", None)
build.classify_renpy("**/.*", None)
# Atom rules. These have to be very early, since Atom uses names like
# tmp for packages.
build.classify_renpy("atom/", "atom-all")
build.classify_renpy("atom/default-dot-atom/**", "atom-all")
build.classify_renpy("atom/atom-windows/**", "atom-windows")
build.classify_renpy("atom/Atom.app/**", "atom-mac")
build.classify_renpy("atom/atom-linux**", "atom-linux")
try:
with open(os.path.join(config.renpy_base, "atom", "executable.txt")) as f:
for l in f:
build.executable(l.strip())
except Exception:
pass
build.classify_renpy("rapt/**/libLive2DCubismCore.so", None)
build.classify_renpy("rapt/symbols/", None)
build.classify_renpy("rapt/**", "rapt")
build.executable("rapt/prototype/gradlew")
@@ -351,16 +337,26 @@ init python:
build.classify_renpy(pattern + "/**.rpyc", binary)
build.classify_renpy(pattern + "/**.rpymc", binary)
build.classify_renpy(pattern + "/**/" + renpy.script.BYTECODE_FILE, binary)
build.classify_renpy(pattern + "/**/cache/bytecode-311.rpyb", "web")
build.classify_renpy(pattern + "/**/cache/bytecode-*.rpyb", None)
build.classify_renpy(pattern + "/**/cache/*", binary)
build.classify_renpy(pattern + "/**", source)
build.classify_renpy("renpy.py", "binary")
source_and_binary("renpy")
# games.
build.classify_renpy("launcher/game/theme/", None)
build.classify_renpy("gui/game/gui/", None)
build.classify_renpy("gui/game/gui/", "source")
build.classify_renpy("gui/game/gui/bubble.png", "source")
build.classify_renpy("gui/game/gui/thoughtbubble.png", "source")
build.classify_renpy("gui/game/gui/*", None)
source_and_binary("launcher", py=False)
source_and_binary("gui", binary=None, py=False)
@@ -420,11 +416,6 @@ init python:
build.classify_renpy("lib/", "binary")
# renpy.app is now built from scratch from distribute.rpy.
# jedit rules.
build.classify_renpy("jedit/**", "jedit")
# Packages.
build.packages = [ ]
@@ -433,16 +424,12 @@ init python:
build.package("source", "tar.bz2", "source source_only", update=False)
build.package("steam", "zip", "steam", dlc=True)
build.package("jedit", "zip", "jedit", dlc=True)
build.package("atom-linux", "tar.bz2", "atom-all atom-linux", dlc=True)
build.package("atom-mac", "zip", "atom-all atom-mac", dlc=True)
build.package("atom-windows", "zip", "atom-all atom-windows", dlc=True)
build.package("rapt", "zip", "rapt", dlc=True)
build.package("renios", "zip", "renios", dlc=True)
build.package("web", "zip", "web", dlc=True)
# The identifier for the SDK.
define build.mac_info_plist["CFBundleIdentifier"] = "org.renpy.sdk"
# Enable the special launcher translation mode.
define config.translate_launcher = True
@@ -463,3 +450,6 @@ python early:
# Since the launcher can be run directly or can be run from the SDK directory,
# uneliding files needs to be handled slightly differently.
define config.alternate_unelide_path = os.path.join(config.basedir, "launcher")
# Disable skipping.
define config.allow_skipping = False
+2 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -31,12 +31,11 @@ init python in distribute:
import sys
import threading
from renpy import six
from zipfile import crc32
# Since the long type doesn't exist on py3, define it here
if six.PY3:
if not PY2:
long = int
zlib.Z_DEFAULT_COMPRESSION = 5
+6 -6
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -248,8 +248,8 @@ screen preferences():
add HALF_SPACER
textbutton _("Default theme") style "l_checkbox" action [SetField(persistent, "theme", None), RestartAtPreferences() ]
textbutton _("Dark theme") style "l_checkbox" action [SetField(persistent, "theme", "dark", None), RestartAtPreferences()]
textbutton _("Custom theme") style "l_checkbox" action [SetField(persistent, "theme", "custom", None), RestartAtPreferences()]
textbutton _("Dark theme") style "l_checkbox" action [SetField(persistent, "theme", "dark"), RestartAtPreferences()]
textbutton _("Custom theme") style "l_checkbox" action [SetField(persistent, "theme", "custom"), RestartAtPreferences()]
add SPACER
@@ -343,7 +343,7 @@ screen choose_language():
style "l_label_text"
size 36
text_align .5
textalign .5
layout "subtitle"
add SPACER
@@ -356,7 +356,7 @@ screen choose_language():
for tlid, tlname in tran:
textbutton tlname:
xmaximum (TWOTHIRDS//3)
action SetScreenVariable("chosen_lang", tlid)
action [ SetScreenVariable("chosen_lang", tlid), Language(tlid), project.SelectTutorial(True), Return() ]
hovered SetScreenVariable("local_lang", tlid)
unhovered SetScreenVariable("local_lang", chosen_lang)
style "l_list"
@@ -377,7 +377,7 @@ screen choose_language():
text_style "l_default"
text_size 30
text_text_align .5
text_textalign .5
text_layout "subtitle"
+35 -2
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -48,6 +48,7 @@ init python in project:
_("Press shift+O (the letter) to access the console."),
_("Press shift+D to access the developer menu."),
_("Have you backed up your projects recently?"),
_("Lint checks your game for potential mistakes, and gives you statistics."),
]
class Project(object):
@@ -276,6 +277,8 @@ init python in project:
if wait:
if p.wait():
print("Launch failed. command={!r}, returncode={!r}".format(cmd, p.returncode))
if args and not self.is_writeable():
interface.error(_("Launching the project failed."), _("This may be because the project is not writeable."))
else:
@@ -387,9 +390,18 @@ init python in project:
can be included in the project.
"""
def is_script(fn):
fn = fn.lower()
for i in [ ".rpy", ".rpym", "_ren.py" ]:
if fn.endswith(i):
return True
return False
rv = [ ]
rv.extend(i for i, isdir in util.walk(self.path)
if (not isdir) and (i.endswith(".rpy") or i.endswith(".rpym")) and (not i.startswith("tmp/")) )
if (not isdir) and is_script(i) and (not i.startswith("tmp/")) )
return rv
@@ -833,3 +845,24 @@ init python:
return False
renpy.arguments.register_command("get_projects_directory", get_projects_directory_command)
def set_project_command():
ap = renpy.arguments.ArgumentParser()
ap.add_argument("project", help="The full path to the project to select.")
args = ap.parse_args()
projects = os.path.dirname(os.path.abspath(args.project))
name = os.path.basename(args.project)
persistent.projects_directory = renpy.fsdecode(projects)
project.multipersistent.projects_directory = persistent.projects_directory
persistent.active_project = name
project.multipersistent.save()
renpy.save_persistent()
return False
renpy.arguments.register_command("set_project", set_project_command)
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -402,7 +402,7 @@ style l_alternate is l_default:
style l_alternate_text is l_default:
size size(14)
font light_font()
text_align 1.0
textalign 1.0
style l_small_button is l_button
@@ -488,7 +488,7 @@ style l_info_button is l_button:
xmargin 50
style l_info_button_text is l_button_text:
text_align 0.5
textalign 0.5
layout "subtitle"
# Progress bar.
+10 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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
@@ -22,6 +22,7 @@
init python:
class FileTail(object):
def __init__(self, filename, lines=8):
@@ -31,6 +32,11 @@ init python:
def update(self):
def filter_text(s):
if "Unknown chunk type '200'" in s:
return False
return True
try:
with open(self.filename) as f:
text = f.read()
@@ -49,6 +55,9 @@ init python:
if "\r" in l:
_head, _sep, l = l.rpartition("\r")
if not filter_text(l):
continue
while l:
newtext.append(l[:100])
l = l[100:]
+24 -2
View File
@@ -1,9 +1,31 @@
init python:
TEST_PROJECTS = u"/tmp/renpy-moé"
import shutil
def finally_callback():
print("finally "*100)
whether = renpy.is_in_test()
define config.end_testcase_callbacks += [finally_callback]
testcase default:
python hide:
renpy.watch("renpy.is_in_test()")
renpy.watch("waitch")
renpy.watch("whether")
waitch = 5
"preferences"
"theme"
"dEfAuLt theme"
"theme"
"dark the"
"return"
# exit
"quit"
init python:
TEST_PROJECTS = "/tmp/renpy-moé"
import shutil
testcase old_default:
call new_project
call translate_project
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright 2004-2022 Tom Rothamel <pytom@bishoujo.us>
# Copyright 2004-2023 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 -3
View File
@@ -174,8 +174,8 @@ translate arabic strings:
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."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
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."
# screens.rpy:476
old "Return"
@@ -640,4 +640,3 @@ translate arabic strings:
# screens.rpy:1429
old "Menu"
new "Menu"
+1 -1
View File
@@ -20,7 +20,7 @@ label start:
define config.rtl = True
define gui.text_align = 1.0
define gui.textalign = 1.0
define gui.button_text_xalign = 1.0
define gui.prompt_text_xalign = 1.0
define gui.navigation_xpos = 240
+612 -4
View File
@@ -3,7 +3,7 @@ translate finnish strings:
# 00action_file.rpy:26
old "{#weekday}Monday"
new "{#weekday}Maanatai"
new "{#weekday}Maanantai"
# 00action_file.rpy:26
old "{#weekday}Tuesday"
@@ -199,7 +199,8 @@ translate finnish 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?"
# Automatic translation.
new "Oletko varma, että haluat ohittaa näkymättömän dialogin seuraavaan vaihtoehtoon?"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -223,7 +224,8 @@ translate finnish 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}."
# Automatic translation.
new "Tämä ohjelma sisältää vapaita ohjelmistoja useiden lisenssien alla, mukaan lukien MIT-lisenssi ja GNU Lesser General Public License. Täydellinen luettelo ohjelmistoista, mukaan lukien linkit täydelliseen lähdekoodiin, löytyy {a=https://www.renpy.org/l/license}täältä{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -239,7 +241,8 @@ translate finnish strings:
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
# Automatic translation.
new "Yhteydenotto App Storeen\nOdottakaa..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -333,3 +336,608 @@ translate finnish strings:
old "return"
new "palaa"
translate finnish strings:
# renpy/common/00accessibility.rpy:32
old "bar"
new "palkki"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "valittu"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "viewport"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "vaakasuora vieritys"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
# Automatic translation.
new "pystysuora vieritys"
# renpy/common/00accessibility.rpy:37
old "activate"
# Automatic translation.
new "aktivoi"
# renpy/common/00accessibility.rpy:38
old "deactivate"
# Automatic translation.
new "deaktivoi"
# renpy/common/00accessibility.rpy:39
old "increase"
new "lisää"
# renpy/common/00accessibility.rpy:40
old "decrease"
new "vähennä"
# renpy/common/00accessibility.rpy:138
old "Font Override"
# Automatic translation.
new "Fontin ohitus"
# renpy/common/00accessibility.rpy:142
old "Default"
# Automatic translation.
new "Oletus"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
# Automatic translation.
new "Tekstin koon skaalaus"
# renpy/common/00accessibility.rpy:162
old "Reset"
# Automatic translation.
new "Nollaa"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
new "Rivivälin skaalaus"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Korkean kontrastin teksti"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
new "Tietokoneen ääninäyttely"
# renpy/common/00accessibility.rpy:197
old "Off"
new "Pois päältä"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
# Automatic translation.
new "Tekstistä puheeksi"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Leikepöytä"
# renpy/common/00accessibility.rpy:209
old "Debug"
# Automatic translation.
new "Vianmääritys"
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
new "Tietokoneen ääninäyttelyn äänenvoimakkuuden pudotus"
# 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."
new "Tämän valikon vaihtoehtojen tarkoituksena on parantaa saavutettavuutta. Ne eivät välttämättä toimi kaikissa peleissä, ja joidenkin vaihtoehtojen yhdistelmät saattavat tehdä pelistä pelikelvottoman. Tämä ei johdu pelistä tai moottorista. Saat fontteja vaihtaessa parhaat tulokset kun yrität pitää tekstin koon samana kuin se oli alun perin."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
new "Tallennuspaikka %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
new "Lataa tallennus %s: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
new "Poista tallennus [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
new "Tiedoston sivu: auto"
# renpy/common/00action_file.rpy:595
old "File page quick"
new "Tiedoston sivu: pika"
# renpy/common/00action_file.rpy:597
old "File page [text]"
new "Tiedoston sivu: [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
new "Seuraava tiedoston sivu."
# renpy/common/00action_file.rpy:868
old "Previous file page."
new "Edellinen tiedoston sivu."
# renpy/common/00action_file.rpy:944
old "Quick save."
new "Pikatallennus."
# renpy/common/00action_file.rpy:963
old "Quick load."
# Automatic translation.
new "Pikalataus."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Kieli [text]"
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
# Automatic translation.
new "Vuorovaikutteinen ohjaaja ei ole käytössä täällä."
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Valmis"
# renpy/common/00director.rpy:1584
old "(statement)"
# Automatic translation.
new "(lausunto)"
# renpy/common/00director.rpy:1585
old "(tag)"
new "(tag)"
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(attribuutit)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(transform)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(kanava)"
# renpy/common/00director.rpy:1625
old "(filename)"
# Automatic translation.
new "(tiedostonimi)"
# renpy/common/00director.rpy:1654
old "Change"
# Automatic translation.
new "Muuta"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "Lisää"
# renpy/common/00director.rpy:1662
old "Remove"
# Automatic translation.
new "Poista"
# renpy/common/00director.rpy:1697
old "Statement:"
# Automatic translation.
new "Lausunto:"
# renpy/common/00director.rpy:1718
old "Tag:"
new "Tag:"
# renpy/common/00director.rpy:1734
old "Attributes:"
# Automatic translation.
new "Ominaisuudet:"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
# Automatic translation.
new "Napsauttamalla voit vaihtaa attribuuttia, oikealla napsauttamalla voit vaihtaa negatiivista attribuuttia."
# renpy/common/00director.rpy:1757
old "Transforms:"
# Automatic translation.
new "Muuntuu:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
# Automatic translation.
new "Napsauta aseta muunnos, lisää muunnosluetteloon napsauttamalla hiiren kakkospainiketta."
# renpy/common/00director.rpy:1780
old "Behind:"
# Automatic translation.
new "Takana:"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
# Automatic translation.
new "Aseta napsauttamalla, lisää takaluetteloon napsauttamalla hiiren kakkospainiketta."
# renpy/common/00director.rpy:1801
old "Transition:"
# Automatic translation.
new "Siirtyminen:"
# renpy/common/00director.rpy:1819
old "Channel:"
# Automatic translation.
new "Kanava:"
# renpy/common/00director.rpy:1837
old "Audio Filename:"
# Automatic translation.
new "Äänitiedoston nimi:"
# 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 "Tämä tallennus on luotu eri laitteella. Pahantahtoisesti tehdyt tallennustiedostot voivat vahingoittaa tietokonettasi. Luotatko tämän tallennuksen tekijään ja kaikkiin, jotka ovat voineet muuttaa tiedostoa?"
# 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 "Luotatko laitteeseen, jolla tallennus luotiin? Valitse kyllä vain, jos olet laitteen ainoa käyttäjä."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
# Automatic translation.
new "Kuvakaappauksen tallentaminen nimellä %s epäonnistui."
# renpy/common/00preferences.rpy:271
old "display"
# Automatic translation.
new "näyttö"
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "siirtymät"
# renpy/common/00preferences.rpy:292
old "skip transitions"
new "ohita siirtymät"
# renpy/common/00preferences.rpy:294
old "video sprites"
new "video sprites"
# renpy/common/00preferences.rpy:303
old "show empty window"
# Automatic translation.
new "näytä tyhjä ikkuna"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "tekstin nopeus"
# renpy/common/00preferences.rpy:320
old "joystick"
# Automatic translation.
new "Joystick"
# renpy/common/00preferences.rpy:320
old "joystick..."
new "joystick..."
# renpy/common/00preferences.rpy:327
old "skip"
# Automatic translation.
new "ohita"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
new "ohita näkemätön [text]"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
new "ohita näkemätön teksti"
# renpy/common/00preferences.rpy:337
old "begin skipping"
new "aloita ohittaminen"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "valintojen jälkeen"
# renpy/common/00preferences.rpy:348
old "skip after choices"
new "ohita valintojen jälkeen"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
new "automaattisen eteenpäinsiirtymisen aika"
# renpy/common/00preferences.rpy:364
old "auto-forward"
new "automaattinen eteenpäinsiirtyminen"
# renpy/common/00preferences.rpy:371
old "Auto forward"
new "Automaattinen eteenpäinsiirtyminen"
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
new "automaattinen eteenpäinsiirtyminen napsautuksen jälkeen"
# renpy/common/00preferences.rpy:383
old "automatic move"
# Automatic translation.
new "automaattinen siirto"
# renpy/common/00preferences.rpy:392
old "wait for voice"
# Automatic translation.
new "odota ääntä"
# renpy/common/00preferences.rpy:401
old "voice sustain"
# Automatic translation.
new "äänen ylläpitäminen"
# renpy/common/00preferences.rpy:410
old "self voicing"
new "tietokoneen ääninäyttely"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
new "tietokoneen ääninäyttelyn äänenvoimakkuuden pudotus"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
new "leikepöydän ääni"
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "virheenkorjausääni"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
new "korosta ääntä"
# renpy/common/00preferences.rpy:454
old "rollback side"
# Automatic translation.
new "Rollback-puoli"
# renpy/common/00preferences.rpy:464
old "gl powersave"
new "gl powersave"
# renpy/common/00preferences.rpy:470
old "gl framerate"
new "gl framerate"
# renpy/common/00preferences.rpy:473
old "gl tearing"
new "gl tearing"
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "fontin muunnos"
# renpy/common/00preferences.rpy:479
old "font size"
# Automatic translation.
new "fonttikoko"
# renpy/common/00preferences.rpy:487
old "font line spacing"
# Automatic translation.
new "fontin riviväli"
# renpy/common/00preferences.rpy:495
old "system cursor"
# Automatic translation.
new "järjestelmän kursori"
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "renderöintivalikko"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "saavutettavuusvalikko"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "korkean kontrastin teksti"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
# Automatic translation.
new "ääni kun se on minimoitu"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "ääni kun se ei ole keskittynyt"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "verkkovälimuistin esilataus"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "ääni pelivalikon jälkeen"
# renpy/common/00preferences.rpy:571
old "main volume"
new "pää-äänenvoimakkuus"
# renpy/common/00preferences.rpy:572
old "music volume"
new "musiikin äänenvoimakkuus"
# renpy/common/00preferences.rpy:573
old "sound volume"
new "tehosteiden äänenvoimakkuus"
# renpy/common/00preferences.rpy:574
old "voice volume"
new "ääninäyttelyn äänenvoimakkuus"
# renpy/common/00preferences.rpy:575
old "mute main"
new "mykistä pää-ääni"
# renpy/common/00preferences.rpy:576
old "mute music"
new "mykistä musiikki"
# renpy/common/00preferences.rpy:577
old "mute sound"
new "mykistä äänitehosteet"
# renpy/common/00preferences.rpy:578
old "mute voice"
new "mykistä ääninäyttely"
# renpy/common/00preferences.rpy:579
old "mute all"
new "mykistä kaikki"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "Puhekuplaeditori"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(piilota)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "Synkronointi ladattu."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Yhteyttä Ren'Py Sync -palvelimeen ei saatu muodostettua."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
# Automatic translation.
new "Ren'Py Sync -palvelimen aikakatkaisu."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
new "Ren'Py Sync -palvelimeen muodostettaessa yhteyttä tapahtui tuntematon virhe."
# 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 "Ren'Py Sync -palvelimella ei ole kopiota tästä synkronoinnista. Synkronointitunnus voi olla virheellinen tai se voi olla vanhentunut."
# 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 "Kirjoita luomasi synkronointitunnus.\nÄlä koskaan anna synkronointitunnusta, jota et ole luonut itse."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "Synkronointitunnus ei ole oikeassa muodossa."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
# Automatic translation.
new "Synkronointia ei voitu purkaa."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "Synkronointi kuuluu eri peliin."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
# Automatic translation.
new "Synkronointi sisältää tiedoston, jonka nimi on virheellinen."
# 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 "Tämä lataa tallennuksesi {a=https://sync.renpy.org}Ren'Py Sync Serveriin{/a}.\nHaluatko jatkaa?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
new "Syötä synkronointitunnus"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Tämä ottaa yhteyttä {a=https://sync.renpy.org}Ren'Py Sync Serveriin{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
new "Synkronointi onnistui"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
new "Synkronointitunnus on:"
# 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}."
new "Voit käyttää tätä tunnusta ladataksesi tallennuksesi toiseen laitteeseen.\nTämä synkronointi päättyy tunnin kuluttua.\nRen'Py Sync on {a=https://www.renpy.org/sponsors.html}Ren'Pyn sponsorien{/a} tukema."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "Synkronointivirhe"
+109 -1
View File
@@ -75,7 +75,8 @@ translate finnish 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}"
# Automatic translation.
new "\n{color=#cfc}✔ ennustettu kuva (hyvä){/color}\n{color=#fcc}✘ ennakoimaton kuva (huono){/color}\n{color=#fff}Siirrä vetämällä.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
@@ -177,3 +178,110 @@ translate finnish strings:
old "jump <label>: jumps to label"
new "jump <tunnus>: hyppää 'script.rpy'-tiedosto(i)ssa olevaan, tunnuksella merkittyyn kohtaan"
translate finnish strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
# Automatic translation.
new "Interaktiivinen johtaja (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Pysyvä katseluohjelma"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Näytä kuvan latausloki (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
# Automatic translation.
new "Piilota kuvan latausloki (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
# Automatic translation.
new "Kuva-attribuutit"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "Puhekuplaeditori (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (piilotettu)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Piilota poistettu"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Näytä poistettu"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Suodatettava tyyppi: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
# Automatic translation.
new "Tekstuurit: [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 "Kuvien välimuisti: [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: näytä tämä apu\n help <expr>: näytä <expr>:n allekirjoitus ja dokumentaatio"
# 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 "Ohje saattaa näyttää dokumentoimattomia toimintoja. Tarkista, että toiminto tai\nluokkaa, jota haluat käyttää, on dokumentoitu.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: tulostaa paluupinon"
# 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>: katsella python-lauseketta\n watch short: tekee jäljitettyjen lausekkeiden esityksestä lyhyen (oletusarvo)\n watch long: tekee jäljitettyjen ilmaisujen esittämisen sellaiseksi kuin se on."
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Lyhentää objektien esitystä konsolissa (oletus)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
# Automatic translation.
new "long: Tulostaa objektien täydellisen esityksen konsoliin."
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: Mahdollistaa unicode-symbolien pakenemisen unicode-merkkijonoissa."
# 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: Poistaa unicode-merkkijonojen unicode-symbolien eskandoimisen ja tulostaa ne sellaisenaan (oletus)."
+130
View File
@@ -177,3 +177,133 @@ translate finnish strings:
old "Copies the errors.txt file to the clipboard."
new "Kopioi errors.txt-tiedoston leikepöydälle."
translate finnish strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderer"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Force GL Renderer"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Force ANGLE Renderer"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
# Automatic translation.
new "Pakota GLES Renderer"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
# Automatic translation.
new "Pakota GL2 Renderer"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "Voima ANGLE2 Renderer"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
# Automatic translation.
new "Pakota GLES2 Renderer"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "Enable (Ei estolistaa)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Powersave"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "Framerate"
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Näyttö"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing"
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
# Automatic translation.
new "Tämä peli vaatii GL2:n käyttöä, jota ei voida alustaa."
# 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 "{a=edit:1:log.txt}log.txt{/a} tiedosto voi sisältää tietoja, joiden avulla voit selvittää, mikä tietokoneessa on vikana."
# 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 "Lisätietoja tämän korjaamisesta löytyy {a=[url]}-dokumentaatiosta{/a}."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "Muuta renderöintivaihtoehtoja"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
# Automatic translation.
new "Paina tai siirrä '[control!s]' [kind]."
# renpy/common/_errorhandling.rpym:555
old "Open"
# Automatic translation.
new "Avaa"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
# Automatic translation.
new "Kopioi 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 "Kopioi traceback.txt-tiedoston leikepöydälle BBkoodina foorumeille, kuten https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
# Automatic translation.
new "Kopioi Markdown"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# Automatic translation.
new "Kopioi traceback.txt-tiedoston leikepöydälle Markdown-muodossa Discordia varten."
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
# Automatic translation.
new "Jättää poikkeuksen huomiotta, jolloin voit jatkaa."
# renpy/common/_errorhandling.rpym:637
old "Console"
# Automatic translation.
new "Konsoli"
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
# Automatic translation.
new "Avaa konsolin ongelman vianmääritystä varten."
+68
View File
@@ -409,3 +409,71 @@ translate finnish strings:
old "## Quick buttons."
new "## Pikavalikko."
translate finnish 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 "## Init offset -lauseke saa aikaan sen, että tässä tiedostossa olevat alustamislausekkeet suoritetaan ennen minkä tahansa muun tiedoston init-lausekkeita."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
# Automatic translation.
new "## Ota käyttöön virheellisten tai epävakaiden ominaisuuksien tarkistukset näytöissä tai muunnoksissa."
# gui/game/gui.rpy:19
old "## GUI Configuration Variables"
# Automatic translation.
new "## GUI-konfiguraatiomuuttujat"
# gui/game/gui.rpy:167
old "## The color of button text in various states."
# Automatic translation.
new "## Painikkeen tekstin väri eri tiloissa."
# 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)."
# Automatic translation.
new "## Painikkeen tekstin vaakasuora kohdistus. (0.0 on vasen, 0.5 on keskellä, 1.0 on oikea)."
# gui/game/gui.rpy:278
old "## The position of the main menu text."
# Automatic translation.
new "## Päävalikon tekstin sijainti."
# gui/game/gui.rpy:287
old "## Generic frames."
# Automatic translation.
new "## Yleiset kehykset."
# 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 "## Oletusarvoinen graafinen käyttöliittymä käyttää vain liukusäätimiä ja pystysuuntaisia vierityspalkkeja. Kaikkia muita palkkeja käytetään vain luojan kirjoittamissa näytöissä."
# 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 "## NVL-tilan merkintöjen enimmäismäärä, jonka Ren'Py näyttää. Kun näytetään tätä enemmän merkintöjä, vanhin merkintä poistetaan."
# gui/game/gui.rpy:405
old "## Localization"
# Automatic translation.
new "## Lokalisointi"
# gui/game/gui.rpy:407
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"
# Automatic translation.
new "## Tämä säätää, missä kohtaa rivinvaihto sallitaan. Oletusarvo sopii useimmille kielille. Luettelo käytettävissä olevista arvoista löytyy osoitteesta https://www.renpy.org/doc/html/style_properties.html#style-property-language."
# gui/game/gui.rpy:415
old "## Mobile devices"
# Automatic translation.
new "## Mobiililaitteet"
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
# Automatic translation.
new "## Muuta eri asioiden kokoa ja välejä."
+938 -2
View File
@@ -425,7 +425,8 @@
# front_page.rpy:147
old "[p.name!q] (template)"
new "[p.name!q] (template)"
# Automatic translation.
new "[p.name!q] (malli)"
# front_page.rpy:149
old "Select project [text]."
@@ -437,7 +438,8 @@
# front_page.rpy:166
old "The Question"
new "The Question"
# Automatic translation.
new "Kysymys"
# front_page.rpy:182
old "Active Project"
@@ -1186,3 +1188,937 @@
# updater.rpy:195
old "Proceed"
new "Jatka"
translate finnish strings:
# game/add_file.rpy:37
old "The file name may not be empty."
# Automatic translation.
new "Tiedoston nimi ei saa olla tyhjä."
# game/android.rpy:37
old "A 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}download and install the JDK{/a}, then restart the Ren'Py launcher."
# Automatic translation.
new "Android-pakettien rakentamiseen Windowsissa tarvitaan 64-bittinen/x64 Java [JDK_REQUIREMENT] Development Kit. JDK on eri asia kuin JRE, joten on mahdollista, että sinulla on Java ilman JDK:ta.\n\nLataa ja asenna JDK {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}{/a} ja käynnistä sitten Ren'Py-launcher uudelleen."
# game/android.rpy:39
old "RAPT has been installed, but a key hasn't been configured. Please generate new keys, or copy android.keystore and bundle.keystore to the base directory."
# Automatic translation.
new "RAPT on asennettu, mutta avainta ei ole määritetty. Luo uudet avaimet tai kopioi android.keystore ja bundle.keystore perushakemistoon."
# game/android.rpy:41
old "Please select if you want a Play Bundle (for Google Play), or a Universal APK (for sideloading and other app stores)."
# Automatic translation.
new "Valitse, haluatko Play Bundlen (Google Playta varten) vai Universal APK:n (sivulatausta ja muita sovelluskauppoja varten)."
# game/android.rpy:46
old "Attempts to emulate a televison-based Android console.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
# Automatic translation.
new "Yritetään emuloida televisioon perustuvaa Android-konsolia.\n\nOhjaimen syöttö on yhdistetty nuolinäppäimiin, Enter on yhdistetty valintapainikkeeseen, Escape on yhdistetty valikkopainikkeeseen ja PageUp on yhdistetty takaisin-painikkeeseen."
# game/android.rpy:48
old "Downloads and installs the Android SDK and supporting packages."
# Automatic translation.
new "Lataa ja asentaa Android SDK:n ja tukipaketit."
# game/android.rpy:49
old "Generates the keys required to sign the package."
# Automatic translation.
new "Luo paketin allekirjoittamiseen tarvittavat avaimet."
# game/android.rpy:56
old "Lists the connected devices."
# Automatic translation.
new "Luettelee liitetyt laitteet."
# game/android.rpy:57
old "Pairs with a device over Wi-Fi, on Android 11+."
# Automatic translation.
new "Pariliitos laitteen kanssa Wi-Fi-yhteyden kautta Android 11+ -käyttöjärjestelmässä."
# game/android.rpy:58
old "Connects to a device over Wi-Fi, on Android 11+."
# Automatic translation.
new "Muodostaa yhteyden laitteeseen Wi-Fi-yhteyden kautta Android 11+ -käyttöjärjestelmässä."
# game/android.rpy:59
old "Disconnects a device connected over Wi-Fi."
new "Katkaisee yhteyden Wi-Fi-yhteyden kautta yhdistetyn laitteeseen."
# game/android.rpy:61
old "Removes Android temporary files."
# Automatic translation.
new "Poistaa Androidin väliaikaiset tiedostot."
# game/android.rpy:63
old "Builds an Android App Bundle (ABB), intended to be uploaded to Google Play. This can include up to 2GB of data."
# Automatic translation.
new "Rakentaa Android-sovelluspaketin (ABB), joka on tarkoitus ladata Google Play -palveluun. Tämä voi sisältää enintään 2 Gt dataa."
# game/android.rpy:64
old "Builds a Universal APK package, intended for sideloading and stores other than Google Play. This can include up to 2GB of data."
new "Rakentaa universaalin APK-paketin, joka on tarkoitettu sivulataukseen ja muihin kauppoihin kuin Google Play'hin. Tämä voi sisältää enintään 2 Gt dataa."
# game/android.rpy:327
old "Android: [project.current.display_name!q]"
new "Android: [project.current.display_name!q]"
# game/android.rpy:383
old "Install SDK"
# Automatic translation.
new "Asenna SDK"
# game/android.rpy:387
old "Generate Keys"
# Automatic translation.
new "Luo avaimet"
# game/android.rpy:397
old "Play Bundle"
new "Play-kaupan paketti"
# game/android.rpy:402
old "Universal APK"
new "Universal APK"
# game/android.rpy:452
old "List Devices"
new "Listaa laitteet"
# game/android.rpy:456
old "Wi-Fi Debugging Pair"
# Automatic translation.
new "Wi-Fi-vianmäärityspari"
# game/android.rpy:460
old "Wi-Fi Debugging Connect"
new "Wi-Fi-vianmäärityksen yhdistäminen"
# game/android.rpy:464
old "Wi-Fi Debugging Disconnect"
# Automatic translation.
new "Wi-Fi-vianmäärityksen katkaisu"
# game/android.rpy:468
old "Clean"
new "Puhdista"
# game/android.rpy:573
old "Wi-Fi Pairing Code"
# Automatic translation.
new "Wi-Fi-pariliitäntäkoodi"
# game/android.rpy:573
old "If supported, this can be found in 'Developer options', 'Wireless debugging', 'Pair device with pairing code'."
# Automatic translation.
new "Jos tämä on tuettu, se löytyy kohdasta \"Kehittäjän asetukset\", \"Langaton virheenkorjaus\", \"Laitteen pariliitos pariliitoskoodilla\"."
# game/android.rpy:580
old "Pairing Host & Port"
# Automatic translation.
new "Isännän ja sataman yhdistäminen"
# game/android.rpy:596
old "IP Address & Port"
# Automatic translation.
new "IP-osoite ja portti"
# game/android.rpy:596
old "If supported, this can be found in 'Developer options', 'Wireless debugging'."
# Automatic translation.
new "Jos tämä on tuettu, se löytyy kohdasta 'Kehitysasetukset', 'Langaton virheenkorjaus'."
# game/android.rpy:612
old "This can be found in 'List Devices'."
new "Tämä löytyy kohdasta 'listaa laitteet'."
# game/android.rpy:632
old "Cleaning up Android project."
# Automatic translation.
new "Android-projektin siivoaminen."
# game/androidstrings.rpy:7
old "{} is not a directory."
# Automatic translation.
new "{} ei ole hakemisto."
# game/androidstrings.rpy:8
old "{} does not contain a Ren'Py game."
# Automatic translation.
new "{} ei sisällä Ren'Py-peliä."
# game/androidstrings.rpy:10
old "Run configure before attempting to build the app."
# Automatic translation.
new "Suorita configure ennen sovelluksen rakentamista."
# game/androidstrings.rpy:11
old "Updating project."
# Automatic translation.
new "Projektin päivittäminen."
# game/androidstrings.rpy:12
old "Creating assets directory."
new "Materiaalihakemiston luominen."
# game/androidstrings.rpy:13
old "Packaging internal data."
# Automatic translation.
new "Pakkauksen sisäiset tiedot."
# game/androidstrings.rpy:14
old "I'm using Gradle to build the package."
# Automatic translation.
new "Käytän Gradlea paketin rakentamiseen."
# game/androidstrings.rpy:15
old "The build seems to have failed."
# Automatic translation.
new "Rakentaminen näyttää epäonnistuneen."
# game/androidstrings.rpy:16
old "I'm installing the bundle."
# Automatic translation.
new "Asennan paketin."
# game/androidstrings.rpy:17
old "Installing the bundle appears to have failed."
new "Paketin asentaminen näyttää epäonnistuneen."
# game/androidstrings.rpy:18
old "Launching app."
new "Sovellus käynnistyy."
# game/androidstrings.rpy:19
old "Launching the app appears to have failed."
# Automatic translation.
new "Sovelluksen käynnistäminen näyttää epäonnistuneen."
# game/androidstrings.rpy:20
old "The build seems to have succeeded."
# Automatic translation.
new "Rakentaminen näyttää onnistuneen."
# game/androidstrings.rpy:21
old "What is the full name of your application? This name will appear in the list of installed applications."
new "Mikä on sovelluksesi koko nimi? Tämä nimi näkyy asennettujen sovellusten luettelossa."
# game/androidstrings.rpy:22
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
# Automatic translation.
new "Mikä on sovelluksesi lyhyt nimi? Tätä nimeä käytetään käynnistysohjelmassa ja sovelluksen pikakuvakkeissa."
# game/androidstrings.rpy:23
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
# Automatic translation.
new "Mikä on paketin nimi?\n\nTämä on yleensä muotoa com.domain.program tai com.domain.email.program. Se voi sisältää vain ASCII-kirjaimia ja pisteitä. Sen on sisällettävä vähintään yksi piste."
# game/androidstrings.rpy:24
old "The package name may not be empty."
# Automatic translation.
new "Paketin nimi ei saa olla tyhjä."
# game/androidstrings.rpy:25
old "The package name may not contain spaces."
# Automatic translation.
new "Paketin nimi ei saa sisältää välilyöntejä."
# game/androidstrings.rpy:26
old "The package name must contain at least one dot."
# Automatic translation.
new "Paketin nimessä on oltava vähintään yksi piste."
# game/androidstrings.rpy:27
old "The package name may not contain two dots in a row, or begin or end with a dot."
# Automatic translation.
new "Paketin nimi ei saa sisältää kahta pistettä peräkkäin eikä alkaa tai päättyä pisteeseen."
# game/androidstrings.rpy:28
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
# Automatic translation.
new "Paketin nimen jokaisen osan on alettava kirjaimella, ja sen on sisällettävä vain kirjaimia, numeroita ja alleviivauksia."
# game/androidstrings.rpy:29
old "{} is a Java keyword, and can't be used as part of a package name."
# Automatic translation.
new "{} on Javan avainsana, eikä sitä voi käyttää osana paketin nimeä."
# game/androidstrings.rpy:30
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
new "Mikä on sovelluksen versio?\n\nTämän pitäisi olla ihmisen luettava versio, jonka voisi näyttää henkilölle. Sen on sisällettävä vain numeroita ja pisteitä."
# game/androidstrings.rpy:31
old "The version number must contain only numbers and dots."
# Automatic translation.
new "Versionumero saa sisältää vain numeroita ja pisteitä."
# game/androidstrings.rpy:32
old "How much RAM (in GB) do you want to allocate to Gradle?\nThis must be a positive integer number."
# Automatic translation.
new "Kuinka paljon RAM-muistia (gigatavuina) haluat varata Gradlelle?\nTämän on oltava positiivinen kokonaisluku."
# game/androidstrings.rpy:33
old "The RAM size must contain only numbers and be positive."
# Automatic translation.
new "RAM-koon on sisällettävä vain numeroita ja oltava positiivinen."
# game/androidstrings.rpy:34
old "How would you like your application to be displayed?"
# Automatic translation.
new "Miten haluat, että sovelluksesi näytetään?"
# game/androidstrings.rpy:35
old "In landscape orientation."
# Automatic translation.
new "Maisemasuunnassa."
# game/androidstrings.rpy:36
old "In portrait orientation."
# Automatic translation.
new "Pystysuunnassa."
# game/androidstrings.rpy:37
old "In the user's preferred orientation."
# Automatic translation.
new "Käyttäjän haluamassa suunnassa."
# game/androidstrings.rpy:38
old "Which app store would you like to support in-app purchasing through?"
# Automatic translation.
new "Minkä sovelluskaupan kautta haluaisit tukea sovelluksen sisäisiä ostoja?"
# game/androidstrings.rpy:39
old "Google Play."
new "Google Playn."
# game/androidstrings.rpy:40
old "Amazon App Store."
new "Amazon App Storen."
# game/androidstrings.rpy:41
old "Both, in one app."
new "Molempien yhdessä sovelluksessa."
# game/androidstrings.rpy:42
old "Neither."
new "En kummankaan."
# game/androidstrings.rpy:43
old "Do you want to automatically update the Java source code?"
# Automatic translation.
new "Haluatko päivittää Javan lähdekoodin automaattisesti?"
# game/androidstrings.rpy:44
old "Yes. This is the best choice for most projects."
# Automatic translation.
new "Kyllä. Tämä on paras valinta useimpiin hankkeisiin."
# game/androidstrings.rpy:45
old "No. This may require manual updates when Ren'Py or the project configuration changes."
# Automatic translation.
new "Ei. Tämä saattaa vaatia manuaalisia päivityksiä, kun Ren'Py tai projektin kokoonpano muuttuu."
# game/androidstrings.rpy:46
old "Unknown configuration variable: {}"
# Automatic translation.
new "Tuntematon konfiguraatiomuuttuja: {}"
# game/androidstrings.rpy:47
old "I'm compiling a short test program, to see if you have a working JDK on your system."
new "Rakennan lyhyen testiohjelman nähdäkseni, onko järjestelmässäsi toimiva JDK."
# game/androidstrings.rpy:48
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."
# Automatic translation.
new "En pystynyt kääntämään testitiedostoa javacin avulla. Jos et ole vielä asentanut Java Development Kitiä, lataa se osoitteesta:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nJDK on eri asia kuin JRE, joten on mahdollista, että sinulla on Java ilman JDK:ta. Varmista, että olet asentanut 'JavaSoft (Oracle) registry keys'.\n\nIlman toimivaa JDK:ta en voi jatkaa."
# game/androidstrings.rpy:49
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
# Automatic translation.
new "Tietokoneessasi oleva Java-versio ei näytä olevan JDK 8, joka on ainoa Android SDK:n tukema versio. Jos sinun on asennettava JDK 8, voit ladata sen osoitteesta:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nVoit myös asettaa JAVA_HOME-ympäristömuuttujan käyttämään eri Java-versiota."
# game/androidstrings.rpy:50
old "The JDK is present and working. Good!"
# Automatic translation.
new "JDK on läsnä ja toimii. Hyvä!"
# game/androidstrings.rpy:51
old "The Android SDK has already been unpacked."
# Automatic translation.
new "Android SDK on jo purettu."
# game/androidstrings.rpy:52
old "Do you accept the Android SDK Terms and Conditions?"
# Automatic translation.
new "Hyväksytkö Android SDK:n käyttöehdot?"
# game/androidstrings.rpy:53
old "I'm downloading the Android SDK. This might take a while."
# Automatic translation.
new "Lataan Android SDK:n. Tämä saattaa kestää jonkin aikaa."
# game/androidstrings.rpy:54
old "I'm extracting the Android SDK."
# Automatic translation.
new "Puran Android SDK:n."
# game/androidstrings.rpy:55
old "I've finished unpacking the Android SDK."
# Automatic translation.
new "Olen purkanut Android SDK:n pakkauksen."
# game/androidstrings.rpy:56
old "I'm about to download and install the required Android packages. This might take a while."
# Automatic translation.
new "Aion ladata ja asentaa tarvittavat Android-paketit. Tämä saattaa kestää jonkin aikaa."
# game/androidstrings.rpy:57
old "I was unable to accept the Android licenses."
# Automatic translation.
new "En pystynyt hyväksymään Android-lisenssejä."
# game/androidstrings.rpy:59
old "I was unable to install the required Android packages."
# Automatic translation.
new "En saanut asennettua tarvittavia Android-paketteja."
# game/androidstrings.rpy:60
old "I've finished installing the required Android packages."
# Automatic translation.
new "Olen saanut asennettua tarvittavat Android-paketit."
# game/androidstrings.rpy:61
old "It looks like you're ready to start packaging games."
# Automatic translation.
new "Näyttää siltä, että olet valmis aloittamaan pelien pakkaamisen."
# game/androidstrings.rpy:62
old "Please enter your name or the name of your organization."
# Automatic translation.
new "Kirjoita nimesi tai organisaatiosi nimi."
# game/androidstrings.rpy:63
old "I found an android.keystore file in the rapt directory. Do you want to use this file?"
# Automatic translation.
new "Löysin android.keystore-tiedoston rapt-hakemistosta. Haluatko käyttää tätä tiedostoa?"
# game/androidstrings.rpy:64
old "I can create an application signing key for you. This key is required to create Universal APK for sideloading and stores other than Google Play.\n\nDo you want to create a key?"
# Automatic translation.
new "Voin luoda sinulle sovelluksen allekirjoitusavaimen. Tätä avainta tarvitaan luodaksesi Universal APK:n sivulatausta ja muita kauppoja kuin Google Playta varten.\n\nHaluatko luoda avaimen?"
# game/androidstrings.rpy:65
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
# Automatic translation.
new "Luon avaimen android.keystore-tiedostoon.\n\nSinun on varmuuskopioitava tämä tiedosto. Jos kadotat sen, et voi päivittää sovellusta.\n\nSinun on myös pidettävä avain turvassa. Jos pahat ihmiset saavat tämän tiedoston haltuunsa, he voivat tehdä sovelluksestasi väärennettyjä versioita ja mahdollisesti varastaa käyttäjien tietoja.\n\nTeetkö varmuuskopion android.keystore-tiedostosta ja säilytät sen turvallisessa paikassa?"
# game/androidstrings.rpy:66
old "\n\nSaying 'No' will prevent key creation."
# Automatic translation.
new "\n\nJos sanot \"Ei\", avaimen luominen estyy."
# game/androidstrings.rpy:67
old "Could not create android.keystore. Is keytool in your path?"
# Automatic translation.
new "Ei voitu luoda android.keystore. Onko keytool polussasi?"
# game/androidstrings.rpy:68
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
# Automatic translation.
new "Olen saanut valmiiksi android.keystoren luomisen. Varmuuskopioi se ja säilytä se turvallisessa paikassa."
# game/androidstrings.rpy:69
old "I found a bundle.keystore file in the rapt directory. Do you want to use this file?"
# Automatic translation.
new "Löysin bundle.keystore-tiedoston rapt-hakemistosta. Haluatko käyttää tätä tiedostoa?"
# game/androidstrings.rpy:70
old "I can create a bundle signing key for you. This key is required to build an Android App Bundle (AAB) for upload to Google Play.\n\nDo you want to create a key?"
new "Voin luoda sinulle paketin allekirjoitusavaimen. Tätä avainta tarvitaan Android-sovelluspaketin (AAB) rakentamiseen Google Playyn lataamista varten.\n\nHaluatko luoda avaimen?"
# game/androidstrings.rpy:71
old "I will create the key in the bundle.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of bundle.keystore, and keep it in a safe place?"
# Automatic translation.
new "Luon avaimen bundle.keystore-tiedostoon.\n\nSinun on varmuuskopioitava tämä tiedosto. Jos kadotat sen, et voi päivittää sovellusta.\n\nSinun on myös pidettävä avain turvassa. Jos pahat ihmiset saavat tämän tiedoston haltuunsa, he voivat tehdä sovelluksestasi väärennettyjä versioita ja mahdollisesti varastaa käyttäjien tietoja.\n\nTeetkö varmuuskopion bundle.keystore-tiedostosta ja säilytät sen turvallisessa paikassa?"
# game/androidstrings.rpy:73
old "Could not create bundle.keystore. Is keytool in your path?"
# Automatic translation.
new "Ei voitu luoda bundle.keystore. Onko keytool polussasi?"
# game/androidstrings.rpy:74
old "I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place."
# Automatic translation.
new "Olen avannut hakemiston, joka sisältää android.keystore ja bundle.keystore. Varmuuskopioi ne ja säilytä ne turvallisessa paikassa."
# game/choose_directory.rpy:67
old "Select Projects Directory"
# Automatic translation.
new "Valitse projektit Hakemisto"
# game/choose_directory.rpy:79
old "The selected projects directory is not writable."
# Automatic translation.
new "Valittuun projektihakemistoon ei voi kirjoittaa."
# game/choose_theme.rpy:508
old "changing the theme"
# Automatic translation.
new "teeman muuttaminen"
# game/distribute.rpy:1278
old "Signing the Macintosh application...\n(This may take a long time.)"
new "Macintosh-sovellusta allekirjoitetaan...\n(Tämä voi kestää kauan.)"
# game/distribute.rpy:1745
old "Copying files..."
new "Tiedostoja kopioidaan..."
# game/distribute_gui.rpy:157
old "Build Distributions: [project.current.display_name!q]"
# Automatic translation.
new "Rakenna jakelut: [project.current.display_name!q]"
# game/distribute_gui.rpy:195
old "Update old-game"
new "Päivitä old-game"
# game/distribute_gui.rpy:231
old "(DLC)"
new "(DLC)"
# game/dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
# Automatic translation.
new "Ren'Py toimii vain lukuoikeuksilla varustetusta kansiosta. Jotkin toiminnot eivät toimi."
# game/dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
# Automatic translation.
new "Tämä johtuu luultavasti siitä, että Ren'Py toimii suoraan Macintosh-aseman kuvasta. Voit korjata tämän lopettamalla tämän käynnistysohjelman, kopioimalla koko %s-kansion jonnekin muualle tietokoneellesi ja käynnistämällä Ren'Py:n uudelleen."
# game/editor.rpy:152
old "A modern editor with many extensions including advanced Ren'Py integration."
# Automatic translation.
new "Nykyaikainen editori, jossa on monia laajennuksia, mukaan lukien edistynyt Ren'Py-integraatio."
# game/editor.rpy:153
old "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}"
# Automatic translation.
new "Nykyaikainen editori, jossa on monia laajennuksia, mukaan lukien edistynyt Ren'Py-integraatio.\n{a=jump:reinstall_vscode}Päivitä Visual Studio Code uusimpaan versioon.{/a}"
# game/editor.rpy:169
old "Visual Studio Code"
new "Visual Studio Code"
# game/editor.rpy:169
old "Up to 110 MB download required."
# Automatic translation.
new "Jopa 110 Mt:n lataus vaaditaan."
# game/editor.rpy:182
old "A modern and approachable text editor."
# Automatic translation.
new "Moderni ja helposti lähestyttävä tekstieditori."
# game/editor.rpy:196
old "Atom"
new "Atom"
# game/editor.rpy:196
old "Up to 150 MB download required."
new "Jopa 150 Mt:n lataus vaaditaan."
# game/editor.rpy:211
old "jEdit"
new "jEdit"
# game/editor.rpy:220
old "Visual Studio Code (System)"
# Automatic translation.
new "Visual Studio Code (järjestelmä)"
# game/editor.rpy:220
old "Uses a copy of Visual Studio Code that you have installed outside of Ren'Py. It's recommended you install the language-renpy extension to add support for Ren'Py files."
new "Käyttää kopiota Visual Studio Code -ohjelmasta, jonka olet asentanut Ren'Py:n ulkopuolelle. On suositeltavaa asentaa language-renpy -laajennus lisätäksesi tuen Ren'Py-tiedostoille."
# game/editor.rpy:226
old "System Editor"
new "Järjestelmän editori"
# game/editor.rpy:245
old "None"
# Automatic translation.
new "Ei ole"
# game/editor.rpy:352
old "Edit [text]."
# Automatic translation.
new "Muokkaa [text]."
# game/front_page.rpy:58
old "PROJECTS:"
new "PROJEKTIT:"
# game/front_page.rpy:165
old "audio"
new "audio"
# game/front_page.rpy:182
old "Open project"
new "Avaa projekti"
# game/front_page.rpy:188
old "Actions"
# Automatic translation.
new "Toimet"
# game/front_page.rpy:219
old "Web"
new "Web"
# game/front_page.rpy:219
old "(Beta)"
new "(Beta)"
# game/gui7.rpy:302
old "{size=-4}\n\nThis will not overwrite gui/main_menu.png, gui/game_menu.png, and gui/window_icon.png, but will create files that do not exist.{/size}"
# Automatic translation.
new "{size=-4}\n\nTämä ei korvaa tiedostoja gui/main_menu.png, gui/game_menu.png ja gui/window_icon.png, vaan luo tiedostoja, joita ei ole olemassa.{/size}"
# game/gui7.rpy:333
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
# Automatic translation.
new "Mukautettu. Käyttöliittymä on optimoitu 16:9-kuvasuhteelle."
# game/gui7.rpy:350
old "WIDTH"
# Automatic translation.
new "LEVEYS"
# game/gui7.rpy:350
old "Please enter the width of your game, in pixels."
# Automatic translation.
new "Kirjoita pelisi leveys pikseleinä."
# game/gui7.rpy:360
old "The width must be a number."
# Automatic translation.
new "Leveyden on oltava numero."
# game/gui7.rpy:366
old "HEIGHT"
# Automatic translation.
new "KORKEUS"
# game/gui7.rpy:366
old "Please enter the height of your game, in pixels."
# Automatic translation.
new "Anna pelisi korkeus pikseleinä."
# game/gui7.rpy:376
old "The height must be a number."
# Automatic translation.
new "Korkeuden on oltava numero."
# game/gui7.rpy:424
old "creating a new project"
new "uutta projektia luodaan"
# game/gui7.rpy:428
old "activating the new project"
new "uutta projektia aktivoidaan"
# game/install.rpy:33
old "Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."
# Automatic translation.
new "[name!t] ei voitu asentaa, koska Ren'Py SDK -hakemistosta ei löytynyt [zipglob] -nimistä tiedostoa."
# game/install.rpy:79
old "Successfully installed [name!t]."
new "[name!t] asennettu onnistuneesti."
# game/install.rpy:111
old "This screen allows you to install libraries that can't be distributed with Ren'Py. Some of these libraries may require you to agree to a third-party license before being used or distributed."
# Automatic translation.
new "Tällä näytöllä voit asentaa kirjastoja joita ei voi jakaa Ren'Py:n mukana. Jotkin näistä kirjastoista saattavat vaatia, että hyväksyt kolmannen osapuolen lisenssin ennen käyttöä tai jakelua."
# game/install.rpy:117
old "Install Steam Support"
# Automatic translation.
new "Asenna Steam-tuki"
# game/install.rpy:126
old "Before installing Steam support, please make sure you are a {a=https://partner.steamgames.com/}Steam partner{/a}."
# Automatic translation.
new "Ennen kuin asennat Steam-tuen, varmista, että olet {a=https://partner.steamgames.com/}Steam-kumppani{/a}."
# game/install.rpy:138
old "Steam support has already been installed."
# Automatic translation.
new "Steam-tuki on jo asennettu."
# game/install.rpy:142
old "Install Live2D Cubism SDK for Native"
new "Asenna Live2D Cubism SDK for Native"
# game/install.rpy:156
old "Install Libraries"
# Automatic translation.
new "Asenna kirjastot"
# game/install.rpy:182
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-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."
# Automatic translation.
new "{a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} lisää tuen Live2D-mallien näyttämiselle. Aseta CubismSdkForNative-4-{i}versio{/i}.zip-tiedosto Ren'Py SDK -hakemistoon ja napsauta sitten Install. Pelin levittäminen Live2D:n avulla edellyttää, että hyväksyt Live2D, Inc:n lisenssin."
# game/install.rpy:186
old "Live2D in Ren'Py doesn't support the Web, Android x86_64 (including emulators and Chrome OS), and must be added to iOS projects manually. Live2D must be reinstalled after upgrading Ren'Py or installing Android support."
# Automatic translation.
new "Ren'Py:n Live2D ei tue Webiä, Android x86_64:ää (mukaan lukien emulaattorit ja Chrome OS), ja se on lisättävä iOS-projekteihin manuaalisesti. Live2D on asennettava uudelleen Ren'Py:n päivittämisen tai Android-tuen asentamisen jälkeen."
# game/install.rpy:191
old "Open Ren'Py SDK Directory"
# Automatic translation.
new "Avaa Ren'Py SDK-hakemisto"
# game/installer.rpy:10
old "Downloading [extension.download_file]."
new "Ladataan [extension.download_file]."
# game/installer.rpy:11
old "Could not download [extension.download_file] from [extension.download_url]:\n{b}[extension.download_error]"
# Automatic translation.
new "Ei voitu ladata [extension.download_file] osoitteesta [extension.download_url]:\n{b}[extension.download_error]"
# game/installer.rpy:12
old "The downloaded file [extension.download_file] from [extension.download_url] is not correct."
# Automatic translation.
new "Ladattu tiedosto [extension.download_file] osoitteesta [extension.download_url] ei ole oikein."
# game/interface.rpy:124
old "[interface.version]"
new "[interface.version]"
# game/interface.rpy:141
old "Ren'Py Sponsor Information"
new "Ren'Pyn sponsoritiedot"
# game/interface.rpy:385
old "opening the log file"
# Automatic translation.
new "lokitiedostoa avataan"
# game/ios.rpy:269
old "iOS: [project.current.display_name!q]"
new "iOS: [project.current.display_name!q]"
# game/ios.rpy:379
old "There are known issues with the iOS simulator on Apple Silicon. Please test on x86_64 or iOS devices."
# Automatic translation.
new "Apple Siliconin iOS-simulaattorissa on tunnettuja ongelmia. Testaa x86_64- tai iOS-laitteilla."
# game/itch.rpy:45
old "Downloading the itch.io butler."
new "Ladataan itch.io'n butler-ohjelmaa."
# game/navigation.rpy:168
old "Navigate: [project.current.display_name!q]"
# Automatic translation.
new "Navigoi: [project.current.display_name!q]"
# game/new_project.rpy:81
old "You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."
new "Luot [new_project_language]{#this substitution may be localized} -kielisen projektin. Vaihda käynnistyskieli asetuksissa, jos haluat luoda projektin toisella kielellä."
# game/preferences.rpy:106
old "General"
# Automatic translation.
new "Yleistä"
# game/preferences.rpy:107
old "Options"
new "Asetukset"
# game/preferences.rpy:224
old "Sponsor message"
new "Sponsoriviesti"
# game/preferences.rpy:227
old "Daily check for update"
# Automatic translation.
new "Päivittäinen päivityksen tarkistus"
# game/preferences.rpy:246
old "Launcher Theme:"
new "Käynnistimen Teema:"
# game/preferences.rpy:250
old "Default theme"
# Automatic translation.
new "Oletusteema"
# game/preferences.rpy:251
old "Dark theme"
# Automatic translation.
new "Tumma teema"
# game/preferences.rpy:252
old "Custom theme"
# Automatic translation.
new "Mukautettu teema"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
new "Tietoa mukautetun teeman luomisesta löytyy {a=https://www.renpy.org/doc/html/skins.html}Ren'Pyn dokumentaatiosta{/a}."
# game/preferences.rpy:273
old "Install Libraries:"
# Automatic translation.
new "Asenna kirjastot:"
# game/preferences.rpy:300
old "Reset window size"
new "Palauta ikkunan oletuskoko"
# game/preferences.rpy:301
old "Clean temporary files"
new "Poista väliaikaiset tiedostot"
# game/preferences.rpy:308
old "Cleaning temporary files..."
new "Poistetaan väliaikaisia tiedostoja..."
# game/preferences.rpy:338
old "{#in language font}Welcome! Please choose a language"
# Automatic translation.
new "{#in language font}Tervetuloa! Valitse kieli"
# game/preferences.rpy:373
old "{#in language font}Start using Ren'Py in [lang_name]"
new "{#in language font}Aloita Ren'Py:n käyttö kielellä [lang_name]"
# game/project.rpy:46
old "Lint checks your game for potential mistakes, and gives you statistics."
# Automatic translation.
new "Lint tarkistaa pelisi mahdollisten virheiden varalta ja antaa tilastoja."
# game/project.rpy:283
old "This may be because the project is not writeable."
# Automatic translation.
new "Tämä voi johtua siitä, että projekti ei ole kirjoitettavissa."
# game/translations.rpy:91
old "Translations: [project.current.display_name!q]"
# Automatic translation.
new "Käännökset: [project.current.display_name!q]"
# game/translations.rpy:342
old "Extract Dialogue: [project.current.display_name!q]"
new "Kerää dialogi: [project.current.display_name!q]"
# game/translations.rpy:391
old "Language (or None for the default language):"
# Automatic translation.
new "Kieli (tai Ei mitään oletuskieleksi):"
# game/updater.rpy:64
old "Release (Ren'Py 8, Python 3)"
# Automatic translation.
new "Julkaisu (Ren'Py 8, Python 3)"
# game/updater.rpy:65
old "Release (Ren'Py 7, Python 2)"
# Automatic translation.
new "Julkaisu (Ren'Py 7, Python 2)"
# game/updater.rpy:69
old "Prerelease (Ren'Py 8, Python 3)"
new "Esijulkaisu (Ren'Py 8, Python 3)"
# game/updater.rpy:70
old "Prerelease (Ren'Py 7, Python 2)"
new "Esijulkaisu (Ren'Py 7, Python 2)"
# game/updater.rpy:77
old "Nightly (Ren'Py 8, Python 3)"
new "Nightly (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly (Ren'Py 7, Python 2)"
new "Nightly (Ren'Py 7, Python 2)"
# game/updater.rpy:108
old "The update channel controls the version of Ren'Py the updater will download."
# Automatic translation.
new "Päivityskanava ohjaa Ren'Py-version, jonka päivitysohjelma lataa."
# game/updater.rpy:116
old "• {a=https://www.renpy.org/doc/html/changelog.html}View change log{/a}"
# Automatic translation.
new "- {a=https://www.renpy.org/doc/html/changelog.html}Näytä muutosloki{/a}"
# game/updater.rpy:118
old "• {a=https://www.renpy.org/dev-doc/html/changelog.html}View change log{/a}"
# Automatic translation.
new "- {a=https://www.renpy.org/dev-doc/html/changelog.html}Näytä muutosloki{/a}"
# game/updater.rpy:124
old "• This version is installed and up-to-date."
# Automatic translation.
new "- Tämä versio on asennettu ja ajan tasalla."
# game/updater.rpy:136
old "%B %d, %Y"
new "%B %d, %Y"
# game/updater.rpy:215
old "Fetching the list of update channels"
new "Haetaan päivityskanavien luetteloa"
# game/updater.rpy:220
old "downloading the list of update channels"
new "ladataan päivityskanavien luetteloa"
# game/web.rpy:428
old "Preparing progressive download"
new "Valmistellaan progressiivista latausta"
# game/web.rpy:485
old "Creating package..."
new "Luodaan pakettia..."
# game/web.rpy:505
old "Web: [project.current.display_name!q]"
new "Web: [project.current.display_name!q]"
# game/web.rpy:535
old "Build Web Application"
# Automatic translation.
new "Rakenna web-sovellus"
# game/web.rpy:536
old "Build and Open in Browser"
# Automatic translation.
new "Rakenna ja avaa selaimessa"
# game/web.rpy:537
old "Open in Browser"
# Automatic translation.
new "Avaa selaimessa"
# game/web.rpy:538
old "Open build directory"
# Automatic translation.
new "Avaa rakennushakemisto"
# game/web.rpy:560
old "Images and music can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior."
# Automatic translation.
new "Kuvia ja musiikkia voi ladata toiston aikana. Progressive_download.txt-tiedosto luodaan, jotta voit määrittää tämän käyttäytymisen."
# game/web.rpy:568
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
# Automatic translation.
new "Ennen verkkosovellusten pakkaamista sinun on ladattava RenPyWeb, Ren'Pyn verkkotuki. Haluatko ladata RenPyWebin nyt?"
+28
View File
@@ -193,3 +193,31 @@ translate finnish strings:
old "## The username and project name associated with an itch.io project, separated by a slash."
new "## Kauttaviivan erottama käyttäjänimi ja itch.io-projektinimi."
translate finnish 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 "## Teksti, joka sijoitetaan pelin about-näyttöön. Sijoita teksti kolmoislauseiden väliin ja jätä kappaleiden väliin tyhjä rivi."
# 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 "## Nämä kolme muuttujaa säätelevät muun muassa sitä, mitkä mikserit näytetään pelaajalle oletusarvoisesti. Jonkin näistä muuttujista asettaminen Falseen piilottaa kyseisen mikserin."
# gui/game/options.rpy:82
old "## Between screens of the game menu."
# Automatic translation.
new "## Pelivalikon näyttöjen välillä."
# gui/game/options.rpy:152
old "## Icon"
# Automatic translation.
new "## Kuvake"
# 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 "## Google Play -lisenssiavain tarvitaan sovelluksen sisäisten ostojen tekemiseen. Se löytyy Google Play -kehittäjäkonsolista kohdasta \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
+136 -3
View File
@@ -75,7 +75,8 @@ translate finnish strings:
# screens.rpy:263
old "Skip"
new "Skip"
# Automatic translation.
new "Ohita"
# screens.rpy:264
old "Auto"
@@ -407,7 +408,8 @@ translate finnish strings:
# screens.rpy:1003
old "Enter"
new "Enter"
# Automatic translation.
new "Kirjoita"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
@@ -455,7 +457,8 @@ translate finnish strings:
# screens.rpy:1027
old "Page Up"
new "Page Up"
# Automatic translation.
new "Sivu ylös"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
@@ -641,3 +644,133 @@ translate finnish strings:
old "Menu"
new "Valikko"
translate finnish 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 "## Jos sivulla on kuva, näytä se tekstin yläpuolella. Älä näytä puhelinmuunnoksessa - siinä ei ole tilaa."
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
# Automatic translation.
new "## Tee nimilaatikosta muotoiltavissa oleva Character-olio."
# 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:241
old "## Ensure this appears on top of other screens."
# Automatic translation.
new "## Varmista, että tämä näkyy muiden näyttöjen yläpuolella."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
# Automatic translation.
new "## Pää- ja pelivalikon näytöt"
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
# Automatic translation.
new "## Lopeta-painike on kielletty iOS:ssä ja tarpeeton Androidissa ja Webissä."
# 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:352
old "## This ensures that any other menu screen is replaced."
# Automatic translation.
new "## Näin varmistetaan, että kaikki muut valikkonäytöt korvataan."
# gui/game/screens.rpy:357
old "## This empty frame darkens the main menu."
# Automatic translation.
new "## Tämä tyhjä kehys tummentaa päävalikon."
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
# Automatic translation.
new "## Varaa tilaa navigointiosuudelle."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
# Automatic translation.
new "## Sivun nimi, jota voidaan muokata napsauttamalla painiketta."
# gui/game/screens.rpy:668
old "## range(1, 10) gives the numbers from 1 to 9."
# Automatic translation.
new "## range(1, 10) antaa numerot 1-9."
# gui/game/screens.rpy:676
old "Upload Sync"
# Automatic translation.
new "Lataa synkronointi"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Lataa Sync"
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
# Automatic translation.
new "## Tämä määrittää, mitä tunnisteita saa näyttää historiaruudulla."
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
# Automatic translation.
new "Avaa saavutettavuusvalikon."
# gui/game/screens.rpy:1082
old "Left Trigger\nLeft Shoulder"
# Automatic translation.
new "Vasen liipaisin\nVasen olkapää"
# gui/game/screens.rpy:1139
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:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
# Automatic translation.
new "## Meidän on käytettävä fonttia, jossa on BLACK RIGHT-POINTING SMALL TRIANGLE -lyhenne."
# gui/game/screens.rpy:1296
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:1320
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
# Automatic translation.
new "## Näyttää valikon, jos se on annettu. Valikko saatetaan näyttää virheellisesti, jos config.narrator_menu on asetettu arvoon True."
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
new "## Kupla näyttö"
# 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 "## Puhekuplaikkunaa käytetään näyttämään dialogi pelaajalle, kun käytetään puhekuplia. Bubble screen ottaa samat parametrit kuin say screen, sen on luotava displayable, jonka id on \"what\", ja se voi luoda displayables, joiden id:t ovat \"namebox\", \"who\" ja \"window\"."
# 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"
translate finnish 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 "## Selausparametri voi olla None tai jokin seuraavista: \"viewport\" tai \"vpgrid\". Tämä ruutu on tarkoitettu käytettäväksi yhden tai useamman lapsen kanssa, jotka siirretään (sijoitetaan) sen sisään."
+116 -5
View File
@@ -332,8 +332,6 @@
old "return"
new "retour"
translate french strings:
# renpy/common/00accessibility.rpy:76
old "Font Override"
new "Forcer la police"
@@ -392,7 +390,7 @@ translate french strings:
# renpy/common/00accessibility.rpy:34
old "viewport"
new "viewport"
new "fenêtre déroulante"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
@@ -488,7 +486,7 @@ translate french strings:
# renpy/common/00director.rpy:1561
old "(statement)"
new "(statement)"
new "(instruction)"
# renpy/common/00director.rpy:1562
old "(tag)"
@@ -508,7 +506,8 @@ translate french strings:
# renpy/common/00director.rpy:1601
old "(channel)"
new "(channel)"
# Automatic translation.
new "(canal)"
# renpy/common/00director.rpy:1602
old "(filename)"
@@ -797,3 +796,115 @@ translate french strings:
# renpy/common/00preferences.rpy:535
old "mute main"
new "sourdine générale"
# renpy/common/00speechbubble.rpy:299
old "Speech Bubble Editor"
new "Éditeur de bulles de dialogue"
# renpy/common/00speechbubble.rpy:304
old "(hide)"
new "(masquer)"
# renpy/common/00director.rpy:1748
old "Click to toggle attribute, right click to toggle negative attribute."
new "Clic pour (dés)activer des attributs, clic droit pour (dés)activer les suppressions d'attributs."
# renpy/common/00director.rpy:1771
old "Click to set transform, right click to add to transform list."
new "Clic pour assigner le transform, clic droit pour ajouter à la liste des transforms."
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
new "Clic pour assigner, clic droit pour ajouter à la liste du \"behind\"."
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
new "audio lors de la perte de focus"
# renpy/common/00preferences.rpy:537
old "web cache preload"
new "préchargement du cache web cache"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
new "voix dans le menu de jeu"
# renpy/common/00sync.rpy:58
old "Sync downloaded."
new "Sync téléchargé."
# renpy/common/00sync.rpy:178
old "Could not connect to the Ren'Py Sync server."
new "Échec de la connexion au serveur Ren'Py Sync."
# renpy/common/00sync.rpy:180
old "The Ren'Py Sync server timed out."
new "Le serveur Ren'Py Sync a mis trop de temps à répondre."
# renpy/common/00sync.rpy:182
old "An unknown error occurred while connecting to the Ren'Py Sync server."
new "Une erreur inconnue est arrivée lors de la connexion au serveur Ren'Py Sync."
# renpy/common/00sync.rpy:255
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 "Le serveur Ren'Py Sync ne reconnaît pas ce code sync. l'ID est peut-être invalide, ou il peut avoir expiré."
# renpy/common/00sync.rpy:397
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
new "Entrez l'ID sync que vous avez généré.\nN'entrez jamais un ID sync que vous n'avez pas généré vous-même."
# renpy/common/00sync.rpy:416
old "The sync ID is not in the correct format."
new "L'ID sync n'est pas dans un format correct."
# renpy/common/00sync.rpy:436
old "The sync could not be decrypted."
new "Le sync n'a pas pu être déchiffré."
# renpy/common/00sync.rpy:459
old "The sync belongs to a different game."
new "Le sync correspond à un autre jeu."
# renpy/common/00sync.rpy:464
old "The sync contains a file with an invalid name."
new "Le sync contient un fichier ayant un nom invalide."
# renpy/common/00sync.rpy:517
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
new "Vos sauvegardes vont être téléchargées sur le {a=https://sync.renpy.org}serveur Ren'Py Sync{/a}.\nVoulez-vous continuer ?"
# renpy/common/00sync.rpy:546
old "Enter Sync ID"
new "Entrez l'ID Sync"
# renpy/common/00sync.rpy:557
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
new "Ceci va contacter le {a=https://sync.renpy.org}serveur Ren'Py Sync{/a}."
# renpy/common/00sync.rpy:584
old "Sync Success"
new "Sync réussi"
# renpy/common/00sync.rpy:587
old "The Sync ID is:"
new "L'ID Sync est :"
# 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 "Vous pouvez utiliser cet ID pour transférer votre sauvegarde sur un autre appareil.\nCe sync expirera dans une heure.\nRen'Py Sync is soutenu par les {a=https://www.renpy.org/sponsors.html}Sponsors de Ren'Py's{/a}."
# renpy/common/00sync.rpy:619
old "Sync Error"
new "Erreur de Sync"
# renpy/common/00webvideo.rpy:5
old "Touch to play the video."
new "Touchez pour jouer la vidéo."
# 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?"
new "Cette sauvegarde a été créée sur un autre appareil. Des faux fichiers de sauvegarde peuvent être utilisés pour endommager votre ordinateur. Faites-vous confiance au créateur de cette sauvegarde et à tous ceux qui auraient pu modifier le fichier ?"
# 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 "Faites-vous confiance à l'appareil sur lequel cette sauvegarde a été créée ? Vous ne devriez dire oui que si vous en êtes l'unique utilisateur ."
+17 -5
View File
@@ -14,7 +14,11 @@
# _developer/developer.rpym:47
old "Variable Viewer"
new "Visualisateur de variable"
new "Inspecteur de variables"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "Inspecteur de données persistentes"
# _developer/developer.rpym:49
old "Theme Test"
@@ -74,7 +78,7 @@
# _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}✔ image prédite (bon){/color}\n{color=#fcc}✘ image prédite (mauvais){/color}\n{color=#fff}Glissez pour bouger.{/color}"
new "\n{color=#cfc}✔ image prédite (bien){/color}\n{color=#fcc}✘ image non prédite (pas bien){/color}\n{color=#fff}Glissez pour déplacer.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
@@ -124,9 +128,13 @@
old "Ren'Py script disabled."
new "Script Ren'Py désactivé."
# 00console.rpy:398
old "help: show this help"
new "aide : afficher cette aide"
# renpy/common/00console.rpy:781
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "help : afficher cette aide\n help <expr>: afficher la signature et la documentation de <expr>"
# renpy/common/00console.rpy:805
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
new "Help peut afficher des fonctions non documentées. Veuillez vérifier que la\nfonction ou classe que vous voulez utiliser est bien documentée.\n\n"
# 00console.rpy:403
old "commands:\n"
@@ -199,3 +207,7 @@
# renpy/common/00console.rpy:784
old "stack: print the return stack"
new "stack : affiche la pile de retour"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
new "Éditeur de bulles de dialogue (Shift+B)"
+4
View File
@@ -455,3 +455,7 @@
# gui/game/gui.rpy:441
old "## Change the size and spacing of various things."
new "## Changer la taille et l'espacement de diverses choses."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## Active la vérification de propriétés invalides ou instables dans les screens et transforms"
+73 -16
View File
@@ -41,7 +41,7 @@
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
new "RAPT a été installé, mais vous devez installer le kit de développement Android pour pouvoir compiler les paquets Android. Choisissez « installer le kit de développement et créer les clés » pour cela."
new "RAPT a été installé, mais vous devez installer le kit de développement Android pour pouvoir compiler les paquets Android, avec « Installer le SDK »."
# android.rpy:33
old "RAPT has been installed, but a key hasn't been configured. Please create a new key, or restore android.keystore."
@@ -65,11 +65,11 @@
# android.rpy:39
old "Attempts to emulate a televison-based Android console, like the OUYA or Fire TV.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentative d’émulation d'une console télé basée sur Android, comme OUYA ou Fire TV.\n\n Le contrôleur est émulé par les touches fléchées, le bouton select par la touche Entrée, le bouton menu par la touche Echap, et le bouton retour par la touche PageUp."
new "Tentative d’émulation d'une console télé basée sur Android, comme OUYA ou Fire TV.\n\nLa manette est émulée par les touches fléchées, le bouton select par la touche Entrée, le bouton menu par la touche Echap, et le bouton retour par la touche PageUp."
# android.rpy:41
old "Downloads and installs the Android SDK and supporting packages. Optionally, generates the keys required to sign the package."
new "Télécharge et installe le kit de développement Android et les paquets supportés. Optionnellement, génère les clés requises pour signer le paquet."
new "Télécharge et installe le kit de développement Android et les paquets requis. Optionnellement, génère les clés requises pour signer le paquet."
# android.rpy:42
old "Configures the package name, version, and other information about this project."
@@ -209,7 +209,8 @@
# choose_theme.rpy:370
old "Planetarium"
new "Planetarium"
# Automatic translation.
new "Planétarium"
# choose_theme.rpy:425
old "Choose Theme"
@@ -925,7 +926,7 @@
# preferences.rpy:174
old "Show edit file section"
new "Afficher la section d’édition de fichier"
new "Afficher la section d’édition de fichiers"
# preferences.rpy:175
old "Large fonts"
@@ -933,11 +934,11 @@
# preferences.rpy:178
old "Console output"
new "Sortie console"
new "Console de sortie"
# preferences.rpy:199
old "Open launcher project"
new "Ouvrir le projet lanceur"
new "Ouvrir le projet du lanceur"
# preferences.rpy:213
old "Language:"
@@ -997,7 +998,7 @@
# translations.rpy:104
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
new "Le langage avec lequel travailler. Cette valeur ne doit contenir que des caractères ASCII en minuscules et des underscores (tiret bas)."
new "Le langage avec lequel travailler. Cette valeur ne doit contenir que des caractères ASCII en minuscules et des underscores."
# translations.rpy:130
old "Generate empty strings for translations"
@@ -1025,7 +1026,7 @@
# translations.rpy:180
old "Update Default Interface Translations"
new "Met à jour la traduction de l'interface par défaut"
new "Mise à jour de la traduction par défaut de l'interface"
# translations.rpy:200
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
@@ -1057,7 +1058,7 @@
# translations.rpy:282
old "Updating default interface translations..."
new "Mise à jour en cours de la traduction de linterface par défaut..."
new "Mise à jour de la traduction par défaut de linterface en cours..."
# translations.rpy:306
old "Extract Dialogue: [project.current.name!q]"
@@ -1069,7 +1070,7 @@
# translations.rpy:330
old "Tab-delimited Spreadsheet (dialogue.tab)"
new "Feuille de calcul avec pour séparateur des tabulations (dialogue.tab)"
new "Feuille de calcul avec des tabulations comme séparateur (dialogue.tab)"
# translations.rpy:331
old "Dialogue Text Only (dialogue.txt)"
@@ -1129,7 +1130,7 @@
# updater.rpy:126
old "Nightly"
new "Nightly"
new "Journalière"
# updater.rpy:132
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
@@ -1192,8 +1193,8 @@
new "Le nom de fichier ne peut pas être vide."
# game/android.rpy:31
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Un kit de développement Java 8 64-bit/x64 est requis pour construire des paquets Android depuis Windows. Le JDK est différent du JRE, donc il est possible d'avoir Java sans avoir le JDK.\n\n{a=https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot}Téléchargez et installez le JDK{/a}, puis redémarrez Ren'Py."
old "A 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Un kit de développement Java [JDK_REQUIREMENT] 64-bit/x64 est requis pour construire des paquets Android depuis Windows. Le JDK est différent du JRE, donc il est possible d'avoir Java sans avoir le JDK.\n\n{a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}Téléchargez et installez le JDK{/a}, puis redémarrez Ren'Py."
# game/android.rpy:50
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
@@ -2061,11 +2062,11 @@
# game/updater.rpy:77
old "Nightly (Ren'Py 8, Python 3)"
new "Nightly (Ren'Py 8, Python 3)"
new "Journalière (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly (Ren'Py 7, Python 2)"
new "Nightly (Ren'Py 7, Python 2)"
new "Journalière (Ren'Py 7, Python 2)"
# game/preferences.rpy:327
old "{#in language font}Welcome! Please choose a language"
@@ -2074,3 +2075,59 @@
# game/preferences.rpy:327
old "{#in language font}Start using Ren'Py in [lang_name]"
new "{font=fonts/Roboto-Light.ttf}Commencez à utiliser Ren'Py en [lang_name]{/font}"
# game/distribute_gui.rpy:231
old "(DLC)"
new "(DLC)"
# game/project.rpy:46
old "Lint checks your game for potential mistakes, and gives you statistics."
new "Lint vérifie votre jeu pour des erreurs communes, et génère des statistiques."
# game/web.rpy:484
old "Creating package..."
new "Création du package..."
# game/android.rpy:37
old "RAPT has been installed, but a key hasn't been configured. Please generate new keys, or copy android.keystore and bundle.keystore to the base directory."
new "RAPT a été installé, mais aucune clé na été configurée. Veuillez générer de nouvelles clés, ou copier android.keystore and bundle.keystore dans le dossier racine du projet."
# game/android.rpy:44
old "Attempts to emulate a televison-based Android console.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "Tentative d’émulation d'une console télé basée sur Android.\n\nLa manette est émulée par les touches fléchées, le bouton select par la touche Entrée, le bouton menu par la touche Echap, et le bouton retour par la touche PageUp."
# game/android.rpy:46
old "Downloads and installs the Android SDK and supporting packages."
new "Télécharge et installe le kit de développement Android et les paquets requis."
# game/android.rpy:47
old "Generates the keys required to sign the package."
new "Génère les clés requises pour signer le package."
# game/android.rpy:381
old "Install SDK"
new "Installer le SDK"
# game/android.rpy:385
old "Generate Keys"
new "Générer les clés"
# game/androidstrings.rpy:32
old "How much RAM (in GB) do you want to allocate to Gradle?\nThis must be a positive integer number."
new "Combien de RAM (in GB) voulez-vous allouer à Gradle ?\nEntrez un nombre entier positif."
# game/androidstrings.rpy:33
old "The RAM size must contain only numbers and be positive."
new "La taille de RAM ne doit contenir que des chiffres et être positive."
# game/androidstrings.rpy:63
old "I found an android.keystore file in the rapt directory. Do you want to use this file?"
new "J'ai trouvé un fichier android.keystore dans le dossier \"rapt\". Voulez-vous l'utiliser ?"
# game/androidstrings.rpy:66
old "\n\nSaying 'No' will prevent key creation."
new "\n\nRépondre \"Non\" empêchera la création de clés."
# game/androidstrings.rpy:69
old "I found a bundle.keystore file in the rapt directory. Do you want to use this file?"
new "J'ai trouvé un fichier bundle.keystore dans le dossier \"rapt\". Voulez-vous l'utiliser ?"
+2 -2
View File
@@ -185,8 +185,8 @@
new "## Les fichiers correspondant au format de documentation sont dupliqués pour les compilation sur Mac, c'est pourquoi ils apparaissent deux fois dans larchive 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 "## Une clé de licence A Google Play est requise pour télécharger les fichiers et permettre les achats dans l'application. Vous pourrez la trouver sur la page « Services & APIs » de la console de développement Google Play."
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 "## Une clé de licence Google Play est requise pour permettre les achats depuis l'application. Vous pourrez la trouver dans la console de développement Google Play, sous \"Monétiser\" > \"Configuration de la monétisation\" > \"Licences\"."
# options.rpy:203
old "## The username and project name associated with an itch.io project, separated by a slash."
+30 -10
View File
@@ -34,7 +34,7 @@
# screens.rpy:174
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
new "## Cet écran doit créer une entrée affichable avec l'id \"input\" pour accepter les différents paramètres."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -54,7 +54,7 @@
# 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 "## Lorsque cette option est activée, les sous-titres du menu sont dits par \"narrator\". Si cette valeur est fausse, les légendes du menu seront affichées sous forme de boutons vides."
# screens.rpy:244
old "## Quick Menu screen"
@@ -162,7 +162,7 @@
# 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 "## L'instruction use inclut un autre écran à l'intérieur de celui-ci. Le vrai contenu du menu principal se trouve dans l'écran \"navigation\"."
# screens.rpy:413
old "## Game Menu screen"
@@ -170,11 +170,11 @@
# 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 "## Ceci présente la structure commune de base d'un écran du menu de jeu. Il est appelé en lui passant le titre de l'écran, et il affiche l'arrière-plan, le titre et la navigation."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
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 "## Le paramètre de défilement peut être None, ou \"viewport\" ou \"vpgrid\". Cet écran est destiné à être utilisé avec un ou plusieurs enfants, qui sont transclus (placés) à l'intérieur de l'écran."
# screens.rpy:476
old "Return"
@@ -182,7 +182,7 @@
# screens.rpy:539
old "## About screen"
new "## Écran « À propos... »"
new "## Écran « À propos... »"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
@@ -450,7 +450,7 @@
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Active ou désactives les «sauts des dialogues»."
new "Active ou désactive les «sauts des dialogues»."
# screens.rpy:1027
old "Page Up"
@@ -621,8 +621,8 @@
new "## Les dialogues sont affichés soit dans une vpgrid soit dans une 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 "## Si fourni, affiche le menu. Le menu peut safficher de manière incorrecte si config.narrator_menu est initialisé à True, comme cest le cas au-dessus."
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
new "## Si fourni, affiche le menu. Le menu peut safficher de manière incorrecte si config.narrator_menu est initialisé à True."
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
@@ -719,3 +719,23 @@
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
new "Ouvre le menu d'accessibilité."
# gui/game/screens.rpy:1397
old "## Bubble screen"
new "## Screen des bulles"
# 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 "## Le screen des bulles est utilisé pour afficher des dialogues en utilisant des bulles de dialogue. Ce screen prend les mêmes paramètres que le screen say, doit prévoir un displayable avec l'id \"what\", et peut créer des displayables avec les ids \"namebox\", \"who\", et \"window\"."
# 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"
# gui/game/screens.rpy:676
old "Upload Sync"
new "Uploader Sync"
# gui/game/screens.rpy:680
old "Download Sync"
new "Télécharger Sync"
+661 -4
View File
@@ -211,7 +211,8 @@ translate german strings:
# 00library.rpy:143
old "Clipboard voicing enabled. "
new "Clipboard voicing enabled. "
# Automatic translation.
new "Zwischenablage-Voicing aktiviert. "
# 00library.rpy:144
old "Self-voicing enabled. "
@@ -227,7 +228,8 @@ translate german strings:
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
new "Clipboard voicing enabled. Press 'shift+C' to disable."
# Automatic translation.
new "Zwischenablage-Voicing aktiviert. Drücken Sie 'Umschalt+C' zum Deaktivieren."
# 00preferences.rpy:424
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
@@ -275,7 +277,8 @@ translate german strings:
# 00updater.rpy:1049
old "While unpacking {}, unknown type {}."
new "While unpacking {}, unknown type {}."
# Automatic translation.
new "Beim Auspacken {}, unbekannter Typ {}."
# 00updater.rpy:1393
old "Updater"
@@ -327,9 +330,663 @@ translate german strings:
# 00gallery.rpy:585
old "slideshow"
new "slideshow"
# Automatic translation.
new "Diashow"
# 00gallery.rpy:586
old "return"
new "zurück"
translate german strings:
# renpy/common/00accessibility.rpy:32
old "bar"
new "bar"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "ausgewählt"
# renpy/common/00accessibility.rpy:34
old "viewport"
# Automatic translation.
new "Ansichtsfenster"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "Horizontales Blättern"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
# Automatic translation.
new "vertikaler Bildlauf"
# renpy/common/00accessibility.rpy:37
old "activate"
# Automatic translation.
new "aktivieren."
# renpy/common/00accessibility.rpy:38
old "deactivate"
# Automatic translation.
new "deaktivieren"
# renpy/common/00accessibility.rpy:39
old "increase"
# Automatic translation.
new "erhöhen."
# renpy/common/00accessibility.rpy:40
old "decrease"
# Automatic translation.
new "verringern"
# renpy/common/00accessibility.rpy:138
old "Font Override"
# Automatic translation.
new "Schriftart überschreiben"
# renpy/common/00accessibility.rpy:142
old "Default"
# Automatic translation.
new "Standard"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
# Automatic translation.
new "Skalierung der Textgröße"
# renpy/common/00accessibility.rpy:162
old "Reset"
# Automatic translation.
new "Zurücksetzen"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
# Automatic translation.
new "Zeilenabstand Skalierung"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Hochkontrastiger Text"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
# Automatic translation.
new "Selbstanzeige"
# renpy/common/00accessibility.rpy:197
old "Off"
# Automatic translation.
new "Aus"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
# Automatic translation.
new "Text-in-Sprache"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Zwischenablage"
# renpy/common/00accessibility.rpy:209
old "Debug"
# Automatic translation.
new "Debuggen"
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
# Automatic translation.
new "Selbstlautstärkeabfall"
# 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."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
# Automatic translation.
new "Steckplatz %s speichern: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
# Automatic translation.
new "Steckplatz %s laden: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
# Automatic translation.
new "Steckplatz löschen [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
# Automatic translation.
new "Datei Seite auto"
# renpy/common/00action_file.rpy:595
old "File page quick"
# Automatic translation.
new "Datei Seite schnell"
# renpy/common/00action_file.rpy:597
old "File page [text]"
# Automatic translation.
new "Datei-Seite [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
# Automatic translation.
new "Nächste Dateiseite."
# renpy/common/00action_file.rpy:868
old "Previous file page."
# Automatic translation.
new "Vorherige Dateiseite."
# renpy/common/00action_file.rpy:944
old "Quick save."
# Automatic translation.
new "Schnell speichern."
# renpy/common/00action_file.rpy:963
old "Quick load."
# Automatic translation.
new "Schnell laden."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Sprache [text]"
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
# Automatic translation.
new "Der interaktive Regisseur ist hier nicht aktiviert."
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Erledigt"
# renpy/common/00director.rpy:1584
old "(statement)"
# Automatic translation.
new "(Erklärung)"
# 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)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(Kanal)"
# renpy/common/00director.rpy:1625
old "(filename)"
# Automatic translation.
new "(Dateiname)"
# renpy/common/00director.rpy:1654
old "Change"
# Automatic translation.
new "Ändern Sie"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "hinzufügen"
# renpy/common/00director.rpy:1662
old "Remove"
# Automatic translation.
new "entfernen"
# renpy/common/00director.rpy:1697
old "Statement:"
# Automatic translation.
new "Erklärung:"
# renpy/common/00director.rpy:1718
old "Tag:"
new "Tag:"
# renpy/common/00director.rpy:1734
old "Attributes:"
# Automatic translation.
new "Attribute:"
# 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."
# renpy/common/00director.rpy:1757
old "Transforms:"
# Automatic translation.
new "Verwandeln:"
# 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."
# renpy/common/00director.rpy:1780
old "Behind:"
# Automatic translation.
new "Hinter:"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
# Automatic translation.
new "Zum Einstellen klicken, zum Hinzufügen zur Liste mit der rechten Maustaste klicken."
# renpy/common/00director.rpy:1801
old "Transition:"
# Automatic translation.
new "Überleitung:"
# renpy/common/00director.rpy:1819
old "Channel:"
# Automatic translation.
new "Kanal:"
# renpy/common/00director.rpy:1837
old "Audio Filename:"
# Automatic translation.
new "Audio Dateiname:"
# 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?"
# 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."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
# Automatic translation.
new "Bildschirmfoto konnte nicht als %s gespeichert werden."
# renpy/common/00preferences.rpy:271
old "display"
# Automatic translation.
new "Anzeige"
# 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
old "video sprites"
# Automatic translation.
new "Video-Sprites"
# renpy/common/00preferences.rpy:303
old "show empty window"
# Automatic translation.
new "leeres Fenster anzeigen"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "Textgeschwindigkeit"
# renpy/common/00preferences.rpy:320
old "joystick"
# Automatic translation.
new "Joystick"
# renpy/common/00preferences.rpy:320
old "joystick..."
# Automatic translation.
new "Joystick..."
# renpy/common/00preferences.rpy:327
old "skip"
# Automatic translation.
new "überspringen"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
# Automatic translation.
new "unbesehen überspringen [text]"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "ungesehenen Text übergehen"
# renpy/common/00preferences.rpy:337
old "begin skipping"
# Automatic translation.
new "mit dem Springen beginnen"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "nach der Wahl"
# renpy/common/00preferences.rpy:348
old "skip after choices"
# Automatic translation.
new "nach Auswahlen überspringen"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "automatische Vorlaufzeit"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "automatisches Weiterleiten"
# renpy/common/00preferences.rpy:371
old "Auto forward"
# Automatic translation.
new "Automatisch vorwärts"
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
# Automatic translation.
new "automatisches Weiterleiten nach Klick"
# renpy/common/00preferences.rpy:383
old "automatic move"
# Automatic translation.
new "automatischer Umzug"
# renpy/common/00preferences.rpy:392
old "wait for voice"
# Automatic translation.
new "auf Stimme warten"
# renpy/common/00preferences.rpy:401
old "voice sustain"
# Automatic translation.
new "Stimmhaltung"
# renpy/common/00preferences.rpy:410
old "self voicing"
# Automatic translation.
new "selbststimmend"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
# Automatic translation.
new "Selbststimmende Lautstärkeabnahme"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
# Automatic translation.
new "Clipboard-Intonation"
# renpy/common/00preferences.rpy:436
old "debug voicing"
# Automatic translation.
new "Intonation debuggen"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
# Automatic translation.
new "Audio hervorheben"
# renpy/common/00preferences.rpy:454
old "rollback side"
# Automatic translation.
new "Rollback-Seite"
# renpy/common/00preferences.rpy:464
old "gl powersave"
new "gl powersave"
# renpy/common/00preferences.rpy:470
old "gl framerate"
# Automatic translation.
new "Gl-Framerate"
# renpy/common/00preferences.rpy:473
old "gl tearing"
new "gl tearing"
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "Schriftart umwandeln"
# renpy/common/00preferences.rpy:479
old "font size"
# Automatic translation.
new "Schriftgröße"
# renpy/common/00preferences.rpy:487
old "font line spacing"
# Automatic translation.
new "Zeilenabstand der Schrift"
# renpy/common/00preferences.rpy:495
old "system cursor"
# Automatic translation.
new "System-Cursor"
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "Renderer-Menü"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "Menü Barrierefreiheit"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "Text mit hohem Kontrast"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
# Automatic translation.
new "Audio im minimierten Zustand"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "Audio bei Unschärfe"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "Web-Cache vorladen"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "Stimme nach dem Spielmenü"
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "Hauptvolumen"
# renpy/common/00preferences.rpy:572
old "music volume"
# Automatic translation.
new "Musiklautstärke"
# renpy/common/00preferences.rpy:573
old "sound volume"
# Automatic translation.
new "Lautstärke"
# renpy/common/00preferences.rpy:574
old "voice volume"
# Automatic translation.
new "Sprachlautstärke"
# renpy/common/00preferences.rpy:575
old "mute main"
# Automatic translation.
new "Hauptstummschaltung"
# renpy/common/00preferences.rpy:576
old "mute music"
# Automatic translation.
new "Musik stummschalten"
# renpy/common/00preferences.rpy:577
old "mute sound"
# Automatic translation.
new "Ton stummschalten"
# renpy/common/00preferences.rpy:578
old "mute voice"
# Automatic translation.
new "stumme Stimme"
# renpy/common/00preferences.rpy:579
old "mute all"
# Automatic translation.
new "alle stumm schalten"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "Sprechblasen-Editor"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(ausblenden)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "Sync heruntergeladen."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Es konnte keine Verbindung zum Ren'Py Sync Server hergestellt werden."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
# Automatic translation.
new "Der Ren'Py Sync-Server hat eine Zeitüberschreitung."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
new "Bei der Verbindung mit dem Ren'Py Sync-Server ist ein unbekannter Fehler aufgetreten."
# 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 "Der Ren'Py Sync-Server verfügt nicht über eine Kopie dieser Synchronisierung. Die Sync-ID ist möglicherweise ungültig, oder es wurde eine Zeitüberschreitung festgestellt."
# 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."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "Die Sync-ID hat nicht das richtige Format."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
# Automatic translation.
new "Die Synchronisierung konnte nicht entschlüsselt werden."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "Die Synchronisation gehört zu einem anderen Spiel."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
# Automatic translation.
new "Die Synchronisierung enthält eine Datei mit einem ungültigen Namen."
# 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?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
new "Sync-ID eingeben"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# Automatic translation.
new "Dadurch wird der {a=https://sync.renpy.org}Ren'Py Sync Server{/a} kontaktiert."
# renpy/common/00sync.rpy:596
old "Sync Success"
# Automatic translation.
new "Sync-Erfolg"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
new "Die Sync-ID lautet:"
# 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}."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "Sync-Fehler"
+115 -4
View File
@@ -59,11 +59,13 @@ translate german strings:
# _developer/developer.rpym:412
old "Rectangle copied to clipboard."
new "Rectangle copied to clipboard."
# Automatic translation.
new "Rechteck in die Zwischenablage kopiert."
# _developer/developer.rpym:415
old "Position copied to clipboard."
new "Position copied to clipboard."
# Automatic translation.
new "Position in die Zwischenablage kopiert."
# _developer/developer.rpym:524
old "✔ "
@@ -75,7 +77,8 @@ translate german 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}"
# Automatic translation.
new "\n{color=#cfc}✔ vorhergesagtes Bild (gut){/color}\n{color=#fcc}✘ unvorhergesehenes Bild (schlecht){/color}\n{color=#fff}Zum Verschieben ziehen.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
@@ -91,7 +94,8 @@ translate german strings:
# _developer/inspector.rpym:71
old "Location"
new "Location"
# Automatic translation.
new "Standort"
# _developer/inspector.rpym:122
old "Inspecting Styles of [displayable_name!q]"
@@ -177,3 +181,110 @@ translate german strings:
old "jump <label>: jumps to label"
new "jump <label>: springt zum Label"
translate german strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
# Automatic translation.
new "Interaktiver Direktor (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Dauerhafter Betrachter"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Bildladeprotokoll anzeigen (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
# Automatic translation.
new "Bildladeprotokoll ausblenden (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
# Automatic translation.
new "Bild-Attribute"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "Sprechblasen-Editor (Umschalt+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (versteckt)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Ausblenden gelöscht"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Anzeigen gelöscht"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Typ zum Filtern: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
# Automatic translation.
new "Texturen: [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 "Bild-Cache: [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: diese Hilfe anzeigen\n help <expr>: Signatur und Dokumentation von <expr> anzeigen"
# 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"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: den Rückgabestapel drucken"
# 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"
# 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)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
# Automatic translation.
new "long: Gibt die vollständige Darstellung der Objekte auf der Konsole aus."
# 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."
# 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)."
+150 -10
View File
@@ -23,7 +23,8 @@ translate german strings:
# 00gltest.rpy:93
old "Enable"
new "Enable"
# Automatic translation.
new "Aktivieren Sie"
# 00gltest.rpy:109
old "Changes will take effect the next time this program is run."
@@ -91,27 +92,33 @@ translate german strings:
# 00gamepad.rpy:32
old "Select Gamepad to Calibrate"
new "Select Gamepad to Calibrate"
# Automatic translation.
new "Gamepad zum Kalibrieren auswählen"
# 00gamepad.rpy:35
old "No Gamepads Available"
new "No Gamepads Available"
# Automatic translation.
new "Keine Gamepads verfügbar"
# 00gamepad.rpy:54
old "Calibrating [name] ([i]/[total])"
new "Calibrating [name] ([i]/[total])"
# Automatic translation.
new "Kalibrierung von [name] ([i]/[total])"
# 00gamepad.rpy:58
old "Press or move the [control!s] [kind]."
new "Press or move the [control!s] [kind]."
# Automatic translation.
new "Drücken Sie oder bewegen Sie die [control!s] [kind] ."
# 00gamepad.rpy:66
old "Skip (A)"
new "Skip (A)"
# Automatic translation.
new "Überspringen (A)"
# 00gamepad.rpy:69
old "Back (B)"
new "Back (B)"
# Automatic translation.
new "Rücken (B)"
# _errorhandling.rpym:495
old "Open Traceback"
@@ -123,11 +130,13 @@ translate german strings:
# _errorhandling.rpym:499
old "Copy to Clipboard"
new "Copy to Clipboard"
# Automatic translation.
new "In die Zwischenablage kopieren"
# _errorhandling.rpym:501
old "Copies the traceback.txt file to the clipboard."
new "Copies the traceback.txt file to the clipboard."
# Automatic translation.
new "Kopiert die Datei traceback.txt in die Zwischenablage."
# _errorhandling.rpym:519
old "An exception has occurred."
@@ -175,5 +184,136 @@ translate german strings:
# _errorhandling.rpym:612
old "Copies the errors.txt file to the clipboard."
new "Copies the errors.txt file to the clipboard."
# Automatic translation.
new "Kopiert die Datei errors.txt in die Zwischenablage."
translate german strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderer"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Force GL Renderer"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Force ANGLE Renderer"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
# Automatic translation.
new "GLES-Renderer erzwingen"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
# Automatic translation.
new "GL2-Renderer erzwingen"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "ANGLE2-Renderer erzwingen"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
# Automatic translation.
new "GLES2-Renderer erzwingen"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "Aktivieren (keine Sperrliste)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Powersave"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "Framerate"
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Bildschirm"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing"
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
# Automatic translation.
new "Dieses Spiel erfordert die Verwendung von GL2, das nicht initialisiert werden kann."
# 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."
# 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} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "Renderoptionen ändern"
# 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]."
# renpy/common/_errorhandling.rpym:555
old "Open"
# Automatic translation.
new "Öffnen Sie"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
# Automatic translation.
new "BBCode kopieren"
# 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 "Kopiert die Datei traceback.txt in die Zwischenablage als BBcode für Foren wie https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
# Automatic translation.
new "Markdown kopieren"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# Automatic translation.
new "Kopiert die Datei traceback.txt in die Zwischenablage als Markdown für Discord."
# 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."
# renpy/common/_errorhandling.rpym:637
old "Console"
# Automatic translation.
new "Konsole"
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
# Automatic translation.
new "Öffnet eine Konsole, um das Problem zu beheben."
+268 -100
View File
@@ -3,267 +3,333 @@ translate german strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
# Automatic translation.
new "## Initialisierung"
# 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."
# Automatic translation.
new "## Die Anweisung init offset bewirkt, dass der init-Code in dieser Datei vor dem init-Code in jeder anderen Datei ausgeführt wird."
# 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."
# Automatic translation.
new "## Der Aufruf von gui.init setzt die Stile auf sinnvolle Standardwerte zurück und setzt die Breite und Höhe des Spiels."
# gui.rpy:21
old "## Colors"
new "## Colors"
# Automatic translation.
new "## Farben"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
# Automatic translation.
new "## Die Farben des Textes in der Schnittstelle."
# 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."
# Automatic translation.
new "## Eine Akzentfarbe, die in der gesamten Benutzeroberfläche zur Beschriftung und Hervorhebung von Text verwendet wird."
# 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."
# Automatic translation.
new "## Die Farbe, die für eine Textschaltfläche verwendet wird, wenn sie weder ausgewählt ist noch mit dem Mauszeiger bewegt wird."
# 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."
# Automatic translation.
new "## Die kleine Farbe wird für kleinen Text verwendet, der heller/dunkler sein muss, um den gleichen Effekt zu erzielen."
# 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."
# Automatic translation.
new "## Die Farbe, die für Schaltflächen und Balken verwendet wird, die mit dem Mauszeiger bewegt werden."
# 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."
# Automatic translation.
new "## Die Farbe, die für eine Textschaltfläche verwendet wird, wenn sie ausgewählt, aber nicht fokussiert ist. Eine Schaltfläche ist ausgewählt, wenn sie der aktuelle Bildschirm oder Einstellungswert ist."
# 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."
# Automatic translation.
new "## Die Farbe, die für eine Textschaltfläche verwendet wird, wenn sie nicht ausgewählt werden kann."
# 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."
# Automatic translation.
new "## Farben für die Teile der Balken, die nicht ausgefüllt sind. Diese Farben werden nicht direkt verwendet, aber bei der Neuerstellung von Balkenbilddateien eingesetzt."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
# Automatic translation.
new "## Die Farben, die für Dialog- und Menüauswahltext verwendet werden."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
# Automatic translation.
new "## Schriftarten und Schriftgrößen"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
# Automatic translation.
new "## Die für den Text im Spiel verwendete Schriftart."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
# Automatic translation.
new "## Die für Zeichennamen verwendete Schriftart."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
# Automatic translation.
new "## Die Schriftart, die für den Text außerhalb des Spiels verwendet wird."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
# Automatic translation.
new "## Die Größe des normalen Dialogtextes."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
# Automatic translation.
new "## Die Größe der Zeichennamen."
# 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."
# Automatic translation.
new "## Die Größe des Textes in der Benutzeroberfläche des Spiels."
# 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."
# Automatic translation.
new "## Die Größe der Beschriftungen in der Benutzeroberfläche des Spiels."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
# Automatic translation.
new "## Die Größe des Textes auf dem Benachrichtigungsbildschirm."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
# Automatic translation.
new "## Die Größe des Titels des Spiels."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
# Automatic translation.
new "## Haupt- und Spielmenü"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
# Automatic translation.
new "## Die Bilder, die für das Haupt- und das Spielmenü verwendet werden."
# 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?"
# Automatic translation.
new "## Sollten wir den Namen und die Version des Spiels anzeigen?"
# gui.rpy:96
old "## Dialogue"
new "## Dialogue"
# Automatic translation.
new "*Dialog"
# 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."
# Automatic translation.
new "## Diese Variablen steuern, wie der Dialog zeilenweise auf dem Bildschirm angezeigt wird."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
# Automatic translation.
new "## Die Höhe des Textfeldes, das den Dialog enthält."
# 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."
# Automatic translation.
new "## Die Platzierung des Textfeldes vertikal auf dem Bildschirm. 0.0 ist der obere Rand, 0.5 ist die Mitte und 1.0 ist der untere Rand."
# 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."
# Automatic translation.
new "## Die Platzierung des Namens des sprechenden Charakters, relativ zum Textfeld. Dies kann eine ganze Anzahl von Pixeln von links oder oben sein, oder 0,5 bis zur Mitte."
# 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."
# Automatic translation.
new "## Die horizontale Ausrichtung des Namens des Zeichens. Dies kann 0.0 für linksbündig, 0.5 für zentriert und 1.0 für rechtsbündig sein."
# 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."
# Automatic translation.
new "## Die Breite, die Höhe und die Ränder des Feldes, das den Namen des Zeichens enthält, oder None, um es automatisch zu vergrößern."
# 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."
# Automatic translation.
new "## Die Ränder des Feldes, das den Namen des Zeichens enthält, in der Reihenfolge links, oben, rechts, unten."
# 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."
# Automatic translation.
new "## Wenn True, wird der Hintergrund des Namensfeldes gekachelt, wenn False, wird der Hintergrund des Namensfeldes skaliert."
# 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."
# Automatic translation.
new "## Die Platzierung des Dialogs relativ zum Textfeld. Dies kann eine ganze Anzahl von Pixeln relativ zur linken oder oberen Seite des Textfeldes oder 0,5 zur Mitte sein."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
# Automatic translation.
new "## Die maximale Breite des Dialogtextes, in Pixeln."
# 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."
# Automatic translation.
new "## Die horizontale Ausrichtung des Dialogtextes. Dies kann 0.0 für linksbündig, 0.5 für zentriert und 1.0 für rechtsbündig sein."
# gui.rpy:146
old "## Buttons"
new "## Buttons"
# Automatic translation.
new "## Schaltflächen"
# 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."
# Automatic translation.
new "## Diese Variablen, zusammen mit den Bilddateien in gui/button, steuern Aspekte der Darstellung von Schaltflächen."
# 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."
# Automatic translation.
new "## Die Breite und Höhe einer Schaltfläche, in Pixeln. Falls keine, berechnet Ren'Py eine Größe."
# 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."
# Automatic translation.
new "## Die Ränder auf jeder Seite der Schaltfläche, in der Reihenfolge links, oben, rechts, unten."
# 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."
# Automatic translation.
new "## Wenn True, wird das Hintergrundbild gekachelt. Wenn False, wird das Hintergrundbild linear skaliert."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
# Automatic translation.
new "## Die von der Schaltfläche verwendete Schriftart."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
# Automatic translation.
new "## Die Größe des von der Schaltfläche verwendeten Textes."
# 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."
# Automatic translation.
new "## Diese Variablen überschreiben die Einstellungen für verschiedene Arten von Schaltflächen. Bitte lesen Sie in der Gui-Dokumentation nach, welche Arten von Schaltflächen verfügbar sind und wofür sie jeweils verwendet werden."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
# Automatic translation.
new "## Diese Anpassungen werden von der Standardschnittstelle verwendet:"
# 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."
# Automatic translation.
new "## Sie können auch Ihre eigenen Anpassungen hinzufügen, indem Sie Variablen mit den richtigen Namen hinzufügen. Zum Beispiel können Sie die folgende Zeile auskommentieren, um die Breite einer Navigationsschaltfläche festzulegen."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
# Automatic translation.
new "## Auswahltasten"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
# Automatic translation.
new "## Wahltasten werden in den Menüs im Spiel verwendet."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
# Automatic translation.
new "## Datei Slot Schaltflächen"
# 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."
# Automatic translation.
new "## Eine Dateislot-Schaltfläche ist eine besondere Art von Schaltfläche. Er enthält ein Miniaturbild und einen Text, der den Inhalt des Speicherplatzes beschreibt. Ein Speicherslot verwendet Bilddateien in gui/button, wie die anderen Arten von Schaltflächen."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
# Automatic translation.
new "## Die Schaltfläche \"Slot speichern\"."
# 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."
# Automatic translation.
new "## Die Breite und Höhe der Miniaturbilder, die von den Speicherplätzen verwendet werden."
# 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."
# Automatic translation.
new "## Die Anzahl der Spalten und Zeilen im Raster der Speicherplätze."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
# Automatic translation.
new "## Positionierung und Abstände"
# 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."
# Automatic translation.
new "## Diese Variablen steuern die Positionierung und den Abstand der verschiedenen Elemente der Benutzeroberfläche."
# 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."
# Automatic translation.
new "## Die Position der linken Seite der Navigationstasten, relativ zur linken Seite des Bildschirms."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
# Automatic translation.
new "## Die vertikale Position des Überspringungsanzeigers."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
# Automatic translation.
new "## Die vertikale Position des Benachrichtigungsbildschirms."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
# Automatic translation.
new "## Die Abstände zwischen den Menüoptionen."
# 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."
# Automatic translation.
new "## Schaltflächen im Navigationsbereich des Haupt- und Spielmenüs."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
# Automatic translation.
new "## Steuert den Abstand zwischen den Einstellungen."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
# Automatic translation.
new "## Steuert den Abstand zwischen den Einstellungsschaltflächen."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
# Automatic translation.
new "## Der Abstand zwischen den Schaltflächen der Dateiseite."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
# Automatic translation.
new "## Der Abstand zwischen den Dateislots."
# gui.rpy:277
old "## Frames"
@@ -271,141 +337,243 @@ translate german strings:
# 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."
# Automatic translation.
new "## Diese Variablen steuern das Aussehen von Frames, die Komponenten der Benutzeroberfläche enthalten können, wenn kein Overlay oder Fenster vorhanden ist."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
# Automatic translation.
new "## Generische Frames, die vom Player-Code eingeführt werden."
# 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."
# Automatic translation.
new "## Der Rahmen, der als Teil des Bestätigungsbildschirms verwendet wird."
# 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."
# Automatic translation.
new "## Der Rahmen, der als Teil des Überspringungsbildschirms verwendet wird."
# 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."
# Automatic translation.
new "## Der Rahmen, der als Teil des Benachrichtigungsbildschirms verwendet wird."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
# Automatic translation.
new "## Sollen Rahmenhintergründe gekachelt werden?"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
# Automatic translation.
new "## Balken, Bildlaufleisten und Schieberegler"
# 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."
# Automatic translation.
new "## Diese steuern das Aussehen und die Größe von Balken, Bildlaufleisten und Schiebereglern."
# 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."
# Automatic translation.
new "## Die Standard-GUI verwendet nur Schieberegler und vertikale Bildlaufleisten. Alle anderen Leisten werden nur im vom Ersteller geschriebenen Code verwendet."
# 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."
# Automatic translation.
new "## Die Höhe der horizontalen Balken, Bildlaufleisten und Schieberegler. Die Breite der vertikalen Balken, Rollbalken und Schieberegler."
# 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."
# Automatic translation.
new "## True, wenn die Balkenbilder gekachelt werden sollen. False, wenn sie linear skaliert werden sollen."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
# Automatic translation.
new "## Horizontale Grenzen."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
# Automatic translation.
new "## Vertikale Ränder."
# 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."
# Automatic translation.
new "## Was man mit nicht scrollbaren Bildlaufleisten in der Benutzeroberfläche macht. \"hide\" blendet sie aus, während \"None\" sie anzeigt."
# gui.rpy:331
old "## History"
new "## History"
# Automatic translation.
new "## Geschichte"
# 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."
# Automatic translation.
new "## Der Verlaufsbildschirm zeigt Dialoge an, die der Spieler bereits verworfen hat."
# 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."
# Automatic translation.
new "## Die Anzahl der Blöcke des Dialogverlaufs, die Ren'Py behält."
# 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."
# Automatic translation.
new "## Die Höhe eines Eintrags im Verlaufsbildschirm, oder None, um die Höhe auf Kosten der Leistung variabel zu machen."
# 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."
# Automatic translation.
new "## Die Position, Breite und Ausrichtung der Beschriftung, die den Namen des sprechenden Zeichens angibt."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
# Automatic translation.
new "## Die Position, Breite und Ausrichtung des Dialogtextes."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
# Automatic translation.
new "## NVL-Modus"
# 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."
# Automatic translation.
new "## Der NVL-Modus-Bildschirm zeigt den Dialog an, der von den Charakteren im NVL-Modus gesprochen wird."
# 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."
# Automatic translation.
new "## Die Grenzen des Hintergrunds des Hintergrundfensters im NVL-Modus."
# 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."
# Automatic translation.
new "## Die Höhe eines Eintrags im NVL-Modus. Setzen Sie dies auf None, um die Höhe der Einträge dynamisch anzupassen."
# 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."
# Automatic translation.
new "## Der Abstand zwischen NVL-Mode-Einträgen, wenn gui.nvl_height None ist, und zwischen NVL-Mode-Einträgen und einem NVL-Mode-Menü."
# 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.)"
# Automatic translation.
new "## Die Position, Breite und Ausrichtung des nvl_thought-Textes (der Text, der vom nvl_narrator-Zeichen gesprochen wird)."
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
# Automatic translation.
new "## Die Position der 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."
# Automatic translation.
new "## Dadurch werden die Schnellschaltflächen größer, damit sie auf Tablets und Handys leichter zu erreichen sind."
# 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."
# Automatic translation.
new "## Dies ändert die Größe und die Abstände verschiedener GUI-Elemente, um sicherzustellen, dass sie auf Handys gut sichtbar sind."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
# Automatic translation.
new "## Schriftgrößen."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
# Automatic translation.
new "## Passen Sie die Position des Textfeldes an."
# 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."
# Automatic translation.
new "## Ändern Sie die Größe und die Abstände der Elemente im Spielmenü."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
# Automatic translation.
new "## Layout der Schaltfläche Datei."
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
# Automatic translation.
new "## NVL-Modus."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
translate german 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 "## Die Anweisung init offset bewirkt, dass die Initialisierungsanweisungen in dieser Datei vor den init-Anweisungen in allen anderen Dateien ausgeführt werden."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
# Automatic translation.
new "## Prüfungen auf ungültige oder instabile Eigenschaften in Bildschirmen oder Transformationen aktivieren"
# gui/game/gui.rpy:19
old "## GUI Configuration Variables"
# Automatic translation.
new "## GUI-Konfigurationsvariablen"
# gui/game/gui.rpy:167
old "## The color of button text in various states."
# Automatic translation.
new "## Die Farbe des Schaltflächentextes in verschiedenen Zuständen."
# 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)."
# Automatic translation.
new "## Die horizontale Ausrichtung des Schaltflächentextes. (0.0 ist links, 0.5 ist mittig, 1.0 ist rechts)."
# gui/game/gui.rpy:278
old "## The position of the main menu text."
# Automatic translation.
new "## Die Position des Hauptmenütextes."
# gui/game/gui.rpy:287
old "## Generic frames."
# Automatic translation.
new "## Allgemeine Rahmen."
# 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 "## Die Standard-GUI verwendet nur Schieberegler und vertikale Bildlaufleisten. Alle anderen Leisten werden nur in vom Ersteller geschriebenen Bildschirmen verwendet."
# 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 "## Die maximale Anzahl der Einträge im NVL-Modus, die Ren'Py anzeigt. Wenn mehr Einträge als diese Zahl angezeigt werden sollen, wird der älteste Eintrag entfernt."
# gui/game/gui.rpy:405
old "## Localization"
# Automatic translation.
new "## Lokalisierung"
# gui/game/gui.rpy:407
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"
# Automatic translation.
new "## Dies steuert, wo ein Zeilenumbruch zulässig ist. Der Standardwert ist für die meisten Sprachen geeignet. Eine Liste der verfügbaren Werte finden Sie unter https://www.renpy.org/doc/html/style_properties.html#style-property-language."
# gui/game/gui.rpy:415
old "## Mobile devices"
# Automatic translation.
new "## Mobile Geräte"
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
# Automatic translation.
new "## Ändern Sie die Größe und die Abstände verschiedener Dinge."
File diff suppressed because it is too large Load Diff
+115 -44
View File
@@ -3,119 +3,148 @@ translate german 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."
# Automatic translation.
new "## Diese Datei enthält Optionen, die geändert werden können, um das Spiel anzupassen."
# 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."
# 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."
# options.rpy:10
old "## Basics"
new "## Basics"
# Automatic translation.
new "## Grundlagen"
# 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."
# Automatic translation.
new "## Ein für Menschen lesbarer Name des Spiels. Dieser wird verwendet, um den Standard-Fenstertitel festzulegen, und wird in der Benutzeroberfläche und in Fehlerberichten angezeigt."
# 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."
# Automatic translation.
new "## Das _(), das die Zeichenkette umgibt, kennzeichnet sie als übersetzbar."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
# Automatic translation.
new "Ren'Py 7 Standard-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."
# Automatic translation.
new "## Bestimmt, ob der oben angegebene Titel auf dem Hauptmenübildschirm angezeigt wird. Setzen Sie dies auf False, um den Titel auszublenden."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
# Automatic translation.
new "## Die Version des Spiels."
# 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."
# Automatic translation.
new "## Text, der auf dem Info-Bildschirm des Spiels erscheint. Um eine Leerzeile zwischen Absätzen einzufügen, schreiben Sie \\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."
# Automatic translation.
new "## Ein kurzer Name für das Spiel, der für ausführbare Dateien und Verzeichnisse in der erstellten Distribution verwendet wird. Er darf nur ASCII sein und keine Leerzeichen, Doppelpunkte oder Semikolons enthalten."
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
# Automatic translation.
new "## Klänge 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."
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."
# Automatic translation.
new "## Diese drei Variablen steuern, welche Mixer dem Spieler standardmäßig angezeigt werden. Wird eine dieser Variablen auf False gesetzt, wird der entsprechende Mischer ausgeblendet."
# 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."
# 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."
# 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."
# 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."
# options.rpy:69
old "## Transitions"
new "## Transitions"
# Automatic translation.
new "## Übergänge"
# 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."
# Automatic translation.
new "## Diese Variablen legen Übergänge fest, die bei bestimmten Ereignissen verwendet werden. Jede Variable sollte auf einen Übergang gesetzt werden, oder auf \"None\", um anzugeben, dass kein Übergang verwendet werden soll."
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
# Automatic translation.
new "## Aufrufen oder Verlassen des Spielmenüs."
# 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."
# Automatic translation.
new "## Ein Übergang, der verwendet wird, nachdem ein Spiel geladen wurde."
# 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."
# Automatic translation.
new "## Wird verwendet, wenn das Hauptmenü nach Beendigung des Spiels aufgerufen wird."
# 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."
# 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."
# options.rpy:96
old "## Window management"
new "## Window management"
# Automatic translation.
new "## Fensterverwaltung"
# 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."
# Automatic translation.
new "## Dies steuert, wann das Dialogfenster angezeigt wird. Wenn \"show\", wird es immer angezeigt. Wenn \"hide\", wird es nur angezeigt, wenn ein Dialog vorhanden ist. Bei \"auto\" wird das Fenster vor Szenenanweisungen ausgeblendet und wieder eingeblendet, sobald der Dialog angezeigt wird."
# 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."
# Automatic translation.
new "## Nachdem das Spiel gestartet wurde, kann dies mit den Anweisungen \"window show\", \"window hide\" und \"window auto\" geändert werden."
# options.rpy:109
old "## Transitions used to show and hide the dialogue window"
new "## Transitions used to show and hide the dialogue window"
# Automatic translation.
new "## Übergänge zum Ein- und Ausblenden des Dialogfensters"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
# Automatic translation.
new "## Präferenzvorgaben"
# 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."
# Automatic translation.
new "## Steuert die Standard-Textgeschwindigkeit. Die Vorgabe 0 ist unendlich, während jede andere Zahl die Anzahl der zu tippenden Zeichen pro Sekunde angibt."
# 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."
# 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."
# options.rpy:129
old "## Save directory"
new "## Save directory"
# Automatic translation.
new "## Verzeichnis speichern"
# 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:"
# Automatic translation.
new "## Legt den plattformspezifischen Ort fest, an dem Ren'Py die Speicherdateien für dieses Spiel ablegt. Die Speicherdateien werden in platziert:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -131,7 +160,8 @@ translate german 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."
# Automatic translation.
new "## Dies sollte in der Regel nicht geändert werden, und wenn doch, dann sollte es sich immer um eine Zeichenkette und nicht um einen Ausdruck handeln."
# options.rpy:146
old "## Icon ########################################################################'"
@@ -139,57 +169,98 @@ translate german strings:
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
# Automatic translation.
new "## Das Symbol, das in der Taskleiste oder im Dock angezeigt wird."
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
# Automatic translation.
new "## Konfiguration erstellen"
# 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."
# Automatic translation.
new "## Dieser Abschnitt steuert, wie Ren'Py Ihr 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."
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."
# Automatic translation.
new "## Die folgenden Funktionen nehmen Dateimuster an. Die Dateimuster unterscheiden nicht zwischen Groß- und Kleinschreibung und werden mit dem Pfad relativ zum Basisverzeichnis abgeglichen, mit oder ohne führendem /. Wenn mehrere Muster übereinstimmen, wird das erste verwendet."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
# Automatic translation.
new "## In einem Muster:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
# Automatic translation.
new "## / ist das Verzeichnis-Trennzeichen."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
# Automatic translation.
new "## * trifft auf alle Zeichen zu, außer auf das Verzeichnistrennzeichen."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
# Automatic translation.
new "## ** passt auf alle Zeichen, auch auf das Verzeichnis-Trennzeichen."
# 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."
# Automatic translation.
new "*.txt\" findet beispielsweise txt-Dateien im Basisverzeichnis, \"game/**.ogg\" findet ogg-Dateien im Spielverzeichnis oder einem seiner Unterverzeichnisse und \"**.psd\" findet psd-Dateien überall im Projekt."
# 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."
# Automatic translation.
new "## Klassifizieren Sie Dateien als None, um sie von den erstellten Distributionen auszuschließen."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
# Automatic translation.
new "## Um Dateien zu archivieren, klassifizieren Sie sie als \"Archiv\"."
# 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."
# Automatic translation.
new "## Dateien, die den Dokumentationsmustern entsprechen, werden in einem Mac-App-Build dupliziert, sodass sie sowohl in der App als auch in der Zip-Datei erscheinen."
# 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."
# 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."
# 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."
# Automatic translation.
new "## Der mit einem itch.io-Projekt verbundene Benutzername und Projektname, getrennt durch einen Schrägstrich."
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."
# 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 "## Diese drei Variablen steuern unter anderem, welche Mixer dem Spieler standardmäßig angezeigt werden. Wird eine dieser Variablen auf False gesetzt, wird der entsprechende Mischer ausgeblendet."
# gui/game/options.rpy:82
old "## Between screens of the game menu."
# Automatic translation.
new "## Zwischen den Bildschirmen des Spielmenüs."
# gui/game/options.rpy:152
old "## Icon"
new "## Icon"
# 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\"."
+353 -116
View File
@@ -3,23 +3,28 @@ translate german strings:
# screens.rpy:9
old "## Styles"
new "## Styles"
# Automatic translation.
new "## Stile"
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
# Automatic translation.
new "## Bildschirme im Spiel"
# screens.rpy:91
old "## Say screen"
new "## Say screen"
# Automatic translation.
new "## Sagen Sie 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.)"
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.)"
# Automatic translation.
new "## Der say-Bildschirm wird verwendet, um dem Spieler einen Dialog anzuzeigen. Er benötigt zwei Parameter, who und what, die den Namen des sprechenden Charakters bzw. den anzuzeigenden Text darstellen. (Der who-Parameter kann None sein, wenn kein Name angegeben wird.)"
# 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."
# Automatic translation.
new "## Dieser Bildschirm muss ein Text-Displayable mit der id \"what\" erstellen, da Ren'Py dieses zur Verwaltung der Textanzeige verwendet. Es kann auch Displayables mit der id \"who\" und id \"window\" erstellen, um Stileigenschaften anzuwenden."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -27,15 +32,18 @@ translate german strings:
# screens.rpy:169
old "## Input screen"
new "## Input screen"
# Automatic translation.
new "## Eingabebildschirm"
# 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."
# Automatic translation.
new "## Dieser Bildschirm wird zur Anzeige von renpy.input verwendet. Der Prompt-Parameter wird verwendet, um eine Text-Eingabeaufforderung zu übergeben."
# 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."
# Automatic translation.
new "## Dieser Bildschirm muss eine anzeigbare Eingabe mit der ID \"input\" erstellen, um die verschiedenen Eingabeparameter zu akzeptieren."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -43,11 +51,13 @@ translate german strings:
# screens.rpy:205
old "## Choice screen"
new "## Choice screen"
# Automatic translation.
new "## Auswahlbildschirm"
# 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."
# 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."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -55,15 +65,18 @@ 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."
new "## 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."
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
# Automatic translation.
new "## Bildschirm Schnellmenü"
# 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."
# Automatic translation.
new "## Das Schnellmenü wird im Spiel angezeigt, um einen einfachen Zugriff auf die Menüs außerhalb des Spiels zu ermöglichen."
# screens.rpy:261
old "Back"
@@ -71,7 +84,8 @@ translate german strings:
# screens.rpy:262
old "History"
new "History"
# Automatic translation.
new "Geschichte"
# screens.rpy:263
old "Skip"
@@ -99,15 +113,18 @@ translate german 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."
# Automatic translation.
new "## Dieser Code stellt sicher, dass der quick_menu-Bildschirm im Spiel angezeigt wird, wenn der Spieler die Benutzeroberfläche nicht explizit ausgeblendet hat."
# screens.rpy:291
old "## Navigation screen"
new "## Navigation screen"
# Automatic translation.
new "## Navigationsbildschirm"
# 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."
# Automatic translation.
new "## Dieser Bildschirm ist im Haupt- und Spielmenü enthalten und ermöglicht die Navigation zu anderen Menüs und den Start des Spiels."
# screens.rpy:308
old "Start"
@@ -115,7 +132,8 @@ translate german strings:
# screens.rpy:316
old "Load"
new "Load"
# Automatic translation.
new "Laden Sie"
# screens.rpy:318
old "Preferences"
@@ -123,7 +141,8 @@ translate german strings:
# screens.rpy:322
old "End Replay"
new "End Replay"
# Automatic translation.
new "Wiederholung beenden"
# screens.rpy:326
old "Main Menu"
@@ -135,7 +154,8 @@ translate german strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
# Automatic translation.
new "## Hilfe ist für mobile Geräte nicht notwendig oder relevant."
# screens.rpy:333
old "Help"
@@ -143,7 +163,8 @@ translate german 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."
# Automatic translation.
new "## Die Beenden-Schaltfläche ist auf iOS verboten und auf Android unnötig."
# screens.rpy:336
old "Quit"
@@ -151,11 +172,13 @@ translate german strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
# Automatic translation.
new "## Hauptmenü-Bildschirm"
# 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."
# Automatic translation.
new "## Wird verwendet, um das Hauptmenü beim Start von Ren'Py anzuzeigen."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -163,19 +186,18 @@ translate german strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
# Automatic translation.
new "## Die Anweisung use enthält einen weiteren Bildschirm innerhalb dieses Bildschirms. Der eigentliche Inhalt des Hauptmenüs befindet sich auf dem Navigationsbildschirm."
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
# Automatic translation.
new "## Bildschirm Spielmenü"
# 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."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
# Automatic translation.
new "## Hier wird die allgemeine Grundstruktur eines Spielmenübildschirms festgelegt. Es wird mit dem Bildschirmtitel aufgerufen und zeigt den Hintergrund, den Titel und die Navigation an."
# screens.rpy:476
old "Return"
@@ -183,19 +205,23 @@ translate german strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
# Automatic translation.
new "## Über den Bildschirm"
# 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."
# Automatic translation.
new "## Dieser Bildschirm enthält Kredit- 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."
new "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
# Automatic translation.
new "## Dieser Bildschirm ist nichts Besonderes und dient daher auch als Beispiel für die Erstellung eines benutzerdefinierten Bildschirms."
# 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."
# 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
old "Version [config.version!t]\n"
@@ -203,23 +229,28 @@ translate german strings:
# screens.rpy:563
old "## gui.about is usually set in options.rpy."
new "## gui.about is usually set in options.rpy."
# Automatic translation.
new "## gui.about wird normalerweise in options.rpy eingestellt."
# 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]"
# Automatic translation.
new "Hergestellt 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."
new "## 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"
new "## Load and Save screens"
# Automatic translation.
new "## Bildschirme laden und speichern"
# 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."
# 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."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -227,23 +258,28 @@ translate german strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
# Automatic translation.
new "Seite {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
# Automatic translation.
new "Automatisch speichern"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
# Automatic translation.
new "Schnelles Speichern"
# 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."
# Automatic translation.
new "## Dies stellt sicher, dass die Eingabe das Enter-Ereignis erhält, bevor es eine der Schaltflächen tut."
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
# Automatic translation.
new "## Das Raster der Dateislots."
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
@@ -251,11 +287,13 @@ translate german strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
# Automatic translation.
new "leerer Steckplatz"
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
# Automatic translation.
new "## Schaltflächen für den Zugriff auf andere Seiten."
# screens.rpy:666
old "<"
@@ -275,11 +313,13 @@ translate german strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
# Automatic translation.
new "## Bildschirm Präferenzen"
# 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."
# Automatic translation.
new "## Der Einstellungsbildschirm 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"
@@ -299,23 +339,28 @@ translate german strings:
# screens.rpy:744
old "Rollback Side"
new "Rollback Side"
# Automatic translation.
new "Rollback Seite"
# screens.rpy:745
old "Disable"
new "Disable"
# Automatic translation.
new "Deaktivieren Sie"
# screens.rpy:746
old "Left"
new "Left"
# Automatic translation.
new "Links"
# screens.rpy:747
old "Right"
new "Right"
# Automatic translation.
new "Rechts"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
# Automatic translation.
new "Unsichtbarer Text"
# screens.rpy:753
old "After Choices"
@@ -327,7 +372,8 @@ translate german 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."
# Automatic translation.
new "## Hier können zusätzliche vboxes vom Typ \"radio_pref\" oder \"check_pref\" hinzugefügt werden, um weitere vom Ersteller definierte Einstellungen hinzuzufügen."
# screens.rpy:767
old "Text Speed"
@@ -355,15 +401,18 @@ translate german strings:
# screens.rpy:806
old "Mute All"
new "Mute All"
# Automatic translation.
new "Alle stummschalten"
# screens.rpy:882
old "## History screen"
new "## History screen"
# Automatic translation.
new "## Bildschirm Geschichte"
# 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."
# Automatic translation.
new "## Dies ist ein Bildschirm, der dem Spieler den Dialogverlauf anzeigt. Es gibt zwar nichts Besonderes an diesem Bildschirm, aber er muss auf den Dialogverlauf zugreifen, der in _history_list gespeichert ist."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
@@ -371,35 +420,43 @@ translate german strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
# Automatic translation.
new "## Vermeiden Sie es, diesen Bildschirm vorherzusehen, da er sehr groß sein kann."
# 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."
# Automatic translation.
new "## Dies legt die Dinge richtig aus, wenn history_height None ist."
# 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."
# Automatic translation.
new "## Übernimmt die Farbe des Wer-Textes aus dem Zeichen, falls festgelegt."
# screens.rpy:921
old "The dialogue history is empty."
new "The dialogue history is empty."
# Automatic translation.
new "Der Dialogverlauf ist leer."
# screens.rpy:965
old "## Help screen"
new "## Help screen"
# Automatic translation.
new "## Hilfe-Bildschirm"
# 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."
# Automatic translation.
new "## Ein Bildschirm, der Informationen über Tasten- und Mausbelegungen liefert. Er verwendet andere Bildschirme (keyboard_help, mouse_help und gamepad_help), um die eigentliche Hilfe anzuzeigen."
# screens.rpy:986
old "Keyboard"
new "Keyboard"
# Automatic translation.
new "Tastatur"
# screens.rpy:987
old "Mouse"
new "Mouse"
# Automatic translation.
new "Maus"
# screens.rpy:990
old "Gamepad"
@@ -407,43 +464,53 @@ translate german strings:
# screens.rpy:1003
old "Enter"
new "Enter"
# Automatic translation.
new "Eingabe"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
# Automatic translation.
new "Erweitert den Dialog und aktiviert die Schnittstelle."
# screens.rpy:1007
old "Space"
new "Space"
# Automatic translation.
new "Weltraum"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
# Automatic translation.
new "Bringt den Dialog voran, ohne eine Auswahl zu treffen."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
# Automatic translation.
new "Pfeil-Tasten"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
# Automatic translation.
new "Navigieren Sie durch die Schnittstelle."
# screens.rpy:1015
old "Escape"
new "Escape"
# Automatic translation.
new "Flucht"
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
# Automatic translation.
new "Ruft das Spielmenü auf."
# screens.rpy:1019
old "Ctrl"
new "Ctrl"
# Automatic translation.
new "Strg"
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
# Automatic translation.
new "Überspringt Dialoge, wenn Sie die Taste gedrückt halten."
# screens.rpy:1023
old "Tab"
@@ -451,75 +518,93 @@ translate german strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
# Automatic translation.
new "Schaltet das Überspringen von Dialogen ein."
# screens.rpy:1027
old "Page Up"
new "Page Up"
# Automatic translation.
new "Seite oben"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
# Automatic translation.
new "Kehrt zu einem früheren Dialog zurück."
# screens.rpy:1031
old "Page Down"
new "Page Down"
# Automatic translation.
new "Seite unten"
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
# Automatic translation.
new "Weiter geht's mit einem späteren Dialog."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
# Automatic translation.
new "Blendet die Benutzeroberfläche aus."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
# Automatic translation.
new "Nimmt einen Screenshot auf."
# 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}."
# Automatic translation.
new "Schaltet das Hilfsmittel {a=https://www.renpy.org/l/voicing}selbststimmend{/a} um."
# screens.rpy:1050
old "Left Click"
new "Left Click"
# Automatic translation.
new "Links klicken"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
# Automatic translation.
new "Mittlerer Klick"
# screens.rpy:1058
old "Right Click"
new "Right Click"
# Automatic translation.
new "Rechtsklick"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
# Automatic translation.
new "Mausrad nach oben\nKlicken Sie auf Rollback Seite"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
# Automatic translation.
new "Mausrad nach unten"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
# Automatic translation.
new "Rechter Auslöser\nA/Unterer Knopf"
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
# Automatic translation.
new "Erweitert den Dialog und aktiviert die Schnittstelle."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
# Automatic translation.
new "Gehen Sie zu einem früheren Dialog zurück."
# screens.rpy:1081
old "Right Shoulder"
new "Right Shoulder"
# Automatic translation.
new "Rechte Schulter"
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
# Automatic translation.
new "Spulen Sie vor zu einem späteren Dialog."
# screens.rpy:1085
old "D-Pad, Sticks"
@@ -527,31 +612,38 @@ translate german strings:
# screens.rpy:1089
old "Start, Guide"
new "Start, Guide"
# Automatic translation.
new "Start, Leitfaden"
# screens.rpy:1090
old "Access the game menu."
new "Access the game menu."
# Automatic translation.
new "Rufen Sie das Spielmenü auf."
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
# Automatic translation.
new "Y/Top-Taste"
# screens.rpy:1096
old "Calibrate"
new "Calibrate"
# Automatic translation.
new "Kalibrieren Sie"
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
# Automatic translation.
new "## Zusätzliche Bildschirme"
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
# Automatic translation.
new "## Bildschirm bestätigen"
# 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."
# Automatic translation.
new "## Der Bestätigungsbildschirm wird aufgerufen, wenn Ren'Py dem Spieler eine Ja- oder Nein-Frage stellen will."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -559,7 +651,8 @@ translate german strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
# Automatic translation.
new "## Stellen Sie sicher, dass andere Bildschirme keine Eingaben erhalten, während dieser Bildschirm angezeigt wird."
# screens.rpy:1161
old "Yes"
@@ -571,15 +664,18 @@ translate german strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
# Automatic translation.
new "## Klicken Sie mit der rechten Maustaste und geben Sie die Antwort \"Nein\" ein."
# screens.rpy:1191
old "## Skip indicator screen"
new "## Skip indicator screen"
# Automatic translation.
new "## Indikatorbildschirm überspringen"
# 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."
# Automatic translation.
new "## Der Bildschirm skip_indicator wird angezeigt, um zu signalisieren, dass das Überspringen im Gange ist."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -587,19 +683,23 @@ translate german strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
# Automatic translation.
new "Überspringen"
# 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."
# Automatic translation.
new "## Diese Transformation wird verwendet, um die Pfeile nacheinander zu blinken."
# screens.rpy:1247
old "## Notify screen"
new "## Notify screen"
# Automatic translation.
new "## Bildschirm benachrichtigen"
# 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.)"
# Automatic translation.
new "## Der Benachrichtigungsbildschirm wird verwendet, um dem Spieler eine Nachricht anzuzeigen. (Zum Beispiel, wenn das Spiel schnell gespeichert wird oder ein Screenshot gemacht wurde)."
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -607,11 +707,13 @@ translate german strings:
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
# Automatic translation.
new "## NVL-Bildschirm"
# 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."
# Automatic translation.
new "## Dieser Bildschirm wird für den Dialog und die Menüs im NVL-Modus verwendet."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -619,25 +721,160 @@ translate german strings:
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
# Automatic translation.
new "## Zeigt den Dialog entweder in einem vpgrid oder in der vbox an."
# 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."
# Automatic translation.
new "## Zeigt das Menü an, falls vorhanden. Das Menü kann falsch angezeigt werden, wenn config.narrator_menu auf True gesetzt ist, wie es oben der Fall ist."
# 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."
# Automatic translation.
new "## Dies steuert die maximale Anzahl der Einträge im NVL-Modus, die gleichzeitig angezeigt werden können."
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
# Automatic translation.
new "## Mobile Varianten"
# 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."
# Automatic translation.
new "## Da eine Maus möglicherweise nicht vorhanden ist, ersetzen wir das Schnellmenü durch eine Version mit weniger und größeren Tasten, die leichter zu berühren sind."
# screens.rpy:1429
old "Menu"
new "Menu"
# Automatic translation.
new "Menü"
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."
# 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."
# 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:241
old "## Ensure this appears on top of other screens."
# Automatic translation.
new "## Stellen Sie sicher, dass dies über den anderen Bildschirmen erscheint."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
# Automatic translation.
new "## Haupt- und Spielmenü-Bildschirme"
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
# Automatic translation.
new "## Die Beenden-Schaltfläche ist auf iOS verboten und auf Android und Web unnötig."
# 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:352
old "## This ensures that any other menu screen is replaced."
# Automatic translation.
new "## Dadurch wird sichergestellt, dass jeder andere Menübildschirm ersetzt wird."
# gui/game/screens.rpy:357
old "## This empty frame darkens the main menu."
# Automatic translation.
new "## Dieser leere Rahmen verdunkelt das Hauptmenü."
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
# Automatic translation.
new "## Reservieren Sie Platz für den Navigationsbereich."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
# Automatic translation.
new "## Der Seitenname, der durch Klicken auf eine Schaltfläche bearbeitet werden kann."
# 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."
# gui/game/screens.rpy:676
old "Upload Sync"
# Automatic translation.
new "Sync hochladen"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Sync herunterladen"
# 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
old "Opens the accessibility menu."
# Automatic translation.
new "Öffnet das Menü Barrierefreiheit."
# gui/game/screens.rpy:1082
old "Left Trigger\nLeft Shoulder"
# Automatic translation.
new "Linker Auslöser\nLinke Schulter"
# gui/game/screens.rpy:1139
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: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
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:1320
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
# Automatic translation.
new "## Zeigt das Menü an, falls vorhanden. Das Menü wird möglicherweise nicht korrekt angezeigt, wenn config.narrator_menu auf True gesetzt ist."
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
new "## Blasenbildschirm"
# 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."
# 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"
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."
+654 -3
View File
@@ -199,7 +199,8 @@ translate greek 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?"
# Automatic translation.
new "Είστε σίγουροι ότι θέλετε να παραλείψετε τον αθέατο διάλογο για την επόμενη επιλογή;"
# 00keymap.rpy:250
old "Saved screenshot as %s."
@@ -223,7 +224,8 @@ translate greek 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}."
# Automatic translation.
new "Αυτό το πρόγραμμα περιέχει ελεύθερο λογισμικό υπό διάφορες άδειες χρήσης, συμπεριλαμβανομένης της Άδειας MIT και της Άδειας GNU Lesser General Public License. Ένας πλήρης κατάλογος του λογισμικού, συμπεριλαμβανομένων των συνδέσμων προς τον πλήρη πηγαίο κώδικα, μπορεί να βρεθεί {a=https://www.renpy.org/l/license}εδώ{/a}."
# 00preferences.rpy:422
old "Clipboard voicing enabled. Press 'shift+C' to disable."
@@ -239,7 +241,8 @@ translate greek strings:
# 00iap.rpy:217
old "Contacting App Store\nPlease Wait..."
new "Contacting App Store\nPlease Wait..."
# Automatic translation.
new "Επικοινωνία με το App Store\nΠαρακαλώ περιμένετε..."
# 00updater.rpy:367
old "The Ren'Py Updater is not supported on mobile devices."
@@ -333,3 +336,651 @@ translate greek strings:
old "return"
new "επιστροφή"
translate greek strings:
# renpy/common/00accessibility.rpy:32
old "bar"
# Automatic translation.
new "μπαρ"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "επιλεγμένο"
# renpy/common/00accessibility.rpy:34
old "viewport"
# Automatic translation.
new "παράθυρο προβολής"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "οριζόντια κύλιση"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
# Automatic translation.
new "κατακόρυφη κύλιση"
# renpy/common/00accessibility.rpy:37
old "activate"
# Automatic translation.
new "ενεργοποιήστε το"
# renpy/common/00accessibility.rpy:38
old "deactivate"
# Automatic translation.
new "απενεργοποίηση"
# renpy/common/00accessibility.rpy:39
old "increase"
# Automatic translation.
new "αύξηση"
# renpy/common/00accessibility.rpy:40
old "decrease"
# Automatic translation.
new "μείωση"
# renpy/common/00accessibility.rpy:138
old "Font Override"
# Automatic translation.
new "Παράκαμψη γραμματοσειράς"
# renpy/common/00accessibility.rpy:142
old "Default"
# Automatic translation.
new "Προεπιλογή"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
# Automatic translation.
new "Κλιμάκωση μεγέθους κειμένου"
# renpy/common/00accessibility.rpy:162
old "Reset"
# Automatic translation.
new "Επαναφορά"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
# Automatic translation.
new "Απόσταση γραμμής Κλιμάκωση"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Κείμενο υψηλής αντίθεσης"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
# Automatic translation.
new "Αυτο-ομιλία"
# renpy/common/00accessibility.rpy:197
old "Off"
new "Off"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
# Automatic translation.
new "Μετατροπή κειμένου σε ομιλία"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Πρόχειρο"
# renpy/common/00accessibility.rpy:209
old "Debug"
# Automatic translation.
new "Αποσφαλμάτωση"
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
# Automatic translation.
new "Πτώση όγκου αυτο-ομιλίας"
# 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 "Οι επιλογές σε αυτό το μενού αποσκοπούν στη βελτίωση της προσβασιμότητας. Ενδέχεται να μην λειτουργούν με όλα τα παιχνίδια και ορισμένοι συνδυασμοί επιλογών ενδέχεται να καταστήσουν το παιχνίδι μη αναπαραγώγιμο. Αυτό δεν αποτελεί πρόβλημα με το παιχνίδι ή τη μηχανή. Για καλύτερα αποτελέσματα κατά την αλλαγή των γραμματοσειρών, προσπαθήστε να διατηρήσετε το μέγεθος του κειμένου στο ίδιο μέγεθος με το αρχικό."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
# Automatic translation.
new "Αποθήκευση υποδοχής %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
# Automatic translation.
new "Φορτώστε την υποδοχή %s: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
# Automatic translation.
new "Διαγραφή υποδοχής [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
# Automatic translation.
new "Αυτόματη σελίδα αρχείου"
# renpy/common/00action_file.rpy:595
old "File page quick"
# Automatic translation.
new "Σελίδα αρχείου γρήγορη"
# renpy/common/00action_file.rpy:597
old "File page [text]"
# Automatic translation.
new "Σελίδα αρχείου [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
# Automatic translation.
new "Επόμενη σελίδα αρχείου."
# renpy/common/00action_file.rpy:868
old "Previous file page."
# Automatic translation.
new "Προηγούμενη σελίδα αρχείου."
# renpy/common/00action_file.rpy:944
old "Quick save."
# Automatic translation.
new "Γρήγορη αποθήκευση."
# renpy/common/00action_file.rpy:963
old "Quick load."
# Automatic translation.
new "Γρήγορη φόρτωση."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Γλώσσα [text]"
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
# Automatic translation.
new "Ο διαδραστικός σκηνοθέτης δεν είναι ενεργοποιημένος εδώ."
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Έγινε"
# renpy/common/00director.rpy:1584
old "(statement)"
# Automatic translation.
new "(δήλωση)"
# renpy/common/00director.rpy:1585
old "(tag)"
# Automatic translation.
new "(ετικέτα)"
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(χαρακτηριστικά)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(transform)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(κανάλι)"
# renpy/common/00director.rpy:1625
old "(filename)"
# Automatic translation.
new "(όνομα αρχείου)"
# renpy/common/00director.rpy:1654
old "Change"
# Automatic translation.
new "Αλλαγή"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "Προσθέστε"
# renpy/common/00director.rpy:1662
old "Remove"
# Automatic translation.
new "Αφαιρέστε το"
# renpy/common/00director.rpy:1697
old "Statement:"
# Automatic translation.
new "Δήλωση:"
# renpy/common/00director.rpy:1718
old "Tag:"
# Automatic translation.
new "Ετικέτα:"
# renpy/common/00director.rpy:1734
old "Attributes:"
# Automatic translation.
new "Χαρακτηριστικά:"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
# Automatic translation.
new "Κάντε κλικ για εναλλαγή χαρακτηριστικών, δεξί κλικ για εναλλαγή αρνητικών χαρακτηριστικών."
# renpy/common/00director.rpy:1757
old "Transforms:"
# Automatic translation.
new "Μετασχηματισμοί:"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
# Automatic translation.
new "Κάντε κλικ για να ορίσετε μετασχηματισμό, κάντε δεξί κλικ για να προσθέσετε στη λίστα μετασχηματισμών."
# renpy/common/00director.rpy:1780
old "Behind:"
# Automatic translation.
new "Πίσω:"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
# Automatic translation.
new "Κάντε κλικ για να ορίσετε, κάντε δεξί κλικ για να προσθέσετε στη λίστα πίσω."
# renpy/common/00director.rpy:1801
old "Transition:"
# Automatic translation.
new "Μετάβαση:"
# renpy/common/00director.rpy:1819
old "Channel:"
# Automatic translation.
new "Κανάλι:"
# renpy/common/00director.rpy:1837
old "Audio Filename:"
# Automatic translation.
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?"
# Automatic translation.
new "Αυτή η αποθήκευση δημιουργήθηκε σε διαφορετική συσκευή. Τα κακόβουλα κατασκευασμένα αρχεία αποθήκευσης μπορούν να βλάψουν τον υπολογιστή σας. Εμπιστεύεστε τον δημιουργό αυτής της αποθήκευσης και όλους όσους θα μπορούσαν να έχουν αλλάξει το αρχείο;"
# 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 "Εμπιστεύεστε τη συσκευή στην οποία δημιουργήθηκε η αποθήκευση; Θα πρέπει να επιλέξετε ναι μόνο αν είστε ο μοναδικός χρήστης της συσκευής."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
# Automatic translation.
new "Απέτυχε η αποθήκευση στιγμιότυπου οθόνης ως %s."
# renpy/common/00preferences.rpy:271
old "display"
# Automatic translation.
new "οθόνη"
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "μεταβάσεις"
# renpy/common/00preferences.rpy:292
old "skip transitions"
# Automatic translation.
new "παράλειψη μεταβάσεων"
# renpy/common/00preferences.rpy:294
old "video sprites"
# Automatic translation.
new "sprites βίντεο"
# renpy/common/00preferences.rpy:303
old "show empty window"
# Automatic translation.
new "Εμφάνιση κενού παραθύρου"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "ταχύτητα κειμένου"
# renpy/common/00preferences.rpy:320
old "joystick"
new "joystick"
# renpy/common/00preferences.rpy:320
old "joystick..."
new "joystick..."
# renpy/common/00preferences.rpy:327
old "skip"
# Automatic translation.
new "παράλειψη"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
new "skip unseen [text]"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "παράλειψη αθέατου κειμένου"
# renpy/common/00preferences.rpy:337
old "begin skipping"
# Automatic translation.
new "αρχίστε να παραλείπετε"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "μετά από επιλογές"
# renpy/common/00preferences.rpy:348
old "skip after choices"
# Automatic translation.
new "skip μετά από επιλογές"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "χρόνος αυτόματης προώθησης"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "αυτόματη προώθηση"
# renpy/common/00preferences.rpy:371
old "Auto forward"
# Automatic translation.
new "Αυτόματη προώθηση"
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
# Automatic translation.
new "αυτόματη προώθηση μετά από κλικ"
# renpy/common/00preferences.rpy:383
old "automatic move"
# Automatic translation.
new "αυτόματη κίνηση"
# renpy/common/00preferences.rpy:392
old "wait for voice"
# Automatic translation.
new "περιμένετε τη φωνή"
# renpy/common/00preferences.rpy:401
old "voice sustain"
# Automatic translation.
new "διατήρηση της φωνής"
# renpy/common/00preferences.rpy:410
old "self voicing"
# Automatic translation.
new "αυτοφωνητική"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
# Automatic translation.
new "πτώση όγκου αυτοφωνήματος"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
# Automatic translation.
new "εκφώνηση με πρόχειρο"
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "debug voicing"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
# Automatic translation.
new "δώστε έμφαση στον ήχο"
# renpy/common/00preferences.rpy:454
old "rollback side"
# Automatic translation.
new "πλευρά επαναφοράς"
# renpy/common/00preferences.rpy:464
old "gl powersave"
new "gl powersave"
# renpy/common/00preferences.rpy:470
old "gl framerate"
new "gl framerate"
# renpy/common/00preferences.rpy:473
old "gl tearing"
new "gl tearing"
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "μετασχηματισμός γραμματοσειράς"
# renpy/common/00preferences.rpy:479
old "font size"
# Automatic translation.
new "μέγεθος γραμματοσειράς"
# renpy/common/00preferences.rpy:487
old "font line spacing"
# Automatic translation.
new "απόσταση γραμμών γραμματοσειράς"
# renpy/common/00preferences.rpy:495
old "system cursor"
# Automatic translation.
new "δρομέας συστήματος"
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "μενού renderer"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "μενού προσβασιμότητας"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "κείμενο υψηλής αντίθεσης"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
# Automatic translation.
new "ήχος όταν ελαχιστοποιείται"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "ήχος όταν δεν είναι εστιασμένος"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "προφόρτωση της προσωρινής μνήμης web"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "φωνή μετά το μενού του παιχνιδιού"
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "κύριος όγκος"
# renpy/common/00preferences.rpy:572
old "music volume"
# Automatic translation.
new "ένταση της μουσικής"
# renpy/common/00preferences.rpy:573
old "sound volume"
# Automatic translation.
new "ένταση ήχου"
# renpy/common/00preferences.rpy:574
old "voice volume"
# Automatic translation.
new "ένταση φωνής"
# renpy/common/00preferences.rpy:575
old "mute main"
new "mute main"
# renpy/common/00preferences.rpy:576
old "mute music"
# Automatic translation.
new "σίγαση μουσικής"
# renpy/common/00preferences.rpy:577
old "mute sound"
# Automatic translation.
new "σίγαση ήχου"
# renpy/common/00preferences.rpy:578
old "mute voice"
# Automatic translation.
new "σίγαση φωνής"
# renpy/common/00preferences.rpy:579
old "mute all"
# Automatic translation.
new "σίγαση όλων"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "Επεξεργαστής φυσαλίδων ομιλίας"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(απόκρυψη)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "Συγχρονισμός κατεβάσει."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Δεν ήταν δυνατή η σύνδεση με τον διακομιστή Ren'Py Sync."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
# Automatic translation.
new "Ο διακομιστής Ren'Py Sync έπαψε να λειτουργεί."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
new "Προέκυψε άγνωστο σφάλμα κατά τη σύνδεση με τον διακομιστή 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 "Ο διακομιστής 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."
# Automatic translation.
new "Εισάγετε το αναγνωριστικό συγχρονισμού που δημιουργήσατε.\nΠοτέ μην εισάγετε ένα αναγνωριστικό συγχρονισμού που δεν έχετε δημιουργήσει εσείς."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "Το αναγνωριστικό συγχρονισμού δεν έχει τη σωστή μορφή."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
# Automatic translation.
new "Ο συγχρονισμός δεν μπόρεσε να αποκρυπτογραφηθεί."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "Ο συγχρονισμός ανήκει σε διαφορετικό παιχνίδι."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
# Automatic translation.
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?"
# Automatic translation.
new "Αυτό θα μεταφορτώσει τις αποθηκεύσεις σας στον {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nΘέλετε να συνεχίσετε;"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
new "Εισάγετε το αναγνωριστικό συγχρονισμού"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# Automatic translation.
new "Αυτό θα επικοινωνήσει με τον διακομιστή συγχρονισμού {a=https://sync.renpy.org}Ren'Py{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
# Automatic translation.
new "Επιτυχία συγχρονισμού"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
new "Το αναγνωριστικό συγχρονισμού είναι:"
# 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 "Μπορείτε να χρησιμοποιήσετε αυτό το αναγνωριστικό για να κατεβάσετε την αποθήκευσή σας σε άλλη συσκευή.\nΑυτός ο συγχρονισμός θα λήξει σε μία ώρα.\nΤο Ren'Py Sync υποστηρίζεται από το {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "Σφάλμα συγχρονισμού"
+109 -1
View File
@@ -75,7 +75,8 @@ translate greek 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}"
# Automatic translation.
new "\n{color=#cfc}✔ προβλεπόμενη εικόνα (καλή){/color}\n{color=#fcc}✘ απρόβλεπτη εικόνα (κακή){/color}\n{color=#fff}Σύρετε για να μετακινηθείτε.{/color}"
# _developer/inspector.rpym:38
old "Displayable Inspector"
@@ -177,3 +178,110 @@ translate greek strings:
old "jump <label>: jumps to label"
new "jump <label>: μεταπηδάει την εκτέλεση κώδικα στην ετικέτα label"
translate greek strings:
# renpy/common/_developer/developer.rpym:43
old "Interactive Director (D)"
# Automatic translation.
new "Διευθυντής διαδραστικότητας (D)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Επίμονη προβολή"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Εμφάνιση αρχείου καταγραφής φόρτωσης εικόνας (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
# Automatic translation.
new "Απόκρυψη αρχείου καταγραφής φόρτωσης εικόνας (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
# Automatic translation.
new "Χαρακτηριστικά εικόνας"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "Επεξεργαστής φυσαλίδων ομιλίας (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (κρυφό)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Απόκρυψη διαγράφεται"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Εμφάνιση διαγράφεται"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Τύπος για φιλτράρισμα: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
# Automatic translation.
new "Υφές: [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_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: δείξτε αυτή τη βοήθεια\n help <expr>: Εμφάνιση της υπογραφής και της τεκμηρίωσης της <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 "Η βοήθεια μπορεί να εμφανίζει μη τεκμηριωμένες λειτουργίες. Ελέγξτε ότι η λειτουργία ή η\nκλάση που θέλετε να χρησιμοποιήσετε είναι τεκμηριωμένη.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: εκτύπωση της στοίβας επιστροφής"
# 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>: παρακολουθήστε μια έκφραση python\n watch short: κάνει την αναπαράσταση των ανιχνευόμενων εκφράσεων σύντομη (προεπιλογή)\n watch long: κάνει την αναπαράσταση των ιχνηλατημένων εκφράσεων όπως είναι"
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Συντομεύει την αναπαράσταση των αντικειμένων στην κονσόλα (προεπιλογή)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
# Automatic translation.
new "long: Εκτύπωση της πλήρους αναπαράστασης των αντικειμένων στην κονσόλα."
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: Ενεργοποιεί τη διαφυγή συμβόλων unicode σε συμβολοσειρές 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: Απενεργοποιεί τη διαφυγή των συμβόλων unicode σε συμβολοσειρές unicode και την εκτύπωση ως έχει (προεπιλογή)."
+130
View File
@@ -177,3 +177,133 @@ translate greek strings:
old "Copies the errors.txt file to the clipboard."
new "Αντιγράφει το errors.txt στο clipboard."
translate greek strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderer"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Force GL Renderer"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Force ANGLE Renderer"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
# Automatic translation.
new "Εξαναγκασμός GLES Renderer"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
new "Force GL2 Renderer"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "Δύναμη ANGLE2 Renderer"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
# Automatic translation.
new "Εξαναγκασμός GLES2 Renderer"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "Ενεργοποίηση (Χωρίς λίστα αποκλεισμού)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Powersave"
# renpy/common/00gltest.rpy:173
old "Framerate"
# Automatic translation.
new "Ταχύτητα καρέ"
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Οθόνη"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing"
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
# Automatic translation.
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."
# Automatic translation.
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}."
# Automatic translation.
new "Περισσότερες λεπτομέρειες για το πώς να το διορθώσετε αυτό μπορείτε να βρείτε στην τεκμηρίωση {a=[url]}{/a} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "Αλλαγή επιλογών απόδοσης"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
# Automatic translation.
new "Πατήστε ή μετακινήστε το '[control!s]' [kind]."
# renpy/common/_errorhandling.rpym:555
old "Open"
# Automatic translation.
new "Ανοίξτε το"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
# Automatic translation.
new "Αντιγραφή κώδικα 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 "Αντιγράφει το αρχείο traceback.txt στο πρόχειρο ως BBcode για φόρουμ όπως το https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
# Automatic translation.
new "Αντιγραφή Markdown"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# Automatic translation.
new "Αντιγράφει το αρχείο traceback.txt στο πρόχειρο ως Markdown για το Discord."
# renpy/common/_errorhandling.rpym:626
old "Ignores the exception, allowing you to continue."
# Automatic translation.
new "Αγνοεί την εξαίρεση, επιτρέποντάς σας να συνεχίσετε."
# renpy/common/_errorhandling.rpym:637
old "Console"
# Automatic translation.
new "Κονσόλα"
# renpy/common/_errorhandling.rpym:639
old "Opens a console to allow debugging the problem."
# Automatic translation.
new "Ανοίγει μια κονσόλα για να επιτρέψει την αποσφαλμάτωση του προβλήματος."
+268 -100
View File
@@ -3,267 +3,333 @@ translate greek strings:
# gui.rpy:2
old "## Initialization"
new "## Initialization"
# Automatic translation.
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."
# Automatic translation.
new "## Η εντολή offset init προκαλεί την εκτέλεση του κώδικα 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."
# Automatic translation.
new "## Η κλήση του gui.init επαναφέρει τα στυλ στις λογικές προεπιλεγμένες τιμές και ορίζει το πλάτος και το ύψος του παιχνιδιού."
# gui.rpy:21
old "## Colors"
new "## Colors"
# Automatic translation.
new "## Χρώματα"
# gui.rpy:23
old "## The colors of text in the interface."
new "## The colors of text in the interface."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Χρώματα που χρησιμοποιούνται για τα τμήματα των ράβδων που δεν είναι συμπληρωμένα. Αυτά δεν χρησιμοποιούνται άμεσα, αλλά χρησιμοποιούνται κατά την επαναδημιουργία αρχείων εικόνας ράβδων."
# gui.rpy:51
old "## The colors used for dialogue and menu choice text."
new "## The colors used for dialogue and menu choice text."
# Automatic translation.
new "## Τα χρώματα που χρησιμοποιούνται για το κείμενο των διαλόγων και των επιλογών μενού."
# gui.rpy:56
old "## Fonts and Font Sizes"
new "## Fonts and Font Sizes"
# Automatic translation.
new "## Γραμματοσειρές και μεγέθη γραμματοσειρών"
# gui.rpy:58
old "## The font used for in-game text."
new "## The font used for in-game text."
# Automatic translation.
new "## Η γραμματοσειρά που χρησιμοποιείται για το κείμενο στο παιχνίδι."
# gui.rpy:61
old "## The font used for character names."
new "## The font used for character names."
# Automatic translation.
new "## Η γραμματοσειρά που χρησιμοποιείται για τα ονόματα των χαρακτήρων."
# gui.rpy:64
old "## The font used for out-of-game text."
new "## The font used for out-of-game text."
# Automatic translation.
new "## Η γραμματοσειρά που χρησιμοποιείται για το κείμενο εκτός παιχνιδιού."
# gui.rpy:67
old "## The size of normal dialogue text."
new "## The size of normal dialogue text."
# Automatic translation.
new "## Το μέγεθος του κανονικού κειμένου διαλόγου."
# gui.rpy:70
old "## The size of character names."
new "## The size of character names."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Το μέγεθος των ετικετών στη διεπαφή χρήστη του παιχνιδιού."
# gui.rpy:79
old "## The size of text on the notify screen."
new "## The size of text on the notify screen."
# Automatic translation.
new "## Το μέγεθος του κειμένου στην οθόνη ειδοποίησης."
# gui.rpy:82
old "## The size of the game's title."
new "## The size of the game's title."
# Automatic translation.
new "## Το μέγεθος του τίτλου του παιχνιδιού."
# gui.rpy:86
old "## Main and Game Menus"
new "## Main and Game Menus"
# Automatic translation.
new "## Κύριο μενού και μενού παιχνιδιού"
# gui.rpy:88
old "## The images used for the main and game menus."
new "## The images used for the main and game menus."
# Automatic translation.
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?"
# Automatic translation.
new "## Θα πρέπει να δείξουμε το όνομα και την έκδοση του παιχνιδιού;"
# gui.rpy:96
old "## Dialogue"
new "## Dialogue"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτές οι μεταβλητές ελέγχουν τον τρόπο με τον οποίο ο διάλογος εμφανίζεται στην οθόνη μία γραμμή κάθε φορά."
# gui.rpy:101
old "## The height of the textbox containing dialogue."
new "## The height of the textbox containing dialogue."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Η τοποθέτηση του διαλόγου σε σχέση με το πλαίσιο κειμένου. Αυτά μπορεί να είναι ένας ακέραιος αριθμός εικονοστοιχείων σε σχέση με την αριστερή ή την επάνω πλευρά του πλαισίου κειμένου ή 0,5 στο κέντρο."
# gui.rpy:138
old "## The maximum width of dialogue text, in pixels."
new "## The maximum width of dialogue text, in pixels."
# Automatic translation.
new "## Το μέγιστο πλάτος του κειμένου διαλόγου, σε pixels."
# gui.rpy:141
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
# Automatic translation.
new "## Η οριζόντια στοίχιση του κειμένου διαλόγου. Μπορεί να είναι 0.0 για αριστερή στοίχιση, 0.5 για κεντραρισμένη και 1.0 για δεξιά στοίχιση."
# gui.rpy:146
old "## Buttons"
new "## Buttons"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Το πλάτος και το ύψος ενός κουμπιού, σε pixels. Αν δεν υπάρχει, η 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."
# Automatic translation.
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."
# Automatic translation.
new "## Αν είναι True, η εικόνα φόντου θα είναι σε μορφή πλακιδίων. Αν False, η εικόνα φόντου θα κλιμακώνεται γραμμικά."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
# Automatic translation.
new "## Η γραμματοσειρά που χρησιμοποιείται από το κουμπί."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
# Automatic translation.
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."
# Automatic translation.
new "## Αυτές οι μεταβλητές παρακάμπτουν τις ρυθμίσεις για διαφορετικά είδη κουμπιών. Ανατρέξτε στην τεκμηρίωση του gui για τα είδη των διαθέσιμων κουμπιών και για τι χρησιμοποιείται το καθένα."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
# Automatic translation.
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."
# Automatic translation.
new "## Μπορείτε επίσης να προσθέσετε τις δικές σας προσαρμογές, προσθέτοντας μεταβλητές με τα κατάλληλα ονόματα. Για παράδειγμα, μπορείτε να ξεσχολιάσετε την ακόλουθη γραμμή για να ορίσετε το πλάτος ενός κουμπιού πλοήγησης."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
# Automatic translation.
new "## Κουμπιά επιλογής"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
# Automatic translation.
new "## Τα κουμπιά επιλογής χρησιμοποιούνται στα μενού του παιχνιδιού."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
# Automatic translation.
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."
# Automatic translation.
new "## Το κουμπί υποδοχής αρχείων είναι ένα ειδικό είδος κουμπιού. Περιέχει μια εικόνα μικρογραφίας και κείμενο που περιγράφει τα περιεχόμενα της θυρίδας αποθήκευσης. Ένα save slot χρησιμοποιεί αρχεία εικόνας στο gui/button, όπως και τα άλλα είδη κουμπιών."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
# Automatic translation.
new "## Το κουμπί save slot."
# 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."
# Automatic translation.
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."
# Automatic translation.
new "## Ο αριθμός των στηλών και των γραμμών στο πλέγμα των θέσεων αποθήκευσης."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Η θέση της αριστερής πλευράς των κουμπιών πλοήγησης, σε σχέση με την αριστερή πλευρά της οθόνης."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
# Automatic translation.
new "## Η κατακόρυφη θέση της ένδειξης παράλειψης."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
# Automatic translation.
new "## Η κάθετη θέση της οθόνης ειδοποίησης."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
# Automatic translation.
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."
# Automatic translation.
new "## Κουμπιά στην ενότητα πλοήγησης του κύριου μενού και του μενού παιχνιδιού."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
# Automatic translation.
new "## Ελέγχει την απόσταση μεταξύ των προτιμήσεων."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
# Automatic translation.
new "## Ελέγχει την απόσταση μεταξύ των κουμπιών προτίμησης."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
# Automatic translation.
new "## Η απόσταση μεταξύ των κουμπιών σελίδας αρχείων."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
# Automatic translation.
new "## Η απόσταση μεταξύ των θυρίδων αρχείων."
# gui.rpy:277
old "## Frames"
@@ -271,135 +337,168 @@ translate greek strings:
# 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."
# Automatic translation.
new "## Αυτές οι μεταβλητές ελέγχουν την εμφάνιση των πλαισίων που μπορούν να περιέχουν στοιχεία διεπαφής χρήστη όταν δεν υπάρχει επικάλυψη ή παράθυρο."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Το πλαίσιο που χρησιμοποιείται ως μέρος της οθόνης ειδοποίησης."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
# Automatic translation.
new "## Θα πρέπει τα φόντα των πλαισίων να τοποθετούνται σε κεραμίδια;"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Το προεπιλεγμένο γραφικό περιβάλλον χρησιμοποιεί μόνο ρυθμιστικά και κάθετες γραμμές κύλισης. Όλες οι άλλες μπάρες χρησιμοποιούνται μόνο στον κώδικα που γράφει ο δημιουργός."
# 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."
# Automatic translation.
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."
# Automatic translation.
new "## True αν οι εικόνες της μπάρας θα πρέπει να είναι σε κεραμίδια. False αν πρέπει να κλιμακώνονται γραμμικά."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
# Automatic translation.
new "## Οριζόντια όρια."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
# Automatic translation.
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."
# Automatic translation.
new "## Τι να κάνετε με μη κυλιόμενες γραμμές κύλισης στο gui. Το \"hide\" τις κρύβει, ενώ το \"None\" τις εμφανίζει."
# gui.rpy:331
old "## History"
new "## History"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Το ύψος μιας καταχώρησης στην οθόνη ιστορικού, ή Κανένα για να κάνετε το ύψος μεταβλητό με κόστος την απόδοση."
# 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."
# Automatic translation.
new "## Η θέση, το πλάτος και η στοίχιση της ετικέτας που δίνει το όνομα του χαρακτήρα που μιλάει."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
# Automatic translation.
new "## Η θέση, το πλάτος και η στοίχιση του κειμένου διαλόγου."
# gui.rpy:356
old "## NVL-Mode"
new "## NVL-Mode"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Η απόσταση μεταξύ των καταχωρήσεων της λειτουργίας NVL όταν το 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.)"
# Automatic translation.
new "## Η θέση, το πλάτος και η στοίχιση του κειμένου nvl_thought (το κείμενο που λέει ο χαρακτήρας nvl_narrator)."
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
# Automatic translation.
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."
# Automatic translation.
new "## Αυτό αυξάνει το μέγεθος των γρήγορων κουμπιών για να είναι πιο εύκολο να τα αγγίξετε σε tablet και τηλέφωνα."
# 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."
# Automatic translation.
new "## Αυτό αλλάζει το μέγεθος και την απόσταση μεταξύ των διαφόρων στοιχείων του γραφικού περιβάλλοντος για να διασφαλίσει ότι είναι εύκολα ορατά στα τηλέφωνα."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
# Automatic translation.
new "## Μεγέθη γραμματοσειράς."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
# Automatic translation.
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."
# Automatic translation.
new "## Αλλαγή του μεγέθους και της απόστασης των στοιχείων στο μενού του παιχνιδιού."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
# Automatic translation.
new "## Διάταξη κουμπιών αρχείων."
# gui.rpy:440
old "## NVL-mode."
@@ -407,5 +506,74 @@ translate greek strings:
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
# Automatic translation.
new "## Γρήγορα κουμπιά."
translate greek 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 "## Η εντολή init offset προκαλεί την εκτέλεση των εντολών αρχικοποίησης σε αυτό το αρχείο πριν από τις εντολές init σε οποιοδήποτε άλλο αρχείο."
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
# Automatic translation.
new "## Ενεργοποίηση ελέγχων για άκυρες ή ασταθείς ιδιότητες σε οθόνες ή μετασχηματισμούς"
# gui/game/gui.rpy:19
old "## GUI Configuration Variables"
# Automatic translation.
new "## Μεταβλητές παραμέτρων GUI"
# gui/game/gui.rpy:167
old "## The color of button text in various states."
# Automatic translation.
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)."
# Automatic translation.
new "## Η οριζόντια στοίχιση του κειμένου του κουμπιού. (0.0 είναι αριστερά, 0.5 είναι κέντρο, 1.0 είναι δεξιά)."
# gui/game/gui.rpy:278
old "## The position of the main menu text."
# Automatic translation.
new "## Η θέση του κειμένου του κύριου μενού."
# gui/game/gui.rpy:287
old "## Generic frames."
# Automatic translation.
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."
# Automatic translation.
new "## Το προεπιλεγμένο γραφικό περιβάλλον χρησιμοποιεί μόνο ρυθμιστικά και κάθετες γραμμές κύλισης. Όλες οι άλλες μπάρες χρησιμοποιούνται μόνο σε οθόνες που έχουν γραφτεί από τον δημιουργό."
# 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 "## Ο μέγιστος αριθμός καταχωρήσεων λειτουργίας NVL που θα εμφανίζει η Ren'Py. Όταν πρόκειται να εμφανιστούν περισσότερες εγγραφές από αυτό το όριο, η παλαιότερη εγγραφή θα αφαιρεθεί."
# gui/game/gui.rpy:405
old "## Localization"
# Automatic translation.
new "## Εντοπισμός"
# gui/game/gui.rpy:407
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"
# Automatic translation.
new "## Αυτό ελέγχει πού επιτρέπεται η αλλαγή γραμμής. Η προεπιλογή είναι κατάλληλη για τις περισσότερες γλώσσες. Μια λίστα με τις διαθέσιμες τιμές μπορείτε να βρείτε στη διεύθυνση https://www.renpy.org/doc/html/style_properties.html#style-property-language."
# gui/game/gui.rpy:415
old "## Mobile devices"
# Automatic translation.
new "## Κινητές συσκευές"
# gui/game/gui.rpy:446
old "## Change the size and spacing of various things."
# Automatic translation.
new "## Αλλαγή του μεγέθους και του διαστήματος διαφόρων πραγμάτων."
File diff suppressed because it is too large Load Diff
+115 -44
View File
@@ -3,59 +3,73 @@ translate greek 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."
# Automatic translation.
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."
# Automatic translation.
new "## Οι γραμμές που αρχίζουν με δύο σημάδια '#' είναι σχόλια, και δεν πρέπει να τις ξεσχολιάσετε. Οι γραμμές που αρχίζουν με ένα μόνο σημάδι '#' είναι σχολιασμένος κώδικας, και μπορεί να θέλετε να τις ξεσχολιάσετε όταν χρειάζεται."
# options.rpy:10
old "## Basics"
new "## Basics"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Το _() που περιβάλλει το αλφαριθμητικό το χαρακτηρίζει ως επιλέξιμο για μετάφραση."
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
# Automatic translation.
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."
# Automatic translation.
new "## Καθορίζει αν ο τίτλος που δόθηκε παραπάνω εμφανίζεται στην οθόνη του κύριου μενού. Ορίστε την τιμή False για να αποκρύψετε τον τίτλο."
# options.rpy:26
old "## The version of the game."
new "## The version of the game."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Ένα σύντομο όνομα για το παιχνίδι που χρησιμοποιείται για τα εκτελέσιμα αρχεία και τους καταλόγους στην ενσωματωμένη διανομή. Αυτό πρέπει να είναι μόνο ASCII και δεν πρέπει να περιέχει κενά, άνω και κάτω τελεία ή άνω τελεία."
# options.rpy:44
old "## Sounds and music"
new "## Sounds and music"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Ξεσχολιάστε την ακόλουθη γραμμή για να ορίσετε ένα αρχείο ήχου που θα αναπαράγεται όταν ο παίκτης βρίσκεται στο κύριο μενού. Αυτό το αρχείο θα συνεχίσει να παίζει κατά τη διάρκεια του παιχνιδιού, μέχρι να σταματήσει ή να αναπαραχθεί άλλο αρχείο."
# options.rpy:69
old "## Transitions"
@@ -63,59 +77,73 @@ translate greek strings:
# options.rpy:71
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
new "## 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."
# Automatic translation.
new "## Αυτές οι μεταβλητές ορίζουν τις μεταβάσεις που χρησιμοποιούνται όταν συμβαίνουν ορισμένα γεγονότα. Κάθε μεταβλητή θα πρέπει να οριστεί σε μια μετάβαση ή σε None για να υποδείξει ότι δεν πρέπει να χρησιμοποιηθεί καμία μετάβαση."
# options.rpy:75
old "## Entering or exiting the game menu."
new "## Entering or exiting the game menu."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Δεν υπάρχει μεταβλητή για τον καθορισμό της μετάβασης που χρησιμοποιείται κατά την έναρξη του παιχνιδιού. Αντ' αυτού, χρησιμοποιήστε μια δήλωση with μετά την εμφάνιση της αρχικής σκηνής."
# options.rpy:96
old "## Window management"
new "## Window management"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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"
# Automatic translation.
new "## Μεταβάσεις που χρησιμοποιούνται για την εμφάνιση και απόκρυψη του παραθύρου διαλόγου"
# options.rpy:115
old "## Preference defaults"
new "## Preference defaults"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Η προεπιλεγμένη καθυστέρηση αυτόματης προώθησης. Μεγαλύτεροι αριθμοί οδηγούν σε μεγαλύτερες αναμονές, με το 0 έως 30 να είναι το έγκυρο εύρος."
# options.rpy:129
old "## Save directory"
new "## Save directory"
# Automatic translation.
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:"
# Automatic translation.
new "## Ελέγχει το συγκεκριμένο για την πλατφόρμα μέρος στο οποίο το Ren'Py θα τοποθετεί τα αρχεία αποθήκευσης για αυτό το παιχνίδι. Τα αρχεία αποθήκευσης θα τοποθετούνται στο:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
@@ -131,65 +159,108 @@ translate greek 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."
# Automatic translation.
new "## Αυτό γενικά δεν θα πρέπει να αλλάζει, και αν αλλάξει, θα πρέπει πάντα να είναι μια κυριολεκτική συμβολοσειρά, όχι μια έκφραση."
# options.rpy:146
old "## Icon ########################################################################'"
new "## Icon ########################################################################'"
# Automatic translation.
new "## Εικονίδιο ########################################################################'"
# options.rpy:148
old "## The icon displayed on the taskbar or dock."
new "## The icon displayed on the taskbar or dock."
# Automatic translation.
new "## Το εικονίδιο που εμφανίζεται στη γραμμή εργασιών ή στο dock."
# options.rpy:153
old "## Build configuration"
new "## Build configuration"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Οι ακόλουθες συναρτήσεις δέχονται πρότυπα αρχείων. Τα μοτίβα αρχείων δεν διαχωρίζουν την πεζότητα και αντιστοιχίζονται με τη διαδρομή σχετικά με τον βασικό κατάλογο, με και χωρίς ένα αρχικό /. Αν ταιριάζουν πολλά μοτίβα, χρησιμοποιείται το πρώτο."
# options.rpy:165
old "## In a pattern:"
new "## In a pattern:"
# Automatic translation.
new "## Σε ένα μοτίβο:"
# options.rpy:167
old "## / is the directory separator."
new "## / is the directory separator."
# Automatic translation.
new "## Το / είναι το διαχωριστικό του καταλόγου."
# options.rpy:169
old "## * matches all characters, except the directory separator."
new "## * matches all characters, except the directory separator."
# Automatic translation.
new "## * ταιριάζει με όλους τους χαρακτήρες, εκτός από το διαχωριστικό καταλόγου."
# options.rpy:171
old "## ** matches all characters, including the directory separator."
new "## ** matches all characters, including the directory separator."
# Automatic translation.
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."
# Automatic translation.
new "## Για παράδειγμα, το \"*.txt\" ταιριάζει με αρχεία txt στον βασικό κατάλογο, το \"game/**.ogg\" ταιριάζει με αρχεία ogg στον κατάλογο game ή σε οποιονδήποτε υποκατάλογό του και το \"**.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."
# Automatic translation.
new "## Ταξινομήστε τα αρχεία ως None για να τα αποκλείσετε από τις ενσωματωμένες διανομές."
# options.rpy:185
old "## To archive files, classify them as 'archive'."
new "## To archive files, classify them as 'archive'."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Για τη λήψη αρχείων επέκτασης και την πραγματοποίηση αγορών εντός της εφαρμογής απαιτείται κλειδί άδειας χρήσης του Google Play. Μπορείτε να το βρείτε στη σελίδα \"Services & APIs\" της κονσόλας προγραμματιστών του Google Play."
# 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."
# Automatic translation.
new "## Το όνομα χρήστη και το όνομα έργου που σχετίζονται με ένα έργο itch.io, χωρισμένα με κάθετο."
translate greek 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 "## Κείμενο που τοποθετείται στην οθόνη πληροφοριών του παιχνιδιού. Τοποθετήστε το κείμενο μεταξύ των τριπλών εισαγωγικών και αφήστε μια κενή γραμμή μεταξύ των παραγράφων."
# 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 "## Αυτές οι τρεις μεταβλητές ελέγχουν, μεταξύ άλλων, ποιοι μείκτες εμφανίζονται στον παίκτη από προεπιλογή. Η ρύθμιση μιας από αυτές σε False θα αποκρύψει τον αντίστοιχο μίκτη."
# gui/game/options.rpy:82
old "## Between screens of the game menu."
# Automatic translation.
new "## Μεταξύ των οθονών του μενού του παιχνιδιού."
# gui/game/options.rpy:152
old "## Icon"
new "## Icon"
# 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 "## Για την πραγματοποίηση αγορών εντός εφαρμογής απαιτείται κλειδί άδειας χρήσης του Google Play. Μπορείτε να το βρείτε στην κονσόλα προγραμματιστών του Google Play, στην ενότητα \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
+375 -127
View File
@@ -7,7 +7,8 @@ translate greek strings:
# screens.rpy:87
old "## In-game screens"
new "## In-game screens"
# Automatic translation.
new "## Οθόνες στο παιχνίδι"
# screens.rpy:91
old "## Say screen"
@@ -15,11 +16,13 @@ translate greek strings:
# 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.)"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή η οθόνη πρέπει να δημιουργήσει ένα text displayable με id \"what\", καθώς η Ren'Py το χρησιμοποιεί για να διαχειρίζεται την εμφάνιση κειμένου. Μπορεί επίσης να δημιουργήσει displayables με id \"who\" και id \"window\" για να εφαρμόσει ιδιότητες στυλ."
# screens.rpy:102
old "## https://www.renpy.org/doc/html/screen_special.html#say"
@@ -27,15 +30,18 @@ translate greek strings:
# screens.rpy:169
old "## Input screen"
new "## Input screen"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή η οθόνη πρέπει να δημιουργήσει ένα displayable εισόδου με id \"input\" για να δέχεται τις διάφορες παραμέτρους εισόδου."
# screens.rpy:177
old "## http://www.renpy.org/doc/html/screen_special.html#input"
@@ -43,11 +49,13 @@ translate greek strings:
# screens.rpy:205
old "## Choice screen"
new "## Choice screen"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή η οθόνη χρησιμοποιείται για την εμφάνιση των επιλογών εντός του παιχνιδιού που παρουσιάζονται από τη δήλωση του μενού. Η μία παράμετρος, τα αντικείμενα, είναι μια λίστα αντικειμένων, το καθένα με πεδία λεζάντας και δράσης."
# screens.rpy:211
old "## http://www.renpy.org/doc/html/screen_special.html#choice"
@@ -55,15 +63,18 @@ translate greek strings:
# screens.rpy:221
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
new "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
# Automatic translation.
new "## Όταν αυτό είναι αληθές, οι λεζάντες του μενού θα εκφωνούνται από τον αφηγητή. Όταν είναι false, οι λεζάντες μενού θα εμφανίζονται ως κενά κουμπιά."
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
# Automatic translation.
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."
# Automatic translation.
new "## Το γρήγορο μενού εμφανίζεται στο παιχνίδι για να παρέχει εύκολη πρόσβαση στα μενού εκτός παιχνιδιού."
# screens.rpy:261
old "Back"
@@ -71,11 +82,13 @@ translate greek strings:
# screens.rpy:262
old "History"
new "History"
# Automatic translation.
new "Ιστορία"
# screens.rpy:263
old "Skip"
new "Skip"
# Automatic translation.
new "Παράλειψη"
# screens.rpy:264
old "Auto"
@@ -83,7 +96,8 @@ translate greek strings:
# screens.rpy:265
old "Save"
new "Save"
# Automatic translation.
new "Αποθήκευση"
# screens.rpy:266
old "Q.Save"
@@ -95,39 +109,48 @@ translate greek strings:
# screens.rpy:268
old "Prefs"
new "Prefs"
# Automatic translation.
new "Προτιμήσεις"
# 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."
# Automatic translation.
new "## Αυτός ο κώδικας διασφαλίζει ότι η οθόνη quick_menu εμφανίζεται στο παιχνίδι, όποτε ο παίκτης δεν έχει αποκρύψει ρητά τη διεπαφή."
# screens.rpy:291
old "## Navigation screen"
new "## Navigation screen"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή η οθόνη περιλαμβάνεται στο κύριο μενού και στο μενού του παιχνιδιού και παρέχει πλοήγηση σε άλλα μενού και για την εκκίνηση του παιχνιδιού."
# screens.rpy:308
old "Start"
new "Start"
# Automatic translation.
new "Έναρξη"
# screens.rpy:316
old "Load"
new "Load"
# Automatic translation.
new "Φορτίο"
# screens.rpy:318
old "Preferences"
new "Preferences"
# Automatic translation.
new "Προτιμήσεις"
# screens.rpy:322
old "End Replay"
new "End Replay"
# Automatic translation.
new "Τέλος επανάληψης"
# screens.rpy:326
old "Main Menu"
new "Main Menu"
# Automatic translation.
new "Κύριο μενού"
# screens.rpy:328
old "About"
@@ -135,15 +158,18 @@ translate greek strings:
# screens.rpy:332
old "## Help isn't necessary or relevant to mobile devices."
new "## Help isn't necessary or relevant to mobile devices."
# Automatic translation.
new "## Η βοήθεια δεν είναι απαραίτητη ή σχετική με τις κινητές συσκευές."
# screens.rpy:333
old "Help"
new "Help"
# Automatic translation.
new "Βοήθεια"
# 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."
# Automatic translation.
new "## Το κουμπί quit είναι απαγορευμένο στο iOS και περιττό στο Android."
# screens.rpy:336
old "Quit"
@@ -151,11 +177,13 @@ translate greek strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
# Automatic translation.
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."
# Automatic translation.
new "## Χρησιμοποιείται για την εμφάνιση του κύριου μενού κατά την εκκίνηση του Ren'Py."
# screens.rpy:354
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
@@ -163,19 +191,18 @@ translate greek strings:
# screens.rpy:369
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
new "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
# Automatic translation.
new "## Η δήλωση use περιλαμβάνει μια άλλη οθόνη μέσα σε αυτήν εδώ. Τα πραγματικά περιεχόμενα του κύριου μενού βρίσκονται στην οθόνη πλοήγησης."
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
# Automatic translation.
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."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
# Automatic translation.
new "## Εδώ παρουσιάζεται η βασική κοινή δομή της οθόνης του μενού ενός παιχνιδιού. Καλείται με τον τίτλο της οθόνης και εμφανίζει το φόντο, τον τίτλο και την πλοήγηση."
# screens.rpy:476
old "Return"
@@ -183,43 +210,53 @@ translate greek strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή η δήλωση χρήσης περιλαμβάνει την οθόνη game_menu μέσα σε αυτήν. Το παιδί vbox περιλαμβάνεται στη συνέχεια μέσα στο παράθυρο προβολής μέσα στην οθόνη game_menu."
# screens.rpy:561
old "Version [config.version!t]\n"
new "Version [config.version!t]\n"
# Automatic translation.
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."
# Automatic translation.
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]"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτό επαναπροσδιορίζεται στο options.rpy για να προσθέσει κείμενο στην οθόνη about."
# screens.rpy:582
old "## Load and Save screens"
new "## Load and Save screens"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτές οι οθόνες είναι υπεύθυνες για να επιτρέπουν στον παίκτη να αποθηκεύει το παιχνίδι και να το φορτώνει ξανά. Δεδομένου ότι μοιράζονται σχεδόν τα πάντα από κοινού, και οι δύο υλοποιούνται με όρους μιας τρίτης οθόνης, της file_slots."
# screens.rpy:588
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
@@ -227,23 +264,28 @@ translate greek strings:
# screens.rpy:607
old "Page {}"
new "Page {}"
# Automatic translation.
new "Σελίδα {}"
# screens.rpy:607
old "Automatic saves"
new "Automatic saves"
# Automatic translation.
new "Αυτόματη αποθήκευση"
# screens.rpy:607
old "Quick saves"
new "Quick saves"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτό εξασφαλίζει ότι η είσοδος θα λάβει το συμβάν enter πριν από οποιοδήποτε από τα κουμπιά."
# screens.rpy:629
old "## The grid of file slots."
new "## The grid of file slots."
# Automatic translation.
new "## Το πλέγμα των υποδοχών αρχείων."
# screens.rpy:649
old "{#file_time}%A, %B %d %Y, %H:%M"
@@ -251,11 +293,13 @@ translate greek strings:
# screens.rpy:649
old "empty slot"
new "empty slot"
# Automatic translation.
new "κενή υποδοχή"
# screens.rpy:657
old "## Buttons to access other pages."
new "## Buttons to access other pages."
# Automatic translation.
new "## Κουμπιά για πρόσβαση σε άλλες σελίδες."
# screens.rpy:666
old "<"
@@ -275,11 +319,13 @@ translate greek strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
# Automatic translation.
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."
# Automatic translation.
new "## Η οθόνη προτιμήσεων επιτρέπει στον παίκτη να ρυθμίσει το παιχνίδι ώστε να ταιριάζει καλύτερα στον εαυτό του."
# screens.rpy:716
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
@@ -299,7 +345,8 @@ translate greek strings:
# screens.rpy:744
old "Rollback Side"
new "Rollback Side"
# Automatic translation.
new "Πλευρά Rollback"
# screens.rpy:745
old "Disable"
@@ -307,39 +354,48 @@ translate greek strings:
# screens.rpy:746
old "Left"
new "Left"
# Automatic translation.
new "Αριστερά"
# screens.rpy:747
old "Right"
new "Right"
# Automatic translation.
new "Δεξιά"
# screens.rpy:752
old "Unseen Text"
new "Unseen Text"
# Automatic translation.
new "Αθέατο κείμενο"
# screens.rpy:753
old "After Choices"
new "After Choices"
# Automatic translation.
new "Μετά τις επιλογές"
# screens.rpy:754
old "Transitions"
new "Transitions"
# Automatic translation.
new "Μεταβάσεις"
# screens.rpy:756
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
new "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
# Automatic translation.
new "## Εδώ μπορούν να προστεθούν επιπλέον vboxes τύπου \"radio_pref\" ή \"check_pref\", για να προσθέσετε επιπλέον προτιμήσεις που καθορίζονται από τον δημιουργό."
# screens.rpy:767
old "Text Speed"
new "Text Speed"
# Automatic translation.
new "Ταχύτητα κειμένου"
# screens.rpy:771
old "Auto-Forward Time"
new "Auto-Forward Time"
# Automatic translation.
new "Χρόνος αυτόματης προώθησης"
# screens.rpy:778
old "Music Volume"
new "Music Volume"
# Automatic translation.
new "Ένταση μουσικής"
# screens.rpy:785
old "Sound Volume"
@@ -347,23 +403,28 @@ translate greek strings:
# screens.rpy:791
old "Test"
new "Test"
# Automatic translation.
new "Δοκιμή"
# screens.rpy:795
old "Voice Volume"
new "Voice Volume"
# Automatic translation.
new "Ένταση φωνής"
# screens.rpy:806
old "Mute All"
new "Mute All"
# Automatic translation.
new "Σίγαση όλων"
# screens.rpy:882
old "## History screen"
new "## History screen"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή είναι μια οθόνη που εμφανίζει το ιστορικό των διαλόγων στον παίκτη. Αν και δεν υπάρχει κάτι ιδιαίτερο σε αυτή την οθόνη, πρέπει να έχει πρόσβαση στο ιστορικό διαλόγων που είναι αποθηκευμένο στην _history_list."
# screens.rpy:888
old "## https://www.renpy.org/doc/html/history.html"
@@ -371,35 +432,43 @@ translate greek strings:
# screens.rpy:894
old "## Avoid predicting this screen, as it can be very large."
new "## Avoid predicting this screen, as it can be very large."
# Automatic translation.
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."
# Automatic translation.
new "## Αυτό τοποθετεί τα πράγματα σωστά αν το ύψος ιστορίας δεν είναι 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."
# Automatic translation.
new "## Πάρτε το χρώμα του κειμένου who από το Character, αν έχει οριστεί."
# screens.rpy:921
old "The dialogue history is empty."
new "The dialogue history is empty."
# Automatic translation.
new "Το ιστορικό διαλόγου είναι κενό."
# screens.rpy:965
old "## Help screen"
new "## Help screen"
# Automatic translation.
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."
# Automatic translation.
new "## Μια οθόνη που δίνει πληροφορίες σχετικά με τις δεσμεύσεις πλήκτρων και ποντικιού. Χρησιμοποιεί άλλες οθόνες (keyboard_help, mouse_help και gamepad_help) για να εμφανίσει την πραγματική βοήθεια."
# screens.rpy:986
old "Keyboard"
new "Keyboard"
# Automatic translation.
new "Πληκτρολόγιο"
# screens.rpy:987
old "Mouse"
new "Mouse"
# Automatic translation.
new "Ποντίκι"
# screens.rpy:990
old "Gamepad"
@@ -407,35 +476,43 @@ translate greek strings:
# screens.rpy:1003
old "Enter"
new "Enter"
# Automatic translation.
new "Εισάγετε το"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
new "Advances dialogue and activates the interface."
# Automatic translation.
new "Προωθεί το διάλογο και ενεργοποιεί τη διεπαφή."
# screens.rpy:1007
old "Space"
new "Space"
# Automatic translation.
new "Διάστημα"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
new "Advances dialogue without selecting choices."
# Automatic translation.
new "Προχωράει το διάλογο χωρίς να επιλέγει επιλογές."
# screens.rpy:1011
old "Arrow Keys"
new "Arrow Keys"
# Automatic translation.
new "Πλήκτρα βέλους"
# screens.rpy:1012
old "Navigate the interface."
new "Navigate the interface."
# Automatic translation.
new "Πλοηγηθείτε στη διεπαφή."
# screens.rpy:1015
old "Escape"
new "Escape"
# Automatic translation.
new "Απόδραση"
# screens.rpy:1016
old "Accesses the game menu."
new "Accesses the game menu."
# Automatic translation.
new "Πρόσβαση στο μενού του παιχνιδιού."
# screens.rpy:1019
old "Ctrl"
@@ -443,7 +520,8 @@ translate greek strings:
# screens.rpy:1020
old "Skips dialogue while held down."
new "Skips dialogue while held down."
# Automatic translation.
new "Παραλείπει το διάλογο όσο το κρατάτε πατημένο."
# screens.rpy:1023
old "Tab"
@@ -451,91 +529,113 @@ translate greek strings:
# screens.rpy:1024
old "Toggles dialogue skipping."
new "Toggles dialogue skipping."
# Automatic translation.
new "Ενεργοποιεί την παράλειψη διαλόγου."
# screens.rpy:1027
old "Page Up"
new "Page Up"
# Automatic translation.
new "Σελίδα επάνω"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
new "Rolls back to earlier dialogue."
# Automatic translation.
new "Επιστρέφει σε προηγούμενο διάλογο."
# screens.rpy:1031
old "Page Down"
new "Page Down"
# Automatic translation.
new "Σελίδα κάτω"
# screens.rpy:1032
old "Rolls forward to later dialogue."
new "Rolls forward to later dialogue."
# Automatic translation.
new "Προχωράει προς τα εμπρός για τον μετέπειτα διάλογο."
# screens.rpy:1036
old "Hides the user interface."
new "Hides the user interface."
# Automatic translation.
new "Κρύβει το περιβάλλον εργασίας χρήστη."
# screens.rpy:1040
old "Takes a screenshot."
new "Takes a screenshot."
# Automatic translation.
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}."
# Automatic translation.
new "Εναλλαγή βοηθητικών {a=https://www.renpy.org/l/voicing}αυτοφωνημάτων{/a}."
# screens.rpy:1050
old "Left Click"
new "Left Click"
# Automatic translation.
new "Αριστερό κλικ"
# screens.rpy:1054
old "Middle Click"
new "Middle Click"
# Automatic translation.
new "Μεσαίο κλικ"
# screens.rpy:1058
old "Right Click"
new "Right Click"
# Automatic translation.
new "Δεξί κλικ"
# screens.rpy:1062
old "Mouse Wheel Up\nClick Rollback Side"
new "Mouse Wheel Up\nClick Rollback Side"
# Automatic translation.
new "Τροχός ποντικιού επάνω\nΚάντε κλικ στο Rollback Side"
# screens.rpy:1066
old "Mouse Wheel Down"
new "Mouse Wheel Down"
# Automatic translation.
new "Τροχός του ποντικιού προς τα κάτω"
# screens.rpy:1073
old "Right Trigger\nA/Bottom Button"
new "Right Trigger\nA/Bottom Button"
# Automatic translation.
new "Δεξί σκανδάλη\nA/κάτω κουμπί"
# screens.rpy:1074
old "Advance dialogue and activates the interface."
new "Advance dialogue and activates the interface."
# Automatic translation.
new "Προώθηση διαλόγου και ενεργοποίηση της διεπαφής."
# screens.rpy:1078
old "Roll back to earlier dialogue."
new "Roll back to earlier dialogue."
# Automatic translation.
new "Επιστροφή σε προηγούμενο διάλογο."
# screens.rpy:1081
old "Right Shoulder"
new "Right Shoulder"
# Automatic translation.
new "Δεξιός ώμος"
# screens.rpy:1082
old "Roll forward to later dialogue."
new "Roll forward to later dialogue."
# Automatic translation.
new "Προχωρήστε σε μεταγενέστερο διάλογο."
# screens.rpy:1085
old "D-Pad, Sticks"
new "D-Pad, Sticks"
# Automatic translation.
new "D-Pad, μπαστούνια"
# screens.rpy:1089
old "Start, Guide"
new "Start, Guide"
# Automatic translation.
new "Έναρξη, Οδηγός"
# screens.rpy:1090
old "Access the game menu."
new "Access the game menu."
# Automatic translation.
new "Πρόσβαση στο μενού του παιχνιδιού."
# screens.rpy:1093
old "Y/Top Button"
new "Y/Top Button"
# Automatic translation.
new "Y/Πάνω κουμπί"
# screens.rpy:1096
old "Calibrate"
@@ -543,15 +643,18 @@ translate greek strings:
# screens.rpy:1124
old "## Additional screens"
new "## Additional screens"
# Automatic translation.
new "## Πρόσθετες οθόνες"
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
# Automatic translation.
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."
# Automatic translation.
new "## Η οθόνη επιβεβαίωσης καλείται όταν ο Ren'Py θέλει να κάνει στον παίκτη μια ερώτηση ναι ή όχι."
# screens.rpy:1133
old "## http://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -559,7 +662,8 @@ translate greek strings:
# screens.rpy:1137
old "## Ensure other screens do not get input while this screen is displayed."
new "## Ensure other screens do not get input while this screen is displayed."
# Automatic translation.
new "## Βεβαιωθείτε ότι άλλες οθόνες δεν λαμβάνουν δεδομένα ενώ εμφανίζεται αυτή η οθόνη."
# screens.rpy:1161
old "Yes"
@@ -571,15 +675,18 @@ translate greek strings:
# screens.rpy:1164
old "## Right-click and escape answer \"no\"."
new "## Right-click and escape answer \"no\"."
# Automatic translation.
new "## Κάντε δεξί κλικ και αποφύγετε την απάντηση \"όχι\"."
# screens.rpy:1191
old "## Skip indicator screen"
new "## Skip indicator screen"
# Automatic translation.
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."
# Automatic translation.
new "## Εμφανίζεται η οθόνη skip_indicator για να υποδείξει ότι η παράλειψη βρίσκεται σε εξέλιξη."
# screens.rpy:1196
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
@@ -587,19 +694,23 @@ translate greek strings:
# screens.rpy:1208
old "Skipping"
new "Skipping"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτός ο μετασχηματισμός χρησιμοποιείται για να αναβοσβήνουν τα βέλη το ένα μετά το άλλο."
# screens.rpy:1247
old "## Notify screen"
new "## Notify screen"
# Automatic translation.
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.)"
# Automatic translation.
new "## Η οθόνη ειδοποίησης χρησιμοποιείται για να δείξει στον παίκτη ένα μήνυμα. (Για παράδειγμα, όταν το παιχνίδι έχει αποθηκευτεί ή έχει ληφθεί ένα στιγμιότυπο οθόνης)."
# screens.rpy:1252
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
@@ -607,11 +718,13 @@ translate greek strings:
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
# Automatic translation.
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."
# Automatic translation.
new "## Αυτή η οθόνη χρησιμοποιείται για τον διάλογο και τα μενού της λειτουργίας NVL."
# screens.rpy:1290
old "## http://www.renpy.org/doc/html/screen_special.html#nvl"
@@ -619,25 +732,160 @@ translate greek strings:
# screens.rpy:1301
old "## Displays dialogue in either a vpgrid or the vbox."
new "## Displays dialogue in either a vpgrid or the vbox."
# Automatic translation.
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."
# Automatic translation.
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."
# Automatic translation.
new "## Ελέγχει τον μέγιστο αριθμό καταχωρήσεων της λειτουργίας NVL που μπορούν να εμφανιστούν ταυτόχρονα."
# screens.rpy:1406
old "## Mobile Variants"
new "## Mobile Variants"
# Automatic translation.
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."
# Automatic translation.
new "## Δεδομένου ότι μπορεί να μην υπάρχει ποντίκι, αντικαθιστούμε το γρήγορο μενού με μια έκδοση που χρησιμοποιεί λιγότερα και μεγαλύτερα κουμπιά που είναι πιο εύκολο να αγγίξετε."
# screens.rpy:1429
old "Menu"
new "Menu"
# Automatic translation.
new "Μενού"
translate greek 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 "## Αν υπάρχει εικόνα στο πλάι, εμφανίστε την πάνω από το κείμενο. Μην την εμφανίζετε στην παραλλαγή του τηλεφώνου - δεν υπάρχει χώρος."
# gui/game/screens.rpy:120
old "## Make the namebox available for styling through the Character object."
# Automatic translation.
new "## Κάντε το πλαίσιο ονόματος διαθέσιμο για διαμόρφωση μέσω του αντικειμένου Character."
# 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:241
old "## Ensure this appears on top of other screens."
# Automatic translation.
new "## Βεβαιωθείτε ότι αυτό εμφανίζεται πάνω από άλλες οθόνες."
# gui/game/screens.rpy:280
old "## Main and Game Menu Screens"
# Automatic translation.
new "## Οθόνες κύριου μενού και μενού παιχνιδιού"
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
# Automatic translation.
new "## Το κουμπί quit είναι απαγορευμένο στο iOS και περιττό στο Android και το Web."
# 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:352
old "## This ensures that any other menu screen is replaced."
# Automatic translation.
new "## Αυτό εξασφαλίζει ότι οποιαδήποτε άλλη οθόνη μενού αντικαθίσταται."
# gui/game/screens.rpy:357
old "## This empty frame darkens the main menu."
# Automatic translation.
new "## Αυτό το κενό πλαίσιο σκουραίνει το κύριο μενού."
# gui/game/screens.rpy:429
old "## Reserve space for the navigation section."
# Automatic translation.
new "## Κρατήστε χώρο για το τμήμα πλοήγησης."
# gui/game/screens.rpy:608
old "## The page name, which can be edited by clicking on a button."
# Automatic translation.
new "## Το όνομα της σελίδας, το οποίο μπορεί να επεξεργαστεί κάνοντας κλικ σε ένα κουμπί."
# gui/game/screens.rpy:668
old "## range(1, 10) gives the numbers from 1 to 9."
# Automatic translation.
new "## range(1, 10) δίνει τους αριθμούς από το 1 έως το 9."
# gui/game/screens.rpy:676
old "Upload Sync"
# Automatic translation.
new "Συγχρονισμός φόρτωσης"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Λήψη Sync"
# gui/game/screens.rpy:921
old "## This determines what tags are allowed to be displayed on the history screen."
# Automatic translation.
new "## Αυτό καθορίζει ποιες ετικέτες επιτρέπεται να εμφανίζονται στην οθόνη ιστορικού."
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
# Automatic translation.
new "Ανοίγει το μενού προσβασιμότητας."
# gui/game/screens.rpy:1082
old "Left Trigger\nLeft Shoulder"
# Automatic translation.
new "Αριστερό σκανδάλη\nΑριστερός ώμος"
# gui/game/screens.rpy:1139
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:1248
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
# Automatic translation.
new "## Πρέπει να χρησιμοποιήσουμε μια γραμματοσειρά που να έχει τη γλυφή BLACK RIGHT-POINTING SMALL TRIANGLE."
# gui/game/screens.rpy:1296
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:1320
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
# Automatic translation.
new "## Εμφανίζει το μενού, αν υπάρχει. Το μενού μπορεί να εμφανιστεί εσφαλμένα αν το config.narrator_menu έχει οριστεί σε True."
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
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."
# Automatic translation.
new "## Η οθόνη φυσαλίδων χρησιμοποιείται για την εμφάνιση διαλόγου στον παίκτη όταν χρησιμοποιούνται φυσαλίδες ομιλίας. Η οθόνη φυσαλίδων λαμβάνει τις ίδιες παραμέτρους με την οθόνη say, πρέπει να δημιουργήσει ένα displayable με το id \"what\" και μπορεί να δημιουργήσει displayables με τα ids \"namebox\", \"who\" και \"window\"."
# 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"
translate greek 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 "## Η παράμετρος κύλισης μπορεί να είναι None ή ένα από τα \"viewport\" ή \"vpgrid\". Αυτή η οθόνη προορίζεται να χρησιμοποιηθεί με ένα ή περισσότερα παιδιά, τα οποία μεταφέρονται (τοποθετούνται) μέσα σε αυτήν."
+555 -2
View File
@@ -154,7 +154,8 @@
# 00action_file.rpy:235
old "%b %d, %H:%M"
new "%b %d, %H:%M"
# Automatic translation.
new "%b %d, %H: %M"
# 00action_file.rpy:820
old "Quick save complete."
@@ -345,7 +346,8 @@ translate indonesian strings:
# 00director.rpy:1469
old "(statement)"
new "(statement)"
# Automatic translation.
new "(pernyataan)"
# 00director.rpy:1470
old "(tag)"
@@ -430,3 +432,554 @@ translate indonesian strings:
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} MB pada {count} tekstur."
translate indonesian strings:
# renpy/common/00accessibility.rpy:32
old "bar"
new "bar"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "dipilih"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "viewport"
# renpy/common/00accessibility.rpy:35
old "horizontal scroll"
# Automatic translation.
new "gulir horizontal"
# renpy/common/00accessibility.rpy:36
old "vertical scroll"
# Automatic translation.
new "gulir vertikal"
# renpy/common/00accessibility.rpy:37
old "activate"
# Automatic translation.
new "aktifkan"
# renpy/common/00accessibility.rpy:38
old "deactivate"
# Automatic translation.
new "menonaktifkan"
# renpy/common/00accessibility.rpy:39
old "increase"
# Automatic translation.
new "meningkat"
# renpy/common/00accessibility.rpy:40
old "decrease"
# Automatic translation.
new "penurunan"
# renpy/common/00accessibility.rpy:138
old "Font Override"
# Automatic translation.
new "Penggantian Font"
# renpy/common/00accessibility.rpy:142
old "Default"
new "Default"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
# Automatic translation.
new "Penskalaan Ukuran Teks"
# renpy/common/00accessibility.rpy:162
old "Reset"
# Automatic translation.
new "Atur ulang"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
# Automatic translation.
new "Penskalaan Jarak Baris"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Teks Kontras Tinggi"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
# Automatic translation.
new "Menyuarakan Diri Sendiri"
# renpy/common/00accessibility.rpy:197
old "Off"
# Automatic translation.
new "Mati"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
# Automatic translation.
new "Teks-ke-ucapan"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Papan klip"
# renpy/common/00accessibility.rpy:209
old "Debug"
new "Debug"
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
# Automatic translation.
new "Penurunan Volume Suara Sendiri"
# 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 "Opsi pada menu ini dimaksudkan untuk meningkatkan aksesibilitas. Opsi-opsi tersebut mungkin tidak berfungsi pada semua game, dan beberapa kombinasi opsi dapat membuat game tidak dapat dimainkan. Ini bukan masalah pada game atau mesin. Untuk hasil terbaik saat mengubah font, cobalah untuk menjaga ukuran teks tetap sama seperti aslinya."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
# Automatic translation.
new "Simpan slot %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
# Automatic translation.
new "Memuat slot %s: [text]"
# renpy/common/00action_file.rpy:514
old "Delete slot [text]"
# Automatic translation.
new "Hapus slot [text]"
# renpy/common/00action_file.rpy:593
old "File page auto"
# Automatic translation.
new "Halaman file otomatis"
# renpy/common/00action_file.rpy:595
old "File page quick"
# Automatic translation.
new "Mengajukan halaman file dengan cepat"
# renpy/common/00action_file.rpy:597
old "File page [text]"
# Automatic translation.
new "Halaman file [text]"
# renpy/common/00action_file.rpy:796
old "Next file page."
# Automatic translation.
new "Halaman file berikutnya."
# renpy/common/00action_file.rpy:868
old "Previous file page."
# Automatic translation.
new "Halaman file sebelumnya."
# renpy/common/00action_file.rpy:944
old "Quick save."
# Automatic translation.
new "Simpan cepat."
# renpy/common/00action_file.rpy:963
old "Quick load."
# Automatic translation.
new "Memuat dengan cepat."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Bahasa [text]"
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
# Automatic translation.
new "Klik untuk mengganti atribut, klik kanan untuk mengganti atribut negatif."
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
# Automatic translation.
new "Klik untuk mengatur transformasi, klik kanan untuk menambahkan ke daftar transformasi."
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
# Automatic translation.
new "Klik untuk mengatur, klik kanan untuk menambahkan ke daftar belakang."
# 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 "Penyimpanan ini dibuat pada perangkat yang berbeda. File penyimpanan yang dibuat dengan cara yang berbahaya dapat membahayakan komputer Anda. Apakah Anda mempercayai pembuat file penyimpanan ini dan semua orang yang dapat mengubah file tersebut?"
# 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 "Apakah Anda mempercayai perangkat tempat penyimpanan dibuat? Anda sebaiknya hanya memilih ya jika Anda adalah satu-satunya pengguna perangkat."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
# Automatic translation.
new "Gagal menyimpan tangkapan layar sebagai %s."
# renpy/common/00preferences.rpy:271
old "display"
# Automatic translation.
new "tampilan"
# renpy/common/00preferences.rpy:283
old "transitions"
# Automatic translation.
new "transisi"
# renpy/common/00preferences.rpy:292
old "skip transitions"
# Automatic translation.
new "lewati transisi"
# 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 "tampilkan jendela kosong"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "kecepatan teks"
# renpy/common/00preferences.rpy:320
old "joystick"
new "joystick"
# renpy/common/00preferences.rpy:320
old "joystick..."
new "joystick..."
# renpy/common/00preferences.rpy:327
old "skip"
# Automatic translation.
new "melewatkan"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
# Automatic translation.
new "lewati yang tak terlihat [text]"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "lewati teks yang tidak terlihat"
# renpy/common/00preferences.rpy:337
old "begin skipping"
# Automatic translation.
new "mulai melewatkan"
# renpy/common/00preferences.rpy:341
old "after choices"
# Automatic translation.
new "setelah pilihan"
# renpy/common/00preferences.rpy:348
old "skip after choices"
# Automatic translation.
new "lewati setelah pilihan"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "waktu maju otomatis"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "maju otomatis"
# renpy/common/00preferences.rpy:371
old "Auto forward"
# Automatic translation.
new "Maju otomatis"
# renpy/common/00preferences.rpy:374
old "auto-forward after click"
# Automatic translation.
new "maju otomatis setelah klik"
# renpy/common/00preferences.rpy:383
old "automatic move"
# Automatic translation.
new "gerakan otomatis"
# renpy/common/00preferences.rpy:392
old "wait for voice"
# Automatic translation.
new "menunggu suara"
# renpy/common/00preferences.rpy:401
old "voice sustain"
# Automatic translation.
new "mempertahankan suara"
# renpy/common/00preferences.rpy:410
old "self voicing"
# Automatic translation.
new "menyuarakan diri sendiri"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
# Automatic translation.
new "penurunan volume suara sendiri"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
# Automatic translation.
new "menyuarakan papan klip"
# renpy/common/00preferences.rpy:436
old "debug voicing"
# Automatic translation.
new "men-debug suara"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
# Automatic translation.
new "menekankan audio"
# renpy/common/00preferences.rpy:454
old "rollback side"
# Automatic translation.
new "sisi rollback"
# renpy/common/00preferences.rpy:464
old "gl powersave"
new "gl powersave"
# renpy/common/00preferences.rpy:470
old "gl framerate"
# Automatic translation.
new "framerate gl"
# renpy/common/00preferences.rpy:473
old "gl tearing"
new "gl tearing"
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "transformasi font"
# renpy/common/00preferences.rpy:479
old "font size"
# Automatic translation.
new "ukuran font"
# renpy/common/00preferences.rpy:487
old "font line spacing"
# Automatic translation.
new "spasi baris font"
# renpy/common/00preferences.rpy:495
old "system cursor"
# Automatic translation.
new "kursor sistem"
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "menu penyaji"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "menu aksesibilitas"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "teks kontras tinggi"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
# Automatic translation.
new "audio saat diminimalkan"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "audio saat tidak fokus"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "preload cache web"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "suara setelah menu permainan"
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "volume utama"
# renpy/common/00preferences.rpy:572
old "music volume"
# Automatic translation.
new "volume musik"
# renpy/common/00preferences.rpy:573
old "sound volume"
# Automatic translation.
new "volume suara"
# renpy/common/00preferences.rpy:574
old "voice volume"
# Automatic translation.
new "volume suara"
# renpy/common/00preferences.rpy:575
old "mute main"
# Automatic translation.
new "membisukan utama"
# renpy/common/00preferences.rpy:576
old "mute music"
# Automatic translation.
new "musik bisu"
# renpy/common/00preferences.rpy:577
old "mute sound"
# Automatic translation.
new "suara bisu"
# renpy/common/00preferences.rpy:578
old "mute voice"
# Automatic translation.
new "suara bisu"
# renpy/common/00preferences.rpy:579
old "mute all"
# Automatic translation.
new "membungkam semua"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "Editor Gelembung Ucapan"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(Sembunyikan)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "Sinkronisasi diunduh."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Tidak dapat tersambung ke server Ren'Py Sync."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
# Automatic translation.
new "Server Ren'Py Sync habis masa berlakunya."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
new "Terjadi kesalahan yang tidak diketahui saat menyambung ke 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 "Server Ren'Py Sync tidak memiliki salinan sinkronisasi ini. ID sinkronisasi mungkin tidak valid, atau mungkin telah habis masa berlakunya."
# 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 "Masukkan ID sinkronisasi yang Anda buat.\nJangan pernah memasukkan ID sinkronisasi yang tidak Anda buat sendiri."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "ID sinkronisasi tidak dalam format yang benar."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
# Automatic translation.
new "Sinkronisasi tidak dapat didekripsi."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "Sinkronisasi termasuk dalam permainan yang berbeda."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
# Automatic translation.
new "Sinkronisasi berisi file dengan nama yang tidak valid."
# 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 "Ini akan mengunggah simpanan Anda ke {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nApakah Anda ingin melanjutkan?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
new "Masukkan ID Sinkronisasi"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# Automatic translation.
new "Ini akan menghubungi {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# renpy/common/00sync.rpy:596
old "Sync Success"
# Automatic translation.
new "Keberhasilan Sinkronisasi"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
new "ID Sinkronisasi adalah:"
# 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 "Anda dapat menggunakan ID ini untuk mengunduh simpanan Anda di perangkat lain.\nSinkronisasi ini akan berakhir dalam satu jam.\nRen'Py Sync didukung oleh {a=https://www.renpy.org/sponsors.html}Sponsor Ren'Py{/a}."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "Kesalahan Sinkronisasi"
+106 -2
View File
@@ -99,7 +99,8 @@ translate indonesian strings:
# _developer/inspector.rpym:139
old "displayable:"
new "displayable:"
# Automatic translation.
new "dapat ditampilkan:"
# _developer/inspector.rpym:145
old " (no properties affect the displayable)"
@@ -111,7 +112,8 @@ translate indonesian strings:
# _developer/inspector.rpym:185
old "<repr() failed>"
new "<repr() failed>"
# Automatic translation.
new "<repr() gagal"
# 00console.rpy:182
old "Press <esc> to exit console. Type help for help.\n"
@@ -176,3 +178,105 @@ translate indonesian strings:
# 00console.rpy:536
old "jump <label>: jumps to label"
new "jump <label>: lompat ke label"
translate indonesian strings:
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Penampil Persisten"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Tampilkan Log Pemuatan Gambar (F4)"
# renpy/common/_developer/developer.rpym:62
old "Hide Image Load Log (F4)"
# Automatic translation.
new "Sembunyikan Log Pemuatan Gambar (F4)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
# Automatic translation.
new "Atribut Gambar"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "Editor Gelembung Ucapan (Shift+B)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (disembunyikan)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Sembunyikan dihapus"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Tampilkan dihapus"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Ketik untuk memfilter: "
# renpy/common/_developer/developer.rpym:507
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
# Automatic translation.
new "Tekstur: [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 "Tembolok gambar: [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: tunjukkan bantuan ini\n help <expr>: tampilkan tanda tangan dan dokumentasi dari <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 "Bantuan mungkin menampilkan fungsi yang tidak terdokumentasi. Harap periksa apakah fungsi atau\nkelas yang ingin Anda gunakan didokumentasikan.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: mencetak tumpukan balik"
# 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>: menonton ekspresi ular piton\n watch short: membuat representasi ekspresi yang ditelusuri menjadi pendek (default)\n watch long: membuat representasi ekspresi yang ditelusuri seperti apa adanya"
# renpy/common/00console.rpy:1028
old "short: Shorten the representation of objects on the console (default)."
# Automatic translation.
new "short: Mempersingkat representasi objek pada konsol (default)."
# renpy/common/00console.rpy:1032
old "long: Print the full representation of objects on the console."
# Automatic translation.
new "long: Mencetak representasi penuh objek pada konsol."
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: Memungkinkan keluarnya simbol unicode dalam string 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: Menonaktifkan pelarian simbol unicode dalam string unicode dan mencetaknya apa adanya (default)."
+107
View File
@@ -204,3 +204,110 @@ translate indonesian strings:
# _errorhandling.rpym:585
old "Ignores the exception, allowing you to continue."
new "Hiraukan Kesalahan, memperbolehkan kamu untuk melanjutkan."
translate indonesian strings:
# renpy/common/00gltest.rpy:89
old "Renderer"
new "Renderer"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
new "Force GL Renderer"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
new "Force ANGLE Renderer"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
new "Force GLES Renderer"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
new "Force GL2 Renderer"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "Paksa Penyaji ANGLE2"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
new "Force GLES2 Renderer"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "Aktifkan (Tanpa Daftar Blokir)"
# renpy/common/00gltest.rpy:159
old "Powersave"
new "Powersave"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "Framerate"
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Layar"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing"
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
# Automatic translation.
new "Game ini membutuhkan penggunaan GL2 yang tidak dapat diinisialisasi."
# 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 "File {a=edit:1:log.txt}log.txt{/a} mungkin berisi informasi untuk membantu Anda menentukan apa yang salah dengan komputer Anda."
# 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 "Rincian lebih lanjut tentang cara memperbaikinya dapat ditemukan di dokumentasi {a=[url]}{/a} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "Mengubah opsi render"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
# Automatic translation.
new "Tekan atau pindahkan '[control!s]' [kind]."
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
# Automatic translation.
new "Salin 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 "Menyalin file traceback.txt ke clipboard sebagai BBcode untuk forum seperti https://lemmasoft.renai.us/."
# renpy/common/_errorhandling.rpym:563
old "Copy Markdown"
# Automatic translation.
new "Salin Penurunan Harga"
# renpy/common/_errorhandling.rpym:565
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
# Automatic translation.
new "Menyalin file traceback.txt ke papan klip sebagai Markdown untuk Discord."
+137 -62
View File
@@ -159,195 +159,243 @@ translate indonesian strings:
# 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."
# Automatic translation.
new "## Variabel-variabel ini, bersama dengan file gambar di gui/button, mengontrol aspek-aspek bagaimana tombol ditampilkan."
# 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."
# Automatic translation.
new "## Lebar dan tinggi tombol, dalam piksel. Jika tidak ada, Ren'Py akan menghitung ukuran."
# 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."
# Automatic translation.
new "## Batas di setiap sisi tombol, dalam urutan kiri, atas, kanan, bawah."
# 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."
# Automatic translation.
new "## Jika Benar, gambar latar belakang akan dibuat ubin. Jika Salah, gambar latar belakang akan diskalakan secara linier."
# gui.rpy:162
old "## The font used by the button."
new "## The font used by the button."
# Automatic translation.
new "## Font yang digunakan oleh tombol."
# gui.rpy:165
old "## The size of the text used by the button."
new "## The size of the text used by the button."
# Automatic translation.
new "## Ukuran teks yang digunakan oleh tombol."
# 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."
# Automatic translation.
new "## Variabel-variabel ini mengganti pengaturan untuk berbagai jenis tombol. Silakan lihat dokumentasi gui untuk mengetahui jenis tombol yang tersedia, dan untuk apa tombol tersebut digunakan."
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## These customizations are used by the default interface:"
# Automatic translation.
new "## Kustomisasi ini digunakan oleh antarmuka default:"
# 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."
# Automatic translation.
new "## Anda juga dapat menambahkan kustomisasi Anda sendiri, dengan menambahkan variabel yang diberi nama yang tepat. Sebagai contoh, Anda dapat menghapus baris berikut ini untuk mengatur lebar tombol navigasi."
# gui.rpy:205
old "## Choice Buttons"
new "## Choice Buttons"
# Automatic translation.
new "## Tombol Pilihan"
# gui.rpy:207
old "## Choice buttons are used in the in-game menus."
new "## Choice buttons are used in the in-game menus."
# Automatic translation.
new "Tombol pilihan ## digunakan dalam menu dalam game."
# gui.rpy:220
old "## File Slot Buttons"
new "## File Slot Buttons"
# Automatic translation.
new "## Tombol 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 "## 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."
# Automatic translation.
new "## Tombol slot file adalah jenis tombol khusus. Tombol ini berisi gambar mini, dan teks yang menjelaskan isi slot penyimpanan. Slot penyimpanan menggunakan file gambar dalam gui/tombol, seperti jenis tombol lainnya."
# gui.rpy:226
old "## The save slot button."
new "## The save slot button."
# Automatic translation.
new "## Tombol simpan slot."
# 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."
# Automatic translation.
new "## Lebar dan tinggi gambar mini yang digunakan oleh slot penyimpanan."
# 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."
# Automatic translation.
new "## Jumlah kolom dan baris dalam kisi-kisi slot penyimpanan."
# gui.rpy:243
old "## Positioning and Spacing"
new "## Positioning and Spacing"
# Automatic translation.
new "## Pemosisian dan Spasi"
# 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."
# Automatic translation.
new "## Variabel-variabel ini mengontrol pemosisian dan jarak berbagai elemen antarmuka pengguna."
# 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."
# Automatic translation.
new "## Posisi sisi kiri tombol navigasi, relatif terhadap sisi kiri layar."
# gui.rpy:252
old "## The vertical position of the skip indicator."
new "## The vertical position of the skip indicator."
# Automatic translation.
new "## Posisi vertikal indikator lompatan."
# gui.rpy:255
old "## The vertical position of the notify screen."
new "## The vertical position of the notify screen."
# Automatic translation.
new "## Posisi vertikal layar notifikasi."
# gui.rpy:258
old "## The spacing between menu choices."
new "## The spacing between menu choices."
# Automatic translation.
new "## Jarak spasi di antara pilihan menu."
# 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."
# Automatic translation.
new "Tombol ## di bagian navigasi pada menu utama dan menu permainan."
# gui.rpy:264
old "## Controls the amount of spacing between preferences."
new "## Controls the amount of spacing between preferences."
# Automatic translation.
new "## Mengontrol jumlah spasi di antara preferensi."
# gui.rpy:267
old "## Controls the amount of spacing between preference buttons."
new "## Controls the amount of spacing between preference buttons."
# Automatic translation.
new "## Mengontrol jumlah spasi di antara tombol preferensi."
# gui.rpy:270
old "## The spacing between file page buttons."
new "## The spacing between file page buttons."
# Automatic translation.
new "## Jarak antara tombol halaman file."
# gui.rpy:273
old "## The spacing between file slots."
new "## The spacing between file slots."
# Automatic translation.
new "## Jarak antara slot file."
# gui.rpy:277
old "## Frames"
new "## Frames"
# Automatic translation.
new "## Frame"
# 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."
# Automatic translation.
new "## Variabel ini mengontrol tampilan frame yang dapat berisi komponen antarmuka pengguna ketika overlay atau jendela tidak ada."
# gui.rpy:282
old "## Generic frames that are introduced by player code."
new "## Generic frames that are introduced by player code."
# Automatic translation.
new "## Bingkai umum yang diperkenalkan oleh kode pemutar."
# 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."
# Automatic translation.
new "## Bingkai yang digunakan sebagai bagian dari layar konfirmasi."
# 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."
# Automatic translation.
new "## Bingkai yang digunakan sebagai bagian dari layar lewati."
# 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."
# Automatic translation.
new "## Bingkai yang digunakan sebagai bagian dari layar pemberitahuan."
# gui.rpy:294
old "## Should frame backgrounds be tiled?"
new "## Should frame backgrounds be tiled?"
# Automatic translation.
new "## Haruskah latar belakang bingkai dibuat berubin?"
# gui.rpy:298
old "## Bars, Scrollbars, and Sliders"
new "## Bars, Scrollbars, and Sliders"
# Automatic translation.
new "## Bilah, Bilah Gulir, dan Geser"
# 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."
# Automatic translation.
new "## Ini mengontrol tampilan dan ukuran bilah, bilah gulir, dan penggeser."
# 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."
# Automatic translation.
new "## GUI default hanya menggunakan slider dan scrollbar vertikal. Semua bilah lainnya hanya digunakan dalam kode yang ditulis oleh pembuat."
# 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."
# Automatic translation.
new "## Ketinggian bilah horizontal, bilah gulir, dan penggeser. Lebar bilah vertikal, bilah gulir, dan penggeser."
# 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."
# Automatic translation.
new "## Benar jika gambar batang harus diubin. Salah jika gambar harus diskalakan secara linier."
# gui.rpy:316
old "## Horizontal borders."
new "## Horizontal borders."
# Automatic translation.
new "## Batas horizontal."
# gui.rpy:321
old "## Vertical borders."
new "## Vertical borders."
# Automatic translation.
new "## Batas vertikal."
# 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."
# Automatic translation.
new "## Apa yang harus dilakukan dengan scrollbar yang tidak dapat digulir di gui. \"hide\" menyembunyikannya, sedangkan None tidak menampilkannya."
# gui.rpy:331
old "## History"
new "## History"
# Automatic translation.
new "## Sejarah"
# 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."
# Automatic translation.
new "## Layar riwayat menampilkan dialog yang telah diberhentikan oleh pemain."
# 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."
# Automatic translation.
new "## Jumlah blok riwayat dialog yang akan disimpan 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."
# Automatic translation.
new "## Ketinggian entri layar riwayat, atau Tidak Ada untuk membuat variabel ketinggian dengan mengorbankan kinerja."
# 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."
# Automatic translation.
new "## Posisi, lebar, dan perataan label yang memberikan nama karakter yang berbicara."
# gui.rpy:349
old "## The position, width, and alignment of the dialogue text."
new "## The position, width, and alignment of the dialogue text."
# Automatic translation.
new "## Posisi, lebar, dan perataan teks dialog."
# gui.rpy:356
old "## NVL-Mode"
@@ -355,59 +403,73 @@ translate indonesian strings:
# 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."
# Automatic translation.
new "## Layar mode NVL menampilkan dialog yang diucapkan oleh karakter mode 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."
# Automatic translation.
new "## Batas latar belakang jendela latar belakang mode 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."
# Automatic translation.
new "## Ketinggian entri mode NVL. Atur ini ke None (Tidak Ada) agar entri menyesuaikan tinggi secara dinamis."
# 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."
# Automatic translation.
new "## Spasi antara entri mode NVL ketika gui.nvl_height adalah None, dan antara entri mode NVL dan menu mode 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.)"
# Automatic translation.
new "## Posisi, lebar, dan perataan teks nvl_thought (teks yang diucapkan oleh karakter nvl_narrator)."
# gui.rpy:391
old "## The position of nvl menu_buttons."
new "## The position of nvl menu_buttons."
# Automatic translation.
new "## Posisi tombol menu nvl."
# gui.rpy:403
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
# Automatic translation.
new "## Ini meningkatkan ukuran tombol cepat agar lebih mudah disentuh pada tablet dan ponsel."
# 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."
# Automatic translation.
new "## Ini mengubah ukuran dan spasi berbagai elemen GUI untuk memastikan elemen-elemen tersebut mudah terlihat pada ponsel."
# gui.rpy:413
old "## Font sizes."
new "## Font sizes."
# Automatic translation.
new "Ukuran huruf ##."
# gui.rpy:421
old "## Adjust the location of the textbox."
new "## Adjust the location of the textbox."
# Automatic translation.
new "## Sesuaikan lokasi kotak teks."
# 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."
# Automatic translation.
new "## Mengubah ukuran dan spasi item dalam menu permainan."
# gui.rpy:436
old "## File button layout."
new "## File button layout."
# Automatic translation.
new "## Tata letak tombol file."
# gui.rpy:440
old "## NVL-mode."
new "## NVL-mode."
# Automatic translation.
new "## Mode NVL."
# gui.rpy:456
old "## Quick buttons."
new "## Quick buttons."
# Automatic translation.
new "## Tombol cepat."
translate indonesian strings:
@@ -458,3 +520,16 @@ translate indonesian strings:
old "## Change the size and spacing of various things."
new "## Ubah ukuran dan jarak dari berbagai hal."
translate indonesian strings:
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
# Automatic translation.
new "## Mengaktifkan pemeriksaan untuk properti yang tidak valid atau tidak stabil di layar atau transformasi"
# 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 "## Jumlah maksimum entri mode NVL yang akan ditampilkan Ren'Py. Ketika lebih banyak entri daripada ini akan ditampilkan, entri tertua akan dihapus."
+853 -10
View File
@@ -129,7 +129,8 @@
# android.rpy:353
old "Build:"
new "Build:"
# Automatic translation.
new "Bangun:"
# android.rpy:361
old "Install SDK & Create Keys"
@@ -305,7 +306,8 @@
# distribute_gui.rpy:193
old "Edit options.rpy"
new "Edit options.rpy"
# Automatic translation.
new "Edit opsi.rpy"
# distribute_gui.rpy:194
old "Add from clauses to calls, once"
@@ -437,7 +439,8 @@
# front_page.rpy:166
old "The Question"
new "The Question"
# Automatic translation.
new "Pertanyaan"
# front_page.rpy:182
old "Active Project"
@@ -605,7 +608,8 @@
# interface.rpy:327
old "ERROR"
new "ERROR"
# Automatic translation.
new "KESALAHAN"
# interface.rpy:356
old "While [what!qt], an error occured:"
@@ -813,7 +817,8 @@
# navigation.rpy:202
old "TODOs"
new "TODOs"
# Automatic translation.
new "TODO"
# navigation.rpy:241
old "+ Add script file"
@@ -893,7 +898,8 @@
# preferences.rpy:117
old "Text editor: [text]"
new "Text editor: [text]"
# Automatic translation.
new "Editor teks: [text]"
# preferences.rpy:133
old "Update Channel:"
@@ -1025,7 +1031,8 @@
# translations.rpy:180
old "Update Default Interface Translations"
new "Update Default Interface Translations"
# Automatic translation.
new "Memperbarui Terjemahan Antarmuka Default"
# translations.rpy:200
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
@@ -1057,7 +1064,8 @@
# translations.rpy:282
old "Updating default interface translations..."
new "Updating default interface translations..."
# Automatic translation.
new "Memperbarui terjemahan antarmuka default..."
# translations.rpy:306
old "Extract Dialogue: [project.current.name!q]"
@@ -1105,7 +1113,8 @@
# updater.rpy:91
old "Release"
new "Release"
# Automatic translation.
new "Lepaskan"
# updater.rpy:97
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
@@ -1129,7 +1138,8 @@
# updater.rpy:126
old "Nightly"
new "Nightly"
# Automatic translation.
new "Setiap malam."
# updater.rpy:132
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
@@ -1325,3 +1335,836 @@ translate indonesian strings:
# web.rpy:194
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
new "Sebelum membangun renpy ke versi web,kamu perlu mengunduh RenpyWeb (Ren'Py's web support),unduh sekarang?"
translate indonesian strings:
# game/add_file.rpy:37
old "The file name may not be empty."
# Automatic translation.
new "Nama file tidak boleh kosong."
# game/android.rpy:37
old "A 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}download and install the JDK{/a}, then restart the Ren'Py launcher."
# Automatic translation.
new "Sebuah 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit diperlukan untuk membuat paket Android di Windows. JDK berbeda dengan JRE, jadi mungkin saja Anda memiliki Java tanpa memiliki JDK.\n\nSilakan {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}unduh dan instal JDK{/a}, lalu mulai ulang peluncur Ren'Py."
# game/android.rpy:39
old "RAPT has been installed, but a key hasn't been configured. Please generate new keys, or copy android.keystore and bundle.keystore to the base directory."
# Automatic translation.
new "RAPT telah diinstal, tetapi kunci belum dikonfigurasi. Buatlah kunci baru, atau salin android.keystore dan bundle.keystore ke direktori dasar."
# game/android.rpy:41
old "Please select if you want a Play Bundle (for Google Play), or a Universal APK (for sideloading and other app stores)."
# Automatic translation.
new "Pilihlah apakah Anda menginginkan Play Bundle (untuk Google Play), atau APK Universal (untuk sideload dan toko aplikasi lainnya)."
# game/android.rpy:46
old "Attempts to emulate a televison-based Android console.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
# Automatic translation.
new "Mencoba meniru konsol Android berbasis televisi.\n\nInput pengontrol dipetakan ke tombol panah, Enter dipetakan ke tombol pilih, Escape dipetakan ke tombol menu, dan PageUp dipetakan ke tombol kembali."
# game/android.rpy:48
old "Downloads and installs the Android SDK and supporting packages."
# Automatic translation.
new "Mengunduh dan menginstal Android SDK dan paket-paket pendukung."
# game/android.rpy:49
old "Generates the keys required to sign the package."
# Automatic translation.
new "Menghasilkan kunci yang diperlukan untuk menandatangani paket."
# game/android.rpy:56
old "Lists the connected devices."
# Automatic translation.
new "Mencantumkan daftar perangkat yang tersambung."
# game/android.rpy:57
old "Pairs with a device over Wi-Fi, on Android 11+."
# Automatic translation.
new "Memasangkan dengan perangkat melalui Wi-Fi, pada Android 11+."
# game/android.rpy:58
old "Connects to a device over Wi-Fi, on Android 11+."
# Automatic translation.
new "Menghubungkan ke perangkat melalui Wi-Fi, pada Android 11+."
# game/android.rpy:59
old "Disconnects a device connected over Wi-Fi."
# Automatic translation.
new "Memutuskan sambungan perangkat yang tersambung melalui Wi-Fi."
# game/android.rpy:61
old "Removes Android temporary files."
# Automatic translation.
new "Menghapus file sementara Android."
# game/android.rpy:63
old "Builds an Android App Bundle (ABB), intended to be uploaded to Google Play. This can include up to 2GB of data."
# Automatic translation.
new "Membuat Android App Bundle (ABB), yang dimaksudkan untuk diunggah ke Google Play. Ini dapat mencakup hingga 2GB data."
# game/android.rpy:64
old "Builds a Universal APK package, intended for sideloading and stores other than Google Play. This can include up to 2GB of data."
# Automatic translation.
new "Membuat paket APK Universal, yang ditujukan untuk sideload dan toko selain Google Play. Ini dapat mencakup hingga 2GB data."
# game/android.rpy:383
old "Install SDK"
# Automatic translation.
new "Instal SDK"
# game/android.rpy:387
old "Generate Keys"
# Automatic translation.
new "Hasilkan Kunci"
# game/android.rpy:397
old "Play Bundle"
new "Play Bundle"
# game/android.rpy:402
old "Universal APK"
new "Universal APK"
# game/android.rpy:452
old "List Devices"
# Automatic translation.
new "Daftar Perangkat"
# game/android.rpy:456
old "Wi-Fi Debugging Pair"
# Automatic translation.
new "Pasangan Debugging Wi-Fi"
# game/android.rpy:460
old "Wi-Fi Debugging Connect"
# Automatic translation.
new "Menghubungkan Debugging Wi-Fi"
# game/android.rpy:464
old "Wi-Fi Debugging Disconnect"
# Automatic translation.
new "Memutuskan sambungan debug Wi-Fi"
# game/android.rpy:468
old "Clean"
# Automatic translation.
new "Bersih"
# game/android.rpy:573
old "Wi-Fi Pairing Code"
# Automatic translation.
new "Kode Pemasangan Wi-Fi"
# game/android.rpy:573
old "If supported, this can be found in 'Developer options', 'Wireless debugging', 'Pair device with pairing code'."
# Automatic translation.
new "Jika didukung, hal ini dapat ditemukan di 'Opsi pengembang', 'Debugging nirkabel', 'Pasangkan perangkat dengan kode pemasangan'."
# game/android.rpy:580
old "Pairing Host & Port"
# Automatic translation.
new "Memasangkan Host & Port"
# game/android.rpy:596
old "IP Address & Port"
# Automatic translation.
new "Alamat IP & Port"
# game/android.rpy:596
old "If supported, this can be found in 'Developer options', 'Wireless debugging'."
# Automatic translation.
new "Jika didukung, hal ini dapat ditemukan di 'Opsi pengembang', 'Debugging nirkabel'."
# game/android.rpy:612
old "This can be found in 'List Devices'."
# Automatic translation.
new "Ini dapat ditemukan di 'Daftar Perangkat'."
# game/android.rpy:632
old "Cleaning up Android project."
# Automatic translation.
new "Membersihkan proyek Android."
# game/androidstrings.rpy:7
old "{} is not a directory."
# Automatic translation.
new "{} bukanlah sebuah direktori."
# game/androidstrings.rpy:8
old "{} does not contain a Ren'Py game."
# Automatic translation.
new "{} tidak mengandung permainan Ren'Py."
# game/androidstrings.rpy:10
old "Run configure before attempting to build the app."
# Automatic translation.
new "Jalankan konfigurasi sebelum mencoba membangun aplikasi."
# game/androidstrings.rpy:11
old "Updating project."
# Automatic translation.
new "Memperbarui proyek."
# game/androidstrings.rpy:12
old "Creating assets directory."
# Automatic translation.
new "Membuat direktori aset."
# game/androidstrings.rpy:13
old "Packaging internal data."
# Automatic translation.
new "Mengemas data internal."
# game/androidstrings.rpy:14
old "I'm using Gradle to build the package."
# Automatic translation.
new "Saya menggunakan Gradle untuk membangun paket."
# game/androidstrings.rpy:15
old "The build seems to have failed."
# Automatic translation.
new "Tampaknya pembangunannya gagal."
# game/androidstrings.rpy:16
old "I'm installing the bundle."
# Automatic translation.
new "Saya sedang memasang bundelnya."
# game/androidstrings.rpy:17
old "Installing the bundle appears to have failed."
# Automatic translation.
new "Pemasangan bundel tampaknya gagal."
# game/androidstrings.rpy:18
old "Launching app."
# Automatic translation.
new "Meluncurkan aplikasi."
# game/androidstrings.rpy:19
old "Launching the app appears to have failed."
# Automatic translation.
new "Peluncuran aplikasi tampaknya gagal."
# game/androidstrings.rpy:20
old "The build seems to have succeeded."
# Automatic translation.
new "Tampaknya pembangunannya telah berhasil."
# game/androidstrings.rpy:21
old "What is the full name of your application? This name will appear in the list of installed applications."
# Automatic translation.
new "Apa nama lengkap aplikasi Anda? Nama ini akan muncul di daftar aplikasi yang terinstal."
# game/androidstrings.rpy:22
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
# Automatic translation.
new "Apa nama singkat aplikasi Anda? Nama ini akan digunakan di peluncur, dan untuk pintasan aplikasi."
# game/androidstrings.rpy:23
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
# Automatic translation.
new "Apa nama paketnya?\n\nBiasanya berbentuk com.domain.program atau com.domain.email.program. Nama domain ini hanya boleh berisi huruf dan titik ASCII. Setidaknya harus mengandung satu titik."
# game/androidstrings.rpy:24
old "The package name may not be empty."
# Automatic translation.
new "Nama paket tidak boleh kosong."
# game/androidstrings.rpy:25
old "The package name may not contain spaces."
# Automatic translation.
new "Nama paket tidak boleh mengandung spasi."
# game/androidstrings.rpy:26
old "The package name must contain at least one dot."
# Automatic translation.
new "Nama paket harus mengandung setidaknya satu titik."
# game/androidstrings.rpy:27
old "The package name may not contain two dots in a row, or begin or end with a dot."
# Automatic translation.
new "Nama paket tidak boleh mengandung dua titik berturut-turut, atau diawali atau diakhiri dengan titik."
# game/androidstrings.rpy:28
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
# Automatic translation.
new "Setiap bagian dari nama paket harus dimulai dengan huruf, dan hanya terdiri dari huruf, angka, dan garis bawah."
# game/androidstrings.rpy:29
old "{} is a Java keyword, and can't be used as part of a package name."
# Automatic translation.
new "{} adalah kata kunci Java, dan tidak dapat digunakan sebagai bagian dari nama paket."
# game/androidstrings.rpy:30
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
# Automatic translation.
new "Apa versi aplikasi ini?\n\nIni harus merupakan versi yang dapat dibaca manusia yang akan Anda tunjukkan kepada seseorang. Hanya berisi angka dan titik."
# game/androidstrings.rpy:31
old "The version number must contain only numbers and dots."
# Automatic translation.
new "Nomor versi hanya boleh berisi angka dan titik."
# game/androidstrings.rpy:32
old "How much RAM (in GB) do you want to allocate to Gradle?\nThis must be a positive integer number."
# Automatic translation.
new "Berapa banyak RAM (dalam GB) yang ingin Anda alokasikan untuk Gradle?\nIni harus berupa bilangan bulat positif."
# game/androidstrings.rpy:33
old "The RAM size must contain only numbers and be positive."
# Automatic translation.
new "Ukuran RAM harus hanya berisi angka dan positif."
# game/androidstrings.rpy:34
old "How would you like your application to be displayed?"
# Automatic translation.
new "Bagaimana Anda ingin aplikasi Anda ditampilkan?"
# game/androidstrings.rpy:35
old "In landscape orientation."
# Automatic translation.
new "Dalam orientasi lanskap."
# game/androidstrings.rpy:36
old "In portrait orientation."
# Automatic translation.
new "Dalam orientasi potret."
# game/androidstrings.rpy:37
old "In the user's preferred orientation."
# Automatic translation.
new "Dalam orientasi pilihan pengguna."
# game/androidstrings.rpy:38
old "Which app store would you like to support in-app purchasing through?"
# Automatic translation.
new "Toko aplikasi mana yang ingin Anda dukung untuk pembelian dalam aplikasi?"
# game/androidstrings.rpy:39
old "Google Play."
new "Google Play."
# game/androidstrings.rpy:40
old "Amazon App Store."
new "Amazon App Store."
# game/androidstrings.rpy:41
old "Both, in one app."
# Automatic translation.
new "Keduanya, dalam satu aplikasi."
# game/androidstrings.rpy:42
old "Neither."
# Automatic translation.
new "Tidak juga."
# game/androidstrings.rpy:43
old "Do you want to automatically update the Java source code?"
# Automatic translation.
new "Apakah Anda ingin memperbarui kode sumber Java secara otomatis?"
# game/androidstrings.rpy:44
old "Yes. This is the best choice for most projects."
# Automatic translation.
new "Ya, ini adalah pilihan terbaik untuk sebagian besar proyek."
# game/androidstrings.rpy:45
old "No. This may require manual updates when Ren'Py or the project configuration changes."
# Automatic translation.
new "Tidak. Hal ini mungkin memerlukan pembaruan manual ketika Ren'Py atau konfigurasi proyek berubah."
# game/androidstrings.rpy:46
old "Unknown configuration variable: {}"
# Automatic translation.
new "Variabel konfigurasi yang tidak diketahui: {}"
# game/androidstrings.rpy:47
old "I'm compiling a short test program, to see if you have a working JDK on your system."
# Automatic translation.
new "Saya sedang menyusun sebuah program uji coba singkat, untuk melihat apakah Anda memiliki JDK yang berfungsi di sistem Anda."
# game/androidstrings.rpy:48
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."
# Automatic translation.
new "Saya tidak dapat menggunakan javac untuk mengkompilasi berkas uji coba. Jika Anda belum menginstal Java Development Kit, silakan unduh dari:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nJDK berbeda dengan JRE, jadi mungkin saja Anda memiliki Java tanpa memiliki JDK. Pastikan Anda telah menginstal 'JavaSoft (Oracle) registry keys'.\n\nTanpa JDK yang berfungsi, saya tidak bisa melanjutkan."
# game/androidstrings.rpy:49
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
# Automatic translation.
new "Versi Java di komputer Anda tampaknya bukan JDK 8, yang merupakan satu-satunya versi yang didukung oleh Android SDK. Jika Anda perlu menginstal JDK 8, Anda dapat mengunduhnya dari:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nAnda juga dapat mengatur variabel lingkungan JAVA_HOME untuk menggunakan versi Java yang berbeda."
# game/androidstrings.rpy:50
old "The JDK is present and working. Good!"
# Automatic translation.
new "JDK hadir dan berfungsi. Bagus!"
# game/androidstrings.rpy:51
old "The Android SDK has already been unpacked."
# Automatic translation.
new "SDK Android telah dibongkar."
# game/androidstrings.rpy:52
old "Do you accept the Android SDK Terms and Conditions?"
# Automatic translation.
new "Apakah Anda menerima Syarat dan Ketentuan Android SDK?"
# game/androidstrings.rpy:53
old "I'm downloading the Android SDK. This might take a while."
# Automatic translation.
new "Saya sedang mengunduh Android SDK. Ini mungkin akan memakan waktu cukup lama."
# game/androidstrings.rpy:54
old "I'm extracting the Android SDK."
# Automatic translation.
new "Saya mengekstrak SDK Android."
# game/androidstrings.rpy:55
old "I've finished unpacking the Android SDK."
# Automatic translation.
new "Saya sudah selesai membongkar Android SDK."
# game/androidstrings.rpy:56
old "I'm about to download and install the required Android packages. This might take a while."
# Automatic translation.
new "Saya akan mengunduh dan menginstal paket Android yang diperlukan. Ini mungkin akan memakan waktu cukup lama."
# game/androidstrings.rpy:57
old "I was unable to accept the Android licenses."
# Automatic translation.
new "Saya tidak dapat menerima lisensi Android."
# game/androidstrings.rpy:59
old "I was unable to install the required Android packages."
# Automatic translation.
new "Saya tidak dapat menginstal paket Android yang diperlukan."
# game/androidstrings.rpy:60
old "I've finished installing the required Android packages."
# Automatic translation.
new "Saya sudah selesai menginstal paket Android yang diperlukan."
# game/androidstrings.rpy:61
old "It looks like you're ready to start packaging games."
# Automatic translation.
new "Sepertinya Anda sudah siap untuk mulai mengemas game."
# game/androidstrings.rpy:62
old "Please enter your name or the name of your organization."
# Automatic translation.
new "Masukkan nama Anda atau nama organisasi Anda."
# game/androidstrings.rpy:63
old "I found an android.keystore file in the rapt directory. Do you want to use this file?"
# Automatic translation.
new "Saya menemukan file android.keystore di direktori rapt. Apakah Anda ingin menggunakan file ini?"
# game/androidstrings.rpy:64
old "I can create an application signing key for you. This key is required to create Universal APK for sideloading and stores other than Google Play.\n\nDo you want to create a key?"
# Automatic translation.
new "Saya dapat membuat kunci penandatanganan aplikasi untuk Anda. Kunci ini diperlukan untuk membuat APK Universal untuk sideload dan toko selain Google Play.\n\nApakah Anda ingin membuat kunci?"
# game/androidstrings.rpy:65
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
# Automatic translation.
new "Saya akan membuat kunci di file android.keystore.\n\nAnda perlu mencadangkan file ini. Jika Anda kehilangan file tersebut, Anda tidak akan dapat meningkatkan aplikasi Anda.\n\nAnda juga perlu menyimpan kunci dengan aman. Jika orang jahat mendapatkan file ini, mereka dapat membuat versi palsu dari aplikasi Anda, dan berpotensi mencuri data pengguna.\n\nApakah Anda akan membuat cadangan android.keystore, dan menyimpannya di tempat yang aman?"
# game/androidstrings.rpy:66
old "\n\nSaying 'No' will prevent key creation."
# Automatic translation.
new "\n\nMengatakan 'Tidak' akan mencegah pembuatan kunci."
# game/androidstrings.rpy:67
old "Could not create android.keystore. Is keytool in your path?"
# Automatic translation.
new "Tidak dapat membuat android.keystore. Apakah keytool ada di jalur Anda?"
# game/androidstrings.rpy:68
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
# Automatic translation.
new "Saya telah selesai membuat android.keystore. Silakan cadangkan, dan simpan di tempat yang aman."
# game/androidstrings.rpy:69
old "I found a bundle.keystore file in the rapt directory. Do you want to use this file?"
# Automatic translation.
new "Saya menemukan file bundle.keystore di direktori rapt. Apakah Anda ingin menggunakan file ini?"
# game/androidstrings.rpy:70
old "I can create a bundle signing key for you. This key is required to build an Android App Bundle (AAB) for upload to Google Play.\n\nDo you want to create a key?"
# Automatic translation.
new "Saya bisa membuatkan kunci penandatanganan bundel untuk Anda. Kunci ini diperlukan untuk membuat Android App Bundle (AAB) untuk diunggah ke Google Play.\n\nApakah Anda ingin membuat kunci?"
# game/androidstrings.rpy:71
old "I will create the key in the bundle.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of bundle.keystore, and keep it in a safe place?"
# Automatic translation.
new "Saya akan membuat kunci di file bundle.keystore.\n\nAnda perlu mencadangkan file ini. Jika Anda kehilangan file tersebut, Anda tidak akan dapat meningkatkan aplikasi Anda.\n\nAnda juga perlu menyimpan kunci dengan aman. Jika orang jahat mendapatkan file ini, mereka dapat membuat versi palsu dari aplikasi Anda, dan berpotensi mencuri data pengguna.\n\nApakah Anda akan membuat cadangan bundle.keystore, dan menyimpannya di tempat yang aman?"
# game/androidstrings.rpy:73
old "Could not create bundle.keystore. Is keytool in your path?"
# Automatic translation.
new "Tidak dapat membuat bundle.keystore. Apakah keytool ada di jalur Anda?"
# game/androidstrings.rpy:74
old "I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place."
# Automatic translation.
new "Saya telah membuka direktori yang berisi android.keystore dan bundle.keystore. Silakan cadangkan, dan simpan di tempat yang aman."
# game/choose_directory.rpy:67
old "Select Projects Directory"
# Automatic translation.
new "Pilih Direktori Proyek"
# game/choose_theme.rpy:508
old "changing the theme"
# Automatic translation.
new "mengubah tema"
# game/distribute.rpy:1745
old "Copying files..."
# Automatic translation.
new "Menyalin file..."
# game/distribute_gui.rpy:195
old "Update old-game"
# Automatic translation.
new "Perbarui game lama"
# game/distribute_gui.rpy:231
old "(DLC)"
new "(DLC)"
# game/dmgcheck.rpy:50
old "Ren'Py is running from a read only folder. Some functionality will not work."
# Automatic translation.
new "Ren'Py berjalan dari folder read only. Beberapa fungsionalitas tidak akan berfungsi."
# game/dmgcheck.rpy:50
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
# Automatic translation.
new "Hal ini mungkin disebabkan karena Ren'Py berjalan langsung dari image drive Macintosh. Untuk memperbaikinya, keluar dari peluncur ini, salin seluruh folder %s di tempat lain pada komputer Anda, dan jalankan Ren'Py lagi."
# game/editor.rpy:152
old "A modern editor with many extensions including advanced Ren'Py integration."
# Automatic translation.
new "Editor modern dengan banyak ekstensi termasuk integrasi Ren'Py yang canggih."
# game/editor.rpy:153
old "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}"
# Automatic translation.
new "Editor modern dengan banyak ekstensi termasuk integrasi Ren'Py yang canggih.\n{a=jump:reinstall_vscode}Tingkatkan Visual Studio Code ke versi terbaru.{/a}"
# game/editor.rpy:169
old "Visual Studio Code"
new "Visual Studio Code"
# game/editor.rpy:169
old "Up to 110 MB download required."
# Automatic translation.
new "Diperlukan unduhan hingga 110 MB."
# game/editor.rpy:182
old "A modern and approachable text editor."
# Automatic translation.
new "Editor teks yang modern dan mudah didekati."
# game/editor.rpy:196
old "Atom"
new "Atom"
# game/editor.rpy:196
old "Up to 150 MB download required."
# Automatic translation.
new "Diperlukan unduhan hingga 150 MB."
# game/editor.rpy:211
old "jEdit"
new "jEdit"
# game/editor.rpy:220
old "Visual Studio Code (System)"
# Automatic translation.
new "Kode Visual Studio (Sistem)"
# game/editor.rpy:220
old "Uses a copy of Visual Studio Code that you have installed outside of Ren'Py. It's recommended you install the language-renpy extension to add support for Ren'Py files."
# Automatic translation.
new "Menggunakan salinan Kode Visual Studio yang telah Anda instal di luar Ren'Py. Anda disarankan untuk menginstal ekstensi language-renpy untuk menambahkan dukungan untuk file Ren'Py."
# game/editor.rpy:226
old "System Editor"
# Automatic translation.
new "Editor Sistem"
# game/editor.rpy:245
old "None"
# Automatic translation.
new "Tidak ada"
# game/editor.rpy:352
old "Edit [text]."
new "Edit [text]."
# game/front_page.rpy:165
old "audio"
new "audio"
# game/front_page.rpy:182
old "Open project"
# Automatic translation.
new "Proyek terbuka"
# game/front_page.rpy:188
old "Actions"
# Automatic translation.
new "Tindakan"
# game/front_page.rpy:219
old "Web"
new "Web"
# game/front_page.rpy:219
old "(Beta)"
new "(Beta)"
# game/gui7.rpy:302
old "{size=-4}\n\nThis will not overwrite gui/main_menu.png, gui/game_menu.png, and gui/window_icon.png, but will create files that do not exist.{/size}"
# Automatic translation.
new "{size=-4}\n\nIni tidak akan menimpa gui/main_menu.png, gui/game_menu.png, dan gui/window_icon.png, tetapi akan membuat file yang tidak ada.{/size}"
# game/gui7.rpy:333
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
# Automatic translation.
new "Kustom. GUI dioptimalkan untuk rasio aspek 16:9."
# game/gui7.rpy:424
old "creating a new project"
# Automatic translation.
new "membuat proyek baru"
# game/gui7.rpy:428
old "activating the new project"
# Automatic translation.
new "mengaktifkan proyek baru"
# game/install.rpy:33
old "Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."
# Automatic translation.
new "Tidak dapat menginstal [name!t], karena file yang cocok dengan [zipglob] tidak ditemukan di direktori Ren'Py SDK."
# game/install.rpy:79
old "Successfully installed [name!t]."
# Automatic translation.
new "Berhasil diinstal [name!t]."
# game/installer.rpy:10
old "Downloading [extension.download_file]."
# Automatic translation.
new "Mengunduh [extension.download_file]."
# game/installer.rpy:11
old "Could not download [extension.download_file] from [extension.download_url]:\n{b}[extension.download_error]"
# Automatic translation.
new "Tidak dapat mengunduh [extension.download_file] dari [extension.download_url]:\n{b}[extension.download_error]"
# game/installer.rpy:12
old "The downloaded file [extension.download_file] from [extension.download_url] is not correct."
# Automatic translation.
new "File yang diunduh [extension.download_file] dari [extension.download_url] tidak benar."
# game/interface.rpy:124
old "[interface.version]"
new "[interface.version]"
# game/interface.rpy:385
old "opening the log file"
# Automatic translation.
new "membuka file log"
# game/ios.rpy:379
old "There are known issues with the iOS simulator on Apple Silicon. Please test on x86_64 or iOS devices."
# Automatic translation.
new "Ada beberapa masalah yang diketahui dengan simulator iOS pada Apple Silicon. Silakan uji pada perangkat x86_64 atau iOS."
# game/itch.rpy:45
old "Downloading the itch.io butler."
# Automatic translation.
new "Mengunduh butler itch.io."
# game/preferences.rpy:106
old "General"
# Automatic translation.
new "Umum"
# game/preferences.rpy:107
old "Options"
# Automatic translation.
new "Pilihan"
# game/preferences.rpy:227
old "Daily check for update"
# Automatic translation.
new "Pemeriksaan harian untuk pembaruan"
# game/preferences.rpy:246
old "Launcher Theme:"
# Automatic translation.
new "Tema Peluncur:"
# game/preferences.rpy:250
old "Default theme"
# Automatic translation.
new "Tema default"
# game/preferences.rpy:251
old "Dark theme"
# Automatic translation.
new "Tema gelap"
# game/preferences.rpy:252
old "Custom theme"
# Automatic translation.
new "Tema khusus"
# game/preferences.rpy:256
old "Information about creating a custom theme can be found {a=https://www.renpy.org/doc/html/skins.html}in the Ren'Py Documentation{/a}."
# Automatic translation.
new "Informasi tentang membuat tema khusus dapat ditemukan di {a=https://www.renpy.org/doc/html/skins.html}dalam Dokumentasi Ren'Py{/a}."
# game/preferences.rpy:273
old "Install Libraries:"
# Automatic translation.
new "Instal Perpustakaan:"
# game/preferences.rpy:301
old "Clean temporary files"
# Automatic translation.
new "Bersihkan file sementara"
# game/preferences.rpy:308
old "Cleaning temporary files..."
# Automatic translation.
new "Membersihkan file sementara..."
# game/preferences.rpy:338
old "{#in language font}Welcome! Please choose a language"
# Automatic translation.
new "{#in language font}Selamat datang! Silakan pilih bahasa"
# game/preferences.rpy:373
old "{#in language font}Start using Ren'Py in [lang_name]"
# Automatic translation.
new "{#in language font}Mulai menggunakan Ren'Py di [lang_name]"
# game/project.rpy:46
old "Lint checks your game for potential mistakes, and gives you statistics."
# Automatic translation.
new "Lint memeriksa permainan Anda untuk potensi kesalahan, dan memberi Anda statistik."
# game/project.rpy:283
old "This may be because the project is not writeable."
# Automatic translation.
new "Hal ini mungkin karena proyek ini tidak dapat ditulis."
# game/translations.rpy:391
old "Language (or None for the default language):"
# Automatic translation.
new "Bahasa (atau Tidak Ada untuk bahasa default):"
# game/updater.rpy:64
old "Release (Ren'Py 8, Python 3)"
# Automatic translation.
new "Rilis (Ren'Py 8, Python 3)"
# game/updater.rpy:65
old "Release (Ren'Py 7, Python 2)"
# Automatic translation.
new "Rilis (Ren'Py 7, Python 2)"
# game/updater.rpy:69
old "Prerelease (Ren'Py 8, Python 3)"
# Automatic translation.
new "Prarilis (Ren'Py 8, Python 3)"
# game/updater.rpy:70
old "Prerelease (Ren'Py 7, Python 2)"
# Automatic translation.
new "Prarilis (Ren'Py 7, Python 2)"
# game/updater.rpy:77
old "Nightly (Ren'Py 8, Python 3)"
# Automatic translation.
new "Malam hari (Ren'Py 8, Python 3)"
# game/updater.rpy:78
old "Nightly (Ren'Py 7, Python 2)"
# Automatic translation.
new "Malam hari (Ren'Py 7, Python 2)"
# game/updater.rpy:108
old "The update channel controls the version of Ren'Py the updater will download."
# Automatic translation.
new "Saluran pembaruan mengontrol versi Ren'Py yang akan diunduh oleh pembaru."
# game/updater.rpy:116
old "• {a=https://www.renpy.org/doc/html/changelog.html}View change log{/a}"
# Automatic translation.
new "- {a=https://www.renpy.org/doc/html/changelog.html}Lihat log perubahan{/a}"
# game/updater.rpy:118
old "• {a=https://www.renpy.org/dev-doc/html/changelog.html}View change log{/a}"
# Automatic translation.
new "- {a=https://www.renpy.org/dev-doc/html/changelog.html}Lihat log perubahan{/a}"
# game/updater.rpy:124
old "• This version is installed and up-to-date."
# Automatic translation.
new "- Versi ini sudah terinstal dan terbaru."
# game/updater.rpy:136
old "%B %d, %Y"
new "%B %d, %Y"
# game/updater.rpy:215
old "Fetching the list of update channels"
# Automatic translation.
new "Mengambil daftar saluran pembaruan"
# game/updater.rpy:220
old "downloading the list of update channels"
# Automatic translation.
new "mengunduh daftar saluran pembaruan"
# game/web.rpy:485
old "Creating package..."
# Automatic translation.
new "Membuat paket..."
# game/web.rpy:505
old "Web: [project.current.display_name!q]"
new "Web: [project.current.display_name!q]"
# game/web.rpy:535
old "Build Web Application"
# Automatic translation.
new "Membangun Aplikasi Web"
# game/web.rpy:536
old "Build and Open in Browser"
# Automatic translation.
new "Membangun dan Membuka di Browser"
# game/web.rpy:537
old "Open in Browser"
# Automatic translation.
new "Buka di Browser"
# game/web.rpy:538
old "Open build directory"
# Automatic translation.
new "Buka direktori build"
# game/web.rpy:560
old "Images and music can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior."
# Automatic translation.
new "Gambar dan musik dapat diunduh saat bermain. File 'progressive_download.txt' akan dibuat sehingga Anda dapat mengonfigurasi perilaku ini."
+18
View File
@@ -210,3 +210,21 @@ translate indonesian strings:
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
new "## Atur ini ke string yang berisi ID Developer Aplikasi Apple mu untuk mengaktifkan codesigning di Mac. Pastikan untuk mengganti nya ke ID mu sendiri yang sudah di berikan oleh Apple."
translate indonesian 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 "## Teks yang ditempatkan pada layar tentang game. Tempatkan teks di antara tanda kutip tiga, dan biarkan baris kosong di antara paragraf."
# 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 "## Ketiga variabel ini mengontrol, antara lain, mixer mana yang ditampilkan kepada pemain secara default. Menetapkan salah satu dari variabel ini ke False akan menyembunyikan mixer yang sesuai."
# 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 "## Kunci lisensi Google Play diperlukan untuk melakukan pembelian dalam aplikasi. Kunci ini dapat ditemukan di konsol pengembang Google Play, di bawah \"Monetisasi\" > \"Pengaturan Monetisasi\" > \"Lisensi\"."
+51 -6
View File
@@ -174,8 +174,8 @@ translate indonesian strings:
new "## Ini menjalaskan struktur dasar yang paling sering di gunakan di layar menu permainan, ini ditampilkan beserta layar judul, dan menampilkan latar belakang,judul,dan navigasi."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
new "## Parameter scroll dapat berisi 'None', atau \"viewport\" dan \"vpgrid\". Ketika layar ini di maksudkan untuk di gunakan dengan cabang satu atau lebih, yang di tempatkan di dalamnya."
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 "## Parameter scroll dapat berisi 'None', atau \"viewport\" dan \"vpgrid\". Layar ini di maksudkan untuk di gunakan dengan cabang satu atau lebih, yang di tempatkan di dalamnya."
# screens.rpy:476
old "Return"
@@ -291,7 +291,8 @@ translate indonesian strings:
# screens.rpy:739
old "Window"
new "Window"
# Automatic translation.
new "Jendela"
# screens.rpy:740
old "Fullscreen"
@@ -406,7 +407,8 @@ translate indonesian strings:
# screens.rpy:1003
old "Enter"
new "Enter"
# Automatic translation.
new "Masukkan"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
@@ -430,7 +432,8 @@ translate indonesian strings:
# screens.rpy:1015
old "Escape"
new "Escape"
# Automatic translation.
new "Melarikan diri"
# screens.rpy:1016
old "Accesses the game menu."
@@ -454,7 +457,8 @@ translate indonesian strings:
# screens.rpy:1027
old "Page Up"
new "Page Up"
# Automatic translation.
new "Halaman Atas"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
@@ -715,3 +719,44 @@ translate indonesian strings:
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
translate indonesian strings:
# gui/game/screens.rpy:329
old "## The quit button is banned on iOS and unnecessary on Android and Web."
# Automatic translation.
new "## Tombol keluar dilarang di iOS dan tidak diperlukan di Android dan Web."
# gui/game/screens.rpy:676
old "Upload Sync"
# Automatic translation.
new "Sinkronisasi Unggah"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Unduh Sinkronisasi"
# gui/game/screens.rpy:1049
old "Opens the accessibility menu."
# Automatic translation.
new "Membuka menu aksesibilitas."
# gui/game/screens.rpy:1320
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
# Automatic translation.
new "## Menampilkan menu, jika diberikan. Menu dapat ditampilkan dengan tidak benar jika config.narrator_menu diatur ke True."
# gui/game/screens.rpy:1410
old "## Bubble screen"
# Automatic translation.
new "## Layar gelembung"
# 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 "## Layar gelembung digunakan untuk menampilkan dialog kepada pemain saat menggunakan gelembung ucapan. Layar gelembung mengambil parameter yang sama dengan layar ucapkan, harus membuat tampilan dengan id \"apa\", dan dapat membuat tampilan dengan id \"kotak nama\", \"siapa\", dan \"jendela\"."
# 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"
+644
View File
@@ -333,3 +333,647 @@ translate italian strings:
old "return"
new "chiudi"
translate italian strings:
# renpy/common/00accessibility.rpy:32
old "bar"
new "bar"
# renpy/common/00accessibility.rpy:33
old "selected"
# Automatic translation.
new "selezionato"
# renpy/common/00accessibility.rpy:34
old "viewport"
new "viewport"
# 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"
# renpy/common/00accessibility.rpy:38
old "deactivate"
# Automatic translation.
new "disattivare"
# renpy/common/00accessibility.rpy:39
old "increase"
# Automatic translation.
new "aumento"
# renpy/common/00accessibility.rpy:40
old "decrease"
# Automatic translation.
new "diminuzione"
# renpy/common/00accessibility.rpy:138
old "Font Override"
# Automatic translation.
new "Sovrascrittura dei caratteri"
# renpy/common/00accessibility.rpy:142
old "Default"
# Automatic translation.
new "Predefinito"
# renpy/common/00accessibility.rpy:146
old "DejaVu Sans"
new "DejaVu Sans"
# renpy/common/00accessibility.rpy:150
old "Opendyslexic"
new "Opendyslexic"
# renpy/common/00accessibility.rpy:156
old "Text Size Scaling"
# Automatic translation.
new "Dimensione del testo in scala"
# renpy/common/00accessibility.rpy:162
old "Reset"
new "Reset"
# renpy/common/00accessibility.rpy:168
old "Line Spacing Scaling"
# Automatic translation.
new "Interlinea Scala"
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "Testo ad alto contrasto"
# renpy/common/00accessibility.rpy:193
old "Self-Voicing"
# Automatic translation.
new "Autocelebrazione"
# renpy/common/00accessibility.rpy:197
old "Off"
# Automatic translation.
new "Spento"
# renpy/common/00accessibility.rpy:201
old "Text-to-speech"
new "Text-to-speech"
# renpy/common/00accessibility.rpy:205
old "Clipboard"
# Automatic translation.
new "Appunti"
# renpy/common/00accessibility.rpy:209
old "Debug"
new "Debug"
# renpy/common/00accessibility.rpy:223
old "Self-Voicing Volume Drop"
# Automatic translation.
new "Caduta di volume autoavvertita"
# 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."
# renpy/common/00action_file.rpy:378
old "Save slot %s: [text]"
# Automatic translation.
new "Salva lo slot %s: [text]"
# renpy/common/00action_file.rpy:461
old "Load slot %s: [text]"
# Automatic translation.
new "Caricare lo 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"
# renpy/common/00action_file.rpy:595
old "File page quick"
# Automatic translation.
new "Pagina di file veloce"
# 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."
# renpy/common/00action_file.rpy:868
old "Previous file page."
# Automatic translation.
new "Pagina 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."
# renpy/common/00action_other.rpy:381
old "Language [text]"
# Automatic translation.
new "Lingua [text]"
# renpy/common/00director.rpy:705
old "The interactive director is not enabled here."
# Automatic translation.
new "Il direttore interattivo non è abilitato in questo caso."
# renpy/common/00director.rpy:1504
old "⬆"
new "⬆"
# renpy/common/00director.rpy:1510
old "⬇"
new "⬇"
# renpy/common/00director.rpy:1574
old "Done"
# Automatic translation.
new "Fatto"
# renpy/common/00director.rpy:1584
old "(statement)"
# Automatic translation.
new "(dichiarazione)"
# renpy/common/00director.rpy:1585
old "(tag)"
new "(tag)"
# renpy/common/00director.rpy:1586
old "(attributes)"
# Automatic translation.
new "(attributi)"
# renpy/common/00director.rpy:1587
old "(transform)"
new "(transform)"
# renpy/common/00director.rpy:1612
old "(transition)"
new "(transition)"
# renpy/common/00director.rpy:1624
old "(channel)"
# Automatic translation.
new "(canale)"
# renpy/common/00director.rpy:1625
old "(filename)"
# Automatic translation.
new "(nome del file)"
# renpy/common/00director.rpy:1654
old "Change"
# Automatic translation.
new "Cambiamento"
# renpy/common/00director.rpy:1656
old "Add"
# Automatic translation.
new "Aggiungi"
# renpy/common/00director.rpy:1662
old "Remove"
# Automatic translation.
new "Rimuovere"
# renpy/common/00director.rpy:1697
old "Statement:"
# Automatic translation.
new "Dichiarazione:"
# renpy/common/00director.rpy:1718
old "Tag:"
new "Tag:"
# 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."
# 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."
# 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."
# 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?"
# 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."
# renpy/common/00keymap.rpy:322
old "Failed to save screenshot as %s."
# Automatic translation.
new "Impossibile salvare l'immagine come %s."
# renpy/common/00preferences.rpy:271
old "display"
new "display"
# 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"
# renpy/common/00preferences.rpy:312
old "text speed"
# Automatic translation.
new "velocità del testo"
# renpy/common/00preferences.rpy:320
old "joystick"
new "joystick"
# renpy/common/00preferences.rpy:320
old "joystick..."
new "joystick..."
# renpy/common/00preferences.rpy:327
old "skip"
# Automatic translation.
new "saltare"
# renpy/common/00preferences.rpy:330
old "skip unseen [text]"
# Automatic translation.
new "saltare non visto [text]"
# renpy/common/00preferences.rpy:335
old "skip unseen text"
# Automatic translation.
new "saltare il testo non visto"
# renpy/common/00preferences.rpy:337
old "begin skipping"
# Automatic translation.
new "iniziare 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"
# renpy/common/00preferences.rpy:350
old "auto-forward time"
# Automatic translation.
new "tempo di inoltro automatico"
# renpy/common/00preferences.rpy:364
old "auto-forward"
# Automatic translation.
new "Inoltro 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"
# 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"
# renpy/common/00preferences.rpy:401
old "voice sustain"
# Automatic translation.
new "sostegno della voce"
# renpy/common/00preferences.rpy:410
old "self voicing"
# Automatic translation.
new "autocelebrazione"
# renpy/common/00preferences.rpy:419
old "self voicing volume drop"
# Automatic translation.
new "caduta di volume dell'autocelebrazione"
# renpy/common/00preferences.rpy:427
old "clipboard voicing"
# Automatic translation.
new "Votazione degli appunti"
# renpy/common/00preferences.rpy:436
old "debug voicing"
new "debug voicing"
# renpy/common/00preferences.rpy:445
old "emphasize audio"
# Automatic translation.
new "enfatizzare l'audio"
# renpy/common/00preferences.rpy:454
old "rollback side"
# Automatic translation.
new "lato rollback"
# renpy/common/00preferences.rpy:464
old "gl powersave"
new "gl powersave"
# renpy/common/00preferences.rpy:470
old "gl framerate"
# Automatic translation.
new "framerate gl"
# renpy/common/00preferences.rpy:473
old "gl tearing"
new "gl tearing"
# renpy/common/00preferences.rpy:476
old "font transform"
# Automatic translation.
new "trasformazione dei caratteri"
# renpy/common/00preferences.rpy:479
old "font size"
# Automatic translation.
new "dimensione del carattere"
# renpy/common/00preferences.rpy:487
old "font line spacing"
# Automatic translation.
new "interlinea del carattere"
# 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à"
# 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"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "audio quando non viene messo 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"
# 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"
# renpy/common/00preferences.rpy:576
old "mute music"
# Automatic translation.
new "disattivare la musica"
# renpy/common/00preferences.rpy:577
old "mute sound"
# Automatic translation.
new "Disattivare l'audio"
# renpy/common/00preferences.rpy:578
old "mute voice"
# Automatic translation.
new "voce muta"
# renpy/common/00preferences.rpy:579
old "mute all"
# Automatic translation.
new "disattivare tutti"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "Editor di bolle vocali"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(Nascondi)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "Sincronizzazione scaricata."
# 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."
# 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."
# 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."
# 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."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "La sincronizzazione appartiene a 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."
# 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?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
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}."
# renpy/common/00sync.rpy:596
old "Sync Success"
# Automatic translation.
new "Successo della sincronizzazione"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
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}."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "Errore di sincronizzazione"
+109 -1
View File
@@ -99,7 +99,8 @@ translate italian strings:
# _developer/inspector.rpym:139
old "displayable:"
new "displayable:"
# Automatic translation.
new "visualizzabile:"
# _developer/inspector.rpym:145
old " (no properties affect the displayable)"
@@ -177,3 +178,110 @@ 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)"
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "Visualizzatore persistente"
# renpy/common/_developer/developer.rpym:59
old "Show Image Load Log (F4)"
# Automatic translation.
new "Mostra registro caricamento 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)"
# renpy/common/_developer/developer.rpym:65
old "Image Attributes"
# Automatic translation.
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)"
# renpy/common/_developer/developer.rpym:97
old "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (nascosto)"
# renpy/common/_developer/developer.rpym:101
old "[name] [attributes]"
new "[name] [attributes]"
# renpy/common/_developer/developer.rpym:162
old "Hide deleted"
# Automatic translation.
new "Nascondi cancellato"
# renpy/common/_developer/developer.rpym:162
old "Show deleted"
# Automatic translation.
new "Mostra cancellata"
# renpy/common/_developer/developer.rpym:389
old "Type to filter: "
# Automatic translation.
new "Tipo 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"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: stampare 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 è"
# 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."
# 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)."
+132
View File
@@ -177,3 +177,135 @@ 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"
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
# Automatic translation.
new "Forza il renderizzatore GL"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
# Automatic translation.
new "Rendering angolare della forza"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
# Automatic translation.
new "Forza il renderizzatore GLES"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
# Automatic translation.
new "Rendering Force GL2"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "Forza il renderizzatore ANGLE2"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
# Automatic translation.
new "Forza il renderizzatore GLES2"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "Abilitazione (nessuna lista di blocco)"
# renpy/common/00gltest.rpy:159
old "Powersave"
# Automatic translation.
new "Risparmio energetico"
# renpy/common/00gltest.rpy:173
old "Framerate"
new "Framerate"
# renpy/common/00gltest.rpy:177
old "Screen"
# Automatic translation.
new "Schermo"
# renpy/common/00gltest.rpy:181
old "60"
new "60"
# renpy/common/00gltest.rpy:185
old "30"
new "30"
# renpy/common/00gltest.rpy:191
old "Tearing"
new "Tearing"
# 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."
# 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."
# 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} ."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "Modifica delle 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]."
# renpy/common/_errorhandling.rpym:555
old "Open"
# Automatic translation.
new "Aperto"
# renpy/common/_errorhandling.rpym:559
old "Copy BBCode"
# Automatic translation.
new "Copiare il codice BBC"
# 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"
# 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."
# renpy/common/_errorhandling.rpym:637
old "Console"
new "Console"
# 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."
+40 -1
View File
@@ -327,7 +327,8 @@ translate italian strings:
# gui.rpy:331
old "## History"
new "## History"
# Automatic translation.
new "## Storia"
# gui.rpy:333
old "## The history screen displays dialogue that the player has already dismissed."
@@ -433,3 +434,41 @@ 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."
# 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"
# 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."
# 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."
# 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."
File diff suppressed because it is too large Load Diff
+25 -1
View File
@@ -23,7 +23,8 @@ translate italian strings:
# options.rpy:17
old "Ren'Py 7 Default GUI"
new "Ren'Py 7 Default GUI"
# Automatic translation.
new "GUI predefinita di Ren'Py 7"
# options.rpy:20
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
@@ -197,3 +198,26 @@ 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."
# 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."
# 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\"."
+113 -23
View File
@@ -11,7 +11,8 @@ translate italian strings:
# screens.rpy:91
old "## Say screen"
new "## Say screen"
# Automatic translation.
new "## Dire schermo"
# 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.)"
@@ -27,7 +28,8 @@ translate italian strings:
# screens.rpy:169
old "## Input screen"
new "## Input screen"
# Automatic translation.
new "## Schermata di ingresso"
# screens.rpy:171
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
@@ -43,7 +45,8 @@ translate italian strings:
# screens.rpy:205
old "## Choice screen"
new "## 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."
@@ -59,7 +62,8 @@ translate italian strings:
# screens.rpy:244
old "## Quick Menu screen"
new "## Quick Menu screen"
# Automatic translation.
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."
@@ -103,7 +107,8 @@ translate italian strings:
# screens.rpy:291
old "## Navigation screen"
new "## 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."
@@ -151,7 +156,8 @@ translate italian strings:
# screens.rpy:350
old "## Main Menu screen"
new "## Main Menu screen"
# Automatic translation.
new "## Schermata del menu principale"
# screens.rpy:352
old "## Used to display the main menu when Ren'Py starts."
@@ -167,14 +173,15 @@ translate italian strings:
# screens.rpy:413
old "## Game Menu screen"
new "## Game Menu screen"
# Automatic translation.
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."
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
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."
# screens.rpy:476
@@ -183,7 +190,8 @@ translate italian strings:
# screens.rpy:539
old "## About screen"
new "## About screen"
# Automatic translation.
new "## Informazioni sullo schermo"
# screens.rpy:541
old "## This screen gives credit and copyright information about the game and Ren'Py."
@@ -215,7 +223,8 @@ translate italian strings:
# screens.rpy:582
old "## Load and Save screens"
new "## Load and Save screens"
# Automatic translation.
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."
@@ -275,7 +284,8 @@ translate italian strings:
# screens.rpy:711
old "## Preferences screen"
new "## Preferences screen"
# Automatic translation.
new "## Schermata delle preferenze"
# screens.rpy:713
old "## The preferences screen allows the player to configure the game to better suit themselves."
@@ -359,7 +369,8 @@ translate italian strings:
# screens.rpy:882
old "## History screen"
new "## History screen"
# Automatic translation.
new "## Schermata della storia"
# 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."
@@ -387,7 +398,8 @@ translate italian strings:
# screens.rpy:965
old "## Help screen"
new "## Help screen"
# Automatic translation.
new "## Schermata di aiuto"
# 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."
@@ -455,7 +467,8 @@ translate italian strings:
# screens.rpy:1027
old "Page Up"
new "Page Up"
# Automatic translation.
new "Pagina su"
# screens.rpy:1028
old "Rolls back to earlier dialogue."
@@ -463,7 +476,8 @@ translate italian strings:
# screens.rpy:1031
old "Page Down"
new "Page Down"
# Automatic translation.
new "Pagina giù"
# screens.rpy:1032
old "Rolls forward to later dialogue."
@@ -523,11 +537,13 @@ translate italian strings:
# screens.rpy:1085
old "D-Pad, Sticks"
new "D-Pad, Sticks"
# Automatic translation.
new "D-Pad, bastoni"
# screens.rpy:1089
old "Start, Guide"
new "Start, Guide"
# Automatic translation.
new "Avvio, Guida"
# screens.rpy:1090
old "Access the game menu."
@@ -547,7 +563,8 @@ translate italian strings:
# screens.rpy:1128
old "## Confirm screen"
new "## Confirm screen"
# Automatic translation.
new "## Conferma la schermata"
# screens.rpy:1130
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
@@ -575,7 +592,8 @@ translate italian strings:
# screens.rpy:1191
old "## Skip indicator screen"
new "## 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."
@@ -595,7 +613,8 @@ translate italian strings:
# screens.rpy:1247
old "## Notify screen"
new "## 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.)"
@@ -607,7 +626,8 @@ translate italian strings:
# screens.rpy:1286
old "## NVL screen"
new "## NVL screen"
# Automatic translation.
new "## Schermo NVL"
# screens.rpy:1288
old "## This screen is used for NVL-mode dialogue and menus."
@@ -622,8 +642,8 @@ translate italian strings:
new "## Mostra il dialogo in una vpgrid o in una 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 "## Mostra il menu, se fornito. Il menu può apparire distorto se config.narrator_menu è impostato a True, come lo è sopra."
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
new "## Mostra il menu, se fornito. Il menu può apparire distorto se config.narrator_menu è impostato a True."
# screens.rpy:1344
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
@@ -677,3 +697,73 @@ translate italian strings:
old "Left Trigger\nLeft Shoulder"
new "Grilletto Sinistro\nLaterale Sinistro"
translate italian strings:
# 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."
# 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: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."
# 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:676
old "Upload Sync"
# Automatic translation.
new "Sincronizzazione del caricamento"
# gui/game/screens.rpy:680
old "Download Sync"
# Automatic translation.
new "Scarica Sync"
# 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à."
# gui/game/screens.rpy:1139
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: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."
# gui/game/screens.rpy:1296
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:1410
old "## Bubble screen"
# Automatic translation.
new "## Schermo 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\"."
# 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"
+119 -8
View File
@@ -343,15 +343,15 @@ translate japanese strings:
# 00director.rpy:1469
old "(statement)"
new "(statement)"
new "(ステートメント)"
# 00director.rpy:1470
old "(tag)"
new "(tag)"
new "(タグ)"
# 00director.rpy:1471
old "(attributes)"
new "(attributes)"
new "(属性)"
# 00director.rpy:1472
old "(transform)"
@@ -363,11 +363,11 @@ translate japanese strings:
# 00director.rpy:1509
old "(channel)"
new "(channel)"
new "(チャンネル)"
# 00director.rpy:1510
old "(filename)"
new "(filename)"
new "(ファイル名)"
# 00director.rpy:1535
old "Change"
@@ -431,7 +431,7 @@ translate japanese strings:
# _developer\developer.rpym:569
old "{size_mb:,.1f} MB in {count} textures."
new "{size_mb:,.1f} MB in {count} textures."
new "{count}つのテクスチャーで{size_mb:,.1f}MB"
# 00action_file.rpy:344
old "Save slot %s: [text]"
@@ -603,7 +603,7 @@ translate japanese strings:
# 00preferences.rpy:337
old "voice sustain"
new "voice sustain"
new "ボイスの持続"
# 00preferences.rpy:346
old "self voicing"
@@ -755,7 +755,7 @@ translate japanese strings:
# renpy/common/_developer/developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (hidden)"
new "[name] [attributes] (非表示)"
# renpy/common/_developer/developer.rpym:94
old "[name] [attributes]"
@@ -809,3 +809,114 @@ translate japanese strings:
old "mute main"
new "メインをミュート"
translate japanese strings:
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
new "クリックすると属性が切り替わり、右クリックすると負の属性が切り替わります。"
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
new "クリックでトランスフォームを設定し、右クリックでトランスフォームリストに追加します。"
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
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?"
new "このセーブデータは、別のデバイスで作成されたものです。悪意を持って作成されたセーブデータは、あなたのコンピューターに害を及ぼす可能性があります。このセーブデータの作成者と、セーブデータを変更した可能性のあるすべての人を信用しますか?"
# 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 "セーブデータが作成されたデバイスを信頼しますか?あなたがそのデバイスの唯一のユーザーである場合のみ、「はい」を選択するべきです。"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
new "バックグラウンドでの音声"
# renpy/common/00preferences.rpy:537
old "web cache preload"
new "ウェブキャッシュプリロード"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
new "ゲームメニュー後のボイス"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
new "スピーチバブルエディター"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
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 Syncサーバーに接続できませんでした。"
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
new "Ren'Py Syncサーバーがタイムアウトしました。"
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
new "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."
new "Ren'Py Syncサーバーに、この同期のコピーがありません。同期IDが無効であるか、タイムアウトした可能性があります。"
# renpy/common/00sync.rpy:409
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:428
old "The sync ID is not in the correct format."
new "同期IDが正しい形式ではありません。"
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
new "同期を復号化することができませんでした。"
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
new "同期は別のゲームに属しています。"
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
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 Server{/a} にセーブをアップロードします。\n続けますか?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
new "同期IDを入力する"
# 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 Server{/a} に連絡します。"
# renpy/common/00sync.rpy:596
old "Sync Success"
new "同期成功"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
new "同期IDは"
# 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}."
new "このIDを使って、セーブデータを別の端末でダウンロードすることができます。\nこの同期は1時間後に期限切れとなります。\nRen'Py Sync は{a=https://www.renpy.org/sponsors.html}Ren'Py のスポンサー{/a} によってサポートされています。"
# renpy/common/00sync.rpy:631
old "Sync Error"
new "同期エラー"
+20 -1
View File
@@ -187,7 +187,7 @@ translate japanese strings:
# renpy/common/00console.rpy:814
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 "watch <expression>: python式をウォッチ\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
new "watch <expression>: python式をウォッチ\n watch short: トレースされた式を短く表現する (デフォルト)\n watch long: そのままの表現にする"
# renpy/common/00console.rpy:925
old "escape: Enables escaping of unicode symbols in unicode strings."
@@ -201,3 +201,22 @@ translate japanese strings:
old "stack: print the return stack"
new "stack: リターンスタックの出力"
translate japanese strings:
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
new "永続データビューア"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
new "スピーチバブルエディター(Shift+B)"
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
new "help: このヘルプを表示する\n help <expr>: <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"
new "ヘルプでは、文書化されていない機能が表示されることがあります。ドキュメントで使用したい関数や\nクラスを確認してください。\n\n"
+7 -2
View File
@@ -199,8 +199,7 @@ translate japanese strings:
# gui.rpy:183
old "## These customizations are used by the default interface:"
new "## デフォルトのインターフェースには、radio、check、confirm、page、quick、navigation、choice、slot、test、help、nvl のボタンが用意されています。\
radio と check は環境設定の各項目のボタン(デフォルトでは同じ画像)。confirm は確認画面の選択肢、page は セーブ・ロード画面のページ切り替え、quick はクイックメニュー、 navigation はゲームメニューのメニュー切り替えに使うボタンです。"
new "## デフォルトのインターフェースには、radio、check、confirm、page、quick、navigation、choice、slot、test、help、nvl のボタンが用意されています。radio と check は環境設定の各項目のボタン(デフォルトでは同じ画像)。confirm は確認画面の選択肢、page は セーブ・ロード画面のページ切り替え、quick はクイックメニュー、 navigation はゲームメニューのメニュー切り替えに使うボタンです。"
# 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."
@@ -458,3 +457,9 @@ radio と check は環境設定の各項目のボタン(デフォルトでは
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
translate japanese strings:
# gui/game/gui.rpy:14
old "## Enable checks for invalid or unstable properties in screens or transforms"
new "## スクリーンやトランスフォームのプロパティが無効または不安定であることをチェックできるようにする。"
+87 -29
View File
@@ -37,7 +37,7 @@
# android.rpy:31
old "An x86 Java Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "Windows では、Android パッケージのビルドに 32-bit の Java 開発キットが必要です。JDKJRE とは異なるため、JDK が無くても Java が利用できます。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK{/a}のダウンロードとインストールを行い、Ren'Py ランチャーを再起動して下さい。"
new "Windows では、Android パッケージのビルドに 32-bit の Java 開発キットが必要です。JDKJREとは異なるため、JDKがなくてもJavaを使用できる可能性があります。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK{/a}のダウンロードとインストールを行い、Ren'Py ランチャーを再起動して下さい。"
# android.rpy:32
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
@@ -117,15 +117,15 @@
# android.rpy:333
old "Phone"
new "Phone"
new "スマートフォン"
# android.rpy:337
old "Tablet"
new "Tablet"
new "タブレット"
# android.rpy:341
old "Television"
new "Television"
new "テレビ"
# android.rpy:353
old "Build:"
@@ -433,11 +433,11 @@
# front_page.rpy:165
old "Tutorial"
new "Tutorial"
new "チュートリアル"
# front_page.rpy:166
old "The Question"
new "The Question"
new "ザ・クエスチョン"
# front_page.rpy:182
old "Active Project"
@@ -669,7 +669,7 @@
# ios.rpy:37
old "Creates an Xcode project corresponding to the current Ren'Py project."
new "現在の Ren'PY プロジェクトに対応する Xcode プロジェクトを作成します。"
new "現在の Ren'Py プロジェクトに対応する Xcode プロジェクトを作成します。"
# ios.rpy:38
old "Updates the Xcode project with the latest game files. This must be done each time the Ren'Py project changes."
@@ -725,7 +725,7 @@
# ios.rpy:354
old "XCODE PROJECTS DIRECTORY"
new "XCODE PROJECTS DIRECTORY"
new "Xcode プロジェクトディレクトリ"
# ios.rpy:354
old "Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
@@ -1105,7 +1105,7 @@
# updater.rpy:91
old "Release"
new "Release"
new "リリース"
# updater.rpy:97
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
@@ -1113,7 +1113,7 @@
# updater.rpy:102
old "Prerelease"
new "Prerelease"
new "プレリリース"
# updater.rpy:108
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
@@ -1121,7 +1121,7 @@
# updater.rpy:114
old "Experimental"
new "Experimental"
new "実験的"
# updater.rpy:120
old "Experimental versions of Ren'Py. You shouldn't select this channel unless asked by a Ren'Py developer."
@@ -1129,7 +1129,7 @@
# updater.rpy:126
old "Nightly"
new "Nightly"
new "ナイトリー"
# updater.rpy:132
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
@@ -1305,7 +1305,7 @@
# editor.rpy:338
old "Edit [text]."
new "Edit [text]."
new "[text] を編集します。"
# front_page.rpy:215
old "Open project"
@@ -1320,8 +1320,8 @@
new "ファイル名が与えられていません。"
# game/android.rpy:31
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "ウィンドウズでアンドロイドパッケージをビルドするには、 64-bit/x64 Java 8 Development Kit が必要になります。 JDKJRE とは違うもので、Java には含まれていません。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK{/a}をダンロード、インストールしてから Ren'Py ランチャーを再起動してください。"
old "A 64-bit/x64 Java [JDK_REQUIREMENT] Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "ウィンドウズでアンドロイドパッケージをビルドするには、 64-bit/x64 Java 8 Development Kit が必要になります。 JDKJREとは異なるため、JDKがなくてもJavaを使用できる可能性があります。\n\n{a=https://www.renpy.org/jdk/[JDK_REQUIREMENT]}JDK{/a}をダンロード、インストールしてから Ren'Py ランチャーを再起動してください。"
# game/android.rpy:50
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
@@ -1513,7 +1513,7 @@
# game/androidstrings.rpy:52
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue."
new "テストファイルのコンパイルに javac が利用できません。Java Development Kit をダウンロードしていないなら、\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードしてください。 JDKJRE とは違うもので、Java には含まれていません。JDK がなければ継続できません。"
new "テストファイルのコンパイルに javac が利用できません。Java Development Kit をダウンロードしていないなら、\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードしてください。 JDKJREとは異なるため、JDKがなくてもJavaを使用できる可能性があります。 動作するJDKなしには続行できません。"
# game/androidstrings.rpy:53
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
@@ -1597,11 +1597,11 @@
# game/front_page.rpy:252
old "Web"
new "Web"
new "ウェブ"
# game/front_page.rpy:252
old "(Beta)"
new "(Beta)"
new "(ベータ)"
# game/front_page.rpy:198
old "audio"
@@ -1649,7 +1649,7 @@
# game/web.rpy:118
old "Web: [project.current.display_name!q]"
new "Web: [project.current.display_name!q]"
new "ウェブ: [project.current.display_name!q]"
# game/web.rpy:148
old "Build Web Application"
@@ -1677,7 +1677,7 @@
# game/web.rpy:164
old "Beuc's Patreon"
new "Beuc's Patreon"
new "Beucのパトレオン"
# game/web.rpy:182
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
@@ -1741,7 +1741,7 @@
# game/android.rpy:35
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot}download and install the JDK{/a}, then restart the Ren'Py launcher."
new "WindowsでAndroidパッケージをビルドするには64-bit/x64 Java 8 Development Kitが必要です。JDKはJREとは異り、JDKなしでJavaを用できます。\n\n{a=https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot}JDKのダウンロードとインストール{/a}を行い、Ren'Pyランチャーを再起動してください。"
new "WindowsでAndroidパッケージをビルドするには64-bit/x64 Java 8 Development Kitが必要です。JDKはJREとは異なるため、JDKがなくてもJavaを使用できる可能性があります。\n\n{a=https://adoptopenjdk.net/?variant=openjdk8&jvmVariant=hotspot}JDKのダウンロードとインストール{/a}を行い、Ren'Pyランチャーを再起動してください。"
# game/android.rpy:403
old "Universal APK"
@@ -1949,7 +1949,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\nJDKJRE とは異り、JDKなしでJavaを用できます。 'JavaSoft (Oracle) registry keys'.\n\nをインストールしたか確認してくさい。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\nJDKJREとは異なるため、JDKがなくてもJavaを使用できる可能性があります。 'JavaSoft (Oracle) registry keys' をインストールしたかどうか確認してくさい。\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."
@@ -1997,7 +1997,7 @@
# game/editor.rpy:220
old "Visual Studio Code (System)"
new "Visual Studio Code (System)"
new "Visual Studio Code(システム)"
# game/editor.rpy:220
old "Uses a copy of Visual Studio Code that you have installed outside of Ren'Py. It's recommended you install the language-renpy extension to add support for Ren'Py files."
@@ -2065,27 +2065,27 @@
# game/updater.rpy:64
old "Release (Ren'Py 8, Python 3)"
new "Release (Ren'Py 8, Python 3)"
new "リリース(Ren'Py 8Python 3"
# game/updater.rpy:65
old "Release (Ren'Py 7, Python 2)"
new "Release (Ren'Py 7, Python 2)"
new "リリース(Ren'Py 7Python 2"
# game/updater.rpy:69
old "Prerelease (Ren'Py 8, Python 3)"
new "Prerelease (Ren'Py 8, Python 3)"
new "プレリリース(Ren'Py 8Python 3"
# game/updater.rpy:70
old "Prerelease (Ren'Py 7, Python 2)"
new "Prerelease (Ren'Py 7, Python 2)"
new "プレリリース(Ren'Py 7Python 2"
# game/updater.rpy:77
old "Nightly (Ren'Py 8, Python 3)"
new "Nightly (Ren'Py 8, Python 3)"
new "ナイトリー(Ren'Py 8Python 3"
# game/updater.rpy:78
old "Nightly (Ren'Py 7, Python 2)"
new "Nightly (Ren'Py 7, Python 2)"
new "ナイトリー(Ren'Py 7Python 2"
# game/web.rpy:344
old "This feature is not supported in Ren'Py 8."
@@ -2095,3 +2095,61 @@
old "We will restore support in a future release of Ren'Py 8. Until then, please use Ren'Py 7 for web support."
new "Ren'Py 8 の将来のリリースでサポートを復活させます。それまではRen'Py 7 をウェブプラットフォームに使用ください。"
translate japanese strings:
# game/android.rpy:39
old "RAPT has been installed, but a key hasn't been configured. Please generate new keys, or copy android.keystore and bundle.keystore to the base directory."
new "RAPTはインストールされましたが、キーが設定されていません。新しいキーを生成するか、android.keystoreとbundle.keystoreをベースディレクトリにコピーしてください。"
# game/android.rpy:46
old "Attempts to emulate a televison-based Android console.\n\nController input is mapped to the arrow keys, Enter is mapped to the select button, Escape is mapped to the menu button, and PageUp is mapped to the back button."
new "テレビベースのAndroidコンソールのエミュレーションを試みる。\n\nコントローラー入力は矢印キーに、Enterはセレクトボタンに、Escapeはメニューボタンに、PageUpはバックボタンにマッピングされています。"
# game/android.rpy:48
old "Downloads and installs the Android SDK and supporting packages."
new "Android SDKとサポートパッケージのダウンロードとインストールを行います。"
# game/android.rpy:49
old "Generates the keys required to sign the package."
new "パッケージの署名に必要なキーを生成します。"
# game/android.rpy:383
old "Install SDK"
new "SDKのインストール"
# game/android.rpy:387
old "Generate Keys"
new "キーの生成"
# game/androidstrings.rpy:32
old "How much RAM (in GB) do you want to allocate to Gradle?\nThis must be a positive integer number."
new "Gradleに割り当てるRAMの量(GB)は?\n正の整数値である必要があります。"
# game/androidstrings.rpy:33
old "The RAM size must contain only numbers and be positive."
new "RAMサイズは、数字のみを含み、正の値でなければなりません。"
# game/androidstrings.rpy:63
old "I found an android.keystore file in the rapt directory. Do you want to use this file?"
new "raptディレクトリにandroid.keystoreファイルが見つかりました。このファイルを使用しますか?"
# game/androidstrings.rpy:66
old "\n\nSaying 'No' will prevent key creation."
new "\n\n「いいえ」と答えると、キーが作成できなくなります。"
# game/androidstrings.rpy:69
old "I found a bundle.keystore file in the rapt directory. Do you want to use this file?"
new "raptディレクトリにbundle.keystoreファイルがありました。このファイルを使用しますか?"
# game/distribute_gui.rpy:231
old "(DLC)"
new "(DLC)"
# game/project.rpy:46
old "Lint checks your game for potential mistakes, and gives you statistics."
new "Lintは、あなたのゲームに潜在的なミスがないかをチェックし、統計情報を提供します。"
# game/web.rpy:485
old "Creating package..."
new "パッケージの作成..."
+16 -3
View File
@@ -23,7 +23,7 @@ translate japanese strings:
# 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."
@@ -118,8 +118,8 @@ translate japanese strings:
new "## プラットフォームごとの Ren'Py がゲームのセーブデータを作成する場所を制御します。セーブファイルは以下の場所に作成されます:"
# options.rpy:134
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
old "## Windows: %APPDATA%\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA%\\RenPy\\<config.save_directory>"
# options.rpy:136
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
@@ -208,3 +208,16 @@ translate japanese strings:
# 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 "## これらの3つの変数は、特に、どのミキサーがデフォルトでプレーヤーに表示されるかを制御します。これらのいずれかをFalseに設定すると、適切なミキサーが非表示になります。"
translate japanese 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開発者コンソールの「収益化」→「収益化のセットアップ」→「ライセンス」で確認することができます。"
translate japanese strings:
# gui/game/options.rpy:140
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
+28 -6
View File
@@ -193,7 +193,7 @@ translate japanese strings:
new "## このスクリーンは、様々なゲームメニューの基本的な共通構造をレイアウトします。各ゲームメニュースクリーンによって呼び出され、背景・現在のスクリーンタイトル・ナビゲーションを表示します。"
# screens.rpy:418
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
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 "## scroll パラメーターは None 、\"viewport\" 、\"vpgrid\" のいずれかをとります。呼び出し親のスクリーンのコンテンツは、このスクリーンの中の transclude の部分に配置されます。"
# screens.rpy:435
@@ -222,7 +222,7 @@ translate japanese strings:
# 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."
@@ -438,7 +438,7 @@ translate japanese strings:
# screens.rpy:1003
old "Enter"
new "Enter"
new "エンター"
# screens.rpy:1004
old "Advances dialogue and activates the interface."
@@ -446,7 +446,7 @@ translate japanese strings:
# screens.rpy:1007
old "Space"
new "Space"
new "スペース"
# screens.rpy:1008
old "Advances dialogue without selecting choices."
@@ -462,7 +462,7 @@ translate japanese strings:
# screens.rpy:1015
old "Escape"
new "Escape"
new "ESC"
# screens.rpy:1016
old "Accesses the game menu."
@@ -681,7 +681,7 @@ translate japanese strings:
# screens.rpy:916
old "## This determines what tags are allowed to be displayed on the history screen."
new "## This determines what tags are allowed to be displayed on the history screen."
new "## 履歴画面に表示できるタグを決定します。"
# screens.rpy:1132
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
@@ -703,3 +703,25 @@ translate japanese strings:
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だと、メニューは正常に表示されないでしょう。"
translate japanese strings:
# gui/game/screens.rpy:676
old "Upload Sync"
new "同期のアップロード"
# gui/game/screens.rpy:680
old "Download Sync"
new "同期のダウンロード"
# gui/game/screens.rpy:1410
old "## Bubble screen"
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 "## バブルスクリーンは、吹き出しを使用する際に、プレイヤーにダイアログを表示するために使用されます。バブルスクリーンはSayスクリーンと同じパラメータを持ち、idが \"what \"のdisplayableを作成しなければならず、idが \"namebox\", \"who\", \"window \"のdisplayableを作成できます。"
# 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"
+175 -1
View File
@@ -586,7 +586,8 @@
# _developer\developer.rpym:90
old "[name] [attributes] (hidden)"
new "[name] [attributes] (hidden)"
# Automatic translation.
new "[name] [attributes] (숨김)"
# _developer\developer.rpym:94
old "[name] [attributes]"
@@ -788,3 +789,176 @@
# 00preferences.rpy:464
old "system cursor"
new "시스템 커서"
translate korean strings:
# renpy/common/00accessibility.rpy:180
old "High Contrast Text"
# Automatic translation.
new "고대비 텍스트"
# renpy/common/00director.rpy:1745
old "Click to toggle attribute, right click to toggle negative attribute."
# Automatic translation.
new "속성을 전환하려면 클릭하고, 음수 속성을 전환하려면 마우스 오른쪽 버튼을 클릭합니다."
# renpy/common/00director.rpy:1768
old "Click to set transform, right click to add to transform list."
# Automatic translation.
new "클릭하여 트랜스폼을 설정하고 마우스 오른쪽 버튼을 클릭하여 트랜스폼 목록에 추가합니다."
# renpy/common/00director.rpy:1789
old "Click to set, right click to add to behind list."
# Automatic translation.
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?"
# Automatic translation.
new "이 저장 파일이 다른 장치에서 생성되었습니다. 악의적으로 생성된 저장 파일은 컴퓨터를 손상시킬 수 있습니다. 이 저장 파일을 만든 사람과 파일을 변경했을 수 있는 모든 사람을 신뢰하시나요?"
# 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 "저장한 디바이스를 신뢰하시나요? 장치의 유일한 사용자인 경우에만 예를 선택해야 합니다."
# renpy/common/00preferences.rpy:504
old "renderer menu"
# Automatic translation.
new "렌더러 메뉴"
# renpy/common/00preferences.rpy:507
old "accessibility menu"
# Automatic translation.
new "접근성 메뉴"
# renpy/common/00preferences.rpy:510
old "high contrast text"
# Automatic translation.
new "고대비 텍스트"
# renpy/common/00preferences.rpy:519
old "audio when minimized"
# Automatic translation.
new "오디오 최소화 시"
# renpy/common/00preferences.rpy:528
old "audio when unfocused"
# Automatic translation.
new "초점이 맞지 않을 때 오디오"
# renpy/common/00preferences.rpy:537
old "web cache preload"
# Automatic translation.
new "웹 캐시 사전 로드"
# renpy/common/00preferences.rpy:552
old "voice after game menu"
# Automatic translation.
new "게임 메뉴 후 음성"
# renpy/common/00preferences.rpy:571
old "main volume"
# Automatic translation.
new "메인 볼륨"
# renpy/common/00preferences.rpy:575
old "mute main"
# Automatic translation.
new "메인 음소거"
# renpy/common/00speechbubble.rpy:344
old "Speech Bubble Editor"
# Automatic translation.
new "말풍선 편집기"
# renpy/common/00speechbubble.rpy:349
old "(hide)"
# Automatic translation.
new "(숨기기)"
# renpy/common/00sync.rpy:70
old "Sync downloaded."
# Automatic translation.
new "동기화가 다운로드되었습니다."
# renpy/common/00sync.rpy:190
old "Could not connect to the Ren'Py Sync server."
# Automatic translation.
new "Ren'Py 동기화 서버에 연결할 수 없습니다."
# renpy/common/00sync.rpy:192
old "The Ren'Py Sync server timed out."
# Automatic translation.
new "Ren'Py 동기화 서버가 시간 초과되었습니다."
# renpy/common/00sync.rpy:194
old "An unknown error occurred while connecting to the Ren'Py Sync server."
# Automatic translation.
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."
# Automatic translation.
new "Ren'Py 동기화 서버에 이 동기화의 복사본이 없습니다. 동기화 ID가 유효하지 않거나 시간이 초과되었을 수 있습니다."
# 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 "생성한 동기화 ID를 입력하세요.\n직접 만들지 않은 동기화 ID는 절대로 입력하지 마세요."
# renpy/common/00sync.rpy:428
old "The sync ID is not in the correct format."
# Automatic translation.
new "동기화 ID의 형식이 올바르지 않습니다."
# renpy/common/00sync.rpy:448
old "The sync could not be decrypted."
# Automatic translation.
new "동기화를 해독할 수 없습니다."
# renpy/common/00sync.rpy:471
old "The sync belongs to a different game."
# Automatic translation.
new "동기화는 다른 게임에 속합니다."
# renpy/common/00sync.rpy:476
old "The sync contains a file with an invalid name."
# Automatic translation.
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?"
# Automatic translation.
new "그러면 저장된 내용이 {a=https://sync.renpy.org}Ren'Py 동기화 서버{/a} 에 업로드됩니다.\n계속하시겠습니까?"
# renpy/common/00sync.rpy:558
old "Enter Sync ID"
# Automatic translation.
new "동기화 ID 입력"
# renpy/common/00sync.rpy:569
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
# Automatic translation.
new "그러면 {a=https://sync.renpy.org}Ren'Py 동기화 서버{/a} 에 연결됩니다."
# renpy/common/00sync.rpy:596
old "Sync Success"
# Automatic translation.
new "동기화 성공"
# renpy/common/00sync.rpy:599
old "The Sync ID is:"
# Automatic translation.
new "동기화 ID는 다음과 같습니다:"
# 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 "이 ID를 사용하여 다른 장치에서 저장 내용을 다운로드할 수 있습니다.\n이 동기화는 1시간 후에 만료됩니다.\nRen'Py Sync는 {a=https://www.renpy.org/sponsors.html}Ren'Py의 스폰서{/a} 에서 지원합니다."
# renpy/common/00sync.rpy:631
old "Sync Error"
# Automatic translation.
new "동기화 오류"
+45 -1
View File
@@ -130,7 +130,8 @@
# 00console.rpy:403
old "commands:\n"
new "commands:\n"
# Automatic translation.
new "명령을 실행합니다:\n"
# 00console.rpy:413
old " <renpy script statement>: run the statement\n"
@@ -183,3 +184,46 @@
# 00console.rpy:690
old "long: Print the full representation of objects on the console."
new "long: 콘솔에서 오브젝트를 모두 표시한다."
translate korean strings:
# renpy/common/_developer/developer.rpym:51
old "Persistent Viewer"
# Automatic translation.
new "영구 뷰어"
# renpy/common/_developer/developer.rpym:70
old "Speech Bubble Editor (Shift+B)"
# Automatic translation.
new "말풍선 편집기(Shift+B)"
# renpy/common/00console.rpy:789
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
# Automatic translation.
new "help: 이 도움말 표시\n help <expr>: <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 "도움말에 문서화되지 않은 기능이 표시될 수 있습니다. 해당 기능이나\n클래스가 문서화되어 있습니다.\n\n"
# renpy/common/00console.rpy:854
old "stack: print the return stack"
# Automatic translation.
new "stack: 반환 스택 인쇄"
# 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>: 파이썬 표현식 보기\n watch short: 는 추적된 표현식을 짧게 표현합니다(기본값).\n watch long: 는 추적된 표현식을 있는 그대로 표현합니다."
# renpy/common/00console.rpy:1036
old "escape: Enables escaping of unicode symbols in unicode strings."
# Automatic translation.
new "escape: 유니코드 문자열에서 유니코드 기호를 이스케이프 처리할 수 있습니다."
# 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: 유니코드 문자열에서 유니코드 기호의 이스케이핑을 비활성화하고 그대로 인쇄합니다(기본값)."
+63
View File
@@ -235,3 +235,66 @@
# _errorhandling.rpym:687
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
new "errors.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
translate korean strings:
# renpy/common/00gltest.rpy:100
old "Force GL Renderer"
# Automatic translation.
new "Force GL 렌더러"
# renpy/common/00gltest.rpy:105
old "Force ANGLE Renderer"
# Automatic translation.
new "포스 앵글 렌더러"
# renpy/common/00gltest.rpy:110
old "Force GLES Renderer"
# Automatic translation.
new "Force GLES 렌더러"
# renpy/common/00gltest.rpy:116
old "Force GL2 Renderer"
# Automatic translation.
new "Force GL2 렌더러"
# renpy/common/00gltest.rpy:121
old "Force ANGLE2 Renderer"
# Automatic translation.
new "Force ANGLE2 렌더러"
# renpy/common/00gltest.rpy:126
old "Force GLES2 Renderer"
# Automatic translation.
new "Force GLES2 렌더러"
# renpy/common/00gltest.rpy:136
old "Enable (No Blocklist)"
# Automatic translation.
new "사용(차단 목록 없음)"
# renpy/common/00gltest.rpy:249
old "This game requires use of GL2 that can't be initialised."
# Automatic translation.
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."
# Automatic translation.
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}."
# Automatic translation.
new "이 문제를 해결하는 방법에 대한 자세한 내용은 {a=[url]}문서{/a} 에서 확인할 수 있습니다."
# renpy/common/00gltest.rpy:281
old "Change render options"
# Automatic translation.
new "렌더링 옵션 변경"
# renpy/common/00gamepad.rpy:58
old "Press or move the '[control!s]' [kind]."
# Automatic translation.
new "'[control!s]' [kind] 을 누르거나 이동합니다."

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