Compare commits
110 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8f0c7df619 | |||
| 41e9f86d1d | |||
| f3bee22ae7 | |||
| 0923ca9880 | |||
| abef9ac3f9 | |||
| 966adf6821 | |||
| 99d8a021c6 | |||
| 6f379ca291 | |||
| 326f8532f6 | |||
| 63a9c3943c | |||
| 8bf108be2e | |||
| 20fa4cb41d | |||
| 16c9e776b2 | |||
| 866ee50498 | |||
| 018887163f | |||
| 0ad2f6b847 | |||
| a5222719b0 | |||
| d1f5ab37d9 | |||
| 5c0ab50d22 | |||
| f2a824e2ef | |||
| 7e30c7ee0a | |||
| 31e85a14c2 | |||
| a9dfb15d14 | |||
| a1f0fbaa19 | |||
| 52083b2be9 | |||
| 40d481b72f | |||
| 6985e14737 | |||
| 5e567f040b | |||
| 6a1873be1a | |||
| 8add50b930 | |||
| a9c4b72bb0 | |||
| e52eb6fead | |||
| 01b37552f6 | |||
| ea31af9bc2 | |||
| e5a3cff41e | |||
| 70881c90a4 | |||
| 607a1acc00 | |||
| 53ffeed805 | |||
| 0ae0bf4c0d | |||
| 8f40cf2da5 | |||
| 08dba61bd9 | |||
| 41fce3426d | |||
| 057ea1ea2c | |||
| 8baaa7654f | |||
| 14bf26efd6 | |||
| 8ad281048b | |||
| 1b169672ba | |||
| 4b4c3b73a3 | |||
| 9270013b9a | |||
| 0f618bc54f | |||
| 06979f6ade | |||
| b4ff687efe | |||
| 5c5408a490 | |||
| 492cacca02 | |||
| 1fabbf4976 | |||
| 87bf27a7bb | |||
| 1af96ca83c | |||
| 41f1124052 | |||
| cd33c95cc9 | |||
| c5adab69df | |||
| ce980ddb2c | |||
| 09b25592b6 | |||
| d78d035402 | |||
| 79fe07c44b | |||
| 91f69320fc | |||
| 56eeec5b94 | |||
| 22a9900fad | |||
| 282676a653 | |||
| d72bf5e411 | |||
| 83ca8571f0 | |||
| d42c73389a | |||
| 8bb870a5c5 | |||
| 3013bab470 | |||
| 55d3d1fe40 | |||
| a8f3a64d64 | |||
| 4d320baaa2 | |||
| 9deb0a3759 | |||
| 8fff014801 | |||
| 98b85feab3 | |||
| fec0c06576 | |||
| 1e0293e6a0 | |||
| fe32eb3149 | |||
| ce9e41f1bf | |||
| 328d176365 | |||
| fccb1e76cb | |||
| e98e37aec0 | |||
| 7001b18315 | |||
| 5a01bccdad | |||
| f42aa482f3 | |||
| 48708bf46b | |||
| 348b9c33be | |||
| 298595ac8e | |||
| 7dbe133be8 | |||
| 4912e024c6 | |||
| 2505e07ab0 | |||
| 982acd905a | |||
| 3baa13fc88 | |||
| 871abf17d7 | |||
| 72fb8332e5 | |||
| 30662cda80 | |||
| e5f5ce0352 | |||
| a1325997af | |||
| 96a92e7894 | |||
| 532fae9cf1 | |||
| b65965869c | |||
| 0498b77b72 | |||
| 93c4da4259 | |||
| 037ce66e1c | |||
| 32f295d33a | |||
| 262694e6aa |
@@ -79,7 +79,6 @@ renpy/vc_version.py
|
||||
doc-web
|
||||
|
||||
sphinx/source/inc
|
||||
sphinx/source/keywords.py
|
||||
sphinx/source/thequestion.rst
|
||||
tutorial/game/tutorial_director.rpy
|
||||
launcher/theme
|
||||
|
||||
+9
-2
@@ -47,12 +47,13 @@ def main():
|
||||
raise Exception("Not running with python optimization.")
|
||||
|
||||
ap = argparse.ArgumentParser()
|
||||
ap.add_argument("version")
|
||||
ap.add_argument("version", nargs="?")
|
||||
ap.add_argument("--fast", action="store_true")
|
||||
ap.add_argument("--pygame", action="store", default=None)
|
||||
ap.add_argument("--no-rapt", action="store_true")
|
||||
ap.add_argument("--variant", action="store")
|
||||
ap.add_argument("--sign", action="store_true")
|
||||
ap.add_argument("--sign", action="store_true", default=True)
|
||||
ap.add_argument("--nosign", action="store_false", dest="sign")
|
||||
|
||||
args = ap.parse_args()
|
||||
|
||||
@@ -66,6 +67,9 @@ def main():
|
||||
# file has changed, bump it by 1.
|
||||
import renpy
|
||||
|
||||
if args.version is None:
|
||||
args.version = ".".join(str(i) for i in renpy.version_tuple[:-1]) # @UndefinedVariable
|
||||
|
||||
match_version = ".".join(str(i) for i in renpy.version_tuple[:2]) # @UndefinedVariable
|
||||
|
||||
s = subprocess.check_output([ "git", "describe", "--tags", "--dirty", "--match", "start-" + match_version ])
|
||||
@@ -103,6 +107,9 @@ def main():
|
||||
if args.variant:
|
||||
destination += "-" + args.variant
|
||||
|
||||
if os.path.exists(os.path.join(destination, "checksums.txt")):
|
||||
raise Exception("The checksums.txt file exists.")
|
||||
|
||||
print("Version {} ({})".format(args.version, full_version))
|
||||
|
||||
# Perhaps autobuild.
|
||||
|
||||
+1
-1
@@ -122,7 +122,7 @@ define gui.namebox_height = None
|
||||
define gui.namebox_borders = Borders(5, 5, 5, 5)
|
||||
|
||||
## If True, the background of the namebox will be tiled, if False, the background
|
||||
## if the namebox will be scaled.
|
||||
## of the namebox will be scaled.
|
||||
define gui.namebox_tile = False
|
||||
|
||||
|
||||
|
||||
@@ -904,13 +904,15 @@ screen history():
|
||||
|
||||
label h.who:
|
||||
style "history_name"
|
||||
substitute False
|
||||
|
||||
## Take the color of the who text from the Character, if set.
|
||||
if "color" in h.who_args:
|
||||
text_color h.who_args["color"]
|
||||
|
||||
$ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
|
||||
text what
|
||||
text what:
|
||||
substitute False
|
||||
|
||||
if not _history_list:
|
||||
label _("The dialogue history is empty.")
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
|
||||
# This file contains strings used by RAPT, so the Ren'Py translation framework
|
||||
# can find them. It's automatically generated by rapt/update_strings.py, and
|
||||
# can find them. It's automatically generated by rapt/update_translations.py, and
|
||||
# hence should not be changed by hand.
|
||||
|
||||
init python hide:
|
||||
@@ -17,6 +17,7 @@ init python hide:
|
||||
__("The build seems to have failed.")
|
||||
__("Launching app.")
|
||||
__("The build seems to have succeeded.")
|
||||
__("The armeabi-v7a version works on most phones on tablets, while the x86_64 version works on the simulator and chromebooks.")
|
||||
__("What is the full name of your application? This name will appear in the list of installed applications.")
|
||||
__("What is the short name of your application? This name will be used in the launcher, and for application shortcuts.")
|
||||
__("What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot.")
|
||||
|
||||
@@ -84,7 +84,8 @@ init -1 python:
|
||||
|
||||
self.info_msg = ""
|
||||
|
||||
with open(self.filename, "w"):
|
||||
with open(self.filename, "w") as f:
|
||||
f.write(renpy.version() + "\n")
|
||||
pass
|
||||
|
||||
def log(self, msg):
|
||||
|
||||
@@ -286,7 +286,7 @@ init python:
|
||||
pass
|
||||
|
||||
build.classify_renpy("rapt/**", "rapt")
|
||||
build.executable("rapt/project/gradlew")
|
||||
build.executable("rapt/prototype/gradlew")
|
||||
|
||||
build.classify_renpy("renios/prototype/base/", None)
|
||||
build.classify_renpy("renios/prototype/prototype.xcodeproj/*.xcworkspace/", None)
|
||||
@@ -367,6 +367,7 @@ init python:
|
||||
build.classify_renpy("module/pysdlsound/", "source")
|
||||
build.classify_renpy("module/pysdlsound/*.py", "source")
|
||||
build.classify_renpy("module/pysdlsound/*.pyx", "source")
|
||||
build.classify_renpy("module/fribidi-src/**", "source")
|
||||
|
||||
# all-platforms binary.
|
||||
build.classify_renpy("lib/**/_renpysteam*", None)
|
||||
|
||||
@@ -138,7 +138,7 @@ translate arabic strings:
|
||||
new "## حجم الخط الذي يحيط بصندوق اسم الشخصية, الاحجام بالترتيب هي اليسار, الأعلى, اليمين, و الأسفل."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## عندما يتم اختيار True سيتم تكرار الخلفية حتى تغطي الصندوق, عند اختيار False سيتم تمديد الصورة لتغطي الصندوق."
|
||||
|
||||
# gui.rpy:132
|
||||
|
||||
@@ -138,8 +138,8 @@ translate finnish strings:
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
@@ -138,7 +138,7 @@ translate french strings:
|
||||
new "## Les bordures de la zone contenant le nom du personnage dans l’ordre suivant gauche, haut, droite, bas."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Si « True » (vrai), l’arrière plan de zone du nom sera en mosaïque, si « False »(faux), l’arrière plan de la zone du nom sera mis à l’échelle."
|
||||
|
||||
# gui.rpy:132
|
||||
|
||||
@@ -138,8 +138,8 @@ translate german strings:
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
@@ -138,8 +138,8 @@ translate greek strings:
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
@@ -138,7 +138,7 @@ translate indonesian strings:
|
||||
new "## Tepi kotak bersisi urutan nama karakter, di kiri, atas, kanan, bawah."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Jika Benar, latar dari kotaknama akan di beri judul, jika Salah, latar dari kotaknama akan di ukur ulang."
|
||||
|
||||
# gui.rpy:132
|
||||
|
||||
@@ -138,7 +138,7 @@ translate italian strings:
|
||||
new "## I bordi del riquadro che contiene il nome del personaggio, in questo ordine: sinistro, superiore, destro, inferiore."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Se 'True', lo sfondo di namebox sarà tassellato (ripetuto come una piastrella). Se 'False' sarà invece scalato."
|
||||
|
||||
# gui.rpy:132
|
||||
|
||||
@@ -142,7 +142,7 @@ translate japanese strings:
|
||||
new "## ネームボックスのボーダーのサイズ。左、上、右、下の順で指定します。ボックスのサイズは、その中に表示されるキャラクター名のサイズから更にボーダー分拡張したサイズになります。"
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## True に設定すると、ネームボックスの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:132
|
||||
|
||||
@@ -23,7 +23,7 @@ translate korean strings:
|
||||
|
||||
# 00gltest.rpy:93
|
||||
old "Enable"
|
||||
new "Enable"
|
||||
new "활성"
|
||||
|
||||
# 00gltest.rpy:109
|
||||
old "Changes will take effect the next time this program is run."
|
||||
@@ -91,27 +91,27 @@ translate korean strings:
|
||||
|
||||
# 00gamepad.rpy:32
|
||||
old "Select Gamepad to Calibrate"
|
||||
new "Select Gamepad to Calibrate"
|
||||
new "보정할 게임패드 선택"
|
||||
|
||||
# 00gamepad.rpy:35
|
||||
old "No Gamepads Available"
|
||||
new "No Gamepads Available"
|
||||
new "사용 가능한 게임패드가 없습니다."
|
||||
|
||||
# 00gamepad.rpy:54
|
||||
old "Calibrating [name] ([i]/[total])"
|
||||
new "Calibrating [name] ([i]/[total])"
|
||||
new "[name]를 보정 중입니다. ([i]/[total])"
|
||||
|
||||
# 00gamepad.rpy:58
|
||||
old "Press or move the [control!r] [kind]."
|
||||
new "Press or move the [control!r] [kind]."
|
||||
new "[control!r] [kind]를 누르거나 이동합니다."
|
||||
|
||||
# 00gamepad.rpy:66
|
||||
old "Skip (A)"
|
||||
new "Skip (A)"
|
||||
new "스킵 (A)"
|
||||
|
||||
# 00gamepad.rpy:69
|
||||
old "Back (B)"
|
||||
new "Back (B)"
|
||||
new "뒤로 (B)"
|
||||
|
||||
# _errorhandling.rpym:495
|
||||
old "Open Traceback"
|
||||
@@ -123,11 +123,11 @@ translate korean strings:
|
||||
|
||||
# _errorhandling.rpym:499
|
||||
old "Copy to Clipboard"
|
||||
new "Copy to Clipboard"
|
||||
new "클립보드로 복사"
|
||||
|
||||
# _errorhandling.rpym:501
|
||||
old "Copies the traceback.txt file to the clipboard."
|
||||
new "Copies the traceback.txt file to the clipboard."
|
||||
new "traceback.txt 파일을 클립보드로 복사합니다."
|
||||
|
||||
# _errorhandling.rpym:519
|
||||
old "An exception has occurred."
|
||||
@@ -175,5 +175,5 @@ translate korean strings:
|
||||
|
||||
# _errorhandling.rpym:612
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "Copies the errors.txt file to the clipboard."
|
||||
new "errors.txt 파일을 클립보드로 복사합니다."
|
||||
|
||||
|
||||
+103
-103
@@ -3,409 +3,409 @@ translate korean strings:
|
||||
|
||||
# gui.rpy:2
|
||||
old "## Initialization"
|
||||
new "## Initialization"
|
||||
new "## 초기화"
|
||||
|
||||
# gui.rpy:5
|
||||
old "## The init offset statement causes the init code in this file to run before init code in any other file."
|
||||
new "## The init offset statement causes the init code in this file to run before init code in any other file."
|
||||
new "## 이 파일에서 init offset 문을 사용하면 이 파일의 init 코드가 다른 파일의 init 코드보다 먼저 실행됩니다."
|
||||
|
||||
# gui.rpy:9
|
||||
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## gui.init의 호출은 스타일을 합리적인 기본값으로 재설정하고, 게임의 너비(width)와 높이(height)를 설정합니다."
|
||||
|
||||
# gui.rpy:21
|
||||
old "## Colors"
|
||||
new "## Colors"
|
||||
new "## 색상"
|
||||
|
||||
# gui.rpy:23
|
||||
old "## The colors of text in the interface."
|
||||
new "## The colors of text in the interface."
|
||||
new "## 인터페이스에서 글자의 색상입니다."
|
||||
|
||||
# gui.rpy:25
|
||||
old "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## 강조 색상은 레이블(label)과 강조된 글자로 인터페이스 전체에서 사용됩니다."
|
||||
|
||||
# gui.rpy:29
|
||||
old "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## 텍스트 버튼(text button)이 선택(selected)됐거나 커서를 올리지(hovered) 않았을 때 사용됩니다."
|
||||
|
||||
# gui.rpy:32
|
||||
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
new "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
new "## 작은(small) 색상은 같은 효과를 내기 위해 더 밝거나 어두워야 하는 작은 글자에 사용됩니다."
|
||||
|
||||
# gui.rpy:36
|
||||
old "## The color that is used for buttons and bars that are hovered."
|
||||
new "## The color that is used for buttons and bars that are hovered."
|
||||
new "## 버튼(button)과 막대(bar)에 커서를 올렸을 때(hovered) 사용됩니다."
|
||||
|
||||
# gui.rpy:39
|
||||
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
|
||||
new "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
|
||||
new "## 텍스트 버튼(text button)에 선택됐지만(selected) 포커스되지(focused) 않았을 때 사용됩니다. 버튼(button)은 현재 화면이거나 설정값인 경우 선택됨(selected)이 됩니다."
|
||||
|
||||
# gui.rpy:43
|
||||
old "## The color used for a text button when it cannot be selected."
|
||||
new "## The color used for a text button when it cannot be selected."
|
||||
new "## 텍스트 버튼(text button)이 선택되지(selected) 않았을 때 사용됩니다."
|
||||
|
||||
# gui.rpy:46
|
||||
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
|
||||
new "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
|
||||
new "## 채워지지 않은 빈 막대(bar)에 사용됩니다. 이것은 바로 사용되지 않지만, 막대(bar) 이미지 파일이 재생성됐을 때 사용됩니다."
|
||||
|
||||
# gui.rpy:51
|
||||
old "## The colors used for dialogue and menu choice text."
|
||||
new "## The colors used for dialogue and menu choice text."
|
||||
new "## 대사(dialogue)와 선택지(menu choice)의 글자에서 사용됩니다."
|
||||
|
||||
# gui.rpy:56
|
||||
old "## Fonts and Font Sizes"
|
||||
new "## Fonts and Font Sizes"
|
||||
new "## 글자와 글자 크기"
|
||||
|
||||
# gui.rpy:58
|
||||
old "## The font used for in-game text."
|
||||
new "## The font used for in-game text."
|
||||
new "## 인-게임 글자에 사용됩니다."
|
||||
|
||||
# gui.rpy:61
|
||||
old "## The font used for character names."
|
||||
new "## The font used for character names."
|
||||
new "## 캐릭터의 이름에 사용됩니다."
|
||||
|
||||
# gui.rpy:64
|
||||
old "## The font used for out-of-game text."
|
||||
new "## The font used for out-of-game text."
|
||||
new "## 인터페이스에 사용됩니다."
|
||||
|
||||
# gui.rpy:67
|
||||
old "## The size of normal dialogue text."
|
||||
new "## The size of normal dialogue text."
|
||||
new "## 일반 대사의 글자 크기입니다."
|
||||
|
||||
# gui.rpy:70
|
||||
old "## The size of character names."
|
||||
new "## The size of character names."
|
||||
new "## 캐릭터 이름의 글자 크기입니다."
|
||||
|
||||
# gui.rpy:73
|
||||
old "## The size of text in the game's user interface."
|
||||
new "## The size of text in the game's user interface."
|
||||
new "## 게임의 유저 인터페이스에서 글자의 크기입니다."
|
||||
|
||||
# gui.rpy:76
|
||||
old "## The size of labels in the game's user interface."
|
||||
new "## The size of labels in the game's user interface."
|
||||
new "## 게임의 유저 인터페이스에서 레이블(label)들의 글자 크기입니다."
|
||||
|
||||
# gui.rpy:79
|
||||
old "## The size of text on the notify screen."
|
||||
new "## The size of text on the notify screen."
|
||||
new "## 통지(notify) 화면의 글자 크기입니다."
|
||||
|
||||
# gui.rpy:82
|
||||
old "## The size of the game's title."
|
||||
new "## The size of the game's title."
|
||||
new "## 게임의 타이틀(title) 글자의 크기입니다."
|
||||
|
||||
# gui.rpy:86
|
||||
old "## Main and Game Menus"
|
||||
new "## Main and Game Menus"
|
||||
new "## 메인과 게임 메뉴들"
|
||||
|
||||
# gui.rpy:88
|
||||
old "## The images used for the main and game menus."
|
||||
new "## The images used for the main and game menus."
|
||||
new "## 이미지들은 메인(main)과 게임 메뉴(game menu)에 사용됩니다."
|
||||
|
||||
# gui.rpy:92
|
||||
old "## Should we show the name and version of the game?"
|
||||
new "## Should we show the name and version of the game?"
|
||||
new "## 게임의 이름과 버전을 보여줘야 할까요?"
|
||||
|
||||
# gui.rpy:96
|
||||
old "## Dialogue"
|
||||
new "## Dialogue"
|
||||
new "## 대사"
|
||||
|
||||
# gui.rpy:98
|
||||
old "## These variables control how dialogue is displayed on the screen one line at a time."
|
||||
new "## These variables control how dialogue is displayed on the screen one line at a time."
|
||||
new "## 이러한 변수들은 한 번에 한 줄의 대사가 어떻게 화면에 표시되는지 제어합니다."
|
||||
|
||||
# gui.rpy:101
|
||||
old "## The height of the textbox containing dialogue."
|
||||
new "## The height of the textbox containing dialogue."
|
||||
new "## 대사를 포함하는 텍스트 박스의 높이입니다."
|
||||
|
||||
# gui.rpy:104
|
||||
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
|
||||
new "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
|
||||
new "## 화면에 텍스트박스를 세로로 배치합니다. 0.0은 최상단, 0.5는 중앙, 그리고 1.0은 최하단입니다."
|
||||
|
||||
# gui.rpy:109
|
||||
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## 말하는 캐릭터의 이름을 텍스트 박스를 기준으로 배치합니다. 이것은 좌측이나 최상단으로부터 전체 픽셀값의 숫자가 되거나, 0.5로 중앙이 될 수 있습니다."
|
||||
|
||||
# gui.rpy:114
|
||||
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## 캐릭터들의 이름을 수평으로 정렬합니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬될 수 있습니다."
|
||||
|
||||
# gui.rpy:118
|
||||
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
|
||||
new "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
|
||||
new "## 캐릭터들의 이름이 들어 있는 박스의 너비, 높이, 그리고 테두리입니다. 혹은 그것을 None으로 자동 설정할 수 있습니다."
|
||||
|
||||
# gui.rpy:123
|
||||
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## 캐릭터의 이름이 들어 있는 박스의 테두리를 좌측, 상단, 우측, 하단의 순서로 정합니다."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## 만약 참(True)이면, 네임박스의 배경은 바둑판식으로 배열(tiled)될 것이고, 거짓(False)이면, 네임박스의 배경은 채워질(scaled) 것입니다."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
new "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
new "## 텍스트박스에서 대사의 위치입니다. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
# gui.rpy:138
|
||||
old "## The maximum width of dialogue text, in pixels."
|
||||
new "## The maximum width of dialogue text, in pixels."
|
||||
new "## 픽셀값에서 대사의 최대 너비입니다."
|
||||
|
||||
# gui.rpy:141
|
||||
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## 대사 글자의 수평 정렬입니다. 이것은 0.0으로 좌측 정렬, 0.5로 중앙, 그리고 1.0으로 우측 정렬이 될 수 있습니다."
|
||||
|
||||
# gui.rpy:146
|
||||
old "## Buttons"
|
||||
new "## Buttons"
|
||||
new "## 버튼들"
|
||||
|
||||
# gui.rpy:148
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## 이러한 변수들은 GUI/버튼에서 이미지 파일들과 함께 어떻게 버튼이 표시되는지 제어합니다."
|
||||
|
||||
# gui.rpy:151
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## 픽셀값에서 버튼의 너비와 높이입니다. 만약 None이면, 렌파이가 크기를 계산합니다."
|
||||
|
||||
# gui.rpy:155
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## 좌측, 상단, 우측, 하단의 순서에서 버튼의 테두리 값입니다."
|
||||
|
||||
# gui.rpy:158
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## 만약 참(True)이면, 배경 이미지는 바둑판식으로 배열(tiled)될 것입니다. 만약 거짓(False)이면, 배경 이미지는 선으로 채워질(scaled) 것입니다."
|
||||
|
||||
# gui.rpy:162
|
||||
old "## The font used by the button."
|
||||
new "## The font used by the button."
|
||||
new "## 버튼에 사용된 글자의 폰트입니다."
|
||||
|
||||
# gui.rpy:165
|
||||
old "## The size of the text used by the button."
|
||||
new "## The size of the text used by the button."
|
||||
new "## 버튼에 사용된 글자의 크기입니다."
|
||||
|
||||
# gui.rpy:179
|
||||
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## 이러한 변수는 다른 종류의 버튼 설정을 덮어씌웁니다. 사용 가능한 버튼의 종류와, 각각 무엇을 위해 사용하는지는 gui 문서를 확인해주세요."
|
||||
|
||||
# gui.rpy:183
|
||||
old "## These customizations are used by the default interface:"
|
||||
new "## These customizations are used by the default interface:"
|
||||
new "## 이러한 사용자 지정은 기본 인터페이스에 사용됩니다:"
|
||||
|
||||
# gui.rpy:198
|
||||
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## 당신은 또한 설정된 이름의 변수를 추가함으로써 당신만의 커스텀을 추가할 수 있습니다. 예를 들어, 다음 행의 주석 표시를 제거하여 탐색(navigation) 버튼의 너비를 설정할 수 있습니다."
|
||||
|
||||
# gui.rpy:205
|
||||
old "## Choice Buttons"
|
||||
new "## Choice Buttons"
|
||||
new "## 선택 버튼들"
|
||||
|
||||
# gui.rpy:207
|
||||
old "## Choice buttons are used in the in-game menus."
|
||||
new "## Choice buttons are used in the in-game menus."
|
||||
new "## 선택 버튼은 인-게임 메뉴에 사용됩니다."
|
||||
|
||||
# gui.rpy:220
|
||||
old "## File Slot Buttons"
|
||||
new "## File Slot Buttons"
|
||||
new "## 파일 슬롯 버튼"
|
||||
|
||||
# gui.rpy:222
|
||||
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## 파일 슬롯 버튼은 버튼의 특별한 종류입니다. 그것은 썸네일 이미지나 저장 슬롯의 콘텐츠를 설명하는 글자를 포함합니다. GUI/버튼에서 저장 슬롯은 버튼의 다른 종류와 같은 이미지 파일을 사용합니다."
|
||||
|
||||
# gui.rpy:226
|
||||
old "## The save slot button."
|
||||
new "## The save slot button."
|
||||
new "## 저장 슬롯 버튼입니다."
|
||||
|
||||
# gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## The width and height of thumbnails used by the save slots."
|
||||
new "## 저장 슬롯에 사용되는 썸네일의 너비와 높이입니다."
|
||||
|
||||
# gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## The number of columns and rows in the grid of save slots."
|
||||
new "## 저장 슬롯의 그리드(grid)에서 행(rows)과 열(columns)의 갯수입니다."
|
||||
|
||||
# gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
new "## Positioning and Spacing"
|
||||
new "## 위치와 간격"
|
||||
|
||||
# gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## 이러한 변수들은 다양한 사용자 인터페이스 요소들의 위치와 간격을 제어합니다."
|
||||
|
||||
# gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## 화면의 왼쪽을 기준으로 하는 네비게이션 버튼의 왼쪽 위치입니다."
|
||||
|
||||
# gui.rpy:252
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## The vertical position of the skip indicator."
|
||||
new "## 스킵 표시기(skip indicator)의 수직 위치입니다."
|
||||
|
||||
# gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## The vertical position of the notify screen."
|
||||
new "## 통지(notify) 스크린의 수직 위치입니다."
|
||||
|
||||
# gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## The spacing between menu choices."
|
||||
new "## 선택지의 메뉴 선택 간의 간격입니다."
|
||||
|
||||
# gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## Buttons in the navigation section of the main and game menus."
|
||||
new "## 메인과 게임 메뉴에서 네비게이션 섹션의 버튼들 간의 간격입니다."
|
||||
|
||||
# gui.rpy:264
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## Controls the amount of spacing between preferences."
|
||||
new "## 환경 설정들 간의 간격을 제어합니다."
|
||||
|
||||
# gui.rpy:267
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## Controls the amount of spacing between preference buttons."
|
||||
new "## 환경 설정 버튼들 사이의 간격을 제어합니다."
|
||||
|
||||
# gui.rpy:270
|
||||
old "## The spacing between file page buttons."
|
||||
new "## The spacing between file page buttons."
|
||||
new "## 파일 페이지 버튼들 간의 간격입니다."
|
||||
|
||||
# gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## The spacing between file slots."
|
||||
new "## 파일 슬롯들 간의 간격입니다."
|
||||
|
||||
# gui.rpy:277
|
||||
old "## Frames"
|
||||
new "## Frames"
|
||||
new "## 프레임들"
|
||||
|
||||
# gui.rpy:279
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## 이러한 변수들은 오버레이되거나 창이 없을 때 보여지는 사용자 인터페이스 구성 요소들을 포함하는 프레임을 제어합니다."
|
||||
|
||||
# gui.rpy:282
|
||||
old "## Generic frames that are introduced by player code."
|
||||
new "## Generic frames that are introduced by player code."
|
||||
new "## 플레이어 코드에 의해 소개되는 일반 프레임."
|
||||
|
||||
# gui.rpy:285
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## The frame that is used as part of the confirm screen."
|
||||
new "## 프레임은 확인(confirm) 화면의 일부로 사용됩니다."
|
||||
|
||||
# gui.rpy:288
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## The frame that is used as part of the skip screen."
|
||||
new "## 프레임은 스킵(skip) 화면의 일부로 사용됩니다."
|
||||
|
||||
# gui.rpy:291
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## The frame that is used as part of the notify screen."
|
||||
new "## 프레임은 통지(notify) 화면의 일부로 사용됩니다."
|
||||
|
||||
# gui.rpy:294
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## Should frame backgrounds be tiled?"
|
||||
new "## 프레임 배경들은 바둑판식으로 배열해야 할까요?"
|
||||
|
||||
# gui.rpy:298
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## Bars, Scrollbars, and Sliders"
|
||||
new "## 막대, 스크롤바, 슬라이더"
|
||||
|
||||
# gui.rpy:300
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## 이러한 설정은 막대와 스크롤바, 그리고 슬라이더의 보여지는 것과 크기를 제어합니다."
|
||||
|
||||
# gui.rpy:302
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
|
||||
new "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
|
||||
new "## 기본 GUI는 슬라이더와 세로 스크롤바만 사용합니다. 다른 모든 막대들은 창작자가 작성한 코드에서 사용됩니다."
|
||||
|
||||
# gui.rpy:305
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## 수평 막대, 스크롤바, 슬라이더의 높이. 수직 막대, 스크롤바, 슬라이더의 너비."
|
||||
|
||||
# gui.rpy:311
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## 막대 이미지가 바둑판식 배열돼야 하면 참(True)입니다. 선으로 채워져야 한다면 거짓(False)입니다."
|
||||
|
||||
# gui.rpy:316
|
||||
old "## Horizontal borders."
|
||||
new "## Horizontal borders."
|
||||
new "## 수평 테두리입니다."
|
||||
|
||||
# gui.rpy:321
|
||||
old "## Vertical borders."
|
||||
new "## Vertical borders."
|
||||
new "## 수직 테두리입니다."
|
||||
|
||||
# gui.rpy:326
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## GUI에서 스크롤할 수 없는 스크롤 막대로 뭘 할 수 있나요? \"hide\"로 그것들을 숨기고, None은 그것들을 보여줍니다."
|
||||
|
||||
# gui.rpy:331
|
||||
old "## History"
|
||||
new "## History"
|
||||
new "## 다시보기"
|
||||
|
||||
# gui.rpy:333
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## 다시보기 화면은 사용자가 이미 확인한 다이얼로그를 표시합니다."
|
||||
|
||||
# gui.rpy:335
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## 렌파이가 보관할 다시보기의 블록 갯수입니다."
|
||||
|
||||
# gui.rpy:338
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## 다시보기 화면 항목의 높이를 지정하거나 None으로 하여 높이를 성능에 맡길 수 있습니다."
|
||||
|
||||
# gui.rpy:342
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## 말하는 캐릭터의 이름을 나타내는 레이블의 위치, 너비, 그리고 정렬입니다."
|
||||
|
||||
# gui.rpy:349
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## The position, width, and alignment of the dialogue text."
|
||||
new "## 대사 글자의 위치, 너비, 그리고 정렬입니다."
|
||||
|
||||
# gui.rpy:356
|
||||
old "## NVL-Mode"
|
||||
new "## NVL-Mode"
|
||||
new "## NVL-모드"
|
||||
|
||||
# gui.rpy:358
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## NVL-모드 화면은 NVL-모드 캐릭터들에 의한 대화를 화면에 표시합니다."
|
||||
|
||||
# gui.rpy:360
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## The borders of the background of the NVL-mode background window."
|
||||
new "## NVL-모드 배경 창에서 배경의 테두리입니다."
|
||||
|
||||
# gui.rpy:363
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## NVL-모드 항목의 높이입니다. 이것을 None으로 설정하면 항목들은 동적으로 높이를 조정합니다."
|
||||
|
||||
# gui.rpy:367
|
||||
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## gui.nvl_height 값이 None일 때 NVL-모드 항목들, 그리고 NVL-모드 항목들과 NVL-모드 메뉴간의 간의 간격입니다."
|
||||
|
||||
# gui.rpy:384
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## nvl_thought 글자의 위치, 너비, 정렬(nvl_narrator 캐릭터에 의해 표시되는 글자)입니다."
|
||||
|
||||
# gui.rpy:391
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## The position of nvl menu_buttons."
|
||||
new "## NVL 메뉴 버튼의 위치입니다."
|
||||
|
||||
# gui.rpy:403
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## 이것은 휴대전화와 태블릿에서 쉽게 터지할 수 있도록 빠른(Quick) 버튼들의 크기를 크게 합니다."
|
||||
|
||||
# gui.rpy:409
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## 이것은 휴대전화에서 다양한 GUI 요소들의 크기와 간격을 쉽게 보일 수 있도록 변경합니다."
|
||||
|
||||
# gui.rpy:413
|
||||
old "## Font sizes."
|
||||
new "## Font sizes."
|
||||
new "## 글자 크기들."
|
||||
|
||||
# gui.rpy:421
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## Adjust the location of the textbox."
|
||||
new "## 텍스트박스의 위치를 조정합니다."
|
||||
|
||||
# gui.rpy:427
|
||||
old "## Change the size and spacing of items in the game menu."
|
||||
new "## Change the size and spacing of items in the game menu."
|
||||
new "## 게임 메뉴에서 항목들의 크기와 간격을 변경합니다."
|
||||
|
||||
# gui.rpy:436
|
||||
old "## File button layout."
|
||||
new "## File button layout."
|
||||
new "## 파일 버튼 레이아웃."
|
||||
|
||||
# gui.rpy:440
|
||||
old "## NVL-mode."
|
||||
new "## NVL-mode."
|
||||
new "## NVL-모드."
|
||||
|
||||
# gui.rpy:456
|
||||
old "## Quick buttons."
|
||||
new "## Quick buttons."
|
||||
new "## 빠른(Quick) 버튼들."
|
||||
|
||||
|
||||
@@ -99,7 +99,7 @@ translate korean strings:
|
||||
|
||||
# android.rpy:50
|
||||
old "Retrieves the log from the Android device and writes it to a file."
|
||||
new "Retrieves the log from the Android device and writes it to a file."
|
||||
new "안드로이드 기기와 쓰여진 파일로부터 로그를 검색합니다."
|
||||
|
||||
# android.rpy:240
|
||||
old "Copying Android files to distributions directory."
|
||||
@@ -195,7 +195,7 @@ translate korean strings:
|
||||
|
||||
# android.rpy:544
|
||||
old "Retrieving logcat information from device."
|
||||
new "Retrieving logcat information from device."
|
||||
new "기기로부터 로그캣 정보를 검색합니다."
|
||||
|
||||
# choose_directory.rpy:73
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
|
||||
@@ -231,7 +231,7 @@ translate korean strings:
|
||||
|
||||
# consolecommand.rpy:84
|
||||
old "The command is being run in a new operating system console window."
|
||||
new "The command is being run in a new operating system console window."
|
||||
new "커맨드가 새로운 운영체제 콘솔 창에서 실행 중입니다."
|
||||
|
||||
# distribute.rpy:443
|
||||
old "Scanning project files..."
|
||||
@@ -259,19 +259,19 @@ translate korean strings:
|
||||
|
||||
# distribute.rpy:1050
|
||||
old "Unpacking the Macintosh application for signing..."
|
||||
new "Unpacking the Macintosh application for signing..."
|
||||
new "서명을 위해 매킨토시 애플리케이션을 압축해제하는 중입니다..."
|
||||
|
||||
# distribute.rpy:1060
|
||||
old "Signing the Macintosh application..."
|
||||
new "Signing the Macintosh application..."
|
||||
new "매킨토시 애플리케이션을 서명하는 중입니다..."
|
||||
|
||||
# distribute.rpy:1082
|
||||
old "Creating the Macintosh DMG..."
|
||||
new "Creating the Macintosh DMG..."
|
||||
new "매킨토시 DMG를 생성하는 중입니다..."
|
||||
|
||||
# distribute.rpy:1091
|
||||
old "Signing the Macintosh DMG..."
|
||||
new "Signing the Macintosh DMG..."
|
||||
new "매킨토시 DMG에 서명하는 중입니다..."
|
||||
|
||||
# distribute.rpy:1248
|
||||
old "Writing the [variant] [format] package."
|
||||
@@ -523,23 +523,23 @@ translate korean strings:
|
||||
|
||||
# gui7.rpy:236
|
||||
old "Select Accent and Background Colors"
|
||||
new "Select Accent and Background Colors"
|
||||
new "강조와 배경 색상 선택"
|
||||
|
||||
# gui7.rpy:250
|
||||
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
|
||||
new "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
|
||||
new "원하는 색상 스키마를 선택하고 다음을 누르세요. 이러한 색상과 사용자 지정은 나중에 변경할 수 있습니다."
|
||||
|
||||
# gui7.rpy:294
|
||||
old "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
|
||||
new "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
|
||||
new "{b}경고g{/b}\n계속하면 사용자 지정된 막대, 버튼, 저장 슬롯, 스크롤바, 그리고 슬라이더 이미지들을 덮어씌웁니다.\n\n무엇을 하고 싶으세요?"
|
||||
|
||||
# gui7.rpy:294
|
||||
old "Choose new colors, then regenerate image files."
|
||||
new "Choose new colors, then regenerate image files."
|
||||
new "새로운 색상을 선택하면 이미지 파일들이 재생성됩니다."
|
||||
|
||||
# gui7.rpy:294
|
||||
old "Regenerate the image files using the colors in gui.rpy."
|
||||
new "Regenerate the image files using the colors in gui.rpy."
|
||||
new "gui.rpy에서 사용하는 색상으로 이미지 파일 재생성."
|
||||
|
||||
# gui7.rpy:314
|
||||
old "PROJECT NAME"
|
||||
@@ -563,15 +563,15 @@ translate korean strings:
|
||||
|
||||
# gui7.rpy:341
|
||||
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
|
||||
new "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
|
||||
new "프로젝트에서 어떤 해상도를 사용하나요? 렌파이가 창을 위아래로 확장 할 수 있지만, 이것은 창의 초기 크기, 에셋이 그려지는 크기, 애셋이 가장 선명하게 될 크기입니다.\n\n1280x720의 기본값은 적절한 절충안입니다."
|
||||
|
||||
# gui7.rpy:389
|
||||
old "Creating the new project..."
|
||||
new "Creating the new project..."
|
||||
new "새 프로젝트를 만드는 중..."
|
||||
|
||||
# gui7.rpy:391
|
||||
old "Updating the project..."
|
||||
new "Updating the project..."
|
||||
new "프로젝트 업데이트중..."
|
||||
|
||||
# interface.rpy:107
|
||||
old "Documentation"
|
||||
@@ -735,27 +735,27 @@ translate korean strings:
|
||||
|
||||
# itch.rpy:60
|
||||
old "The built distributions could not be found. Please choose 'Build' and try again."
|
||||
new "The built distributions could not be found. Please choose 'Build' and try again."
|
||||
new "빌드된 배포판을 찾을 수 없습니다. '빌드'를 선택하고 다시 시도하세요."
|
||||
|
||||
# itch.rpy:91
|
||||
old "No uploadable files were found. Please choose 'Build' and try again."
|
||||
new "No uploadable files were found. Please choose 'Build' and try again."
|
||||
new "업로드가능한 파일이 없습니다. '빌드'를 선택하고 다시 시도하세요."
|
||||
|
||||
# itch.rpy:99
|
||||
old "The butler program was not found."
|
||||
new "The butler program was not found."
|
||||
new "집사(butler) 프로그램이 없습니다."
|
||||
|
||||
# itch.rpy:99
|
||||
old "Please install the itch.io app, which includes butler, and try again."
|
||||
new "Please install the itch.io app, which includes butler, and try again."
|
||||
new "집사(butler)를 포함한 itch.io 앱을 설치하고 다시 시도하세요."
|
||||
|
||||
# itch.rpy:108
|
||||
old "The name of the itch project has not been set."
|
||||
new "The name of the itch project has not been set."
|
||||
new "itch 프로젝트의 이름이 설정되지 않았습니다."
|
||||
|
||||
# itch.rpy:108
|
||||
old "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
|
||||
new "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
|
||||
new "{a=https://itch.io/game/new}프로젝트를 만드세요{/a}, 그리고 options.rpy에 다음과 같은 라인을 작성하세요: \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5}."
|
||||
|
||||
# mobilebuild.rpy:109
|
||||
old "{a=%s}%s{/a}"
|
||||
@@ -827,23 +827,23 @@ translate korean strings:
|
||||
|
||||
# new_project.rpy:38
|
||||
old "New GUI Interface"
|
||||
new "New GUI Interface"
|
||||
new "새로운 GUI 인터페이스"
|
||||
|
||||
# new_project.rpy:48
|
||||
old "Both interfaces have been translated to your language."
|
||||
new "Both interfaces have been translated to your language."
|
||||
new "모든 인터페이스는 귀하의 언어로 번역됐습니다."
|
||||
|
||||
# new_project.rpy:50
|
||||
old "Only the new GUI has been translated to your language."
|
||||
new "Only the new GUI has been translated to your language."
|
||||
new "새로운 GUI만 귀하의 언어로 번역됐습니다."
|
||||
|
||||
# new_project.rpy:52
|
||||
old "Only the legacy theme interface has been translated to your language."
|
||||
new "Only the legacy theme interface has been translated to your language."
|
||||
new "레거시 테마 인터페이스가 귀하의 언어로 번역됐습니다."
|
||||
|
||||
# new_project.rpy:54
|
||||
old "Neither interface has been translated to your language."
|
||||
new "Neither interface has been translated to your language."
|
||||
new "어느 인터페이스도 귀하의 언어로 번역되지 않았습니다."
|
||||
|
||||
# new_project.rpy:63
|
||||
old "The projects directory could not be set. Giving up."
|
||||
@@ -851,11 +851,11 @@ translate korean strings:
|
||||
|
||||
# new_project.rpy:69
|
||||
old "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
|
||||
new "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
|
||||
new "어떤 인터페이스를 사용하고 싶으세요? 새로운 GUI는 현대적인 스타일로, 와이드 스크린과 휴대기기를 지원하며 쉽게 커스텀 가능합니다. 레거시 테마는 작업에 오래된 예제 코드가 필요할 수 있습니다.\n\n[language_support!t]\n\n의심스럽다면 새로운 GUI를 선택한 다음, 오른쪽 하단의 계속하기를 클릭하십시오."
|
||||
|
||||
# new_project.rpy:69
|
||||
old "Legacy Theme Interface"
|
||||
new "Legacy Theme Interface"
|
||||
new "레거시 테마 인터페이스"
|
||||
|
||||
# new_project.rpy:90
|
||||
old "Choose Project Template"
|
||||
@@ -991,11 +991,11 @@ translate korean strings:
|
||||
|
||||
# translations.rpy:63
|
||||
old "Translations: [project.current.name!q]"
|
||||
new "Translations: [project.current.name!q]"
|
||||
new "번역: [project.current.name!q]"
|
||||
|
||||
# translations.rpy:104
|
||||
old "The language to work with. This should only contain lower-case ASCII characters and underscores."
|
||||
new "The language to work with. This should only contain lower-case ASCII characters and underscores."
|
||||
new "작업할 언어. 소문자 ASCII 문자와 밑줄만 포함해야 합니다."
|
||||
|
||||
# translations.rpy:130
|
||||
old "Generate empty strings for translations"
|
||||
@@ -1003,19 +1003,19 @@ translate korean strings:
|
||||
|
||||
# translations.rpy:148
|
||||
old "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
|
||||
new "Generates or updates translation files. The files will be placed in game/tl/[persistent.translate_language!q]."
|
||||
new "번역 파일을 생성하거나 업데이트합니다. 파일들은 in game/tl/[persistent.translate_language!q]에 배치됩니다."
|
||||
|
||||
# translations.rpy:168
|
||||
old "Extract String Translations"
|
||||
new "Extract String Translations"
|
||||
new "문자열 번역 추출"
|
||||
|
||||
# translations.rpy:170
|
||||
old "Merge String Translations"
|
||||
new "Merge String Translations"
|
||||
new "문자열 번역 병합"
|
||||
|
||||
# translations.rpy:175
|
||||
old "Replace existing translations"
|
||||
new "Replace existing translations"
|
||||
new "기존 번역 대체"
|
||||
|
||||
# translations.rpy:176
|
||||
old "Reverse languages"
|
||||
@@ -1023,11 +1023,11 @@ translate korean strings:
|
||||
|
||||
# translations.rpy:180
|
||||
old "Update Default Interface Translations"
|
||||
new "Update Default Interface Translations"
|
||||
new "기본 인터페이스 번역 업데이트"
|
||||
|
||||
# translations.rpy:200
|
||||
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
|
||||
new "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
|
||||
new "추출 명령은 기존 프로젝트의 문자열 번역을 임시 파일로 추출 할 수 있습니다.\n\n병합 명령은 추출된 번역을 다른 프로젝트로 병합합니다."
|
||||
|
||||
# translations.rpy:224
|
||||
old "Ren'Py is generating translations...."
|
||||
@@ -1039,51 +1039,51 @@ translate korean strings:
|
||||
|
||||
# translations.rpy:248
|
||||
old "Ren'Py is extracting string translations..."
|
||||
new "Ren'Py is extracting string translations..."
|
||||
new "문자열 번역을 추출하고 있습니다..."
|
||||
|
||||
# translations.rpy:251
|
||||
old "Ren'Py has finished extracting [language] string translations."
|
||||
new "Ren'Py has finished extracting [language] string translations."
|
||||
new "[language] 문자열 번역 추출을 완료했습니다."
|
||||
|
||||
# translations.rpy:271
|
||||
old "Ren'Py is merging string translations..."
|
||||
new "Ren'Py is merging string translations..."
|
||||
new "문자열 번역을 병합하고 있습니다..."
|
||||
|
||||
# translations.rpy:274
|
||||
old "Ren'Py has finished merging [language] string translations."
|
||||
new "Ren'Py has finished merging [language] string translations."
|
||||
new "[language] 문자열 번역 병합을 완료했습니다."
|
||||
|
||||
# translations.rpy:282
|
||||
old "Updating default interface translations..."
|
||||
new "Updating default interface translations..."
|
||||
new "기본 인터페이스 번역을 업데이트하고 있습니다..."
|
||||
|
||||
# translations.rpy:306
|
||||
old "Extract Dialogue: [project.current.name!q]"
|
||||
new "Extract Dialogue: [project.current.name!q]"
|
||||
new "다이얼로그 추출: [project.current.name!q]"
|
||||
|
||||
# translations.rpy:322
|
||||
old "Format:"
|
||||
new "Format:"
|
||||
new "포맷:"
|
||||
|
||||
# translations.rpy:330
|
||||
old "Tab-delimited Spreadsheet (dialogue.tab)"
|
||||
new "Tab-delimited Spreadsheet (dialogue.tab)"
|
||||
new "탭으로 구분되는 스프레드시트 (dialogue.tab)"
|
||||
|
||||
# translations.rpy:331
|
||||
old "Dialogue Text Only (dialogue.txt)"
|
||||
new "Dialogue Text Only (dialogue.txt)"
|
||||
new "대사 글자만 (dialogue.txt)"
|
||||
|
||||
# translations.rpy:344
|
||||
old "Strip text tags from the dialogue."
|
||||
new "Strip text tags from the dialogue."
|
||||
new "텍스트 태그를 대사에서 제거합니다."
|
||||
|
||||
# translations.rpy:345
|
||||
old "Escape quotes and other special characters."
|
||||
new "Escape quotes and other special characters."
|
||||
new "따옴표와 기타 특수 문자를 제거합니다."
|
||||
|
||||
# translations.rpy:346
|
||||
old "Extract all translatable strings, not just dialogue."
|
||||
new "Extract all translatable strings, not just dialogue."
|
||||
new "모든 번역 가능한 문자열을 추출합니다."
|
||||
|
||||
# translations.rpy:374
|
||||
old "Ren'Py is extracting dialogue...."
|
||||
@@ -1091,7 +1091,7 @@ translate korean strings:
|
||||
|
||||
# translations.rpy:378
|
||||
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
|
||||
new "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
|
||||
new "대사 추출을 완료했습니다. 추출된 대사는 기본 디렉토리의 dialogue.[persistent.dialogue_format]에서 찾을 수 있습니다."
|
||||
|
||||
# updater.rpy:75
|
||||
old "Select Update Channel"
|
||||
|
||||
@@ -3,193 +3,193 @@ translate korean strings:
|
||||
|
||||
# options.rpy:1
|
||||
old "## This file contains options that can be changed to customize your game."
|
||||
new "## This file contains options that can be changed to customize your game."
|
||||
new "## 이 파일은 귀하의 게임 커스텀으로 변경될 수 있는 옵션을 포함합니다."
|
||||
|
||||
# options.rpy:4
|
||||
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
|
||||
new "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
|
||||
new "## 두 개의 '#' 표시로 시작되는 줄은 주석이며, 그것을 없애지 말아야 합니다. 한 개의 '#' 표시로 시작되는 줄은 주석 처리된 코드로 필요한 경우 제거해도 됩니다."
|
||||
|
||||
# options.rpy:10
|
||||
old "## Basics"
|
||||
new "## Basics"
|
||||
new "## 기본"
|
||||
|
||||
# options.rpy:12
|
||||
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
|
||||
new "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
|
||||
new "## 인간이 읽을 수 있는 게임의 이름. 기본 윈도우의 제목으로 사용되며, 인터페이스와 오류 보고에서 보여집니다."
|
||||
|
||||
# options.rpy:15
|
||||
old "## The _() surrounding the string marks it as eligible for translation."
|
||||
new "## The _() surrounding the string marks it as eligible for translation."
|
||||
new "## 문자열을 _()로 둘러 쌓으면 씌우면 번역의 대상으로 표시됩니다."
|
||||
|
||||
# options.rpy:17
|
||||
old "Ren'Py 7 Default GUI"
|
||||
new "Ren'Py 7 Default GUI"
|
||||
new "렌파이 7 기본 GUI"
|
||||
|
||||
# options.rpy:20
|
||||
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
|
||||
new "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
|
||||
new "## 위에 주어진 제목이 주 메뉴 화면에 표시되는지 결정합니다. 제목을 숨기려면 이것을 False로 설정하십시오."
|
||||
|
||||
# options.rpy:26
|
||||
old "## The version of the game."
|
||||
new "## The version of the game."
|
||||
new "## 게임의 버전입니다."
|
||||
|
||||
# options.rpy:31
|
||||
old "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
|
||||
new "## Text that is placed on the game's about screen. To insert a blank line between paragraphs, write \\n\\n."
|
||||
new "## 게임의 about 스크린에 배치되는 텍스트입니다. 단락 사이에 빈 줄을 넣으려면 \\n\\n를 적으십시오."
|
||||
|
||||
# options.rpy:37
|
||||
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
|
||||
new "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
|
||||
new "## 배포판의 실행 파일과 디렉토리에 사용되는 게임의 약식 이름. 이것은 ASCII 전용이어야 하며 공백, 콜론 또는 세미콜론을 포함해서는 안 됩니다."
|
||||
|
||||
# options.rpy:44
|
||||
old "## Sounds and music"
|
||||
new "## Sounds and music"
|
||||
new "## 음악과 음향"
|
||||
|
||||
# options.rpy:46
|
||||
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
|
||||
new "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
|
||||
new "## 이 세 가지 변수는 기본적으로 플레이어에 표시되는 믹서를 제어합니다. 이들 중 하나를 False로 설정하면 해당 믹서가 숨겨집니다."
|
||||
|
||||
# options.rpy:55
|
||||
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
|
||||
new "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
|
||||
new "## 사용자가 음향 또는 음성 채널에서 테스트 사운드를 재생할 수 있게 하려면 아래 줄의 주석을 제거하고 이를 사용하여 재생할 샘플 사운드를 설정하십시오."
|
||||
|
||||
# options.rpy:62
|
||||
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
|
||||
new "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
|
||||
new "## 플레이어가 주 메뉴에 있을 때 재생할 오디오 파일을 설정하려면 다음 줄의 주석 처리를 제거하십시오. 이 파일은 중지되거나 다른 파일이 재생 될 때까지 계속 재생합니다."
|
||||
|
||||
# options.rpy:69
|
||||
old "## Transitions"
|
||||
new "## Transitions"
|
||||
new "## 번역"
|
||||
|
||||
# options.rpy:71
|
||||
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
|
||||
new "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
|
||||
new "## 이러한 변수는 특정 이벤트가 발생할 때 사용되는 전환을 설정합니다. 각 변수는 전환으로 설정해야 하며, 전환을 사용하지 말아야 한다는 것을 나타내려면 None으로 설정해야 합니다."
|
||||
|
||||
# options.rpy:75
|
||||
old "## Entering or exiting the game menu."
|
||||
new "## Entering or exiting the game menu."
|
||||
new "## 게임 메뉴에 진입하거나 나갑니다."
|
||||
|
||||
# options.rpy:81
|
||||
old "## A transition that is used after a game has been loaded."
|
||||
new "## A transition that is used after a game has been loaded."
|
||||
new "## 게임이 로드된 후 사용되는 전환입니다."
|
||||
|
||||
# options.rpy:86
|
||||
old "## Used when entering the main menu after the game has ended."
|
||||
new "## Used when entering the main menu after the game has ended."
|
||||
new "## 게임 종료 후 주 메뉴에 진입할 때 사용됩니다."
|
||||
|
||||
# options.rpy:91
|
||||
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
|
||||
new "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
|
||||
new "## 게임을 시작할 때 사용되는 전환을 설정하는 변수가 없습니다. 대신, 초기 장면을 표시한 후 with 문을 사용하십시오."
|
||||
|
||||
# options.rpy:96
|
||||
old "## Window management"
|
||||
new "## Window management"
|
||||
new "## 창 관리"
|
||||
|
||||
# options.rpy:98
|
||||
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
|
||||
new "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
|
||||
new "## 이것은 대사 창이 표시됐을 때 제어합니다. 만약 \"show\"면, 그것은 상항 표시됩니다. 만약 \"hide\"면, 그것은 대사가 주어질 때만 표시됩니다. 만약 \"auto\"면, 창은 장면(scene) 문 앞에 숨겨져 대화 상자가 표시되면 다시 표시됩니다."
|
||||
|
||||
# options.rpy:103
|
||||
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
|
||||
new "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
|
||||
new "## 게임이 시작된 후에는 \"window show\", \"window hide\", 그리고 \"window auto\" 문을 사용하여 변경할 수 있습니다."
|
||||
|
||||
# options.rpy:109
|
||||
old "## Transitions used to show and hide the dialogue window"
|
||||
new "## Transitions used to show and hide the dialogue window"
|
||||
new "## 대화 창을 표시하고 숨기는 데 사용되는 전환"
|
||||
|
||||
# options.rpy:115
|
||||
old "## Preference defaults"
|
||||
new "## Preference defaults"
|
||||
new "## 환경설정 기본값"
|
||||
|
||||
# options.rpy:117
|
||||
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
|
||||
new "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
|
||||
new "## 기본 글자 속도를 제어합니다. 기본적으로, 0은 즉시이며 다른 숫자는 초당 입력 할 문자 수입니다."
|
||||
|
||||
# options.rpy:123
|
||||
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
|
||||
new "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
|
||||
new "## 기본 auto-forward 지연 시간입니다. 숫자가 클수록 대기 시간이 길어지며, 0 ~ 30이 유효한 범위가 됩니다."
|
||||
|
||||
# options.rpy:129
|
||||
old "## Save directory"
|
||||
new "## Save directory"
|
||||
new "## 세이브 디렉토리"
|
||||
|
||||
# options.rpy:131
|
||||
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
|
||||
new "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
|
||||
new "## 렌파이는 이 게임에 대한 저장 파일을 플랫폼 별로 배치합니다. 세이브 파일들은 여기에 있습니다:"
|
||||
|
||||
# options.rpy:134
|
||||
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
new "## 윈도우즈: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
|
||||
# options.rpy:136
|
||||
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
|
||||
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
|
||||
new "## 매킨토시: $HOME/Library/RenPy/<config.save_directory>"
|
||||
|
||||
# options.rpy:138
|
||||
old "## Linux: $HOME/.renpy/<config.save_directory>"
|
||||
new "## Linux: $HOME/.renpy/<config.save_directory>"
|
||||
new "## 리눅스: $HOME/.renpy/<config.save_directory>"
|
||||
|
||||
# options.rpy:140
|
||||
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
|
||||
new "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
|
||||
new "## 이것은 일반적으로 변경해서는 안 되며, 항상 표현형식이 아닌 정확한 문자열이어야 합니다."
|
||||
|
||||
# options.rpy:146
|
||||
old "## Icon ########################################################################'"
|
||||
new "## Icon ########################################################################'"
|
||||
new "## 아이콘 #######################################################################'"
|
||||
|
||||
# options.rpy:148
|
||||
old "## The icon displayed on the taskbar or dock."
|
||||
new "## The icon displayed on the taskbar or dock."
|
||||
new "## 작업 표시 줄 또는 독에 표시되는 아이콘."
|
||||
|
||||
# options.rpy:153
|
||||
old "## Build configuration"
|
||||
new "## Build configuration"
|
||||
new "## 빌드 구성"
|
||||
|
||||
# options.rpy:155
|
||||
old "## This section controls how Ren'Py turns your project into distribution files."
|
||||
new "## This section controls how Ren'Py turns your project into distribution files."
|
||||
new "## 이 섹션은 렌파이가 프로젝트를 배포 파일로 만드는 방법을 제어합니다."
|
||||
|
||||
# options.rpy:160
|
||||
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
|
||||
new "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
|
||||
new "## 다음 함수는 파일 패턴을 사용합니다. 파일 패턴은 대/소문자를 구분하지 않으며, /의 유무와 관계없이 기본 디렉터리의 상대 경로와 일치합니다. 여러 패턴이 일치하면 첫 번째 패턴이 사용됩니다."
|
||||
|
||||
# options.rpy:165
|
||||
old "## In a pattern:"
|
||||
new "## In a pattern:"
|
||||
new "## 패턴 있음:"
|
||||
|
||||
# options.rpy:167
|
||||
old "## / is the directory separator."
|
||||
new "## / is the directory separator."
|
||||
new "## / 는 디렉토리 구분 기호입니다."
|
||||
|
||||
# options.rpy:169
|
||||
old "## * matches all characters, except the directory separator."
|
||||
new "## * matches all characters, except the directory separator."
|
||||
new "## * 는 디렉토리 구분자를 제외한 모든 문자와 일치합니다."
|
||||
|
||||
# options.rpy:171
|
||||
old "## ** matches all characters, including the directory separator."
|
||||
new "## ** matches all characters, including the directory separator."
|
||||
new "## ** 는 디렉토리 구분자를 포함해 모든 문자와 일치합니다."
|
||||
|
||||
# options.rpy:173
|
||||
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
|
||||
new "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
|
||||
new "## 예를 들어, \"*.txt\" 는 기본 디렉토리의 txt 파일들과 일치하고, \"game/**.ogg\" 는 게임 디렉토리 또는 그 서브 디렉토리의 ogg 파일들과 일치하며, \"**.psd\" 는 프로젝트에서 모든 곳의 psd 파일들과 일치합니다."
|
||||
|
||||
# options.rpy:177
|
||||
old "## Classify files as None to exclude them from the built distributions."
|
||||
new "## Classify files as None to exclude them from the built distributions."
|
||||
new "## 파일을 None으로 분류하여 배포판으로부터 제외하십시오."
|
||||
|
||||
# options.rpy:185
|
||||
old "## To archive files, classify them as 'archive'."
|
||||
new "## To archive files, classify them as 'archive'."
|
||||
new "## 파일을 아카이브하려면 'archive'로 분류하십시오."
|
||||
|
||||
# options.rpy:190
|
||||
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
|
||||
new "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
|
||||
new "## 파일들의 매칭 문서 패턴은 맥앱(Mac App) 빌드에서 중복되므로 app 및 zip 파일에 모두 나타납니다."
|
||||
|
||||
# options.rpy:196
|
||||
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## 확장 파일을 다운로드하고 인앱 구매를 수행하려면 Google Play 라이센스 키가 필요합니다. Google Play 개발자 콘솔의 \"서비스 및 API\"페이지에서 확인할 수 있습니다."
|
||||
|
||||
# options.rpy:203
|
||||
old "## The username and project name associated with an itch.io project, separated by a slash."
|
||||
new "## The username and project name associated with an itch.io project, separated by a slash."
|
||||
new "## itch.io 프로젝트와 연관된 사용자 이름과 프로젝트 이름이며 슬래시로 구분됩니다."
|
||||
|
||||
|
||||
@@ -123,7 +123,7 @@ translate korean strings:
|
||||
|
||||
# screens.rpy:322
|
||||
old "End Replay"
|
||||
new "리플레이 기"
|
||||
new "리플레이 끝내기"
|
||||
|
||||
# screens.rpy:326
|
||||
old "Main Menu"
|
||||
@@ -275,7 +275,7 @@ translate korean strings:
|
||||
|
||||
# screens.rpy:711
|
||||
old "## Preferences screen"
|
||||
new "## Preferences screen"
|
||||
new "## Preferences 스크린"
|
||||
|
||||
# screens.rpy:713
|
||||
old "## The preferences screen allows the player to configure the game to better suit themselves."
|
||||
@@ -487,7 +487,7 @@ translate korean strings:
|
||||
|
||||
# screens.rpy:1054
|
||||
old "Middle Click"
|
||||
new "가운데버튼이나 휠버튼 클릭"
|
||||
new "가운데 버튼이나 휠버튼 클릭"
|
||||
|
||||
# screens.rpy:1058
|
||||
old "Right Click"
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
new "## Sempadan kotak yang mengandungi nama watak, mengikut susunan kiri, atas, kanan, bawah."
|
||||
|
||||
# gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Jika ditetapkan kepada True, latar belakang kotak nama akan dijubinkan, jika False, latar belakang kotak nama akan dissesuaikan saiznya."
|
||||
|
||||
# gui.rpy:129
|
||||
|
||||
@@ -138,7 +138,7 @@ translate piglatin strings:
|
||||
new "## Hetay ordersbay ofay hetay oxbay ontainingcay hetay aracterchay'say amenay, inay eftlay, optay, ightray, ottombay orderay."
|
||||
|
||||
# gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Fiay Ruetay, hetay ackgroundbay ofay hetay ameboxnay illway ebay iledtay, ifay Alsefay, hetay ackgroundbay ifay hetay ameboxnay illway ebay caledsay."
|
||||
|
||||
# gui.rpy:129
|
||||
|
||||
@@ -153,179 +153,187 @@ translate russian strings:
|
||||
old "{#month_short}Dec"
|
||||
new "{#month_short}Дек"
|
||||
|
||||
# 00action_file.rpy:237
|
||||
# 00action_file.rpy:240
|
||||
old "%b %d, %H:%M"
|
||||
new "%d %b, %H:%M"
|
||||
|
||||
# 00action_file.rpy:344
|
||||
# 00action_file.rpy:353
|
||||
old "Save slot %s: [text]"
|
||||
new "Слот сохранения %s: [text]"
|
||||
|
||||
# 00action_file.rpy:417
|
||||
# 00action_file.rpy:434
|
||||
old "Load slot %s: [text]"
|
||||
new "Слот загрузки %s: [text]"
|
||||
|
||||
# 00action_file.rpy:459
|
||||
# 00action_file.rpy:487
|
||||
old "Delete slot [text]"
|
||||
new "Удалить слот [text]"
|
||||
|
||||
# 00action_file.rpy:539
|
||||
# 00action_file.rpy:569
|
||||
old "File page auto"
|
||||
new "Автосохранения"
|
||||
|
||||
# 00action_file.rpy:541
|
||||
# 00action_file.rpy:571
|
||||
old "File page quick"
|
||||
new "Быстрые сохранения"
|
||||
|
||||
# 00action_file.rpy:543
|
||||
# 00action_file.rpy:573
|
||||
old "File page [text]"
|
||||
new "Страница сохранений [text]"
|
||||
|
||||
# 00action_file.rpy:733
|
||||
# 00action_file.rpy:763
|
||||
old "Next file page."
|
||||
new "Следующая страница сохранений"
|
||||
|
||||
# 00action_file.rpy:797
|
||||
# 00action_file.rpy:827
|
||||
old "Previous file page."
|
||||
new "Предыдущая страница сохранений"
|
||||
|
||||
# 00action_file.rpy:858
|
||||
# 00action_file.rpy:888
|
||||
old "Quick save complete."
|
||||
new "Быстрое сохранение завершено."
|
||||
|
||||
# 00action_file.rpy:876
|
||||
# 00action_file.rpy:906
|
||||
old "Quick save."
|
||||
new "Быстрое сохранение"
|
||||
|
||||
# 00action_file.rpy:895
|
||||
# 00action_file.rpy:925
|
||||
old "Quick load."
|
||||
new "Быстрая загрузка"
|
||||
|
||||
# 00action_other.rpy:344
|
||||
# 00action_other.rpy:355
|
||||
old "Language [text]"
|
||||
new "Язык [text]"
|
||||
|
||||
# 00director.rpy:703
|
||||
# 00director.rpy:708
|
||||
old "The interactive director is not enabled here."
|
||||
new "Интерактивный директор недоступен."
|
||||
|
||||
# 00director.rpy:1490
|
||||
# 00director.rpy:1481
|
||||
old "⬆"
|
||||
new "⬆"
|
||||
|
||||
# 00director.rpy:1487
|
||||
old "⬇"
|
||||
new "⬇"
|
||||
|
||||
# 00director.rpy:1551
|
||||
old "Done"
|
||||
new "Принять"
|
||||
|
||||
# 00director.rpy:1498
|
||||
# 00director.rpy:1561
|
||||
old "(statement)"
|
||||
new "(функция)"
|
||||
|
||||
# 00director.rpy:1499
|
||||
# 00director.rpy:1562
|
||||
old "(tag)"
|
||||
new "(тег)"
|
||||
|
||||
# 00director.rpy:1500
|
||||
# 00director.rpy:1563
|
||||
old "(attributes)"
|
||||
new "(аттрибут)"
|
||||
|
||||
# 00director.rpy:1501
|
||||
# 00director.rpy:1564
|
||||
old "(transform)"
|
||||
new "(трансформация)"
|
||||
|
||||
# 00director.rpy:1526
|
||||
# 00director.rpy:1589
|
||||
old "(transition)"
|
||||
new "(переход)"
|
||||
|
||||
# 00director.rpy:1538
|
||||
# 00director.rpy:1601
|
||||
old "(channel)"
|
||||
new "(канал)"
|
||||
|
||||
# 00director.rpy:1539
|
||||
# 00director.rpy:1602
|
||||
old "(filename)"
|
||||
new "(имя файла)"
|
||||
|
||||
# 00director.rpy:1564
|
||||
# 00director.rpy:1631
|
||||
old "Change"
|
||||
new "Изменить"
|
||||
|
||||
# 00director.rpy:1566
|
||||
# 00director.rpy:1633
|
||||
old "Add"
|
||||
new "Добавить"
|
||||
|
||||
# 00director.rpy:1569
|
||||
# 00director.rpy:1636
|
||||
old "Cancel"
|
||||
new "Отмена"
|
||||
|
||||
# 00director.rpy:1572
|
||||
# 00director.rpy:1639
|
||||
old "Remove"
|
||||
new "Убрать"
|
||||
|
||||
# 00director.rpy:1605
|
||||
# 00director.rpy:1674
|
||||
old "Statement:"
|
||||
new "Функции:"
|
||||
|
||||
# 00director.rpy:1626
|
||||
# 00director.rpy:1695
|
||||
old "Tag:"
|
||||
new "Теги:"
|
||||
|
||||
# 00director.rpy:1642
|
||||
# 00director.rpy:1711
|
||||
old "Attributes:"
|
||||
new "Аттрибут:"
|
||||
|
||||
# 00director.rpy:1660
|
||||
# 00director.rpy:1729
|
||||
old "Transforms:"
|
||||
new "Трансформации:"
|
||||
|
||||
# 00director.rpy:1679
|
||||
# 00director.rpy:1748
|
||||
old "Behind:"
|
||||
new "Позади:"
|
||||
|
||||
# 00director.rpy:1698
|
||||
# 00director.rpy:1767
|
||||
old "Transition:"
|
||||
new "Переходы:"
|
||||
|
||||
# 00director.rpy:1716
|
||||
# 00director.rpy:1785
|
||||
old "Channel:"
|
||||
new "Каналы:"
|
||||
|
||||
# 00director.rpy:1734
|
||||
# 00director.rpy:1803
|
||||
old "Audio Filename:"
|
||||
new "Имя файла:"
|
||||
|
||||
# 00gui.rpy:368
|
||||
# 00gui.rpy:370
|
||||
old "Are you sure?"
|
||||
new "Вы уверены?"
|
||||
|
||||
# 00gui.rpy:369
|
||||
# 00gui.rpy:371
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "Вы уверены, что хотите удалить это сохранение?"
|
||||
|
||||
# 00gui.rpy:370
|
||||
# 00gui.rpy:372
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "Вы уверены, что хотите перезаписать ваше сохранение?"
|
||||
|
||||
# 00gui.rpy:371
|
||||
# 00gui.rpy:373
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "Загрузка игры приведёт к потере несохранённого прогресса.\nВы уверены, что хотите это сделать?"
|
||||
|
||||
# 00gui.rpy:372
|
||||
# 00gui.rpy:374
|
||||
old "Are you sure you want to quit?"
|
||||
new "Вы уверены, что хотите выйти?"
|
||||
|
||||
# 00gui.rpy:373
|
||||
# 00gui.rpy:375
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Вы уверены, что хотите вернуться в главное меню?\nЭто приведёт к потере несохранённого прогресса."
|
||||
|
||||
# 00gui.rpy:374
|
||||
# 00gui.rpy:376
|
||||
old "Are you sure you want to end the replay?"
|
||||
new "Вы уверены, что хотите завершить повтор?"
|
||||
|
||||
# 00gui.rpy:375
|
||||
# 00gui.rpy:377
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "Вы уверены, что хотите начать пропуск?"
|
||||
|
||||
# 00gui.rpy:376
|
||||
# 00gui.rpy:378
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "Вы точно хотите пропустить всё до следующего выбора?"
|
||||
|
||||
# 00gui.rpy:377
|
||||
# 00gui.rpy:379
|
||||
old "Are you sure you want to skip unseen dialogue to the next choice?"
|
||||
new "Вы уверены, что хотите пропустить непрочитанные диалоги до следующего выбора?"
|
||||
|
||||
@@ -379,11 +387,11 @@ translate russian strings:
|
||||
|
||||
# 00library.rpy:157
|
||||
old "increase"
|
||||
new "больше" ### но полоса прокрутки тоже здесь!
|
||||
new "больше"
|
||||
|
||||
# 00library.rpy:158
|
||||
old "decrease"
|
||||
new "меньше" ###
|
||||
new "меньше"
|
||||
|
||||
# 00library.rpy:193
|
||||
old "Skip Mode"
|
||||
@@ -431,7 +439,7 @@ translate russian strings:
|
||||
|
||||
# 00preferences.rpy:266
|
||||
old "skip unseen [text]"
|
||||
new "пропускать весь [text]" ###
|
||||
new "пропускать весь [text]"
|
||||
|
||||
# 00preferences.rpy:271
|
||||
old "skip unseen text"
|
||||
@@ -455,11 +463,11 @@ translate russian strings:
|
||||
|
||||
# 00preferences.rpy:300
|
||||
old "auto-forward"
|
||||
new "авточтение" ###
|
||||
new "авточтение"
|
||||
|
||||
# 00preferences.rpy:307
|
||||
old "Auto forward"
|
||||
new "Авточтение" ###
|
||||
new "Авточтение"
|
||||
|
||||
# 00preferences.rpy:310
|
||||
old "auto-forward after click"
|
||||
@@ -537,111 +545,271 @@ translate russian strings:
|
||||
old "mute all"
|
||||
new "режим без звука"
|
||||
|
||||
# 00preferences.rpy:498
|
||||
# 00preferences.rpy:500
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "Озвучка буфера обмена включена. Нажмите 'shift+C', чтобы отключить её."
|
||||
|
||||
# 00preferences.rpy:500
|
||||
# 00preferences.rpy:502
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "Синтезатор речи должен сказать \"[renpy.display.tts.last]\". Нажмите 'alt+shift+V', чтобы отключить его."
|
||||
|
||||
# 00preferences.rpy:502
|
||||
# 00preferences.rpy:504
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Синтезатор речи включён. Нажмите 'v', чтобы отключить его."
|
||||
|
||||
# _compat\gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
new "Пустой слот"
|
||||
|
||||
# _compat\gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "Назад"
|
||||
|
||||
# _compat\gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "Далее"
|
||||
|
||||
# _compat\preferences.rpym:428
|
||||
old "Joystick Mapping"
|
||||
new "Раскладка джойстика"
|
||||
|
||||
# _developer\developer.rpym:38
|
||||
old "Developer Menu"
|
||||
new "Меню разработчика"
|
||||
|
||||
# _developer\developer.rpym:43
|
||||
old "Interactive Director (D)"
|
||||
new "Интерактивный Директор (D)"
|
||||
|
||||
# _developer\developer.rpym:45
|
||||
old "Reload Game (Shift+R)"
|
||||
new "Перезагрузить игру (Shift+R)"
|
||||
|
||||
# _developer\developer.rpym:47
|
||||
old "Console (Shift+O)"
|
||||
new "Консоль (Shift+O)"
|
||||
|
||||
# _developer\developer.rpym:49
|
||||
old "Variable Viewer"
|
||||
new "Просмотр переменных"
|
||||
|
||||
# _developer\developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "Инструмент позиционирования на изображениях"
|
||||
|
||||
# _developer\developer.rpym:53
|
||||
old "Filename List"
|
||||
new "Список файлов"
|
||||
|
||||
# _developer\developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "Показать лог загрузки изображений (F4)"
|
||||
|
||||
# _developer\developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "Скрыть лог загрузки изображений (F4)"
|
||||
|
||||
# _developer\developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "Аттрибуты изображения"
|
||||
|
||||
# _developer\developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes] (hidden)"
|
||||
|
||||
# _developer\developer.rpym:94
|
||||
old "[name] [attributes]"
|
||||
new "[name] [attributes]"
|
||||
|
||||
# _developer\developer.rpym:137
|
||||
old "Nothing to inspect."
|
||||
new "Переменные не заданы."
|
||||
|
||||
# _developer\developer.rpym:265
|
||||
old "Return to the developer menu"
|
||||
new "Вернуться в меню разработчика"
|
||||
|
||||
# _developer\developer.rpym:425
|
||||
old "Rectangle: %r"
|
||||
new "Прямоугольник: %r"
|
||||
|
||||
# _developer\developer.rpym:430
|
||||
old "Mouse position: %r"
|
||||
new "Позиция мыши: %r"
|
||||
|
||||
# _developer\developer.rpym:435
|
||||
old "Right-click or escape to quit."
|
||||
new "Нажмите правую кнопку мыши или ESC чтобы выйти."
|
||||
|
||||
# _developer\developer.rpym:467
|
||||
old "Rectangle copied to clipboard."
|
||||
new "Координаты прямоугольника скопированы в буфер обмена."
|
||||
|
||||
# _developer\developer.rpym:470
|
||||
old "Position copied to clipboard."
|
||||
new "Координаты позиции скопированы в буфер обмена."
|
||||
|
||||
# _developer\developer.rpym:489
|
||||
old "Type to filter: "
|
||||
new "Текущий фильтр: "
|
||||
|
||||
# _developer\developer.rpym:617
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Текстур: [tex_count] ([tex_size_mb:.1f] МБ)"
|
||||
|
||||
# _developer\developer.rpym:621
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "Кеш изображений: [cache_pct:.1f]% ([cache_size_mb:.1f] МБ)"
|
||||
|
||||
# _developer\developer.rpym:631
|
||||
old "✔ "
|
||||
new "✔ "
|
||||
|
||||
# _developer\developer.rpym:634
|
||||
old "✘ "
|
||||
new "✘ "
|
||||
|
||||
# _developer\developer.rpym:639
|
||||
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
|
||||
new "\n{color=#cfc}✔ предсказанное изображение (хорошо){/color}\n{color=#fcc}✘ внезапное изображение (плохо){/color}\n{color=#fff}Нажмите, чтобы передвинуть.{/color}"
|
||||
|
||||
# _developer\inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
new "Диспетчер объектов"
|
||||
|
||||
# _developer\inspector.rpym:61
|
||||
old "Size"
|
||||
new "Разрешение"
|
||||
|
||||
# _developer\inspector.rpym:65
|
||||
old "Style"
|
||||
new "Стиль"
|
||||
|
||||
# _developer\inspector.rpym:71
|
||||
old "Location"
|
||||
new "Местоположение"
|
||||
|
||||
# _developer\inspector.rpym:122
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "Инспектирую стили [displayable_name!q]"
|
||||
|
||||
# _developer\inspector.rpym:139
|
||||
old "displayable:"
|
||||
new "объект:"
|
||||
|
||||
# _developer\inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (на объект не влияют никакие параметры)"
|
||||
|
||||
# _developer\inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
new " (настройки по умолчанию опущены)"
|
||||
|
||||
# _developer\inspector.rpym:185
|
||||
old "<repr() failed>"
|
||||
new "<repr() провален>"
|
||||
|
||||
# _layout\classic_load_save.rpym:170
|
||||
old "a"
|
||||
new "а"
|
||||
|
||||
# _layout\classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "б"
|
||||
|
||||
# 00iap.rpy:217
|
||||
old "Contacting App Store\nPlease Wait..."
|
||||
new "Связываюсь с App Store\nПожалуйста, ждите..."
|
||||
|
||||
# 00updater.rpy:372
|
||||
# 00updater.rpy:375
|
||||
old "The Ren'Py Updater is not supported on mobile devices."
|
||||
new "Ren'Py Updater не поддерживается на мобильных устройствах."
|
||||
|
||||
# 00updater.rpy:491
|
||||
# 00updater.rpy:494
|
||||
old "An error is being simulated."
|
||||
new "Симулируется ошибка."
|
||||
|
||||
# 00updater.rpy:672
|
||||
# 00updater.rpy:678
|
||||
old "Either this project does not support updating, or the update status file was deleted."
|
||||
new "Или этот проект не поддерживает обновление, или файл статуса обновления был удалён."
|
||||
|
||||
# 00updater.rpy:686
|
||||
# 00updater.rpy:692
|
||||
old "This account does not have permission to perform an update."
|
||||
new "У этого аккаунта нет прав проводить обновление."
|
||||
|
||||
# 00updater.rpy:689
|
||||
# 00updater.rpy:695
|
||||
old "This account does not have permission to write the update log."
|
||||
new "У этого аккаунта нет прав писать лог обновления."
|
||||
|
||||
# 00updater.rpy:716
|
||||
# 00updater.rpy:722
|
||||
old "Could not verify update signature."
|
||||
new "Не могу верифицировать подпись обновления."
|
||||
|
||||
# 00updater.rpy:991
|
||||
# 00updater.rpy:997
|
||||
old "The update file was not downloaded."
|
||||
new "Файл обновления не был загружен."
|
||||
|
||||
# 00updater.rpy:1009
|
||||
# 00updater.rpy:1015
|
||||
old "The update file does not have the correct digest - it may have been corrupted."
|
||||
new "Файл обновления не содержит корректного дайджеста — он может быть повреждён."
|
||||
|
||||
# 00updater.rpy:1065
|
||||
# 00updater.rpy:1071
|
||||
old "While unpacking {}, unknown type {}."
|
||||
new "При распаковке {} обнаружен неизвестный тип {}."
|
||||
|
||||
# 00updater.rpy:1412
|
||||
# 00updater.rpy:1439
|
||||
old "Updater"
|
||||
new "Обновление"
|
||||
|
||||
# 00updater.rpy:1423
|
||||
# 00updater.rpy:1450
|
||||
old "This program is up to date."
|
||||
new "Эта программа обновлена."
|
||||
|
||||
# 00updater.rpy:1425
|
||||
# 00updater.rpy:1452
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] доступна. Вы хотите её установить?"
|
||||
|
||||
# 00updater.rpy:1427
|
||||
# 00updater.rpy:1454
|
||||
old "Preparing to download the updates."
|
||||
new "Подготовка к загрузке обновлений."
|
||||
|
||||
# 00updater.rpy:1429
|
||||
# 00updater.rpy:1456
|
||||
old "Downloading the updates."
|
||||
new "Загрузка обновлений."
|
||||
|
||||
# 00updater.rpy:1431
|
||||
# 00updater.rpy:1458
|
||||
old "Unpacking the updates."
|
||||
new "Распаковка обновлений."
|
||||
|
||||
# 00updater.rpy:1435
|
||||
# 00updater.rpy:1462
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "Обновления установлены. Программа будет перезапущена."
|
||||
|
||||
# 00updater.rpy:1437
|
||||
# 00updater.rpy:1464
|
||||
old "The updates have been installed."
|
||||
new "Обновления были установлены."
|
||||
|
||||
# 00updater.rpy:1439
|
||||
# 00updater.rpy:1466
|
||||
old "The updates were cancelled."
|
||||
new "Обновления были отменены."
|
||||
|
||||
# 00gallery.rpy:573
|
||||
# 00gallery.rpy:585
|
||||
old "Image [index] of [count] locked."
|
||||
new "Изображение [index] из [count] закрыто."
|
||||
|
||||
# 00gallery.rpy:593
|
||||
# 00gallery.rpy:605
|
||||
old "prev"
|
||||
new "пред"
|
||||
|
||||
# 00gallery.rpy:594
|
||||
# 00gallery.rpy:606
|
||||
old "next"
|
||||
new "след"
|
||||
|
||||
# 00gallery.rpy:595
|
||||
# 00gallery.rpy:607
|
||||
old "slideshow"
|
||||
new "слайд-шоу"
|
||||
|
||||
# 00gallery.rpy:596
|
||||
# 00gallery.rpy:608
|
||||
old "return"
|
||||
new "вернуться"
|
||||
|
||||
|
||||
@@ -1,130 +1,6 @@
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# _developer/developer.rpym:38
|
||||
old "Developer Menu"
|
||||
new "Меню разработчика"
|
||||
|
||||
# _developer/developer.rpym:43
|
||||
old "Interactive Director (D)"
|
||||
new "Интерактивный Директор (D)"
|
||||
|
||||
# _developer/developer.rpym:45
|
||||
old "Reload Game (Shift+R)"
|
||||
new "Перезагрузить игру (Shift+R)"
|
||||
|
||||
# _developer/developer.rpym:47
|
||||
old "Console (Shift+O)"
|
||||
new "Консоль (Shift+O)"
|
||||
|
||||
# _developer/developer.rpym:49
|
||||
old "Variable Viewer"
|
||||
new "Просмотр переменных"
|
||||
|
||||
# _developer/developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "Инструмент позиционирования на изображениях"
|
||||
|
||||
# _developer/developer.rpym:53
|
||||
old "Filename List"
|
||||
new "Список файлов"
|
||||
|
||||
# _developer/developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "Показать лог загрузки изображений (F4)"
|
||||
|
||||
# _developer/developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "Скрыть лог загрузки изображений (F4)"
|
||||
|
||||
# _developer/developer.rpym:95
|
||||
old "Nothing to inspect."
|
||||
new "Переменные не заданы."
|
||||
|
||||
# _developer/developer.rpym:223
|
||||
old "Return to the developer menu"
|
||||
new "Вернуться в меню разработчика"
|
||||
|
||||
# _developer/developer.rpym:383
|
||||
old "Rectangle: %r"
|
||||
new "Прямоугольник: %r"
|
||||
|
||||
# _developer/developer.rpym:388
|
||||
old "Mouse position: %r"
|
||||
new "Позиция мыши: %r"
|
||||
|
||||
# _developer/developer.rpym:393
|
||||
old "Right-click or escape to quit."
|
||||
new "Нажмите правую кнопку мыши или ESC чтобы выйти."
|
||||
|
||||
# _developer/developer.rpym:425
|
||||
old "Rectangle copied to clipboard."
|
||||
new "Координаты прямоугольника скопированы в буфер обмена."
|
||||
|
||||
# _developer/developer.rpym:428
|
||||
old "Position copied to clipboard."
|
||||
new "Координаты позиции скопированы в буфер обмена."
|
||||
|
||||
# _developer/developer.rpym:447
|
||||
old "Type to filter: "
|
||||
new "Текущий фильтр: "
|
||||
|
||||
# _developer/developer.rpym:575
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Текстур: [tex_count] ([tex_size_mb:.1f] МБ)"
|
||||
|
||||
# _developer/developer.rpym:579
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "Кеш изображений: [cache_pct:.1f]% ([cache_size_mb:.1f] МБ)"
|
||||
|
||||
# _developer/developer.rpym:589
|
||||
old "✔ "
|
||||
new "✔ "
|
||||
|
||||
# _developer/developer.rpym:592
|
||||
old "✘ "
|
||||
new "✘ "
|
||||
|
||||
# _developer/developer.rpym:597
|
||||
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
|
||||
new "\n{color=#cfc}✔ предсказанное изображение (хорошо){/color}\n{color=#fcc}✘ внезапное изображение (плохо){/color}\n{color=#fff}Нажмите, чтобы передвинуть.{/color}"
|
||||
|
||||
# _developer/inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
new "Диспетчер объектов"
|
||||
|
||||
# _developer/inspector.rpym:61
|
||||
old "Size"
|
||||
new "Разрешение"
|
||||
|
||||
# _developer/inspector.rpym:65
|
||||
old "Style"
|
||||
new "Стиль"
|
||||
|
||||
# _developer/inspector.rpym:71
|
||||
old "Location"
|
||||
new "Местоположение"
|
||||
|
||||
# _developer/inspector.rpym:122
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "Инспектирую стили [displayable_name!q]"
|
||||
|
||||
# _developer/inspector.rpym:139
|
||||
old "displayable:"
|
||||
new "объект:"
|
||||
|
||||
# _developer/inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (на объект не влияют никакие параметры)"
|
||||
|
||||
# _developer/inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
new " (настройки по умолчанию опущены)"
|
||||
|
||||
# _developer/inspector.rpym:185
|
||||
old "<repr() failed>"
|
||||
new "<repr() провален>"
|
||||
|
||||
# 00console.rpy:255
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "Нажмите <esc>, чтобы выйти из консоли. Введите help для помощи.\n"
|
||||
|
||||
@@ -141,75 +141,75 @@ translate russian strings:
|
||||
old "Back (B)"
|
||||
new "Back (B)"
|
||||
|
||||
# _errorhandling.rpym:528
|
||||
# _errorhandling.rpym:529
|
||||
old "Open"
|
||||
new "Журнал"
|
||||
|
||||
# _errorhandling.rpym:530
|
||||
# _errorhandling.rpym:531
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "Открывает файл traceback.txt в текстовом редакторе."
|
||||
|
||||
# _errorhandling.rpym:532
|
||||
# _errorhandling.rpym:533
|
||||
old "Copy"
|
||||
new "Копировать"
|
||||
|
||||
# _errorhandling.rpym:534
|
||||
# _errorhandling.rpym:535
|
||||
old "Copies the traceback.txt file to the clipboard."
|
||||
new "Копирует файл traceback.txt в буфер обмена."
|
||||
|
||||
# _errorhandling.rpym:561
|
||||
# _errorhandling.rpym:562
|
||||
old "An exception has occurred."
|
||||
new "Возникло исключение."
|
||||
|
||||
# _errorhandling.rpym:581
|
||||
# _errorhandling.rpym:582
|
||||
old "Rollback"
|
||||
new "Назад"
|
||||
|
||||
# _errorhandling.rpym:583
|
||||
# _errorhandling.rpym:584
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "Пытается вернуться назад, позволяя вам сохраниться или принять другой выбор."
|
||||
|
||||
# _errorhandling.rpym:586
|
||||
# _errorhandling.rpym:587
|
||||
old "Ignore"
|
||||
new "Игнорировать"
|
||||
|
||||
# _errorhandling.rpym:590
|
||||
# _errorhandling.rpym:591
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "Игнорирует это исключение, позволяя вам продолжить."
|
||||
|
||||
# _errorhandling.rpym:592
|
||||
# _errorhandling.rpym:593
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "Игнорирует это исключение, позволяя вам продолжить. Зачастую это ведёт к дополнительным ошибкам."
|
||||
|
||||
# _errorhandling.rpym:596
|
||||
# _errorhandling.rpym:597
|
||||
old "Reload"
|
||||
new "Перезагрузить"
|
||||
|
||||
# _errorhandling.rpym:598
|
||||
# _errorhandling.rpym:599
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "Перезагружает игру с диска, сохраняя и восстанавливая её состояние, если это возможно."
|
||||
|
||||
# _errorhandling.rpym:601
|
||||
# _errorhandling.rpym:602
|
||||
old "Console"
|
||||
new "Консоль"
|
||||
|
||||
# _errorhandling.rpym:603
|
||||
# _errorhandling.rpym:604
|
||||
old "Opens a console to allow debugging the problem."
|
||||
new "Открывает консоль, позволяющую отладить проблему."
|
||||
|
||||
# _errorhandling.rpym:613
|
||||
# _errorhandling.rpym:614
|
||||
old "Quits the game."
|
||||
new "Выходит из игры."
|
||||
|
||||
# _errorhandling.rpym:637
|
||||
# _errorhandling.rpym:638
|
||||
old "Parsing the script failed."
|
||||
new "Обработка сценария завершилась неудачно."
|
||||
|
||||
# _errorhandling.rpym:663
|
||||
# _errorhandling.rpym:664
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "Открывает файл errors.txt в текстовом редакторе."
|
||||
|
||||
# _errorhandling.rpym:667
|
||||
# _errorhandling.rpym:668
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "Копирует файл errors.txt в буфер обмена."
|
||||
|
||||
|
||||
@@ -138,7 +138,7 @@ translate russian strings:
|
||||
new "## Границы окна, содержащего имя персонажа слева, сверху, справа и снизу по порядку."
|
||||
|
||||
# gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Если True, фон текстового окна будет моститься (расширяться по эффекту плитки). Если False, фон текстового окна будет фиксированным."
|
||||
|
||||
# gui.rpy:129
|
||||
@@ -221,215 +221,215 @@ translate russian strings:
|
||||
old "## The save slot button."
|
||||
new "## Кнопка слота сохранения."
|
||||
|
||||
# gui.rpy:231
|
||||
# gui.rpy:233
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## Ширина и высота миниатюры, используемой слотом сохранения."
|
||||
|
||||
# gui.rpy:235
|
||||
# gui.rpy:237
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## Количество колонок и рядов в таблице слотов."
|
||||
|
||||
# gui.rpy:240
|
||||
# gui.rpy:242
|
||||
old "## Positioning and Spacing"
|
||||
new "## Позиционирование и Интервалы"
|
||||
|
||||
# gui.rpy:242
|
||||
# gui.rpy:244
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## Эти переменные контролируют позиционирование и интервалы различных элементов пользовательского интерфейса."
|
||||
|
||||
# gui.rpy:245
|
||||
# gui.rpy:247
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## Местоположение левого края навигационных кнопок по отношению к левому краю экрана."
|
||||
|
||||
# gui.rpy:249
|
||||
# gui.rpy:251
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## Вертикальная позиция индикатора пропуска."
|
||||
|
||||
# gui.rpy:252
|
||||
# gui.rpy:254
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## Вертикальная позиция экрана уведомлений."
|
||||
|
||||
# gui.rpy:255
|
||||
# gui.rpy:257
|
||||
old "## The spacing between menu choices."
|
||||
new "## Интервал между выборами в меню."
|
||||
|
||||
# gui.rpy:258
|
||||
# gui.rpy:260
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## Кнопки в секции навигации главного и игрового меню."
|
||||
|
||||
# gui.rpy:261
|
||||
# gui.rpy:263
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## Контролирует интервал между настройками."
|
||||
|
||||
# gui.rpy:264
|
||||
# gui.rpy:266
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## Контролирует интервал между кнопками настройки."
|
||||
|
||||
# gui.rpy:267
|
||||
# gui.rpy:269
|
||||
old "## The spacing between file page buttons."
|
||||
new "## Интервал между кнопками страниц."
|
||||
|
||||
# gui.rpy:270
|
||||
# gui.rpy:272
|
||||
old "## The spacing between file slots."
|
||||
new "## Интервал между слотами."
|
||||
|
||||
# gui.rpy:273
|
||||
# gui.rpy:275
|
||||
old "## The position of the main menu text."
|
||||
new "## Позиция текста главного меню."
|
||||
|
||||
# gui.rpy:277
|
||||
# gui.rpy:279
|
||||
old "## Frames"
|
||||
new "## Рамки"
|
||||
|
||||
# gui.rpy:279
|
||||
# gui.rpy:281
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## Эти переменные контролируют вид рамок, содержащих компоненты пользовательского интерфейса, когда наложения или окна не представлены."
|
||||
|
||||
# gui.rpy:282
|
||||
# gui.rpy:284
|
||||
old "## Generic frames."
|
||||
new "## Генерируем рамки."
|
||||
|
||||
# gui.rpy:285
|
||||
# gui.rpy:287
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## Рамки, используемые в частях экрана подтверждения."
|
||||
|
||||
# gui.rpy:288
|
||||
# gui.rpy:290
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## Рамки, используемые в частях экрана пропуска."
|
||||
|
||||
# gui.rpy:291
|
||||
# gui.rpy:293
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## Рамки, используемые в частях экрана уведомлений."
|
||||
|
||||
# gui.rpy:294
|
||||
# gui.rpy:296
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## Должны ли фоны рамок моститься?"
|
||||
|
||||
# gui.rpy:298
|
||||
# gui.rpy:300
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## Панели, Полосы прокрутки и Ползунки"
|
||||
|
||||
# gui.rpy:300
|
||||
# gui.rpy:302
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## Эти настройки контролируют вид и размер панелей, полос прокрутки и ползунков."
|
||||
|
||||
# gui.rpy:302
|
||||
# gui.rpy:304
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## Стандартный GUI использует только ползунки и вертикальные полосы прокрутки. Все остальные полосы используются только в новосозданных экранах."
|
||||
|
||||
# gui.rpy:305
|
||||
# gui.rpy:307
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## Высота горизонтальных панелей, полос прокрутки и ползунков. Ширина вертикальных панелей, полос прокрутки и ползунков."
|
||||
|
||||
# gui.rpy:311
|
||||
# gui.rpy:313
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## True, если изображения панелей должны моститься. False, если они должны быть линейно масштабированы."
|
||||
|
||||
# gui.rpy:316
|
||||
# gui.rpy:318
|
||||
old "## Horizontal borders."
|
||||
new "## Горизонтальные границы."
|
||||
|
||||
# gui.rpy:321
|
||||
# gui.rpy:323
|
||||
old "## Vertical borders."
|
||||
new "## Вертикальные границы."
|
||||
|
||||
# gui.rpy:326
|
||||
# gui.rpy:328
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## Что делать с непрокручиваемыми полосами прокрутки в интерфейсе. \"hide\" прячет их, а None их показывает."
|
||||
|
||||
# gui.rpy:331
|
||||
# gui.rpy:333
|
||||
old "## History"
|
||||
new "## История"
|
||||
|
||||
# gui.rpy:333
|
||||
# gui.rpy:335
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## Экран истории показывает диалог, который игрок уже прошёл."
|
||||
|
||||
# gui.rpy:335
|
||||
# gui.rpy:337
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## Количество диалоговых блоков истории, которые Ren'Py будет хранить."
|
||||
|
||||
# gui.rpy:338
|
||||
# gui.rpy:340
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## Высота доступных записей на экране истории, или None, чтобы задать высоту в зависимости от производительности."
|
||||
|
||||
# gui.rpy:342
|
||||
# gui.rpy:344
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## Местоположение, ширина и выравнивание заголовка, показывающего имя говорящего персонажа."
|
||||
|
||||
# gui.rpy:349
|
||||
# gui.rpy:351
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## Местоположение, ширина и выравнивание диалогового текста."
|
||||
|
||||
# gui.rpy:356
|
||||
# gui.rpy:358
|
||||
old "## NVL-Mode"
|
||||
new "## Режим NVL"
|
||||
|
||||
# gui.rpy:358
|
||||
# gui.rpy:360
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## Экран режима NVL показывает диалог NVL персонажей."
|
||||
|
||||
# gui.rpy:360
|
||||
# gui.rpy:362
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## Границы фона окна NVL."
|
||||
|
||||
# gui.rpy:363
|
||||
# gui.rpy:365
|
||||
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
new "## Максимальное число показываемых строк в режиме NVL. Когда количество строчек начинает превышать это значение, старые строчки очищаются."
|
||||
|
||||
# gui.rpy:367
|
||||
# gui.rpy:369
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## Высота доступных строчек в режиме NVL. Установите на None, чтобы строчки динамически регулировали свою высоту."
|
||||
|
||||
# gui.rpy:371
|
||||
# gui.rpy:373
|
||||
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## Интервал между строчками в режиме NVL, если gui.nvl_height имеет значение None, а также между строчками и меню режима NVL."
|
||||
|
||||
# gui.rpy:388
|
||||
# gui.rpy:390
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## Местоположение, ширина и выравнивание текста nvl_thought (текст от лица персонажа nvl_narrator)."
|
||||
|
||||
# gui.rpy:395
|
||||
# gui.rpy:397
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## Местоположение кнопок меню NVL."
|
||||
|
||||
# gui.rpy:399
|
||||
# gui.rpy:401
|
||||
old "## Localization"
|
||||
new "## Локализация"
|
||||
|
||||
# gui.rpy:401
|
||||
# gui.rpy:403
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## Эта настройка контролирует доступ к разрыву линий. Стандартная настройка подходит для большинства языков. Список доступных значений можно найти на https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
|
||||
# gui.rpy:409
|
||||
# gui.rpy:411
|
||||
old "## Mobile devices"
|
||||
new "## Мобильные устройства"
|
||||
|
||||
# gui.rpy:414
|
||||
# gui.rpy:416
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## Этот параметр увеличивает размер быстрых кнопок, чтобы сделать их доступнее для нажатия на планшетах и телефонах."
|
||||
|
||||
# gui.rpy:420
|
||||
# gui.rpy:422
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## Это изменяет размеры и интервалы различных элементов GUI, чтобы убедиться, что они будут лучше видны на телефонах."
|
||||
|
||||
# gui.rpy:424
|
||||
# gui.rpy:426
|
||||
old "## Font sizes."
|
||||
new "## Размеры шрифтов."
|
||||
|
||||
# gui.rpy:432
|
||||
# gui.rpy:434
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## Регулирует местоположение текстового окна."
|
||||
|
||||
# gui.rpy:438
|
||||
# gui.rpy:440
|
||||
old "## Change the size and spacing of various things."
|
||||
new "## Изменяет размеры и интервалы различных объектов."
|
||||
|
||||
# gui.rpy:451
|
||||
# gui.rpy:453
|
||||
old "## File button layout."
|
||||
new "## Местоположение кнопок слотов."
|
||||
|
||||
# gui.rpy:455
|
||||
# gui.rpy:457
|
||||
old "## NVL-mode."
|
||||
new "## Режим NVL."
|
||||
|
||||
|
||||
@@ -34,8 +34,8 @@ translate russian strings:
|
||||
new "Чтобы построить Android-пакет, пожалуйста, загрузите RAPT, разархивируйте его и поместить в директорию Ren'Py. Затем перезагрузите лаунчер Ren'Py."
|
||||
|
||||
# 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 "Чтобы построить Android-пакеты на Windows требуется 32-разрядный инструментарий разработки Java. JDK отличен от JRE, и возможно, у вас есть Java без JDK.\n\nПожалуйста, {a=httpу://www.oracle.com/technetwork/java/javase/downloads/index.html}загрузите и установите JDK{/a}, и перезапустите лаунчер Ren'Py."
|
||||
old "A 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 "Чтобы построить Android-пакеты на Windows требуется инструментарий разработки Java 8. JDK отличен от JRE, и возможно, у вас есть Java без JDK.\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."
|
||||
@@ -90,112 +90,344 @@ translate russian strings:
|
||||
new "Собирает Android-пакет, устанавливает его на Android-устройстве, подключённом к компьютеру, а затем запускает приложение на устройстве."
|
||||
|
||||
# android.rpy:48
|
||||
old "Connects to an Android device running ADB in TCP/IP mode."
|
||||
new "Присоединение к Android-устройству с запущенным Android Debug Bridge в режиме TCP/IP."
|
||||
|
||||
# android.rpy:49
|
||||
old "Disconnects from an Android device running ADB in TCP/IP mode."
|
||||
new "Отсоединение от Android-устройства с запущенным Android Debug Bridge в режиме TCP/IP."
|
||||
old "Retrieves the log from the Android device and writes it to a file."
|
||||
new "Берёт лог с Андроид-устройства и пишет его в файл."
|
||||
|
||||
# android.rpy:50
|
||||
old "Retrieves the log from the Android device and writes it to a file."
|
||||
new "Берёт лог с Android-устройства и пишет его в файл."
|
||||
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
|
||||
new "Выбор сборки Отладки, доступной для Android Studio. Смена режимов между отладкой и релизом требует предварительного удаления приложения с вашего устройства."
|
||||
|
||||
# android.rpy:244
|
||||
# android.rpy:51
|
||||
old "Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device."
|
||||
new "Выбор сборки Релиза, которую можно загружать в магазины приложений. Смена режимов между отладкой и релизом требует предварительного удаления приложения с вашего устройства."
|
||||
|
||||
# android.rpy:245
|
||||
old "Copying Android files to distributions directory."
|
||||
new "Копирую файлы Android в директорию дистрибутивов."
|
||||
|
||||
# android.rpy:308
|
||||
# android.rpy:313
|
||||
old "Android: [project.current.display_name!q]"
|
||||
new "Android: [project.current.display_name!q]"
|
||||
|
||||
# android.rpy:328
|
||||
# android.rpy:333
|
||||
old "Emulation:"
|
||||
new "Эмуляция:"
|
||||
|
||||
# android.rpy:337
|
||||
# android.rpy:342
|
||||
old "Phone"
|
||||
new "Телефон"
|
||||
|
||||
# android.rpy:341
|
||||
# android.rpy:346
|
||||
old "Tablet"
|
||||
new "Планшет"
|
||||
|
||||
# android.rpy:345
|
||||
# android.rpy:350
|
||||
old "Television"
|
||||
new "Телевизор"
|
||||
|
||||
# android.rpy:357
|
||||
# android.rpy:362
|
||||
old "Build:"
|
||||
new "Собрать:"
|
||||
|
||||
# android.rpy:365
|
||||
# android.rpy:373
|
||||
old "Debug"
|
||||
new "Отладку"
|
||||
|
||||
# android.rpy:377
|
||||
old "Release"
|
||||
new "Релиз"
|
||||
|
||||
# android.rpy:384
|
||||
old "Install SDK & Create Keys"
|
||||
new "Установить SDK и создать ключи"
|
||||
|
||||
# android.rpy:369
|
||||
# android.rpy:388
|
||||
old "Configure"
|
||||
new "Настроить"
|
||||
|
||||
# android.rpy:373
|
||||
# android.rpy:392
|
||||
old "Build Package"
|
||||
new "Собрать Пакет"
|
||||
|
||||
# android.rpy:377
|
||||
# android.rpy:396
|
||||
old "Build & Install"
|
||||
new "Собрать и Установить"
|
||||
|
||||
# android.rpy:381
|
||||
# android.rpy:400
|
||||
old "Build, Install & Launch"
|
||||
new "Собрать, Установить и Запустить"
|
||||
|
||||
# android.rpy:392
|
||||
# android.rpy:411
|
||||
old "Other:"
|
||||
new "Другое:"
|
||||
|
||||
# android.rpy:400
|
||||
old "Remote ADB Connect"
|
||||
new "Удалённое Соединение с ADB"
|
||||
|
||||
# android.rpy:404
|
||||
old "Remote ADB Disconnect"
|
||||
new "Удалённое Отсоединение от ADB"
|
||||
|
||||
# android.rpy:408
|
||||
# android.rpy:419
|
||||
old "Logcat"
|
||||
new "Logcat"
|
||||
|
||||
# android.rpy:441
|
||||
# android.rpy:452
|
||||
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
|
||||
new "Перед тем как собирать приложения Android, вам нужно загрузить RAPT, инструмент Ren'Py для сбора пакетов Android. Хотите загрузить RAPT сейчас?"
|
||||
new "Перед упаковкой приложений Android вам нужно загрузить RAPT, инструмент упаковки Ren'Py Android. Желаете загрузить RAPT сейчас?"
|
||||
|
||||
# android.rpy:500
|
||||
old "Remote ADB Address"
|
||||
new "Удалённый адрес ADB"
|
||||
|
||||
# android.rpy:500
|
||||
old "Please enter the IP address and port number to connect to, in the form \"192.168.1.143:5555\". Consult your device's documentation to determine if it supports remote ADB, and if so, the address and port to use."
|
||||
new "Пожалуйста, введите IP-адрес и номер порта, чтобы соединиться с устройством, по форме \"192.168.1.143:5555\". Ознакомьтесь с документацией своего устройства, чтобы определить поддерживает ли оно удалённый ADB, и если так, адрес и порт для использования."
|
||||
|
||||
# android.rpy:512
|
||||
old "Invalid remote ADB address"
|
||||
new "Неверный адрес удалённого ADB"
|
||||
|
||||
# android.rpy:512
|
||||
old "The address must contain one exactly one ':'."
|
||||
new "Адрес должен содержать один, только один ':'."
|
||||
|
||||
# android.rpy:516
|
||||
old "The host may not contain whitespace."
|
||||
new "Хост не может содержать пробелы."
|
||||
|
||||
# android.rpy:522
|
||||
old "The port must be a number."
|
||||
new "Порт должен содержать только цифры."
|
||||
|
||||
# android.rpy:548
|
||||
# android.rpy:505
|
||||
old "Retrieving logcat information from device."
|
||||
new "Извлекаю информацию logcat из устройства."
|
||||
new "Извлекаю информацию logcat с устройства."
|
||||
|
||||
# androidstrings.rpy:7
|
||||
old "{} is not a directory."
|
||||
new "{} - не папка."
|
||||
|
||||
# androidstrings.rpy:8
|
||||
old "{} does not contain a Ren'Py game."
|
||||
new "{} не содержит игру Ren'Py."
|
||||
|
||||
# androidstrings.rpy:9
|
||||
old "Run configure before attempting to build the app."
|
||||
new "Запуск настройки перед попыткой постройки приложения."
|
||||
|
||||
# androidstrings.rpy:10
|
||||
old "Google Play support is enabled, but build.google_play_key is not defined."
|
||||
new "Поддержка Google Play включена, однако переменная build.google_play_key не определена."
|
||||
|
||||
# androidstrings.rpy:11
|
||||
old "Updating project."
|
||||
new "Обновляю проект"
|
||||
|
||||
# androidstrings.rpy:12
|
||||
old "Creating assets directory."
|
||||
new "Создаю директорию ресурсов"
|
||||
|
||||
# androidstrings.rpy:13
|
||||
old "Creating expansion file."
|
||||
new "Создаю файл-расширение"
|
||||
|
||||
# androidstrings.rpy:14
|
||||
old "Packaging internal data."
|
||||
new "Пакую внутренние данные"
|
||||
|
||||
# androidstrings.rpy:15
|
||||
old "I'm using Gradle to build the package."
|
||||
new "Использую Gradle для сборки пакета"
|
||||
|
||||
# androidstrings.rpy:16
|
||||
old "Uploading expansion file."
|
||||
new "Загружаю файл-расширение"
|
||||
|
||||
# androidstrings.rpy:17
|
||||
old "The build seems to have failed."
|
||||
new "Ой, ошибка со сборкой приключилась..."
|
||||
|
||||
# androidstrings.rpy:18
|
||||
old "Launching app."
|
||||
new "Запускаю приложение"
|
||||
|
||||
# androidstrings.rpy:19
|
||||
old "The build seems to have succeeded."
|
||||
new "Кажется, сборка прошла успешно!"
|
||||
|
||||
# androidstrings.rpy:20
|
||||
old "What is the full name of your application? This name will appear in the list of installed applications."
|
||||
new "Каким будет полное имя вашего приложения? Это имя будет представлено в списке установленных приложений."
|
||||
|
||||
# androidstrings.rpy:21
|
||||
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
|
||||
new "Каким будет короткое имя вашего приложения? Это имя будет использоваться в лаунчере, а также ярлыках приложения."
|
||||
|
||||
# androidstrings.rpy:22
|
||||
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
|
||||
new "Каким будет имя собранного пакета?\n\nОбычно оно имеет форму com.domain.program или com.domain.email.program. Имя может содержать только символы ASCII и точки. Также оно должно содержать хотя бы одну точку."
|
||||
|
||||
# androidstrings.rpy:23
|
||||
old "The package name may not be empty."
|
||||
new "Имя пакета не может быть пустым."
|
||||
|
||||
# androidstrings.rpy:24
|
||||
old "The package name may not contain spaces."
|
||||
new "В имени пакета не должно быть пробелов."
|
||||
|
||||
# androidstrings.rpy:25
|
||||
old "The package name must contain at least one dot."
|
||||
new "Имя пакета должно содержать как минимум одну точку."
|
||||
|
||||
# androidstrings.rpy:26
|
||||
old "The package name may not contain two dots in a row, or begin or end with a dot."
|
||||
new "Имя пакета не должно содержать две и более точек подряд, или начинаться и заканчиваться с точки."
|
||||
|
||||
# androidstrings.rpy:27
|
||||
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
|
||||
new "Каждая часть имя пакета должна начинаться с буквы и содержать только английские буквы, цифры и подчёркивания."
|
||||
|
||||
# androidstrings.rpy:28
|
||||
old "{} is a Java keyword, and can't be used as part of a package name."
|
||||
new "{} - оператор Java, его нельзя использовать в имени пакета."
|
||||
|
||||
# androidstrings.rpy:29
|
||||
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
|
||||
new "Какой будет версия приложения?\n\nВерсия приложения представлена для человека и независима от config.version. Она может содержать только цифры и точки."
|
||||
|
||||
# androidstrings.rpy:30
|
||||
old "The version number must contain only numbers and dots."
|
||||
new "Номер версии должен содержать только цифры и точки."
|
||||
|
||||
# androidstrings.rpy:31
|
||||
old "What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions."
|
||||
new "Каким будет код версии?\n\nЭто должно быть положительное целое число, и его значение должно увеличиваться с каждой версией."
|
||||
|
||||
# androidstrings.rpy:32
|
||||
old "The numeric version must contain only numbers."
|
||||
new "Целое версии должно содержать только цифры."
|
||||
|
||||
# androidstrings.rpy:33
|
||||
old "How would you like your application to be displayed?"
|
||||
new "В какой ориентации экрана вы хотите отображать ваше приложение?"
|
||||
|
||||
# androidstrings.rpy:34
|
||||
old "In landscape orientation."
|
||||
new "В альбомном виде."
|
||||
|
||||
# androidstrings.rpy:35
|
||||
old "In portrait orientation."
|
||||
new "В портретном виде."
|
||||
|
||||
# androidstrings.rpy:36
|
||||
old "In the user's preferred orientation."
|
||||
new "По желанию пользователя."
|
||||
|
||||
# androidstrings.rpy:37
|
||||
old "Which app store would you like to support in-app purchasing through?"
|
||||
new "Через какой магазин приложений вы желаете поддерживать микротранзакции внутри приложения?"
|
||||
|
||||
# androidstrings.rpy:38
|
||||
old "Google Play."
|
||||
new "Google Play."
|
||||
|
||||
# androidstrings.rpy:39
|
||||
old "Amazon App Store."
|
||||
new "Магазин приложений Amazon."
|
||||
|
||||
# androidstrings.rpy:40
|
||||
old "Both, in one app."
|
||||
new "Оба, в одном приложении."
|
||||
|
||||
# androidstrings.rpy:41
|
||||
old "Neither."
|
||||
new "Отключить."
|
||||
|
||||
# androidstrings.rpy:42
|
||||
old "Would you like to create an expansion APK?"
|
||||
new "Желаете создать пакет в формате APK+кэш?"
|
||||
|
||||
# androidstrings.rpy:43
|
||||
old "No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded."
|
||||
new "Нет. Ограничение по размеру в Google Play - 100 МБ, но может распространяться через другие магазины или локально."
|
||||
|
||||
# androidstrings.rpy:44
|
||||
old "Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)"
|
||||
new "Да. Ограничение в 2 ГБ, но не будет работать вне среды Google Play. (Ознакомьтесь с {a=https://renpy.org/doc/html/android.html?highlight=apk#google-play-expansion-apks}документацией{/a})"
|
||||
|
||||
# androidstrings.rpy:45
|
||||
old "Do you want to allow the app to access the Internet?"
|
||||
new "Желаете разрешить вашему приложению доступ в Интернет?"
|
||||
|
||||
# androidstrings.rpy:46
|
||||
old "Do you want to automatically update the generated project?"
|
||||
new "Желаете автоматически обновлять сгенерированный проект?"
|
||||
|
||||
# androidstrings.rpy:47
|
||||
old "Yes. This is the best choice for most projects."
|
||||
new "Да. Это лучшее решение для большинства проектов."
|
||||
|
||||
# androidstrings.rpy:48
|
||||
old "No. This may require manual updates when Ren'Py or the project configuration changes."
|
||||
new "Нет. Это решение может потребовать ручных обновлений при изменении Ren'Py или конфигурации проекта."
|
||||
|
||||
# androidstrings.rpy:49
|
||||
old "Unknown configuration variable: {}"
|
||||
new "Неизвестная конфигурационная переменная: {}"
|
||||
|
||||
# androidstrings.rpy:50
|
||||
old "I'm compiling a short test program, to see if you have a working JDK on your system."
|
||||
new "Сейчас я компилирую небольшую тестовую программу, чтобы убедиться, что в вашей системе есть работающий JDK."
|
||||
|
||||
# androidstrings.rpy:51
|
||||
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, пожалуйста, загрузите его с:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nJDK отличается от JRE, так что есть вероятность, что у вас установлена Java без JDK. Без функционирующего JDK я не могу продолжить."
|
||||
|
||||
# androidstrings.rpy:52
|
||||
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 variabe to use a different version of Java."
|
||||
new "Судя по всему, версия Java на вашем компьютере - не JDK 8, единственная версия, поддерживаемая Android SDK. Если вам нужно установить JDK 8, вы можете скачать его с:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nТакже вы можете изменить переменную окружения JAVA_HOME, чтобы воспользоваться другой версией Java."
|
||||
|
||||
# androidstrings.rpy:53
|
||||
old "The JDK is present and working. Good!"
|
||||
new "JDK найден и работает. Отлично!"
|
||||
|
||||
# androidstrings.rpy:54
|
||||
old "The Android SDK has already been unpacked."
|
||||
new "Android SDK уже распакован."
|
||||
|
||||
# androidstrings.rpy:55
|
||||
old "Do you accept the Android SDK Terms and Conditions?"
|
||||
new "Вы принимаете условияя и положения пользования Android SDK?"
|
||||
|
||||
# androidstrings.rpy:56
|
||||
old "I'm downloading the Android SDK. This might take a while."
|
||||
new "Загружаю Android SDK. Это может занять некоторое время."
|
||||
|
||||
# androidstrings.rpy:57
|
||||
old "I'm extracting the Android SDK."
|
||||
new "Извлекаю Android SDK."
|
||||
|
||||
# androidstrings.rpy:58
|
||||
old "I've finished unpacking the Android SDK."
|
||||
new "Извлечение Android SDK завершено."
|
||||
|
||||
# androidstrings.rpy:59
|
||||
old "I'm about to download and install the required Android packages. This might take a while."
|
||||
new "Начинаю загрузку и установку необходимых пакетов Android. Это может занять время."
|
||||
|
||||
# androidstrings.rpy:60
|
||||
old "I was unable to accept the Android licenses."
|
||||
new "Внимание, не удалось принять соглашения Android!"
|
||||
|
||||
# androidstrings.rpy:61
|
||||
old "I was unable to install the required Android packages."
|
||||
new "Установка необходимых пакетов Android не удалась!"
|
||||
|
||||
# androidstrings.rpy:62
|
||||
old "I've finished installing the required Android packages."
|
||||
new "Заканчиваю установку необходимых пакетов Android."
|
||||
|
||||
# androidstrings.rpy:63
|
||||
old "You set the keystore yourself, so I'll assume it's how you want it."
|
||||
new "Вы сами установили хранилище ключей, так что посмею предположить, что оно настроено так, как вы хотите."
|
||||
|
||||
# androidstrings.rpy:64
|
||||
old "You've already created an Android keystore, so I won't create a new one for you."
|
||||
new "Вы уже создали хранилище ключей Android, так что я не буду создавать для вас новое."
|
||||
|
||||
# androidstrings.rpy:65
|
||||
old "I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?"
|
||||
new "Я могу создать для вас ключ для подписи приложения. Подпись приложения этим ключом позволит разместить его в Android Market и других магазинах приложений.\n\nХотите создать ключ?"
|
||||
|
||||
# androidstrings.rpy:66
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "Я создам ключ в файле android.keystore.\n\nВам нужно сохранить этот файл. Если вы его потеряете, то не сможете обновлять ваше приложение. n.\n\n\\Также вам нужно держать ваш ключ в безопасность. Если злоумышленникам удастся получить его, они потенциально могут создать вредоносную версию приложения и красть данные ваших пользователей.\n\nБудете ли вы хранить android.keystore и держать его в надёжном месте?"
|
||||
|
||||
# androidstrings.rpy:67
|
||||
old "Please enter your name or the name of your organization."
|
||||
new "Пожалуйста, введите ваше имя или имя вашей организации."
|
||||
|
||||
# androidstrings.rpy:68
|
||||
old "Could not create android.keystore. Is keytool in your path?"
|
||||
new "Не могу создать android.keystore. Хранилище ключей расположено в вашем пути файлов?"
|
||||
|
||||
# androidstrings.rpy:69
|
||||
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
|
||||
new "Создание android.keystore завершено. Пожалуйста, сохраните его и держите в надёжном месте."
|
||||
|
||||
# androidstrings.rpy:70
|
||||
old "It looks like you're ready to start packaging games."
|
||||
new "Похоже, вы готовы собирать игры!"
|
||||
|
||||
# choose_directory.rpy:87
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
|
||||
@@ -569,75 +801,75 @@ translate russian strings:
|
||||
old "Please click on the color scheme you wish to use, then click Continue. These colors can be changed and customized later."
|
||||
new "Пожалуйста, кликните на цветовую схему, которую вы хотите использовать, а затем кликните Продолжить. Эти цвета можно изменить позже."
|
||||
|
||||
# gui7.rpy:310
|
||||
# gui7.rpy:311
|
||||
old "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
|
||||
new "{b}Внимание{/b}\nПродолжив, вы перепишете настроенные полосы, кнопки, слоты сохранения, полосы прокрутки и ползунки.\n\nЧто вы хотите сделать?"
|
||||
|
||||
# gui7.rpy:310
|
||||
# gui7.rpy:311
|
||||
old "Choose new colors, then regenerate image files."
|
||||
new "Выбрать новые цвета, затем воссоздать файлы изображений."
|
||||
|
||||
# gui7.rpy:310
|
||||
# gui7.rpy:311
|
||||
old "Regenerate the image files using the colors in gui.rpy."
|
||||
new "Воссоздать файлы изображений используя цвета из gui.rpy."
|
||||
|
||||
# gui7.rpy:330
|
||||
# gui7.rpy:331
|
||||
old "PROJECT NAME"
|
||||
new "ИМЯ ПРОЕКТА"
|
||||
|
||||
# gui7.rpy:330
|
||||
# gui7.rpy:331
|
||||
old "Please enter the name of your project:"
|
||||
new "Пожалуйста, введите имя проекта:"
|
||||
|
||||
# gui7.rpy:338
|
||||
# gui7.rpy:339
|
||||
old "The project name may not be empty."
|
||||
new "Имя проекта не должно быть пустым."
|
||||
|
||||
# gui7.rpy:343
|
||||
# gui7.rpy:344
|
||||
old "[project_name!q] already exists. Please choose a different project name."
|
||||
new "[project_name!q] уже существует. Выберите другое имя проекта."
|
||||
|
||||
# gui7.rpy:346
|
||||
# gui7.rpy:347
|
||||
old "[project_dir!q] already exists. Please choose a different project name."
|
||||
new "[project_dir!q] уже существует. Выберите другое имя проекта."
|
||||
|
||||
# gui7.rpy:357
|
||||
# gui7.rpy:358
|
||||
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
|
||||
new "Какое разрешение будет использовать ваш проект? Хотя Ren'Py может масштабировать окно, это будет целевой размер окна, по отношению к которому будут вырисовываться ресурсы, и на котором они будут наиболее чёткие.\n\nСтандартный 1280x720 — резонный компромисс."
|
||||
|
||||
# gui7.rpy:357
|
||||
# gui7.rpy:358
|
||||
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
|
||||
new "Своё. GUI оптимизирован под соотношение сторон 16:9."
|
||||
|
||||
# gui7.rpy:372
|
||||
# gui7.rpy:373
|
||||
old "WIDTH"
|
||||
new "ШИРИНА"
|
||||
|
||||
# gui7.rpy:372
|
||||
# gui7.rpy:373
|
||||
old "Please enter the width of your game, in pixels."
|
||||
new "Пожалуйста, введите ширину вашей игры в пикселях."
|
||||
|
||||
# gui7.rpy:377
|
||||
# gui7.rpy:378
|
||||
old "The width must be a number."
|
||||
new "Ширина должна быть цифрой."
|
||||
|
||||
# gui7.rpy:379
|
||||
# gui7.rpy:380
|
||||
old "HEIGHT"
|
||||
new "ВЫСОТА"
|
||||
|
||||
# gui7.rpy:379
|
||||
# gui7.rpy:380
|
||||
old "Please enter the height of your game, in pixels."
|
||||
new "Пожалуйста, введите высоту вашей игры в пикселях."
|
||||
|
||||
# gui7.rpy:384
|
||||
# gui7.rpy:385
|
||||
old "The height must be a number."
|
||||
new "Высота должна быть цифрой."
|
||||
|
||||
# gui7.rpy:426
|
||||
# gui7.rpy:427
|
||||
old "Creating the new project..."
|
||||
new "Создаю новый проект..."
|
||||
|
||||
# gui7.rpy:428
|
||||
# gui7.rpy:429
|
||||
old "Updating the project..."
|
||||
new "Обновляю проект..."
|
||||
|
||||
@@ -821,7 +1053,7 @@ translate russian strings:
|
||||
old "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
|
||||
new "Пожалуйста, {a=https://itch.io/game/new}создайте ваш проект{/a}, затем добавьте строку типа\n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} в options.rpy."
|
||||
|
||||
# mobilebuild.rpy:109
|
||||
# mobilebuild.rpy:110
|
||||
old "{a=%s}%s{/a}"
|
||||
new "{a=%s}%s{/a}"
|
||||
|
||||
@@ -829,7 +1061,7 @@ translate russian strings:
|
||||
old "Navigate: [project.current.display_name!q]"
|
||||
new "Навигация: [project.current.display_name!q]"
|
||||
|
||||
# navigation.rpy:177
|
||||
# navigation.rpy:178
|
||||
old "Order: "
|
||||
new "Порядок: "
|
||||
|
||||
@@ -933,91 +1165,87 @@ translate russian strings:
|
||||
old "Please select a template to use for your new project. The template sets the default font and the user interface language. If your language is not supported, choose 'english'."
|
||||
new "Пожалуйста, выберите образец, на котором основывать ваш проект. Образец задаёт шрифт и язык по умолчанию для интерфейса. Если ваш язык не поддерживается, выберите 'english'."
|
||||
|
||||
# preferences.rpy:72
|
||||
# preferences.rpy:73
|
||||
old "Launcher Preferences"
|
||||
new "Настройки лаунчера"
|
||||
|
||||
# preferences.rpy:93
|
||||
# preferences.rpy:94
|
||||
old "Projects Directory:"
|
||||
new "Папка проектов:"
|
||||
|
||||
# preferences.rpy:100
|
||||
# preferences.rpy:101
|
||||
old "[persistent.projects_directory!q]"
|
||||
new "[persistent.projects_directory!q]"
|
||||
|
||||
# preferences.rpy:102
|
||||
# preferences.rpy:103
|
||||
old "Projects directory: [text]"
|
||||
new "Папка проектов: [text]"
|
||||
|
||||
# preferences.rpy:104
|
||||
# preferences.rpy:105
|
||||
old "Not Set"
|
||||
new "Не задано"
|
||||
|
||||
# preferences.rpy:119
|
||||
# preferences.rpy:120
|
||||
old "Text Editor:"
|
||||
new "Текстовый редактор:"
|
||||
|
||||
# preferences.rpy:125
|
||||
# preferences.rpy:126
|
||||
old "Text editor: [text]"
|
||||
new "Текстовый редактор: [text]"
|
||||
|
||||
# preferences.rpy:141
|
||||
old "Update Channel:"
|
||||
new "Канал обновлений:"
|
||||
|
||||
# preferences.rpy:161
|
||||
# preferences.rpy:145
|
||||
old "Navigation Options:"
|
||||
new "Опции навигации:"
|
||||
|
||||
# preferences.rpy:165
|
||||
# preferences.rpy:149
|
||||
old "Include private names"
|
||||
new "Включать приватные имена"
|
||||
|
||||
# preferences.rpy:166
|
||||
# preferences.rpy:150
|
||||
old "Include library names"
|
||||
new "Включать имена библиотек"
|
||||
|
||||
# preferences.rpy:176
|
||||
# preferences.rpy:160
|
||||
old "Launcher Options:"
|
||||
new "Опции лаунчера:"
|
||||
|
||||
# preferences.rpy:180
|
||||
# preferences.rpy:164
|
||||
old "Hardware rendering"
|
||||
new "Аппаратный рендеринг"
|
||||
|
||||
# preferences.rpy:181
|
||||
# preferences.rpy:165
|
||||
old "Show edit file section"
|
||||
new "Показывать секцию редактирования"
|
||||
|
||||
# preferences.rpy:182
|
||||
# preferences.rpy:166
|
||||
old "Large fonts"
|
||||
new "Большие шрифты"
|
||||
|
||||
# preferences.rpy:185
|
||||
# preferences.rpy:169
|
||||
old "Console output"
|
||||
new "Вывод на консоль"
|
||||
|
||||
# preferences.rpy:187
|
||||
# preferences.rpy:173
|
||||
old "Force new tutorial"
|
||||
new "Новое обучение"
|
||||
|
||||
# preferences.rpy:189
|
||||
# preferences.rpy:177
|
||||
old "Legacy options"
|
||||
new "Включить старые темы"
|
||||
|
||||
# preferences.rpy:192
|
||||
# preferences.rpy:180
|
||||
old "Show templates"
|
||||
new "Показывать образцы"
|
||||
|
||||
# preferences.rpy:194
|
||||
# preferences.rpy:182
|
||||
old "Sponsor message"
|
||||
new "Сообщение спонсорам"
|
||||
|
||||
# preferences.rpy:214
|
||||
# preferences.rpy:202
|
||||
old "Open launcher project"
|
||||
new "Открыть проект лаунчера"
|
||||
|
||||
# preferences.rpy:228
|
||||
# preferences.rpy:216
|
||||
old "Language:"
|
||||
new "Язык:"
|
||||
|
||||
@@ -1037,35 +1265,35 @@ translate russian strings:
|
||||
old "Have you backed up your projects recently?"
|
||||
new "Давно сохраняли свои проекты?"
|
||||
|
||||
# project.rpy:280
|
||||
# project.rpy:281
|
||||
old "Launching the project failed."
|
||||
new "Запуск проекта провален."
|
||||
|
||||
# project.rpy:280
|
||||
# project.rpy:281
|
||||
old "Please ensure that your project launches normally before running this command."
|
||||
new "Пожалуйста, убедитесь, что ваш проект нормально запускается перед использованием этой команды."
|
||||
|
||||
# project.rpy:296
|
||||
# project.rpy:297
|
||||
old "Ren'Py is scanning the project..."
|
||||
new "Ren'Py сканирует проект..."
|
||||
|
||||
# project.rpy:725
|
||||
# project.rpy:729
|
||||
old "Launching"
|
||||
new "Запускаю"
|
||||
|
||||
# project.rpy:759
|
||||
# project.rpy:763
|
||||
old "PROJECTS DIRECTORY"
|
||||
new "ДИРЕКТОРИЯ ПРОЕКТОВ"
|
||||
|
||||
# project.rpy:759
|
||||
# project.rpy:763
|
||||
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "Пожалуйста, выберите директорию проектов, используя выборщик директорий.\n{b}Он мог появиться позади этого окна.{/b}"
|
||||
|
||||
# project.rpy:759
|
||||
# project.rpy:763
|
||||
old "This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."
|
||||
new "Лаунчер будет искать проекты в этой директории, создавать новые проекты в этой директории, и размещать построенные проекты в этой директории."
|
||||
|
||||
# project.rpy:764
|
||||
# project.rpy:768
|
||||
old "Ren'Py has set the projects directory to:"
|
||||
new "Ren'Py установила директорию проектов на:"
|
||||
|
||||
@@ -1173,95 +1401,102 @@ translate russian strings:
|
||||
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
|
||||
new "Ren'Py завершила извлечение диалога. Извлечённый диалог можно найти в файле dialogue.[persistent.dialogue_format] в директории проекта."
|
||||
|
||||
# updater.rpy:75
|
||||
old "Select Update Channel"
|
||||
new "Выберите канал обновлений"
|
||||
|
||||
# updater.rpy:86
|
||||
old "The update channel controls the version of Ren'Py the updater will download. Please select an update channel:"
|
||||
new "Канал обновлений выбирает, какую версию Ren'Py скачает программа для обновления. Выберите канал:"
|
||||
|
||||
# updater.rpy:91
|
||||
old "Release"
|
||||
new "Релиз"
|
||||
|
||||
# updater.rpy:97
|
||||
# updater.rpy:63
|
||||
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
|
||||
new "{b}Рекомендуется.{/b} Эта версия Ren'Py должна использоваться для всех новых игр."
|
||||
|
||||
# updater.rpy:102
|
||||
# updater.rpy:65
|
||||
old "Prerelease"
|
||||
new "Пререлиз"
|
||||
|
||||
# updater.rpy:108
|
||||
# updater.rpy:66
|
||||
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
|
||||
new "Публичный анонс следующей версии Ren'Py, который можно использовать для тестирования, в том числе новых возможностей Ren'Py, но не для финальных релизов игр."
|
||||
|
||||
# updater.rpy:114
|
||||
# updater.rpy:68
|
||||
old "Experimental"
|
||||
new "Экспериментальный"
|
||||
|
||||
# updater.rpy:120
|
||||
# updater.rpy:69
|
||||
old "Experimental versions of Ren'Py. You shouldn't select this channel unless asked by a Ren'Py developer."
|
||||
new "Экспериментальные версии Ren'Py. Не выбирайте этот канал, если вас не просил об этом разработчик Ren'Py."
|
||||
|
||||
# updater.rpy:126
|
||||
# updater.rpy:71
|
||||
old "Nightly"
|
||||
new "Ночной"
|
||||
|
||||
# updater.rpy:132
|
||||
# updater.rpy:72
|
||||
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
|
||||
new "Развитие Ren'Py на краю горизонта событий. Здесь можно найти новейшие возможности Ren'Py или всё может просто не запуститься."
|
||||
|
||||
# updater.rpy:152
|
||||
# updater.rpy:90
|
||||
old "Select Update Channel"
|
||||
new "Выберите канал обновлений"
|
||||
|
||||
# updater.rpy:101
|
||||
old "The update channel controls the version of Ren'Py the updater will download."
|
||||
new "Канал обновлений отвечает за версию Ren'Py, скачиваемую через обновление."
|
||||
|
||||
# updater.rpy:110
|
||||
old "• This version is installed and up-to-date."
|
||||
new "• На данный момент установлена эта версия."
|
||||
|
||||
# updater.rpy:118
|
||||
old "%B %d, %Y"
|
||||
new "%B %d, %Y"
|
||||
|
||||
# updater.rpy:140
|
||||
old "An error has occured:"
|
||||
new "Возникла ошибка:"
|
||||
|
||||
# updater.rpy:154
|
||||
# updater.rpy:142
|
||||
old "Checking for updates."
|
||||
new "Проверка обновлений."
|
||||
|
||||
# updater.rpy:156
|
||||
# updater.rpy:144
|
||||
old "Ren'Py is up to date."
|
||||
new "Ren'Py обновлена."
|
||||
|
||||
# updater.rpy:158
|
||||
# updater.rpy:146
|
||||
old "[u.version] is now available. Do you want to install it?"
|
||||
new "[u.version] доступна. Вы хотите её установить?"
|
||||
|
||||
# updater.rpy:160
|
||||
# updater.rpy:148
|
||||
old "Preparing to download the update."
|
||||
new "Подготовка к обновлению."
|
||||
|
||||
# updater.rpy:162
|
||||
# updater.rpy:150
|
||||
old "Downloading the update."
|
||||
new "Загрузка обновления."
|
||||
|
||||
# updater.rpy:164
|
||||
# updater.rpy:152
|
||||
old "Unpacking the update."
|
||||
new "Распаковка обновления."
|
||||
|
||||
# updater.rpy:166
|
||||
# updater.rpy:154
|
||||
old "Finishing up."
|
||||
new "Завершаю..."
|
||||
|
||||
# updater.rpy:168
|
||||
# updater.rpy:156
|
||||
old "The update has been installed. Ren'Py will restart."
|
||||
new "Обновление было установлено. Ren'Py будет перезапущена."
|
||||
|
||||
# updater.rpy:170
|
||||
# updater.rpy:158
|
||||
old "The update has been installed."
|
||||
new "Обновление было установлено."
|
||||
|
||||
# updater.rpy:172
|
||||
# updater.rpy:160
|
||||
old "The update was cancelled."
|
||||
new "Обновление было отменено."
|
||||
|
||||
# updater.rpy:189
|
||||
# updater.rpy:177
|
||||
old "Ren'Py Update"
|
||||
new "Обновление Ren'Py"
|
||||
|
||||
# updater.rpy:195
|
||||
# updater.rpy:183
|
||||
old "Proceed"
|
||||
new "Продолжить"
|
||||
|
||||
# updater.rpy:188
|
||||
old "Fetching the list of update channels"
|
||||
new "Запрашиваю список каналов обновления"
|
||||
|
||||
@@ -1,27 +0,0 @@
|
||||
|
||||
translate russian strings:
|
||||
|
||||
# _layout/classic_joystick_preferences.rpym:94
|
||||
old "Joystick Mapping"
|
||||
new "Раскладка джойстика"
|
||||
|
||||
# _layout/classic_load_save.rpym:138
|
||||
old "Empty Slot."
|
||||
new "Пустой слот"
|
||||
|
||||
# _layout/classic_load_save.rpym:170
|
||||
old "a"
|
||||
new "а"
|
||||
|
||||
# _layout/classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "б"
|
||||
|
||||
# _compat/gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "Назад"
|
||||
|
||||
# _compat/gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "Далее"
|
||||
|
||||
@@ -205,7 +205,7 @@ translate russian strings:
|
||||
old "## Reserve space for the navigation section."
|
||||
new "## Резервирует пространство для навигации."
|
||||
|
||||
# screens.rpy:471
|
||||
# screens.rpy:473
|
||||
old "Return"
|
||||
new "Вернуться"
|
||||
|
||||
@@ -297,7 +297,7 @@ translate russian strings:
|
||||
old "{#auto_page}A"
|
||||
new "{#auto_page}А"
|
||||
|
||||
# screens.rpy:667
|
||||
# screens.rpy:669
|
||||
old "{#quick_page}Q"
|
||||
new "{#quick_page}Б"
|
||||
|
||||
|
||||
@@ -138,8 +138,8 @@ translate simplified_chinese strings:
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
@@ -138,7 +138,7 @@ translate spanish strings:
|
||||
new "## Los bordes de la caja que contiene el nombre del personaje, en orden: izquierda, arriba, derecha, abajo."
|
||||
|
||||
# gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Si es 'True, el fondo de la caja del nombre será en mosaico, si es 'False', el fondo, si la caja del nombre es escalada."
|
||||
|
||||
# gui.rpy:129
|
||||
|
||||
@@ -138,8 +138,8 @@ translate traditional_chinese strings:
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
@@ -138,8 +138,8 @@ translate vietnamese strings:
|
||||
new "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background if the namebox will be scaled."
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
|
||||
@@ -117,7 +117,7 @@ screen update_channel(channels):
|
||||
|
||||
$ date = _strftime(__("%B %d, %Y"), time.localtime(c["timestamp"]))
|
||||
|
||||
text "[date] • [c[pretty_version]] [current]" style "l_small_text"
|
||||
text "[date] • [c[pretty_version]] [current!t]" style "l_small_text"
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
|
||||
+2
-2
@@ -41,12 +41,12 @@ except ImportError:
|
||||
vc_version = 0
|
||||
|
||||
# The tuple giving the version number.
|
||||
version_tuple = (7, 1, 0, vc_version)
|
||||
version_tuple = (7, 2, 0, vc_version)
|
||||
|
||||
# The name of this version.
|
||||
version_name = "On the road again."
|
||||
|
||||
# A string giving the version number only (7.0.1.123).
|
||||
# A string giving the version number only (8.0.1.123).
|
||||
version_only = ".".join(str(i) for i in version_tuple)
|
||||
|
||||
# A verbose string giving the version.
|
||||
|
||||
+13
-7
@@ -212,8 +212,6 @@ class ArgumentInfo(object):
|
||||
return "(" + ", ".join(l) + ")"
|
||||
|
||||
|
||||
|
||||
|
||||
def __newobj__(cls, *args):
|
||||
return cls.__new__(cls, *args)
|
||||
|
||||
@@ -640,7 +638,6 @@ class Say(Node):
|
||||
|
||||
return " ".join(rv)
|
||||
|
||||
|
||||
def execute(self):
|
||||
|
||||
next_node(self.next)
|
||||
@@ -1489,14 +1486,21 @@ class Menu(Node):
|
||||
'items',
|
||||
'set',
|
||||
'with_',
|
||||
'has_caption',
|
||||
]
|
||||
|
||||
def __init__(self, loc, items, set, with_): # @ReservedAssignment
|
||||
def __new__(cls, *args, **kwargs):
|
||||
self = Node.__new__(cls)
|
||||
self.has_caption = False
|
||||
return self
|
||||
|
||||
def __init__(self, loc, items, set, with_, has_caption): # @ReservedAssignment
|
||||
super(Menu, self).__init__(loc)
|
||||
|
||||
self.items = items
|
||||
self.set = set
|
||||
self.with_ = with_
|
||||
self.has_caption = has_caption
|
||||
|
||||
def diff_info(self):
|
||||
return (Menu,)
|
||||
@@ -1528,7 +1532,11 @@ class Menu(Node):
|
||||
def execute(self):
|
||||
|
||||
next_node(self.next)
|
||||
statement_name("menu")
|
||||
|
||||
if self.has_caption:
|
||||
statement_name("menu-with-caption")
|
||||
else:
|
||||
statement_name("menu")
|
||||
|
||||
choices = [ ]
|
||||
narration = [ ]
|
||||
@@ -2183,7 +2191,6 @@ class Translate(Node):
|
||||
|
||||
renpy.game.context().translate_identifier = self.identifier
|
||||
renpy.game.context().alternate_translate_identifier = getattr(self, "alternate", None)
|
||||
renpy.game.context().translate_block_language = self.language
|
||||
|
||||
def predict(self):
|
||||
node = self.lookup()
|
||||
@@ -2224,7 +2231,6 @@ class EndTranslate(Node):
|
||||
|
||||
renpy.game.context().translate_identifier = None
|
||||
renpy.game.context().alternate_translate_identifier = None
|
||||
renpy.game.context().translate_block_language = None
|
||||
|
||||
|
||||
class TranslateString(Node):
|
||||
|
||||
+27
-14
@@ -540,8 +540,12 @@ def display_say(
|
||||
if not isinstance(what_text, renpy.text.text.Text): # @UndefinedVariable
|
||||
raise Exception("The say screen (or show_function) must return a Text object.")
|
||||
|
||||
if what_ctc and ctc_position == "nestled":
|
||||
what_text.set_ctc(what_ctc)
|
||||
if what_ctc:
|
||||
|
||||
if ctc_position == "nestled":
|
||||
what_text.set_ctc(what_ctc)
|
||||
elif ctc_position == "nestled-close":
|
||||
what_text.set_ctc([ u"\ufeff", what_ctc])
|
||||
|
||||
# Update the properties of the what_text widget.
|
||||
what_text.start = start
|
||||
@@ -870,7 +874,8 @@ class ADVCharacter(object):
|
||||
show_image = (self.image_tag,) + attrs + tuple(wanted) + tuple( "-" + i for i in remove)
|
||||
|
||||
if predict:
|
||||
images.predict_show(show_image)
|
||||
images.predict_show(new_image)
|
||||
|
||||
else:
|
||||
trans = renpy.config.say_attribute_transition
|
||||
layer = renpy.config.say_attribute_transition_layer
|
||||
@@ -888,8 +893,21 @@ class ADVCharacter(object):
|
||||
|
||||
else:
|
||||
|
||||
# Otherwise, just record the attributes of the image.
|
||||
images.predict_show("master", tagged_attrs, show=False)
|
||||
if renpy.config.say_attributes_use_side_image:
|
||||
|
||||
tagged_attrs = (renpy.config.side_image_prefix_tag,) + tagged_attrs
|
||||
|
||||
new_image = images.apply_attributes(layer, self.image_tag, tagged_attrs, wanted, remove)
|
||||
|
||||
if new_image is None:
|
||||
new_image = tagged_attrs
|
||||
|
||||
images.predict_show(layer, new_image[1:], show=False)
|
||||
|
||||
else:
|
||||
|
||||
# Otherwise, just record the attributes of the image.
|
||||
images.predict_show(layer, tagged_attrs, show=False)
|
||||
|
||||
def __unicode__(self):
|
||||
|
||||
@@ -995,16 +1013,9 @@ class ADVCharacter(object):
|
||||
else:
|
||||
who = self.who_prefix + who + self.who_suffix
|
||||
|
||||
ctx = renpy.game.context()
|
||||
|
||||
if ctx.translate_block_language is not None:
|
||||
translate = False
|
||||
else:
|
||||
translate = True
|
||||
|
||||
if renpy.config.new_substitutions:
|
||||
what_pattern = sub(self.what_prefix + "[[what]" + self.what_suffix)
|
||||
what = what_pattern.replace("[what]", sub(what, translate=translate))
|
||||
what = what_pattern.replace("[what]", sub(what, translate=True))
|
||||
else:
|
||||
what = self.what_prefix + what + self.what_suffix
|
||||
|
||||
@@ -1261,7 +1272,9 @@ def Character(name=NotSet, kind=None, **properties):
|
||||
`ctc_position`
|
||||
Controls the location of the click-to-continue indicator. If
|
||||
``"nestled"``, the indicator is displayed as part of the text
|
||||
being shown, immediately after the last character. If ``"fixed"``,
|
||||
being shown, immediately after the last character. ``"nestled-close"`` is
|
||||
similar, except a break is not allowed between the text and the CTC
|
||||
indicator. If ``"fixed"``,
|
||||
the indicator is added to the screen, and its position is
|
||||
controlled by the position style properties.
|
||||
|
||||
|
||||
@@ -29,10 +29,10 @@ init -1200 python:
|
||||
config.window = None
|
||||
|
||||
# A list of statements that cause the window to be auto-shown.
|
||||
config.window_auto_show = [ "say" ]
|
||||
config.window_auto_show = [ "say", "menu-with-caption" ]
|
||||
|
||||
# A list of statements that cause the window to be auto-hidden.
|
||||
config.window_auto_hide = [ "scene", "call screen" ]
|
||||
config.window_auto_hide = [ "scene", "call screen", "menu" ]
|
||||
|
||||
_window_auto = False
|
||||
|
||||
|
||||
@@ -24,10 +24,36 @@ init -1600 python:
|
||||
##########################################################################
|
||||
# Functions that set variables or fields.
|
||||
|
||||
__FieldNotFound = object()
|
||||
|
||||
def __get_field(obj, name, kind):
|
||||
|
||||
if not name:
|
||||
return obj
|
||||
|
||||
rv = obj
|
||||
|
||||
for i in name.split("."):
|
||||
rv = getattr(rv, i, __FieldNotFound)
|
||||
if rv is __FieldNotFound:
|
||||
raise NameError("The {} {} does not exist.".format(kind, name))
|
||||
|
||||
return rv
|
||||
|
||||
def __set_field(obj, name, value, kind):
|
||||
fields, _, attr = name.rpartition(".")
|
||||
|
||||
try:
|
||||
obj = __get_field(obj, fields, kind)
|
||||
setattr(obj, attr, value)
|
||||
except:
|
||||
raise NameError("The {} {} does not exist.".format(kind, name))
|
||||
|
||||
@renpy.pure
|
||||
class SetField(Action, FieldEquality):
|
||||
"""
|
||||
:doc: data_action
|
||||
:args: (object, field, value)
|
||||
|
||||
Causes the a field on an object to be set to a given value.
|
||||
`object` is the object, `field` is a string giving the name of the
|
||||
@@ -37,27 +63,34 @@ init -1600 python:
|
||||
identity_fields = [ "object" ]
|
||||
equality_fields = [ "field", "value" ]
|
||||
|
||||
def __init__(self, object, field, value):
|
||||
kind = "field"
|
||||
|
||||
def __init__(self, object, field, value, kind="field"):
|
||||
self.object = object
|
||||
self.field = field
|
||||
self.value = value
|
||||
self.kind = kind
|
||||
|
||||
def __call__(self):
|
||||
setattr(self.object, self.field, self.value)
|
||||
__set_field(self.object, self.field, self.value, self.kind)
|
||||
renpy.restart_interaction()
|
||||
|
||||
def get_selected(self):
|
||||
return getattr(self.object, self.field) == self.value
|
||||
return __get_field(self.object, self.field, self.kind) == self.value
|
||||
|
||||
@renpy.pure
|
||||
def SetVariable(name, value):
|
||||
"""
|
||||
:doc: data_action
|
||||
:doc: data_action
|
||||
|
||||
Causes the variable with `name` to be set to `value`.
|
||||
"""
|
||||
Causes the variable with `name` to be set to `value`.
|
||||
|
||||
return SetField(store, name, value)
|
||||
The `name` argument must be a string, and can be a simple name like "strength", or
|
||||
one with dots separating the variable from fields, like "hero.strength"
|
||||
or "persistent.show_cutscenes".
|
||||
"""
|
||||
|
||||
return SetField(store, name, value, kind="variable")
|
||||
|
||||
@renpy.pure
|
||||
class SetDict(Action, FieldEquality):
|
||||
@@ -129,6 +162,7 @@ init -1600 python:
|
||||
class ToggleField(Action, FieldEquality):
|
||||
"""
|
||||
:doc: data_action
|
||||
:args: (object, field, true_value=None, false_value=None)
|
||||
|
||||
Toggles `field` on `object`. Toggling means to invert the boolean
|
||||
value of that field when the action is performed.
|
||||
@@ -142,14 +176,17 @@ init -1600 python:
|
||||
identity_fields = [ "object"]
|
||||
equality_fields = [ "field", "true_value", "false_value" ]
|
||||
|
||||
def __init__(self, object, field, true_value=None, false_value=None):
|
||||
kind = "field"
|
||||
|
||||
def __init__(self, object, field, true_value=None, false_value=None, kind="field"):
|
||||
self.object = object
|
||||
self.field = field
|
||||
self.true_value = true_value
|
||||
self.false_value = false_value
|
||||
self.kind = kind
|
||||
|
||||
def __call__(self):
|
||||
value = getattr(self.object, self.field)
|
||||
value = __get_field(self.object, self.field, self.kind)
|
||||
|
||||
if self.true_value is not None:
|
||||
value = (value == self.true_value)
|
||||
@@ -162,11 +199,11 @@ init -1600 python:
|
||||
else:
|
||||
value = self.false_value
|
||||
|
||||
setattr(self.object, self.field, value)
|
||||
__set_field(self.object, self.field, value, self.kind)
|
||||
renpy.restart_interaction()
|
||||
|
||||
def get_selected(self):
|
||||
rv = getattr(self.object, self.field)
|
||||
rv = __get_field(self.object, self.field, self.kind)
|
||||
|
||||
if self.true_value is not None:
|
||||
rv = (rv == self.true_value)
|
||||
@@ -177,17 +214,22 @@ init -1600 python:
|
||||
@renpy.pure
|
||||
def ToggleVariable(variable, true_value=None, false_value=None):
|
||||
"""
|
||||
:doc: data_action
|
||||
:doc: data_action
|
||||
|
||||
Toggles `variable`.
|
||||
Toggles `variable`.
|
||||
|
||||
`true_value`
|
||||
If not None, then this is the true value we use.
|
||||
`false_value`
|
||||
If not None, then this is the false value we use.
|
||||
"""
|
||||
The `variable` argument must be a string, and can be a simple name like "strength", or
|
||||
one with dots separating the variable from fields, like "hero.strength"
|
||||
or "persistent.show_cutscenes".
|
||||
|
||||
return ToggleField(store, variable, true_value=true_value, false_value=false_value)
|
||||
|
||||
`true_value`
|
||||
If not None, then this is the true value we use.
|
||||
`false_value`
|
||||
If not None, then this is the false value we use.
|
||||
"""
|
||||
|
||||
return ToggleField(store, variable, true_value=true_value, false_value=false_value, kind="variable")
|
||||
|
||||
|
||||
@renpy.pure
|
||||
|
||||
@@ -883,6 +883,7 @@ init -1500 python:
|
||||
|
||||
def __call__(self):
|
||||
renpy.take_screenshot()
|
||||
renpy.restart_interaction()
|
||||
|
||||
@renpy.pure
|
||||
def QuickSave(message=_("Quick save complete."), newest=False):
|
||||
|
||||
@@ -173,6 +173,12 @@ init -1900 python:
|
||||
|
||||
if version <= (7, 0, 0):
|
||||
config.reject_relative = False
|
||||
config.say_attributes_use_side_image = False
|
||||
|
||||
if version <= (7, 1, 0):
|
||||
config.menu_showed_window = True
|
||||
config.window_auto_show = [ "say" ]
|
||||
config.window_auto_hide = [ "scene", "call screen" ]
|
||||
|
||||
# The version of Ren'Py this script is intended for, or
|
||||
# None if it's intended for the current version.
|
||||
|
||||
@@ -732,8 +732,8 @@ python early in layeredimage:
|
||||
for a in self.attributes:
|
||||
|
||||
if a.attribute in attributes:
|
||||
rv.append(a.attribute)
|
||||
|
||||
if a.attribute not in rv:
|
||||
rv.append(a.attribute)
|
||||
|
||||
if a.attribute in unknown:
|
||||
unknown.remove(a.attribute)
|
||||
@@ -741,6 +741,7 @@ python early in layeredimage:
|
||||
if unknown:
|
||||
return None
|
||||
|
||||
|
||||
return tuple(rv)
|
||||
|
||||
class RawLayeredImage(object):
|
||||
|
||||
@@ -32,9 +32,6 @@ init -1650 python:
|
||||
# is not shown.
|
||||
config.side_image_only_not_showing = False
|
||||
|
||||
# The prefix to use on the side image.
|
||||
config.side_image_prefix_tag = 'side'
|
||||
|
||||
# A transform to use when the side image changes to that of a different
|
||||
# character.
|
||||
config.side_image_change_transform = None
|
||||
|
||||
@@ -330,7 +330,7 @@ init -1500 python:
|
||||
|
||||
break
|
||||
|
||||
self.tlid = tlid
|
||||
self.tlid = renpy.game.context().translate_identifier
|
||||
|
||||
if self.filename:
|
||||
self.sustain = False
|
||||
@@ -416,7 +416,14 @@ init -1500 python hide:
|
||||
renpy.sound.stop(channel="voice")
|
||||
return
|
||||
|
||||
if _preferences.voice_sustain and not _voice.sustain:
|
||||
_voice.sustain = "preference"
|
||||
|
||||
if _voice.play:
|
||||
_voice.sustain = False
|
||||
|
||||
vi = VoiceInfo()
|
||||
|
||||
if not _voice.sustain:
|
||||
_voice.info = vi
|
||||
|
||||
@@ -452,9 +459,6 @@ init -1500 python hide:
|
||||
_voice.sustain = False
|
||||
_voice.tag = None
|
||||
|
||||
if _preferences.voice_sustain and not _voice.sustain:
|
||||
_voice.sustain = "preference"
|
||||
|
||||
config.start_interact_callbacks.append(voice_interact)
|
||||
config.fast_skipping_callbacks.append(voice_interact)
|
||||
config.say_sustain_callbacks.append(voice_sustain)
|
||||
|
||||
@@ -897,6 +897,14 @@ context_callback = None
|
||||
# Should we reject . and .. in filenames?
|
||||
reject_relative = True
|
||||
|
||||
# The prefix to use on the side image.
|
||||
side_image_prefix_tag = 'side'
|
||||
|
||||
# Do the say attributes of a hidden side image use the side image tag?
|
||||
say_attributes_use_side_image = True
|
||||
|
||||
# Does the menu statement show a window by itself, when there is no caption?
|
||||
menu_showed_window = False
|
||||
|
||||
del os
|
||||
del collections
|
||||
|
||||
+10
-10
@@ -2842,20 +2842,20 @@ class Interface(object):
|
||||
self.suppress_transition = False
|
||||
|
||||
# Figure out transitions.
|
||||
for k in self.transition:
|
||||
if k not in self.old_scene:
|
||||
continue
|
||||
|
||||
self.ongoing_transition[k] = self.transition[k]
|
||||
self.transition_from[k] = self.old_scene[k]._in_current_store()
|
||||
self.transition_time[k] = None
|
||||
|
||||
self.transition.clear()
|
||||
|
||||
if suppress_transition:
|
||||
self.ongoing_transition.clear()
|
||||
self.transition_from.clear()
|
||||
self.transition_time.clear()
|
||||
else:
|
||||
for k in self.transition:
|
||||
if k not in self.old_scene:
|
||||
continue
|
||||
|
||||
self.ongoing_transition[k] = self.transition[k]
|
||||
self.transition_from[k] = self.old_scene[k]._in_current_store()
|
||||
self.transition_time[k] = None
|
||||
|
||||
self.transition.clear()
|
||||
|
||||
# Safety condition, prevents deadlocks.
|
||||
if trans_pause:
|
||||
|
||||
@@ -107,6 +107,12 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
If true, this Drag is raised to the top when it is dragged. If
|
||||
it is joined to other Drags, all joined drags are raised.
|
||||
|
||||
`activated`
|
||||
A callback (or list of callbacks) that is called when the mouse
|
||||
is pressed down on the drag. It is called with one argument, a
|
||||
a list of Drags that are being dragged. The return value of this
|
||||
callback is ignored.
|
||||
|
||||
`dragged`
|
||||
A callback (or list of callbacks) that is called when the Drag
|
||||
has been dragged. It is called with two arguments. The first is
|
||||
@@ -132,6 +138,12 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
and clicked. If the callback returns a value other than None,
|
||||
that value is returned as the result of the interaction.
|
||||
|
||||
`alternate`
|
||||
An action that is run when the Drag is right-clicked (on the
|
||||
desktop) or long-pressed without moving (on mobile). It may
|
||||
be necessary to increase :var:`config.longpress_duration` if
|
||||
this triggers to early on mobile platforms.
|
||||
|
||||
`drag_handle`
|
||||
A (x, y, width, height) tuple, giving the position of the drag
|
||||
handle within the child. In this tuple, integers are considered
|
||||
@@ -152,8 +164,8 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
way to get them back on the screen.
|
||||
|
||||
`mouse_drop`
|
||||
If true, the drag is dropped on the first droppable under the cursor.
|
||||
If false, the default, the drag is dropped onto the droppable with
|
||||
If true, the drag is dropped on the first droppable under the cursor.
|
||||
If false, the default, the drag is dropped onto the droppable with
|
||||
the largest degree of overlap.
|
||||
|
||||
Except for `d`, all of the parameters are available as fields (with
|
||||
@@ -172,6 +184,11 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
drag_group = None
|
||||
old_position = None
|
||||
drag_offscreen = False
|
||||
activated = None
|
||||
alternate = None
|
||||
|
||||
# The time a click started, or None if a click is not in progress.
|
||||
click_time = None
|
||||
|
||||
def __init__(self,
|
||||
d=None,
|
||||
@@ -189,6 +206,8 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
replaces=None,
|
||||
drag_offscreen=False,
|
||||
mouse_drop=False,
|
||||
activated=None,
|
||||
alternate=None,
|
||||
style="drag",
|
||||
**properties):
|
||||
|
||||
@@ -205,6 +224,8 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
self.clicked = clicked
|
||||
self.hovered = hovered
|
||||
self.unhovered = unhovered
|
||||
self.activated = activated
|
||||
self.alternate = alternate
|
||||
self.drag_offscreen = drag_offscreen
|
||||
# if mouse_drop_check is True (default False), the drop will not
|
||||
# use default major overlap between droppables but instead
|
||||
@@ -285,6 +306,7 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
self.drag_moved = replaces.drag_moved
|
||||
self.last_drop = replaces.last_drop
|
||||
self.mouse_drop = replaces.mouse_drop
|
||||
self.click_time = replaces.click_time
|
||||
|
||||
if d is not None:
|
||||
self.add(d)
|
||||
@@ -517,6 +539,10 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
|
||||
grabbed = (renpy.display.focus.get_grab() is self)
|
||||
|
||||
if (self.alternate is not None) and renpy.display.touch and map_event(ev, "drag_activate"):
|
||||
self.click_time = st
|
||||
renpy.game.interface.timeout(renpy.config.longpress_duration)
|
||||
|
||||
if grabbed:
|
||||
joined_offsets = self.drag_joined(self)
|
||||
joined = [ i[0] for i in joined_offsets ]
|
||||
@@ -531,6 +557,8 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
|
||||
renpy.display.focus.set_grab(self)
|
||||
|
||||
run(joined[0].activated, joined)
|
||||
|
||||
self.grab_x = x
|
||||
self.grab_y = y
|
||||
|
||||
@@ -548,9 +576,30 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
|
||||
grabbed = True
|
||||
|
||||
elif (self.alternate is not None) and map_event(ev, "button_alternate"):
|
||||
rv = run(self.alternate)
|
||||
if rv is not None:
|
||||
return rv
|
||||
|
||||
raise renpy.display.core.IgnoreEvent()
|
||||
|
||||
if ((self.alternate is not None) and
|
||||
renpy.display.touch and
|
||||
(self.click_time is not None) and
|
||||
((st - self.click_time) > renpy.config.longpress_duration)):
|
||||
|
||||
self.click_time = None
|
||||
|
||||
rv = run(self.alternate)
|
||||
if rv is not None:
|
||||
return rv
|
||||
|
||||
# Handle clicking on droppables.
|
||||
if not grabbed:
|
||||
if self.clicked is not None and map_event(ev, "drag_deactivate"):
|
||||
|
||||
self.click_time = None
|
||||
|
||||
rv = run(self.clicked)
|
||||
if rv is not None:
|
||||
return rv
|
||||
@@ -566,6 +615,7 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
|
||||
if not self.drag_moved and (self.start_x != par_x or self.start_y != par_y):
|
||||
self.drag_moved = True
|
||||
self.click_time = None
|
||||
|
||||
# We may not be in the drag_joined group.
|
||||
self.set_style_prefix("idle_", True)
|
||||
@@ -605,9 +655,9 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
|
||||
if (self.drag_group is not None) and self.drag_moved:
|
||||
if self.mouse_drop:
|
||||
drop = self.drag_group.get_drop_at(joined, par_x, par_y)
|
||||
drop = self.drag_group.get_drop_at(joined, par_x, par_y)
|
||||
else:
|
||||
drop = self.drag_group.get_best_drop(joined)
|
||||
drop = self.drag_group.get_best_drop(joined)
|
||||
else:
|
||||
drop = None
|
||||
|
||||
@@ -622,6 +672,9 @@ class Drag(renpy.display.core.Displayable, renpy.python.RevertableObject):
|
||||
self.last_drop = drop
|
||||
|
||||
if map_event(ev, 'drag_deactivate'):
|
||||
|
||||
self.click_time = None
|
||||
|
||||
renpy.display.focus.set_grab(None)
|
||||
|
||||
if drop is not None:
|
||||
@@ -837,17 +890,17 @@ class DragGroup(renpy.display.layout.MultiBox):
|
||||
joined_set = set(joined)
|
||||
for c in self.children:
|
||||
if c in joined_set:
|
||||
continue
|
||||
continue
|
||||
|
||||
if not c.droppable:
|
||||
continue
|
||||
continue
|
||||
|
||||
if c.x is None:
|
||||
continue
|
||||
continue
|
||||
|
||||
if (x >= c.x and y >= c.y and
|
||||
x < (c.x+c.w) and y < (c.y+c.h)):
|
||||
return c
|
||||
x < (c.x+c.w) and y < (c.y+c.h)):
|
||||
return c
|
||||
|
||||
def get_children(self):
|
||||
"""
|
||||
|
||||
@@ -871,7 +871,8 @@ class ShownImageInfo(renpy.object.Object):
|
||||
|
||||
# If the name matches one that exactly exists, return it.
|
||||
if (name in images) and not (wanted or remove):
|
||||
ca = get_tag_method(tag, "_choose_attributes")
|
||||
ca = getattr(images[name], "_choose_attributes", None)
|
||||
|
||||
if ca is None:
|
||||
return name
|
||||
|
||||
|
||||
@@ -40,6 +40,7 @@ def get_null():
|
||||
|
||||
if null is None:
|
||||
null = renpy.display.layout.Null()
|
||||
renpy.display.motion.null = null
|
||||
|
||||
return null
|
||||
|
||||
|
||||
+7
-4
@@ -207,10 +207,13 @@ def report_exception(e, editor=True):
|
||||
print(safe_utf8(e), file=full)
|
||||
|
||||
# Write to stdout/stderr.
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.write(full.getvalue())
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.write(simple.getvalue())
|
||||
try:
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.write(full.getvalue())
|
||||
sys.stdout.write("\n")
|
||||
sys.stdout.write(simple.getvalue())
|
||||
except:
|
||||
pass
|
||||
|
||||
print(file=full)
|
||||
try:
|
||||
|
||||
@@ -192,9 +192,6 @@ class Context(renpy.object.Object):
|
||||
if version < 11:
|
||||
self.say_attributes = None
|
||||
|
||||
if version < 12:
|
||||
self.translate_block_language = None
|
||||
|
||||
if version < 13:
|
||||
self.line_log = [ ]
|
||||
|
||||
@@ -315,9 +312,6 @@ class Context(renpy.object.Object):
|
||||
# The alternate identifier of the current translate block.
|
||||
self.alternate_translate_identifier = None
|
||||
|
||||
# The language of the current translate block.
|
||||
self.translate_block_language = None
|
||||
|
||||
def replace_node(self, old, new):
|
||||
|
||||
def replace_one(name):
|
||||
|
||||
+8
-8
@@ -1068,7 +1068,8 @@ def display_menu(items,
|
||||
choice_chosen_button_style=choice_chosen_button_style,
|
||||
**kwargs)
|
||||
|
||||
renpy.exports.shown_window()
|
||||
if renpy.config.menu_showed_window:
|
||||
renpy.exports.shown_window()
|
||||
|
||||
# Log the chosen choice.
|
||||
for label, val in items:
|
||||
@@ -1452,8 +1453,7 @@ def with_statement(trans, always=False, paired=None, clear=True):
|
||||
|
||||
trans = trans[None]
|
||||
|
||||
else:
|
||||
return renpy.game.interface.do_with(trans, paired, clear=clear)
|
||||
return renpy.game.interface.do_with(trans, paired, clear=clear)
|
||||
|
||||
|
||||
globals()["with"] = with_statement
|
||||
@@ -1775,11 +1775,11 @@ def transition(trans, layer=None, always=False, force=False):
|
||||
"""
|
||||
|
||||
if isinstance(trans, dict):
|
||||
for k, v in trans.items():
|
||||
trans(k, v, always=always, force=force)
|
||||
for layer, t in trans.items():
|
||||
transition(t, layer=layer, always=always, force=force)
|
||||
return
|
||||
|
||||
if not always and not renpy.game.preferences.transitions:
|
||||
if (not always) and not renpy.game.preferences.transitions:
|
||||
trans = None
|
||||
|
||||
renpy.game.interface.set_transition(trans, layer, force=force)
|
||||
@@ -2450,7 +2450,7 @@ def game_menu(screen=None):
|
||||
if screen is None:
|
||||
call_in_new_context("_game_menu")
|
||||
else:
|
||||
call_in_new_context("_game_menu", _game_menu_screen = screen)
|
||||
call_in_new_context("_game_menu", _game_menu_screen=screen)
|
||||
|
||||
|
||||
def shown_window():
|
||||
@@ -2917,7 +2917,7 @@ def get_say_attributes():
|
||||
return renpy.game.context().say_attributes
|
||||
|
||||
|
||||
def get_side_image(prefix_tag, image_tag=None, not_showing=True, layer='master'):
|
||||
def get_side_image(prefix_tag, image_tag=None, not_showing=True, layer=None):
|
||||
"""
|
||||
:doc: other
|
||||
|
||||
|
||||
+17
-3
@@ -893,6 +893,11 @@ class Lexer(object):
|
||||
oldpos = self.pos
|
||||
rv = self.word()
|
||||
|
||||
if (rv == "r") or (rv == "u"):
|
||||
if self.text[self.pos:self.pos+1] in ( '"', "'", "`"):
|
||||
self.pos = oldpos
|
||||
return None
|
||||
|
||||
if rv in KEYWORDS:
|
||||
self.pos = oldpos
|
||||
return None
|
||||
@@ -963,6 +968,11 @@ class Lexer(object):
|
||||
oldpos = self.pos
|
||||
rv = self.match(image_word_regexp)
|
||||
|
||||
if (rv == "r") or (rv == "u"):
|
||||
if self.text[self.pos:self.pos+1] in ( '"', "'", "`"):
|
||||
self.pos = oldpos
|
||||
return None
|
||||
|
||||
if rv in KEYWORDS:
|
||||
self.pos = oldpos
|
||||
return None
|
||||
@@ -1564,7 +1574,7 @@ def parse_menu(stmtl, loc):
|
||||
if has_say:
|
||||
rv.append(ast.Say(loc, say_who, say_what, None, interact=False))
|
||||
|
||||
rv.append(ast.Menu(loc, items, set, with_))
|
||||
rv.append(ast.Menu(loc, items, set, with_, has_say or has_caption))
|
||||
|
||||
return rv
|
||||
|
||||
@@ -2759,11 +2769,15 @@ def report_parse_errors():
|
||||
except:
|
||||
pass
|
||||
|
||||
print()
|
||||
print(file=f)
|
||||
print(i)
|
||||
print(i, file=f)
|
||||
|
||||
try:
|
||||
print()
|
||||
print(i)
|
||||
except:
|
||||
pass
|
||||
|
||||
print(file=f)
|
||||
print("Ren'Py Version:", renpy.version, file=f)
|
||||
print(time.ctime(), file=f)
|
||||
|
||||
@@ -1731,6 +1731,7 @@ class RollbackLog(renpy.object.Object):
|
||||
|
||||
if on_load and revlog[-1].retain_after_load:
|
||||
retained = revlog.pop()
|
||||
self.retain_after_load_flag = True
|
||||
else:
|
||||
retained = None
|
||||
|
||||
|
||||
@@ -273,6 +273,8 @@ class Script(object):
|
||||
|
||||
self.initcode = [ (prio, code) for prio, index, code in initcode ]
|
||||
|
||||
self.translator.chain_translates()
|
||||
|
||||
def load_module(self, name):
|
||||
|
||||
files = [ (fn, dir) for fn, dir in self.module_files if fn == name ] # @ReservedAssignment
|
||||
|
||||
@@ -211,6 +211,7 @@ add(text_text_properties)
|
||||
DisplayableParser("label", renpy.ui._label, "label", 0, scope=True)
|
||||
Positional("label")
|
||||
Keyword("text_style")
|
||||
Keyword("substitute")
|
||||
add(window_properties)
|
||||
add(text_position_properties)
|
||||
add(text_text_properties)
|
||||
@@ -347,6 +348,7 @@ Keyword("xinitial")
|
||||
Keyword("yinitial")
|
||||
Keyword("scrollbars")
|
||||
Keyword("spacing")
|
||||
Keyword("transpose")
|
||||
Style("xminimum")
|
||||
Style("yminimum")
|
||||
PrefixStyle("side_", "spacing")
|
||||
@@ -451,6 +453,7 @@ for name in [ "add", "image" ]:
|
||||
Style(i)
|
||||
|
||||
DisplayableParser("drag", renpy.display.dragdrop.Drag, "drag", 1, replaces=True)
|
||||
Keyword("activated")
|
||||
Keyword("drag_name")
|
||||
Keyword("draggable")
|
||||
Keyword("droppable")
|
||||
@@ -465,6 +468,7 @@ Keyword("hovered")
|
||||
Keyword("unhovered")
|
||||
Keyword("focus_mask")
|
||||
Keyword("mouse_drop")
|
||||
Keyword("alternate")
|
||||
Style("child")
|
||||
|
||||
DisplayableParser("draggroup", renpy.display.dragdrop.DragGroup, None, many, replaces=True)
|
||||
|
||||
+34
-5
@@ -38,6 +38,25 @@ WHITE = (255, 255, 255, 255)
|
||||
BLACK = (0, 0, 0, 255)
|
||||
|
||||
|
||||
def is_zerowidth(char):
|
||||
if char == 0x200b: # Zero-width space.
|
||||
return True
|
||||
|
||||
if char == 0x200c: # Zero-width non-joiner.
|
||||
return True
|
||||
|
||||
if char == 0x200d: # Zero-width joiner.
|
||||
return True
|
||||
|
||||
if char == 0x2060: # Word joiner.
|
||||
return True
|
||||
|
||||
if char == 0xfeff: # Zero width non-breaking space.
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
|
||||
class ImageFont(object):
|
||||
|
||||
# ImageFonts are expected to have the following fields defined by
|
||||
@@ -69,12 +88,18 @@ class ImageFont(object):
|
||||
g.ascent = self.baseline
|
||||
g.line_spacing = self.height
|
||||
|
||||
width = self.width.get(c, None)
|
||||
if width is None:
|
||||
raise Exception("Character {0!r} not found in image-based font.".format(c))
|
||||
if is_zerowidth(g.character):
|
||||
|
||||
g.width = self.width[c]
|
||||
g.advance = self.advance[c]
|
||||
width = self.width.get(c, None)
|
||||
if width is None:
|
||||
raise Exception("Character {0!r} not found in image-based font.".format(c))
|
||||
|
||||
g.width = self.width[c]
|
||||
g.advance = self.advance[c]
|
||||
|
||||
else:
|
||||
g.width = 0
|
||||
g.advance = 0
|
||||
|
||||
rv.append(g)
|
||||
|
||||
@@ -94,6 +119,10 @@ class ImageFont(object):
|
||||
return
|
||||
|
||||
for g in glyphs:
|
||||
|
||||
if not g.width:
|
||||
continue
|
||||
|
||||
c = unichr(g.character)
|
||||
|
||||
cxo, cyo = self.offsets[c]
|
||||
|
||||
+24
-7
@@ -64,6 +64,24 @@ def init():
|
||||
if error:
|
||||
raise FreetypeError(error)
|
||||
|
||||
cdef bint is_zerowidth(unsigned int char):
|
||||
if char == 0x200b: # Zero-width space.
|
||||
return True
|
||||
|
||||
if char == 0x200c: # Zero-width non-joiner.
|
||||
return True
|
||||
|
||||
if char == 0x200d: # Zero-width joiner.
|
||||
return True
|
||||
|
||||
if char == 0x2060: # Word joiner.
|
||||
return True
|
||||
|
||||
if char == 0xfeff: # Zero width non-breaking space.
|
||||
return True
|
||||
|
||||
return False
|
||||
|
||||
cdef unsigned long io_func(FT_Stream stream, unsigned long offset, unsigned char *buffer, unsigned long count):
|
||||
"""
|
||||
Seeks to offset, and then reads count bytes from the stream into buffer.
|
||||
@@ -491,12 +509,7 @@ cdef class FTFont:
|
||||
|
||||
gl.character = c
|
||||
gl.ascent = self.ascent
|
||||
|
||||
if c == 0x200B:
|
||||
gl.width = 0
|
||||
else:
|
||||
gl.width = cache.width
|
||||
|
||||
gl.width = cache.width
|
||||
gl.line_spacing = self.lineskip
|
||||
|
||||
if i < len_s - 1:
|
||||
@@ -519,6 +532,10 @@ cdef class FTFont:
|
||||
else:
|
||||
gl.advance = cache.advance
|
||||
|
||||
if is_zerowidth(gl.character):
|
||||
gl.width = 0
|
||||
gl.advance = 0
|
||||
|
||||
rv.append(gl)
|
||||
|
||||
return rv
|
||||
@@ -623,7 +640,7 @@ cdef class FTFont:
|
||||
if glyph.split == SPLIT_INSTEAD:
|
||||
continue
|
||||
|
||||
if glyph.character == 0x200b:
|
||||
if glyph.width == 0:
|
||||
continue
|
||||
|
||||
x = <int> (glyph.x + xo)
|
||||
|
||||
+29
-14
@@ -391,7 +391,7 @@ class DisplayableSegment(object):
|
||||
w = layout.scale_int(self.width)
|
||||
h = layout.scale_int(self.height)
|
||||
|
||||
glyph.character = 0
|
||||
glyph.character = 0xfffc
|
||||
glyph.ascent = 0
|
||||
glyph.line_spacing = h
|
||||
glyph.advance = w
|
||||
@@ -407,14 +407,7 @@ class DisplayableSegment(object):
|
||||
|
||||
if di.displayable_blits is not None:
|
||||
|
||||
xo, yo = renpy.display.core.place(
|
||||
glyph.width,
|
||||
glyph.ascent,
|
||||
glyph.width,
|
||||
glyph.line_spacing,
|
||||
self.d.get_placement())
|
||||
|
||||
di.displayable_blits.append((self.d, glyph.x + xo, glyph.y + yo, glyph.time))
|
||||
di.displayable_blits.append((self.d, glyph.x, glyph.y, glyph.width, glyph.ascent, glyph.line_spacing, glyph.time))
|
||||
|
||||
def assign_times(self, gt, glyphs):
|
||||
if self.cps != 0:
|
||||
@@ -1219,6 +1212,9 @@ class Layout(object):
|
||||
|
||||
for g in l.glyphs:
|
||||
|
||||
if g.time == -1:
|
||||
continue
|
||||
|
||||
if g.time > st:
|
||||
continue
|
||||
|
||||
@@ -1417,6 +1413,9 @@ class Text(renpy.display.core.Displayable):
|
||||
|
||||
self._duplicatable = self.slow
|
||||
|
||||
# The list of displayables and their offsets.
|
||||
self.displayable_offsets = [ ]
|
||||
|
||||
def _duplicate(self, args):
|
||||
if self._duplicatable:
|
||||
rv = self._copy(args)
|
||||
@@ -1557,7 +1556,10 @@ class Text(renpy.display.core.Displayable):
|
||||
text_split.append(mid_string)
|
||||
|
||||
if self.ctc is not None:
|
||||
text_split.append(self.ctc)
|
||||
if isinstance(self.ctc, list):
|
||||
text_split.extend(self.ctc)
|
||||
else:
|
||||
text_split.append(self.ctc)
|
||||
|
||||
if end_string:
|
||||
text_split.append(end_string)
|
||||
@@ -1754,8 +1756,8 @@ class Text(renpy.display.core.Displayable):
|
||||
self.call_slow_done(st)
|
||||
self.slow = False
|
||||
|
||||
for d, xo, yo, _ in layout.displayable_blits:
|
||||
rv = d.event(ev, x - xo - layout.xoffset, y - yo - layout.yoffset, st)
|
||||
for d, xo, yo in self.displayable_offsets:
|
||||
rv = d.event(ev, x - xo, y - yo, st)
|
||||
if rv is not None:
|
||||
return rv
|
||||
|
||||
@@ -1945,16 +1947,29 @@ class Text(renpy.display.core.Displayable):
|
||||
# Blit displayables.
|
||||
if layout.displayable_blits:
|
||||
|
||||
self.displayable_offsets = [ ]
|
||||
|
||||
drend = renpy.display.render.Render(w, h)
|
||||
drend.forward = layout.reverse
|
||||
drend.reverse = layout.forward
|
||||
|
||||
for d, xo, yo, t in layout.displayable_blits:
|
||||
for d, x, y, width, ascent, line_spacing, t in layout.displayable_blits:
|
||||
|
||||
if self.slow and t > st:
|
||||
continue
|
||||
|
||||
drend.absolute_blit(renders[d], (xo + layout.xoffset, yo + layout.yoffset))
|
||||
xo, yo = renpy.display.core.place(
|
||||
width,
|
||||
ascent,
|
||||
width,
|
||||
line_spacing,
|
||||
d.get_placement())
|
||||
|
||||
xo = x + xo + layout.xoffset
|
||||
yo = y + yo + layout.yoffset
|
||||
|
||||
drend.absolute_blit(renders[d], (xo, yo))
|
||||
self.displayable_offsets.append((d, xo, yo))
|
||||
|
||||
rv.blit(drend, (0, 0))
|
||||
|
||||
|
||||
@@ -243,7 +243,7 @@ def annotate_unicode(list glyphs, bint no_ideographs, int cjk):
|
||||
new_type = BC_AL
|
||||
|
||||
# Normalize the class by turning various groups into AL.
|
||||
if (new_type >= BC_PITCH and new_type != BC_SP):
|
||||
if (new_type >= BC_PITCH and new_type != BC_SP and new_type != BC_CB):
|
||||
new_type = BC_AL
|
||||
|
||||
if tailor_type != BC_XX:
|
||||
@@ -260,6 +260,22 @@ def annotate_unicode(list glyphs, bint no_ideographs, int cjk):
|
||||
g.split = SPLIT_NONE
|
||||
continue
|
||||
|
||||
if new_type == BC_CB:
|
||||
if old_type == BC_WJ or old_type == BC_GL:
|
||||
g.split = SPLIT_NONE
|
||||
else:
|
||||
g.split = SPLIT_BEFORE
|
||||
|
||||
continue
|
||||
|
||||
if old_type == BC_CB:
|
||||
if new_type == BC_WJ or new_type == BC_GL:
|
||||
g.split = SPLIT_NONE
|
||||
else:
|
||||
g.split = SPLIT_BEFORE
|
||||
|
||||
continue
|
||||
|
||||
# Figure out the type of break opportunity we have here.
|
||||
# ^ Prohibited break.
|
||||
# % Indirect break.
|
||||
@@ -299,7 +315,7 @@ def annotate_unicode(list glyphs, bint no_ideographs, int cjk):
|
||||
if g.character == 0:
|
||||
g.split = SPLIT_BEFORE
|
||||
|
||||
if g.ruby == RUBY_TOP:
|
||||
if g.ruby == RUBY_TOP or g.ruby == RUBY_ALT:
|
||||
g.split = SPLIT_NONE
|
||||
|
||||
elif g.ruby == RUBY_BOTTOM and old_g.ruby == RUBY_BOTTOM:
|
||||
@@ -611,12 +627,13 @@ def assign_times(float t, float gps, list glyphs):
|
||||
for g in glyphs:
|
||||
|
||||
if (g.ruby == RUBY_TOP) or (g.ruby == RUBY_ALT):
|
||||
g.time = t
|
||||
g.time = -1
|
||||
continue
|
||||
|
||||
t += tpg
|
||||
g.time = t
|
||||
|
||||
|
||||
return t
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
from __future__ import print_function
|
||||
|
||||
import time
|
||||
from textsupport cimport Glyph, SPLIT_INSTEAD, SPLIT_BEFORE, SPLIT_NONE, RUBY_TOP
|
||||
from textsupport cimport Glyph, SPLIT_INSTEAD, SPLIT_BEFORE, SPLIT_NONE, RUBY_TOP, RUBY_ALT
|
||||
from libc.stdlib cimport calloc, malloc, free
|
||||
|
||||
import collections
|
||||
@@ -170,7 +170,8 @@ cdef class WordWrapper(object):
|
||||
split points.
|
||||
"""
|
||||
|
||||
cdef Word *words, *word
|
||||
cdef Word *words
|
||||
cdef Word *word
|
||||
cdef double start_x = 0, x = 0
|
||||
cdef Glyph g, start_glyph
|
||||
cdef list rv
|
||||
@@ -193,6 +194,9 @@ cdef class WordWrapper(object):
|
||||
if g.ruby == RUBY_TOP:
|
||||
continue
|
||||
|
||||
if g.ruby == RUBY_ALT:
|
||||
continue
|
||||
|
||||
if g.split == SPLIT_INSTEAD:
|
||||
word.glyph = <void *> start_glyph
|
||||
word.start_x = start_x
|
||||
|
||||
@@ -279,7 +279,7 @@ For more information about adaptive icons, please check out:
|
||||
|
||||
https://medium.com/google-design/designing-adaptive-icons-515af294c783
|
||||
|
||||
Note that 1dp is corresponds to 4 actual pixels.
|
||||
Note that 1dp corresponds to 4 actual pixels.
|
||||
|
||||
When generating the application, Ren'Py will convert these files to an
|
||||
appropriate size for each device, and will generate static icons for devices
|
||||
@@ -290,7 +290,8 @@ Presplash
|
||||
---------
|
||||
|
||||
The presplash is shown before Ren'Py fully loads, before the main splashscreen
|
||||
starts. It's especially important on Android, as the first itme Ren'Py
|
||||
starts. It's especially important on Android, as the first time Ren'Py runs
|
||||
it will unpack supporting files, which make take some time.
|
||||
|
||||
android-presplash.jpg
|
||||
The image that's used when the app is loading. This should be surrounded
|
||||
|
||||
@@ -2,6 +2,118 @@
|
||||
Full Changelog
|
||||
==============
|
||||
|
||||
.. _renpy-7.1.1:
|
||||
.. _history-7.1.1:
|
||||
|
||||
History Fix
|
||||
-----------
|
||||
|
||||
This release fixes an issue with Ren'Py's history screen. The problem occurred
|
||||
when a line of dialogue contained a quoted square bracket, so something like::
|
||||
|
||||
"I [[think] I'm having a problem."
|
||||
|
||||
When this occurs, the string "I [think] I'm having a problem." is added to
|
||||
the history. Ren'Py would then display that in history, substitute the
|
||||
``think`` variable, and crash.
|
||||
|
||||
This is fixed by adding ``substitute False`` to the history screen. This
|
||||
is done to new projects, but for existing ones you'll need to make the fix
|
||||
yourself. Here's the new history screen::
|
||||
|
||||
screen history():
|
||||
|
||||
tag menu
|
||||
|
||||
## Avoid predicting this screen, as it can be very large.
|
||||
predict False
|
||||
|
||||
use game_menu(_("History"), scroll=("vpgrid" if gui.history_height else "viewport"), yinitial=1.0):
|
||||
|
||||
style_prefix "history"
|
||||
|
||||
for h in _history_list:
|
||||
|
||||
window:
|
||||
|
||||
## This lays things out properly if history_height is None.
|
||||
has fixed:
|
||||
yfit True
|
||||
|
||||
if h.who:
|
||||
|
||||
label h.who:
|
||||
style "history_name"
|
||||
substitute False
|
||||
|
||||
## Take the color of the who text from the Character, if set.
|
||||
if "color" in h.who_args:
|
||||
text_color h.who_args["color"]
|
||||
|
||||
$ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
|
||||
text what substitute False
|
||||
|
||||
if not _history_list:
|
||||
label _("The dialogue history is empty.")
|
||||
|
||||
|
||||
The new lines are the ones with ``substitute False`` on them. You'll want to make
|
||||
this change to your history screen to prevent his problem from happening.
|
||||
|
||||
Android Improvements
|
||||
--------------------
|
||||
|
||||
Ren'Py now sets the amount of memory used by the Android build tool to
|
||||
the Google-set default of 1536 megabytes. To change this, edit
|
||||
rapt/project/gradle.properties. To make sure you're capable of building
|
||||
larger games, please make sure your computer has a 64-bit version of Java 8.
|
||||
|
||||
Ren'Py explicitly tells Android to pass the enter key to an input.
|
||||
|
||||
Ren'Py now crops and sizes the icon correctly for versions of Android below
|
||||
Android 8 (Oreo).
|
||||
|
||||
Ren'Py gives a different numeric version number to the x86_64 apk. This will
|
||||
allow both x86_64 and armeabi-v7a builds to be uploaded to Google Play and
|
||||
other stores, rather than having to first created one build and then the other,
|
||||
manually changing the version numbers between.
|
||||
|
||||
Other Improvements
|
||||
------------------
|
||||
|
||||
Ren'Py now handles the (lack of) drawing of zero width characters itself, preventing
|
||||
such characters from appearing as squares in text if the font does not support
|
||||
the zero width character.
|
||||
|
||||
Ren'Py supports the use of non-breaking space and zero-width non-breaking space
|
||||
characters to prevent images in text from being wrapped.
|
||||
|
||||
Ren'Py supports the a new "nestled-close" value for the `ctc_position` parameter
|
||||
of :func:`Character`. This value prevents there from being a break between the
|
||||
click-to-continue indicator and the other lines.
|
||||
|
||||
Drags (in drag-and-drop) now support alternate clicks. (Right clicks on desktop
|
||||
and long-clicks on touch platforms.)
|
||||
|
||||
|
||||
Fixes
|
||||
-----
|
||||
|
||||
The :func:`SetVariable` and :func:`ToggleVariable` functions have been extended
|
||||
to accept namespaces and fields. So it's now possible to have actions like
|
||||
``SetVariable("hero.strength", hero.strength + 1)`` or
|
||||
``ToggleVariable("persistent.alternate_perspective")``.
|
||||
|
||||
Automatic management of the dialogue window (as enabled by the ``window auto``
|
||||
statement) now considers if an in-game menu has a dialogue or caption associated
|
||||
with it, and handles that appropriately.
|
||||
|
||||
The source code to the embedded version of fribidi that Ren'Py is expected
|
||||
to build with is now included in the -source archive.
|
||||
|
||||
There have been a number of fixes to the voice sustain preference to make
|
||||
it work better with history and the voice replay action.
|
||||
|
||||
.. _renpy-7.1:
|
||||
|
||||
7.1
|
||||
@@ -44,6 +156,25 @@ the {clear} tag is part of a line by itself, it is the equivalent of
|
||||
the ``nvl clear`` statement. See :ref:`NVL Monlologue Mode <nvl-monologue-mode>` for more
|
||||
about this.
|
||||
|
||||
|
||||
Say-With-Attribute Change
|
||||
-------------------------
|
||||
|
||||
There has been a change to the way a say-with-attributes is handled
|
||||
when there is not an image with the tag displaying. Previously, Ren'Py
|
||||
would use the attributes given in the most recent say-with-attributes statement
|
||||
to selected the side image to show.
|
||||
|
||||
Now, Ren'Py will use the provided attributes and existing attributes to resolve
|
||||
the side image. This makes a say-with-attributes that occurs when an image
|
||||
is not showing work the same way as when it is. When the attributes do not
|
||||
select a single side image, Ren'Py will select the image with all of the given
|
||||
attributes, and the most possible of the existing attributes.
|
||||
|
||||
The rationale for this change is to help with side images that are defined
|
||||
as layered images, where providing only the attributes that change makes
|
||||
sense.
|
||||
|
||||
Updater Changes
|
||||
---------------
|
||||
|
||||
@@ -63,6 +194,8 @@ Translations
|
||||
The Ren'Py launcher, template game, and The Question have been translated
|
||||
into the Latin script of Malay by Muhammad Nur Hidayat Yasuyoshi.
|
||||
|
||||
The Korean translation has been significantly updated.
|
||||
|
||||
It is now possible to translate the strings used by RAPT into non-English
|
||||
languages.
|
||||
|
||||
@@ -122,6 +255,10 @@ The new :var:`config.context_callback` is called when starting the game or
|
||||
entering a new context, like a menu context. It can be used to stop voice
|
||||
or sounds from playing when entering that context.
|
||||
|
||||
The :func:`Drag` displayable (and the screen language equivalent, ``drag``)
|
||||
have grown a new `activated` property. This is callback that is called when
|
||||
the user first clicks the mouse on a drag. (Before it starts moving.)
|
||||
|
||||
|
||||
.. _renpy-7.0:
|
||||
|
||||
|
||||
@@ -776,12 +776,12 @@ Occasionally Used
|
||||
platform specific, and so this should be set in a platform-specific
|
||||
manner. (It may make sense to change this in translations, as well.)
|
||||
|
||||
.. var:: config.window_auto_hide = [ 'scene', 'call screen' ]
|
||||
.. var:: config.window_auto_hide = [ 'scene', 'call screen', 'menu' ]
|
||||
|
||||
A list of statements that cause ``window auto`` to hide the empty
|
||||
dialogue window.
|
||||
|
||||
.. var:: config.window_auto_show = [ 'say' ]
|
||||
.. var:: config.window_auto_show = [ 'say', 'menu-with-caption' ]
|
||||
|
||||
A list of statements that cause ``window auto`` to show the empty
|
||||
dialogue window.
|
||||
|
||||
@@ -19,7 +19,7 @@ the omission in future versions.
|
||||
* Aleema
|
||||
* Alessio
|
||||
* Alexandre Tranchant
|
||||
* Andyl_kl
|
||||
* Andykl
|
||||
* Apricotorange
|
||||
* Arowana-vx
|
||||
* Asfdfdfd
|
||||
@@ -86,6 +86,7 @@ the omission in future versions.
|
||||
* Kuroonehalf
|
||||
* Kyouryuukunn
|
||||
* Lapalissiano
|
||||
* Lee Yunseok
|
||||
* Lore
|
||||
* Maissara Moustafa
|
||||
* Marcel
|
||||
@@ -95,6 +96,7 @@ the omission in future versions.
|
||||
* Merumelu
|
||||
* mikey (ATP Projects)
|
||||
* Morgan Willcock
|
||||
* Moshibit
|
||||
* MrStalker
|
||||
* Mugenjohncel (Uncle Mugen)
|
||||
* Muhammad Nur Hidayat Yasuyoshi
|
||||
@@ -108,6 +110,7 @@ the omission in future versions.
|
||||
* Paul Morio
|
||||
* Pavel Langwell
|
||||
* Peter DeVita
|
||||
* Philat
|
||||
* Piroshki
|
||||
* Pratomo Asta Nugraha
|
||||
* Project Gardares
|
||||
@@ -120,6 +123,7 @@ the omission in future versions.
|
||||
* Rikxz
|
||||
* rivvil
|
||||
* Robert Penner
|
||||
* Saltome
|
||||
* Sapphi
|
||||
* Scout
|
||||
* Shiz
|
||||
|
||||
@@ -232,7 +232,8 @@ non-dialogue interactions.
|
||||
before statements listed in :var:`config.window_auto_show` – by default,
|
||||
say statements. The window is hidden before statements listed in
|
||||
:var:`config.window_auto_hide` – by default, ``scene`` and ``call screen``
|
||||
statements. (Only statements are considered, not statement equivalent
|
||||
statements, and ``menu`` statements without a caption.
|
||||
(Only statements are considered, not statement equivalent
|
||||
functions.)
|
||||
|
||||
The ``window auto`` statement uses :var:`config.window_show_transition`
|
||||
|
||||
@@ -13,6 +13,38 @@ Incompatible changes to the GUI are documented at :ref:`gui-changes`, as
|
||||
such changes only take effect when the GUI is regenerated.
|
||||
|
||||
|
||||
.. _incompatible-7.1.1:
|
||||
|
||||
7.1.1
|
||||
-----
|
||||
|
||||
Ren'Py's window auto function will now determine if dialogue or a caption
|
||||
is associated with a menu statement, and will attempt to hide or show the
|
||||
dialogue window as appropriate. A "Force Recompile" is necessary to include
|
||||
the information that enables this feature. While it should work with older
|
||||
games, this can be disabled and the old behavior restored with::
|
||||
|
||||
define config.menu_showed_window = True
|
||||
define config.window_auto_show = [ "say" ]
|
||||
define config.window_auto_hide = [ "scene", "call screen" ]
|
||||
|
||||
While not technically an incompatible change, there is a recommend change
|
||||
to the history screen. Please see :ref:`the changelog entry <history-7.1.1>`
|
||||
for details of how to update your game.
|
||||
|
||||
|
||||
.. _incompatible-7.1:
|
||||
|
||||
7.1
|
||||
---
|
||||
|
||||
When an image is not being show, say-with-attributes now resolves a side
|
||||
image, rather than just using the attributes given. To disable this, add::
|
||||
|
||||
|
||||
define config.say_attributes_use_side_image = False
|
||||
|
||||
|
||||
.. _incompatible-7.0:
|
||||
|
||||
7.0
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -551,7 +551,7 @@ documented, and the arguments it takes if you want to supply your own
|
||||
Proxying Layered Images
|
||||
-----------------------
|
||||
|
||||
Sometimes, it's necessary to proxy a layered image, to used the same
|
||||
Sometimes, it's necessary to proxy a layered image, to use the same
|
||||
layered image in multiple places. One reason for this would be to have
|
||||
the same sprite at multiple sizes, while another would be to use it as
|
||||
a side image.
|
||||
|
||||
+163
-146
@@ -1,170 +1,187 @@
|
||||
<ul class='sponsors'>
|
||||
<li> __skwrl__ (6.99.14.3–7.0.1)
|
||||
<li> Adia Alderson (6.99.13–7.0.1)
|
||||
<li> Aleema (6.99.13–7.0.1)
|
||||
<li> <a href="http://alexdodge.net/" rel="nofollow">Alex Dodge</a> (6.99.14–7.0.1)
|
||||
<li> <a href="https://rabidb.com/" rel="nofollow">AlexSSZ</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://alic-szecsei.com" rel="nofollow">Alic Szecsei</a> (6.99.14.3–7.0.1)
|
||||
<li> Anne Camlin (7.0–7.0.1)
|
||||
<li> __skwrl__ (6.99.14.3–7.1.1)
|
||||
<li> Adia Alderson (6.99.13–7.1.1)
|
||||
<li> Aleema (6.99.13–7.1.1)
|
||||
<li> <a href="http://alexdodge.net/" rel="nofollow">Alex Dodge</a> (6.99.14–7.1.1)
|
||||
<li> <a href="https://rabidb.com/" rel="nofollow">AlexSSZ</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://alic-szecsei.com" rel="nofollow">Alic Szecsei</a> (6.99.14.3–7.1.1)
|
||||
<li> Anne Camlin (7.0–7.1.1)
|
||||
<li> <a href="https://lemmasoft.renai.us/forums/viewtopic.php?f=51&t=34131" rel="nofollow">AR09FQF-AQ09FRF</a> (6.99.14.1–7.0)
|
||||
<li> Asatiir (6.99.13–7.0)
|
||||
<li> <a href="https://www.atwistedspirit.com/" rel="nofollow">ATwistedSpirit</a> (7.0.1)
|
||||
<li> <a href="https://patchworkprincess.moe/" rel="nofollow">Azura (Vanessa Parker)</a> (7.0–7.0.1)
|
||||
<li> <a href="https://www.youtube.com/channel/UC3Xm0sk-rRCtD-yVp64WPWQ" rel="nofollow">BadGamer</a> (6.99.14.3–7.0.1)
|
||||
<li> Belfort and Bastion (6.99.13–7.0.1)
|
||||
<li> Biotikos Development (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.atwistedspirit.com/" rel="nofollow">ATwistedSpirit</a> (7.1–7.1.1)
|
||||
<li> <a href="https://patchworkprincess.moe/" rel="nofollow">Azura (Vanessa Parker)</a> (7.0–7.1)
|
||||
<li> <a href="https://www.youtube.com/channel/UC3Xm0sk-rRCtD-yVp64WPWQ" rel="nofollow">BadGamer</a> (6.99.14.3–7.1.1)
|
||||
<li> Belfort and Bastion (6.99.13–7.1)
|
||||
<li> Biotikos Development (6.99.13–7.1.1)
|
||||
<li> Bob (6.99.13–7.0)
|
||||
<li> <a href="https://bobcgames.tumblr.com" rel="nofollow">Bob Conway</a> (6.99.14.1–7.0.1)
|
||||
<li> Booom313's tinker corner (6.99.14–7.0.1)
|
||||
<li> Boreas Bear (6.99.13–7.0.1)
|
||||
<li> <a href="http://boyslaughplus.moe" rel="nofollow">Boys Laugh +</a> (6.99.13–7.0.1)
|
||||
<li> Bradley Todd Whitesell (6.99.14.2–7.0.1)
|
||||
<li> <a href="https://bobcgames.tumblr.com" rel="nofollow">Bob Conway</a> (6.99.14.1–7.1.1)
|
||||
<li> Bob Reus (7.1–7.1.1)
|
||||
<li> Booom313's tinker corner (6.99.14–7.1.1)
|
||||
<li> Boreas Bear (6.99.13–7.1.1)
|
||||
<li> <a href="http://boyslaughplus.moe" rel="nofollow">Boys Laugh +</a> (6.99.13–7.1.1)
|
||||
<li> Brett Douglas (6.99.14–6.99.14.3)
|
||||
<li> Brimney (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.brunimultimedia.com" rel="nofollow">Bruni Multimedia</a> (6.99.14–7.0.1)
|
||||
<li> Brimney (6.99.13–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.brunimultimedia.com" rel="nofollow">Bruni Multimedia</a> (6.99.14–7.1.1)
|
||||
<li> <a href="http://www.bura.cl" rel="nofollow">BURA</a> (6.99.13)
|
||||
<li> Cameron Woodard (6.99.14.3–7.0.1)
|
||||
<li> Cara Hillstock (6.99.13–7.0.1)
|
||||
<li> Charlene Gilbert (6.99.13–7.0.1)
|
||||
<li> <a href="http://charliethegoldfish.com" rel="nofollow">Charlie Francis Cassidy</a> (6.99.13–7.0.1)
|
||||
<li> Cherry Kiss Games (6.99.14.1–7.0.1)
|
||||
<li> Chrysoula Tzavelas (6.99.13–7.0.1)
|
||||
<li> <a href="https://cloverfirefly.itch.io" rel="nofollow">cloverfirefly</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://obscurasoft.com/" rel="nofollow">Coming Out On Top</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://www.computerart.club/" rel="nofollow">computerart.club</a> (6.99.14–7.0.1)
|
||||
<li> Crazy Cactus (6.99.14.3–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=http://cricketbat.me" rel="nofollow">cricketbat_</a> (7.0–7.0.1)
|
||||
<li> Cameron Woodard (6.99.14.3–7.1.1)
|
||||
<li> Cara Hillstock (6.99.13–7.1.1)
|
||||
<li> <a href="https://www.celebrityhunter.com.br" rel="nofollow">Celebrity Hunter</a> (7.1–7.1.1)
|
||||
<li> Charlene Gilbert (6.99.13–7.1.1)
|
||||
<li> <a href="http://charliethegoldfish.com" rel="nofollow">Charlie Francis Cassidy</a> (6.99.13–7.1.1)
|
||||
<li> Chekhov's Ghost (7.1–7.1.1)
|
||||
<li> Cherry Kiss Games (6.99.14.1–7.1.1)
|
||||
<li> Chrysoula Tzavelas (6.99.13–7.1.1)
|
||||
<li> <a href="https://cloverfirefly.itch.io" rel="nofollow">cloverfirefly</a> (6.99.13–7.1.1)
|
||||
<li> CobaltCore (7.1.1)
|
||||
<li> CobraPL (7.1–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://obscurasoft.com/" rel="nofollow">Coming Out On Top</a> (6.99.13–7.1.1)
|
||||
<li> <a href="http://www.computerart.club/" rel="nofollow">computerart.club</a> (6.99.14–7.1.1)
|
||||
<li> CookieNomNom (7.1.1)
|
||||
<li> Crazy Cactus (6.99.14.3–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=http://cricketbat.me" rel="nofollow">cricketbat_</a> (7.0–7.1.1)
|
||||
<li> <a href="http://cultofape.com" rel="nofollow">CultOfApe</a> (6.99.14–7.0)
|
||||
<li> Culture4Jam (6.99.13–7.0.1)
|
||||
<li> Culture4Jam (6.99.13–7.1.1)
|
||||
<li> Daniel Burns (7.1–7.1.1)
|
||||
<li> <a href="http://dark-aii.net" rel="nofollow">Dark-Aii</a> (6.99.14.1–6.99.14.3)
|
||||
<li> <a href="http://www.darksirengames.com" rel="nofollow">DarkSirenGames</a> (6.99.13–7.0.1)
|
||||
<li> Darryl Taylor (7.0–7.0.1)
|
||||
<li> David Koster (6.99.14–7.0.1)
|
||||
<li> David Yingling (6.99.14.1–7.0.1)
|
||||
<li> Dee (7.0.1)
|
||||
<li> Denny Cheng (6.99.14.2–7.0.1)
|
||||
<li> <a href="https://twitter.com/princessdealtry" rel="nofollow">Diplomatic Relations</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://coriginate.com" rel="nofollow">Ds110</a> (6.99.13–7.0.1)
|
||||
<li> E. William Brown (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.youtube.com/c/ElaineDoesCoding" rel="nofollow">ElaineDoesCoding</a> (7.0–7.0.1)
|
||||
<li> eric chi hung ng (7.0–7.0.1)
|
||||
<li> Euan 'Xolf' Robertson (6.99.13–7.0.1)
|
||||
<li> <a href="http://www.darksirengames.com" rel="nofollow">DarkSirenGames</a> (6.99.13–7.1.1)
|
||||
<li> Darryl Taylor (7.0–7.1.1)
|
||||
<li> David Koster (6.99.14–7.1.1)
|
||||
<li> David Yingling (6.99.14.1–7.1.1)
|
||||
<li> Dee (7.1–7.1.1)
|
||||
<li> Denny Cheng (6.99.14.2–7.1.1)
|
||||
<li> Dharker Studios Ltd (6.99.13–6.99.14, 7.1.1)
|
||||
<li> <a href="http://coriginate.com" rel="nofollow">Ds110</a> (6.99.13–7.1.1)
|
||||
<li> DuoDevelopers (7.1.1)
|
||||
<li> E. William Brown (6.99.13–7.1.1)
|
||||
<li> <a href="https://twitter.com/WC_EchoFrost" rel="nofollow">EchoFrost (Watercress)</a> (6.99.14.2–7.1.1)
|
||||
<li> <a href="https://www.youtube.com/c/ElaineDoesCoding" rel="nofollow">ElaineDoesCoding</a> (7.0–7.1.1)
|
||||
<li> eric chi hung ng (7.0–7.1.1)
|
||||
<li> Euan 'Xolf' Robertson (6.99.13–7.1.1)
|
||||
<li> Eve Hallows (6.99.13–6.99.14)
|
||||
<li> Exiscoming (6.99.14–7.0.1)
|
||||
<li> <a href="https://moonlitworks.com/" rel="nofollow">Eyzi</a> (7.0–7.0.1)
|
||||
<li> Fuseblower (7.0–7.0.1)
|
||||
<li> <a href="http://store.steampowered.com/app/560250/Galaxy_Girls/" rel="nofollow">Galaxy Girls</a> (6.99.13–6.99.14)
|
||||
<li> George (7.0.1)
|
||||
<li> <a href="http://www.gtbono.com" rel="nofollow">Giovanni Tempobono</a> (7.0.1)
|
||||
<li> <a href="https://goldengamebarn.com/" rel="nofollow">Golden Game Barn</a> (6.99.13–7.0.1)
|
||||
<li> Great Chicken Studio (6.99.14–7.0.1)
|
||||
<li> Grimiku (7.0–7.0.1)
|
||||
<li> Gunso (6.99.13–7.0.1)
|
||||
<li> Exiscoming (6.99.14–7.1.1)
|
||||
<li> <a href="https://moonlitworks.com/" rel="nofollow">Eyzi</a> (7.0–7.1.1)
|
||||
<li> Fuseblower (7.0–7.1.1)
|
||||
<li> George (7.1–7.1.1)
|
||||
<li> <a href="http://www.gtbono.com" rel="nofollow">Giovanni Tempobono</a> (7.1–7.1.1)
|
||||
<li> <a href="https://goldengamebarn.com/" rel="nofollow">Golden Game Barn</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://twitter.com/goodtalesvn" rel="nofollow">Good Tales</a> (7.1–7.1.1)
|
||||
<li> Great Chicken Studio (6.99.14–7.1.1)
|
||||
<li> Grimiku (7.0–7.1.1)
|
||||
<li> Gunso (6.99.13–7.1.1)
|
||||
<li> HAG Productions (7.1.1)
|
||||
<li> <a href="http://hanb.jp" rel="nofollow">HanbitGaram (MOEWORK Entertainment)</a> (7.1–7.1.1)
|
||||
<li> Happimochi (6.99.13–6.99.14)
|
||||
<li> HopesGaming (7.1.1)
|
||||
<li> <a href="https://ijemin.com" rel="nofollow">I_Jemin</a> (6.99.13–7.0)
|
||||
<li> <a href="https://irredeemable.net/" rel="nofollow">Irredeemable Games</a> (6.99.14–7.0.1)
|
||||
<li> J. C. Holder (6.99.13–7.0.1)
|
||||
<li> James Tyner (6.99.13–7.0.1)
|
||||
<li> JeongPyo Lee (6.99.13–7.0.1)
|
||||
<li> Joanna B (6.99.13–7.0.1)
|
||||
<li> jonnymelabo (6.99.13–7.0.1)
|
||||
<li> <a href="https://irredeemable.net/" rel="nofollow">Irredeemable Games</a> (6.99.14–7.1.1)
|
||||
<li> J. C. Holder (6.99.13–7.1.1)
|
||||
<li> James Tyner (6.99.13–7.1)
|
||||
<li> JeongPyo Lee (6.99.13–7.1.1)
|
||||
<li> Joanna B (6.99.13–7.1.1)
|
||||
<li> JoeBanks (7.1–7.1.1)
|
||||
<li> Jonas Kyratzes (7.1.1)
|
||||
<li> jonnymelabo (6.99.13–7.1.1)
|
||||
<li> Josh Kaplan (6.99.13–6.99.14.2)
|
||||
<li> K. Starbuck (6.99.13–6.99.14)
|
||||
<li> Kayde Initials (6.99.13–7.0.1)
|
||||
<li> <a href="http://kexboy.com" rel="nofollow">KEXBOY</a> (6.99.13–7.0.1)
|
||||
<li> Kikai Digital (7.0–7.0.1)
|
||||
<li> <a href="http://www.gamesbykinmoku.com" rel="nofollow">Kinmoku</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://krsm94.web.fc2.com/" rel="nofollow">Klast Halc (crAsm)</a> (6.99.14.2–7.0.1)
|
||||
<li> Kosmos Games (6.99.14–7.0.1)
|
||||
<li> <a href="https://de.koubaibu.tech/" rel="nofollow">Koubaibu Technology Group</a> (7.0.1)
|
||||
<li> lain105/EckoMars (6.99.13–7.0.1)
|
||||
<li> LateWhiteRabbit (6.99.14–7.0.1)
|
||||
<li> <a href="https://lernakow.itch.io" rel="nofollow">Lernakow</a> (6.99.14.3–7.0.1)
|
||||
<li> LewdKitty (7.0–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.lewdlab.com/" rel="nofollow">Lewdlab</a> (6.99.14.1–7.0.1)
|
||||
<li> <a href="https://lemmasoft.renai.us/forums/viewtopic.php?f=66&t=48011&p=482643" rel="nofollow">Lezalith</a> (7.0.1)
|
||||
<li> Lictor (6.99.14.2–7.0.1)
|
||||
<li> Little Napoleon (7.0.1)
|
||||
<li> <a href="http://trash.moe/" rel="nofollow">Lore</a> (6.99.13–7.0.1)
|
||||
<li> Luke Jackson (6.99.13–7.0.1)
|
||||
<li> <a href="http://luscious-spirit-studios.tumblr.com/" rel="nofollow">Luscious Spirit Studios</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/Luxee" rel="nofollow">Luxee</a> (6.99.14.3–7.0.1)
|
||||
<li> M. I. Madrone (6.99.13–7.0.1)
|
||||
<li> Maeve Bandruid (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/manitu" rel="nofollow">MANITU Games CO.</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://manorstories.fr" rel="nofollow">ManorStories</a> (6.99.14–7.0.1)
|
||||
<li> <a href="http://www.marionettecode.com/" rel="nofollow">Marionette</a> (6.99.14–7.0.1)
|
||||
<li> Kampmichi (7.1.1)
|
||||
<li> Kayde Initials (6.99.13–7.1.1)
|
||||
<li> <a href="http://kexboy.com" rel="nofollow">KEXBOY</a> (6.99.13–7.1.1)
|
||||
<li> Kikai Digital (7.0–7.1.1)
|
||||
<li> <a href="http://www.gamesbykinmoku.com" rel="nofollow">Kinmoku</a> (6.99.13–7.1.1)
|
||||
<li> <a href="http://krsm94.web.fc2.com/" rel="nofollow">Klast Halc (crAsm)</a> (6.99.14.2–7.1.1)
|
||||
<li> Kosmos Games (6.99.14–7.1.1)
|
||||
<li> <a href="https://de.koubaibu.tech/" rel="nofollow">Koubaibu Technology Group</a> (7.1–7.1.1)
|
||||
<li> lain105/EckoMars (6.99.13–7.1.1)
|
||||
<li> LateWhiteRabbit (6.99.14–7.1.1)
|
||||
<li> <a href="https://lernakow.itch.io" rel="nofollow">Lernakow</a> (6.99.14.3–7.1.1)
|
||||
<li> LewdKitty (7.0–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.lewdlab.com/" rel="nofollow">Lewdlab</a> (6.99.14.1–7.1.1)
|
||||
<li> <a href="https://lemmasoft.renai.us/forums/viewtopic.php?f=66&t=48011&p=482643" rel="nofollow">Lezalith</a> (7.1–7.1.1)
|
||||
<li> Lictor (6.99.14.2–7.1.1)
|
||||
<li> Little Napoleon (7.1–7.1.1)
|
||||
<li> <a href="http://trash.moe/" rel="nofollow">Lore</a> (6.99.13–7.1.1)
|
||||
<li> Luke Jackson (6.99.13–7.1.1)
|
||||
<li> <a href="http://luscious-spirit-studios.tumblr.com/" rel="nofollow">Luscious Spirit Studios</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/Luxee" rel="nofollow">Luxee</a> (6.99.14.3–7.1.1)
|
||||
<li> Maeve Bandruid (6.99.13–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/manitu" rel="nofollow">MANITU Games CO.</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://manorstories.fr" rel="nofollow">ManorStories</a> (6.99.14–7.1.1)
|
||||
<li> <a href="http://www.marionettecode.com/" rel="nofollow">Marionette</a> (6.99.14–7.1.1)
|
||||
<li> MAW.3D.Art (6.99.13)
|
||||
<li> Max J Sher (6.99.13–7.0.1)
|
||||
<li> MCatter Dev (7.0.1)
|
||||
<li> <a href="https://meagantrott.com" rel="nofollow">Meagan Trott</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://metasepia.icecavern.net" rel="nofollow">Metasepia Games</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://www.meyaoi.com" rel="nofollow">Meyaoi Games</a> (6.99.13–6.99.14, 6.99.14.3–7.0.1)
|
||||
<li> Meyvol (6.99.14.1–7.0.1)
|
||||
<li> Michaela Laws (6.99.13–7.0.1)
|
||||
<li> <a href="http://www.milkteestudios.com" rel="nofollow">Milktee Studios</a> (7.0–7.0.1)
|
||||
<li> Miss Skizzors (7.0–7.0.1)
|
||||
<li> <a href="https://mrvaldez.ph/" rel="nofollow">MrValdez</a> (7.0–7.0.1)
|
||||
<li> Max J Sher (6.99.13–7.1.1)
|
||||
<li> MCatter Dev (7.1–7.1.1)
|
||||
<li> <a href="https://meagantrott.com" rel="nofollow">Meagan Trott</a> (6.99.13–7.1.1)
|
||||
<li> <a href="http://metasepia.icecavern.net" rel="nofollow">Metasepia Games</a> (6.99.13–7.1.1)
|
||||
<li> <a href="http://www.meyaoi.com" rel="nofollow">Meyaoi Games</a> (6.99.13–6.99.14, 6.99.14.3–7.1.1)
|
||||
<li> Meyvol (6.99.14.1–7.1.1)
|
||||
<li> Michael Simon (7.1.1)
|
||||
<li> Michaela Laws (6.99.13–7.1.1)
|
||||
<li> <a href="http://www.milkteestudios.com" rel="nofollow">Milktee Studios</a> (7.0–7.1)
|
||||
<li> Miss Skizzors (7.0–7.1.1)
|
||||
<li> Montse Latre (7.1.1)
|
||||
<li> <a href="https://mrvaldez.ph/" rel="nofollow">MrValdez</a> (7.0–7.1.1)
|
||||
<li> <a href="https://ms45.itch.io" rel="nofollow">Ms .45</a> (6.99.13)
|
||||
<li> nasredin (6.99.14.3–7.0.1)
|
||||
<li> Natalie Van Sistine (7.0–7.0.1)
|
||||
<li> <a href="https://cafe.naver.com/vmo.cafe" rel="nofollow">Naver cafe VMO</a> (7.0.1)
|
||||
<li> <a href="http://cafe.naver.com/vmo" rel="nofollow">NaverCafe VMO</a> (6.99.13–7.0.1)
|
||||
<li> nasredin (6.99.14.3–7.1.1)
|
||||
<li> Natalie Van Sistine (7.0–7.1.1)
|
||||
<li> <a href="https://cafe.naver.com/vmo.cafe" rel="nofollow">Naver cafe VMO</a> (7.1–7.1.1)
|
||||
<li> <a href="http://cafe.naver.com/vmo" rel="nofollow">NaverCafe VMO</a> (6.99.13–7.1)
|
||||
<li> Neigan (7.0)
|
||||
<li> Nicholas Swenson (6.99.14–7.0.1)
|
||||
<li> <a href="https://www.patreon.com/nikraria" rel="nofollow">nikraria</a> (6.99.13–7.0.1)
|
||||
<li> Nova Alamak (6.99.14.3–7.0.1)
|
||||
<li> Nicholas Swenson (6.99.14–7.1.1)
|
||||
<li> <a href="https://www.patreon.com/nikraria" rel="nofollow">nikraria</a> (6.99.13–7.1.1)
|
||||
<li> Nova Alamak (6.99.14.3–7.1.1)
|
||||
<li> <a href="http://devety.com" rel="nofollow">Oleksii olety Kyrylchuk</a> (6.99.14.1–6.99.14.2)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/palantogames" rel="nofollow">Palanto Games</a> (7.0–7.0.1)
|
||||
<li> Panthera Morag (6.99.13–7.0.1)
|
||||
<li> Patricia (6.99.13–7.0.1)
|
||||
<li> <a href="http://peachpattch.com/" rel="nofollow">peachpattch</a> (6.99.14–7.0.1)
|
||||
<li> philat (6.99.14.1–7.0.1)
|
||||
<li> plasterbrain (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=https://www.patreon.com/palantogames" rel="nofollow">Palanto Games</a> (7.0–7.1.1)
|
||||
<li> Panthera Morag (6.99.13–7.1.1)
|
||||
<li> Patchwork Princess (7.1–7.1.1)
|
||||
<li> Patricia (6.99.13–7.1.1)
|
||||
<li> <a href="http://peachpattch.com/" rel="nofollow">peachpattch</a> (6.99.14–7.1.1)
|
||||
<li> philat (6.99.14.1–7.1.1)
|
||||
<li> plasterbrain (6.99.13–7.1.1)
|
||||
<li> Ploppertje (6.99.13–6.99.14.3)
|
||||
<li> Podge (6.99.13–7.0.1)
|
||||
<li> Podge (6.99.13–7.1.1)
|
||||
<li> Puriwit Sesupaponphong (6.99.13)
|
||||
<li> Puriwit Sesupaponphong (6.99.13–7.0.1)
|
||||
<li> Pólyí Konrád (7.0.1)
|
||||
<li> <a href="http://razzartvisual.com/" rel="nofollow">Razz</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://twitter.com/ragnarhomsar" rel="nofollow">Realga</a> (7.0–7.0.1)
|
||||
<li> René Dudfield (6.99.13–7.0.1)
|
||||
<li> Richard (6.99.14–7.0.1)
|
||||
<li> <a href="http://impqueen.com/" rel="nofollow">Rinmaru</a> (6.99.13–7.0.1)
|
||||
<li> Rizia Praja (6.99.14.1–7.0.1)
|
||||
<li> Robyn Rosenfeld (7.0.1)
|
||||
<li> <a href="http://sunkoiwish.com/" rel="nofollow">Royce A Xaiyeon</a> (6.99.13–7.0.1)
|
||||
<li> Ryan Balgos (6.99.14–7.0.1)
|
||||
<li> Ryan Whited (6.99.14–7.0.1)
|
||||
<li> <a href="https://saiffyros.wordpress.com/" rel="nofollow">Saiffyros</a> (6.99.14–7.0.1)
|
||||
<li> Sam Yang (6.99.13–7.0.1)
|
||||
<li> Simply Aria (6.99.14–7.0.1)
|
||||
<li> <a href="http://sleepyagents.co.uk" rel="nofollow">Sleepy Agents</a> (6.99.13–7.0.1)
|
||||
<li> Snowlocke (7.0–7.0.1)
|
||||
<li> <a href="http://store.steampowered.com/app/570350/Sorry_Entschuldigung__A_Psychological_Horror_Visual_Novel/" rel="nofollow">Sorry. (Entschuldigung)</a> (6.99.14.2–7.0.1)
|
||||
<li> Spyros Panagiotopoulos (6.99.14–7.0.1)
|
||||
<li> Steamlynx (6.99.14.1–7.0.1)
|
||||
<li> Stefan Gagne (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=http://www.patreon.com/errilhl" rel="nofollow">Studio Errilhl</a> (6.99.14.3–7.0.1)
|
||||
<li> Taosym (6.99.13–7.0.1)
|
||||
<li> Teofilo Hurtado (6.99.14–7.0.1)
|
||||
<li> Thomas Charlie (6.99.13–7.0.1)
|
||||
<li> Timothy Landreth (6.99.13–7.0.1)
|
||||
<li> Timothy Young (6.99.14.1–7.0.1)
|
||||
<li> TJ Huckabee (6.99.13–7.0.1)
|
||||
<li> Puriwit Sesupaponphong (6.99.13–7.1)
|
||||
<li> Pólyí Konrád (7.1–7.1.1)
|
||||
<li> <a href="http://www.cottoncandycyanide.com/" rel="nofollow">Quantum Suicide</a> (7.1–7.1.1)
|
||||
<li> <a href="http://razzartvisual.com/" rel="nofollow">Razz</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://twitter.com/ragnarhomsar" rel="nofollow">Realga</a> (7.0–7.1)
|
||||
<li> René Dudfield (6.99.13–7.1.1)
|
||||
<li> Richard (6.99.14–7.1.1)
|
||||
<li> <a href="http://impqueen.com/" rel="nofollow">Rinmaru</a> (6.99.13–7.1.1)
|
||||
<li> Rizia Praja (6.99.14.1–7.1.1)
|
||||
<li> Robyn Rosenfeld (7.1)
|
||||
<li> <a href="http://sunkoiwish.com/" rel="nofollow">Royce A Xaiyeon</a> (6.99.13–7.1.1)
|
||||
<li> Ryan Balgos (6.99.14–7.1.1)
|
||||
<li> Ryan Whited (6.99.14–7.1)
|
||||
<li> <a href="https://saiffyros.wordpress.com/" rel="nofollow">Saiffyros</a> (6.99.14–7.1.1)
|
||||
<li> Sam Yang (6.99.13–7.1.1)
|
||||
<li> Simply Aria (6.99.14–7.1.1)
|
||||
<li> <a href="http://sleepyagents.co.uk" rel="nofollow">Sleepy Agents</a> (6.99.13–7.1.1)
|
||||
<li> Snowlocke (7.0–7.1.1)
|
||||
<li> <a href="http://store.steampowered.com/app/570350/Sorry_Entschuldigung__A_Psychological_Horror_Visual_Novel/" rel="nofollow">Sorry. (Entschuldigung)</a> (6.99.14.2–7.1)
|
||||
<li> Spyros Panagiotopoulos (6.99.14–7.1)
|
||||
<li> Steamlynx (6.99.14.1–7.1.1)
|
||||
<li> Stefan Gagne (6.99.13–7.1.1)
|
||||
<li> <a href="https://www.renpy.org/agegate?url=http://www.patreon.com/errilhl" rel="nofollow">Studio Errilhl</a> (6.99.14.3–7.1.1)
|
||||
<li> Taosym (6.99.13–7.1.1)
|
||||
<li> Teofilo Hurtado (6.99.14–7.1.1)
|
||||
<li> Thomas Charlie (6.99.13–7.1.1)
|
||||
<li> Timothy Landreth (6.99.13–7.1.1)
|
||||
<li> Timothy Young (6.99.14.1–7.1.1)
|
||||
<li> TJ Huckabee (6.99.13–7.1.1)
|
||||
<li> ToastCrust (6.99.13–6.99.14)
|
||||
<li> Tobias Wüthrich (6.99.13–6.99.14.3)
|
||||
<li> <a href="http://tremmigames.tk/" rel="nofollow">tremmiGames</a> (7.0–7.0.1)
|
||||
<li> trooper6 (6.99.13–7.0.1)
|
||||
<li> <a href="https://www.youtube.com/tryinmorning" rel="nofollow">tryinmorning</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://studiomugenjohncel.wordpress.com/" rel="nofollow">Uncle Mugen (Mugenjohncel</a> (6.99.14.2–7.0.1)
|
||||
<li> <a href="http://www.visualsaga.com/" rel="nofollow">Visual Saga</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://tremmigames.tk/" rel="nofollow">tremmiGames</a> (7.0–7.1.1)
|
||||
<li> trooper6 (6.99.13–7.1.1)
|
||||
<li> <a href="https://www.youtube.com/tryinmorning" rel="nofollow">tryinmorning</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://studiomugenjohncel.wordpress.com/" rel="nofollow">Uncle Mugen (Mugenjohncel</a> (6.99.14.2–7.1.1)
|
||||
<li> <a href="http://www.visualsaga.com/" rel="nofollow">Visual Saga</a> (6.99.13–7.1.1)
|
||||
<li> Vollschauer (6.99.13–6.99.14)
|
||||
<li> <a href="http://vxlloyd.com" rel="nofollow">VX Lloyd</a> (6.99.14.3–7.0)
|
||||
<li> Wayne Wollesen (6.99.14.3–7.0.1)
|
||||
<li> <a href="https://www.facebook.com/weeabooriot" rel="nofollow">Weeabooriot Cosplay</a> (6.99.13–7.0.1)
|
||||
<li> <a href="https://arcaniinteractive.com/" rel="nofollow">William Lucht</a> (7.0–7.0.1)
|
||||
<li> William Tumeo (6.99.13–7.0.1)
|
||||
<li> <a href="http://winterwolves.com/ambersmagicshop.htm" rel="nofollow">Winter Wolves</a> (6.99.13–7.0.1)
|
||||
<li> <a href="http://astralore.com/" rel="nofollow">Yakmala!</a> (6.99.13–7.0.1)
|
||||
<li> Wayne Wollesen (6.99.14.3–7.1.1)
|
||||
<li> <a href="https://www.facebook.com/weeabooriot" rel="nofollow">Weeabooriot Cosplay</a> (6.99.13–7.1.1)
|
||||
<li> <a href="https://arcaniinteractive.com/" rel="nofollow">William Lucht</a> (7.0–7.1.1)
|
||||
<li> William Tumeo (6.99.13–7.1.1)
|
||||
<li> <a href="http://winterwolves.com/ambersmagicshop.htm" rel="nofollow">Winter Wolves</a> (6.99.13–7.1.1)
|
||||
<li> <a href="http://astralore.com/" rel="nofollow">Yakmala!</a> (6.99.13–7.1.1)
|
||||
</ul>
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 346 KiB |
@@ -960,13 +960,16 @@ screen history():
|
||||
|
||||
label h.who:
|
||||
style "history_name"
|
||||
substitute False
|
||||
|
||||
## Take the color of the who text from the Character, if
|
||||
## set.
|
||||
if "color" in h.who_args:
|
||||
text_color h.who_args["color"]
|
||||
|
||||
text h.what
|
||||
$ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
|
||||
text what:
|
||||
substitute False
|
||||
|
||||
if not _history_list:
|
||||
label _("The dialogue history is empty.")
|
||||
|
||||
@@ -124,7 +124,7 @@ define gui.namebox_height = None
|
||||
define gui.namebox_borders = Borders(5, 5, 5, 5)
|
||||
|
||||
## If True, the background of the namebox will be tiled, if False, the
|
||||
## background if the namebox will be scaled.
|
||||
## background of the namebox will be scaled.
|
||||
define gui.namebox_tile = False
|
||||
|
||||
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -24,7 +24,7 @@ define gui.show_name = False
|
||||
## The version of the game.
|
||||
|
||||
define config.version = renpy.version_string
|
||||
|
||||
define build.version = renpy.version_only
|
||||
|
||||
## Text that is placed on the game's about screen. To insert a blank line
|
||||
## between paragraphs, write \n\n.
|
||||
|
||||
@@ -937,13 +937,16 @@ screen history():
|
||||
|
||||
label h.who:
|
||||
style "history_name"
|
||||
substitute False
|
||||
|
||||
## Take the color of the who text from the Character, if
|
||||
## set.
|
||||
if "color" in h.who_args:
|
||||
text_color h.who_args["color"]
|
||||
|
||||
text h.what
|
||||
$ what = renpy.filter_text_tags(h.what, allow=gui.history_allow_tags)
|
||||
text what:
|
||||
substitute False
|
||||
|
||||
if not _history_list:
|
||||
label _("The dialogue history is empty.")
|
||||
|
||||
Reference in New Issue
Block a user