Compare commits
813 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d337e47e1f | |||
| d10d81647b | |||
| e7708c23fb | |||
| cc45453f4a | |||
| 4dba39c57a | |||
| c570d96458 | |||
| 0888c1ae1c | |||
| 9222ca20c6 | |||
| 4ad03d0f98 | |||
| de33e805d4 | |||
| dab57aeec3 | |||
| 82caa0a66a | |||
| fe3c6908ea | |||
| 0c39b34c79 | |||
| 05b35745a1 | |||
| 77c04ac67d | |||
| bb4154c25f | |||
| d8ad65e912 | |||
| be678bd4ba | |||
| e12c00ee6d | |||
| b22c4c1379 | |||
| 3a58834de0 | |||
| d2b96c0eab | |||
| b3b4036955 | |||
| 544dde6d5c | |||
| 3002a1b019 | |||
| 08a621fdcf | |||
| 3ba9569ace | |||
| 166807fc76 | |||
| 628a09d187 | |||
| e4348c52d6 | |||
| 8f62aac732 | |||
| 9f0a05fc6b | |||
| d492249835 | |||
| dcfc23d2f3 | |||
| ad5e11c710 | |||
| 5354bb0762 | |||
| f721662ef9 | |||
| c6641e53fe | |||
| b97b29d894 | |||
| 32eb7be5a1 | |||
| 0b8bf87eaf | |||
| 857d776538 | |||
| df51f5233f | |||
| aed2625486 | |||
| 47271b7af9 | |||
| d8050e9f5d | |||
| b639171118 | |||
| 25e66d3150 | |||
| dcaa97a70e | |||
| e0fd8dc4d5 | |||
| 2cc4bdd407 | |||
| 8ccfb9abc7 | |||
| 4734fb62f4 | |||
| 8353120f55 | |||
| 5a081b6dc7 | |||
| 52cdcb699a | |||
| e190596f3d | |||
| 9352339f5b | |||
| 5c315d02d1 | |||
| 86a95abb60 | |||
| cc03f54738 | |||
| f40ff85436 | |||
| 3c6918c36f | |||
| 754aec0507 | |||
| 9f800275ad | |||
| cf05311158 | |||
| 644d24dcc4 | |||
| 87f076e78c | |||
| b0cc98cea2 | |||
| 498ea82ec9 | |||
| e587790021 | |||
| bbaf654ef9 | |||
| 44b5af95ff | |||
| 5470f86c39 | |||
| 8e04c766de | |||
| 82b396d424 | |||
| a0dad58dbf | |||
| d28ecb39ff | |||
| 6597edcada | |||
| 5c44e738e6 | |||
| 7e295d67b5 | |||
| 61eb81c79d | |||
| df32d31113 | |||
| 59587015ba | |||
| 312c49f194 | |||
| 7c75a79c13 | |||
| e6546189eb | |||
| 9500f658a3 | |||
| 6d9bcff1f6 | |||
| 3a352af1e5 | |||
| 87b323a3d4 | |||
| 1bf97965b8 | |||
| eafcbf572f | |||
| 427a1542d8 | |||
| ee53f232aa | |||
| 7c03642cb5 | |||
| 4347c89c15 | |||
| 9783a0a733 | |||
| e5252af42b | |||
| 094009fa3a | |||
| 6471986ea9 | |||
| ab97732865 | |||
| 4f90718eaa | |||
| 2aa796d418 | |||
| e62ee21922 | |||
| 218cb677cd | |||
| fe0e129ad3 | |||
| 630ed80eb5 | |||
| 2b5d40053d | |||
| 8728fd137a | |||
| 7b34ec1ba3 | |||
| 3f785ee366 | |||
| 1f9401a602 | |||
| 91a0677f67 | |||
| 1392fb9239 | |||
| ac902ee733 | |||
| 6031917511 | |||
| 0e6ad371fe | |||
| ead5c63eac | |||
| 18827a8ab3 | |||
| 8c81811177 | |||
| ce634662bd | |||
| 13c32894cf | |||
| 26e0f1617e | |||
| 6754d50c12 | |||
| ebe8264b1d | |||
| 5c9a1066e3 | |||
| 07a6f3dcbd | |||
| 3441e0e7f0 | |||
| 3bd9055c5f | |||
| 2941031b2a | |||
| 627b18a8e8 | |||
| 681d3a5772 | |||
| 39be517a0a | |||
| 8916575921 | |||
| 5288ff876d | |||
| 067d98cdf0 | |||
| 65957b3236 | |||
| 726e535f1b | |||
| 095a253bf8 | |||
| d3c36b843e | |||
| b5707d7091 | |||
| 024b0aef81 | |||
| 365913c267 | |||
| a2b8842206 | |||
| dc51db06b1 | |||
| c590c4f956 | |||
| 3871803088 | |||
| 40ec6f87ef | |||
| 6339c0dfef | |||
| 510b7cb909 | |||
| 3a011ca2c6 | |||
| d12fe12c2b | |||
| 37a128a470 | |||
| 9e8b074a16 | |||
| 3147e71c45 | |||
| 60d413f96f | |||
| 5029e6d078 | |||
| ef167433f4 | |||
| aac1f4c421 | |||
| 0ab0856e37 | |||
| 760503b124 | |||
| d16e3eea75 | |||
| 09fda5505e | |||
| 5d4bb738ef | |||
| 204a48f577 | |||
| 8889ab487d | |||
| 06684d692a | |||
| 5f4e6d4ba1 | |||
| 200af0d584 | |||
| e78828fa3b | |||
| 7e602c256e | |||
| 1a8154c78a | |||
| 2d7460bafd | |||
| ae998912f5 | |||
| e8cd034b7a | |||
| 900e291cdc | |||
| cb98d18aa9 | |||
| ef4c5aff9e | |||
| 6cdcb5dfbc | |||
| 797ef0fc25 | |||
| c132df21ca | |||
| 6ab2df60f4 | |||
| 101cb8c348 | |||
| 2f53ddc03e | |||
| 8a042fe187 | |||
| f9a61f7567 | |||
| 79c965ba5d | |||
| 340db775c5 | |||
| d1224c0707 | |||
| afeb06c1d9 | |||
| afad82b082 | |||
| 2f683b2d69 | |||
| d8ec4503a6 | |||
| bb207a7fce | |||
| 629ea6f13f | |||
| 2a78e0141f | |||
| 8da9eafd28 | |||
| 1f8e1cacf6 | |||
| 048f8fea8f | |||
| 229bd5a82d | |||
| 12405a22d9 | |||
| 3529d40ba0 | |||
| 02be00bb78 | |||
| 189e7d8e4f | |||
| 0956519365 | |||
| efbd897832 | |||
| c6d9b6e0c1 | |||
| d0bbc81ebf | |||
| 662e8227ab | |||
| 33e3174692 | |||
| dde68dd735 | |||
| 5accb1c3e4 | |||
| 77d8b9b318 | |||
| 202fc47419 | |||
| 49c0ec0504 | |||
| bc437b5e9b | |||
| b4dfcc44cf | |||
| 1a98502bdc | |||
| 977726c3ab | |||
| ed9cbfd21c | |||
| 261a0b807d | |||
| 261718967a | |||
| 3e5e77b400 | |||
| 7fa4265f15 | |||
| 995823fbcf | |||
| 663961581f | |||
| d32946ce53 | |||
| 6bd9523780 | |||
| b0b49b353e | |||
| b1b943b456 | |||
| dd5326c205 | |||
| e62cc921c7 | |||
| d343617616 | |||
| 0cf72637b2 | |||
| e9312a3604 | |||
| 39420b940a | |||
| d8655be2c5 | |||
| c276ac8ec8 | |||
| 37e7060baa | |||
| b155fa9411 | |||
| 4ef1e05dc8 | |||
| da6e5e2c73 | |||
| 95c1cd5ad8 | |||
| f8747f6e38 | |||
| 450aeb55dc | |||
| 878e2284f8 | |||
| a4291ccddb | |||
| 2091161241 | |||
| c8ac8b511f | |||
| ed3182c74c | |||
| 82b0d59f19 | |||
| 836238de5c | |||
| 60b42fd79b | |||
| ba2c72eaac | |||
| 7751d5603e | |||
| 6e8d622282 | |||
| 30b3366168 | |||
| 736d9487c5 | |||
| 7bf7af52b1 | |||
| be7daf39d5 | |||
| 0faf7810f6 | |||
| bd333803b2 | |||
| f24e3f199e | |||
| 13a755ae93 | |||
| a907cfaa2e | |||
| b236453972 | |||
| 95fe225a8c | |||
| 621fbe9449 | |||
| f6029db185 | |||
| 38f8e1f16f | |||
| ca95350b70 | |||
| 985b54d284 | |||
| 5664e29c7d | |||
| ae61f801f8 | |||
| cac70f9544 | |||
| 45b792b4bd | |||
| 97f578baac | |||
| 2d9c8565be | |||
| a4596ecfbc | |||
| 740400db2c | |||
| b1c6a3a16d | |||
| 0f90a189f3 | |||
| d427968170 | |||
| 673b1fcb4a | |||
| 9a6f7f3975 | |||
| af5e885e17 | |||
| af0314885b | |||
| e76411a6c9 | |||
| bf9b60aa59 | |||
| d9aa172882 | |||
| 79a67705f1 | |||
| df8f27f0d0 | |||
| d85241bfa7 | |||
| c5cf467274 | |||
| 641a1b4f99 | |||
| 01a0b6ed42 | |||
| 8c36a9a4a5 | |||
| bfeb11a7be | |||
| f937f4bf42 | |||
| ba9accfd5e | |||
| 0ca1f3ef66 | |||
| d19148f282 | |||
| 72d7b9ba59 | |||
| 6231ffe2f3 | |||
| 097c24b140 | |||
| c49f697b4d | |||
| 8fc5225985 | |||
| ac60c3ec9e | |||
| 7d655595e0 | |||
| 6165d4aa11 | |||
| 5e717b9bbe | |||
| 90b2f69876 | |||
| adbb05c99d | |||
| ce2b11e7cf | |||
| ae4369d223 | |||
| 9a2cf214dc | |||
| 2ac606980a | |||
| 669a25d530 | |||
| f89de7e332 | |||
| 2f12cdf843 | |||
| c0ed44651c | |||
| ecbe0952c8 | |||
| e48f24d8d1 | |||
| e8b50d55f3 | |||
| fbcdfe8561 | |||
| 99524a1033 | |||
| 9781c0d07e | |||
| c09d0142df | |||
| 5bb8ae6772 | |||
| 7c48ffc3f3 | |||
| efec9192b7 | |||
| 12b0decd15 | |||
| c0185751d6 | |||
| fc06af1d93 | |||
| e44d6d14c3 | |||
| 7aae8c506f | |||
| 2d47ae004e | |||
| 148c74a312 | |||
| 1c34d0643e | |||
| 196517ac34 | |||
| 041832a573 | |||
| 8533a6e089 | |||
| 610a13bf20 | |||
| 3e2fbe4554 | |||
| 038ea8fee2 | |||
| f97dc0c0f0 | |||
| b064ea9a82 | |||
| 3fc13fad93 | |||
| d86d188dc8 | |||
| 71beb64a4a | |||
| 6b27321496 | |||
| 1446c2b31d | |||
| 97b844cd9b | |||
| a17f63368b | |||
| 1bc3945f1d | |||
| 884b7901bf | |||
| acc48b08ae | |||
| b24a2b06db | |||
| ae402797cf | |||
| 51c726f736 | |||
| c8cc2b0353 | |||
| dd7cdea0c2 | |||
| ff59a3060d | |||
| ae123b383a | |||
| 1175e65552 | |||
| a1c1c15a3c | |||
| 8d7236b32e | |||
| 718628e48a | |||
| 75f666479c | |||
| 63f2f9db47 | |||
| 3c3c8963a3 | |||
| 0399767528 | |||
| c4ee0e8e5d | |||
| 36ed61735d | |||
| 4af01f3192 | |||
| a72e17baea | |||
| 88728c932c | |||
| 298bf1d1c3 | |||
| 59cc091828 | |||
| 6aa9d6b920 | |||
| 3241176e8f | |||
| 0d4d5f6621 | |||
| badb0e7803 | |||
| be3af7e868 | |||
| eb41a41b3a | |||
| d806d99cb7 | |||
| 78e4241bd9 | |||
| e004acf4d0 | |||
| 8d63b60db8 | |||
| 11a6f292a4 | |||
| 741d6137d1 | |||
| 70fd79df26 | |||
| 38deac811e | |||
| 5827166418 | |||
| 9913c4f912 | |||
| 35f3824a8f | |||
| 7d1eaf560e | |||
| b762b5267c | |||
| 5a7c9f845f | |||
| a1dd218560 | |||
| 958536e9de | |||
| c1b634d46b | |||
| a0ed43a64f | |||
| 7552aa3518 | |||
| cf0b78f0fb | |||
| f25affd975 | |||
| 471f073051 | |||
| 194b5e1f9b | |||
| 3f70e93f90 | |||
| bdf6db0efa | |||
| 5429949e82 | |||
| 659bb63a06 | |||
| 6d7b1f9704 | |||
| 833a80d343 | |||
| 43b43f3688 | |||
| 4fcc58a992 | |||
| 57f5872409 | |||
| be855c7c37 | |||
| 9a30c95011 | |||
| de061aea9b | |||
| 50939ee7bd | |||
| 3622a2ee21 | |||
| 37c4fb3f4b | |||
| f360a53eda | |||
| c1add010be | |||
| fe816be0d8 | |||
| 71b6888f10 | |||
| d3fa22566a | |||
| b69c80a40c | |||
| e8fc4d28b5 | |||
| 96f91895c0 | |||
| 98241f413c | |||
| b62326e52d | |||
| 8116ea4ab7 | |||
| f7be277b4a | |||
| 181997f13b | |||
| c4a854fee3 | |||
| db45ab36f6 | |||
| 940be19894 | |||
| 6b5932d45b | |||
| 59a8b2961b | |||
| 45e149bd45 | |||
| 58c6089985 | |||
| 31f5e76674 | |||
| fd0337eb0e | |||
| 96a2d7c1d4 | |||
| 3cc58e2f8f | |||
| 1345469e70 | |||
| 7836c91a27 | |||
| e79aaba585 | |||
| b17ccdb53c | |||
| e3453fd798 | |||
| 14dc8ff79a | |||
| 074760e752 | |||
| 6e5d1ea3ef | |||
| 66da3f20d8 | |||
| ca6211cf0b | |||
| 68f2b4ece9 | |||
| 1f68d3222f | |||
| a6259de3e1 | |||
| 8610b89d75 | |||
| 7e6d48f09e | |||
| f94347bc78 | |||
| 8aec8cbac5 | |||
| c744404550 | |||
| 03205d6619 | |||
| ebd904ce5f | |||
| 5956adccbf | |||
| 5fdbdfa12a | |||
| 3dd71cc5c4 | |||
| ea3b05c6e4 | |||
| 4aaddc39cb | |||
| e8739ffbbb | |||
| 4d664092ce | |||
| 848aa6dfaa | |||
| 170ddd9a87 | |||
| 7f88a1ce49 | |||
| d273689cc0 | |||
| 5e1449abd1 | |||
| 184d72c595 | |||
| db88ae7e0d | |||
| f22bd471e0 | |||
| b85beccc9e | |||
| f4e6765b42 | |||
| dae24f264f | |||
| def807b3d2 | |||
| 92536e4597 | |||
| d68b3bd2e8 | |||
| 5c79afe2b4 | |||
| ea50512e2c | |||
| ca8508626d | |||
| a55c758fb0 | |||
| b1b3f8ce4e | |||
| 63c4f5fe56 | |||
| 2bb6e6c0db | |||
| c0761dc8f3 | |||
| 99e31f1456 | |||
| 5ac3a985a9 | |||
| 3249a34569 | |||
| 3b74892f65 | |||
| 723bf1bd75 | |||
| 66acb87adc | |||
| 1cda55d17e | |||
| 76305e05f3 | |||
| ff94f1e23b | |||
| b0ee6fe392 | |||
| cbb1f084f9 | |||
| 35d4deb772 | |||
| eb69715e57 | |||
| ded3e4da37 | |||
| 585778022e | |||
| c178092b58 | |||
| 2361a4939a | |||
| 869d45e27e | |||
| 679f4abf47 | |||
| 402c2116a7 | |||
| 461bddf7f3 | |||
| bf95f63448 | |||
| 9b043f465b | |||
| 3fef0c7dfa | |||
| 8885ff568c | |||
| 7a1b8f57c6 | |||
| fe0af1652a | |||
| c22f5108f2 | |||
| 5e4ec6a6de | |||
| dade0aa1c7 | |||
| e6ccf5d616 | |||
| f6191eb56c | |||
| ea40d51cee | |||
| ab2a0ec79f | |||
| 290bd11f62 | |||
| 3997812327 | |||
| 3af6ebed21 | |||
| 5534516253 | |||
| 71a970a891 | |||
| 222d3de08e | |||
| 5a09cec3d2 | |||
| a445a7b000 | |||
| 9e7c8315f0 | |||
| 87b909af10 | |||
| 21806de3b4 | |||
| 601594e047 | |||
| cedff0527f | |||
| 2b1f812051 | |||
| c85c917d12 | |||
| 9e33789ad7 | |||
| 0aa7c869b1 | |||
| 20cccd239c | |||
| f2040ea6d5 | |||
| 7602e726f2 | |||
| dce59141a7 | |||
| 8dfafd617b | |||
| a28829662c | |||
| 9665ee9226 | |||
| b79419ea2f | |||
| b2787cc61d | |||
| 8c45a9a1ec | |||
| e964ed219a | |||
| 22f0c1969a | |||
| fc45dca4c8 | |||
| dfc7ae23ae | |||
| 6811cc5592 | |||
| be4d4290a8 | |||
| 71760b5f16 | |||
| 59c49a6512 | |||
| 6fedb10d30 | |||
| 5eb650d3fb | |||
| 8c2d509b9c | |||
| 1eee09bb9e | |||
| bacc645355 | |||
| db83f8462d | |||
| 4ee3026cad | |||
| f664258d10 | |||
| cc6594d068 | |||
| 3469504ffd | |||
| 7954d1d9cd | |||
| 8706d19545 | |||
| 666370ac7f | |||
| 88722cc03b | |||
| 64171052ac | |||
| 793a2b2250 | |||
| d16e1e71b8 | |||
| cf56ebc008 | |||
| 26166cfdd8 | |||
| c5f60655d3 | |||
| 0ef5e6650e | |||
| 036bdc4afe | |||
| 33d8c014ec | |||
| 1b193e6884 | |||
| d6b7786f60 | |||
| a1bcb09260 | |||
| d05704c7c7 | |||
| 68af2f3db2 | |||
| 9b6ab94970 | |||
| 51abcae5d4 | |||
| 79e9d81173 | |||
| 4e60a996dd | |||
| 15738d1dfb | |||
| c37c44d227 | |||
| 045b6cc227 | |||
| 56f86495fb | |||
| 576b02d124 | |||
| b5b7673e8b | |||
| 455274bbaa | |||
| 0b492357d9 | |||
| fb0149d0dc | |||
| e7184c3a11 | |||
| 963dba7cc6 | |||
| 087f618326 | |||
| 4c2be41c63 | |||
| d23d5d91e3 | |||
| 7f8a07a8a5 | |||
| 173eaf6029 | |||
| 8d0830f66f | |||
| 584f7a0be7 | |||
| e210147343 | |||
| e4b33e595a | |||
| 53d08e0f2d | |||
| 84c53d3d9c | |||
| 2962b5c398 | |||
| 0ebfae81c9 | |||
| 5dc0372228 | |||
| 82780c57ee | |||
| 305215823d | |||
| 38440bf843 | |||
| 3596a59a54 | |||
| 5aaf1f8ef4 | |||
| 398c8a3053 | |||
| cfa560d8fa | |||
| 46fe772cc5 | |||
| 9149a5c941 | |||
| ce50d6e3f1 | |||
| f015cda018 | |||
| 069ac8e6c3 | |||
| e2ad4d5a3c | |||
| 3239f0d5bb | |||
| 7ac80c1a4f | |||
| eda749e44a | |||
| 5da79e86ae | |||
| dc73065241 | |||
| 55992074c1 | |||
| ba79f7986c | |||
| 5a0e3da293 | |||
| a0100cee00 | |||
| 626b249179 | |||
| 2620c313b2 | |||
| d7a2bd7bdf | |||
| 022eb2cdb6 | |||
| 0efa611034 | |||
| 1d87d8ae8a | |||
| aa43d1828a | |||
| 21d90dbd55 | |||
| 4b8026fdd7 | |||
| 73b8629724 | |||
| 79f0037afc | |||
| 49c92600bf | |||
| f594f51ada | |||
| 254c5b6a2a | |||
| 7568ae3146 | |||
| 1d7f7353c8 | |||
| ad4756039d | |||
| dc30cc39aa | |||
| 2720ab3615 | |||
| d7a8c5fb96 | |||
| 49baa6e6cb | |||
| b5abd9f4c4 | |||
| 5414417288 | |||
| 98d104b9ec | |||
| f5e001ac99 | |||
| fe2ccc43e2 | |||
| 030d9d2dbf | |||
| 011c3147dc | |||
| c0281a41de | |||
| 02ded280af | |||
| d6ba807878 | |||
| 8dc57697bf | |||
| 3c12d7ddb5 | |||
| c851968def | |||
| 626a5b03a1 | |||
| 7da19e215f | |||
| 7a11cb35eb | |||
| d2981c59cd | |||
| e4aa46e7fe | |||
| c56aea9dc8 | |||
| 86bab3977e | |||
| 2b03eb6c39 | |||
| 7f33118758 | |||
| 1bea3fc006 | |||
| 242cad6882 | |||
| 9608615542 | |||
| 9ddff5d7a5 | |||
| e623134867 | |||
| 77e428c9a1 | |||
| 03c951c4a4 | |||
| d9fb4a4234 | |||
| 571aff3eb1 | |||
| 7b1e96300f | |||
| 0f00705da7 | |||
| 81701dd905 | |||
| 9d9f2c2a75 | |||
| ce2fa71356 | |||
| 34df516053 | |||
| a69fcedecb | |||
| e315006136 | |||
| a2bf4f3452 | |||
| f9a2d1153a | |||
| 80b4113801 | |||
| 33f9cef572 | |||
| c3a1c8d7ff | |||
| 565956e966 | |||
| 4eb84611fe | |||
| 69f3c01442 | |||
| f205b611b5 | |||
| fad22b3631 | |||
| 176309152f | |||
| 1bf0e75bc1 | |||
| 8266095feb | |||
| e2843c06ba | |||
| 28d5f5fc39 | |||
| a6b21ec78f | |||
| 62bac5aa0e | |||
| 843b10851f | |||
| c5f15b5c6a | |||
| ebd8baba00 | |||
| 464ae528b1 | |||
| 884de6f4c3 | |||
| 414b1a36c7 | |||
| 8b1168b621 | |||
| 8526cc1ba3 | |||
| 5870b6cd1f | |||
| 7b2f7d7e85 | |||
| cbff654273 | |||
| 7cad0e9e06 | |||
| a7471bba03 | |||
| 44c11a7803 | |||
| 210935c4c6 | |||
| 412cbda546 | |||
| 553e80d12e | |||
| 5dd3af6a0a | |||
| 879d97a93b | |||
| c5325bb61e | |||
| 5a708e86d0 | |||
| 04dc9efc9a | |||
| c6061da3f4 | |||
| dc7a8c9e23 | |||
| 3a52fd76e5 | |||
| 4e24239322 | |||
| d2bdc159bd | |||
| 49e804eb50 | |||
| 209564d2d2 | |||
| 56b42f7f8a | |||
| fb1a01c37f | |||
| 0ed01f34fe | |||
| ffa93d746f | |||
| c9dc8a9e72 | |||
| 9c9816d203 | |||
| 1d1c53e2d5 | |||
| 0604e61151 | |||
| 19f69717de | |||
| 82e493a7f3 | |||
| 04428ab0de | |||
| 1c7989e063 | |||
| f8232ed24a | |||
| efafa4e9e6 | |||
| 52a584846b | |||
| 3c0f563cc1 | |||
| 139e731a01 | |||
| bfc8e67c22 | |||
| 5a7856cb26 | |||
| 48130761d7 | |||
| e9afa2be3c | |||
| c68749dbe6 | |||
| 8e2a93acec | |||
| 95daa0251f | |||
| 31c3efa9bc | |||
| 34875f0011 | |||
| 78c61e45c5 | |||
| 4f78eeed28 | |||
| 8b80e916a7 | |||
| b810238038 | |||
| 7808826773 | |||
| 8849de1017 | |||
| 30483c2afa | |||
| 0a05d88963 | |||
| 4fc5076178 | |||
| ee47b1e8f8 | |||
| 5b3b5ba974 | |||
| b8e374628a | |||
| 782f89510b | |||
| ec8147408b | |||
| 92d89ea508 | |||
| 1ebae688db | |||
| 927370ebfc | |||
| 7afe53fb81 | |||
| 9eb1c06659 | |||
| f6e7f67faa | |||
| f96d677d4a | |||
| dd115f186f | |||
| 8f1d3636d5 | |||
| 07886362c5 | |||
| 85c58d5220 | |||
| fccac2a76f | |||
| e04a38d417 | |||
| a9e9344310 | |||
| 9c12fc9c06 | |||
| cc4d33e213 | |||
| ed3d151916 | |||
| 9087ab53bd | |||
| 306d3b16a6 | |||
| e04d2046de | |||
| 6accdd39aa |
@@ -82,3 +82,5 @@ sphinx/source/inc
|
||||
sphinx/source/thequestion.rst
|
||||
tutorial/game/tutorial_director.rpy
|
||||
launcher/theme
|
||||
module/emscripten-static/
|
||||
web/
|
||||
|
||||
+1
-1
@@ -124,7 +124,7 @@ not edit the files in sphinx/source/inc directly, as they will be overwritten.
|
||||
Docstrings may include tags on the first few lines:
|
||||
|
||||
\:doc: `section` `kind`
|
||||
Indicates that this functions should be documented. `section` gives
|
||||
Indicates that this function should be documented. `section` gives
|
||||
the name of the include file the function will be documented in, while
|
||||
`kind` indicates the kind of object to be documented (one of ``function``,
|
||||
``method`` or ``class``. If omitted, `kind` will be auto-detected.
|
||||
|
||||
@@ -33,3 +33,13 @@ language, this means native words take precedence over loanwords if and only if
|
||||
both native and loanwords exist and both are suitable in the context of use.
|
||||
|
||||
* Muhammad Nur Hidayat (MNH48) <translation@mnh48.moe>
|
||||
|
||||
Turkish
|
||||
---------
|
||||
|
||||
Translation to the Turkish language. Some terms and abbreviations (especially
|
||||
those related to coding) are deliberately left untranslated (or the original words
|
||||
are provided in brackets) to avoid confusion, relying on their common use in
|
||||
Turkish language and among Turkish developers.
|
||||
|
||||
* Arda Güler (WKFO) <ardaguler09@gmail.com>
|
||||
@@ -14,6 +14,7 @@ SOURCE = [
|
||||
"/home/tom/ab/ripe/renios",
|
||||
"/home/tom/ab/renpy-deps",
|
||||
"/home/tom/ab/pygame_sdl2",
|
||||
"/home/tom/ab/renpyweb",
|
||||
]
|
||||
|
||||
version = ".".join(str(i) for i in version_tuple)
|
||||
|
||||
+15
-2
@@ -9,6 +9,7 @@ import compileall
|
||||
import shutil
|
||||
import subprocess
|
||||
import argparse
|
||||
import time
|
||||
|
||||
if not sys.flags.optimize:
|
||||
raise Exception("Optimization disabled.")
|
||||
@@ -43,6 +44,8 @@ def copy_tutorial_file(src, dest):
|
||||
|
||||
def main():
|
||||
|
||||
start = time.time()
|
||||
|
||||
if not sys.flags.optimize:
|
||||
raise Exception("Not running with python optimization.")
|
||||
|
||||
@@ -54,6 +57,8 @@ def main():
|
||||
ap.add_argument("--variant", action="store")
|
||||
ap.add_argument("--sign", action="store_true", default=True)
|
||||
ap.add_argument("--nosign", action="store_false", dest="sign")
|
||||
ap.add_argument("--notarized", action="store_true", dest="notarized")
|
||||
ap.add_argument("--vc-version-only", action="store_true")
|
||||
|
||||
args = ap.parse_args()
|
||||
|
||||
@@ -86,6 +91,9 @@ def main():
|
||||
with open("renpy/vc_version.py", "w") as f:
|
||||
f.write("vc_version = {}".format(vc_version))
|
||||
|
||||
if args.vc_version_only:
|
||||
return
|
||||
|
||||
try:
|
||||
reload(sys.modules['renpy.vc_version']) # @UndefinedVariable
|
||||
except:
|
||||
@@ -171,6 +179,12 @@ def main():
|
||||
destination,
|
||||
]
|
||||
|
||||
if args.notarized:
|
||||
cmd.extend([
|
||||
"--macapp",
|
||||
"notarized/out",
|
||||
])
|
||||
|
||||
print()
|
||||
subprocess.check_call(cmd)
|
||||
|
||||
@@ -246,8 +260,7 @@ def main():
|
||||
|
||||
print()
|
||||
|
||||
if not (args.fast or args.sign):
|
||||
print("For a final-ish release, remember to use --sign so we're signed on the mac.")
|
||||
print("Distribute took {:.0f} seconds.".format(time.time() - start))
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
@@ -199,12 +199,6 @@ init python:
|
||||
build.documentation('*.html')
|
||||
build.documentation('*.txt')
|
||||
|
||||
## Set this to a string containing your Apple Developer ID Application
|
||||
## to enable codesigning on the Mac. Be sure to change it to your own
|
||||
## Apple-issued ID.
|
||||
|
||||
# define build.mac_identity = "Developer ID Application: Guy Shy (XHTE5H7Z42)"
|
||||
|
||||
|
||||
## 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
|
||||
|
||||
@@ -323,12 +323,14 @@ screen navigation():
|
||||
|
||||
textbutton _("About") action ShowMenu("about")
|
||||
|
||||
if renpy.variant("pc"):
|
||||
if renpy.variant("pc") or (renpy.variant("web") and not renpy.variant("mobile")):
|
||||
|
||||
## Help isn't necessary or relevant to mobile devices.
|
||||
textbutton _("Help") action ShowMenu("help")
|
||||
|
||||
## The quit button is banned on iOS and unnecessary on Android.
|
||||
if renpy.variant("pc"):
|
||||
|
||||
## The quit button is banned on iOS and unnecessary on Android and Web.
|
||||
textbutton _("Quit") action Quit(confirm=not main_menu)
|
||||
|
||||
|
||||
@@ -725,7 +727,7 @@ screen preferences():
|
||||
hbox:
|
||||
box_wrap True
|
||||
|
||||
if renpy.variant("pc"):
|
||||
if renpy.variant("pc") or renpy.variant("web"):
|
||||
|
||||
vbox:
|
||||
style_prefix "radio"
|
||||
@@ -843,7 +845,7 @@ style radio_vbox:
|
||||
|
||||
style radio_button:
|
||||
properties gui.button_properties("radio_button")
|
||||
foreground "gui/button/check_[prefix_]foreground.png"
|
||||
foreground "gui/button/radio_[prefix_]foreground.png"
|
||||
|
||||
style radio_button_text:
|
||||
properties gui.button_text_properties("radio_button")
|
||||
@@ -1441,7 +1443,7 @@ style window:
|
||||
|
||||
style radio_button:
|
||||
variant "small"
|
||||
foreground "gui/phone/button/check_[prefix_]foreground.png"
|
||||
foreground "gui/phone/button/radio_[prefix_]foreground.png"
|
||||
|
||||
style check_button:
|
||||
variant "small"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
# This file contains strings used by RAPT, so the Ren'Py translation framework
|
||||
# can find them. It's automatically generated by rapt/update_translations.py, and
|
||||
# hence should not be changed by hand.
|
||||
@@ -17,7 +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 or tablets, while the x86_64 version works on the simulator and chromebooks.")
|
||||
__("The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks.")
|
||||
__("What is the full name of your application? This name will appear in the list of installed applications.")
|
||||
__("What is the short name of your application? This name will be used in the launcher, and for application shortcuts.")
|
||||
__("What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot.")
|
||||
@@ -50,7 +50,7 @@ init python hide:
|
||||
__("Unknown configuration variable: {}")
|
||||
__("I'm compiling a short test program, to see if you have a working JDK on your system.")
|
||||
__("I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue.")
|
||||
__("The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variabe to use a different version of Java.")
|
||||
__("The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java.")
|
||||
__("The JDK is present and working. Good!")
|
||||
__("The Android SDK has already been unpacked.")
|
||||
__("Do you accept the Android SDK Terms and Conditions?")
|
||||
|
||||
@@ -51,6 +51,7 @@ init python:
|
||||
|
||||
if path:
|
||||
default_path = path
|
||||
path = None
|
||||
else:
|
||||
try:
|
||||
default_path = os.path.dirname(os.path.abspath(config.renpy_base))
|
||||
|
||||
@@ -504,7 +504,7 @@ label choose_theme_callable:
|
||||
call screen choose_theme
|
||||
|
||||
python hide:
|
||||
with interface.error_handling("changing the theme"):
|
||||
with interface.error_handling(_("changing the theme")):
|
||||
switch_theme()
|
||||
|
||||
return
|
||||
|
||||
@@ -373,7 +373,7 @@ init python in distribute:
|
||||
This manages the process of building distributions.
|
||||
"""
|
||||
|
||||
def __init__(self, project, destination=None, reporter=None, packages=None, build_update=True, open_directory=False, noarchive=False, packagedest=None, report_success=True):
|
||||
def __init__(self, project, destination=None, reporter=None, packages=None, build_update=True, open_directory=False, noarchive=False, packagedest=None, report_success=True, scan=True, macapp=None):
|
||||
"""
|
||||
Distributes `project`.
|
||||
|
||||
@@ -404,6 +404,10 @@ init python in distribute:
|
||||
|
||||
`report_success`
|
||||
If true, we report that the build succeeded.
|
||||
|
||||
`macapp`
|
||||
If given, the path to a macapp that's used instead of
|
||||
the macapp
|
||||
"""
|
||||
|
||||
# A map from a package to a unique update version hash.
|
||||
@@ -437,12 +441,16 @@ init python in distribute:
|
||||
# Logfile.
|
||||
self.log = open(self.temp_filename("distribute.txt"), "w")
|
||||
|
||||
# The path to the mac app.
|
||||
self.macapp = macapp
|
||||
|
||||
# Start by scanning the project, to get the data and build
|
||||
# dictionaries.
|
||||
data = project.data
|
||||
|
||||
self.reporter.info(_("Scanning project files..."))
|
||||
project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
|
||||
if scan:
|
||||
self.reporter.info(_("Scanning project files..."))
|
||||
project.update_dump(force=True, gui=False, compile=project.data['force_recompile'])
|
||||
|
||||
if project.dump.get("error", False):
|
||||
raise Exception("Could not get build data from the project. Please ensure the project runs.")
|
||||
@@ -523,6 +531,10 @@ init python in distribute:
|
||||
# Build the mac app and windows exes.
|
||||
self.add_mac_files()
|
||||
self.add_windows_files()
|
||||
self.add_main_py()
|
||||
|
||||
# Add the main.py.
|
||||
self.add_main_py()
|
||||
|
||||
# Add generated/special files.
|
||||
if build['renpy']:
|
||||
@@ -805,6 +817,7 @@ init python in distribute:
|
||||
|
||||
self.add_file_list_hash("rapt")
|
||||
self.add_file_list_hash("renios")
|
||||
self.add_file_list_hash("web")
|
||||
|
||||
tmp_fn = self.temp_filename("renpy.py")
|
||||
|
||||
@@ -965,7 +978,7 @@ init python in distribute:
|
||||
old_exe_fn = os.path.join(config.renpy_base, "renpy.exe")
|
||||
old_main_fn = os.path.join(config.renpy_base, "lib/windows-i686/renpy.exe")
|
||||
|
||||
if os.path.exists(icon_fn):
|
||||
if os.path.exists(icon_fn) and os.path.exists(old_exe_fn):
|
||||
exe_fn = self.temp_filename("renpy.exe")
|
||||
main_fn = self.temp_filename("main.exe")
|
||||
|
||||
@@ -979,8 +992,16 @@ init python in distribute:
|
||||
exe_fn = old_exe_fn
|
||||
main_fn = old_main_fn
|
||||
|
||||
self.add_file(windows, self.exe, exe_fn)
|
||||
self.add_file(windows, "lib/windows-i686/" + self.exe, main_fn)
|
||||
if os.path.exists(exe_fn):
|
||||
self.add_file(windows, self.exe, exe_fn)
|
||||
self.add_file(windows, "lib/windows-i686/" + self.exe, main_fn)
|
||||
|
||||
def add_main_py(self):
|
||||
if self.build['renpy']:
|
||||
return
|
||||
|
||||
self.add_file("web", "main.py", os.path.join(config.renpy_base, "renpy.py"))
|
||||
|
||||
|
||||
def mark_executable(self):
|
||||
"""
|
||||
@@ -1045,6 +1066,9 @@ init python in distribute:
|
||||
Signs the mac app contained in appzip.
|
||||
"""
|
||||
|
||||
if self.macapp:
|
||||
return self.rescan(fl, self.macapp)
|
||||
|
||||
identity = self.build.get('mac_identity', None)
|
||||
|
||||
if identity is None:
|
||||
@@ -1080,6 +1104,7 @@ init python in distribute:
|
||||
self.build["mac_codesign_command"],
|
||||
identity=identity,
|
||||
app=os.path.join(dn, self.app),
|
||||
entitlements=os.path.join(config.gamedir, "entitlements.plist"),
|
||||
)
|
||||
|
||||
# Rescan the signed app.
|
||||
@@ -1095,7 +1120,7 @@ init python in distribute:
|
||||
identity = self.build.get('mac_identity', None)
|
||||
|
||||
if identity is None:
|
||||
raise Exception("Creating an unsigned DMG is not supported. Please set build.mac_identity.")
|
||||
identity = ''
|
||||
|
||||
self.run(
|
||||
_("Creating the Macintosh DMG..."),
|
||||
@@ -1106,14 +1131,16 @@ init python in distribute:
|
||||
dmg=dmg,
|
||||
)
|
||||
|
||||
self.run(
|
||||
_("Signing the Macintosh DMG..."),
|
||||
self.build["mac_codesign_dmg_command"],
|
||||
identity=identity,
|
||||
volname=volname,
|
||||
sourcedir=sourcedir,
|
||||
dmg=dmg,
|
||||
)
|
||||
if self.build.get("mac_codesign_dmg_command", None):
|
||||
|
||||
self.run(
|
||||
_("Signing the Macintosh DMG..."),
|
||||
self.build["mac_codesign_dmg_command"],
|
||||
identity=identity,
|
||||
volname=volname,
|
||||
sourcedir=sourcedir,
|
||||
dmg=dmg,
|
||||
)
|
||||
|
||||
def prepare_file_list(self, format, file_lists):
|
||||
"""
|
||||
@@ -1251,7 +1278,7 @@ init python in distribute:
|
||||
|
||||
file_hash, old_fl_hash = self.build_cache.get(full_filename, ("", ""))
|
||||
|
||||
if (not directory) and old_fl_hash == fl_hash:
|
||||
if (not directory) and (old_fl_hash == fl_hash) and not(self.build['renpy'] and (variant == "sdk")):
|
||||
|
||||
if file_hash:
|
||||
self.build_cache[full_filename] = (file_hash, fl_hash)
|
||||
@@ -1462,6 +1489,7 @@ init python in distribute:
|
||||
ap.add_argument("--no-update", default=True, action="store_false", dest="build_update", help="Prevents updates from being built.")
|
||||
ap.add_argument("--package", action="append", help="If given, a package to build. Defaults to building all packages.")
|
||||
ap.add_argument("--no-archive", action="store_true", help="If given, files will not be added to archives.")
|
||||
ap.add_argument("--macapp", default=None, action="store", help="If given, the path to a signed and notarized mac app.")
|
||||
ap.add_argument("project", help="The path to the project directory.")
|
||||
|
||||
args = ap.parse_args()
|
||||
@@ -1473,7 +1501,7 @@ init python in distribute:
|
||||
else:
|
||||
packages = None
|
||||
|
||||
Distributor(p, destination=args.destination, reporter=TextReporter(), packages=packages, build_update=args.build_update, noarchive=args.no_archive, packagedest=args.packagedest)
|
||||
Distributor(p, destination=args.destination, reporter=TextReporter(), packages=packages, build_update=args.build_update, noarchive=args.no_archive, packagedest=args.packagedest, macapp=args.macapp)
|
||||
|
||||
return False
|
||||
|
||||
|
||||
@@ -249,6 +249,7 @@ screen front_page_project:
|
||||
|
||||
textbutton _("Android") action Jump("android")
|
||||
textbutton _("iOS") action Jump("ios")
|
||||
textbutton _("Web") + " " + _("(Beta)") action Jump("web")
|
||||
textbutton _("Generate Translations") action Jump("translate")
|
||||
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
|
||||
|
||||
|
||||
@@ -426,11 +426,11 @@ label gui_project_common:
|
||||
else:
|
||||
interface.processing(_("Updating the project..."))
|
||||
|
||||
with interface.error_handling("creating a new project"):
|
||||
with interface.error_handling(_("creating a new project")):
|
||||
gui7.generate_gui(p)
|
||||
|
||||
# Activate the project.
|
||||
with interface.error_handling("activating the new project"):
|
||||
with interface.error_handling(_("activating the new project")):
|
||||
project.manager.scan()
|
||||
project.Select(project.manager.get(project_name))()
|
||||
|
||||
|
||||
@@ -382,7 +382,7 @@ init python in interface:
|
||||
|
||||
As an example of usage::
|
||||
|
||||
with interface.error_handling("opening the log file"):
|
||||
with interface.error_handling(_("opening the log file")):
|
||||
f = open("log.txt", "w")
|
||||
"""
|
||||
|
||||
@@ -391,7 +391,7 @@ init python in interface:
|
||||
except Exception as e:
|
||||
renpy.renpy.error.report_exception(e, editor=False)
|
||||
|
||||
error(_("While [what!q], an error occured:"),
|
||||
error(_("While [what!qt], an error occured:"),
|
||||
_("[exception!q]"),
|
||||
what=what,
|
||||
label=label,
|
||||
|
||||
+15
-1
@@ -58,6 +58,7 @@ init python:
|
||||
|
||||
if RENIOS_PATH:
|
||||
import renios.create
|
||||
import renios.image
|
||||
|
||||
def IOSState():
|
||||
if not RENIOS_PATH:
|
||||
@@ -119,6 +120,10 @@ init python:
|
||||
return os.path.join(persistent.xcode_projects_directory, xcode_name(p.name))
|
||||
|
||||
def ios_create(p=None, gui=True):
|
||||
project.current.update_dump(force=True)
|
||||
|
||||
name = project.current.dump.get("name", None)
|
||||
version = project.current.dump.get("version", None)
|
||||
|
||||
dest = xcode_project(p)
|
||||
|
||||
@@ -135,7 +140,7 @@ init python:
|
||||
os.rename(dest, backup)
|
||||
|
||||
iface = MobileInterface("ios")
|
||||
renios.create.create_project(iface, dest)
|
||||
renios.create.create_project(iface, dest, name, version)
|
||||
|
||||
ios_populate(p, gui=gui)
|
||||
|
||||
@@ -187,6 +192,15 @@ init python:
|
||||
|
||||
os.unlink(py_fn)
|
||||
|
||||
ios_image(p, "ios-icon.png", "Media.xcassets/AppIcon.appiconset", True)
|
||||
ios_image(p, "ios-launchimage.png", "Media.xcassets/LaunchImage.launchimage", False)
|
||||
|
||||
def ios_image(p, source, destination, scale):
|
||||
source = os.path.join(p.path, source)
|
||||
destination = os.path.join(xcode_project(p), destination)
|
||||
|
||||
renios.image.generate(source, destination, scale)
|
||||
|
||||
|
||||
def launch_xcode():
|
||||
dist = xcode_project(None)
|
||||
|
||||
+48
-14
@@ -23,23 +23,57 @@ init python:
|
||||
|
||||
def find_itch_butler():
|
||||
|
||||
import os
|
||||
|
||||
if renpy.windows:
|
||||
rv = os.path.join(os.environ.get("APPDATA", ""), "Roaming", "itch", "bin", "butler.exe")
|
||||
|
||||
if not os.path.exists(rv):
|
||||
rv = os.path.join(os.environ.get("APPDATA", ""), "itch", "bin", "butler.exe")
|
||||
|
||||
platform = "windows-amd64"
|
||||
exe = "butler.exe"
|
||||
elif renpy.macintosh:
|
||||
rv = os.path.join(os.environ.get("HOME", ""), "Library", "Application Support", "itch", "bin", "butler")
|
||||
platform = "darwin-amd64"
|
||||
exe = "butler"
|
||||
else:
|
||||
rv = os.path.join(os.environ.get("HOME", ""), ".config", "itch", "bin", "butler")
|
||||
platform = "linux-amd64"
|
||||
exe = "butler"
|
||||
|
||||
if not os.path.exists(rv):
|
||||
return None
|
||||
dn = os.path.join(config.renpy_base, "tmp", "butler-" + platform)
|
||||
zip = os.path.join(dn, "butler.zip")
|
||||
exe = os.path.join(dn, exe)
|
||||
|
||||
if os.path.exists(exe):
|
||||
return exe
|
||||
|
||||
interface.processing(_("Downloading the itch.io butler."))
|
||||
|
||||
try:
|
||||
os.makedirs(dn)
|
||||
except:
|
||||
pass
|
||||
|
||||
import urllib2
|
||||
import ssl
|
||||
|
||||
with interface.error_handling(_("Downloading the itch.io butler.")):
|
||||
context = ssl._create_unverified_context()
|
||||
response = urllib2.urlopen("https://broth.itch.ovh/butler/{}/LATEST/archive/default".format(platform), context=context)
|
||||
|
||||
with open(zip, "wb") as f:
|
||||
while True:
|
||||
data = response.read(1024 * 1024)
|
||||
if not data:
|
||||
break
|
||||
|
||||
f.write(data)
|
||||
|
||||
import zipfile
|
||||
|
||||
with zipfile.ZipFile(zip) as zf:
|
||||
zf.extractall(dn)
|
||||
|
||||
try:
|
||||
os.chmod(exe, 0o755)
|
||||
except:
|
||||
pass
|
||||
|
||||
return exe
|
||||
|
||||
return rv
|
||||
|
||||
label itch:
|
||||
|
||||
@@ -48,6 +82,8 @@ label itch:
|
||||
|
||||
python hide:
|
||||
|
||||
butler = find_itch_butler()
|
||||
|
||||
build = project.current.dump["build"]
|
||||
|
||||
destination = build["destination"]
|
||||
@@ -100,8 +136,6 @@ label itch:
|
||||
label="build_distributions"
|
||||
)
|
||||
|
||||
butler = find_itch_butler()
|
||||
|
||||
if not butler:
|
||||
interface.error(
|
||||
_("The butler program was not found."),
|
||||
|
||||
@@ -190,11 +190,12 @@ init -1 python:
|
||||
interface.processing(self.info_msg, show_screen=True, cancel=cancel_action)
|
||||
|
||||
kwargs = { }
|
||||
if yes:
|
||||
kwargs["stdin"] = subprocess.PIPE
|
||||
|
||||
try:
|
||||
self.process = subprocess.Popen(cmd, cwd=renpy.fsencode(RAPT_PATH), stdout=f, stderr=f, startupinfo=startupinfo, **kwargs)
|
||||
self.process = subprocess.Popen(cmd, cwd=renpy.fsencode(RAPT_PATH), stdout=f, stderr=f, stdin=subprocess.PIPE, startupinfo=startupinfo, **kwargs)
|
||||
# avoid SIGTTIN caused by e.g. gradle doing empty read on terminal stdin
|
||||
if not yes:
|
||||
self.process.stdin.close()
|
||||
except:
|
||||
import traceback
|
||||
traceback.print_exc(file=f)
|
||||
@@ -215,6 +216,7 @@ init -1 python:
|
||||
if yes and self.yes_thread:
|
||||
self.run_yes = False
|
||||
self.yes_thread.join()
|
||||
self.process.stdin.close()
|
||||
|
||||
self.process = None
|
||||
self.yes_thread = None
|
||||
|
||||
@@ -156,7 +156,7 @@ label new_theme_project:
|
||||
|
||||
template_path = template.path
|
||||
|
||||
with interface.error_handling("creating a new project"):
|
||||
with interface.error_handling(_("creating a new project")):
|
||||
shutil.copytree(template_path, project_dir, symlinks=False)
|
||||
|
||||
# Delete the tmp directory, if it exists.
|
||||
@@ -184,7 +184,7 @@ label new_theme_project:
|
||||
shutil.copy(src, dst)
|
||||
|
||||
# Activate the project.
|
||||
with interface.error_handling("activating the new project"):
|
||||
with interface.error_handling(_("activating the new project")):
|
||||
project.manager.scan()
|
||||
project.Select(project.manager.get(project_name))()
|
||||
|
||||
|
||||
@@ -297,6 +297,9 @@ init python:
|
||||
build.classify_renpy("renios/version.txt", "renios")
|
||||
build.classify_renpy("renios/", "renios")
|
||||
|
||||
build.classify_renpy("web/game.zip", None)
|
||||
build.classify_renpy("web/**", "web")
|
||||
|
||||
build.classify_renpy("**.old", None)
|
||||
build.classify_renpy("**.new", None)
|
||||
build.classify_renpy("**.bak", None)
|
||||
@@ -412,6 +415,7 @@ init python:
|
||||
|
||||
build.package("rapt", "zip", "rapt", dlc=True)
|
||||
build.package("renios", "zip", "renios", dlc=True)
|
||||
build.package("web", "zip", "web", dlc=True)
|
||||
|
||||
|
||||
# Enable the special launcher translation mode.
|
||||
|
||||
@@ -3744,7 +3744,7 @@ class PE:
|
||||
|
||||
offset = self.get_physical_by_rva(rva)
|
||||
if not offset:
|
||||
raise False
|
||||
return False
|
||||
|
||||
return self.set_bytes_at_offset(offset, data)
|
||||
|
||||
|
||||
@@ -109,10 +109,10 @@ init 1 python:
|
||||
SEPARATOR = Frame(PATTERN, 0, 0, tile=True, ymaximum=5, yalign=1.0)
|
||||
SEPARATOR2 = Frame(PATTERN, 0, 0, tile=True, ymaximum=10, yalign=1.0)
|
||||
|
||||
SPACER_HEIGHT = 12
|
||||
SPACER_HEIGHT = 8
|
||||
SPACER = Null(height=SPACER_HEIGHT)
|
||||
|
||||
HALF_SPACER_HEIGHT = 6
|
||||
HALF_SPACER_HEIGHT = 4
|
||||
HALF_SPACER = Null(height=HALF_SPACER_HEIGHT)
|
||||
|
||||
# DIVIDING THE SCREEN
|
||||
|
||||
@@ -606,8 +606,8 @@ translate arabic strings:
|
||||
new "خطأ"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "حصل خطأ أثناء [what!q]"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "حصل خطأ أثناء [what!qt]"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -606,8 +606,8 @@ translate finnish strings:
|
||||
new "VIRHE"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Kun [what!q], tapahtui virhe:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Kun [what!qt], tapahtui virhe:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -207,15 +207,15 @@ translate french strings:
|
||||
|
||||
# 00library.rpy:142
|
||||
old "Self-voicing disabled."
|
||||
new "Vocalisation automatique désactivée."
|
||||
new "Lecture vocale désactivée."
|
||||
|
||||
# 00library.rpy:143
|
||||
old "Clipboard voicing enabled. "
|
||||
new "Vocalisation du contenu du presse-papier activée. "
|
||||
new "Lecture vocale vers presse-papier activée. "
|
||||
|
||||
# 00library.rpy:144
|
||||
old "Self-voicing enabled. "
|
||||
new "Vocalisation automatique activée. "
|
||||
new "Lecture vocale activée. "
|
||||
|
||||
# 00library.rpy:179
|
||||
old "Skip Mode"
|
||||
@@ -227,15 +227,15 @@ translate french strings:
|
||||
|
||||
# 00preferences.rpy:422
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "Vocalisation du contenu du presse-papier activée. Pressez « Maj+C » pour la désactiver."
|
||||
new "Lecture vocale vers presse-papier activée. Pressez « Maj+C » pour la désactiver."
|
||||
|
||||
# 00preferences.rpy:424
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "La vocalisation automatique veut dire « [renpy.display.tts.last] ». Pressez « Alt+Maj+V » pour la désactiver."
|
||||
new "La lecture vocale veut dire « [renpy.display.tts.last] ». Pressez « Alt+Maj+V » pour la désactiver."
|
||||
|
||||
# 00preferences.rpy:426
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Vocalisation automatique activée. Pressez « v » pour la désactiver."
|
||||
new "Lecture vocale activée. Pressez « v » pour la désactiver."
|
||||
|
||||
# 00iap.rpy:217
|
||||
old "Contacting App Store\nPlease Wait..."
|
||||
@@ -332,3 +332,53 @@ translate french strings:
|
||||
# 00gallery.rpy:586
|
||||
old "return"
|
||||
new "retour"
|
||||
|
||||
translate french strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "Forcer la police"
|
||||
|
||||
# renpy/common/00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "Par défaut"
|
||||
|
||||
# renpy/common/00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# renpy/common/00accessibility.rpy:88
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# renpy/common/00accessibility.rpy:94
|
||||
old "Text Size Scaling"
|
||||
new "Redimensionnement du Texte"
|
||||
|
||||
# renpy/common/00accessibility.rpy:100
|
||||
old "Reset"
|
||||
new "Réinitaliser"
|
||||
|
||||
# renpy/common/00accessibility.rpy:105
|
||||
old "Line Spacing Scaling"
|
||||
new "Espacement Vertical"
|
||||
|
||||
# renpy/common/00accessibility.rpy:117
|
||||
old "Self-Voicing"
|
||||
new "Lecture vocale"
|
||||
|
||||
# renpy/common/00accessibility.rpy:121
|
||||
old "Off"
|
||||
new "Désactivée"
|
||||
|
||||
# renpy/common/00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "Synthèse vocale"
|
||||
|
||||
# renpy/common/00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
new "Presse-papier"
|
||||
|
||||
# renpy/common/00accessibility.rpy:133
|
||||
old "Debug"
|
||||
new "Débogage"
|
||||
|
||||
@@ -176,3 +176,42 @@ translate french strings:
|
||||
# _errorhandling.rpym:612
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "Copie le contenu du fichier « errors.txt » dans le presse-papier."
|
||||
|
||||
translate french strings:
|
||||
|
||||
# renpy/common/_errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "Copier en BBCode"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Copie le fichier traceback.txt dans le presse-papier au format BBcode pour les forums tels que https://lemmasoft.renai.us/."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "Copier en Markdown"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "Copie le fichier traceback.txt dans le presse-papier au format Markdown pour Discord."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:606
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "Ignore l’exception, cela vous autorise à poursuivre"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:617
|
||||
old "Console"
|
||||
new "Console"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:619
|
||||
old "Opens a console to allow debugging the problem."
|
||||
new "Ouvre une console pour débuguer le problème."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Copie le fichier errors.txt dans le presse-papier au format BBcode pour les forums tels que https://lemmasoft.renai.us/."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "Copie le fichier errors.txt dans le presse-papier au format Markdown pour Discord."
|
||||
|
||||
|
||||
@@ -606,8 +606,8 @@ translate french strings:
|
||||
new "ERREUR"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Pendant que [what!q], une erreur est survenue :"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Pendant que [what!qt], une erreur est survenue :"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -614,8 +614,8 @@ translate german strings:
|
||||
new "FEHLER"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Während [what!q] ist ein Fehler aufgetreten:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Während [what!qt] ist ein Fehler aufgetreten:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -606,8 +606,8 @@ translate greek strings:
|
||||
new "ΣΦΑΛΜΑ"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Ενόσω [what!q], συνέβη ένα σφάλμα:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Ενόσω [what!qt], συνέβη ένα σφάλμα:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -606,8 +606,8 @@ translate indonesian strings:
|
||||
new "ERROR"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Kesalahan terjadi ketika : [what!q] adalah :"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Kesalahan terjadi ketika : [what!qt] adalah :"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -606,8 +606,8 @@ translate italian strings:
|
||||
new "ERRORE"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Durante [what!q], si é verificato un errore:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Durante [what!qt], si é verificato un errore:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -694,3 +694,83 @@ translate japanese strings:
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "イメージキャッシュ: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
|
||||
# renpy/common/00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "フォントオーバーライド"
|
||||
|
||||
# renpy/common/00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "デフォルト"
|
||||
|
||||
# renpy/common/00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# renpy/common/00accessibility.rpy:88
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# renpy/common/00accessibility.rpy:94
|
||||
old "Text Size Scaling"
|
||||
new "テキストサイズのスケーリング"
|
||||
|
||||
# renpy/common/00accessibility.rpy:100
|
||||
old "Reset"
|
||||
new "リセット"
|
||||
|
||||
# renpy/common/00accessibility.rpy:105
|
||||
old "Line Spacing Scaling"
|
||||
new "行間のスケーリング"
|
||||
|
||||
# renpy/common/00accessibility.rpy:117
|
||||
old "Self-Voicing"
|
||||
new "セルフボイシング"
|
||||
|
||||
# renpy/common/00accessibility.rpy:121
|
||||
old "Off"
|
||||
new "オフ"
|
||||
|
||||
# renpy/common/00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "テキストを読む"
|
||||
|
||||
# renpy/common/00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
new "クリップボード"
|
||||
|
||||
# renpy/common/00accessibility.rpy:133
|
||||
old "Debug"
|
||||
new "デバッグ"
|
||||
|
||||
# renpy/common/00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "フォント変換"
|
||||
|
||||
# renpy/common/00preferences.rpy:433
|
||||
old "font size"
|
||||
new "フォントサイズ"
|
||||
|
||||
# renpy/common/00preferences.rpy:441
|
||||
old "font line spacing"
|
||||
new "フォントの行間"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "画像属性"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes] (hidden)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:94
|
||||
old "[name] [attributes]"
|
||||
new "[name] [attributes]"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:154
|
||||
old "Hide deleted"
|
||||
new "消去済みを隠す"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "消去済みを表示する"
|
||||
|
||||
|
||||
@@ -177,3 +177,11 @@ translate japanese strings:
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <ラベル>: ラベルにジャンプ"
|
||||
|
||||
# renpy/common/00console.rpy:685
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "short: コンソール上のオブジェクトを短く表現する(デフォルト)"
|
||||
|
||||
# renpy/common/00console.rpy:690
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: コンソール上のオブジェクトを全て表現する"
|
||||
|
||||
|
||||
@@ -235,3 +235,27 @@ translate japanese strings:
|
||||
old "Tearing"
|
||||
new "ティアリング"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "BBCode でコピー"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "クリップボードに traceback.txt を https://lemmasoft.renai.us/ 等のフォーラムに適した BBcode 形式でコピーする。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "Markdown でコピー"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "クリップボードに traceback.txt を Discord に適した Markdown 形式でコピーする。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "クリップボードに errors.txt を https://lemmasoft.renai.us/ 等のフォーラムに適した BBcode 形式でコピーする。"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "クリップボードに errors.txt を Discord に適した Markdown 形式でコピーする。"
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ translate japanese strings:
|
||||
|
||||
# android.rpy:35
|
||||
old "Choose \"Build\" to build the current project, or attach an Android device and choose \"Build & Install\" to build and install it on the device."
|
||||
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルド & インストール」を選択し、ビルド後そのデバイスにインストールしてください。"
|
||||
new "「ビルド」を選択して現在のプロジェクトをビルドするか、Android デバイスを接続して「ビルドとインストール」を選択し、そのデバイスにインストールしてください。"
|
||||
|
||||
# android.rpy:37
|
||||
old "Attempts to emulate an Android phone.\n\nTouch input is emulated through the mouse, but only when the button is held down. Escape is mapped to the menu button, and PageUp is mapped to the back button."
|
||||
@@ -135,7 +135,7 @@ translate japanese strings:
|
||||
|
||||
# android.rpy:365
|
||||
old "Configure"
|
||||
new "設定"
|
||||
new "構成の設定"
|
||||
|
||||
# android.rpy:369
|
||||
old "Build Package"
|
||||
@@ -143,7 +143,7 @@ translate japanese strings:
|
||||
|
||||
# android.rpy:373
|
||||
old "Build & Install"
|
||||
new "ビルド & インストール"
|
||||
new "ビルドとインストール"
|
||||
|
||||
# android.rpy:377
|
||||
old "Build, Install & Launch"
|
||||
@@ -606,8 +606,8 @@ translate japanese strings:
|
||||
new "エラー"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "[what!q] 中にエラーが発生しました:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "[what!qt] 中にエラーが発生しました:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
@@ -623,7 +623,7 @@ translate japanese strings:
|
||||
|
||||
# interface.rpy:386
|
||||
old "File and directory names must consist of ASCII characters."
|
||||
new "ファイル、ディレクトリー名はアスキーコードの文字列で構成される必要があります。"
|
||||
new "ファイル、ディレクトリー名はアスキーコードの文字列でなければなりません。"
|
||||
|
||||
# interface.rpy:454
|
||||
old "PROCESSING"
|
||||
@@ -1321,3 +1321,379 @@ translate japanese strings:
|
||||
# front_page.rpy:221
|
||||
old "Actions"
|
||||
new "アクション"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# game/add_file.rpy:37
|
||||
old "The file name may not be empty."
|
||||
new "ファイル名が与えられていません。"
|
||||
|
||||
# game/android.rpy:31
|
||||
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
|
||||
new "ウィンドウズでアンドロイドパッケージをビルドするには、 64-bit/x64 Java 8 Development Kit が必要になります。 JDK は JRE とは違うもので、Java には含まれていません。\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}から JDK をダンロードしてインストールし{/a}、それから Ren'Py ランチャーを再起動してください。"
|
||||
|
||||
# game/android.rpy:50
|
||||
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
|
||||
new "Android Studio からアクセスできるデバッグビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
|
||||
|
||||
# game/android.rpy:51
|
||||
old "Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device."
|
||||
new "ストアへアップロード可能なリリースビルドを選択する。 デバッグビルドとリリースビルドを切り替えるには、デバイスからアンインストールする必要があります。"
|
||||
|
||||
# game/androidstrings.rpy:7
|
||||
old "{} is not a directory."
|
||||
new "{} はディレクトリーではありません。"
|
||||
|
||||
# game/androidstrings.rpy:8
|
||||
old "{} does not contain a Ren'Py game."
|
||||
new "{} に Ren'Py のゲームは含まれていません。"
|
||||
|
||||
# game/androidstrings.rpy:9
|
||||
old "Run configure before attempting to build the app."
|
||||
new "アプリをビルドする前に構成を変更する。"
|
||||
|
||||
# game/androidstrings.rpy:10
|
||||
old "Google Play support is enabled, but build.google_play_key is not defined."
|
||||
new "Google Play サポートは有効になりましたが、 build.google_play_key が定義されていません。"
|
||||
|
||||
# game/androidstrings.rpy:11
|
||||
old "Updating project."
|
||||
new "プロジェクトを更新しています。"
|
||||
|
||||
# game/androidstrings.rpy:12
|
||||
old "Creating assets directory."
|
||||
new "アセットディレクトリーを作成しています"
|
||||
|
||||
# game/androidstrings.rpy:13
|
||||
old "Creating expansion file."
|
||||
new "拡張ファイルを作成しています。"
|
||||
|
||||
# game/androidstrings.rpy:14
|
||||
old "Packaging internal data."
|
||||
new "内部データをパッケージングしています。"
|
||||
|
||||
# game/androidstrings.rpy:15
|
||||
old "I'm using Gradle to build the package."
|
||||
new "パッケージのビルドに Gradle を使用しています。"
|
||||
|
||||
# game/androidstrings.rpy:16
|
||||
old "Uploading expansion file."
|
||||
new "拡張ファイルをアップロードしています。"
|
||||
|
||||
# game/androidstrings.rpy:17
|
||||
old "The build seems to have failed."
|
||||
new "ビルドに失敗したようです"
|
||||
|
||||
# game/androidstrings.rpy:18
|
||||
old "Launching app."
|
||||
new "アプリを起動しています。"
|
||||
|
||||
# game/androidstrings.rpy:19
|
||||
old "The build seems to have succeeded."
|
||||
new "ビルドに成功したようです。"
|
||||
|
||||
# game/androidstrings.rpy:20
|
||||
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
|
||||
new "arm64-v8a version は新しいアンドロイドデバイスで動きます。 armeabi-v7a version は古いデバイスで動きます。 the x86_64 version はシミュレーターやクロームブックで動きます。"
|
||||
|
||||
# game/androidstrings.rpy:21
|
||||
old "What is the full name of your application? This name will appear in the list of installed applications."
|
||||
new "アプリのフルネームはなんですか? フルネームはインストール済みアプリの一覧に表示されます。"
|
||||
|
||||
# game/androidstrings.rpy:22
|
||||
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
|
||||
new "アプリのショートネームは何ですか? ショートネームはランチャーやショートカットで使われます。"
|
||||
|
||||
# game/androidstrings.rpy:23
|
||||
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
|
||||
new "パッケージ名はなんですか?\n\nこれは通常 com.domain.program や com.domain.email.program の形を取ります。 ASCII 文字とドットのみで構成され、最低一つのドットを含まなければなりません。"
|
||||
|
||||
# game/androidstrings.rpy:24
|
||||
old "The package name may not be empty."
|
||||
new "パッケージ名が与えられていません。"
|
||||
|
||||
# game/androidstrings.rpy:25
|
||||
old "The package name may not contain spaces."
|
||||
new "パッケージ名はスペースを含んではいけません。"
|
||||
|
||||
# game/androidstrings.rpy:26
|
||||
old "The package name must contain at least one dot."
|
||||
new "パッケージ名は最低一つのドットを含まなければなりません。"
|
||||
|
||||
# game/androidstrings.rpy:27
|
||||
old "The package name may not contain two dots in a row, or begin or end with a dot."
|
||||
new "パッケージ名は2つのドットが連続したり、最初や最後がドットになってはいけません。"
|
||||
|
||||
# game/androidstrings.rpy:28
|
||||
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
|
||||
new "パッケージ名の各部分は文字から始めまり、文字・数字・アンダースコアのみを使用しなければなりません"
|
||||
|
||||
# game/androidstrings.rpy:29
|
||||
old "{} is a Java keyword, and can't be used as part of a package name."
|
||||
new "{} は Java のキーワードのため、パッケージ名に使用することはできません。."
|
||||
|
||||
# game/androidstrings.rpy:30
|
||||
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
|
||||
new "アプリケーションのバージョンはなんですか?\n\nバージョンは他の人に分かりやすい名前にします。数字とドットのみが使用できます。"
|
||||
|
||||
# game/androidstrings.rpy:31
|
||||
old "The version number must contain only numbers and dots."
|
||||
new "バージョンナンバーは数字とドットのみが使用できます。"
|
||||
|
||||
# game/androidstrings.rpy:32
|
||||
old "What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions."
|
||||
new "バージョンコードは何ですか?\n\nこれは正の整数で、バージョンが上がるごとに増えていきます。"
|
||||
|
||||
# game/androidstrings.rpy:33
|
||||
old "The numeric version must contain only numbers."
|
||||
new "バージョンコードは数字のみが使用できます。"
|
||||
|
||||
# game/androidstrings.rpy:34
|
||||
old "How would you like your application to be displayed?"
|
||||
new "どのようにアプリケーションを表示したいですか?"
|
||||
|
||||
# game/androidstrings.rpy:35
|
||||
old "In landscape orientation."
|
||||
new "ランドスケープ(横向き)"
|
||||
|
||||
# game/androidstrings.rpy:36
|
||||
old "In portrait orientation."
|
||||
new "ポートレイト(縦向き)"
|
||||
|
||||
# game/androidstrings.rpy:37
|
||||
old "In the user's preferred orientation."
|
||||
new "ユーザーが選択した向き"
|
||||
|
||||
# game/androidstrings.rpy:38
|
||||
old "Which app store would you like to support in-app purchasing through?"
|
||||
new "アプリ内課金をどのアプリストアに対応させますか?"
|
||||
|
||||
# game/androidstrings.rpy:39
|
||||
old "Google Play."
|
||||
new "Google Play"
|
||||
|
||||
# game/androidstrings.rpy:40
|
||||
old "Amazon App Store."
|
||||
new "Amazon App Store"
|
||||
|
||||
# game/androidstrings.rpy:41
|
||||
old "Both, in one app."
|
||||
new "一つのアプリで両方とも"
|
||||
|
||||
# game/androidstrings.rpy:42
|
||||
old "Neither."
|
||||
new "どちらも対応させない"
|
||||
|
||||
# game/androidstrings.rpy:43
|
||||
old "Would you like to create an expansion APK?"
|
||||
new "APK 拡張ファイルを作成しますか?"
|
||||
|
||||
# game/androidstrings.rpy:44
|
||||
old "No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded."
|
||||
new "いいえ。Google Play では100MBのサイズ制限がありますが、他のストアを通したり、直接配布することが可能です。"
|
||||
|
||||
# game/androidstrings.rpy:45
|
||||
old "Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)"
|
||||
new "はい。2GBのサイズまで作成できますが、 Google Play 以外では動きません。(ドキュメンテーションを参照してください。)"
|
||||
|
||||
# game/androidstrings.rpy:46
|
||||
old "Do you want to allow the app to access the Internet?"
|
||||
new "アプリのインターネット接続を許可しますか?"
|
||||
|
||||
# game/androidstrings.rpy:47
|
||||
old "Do you want to automatically update the generated project?"
|
||||
new "作成したプロジェクトを自動的に更新させますか?"
|
||||
|
||||
# game/androidstrings.rpy:48
|
||||
old "Yes. This is the best choice for most projects."
|
||||
new "はい。多くのプロジェクトで最良の選択です。"
|
||||
|
||||
# game/androidstrings.rpy:49
|
||||
old "No. This may require manual updates when Ren'Py or the project configuration changes."
|
||||
new "いいえ。Ren'Py やプロジェクトの構成が変更されるごとに、手動でアップデートする必要があります。"
|
||||
|
||||
# game/androidstrings.rpy:50
|
||||
old "Unknown configuration variable: {}"
|
||||
new "未知の構成変数: {}"
|
||||
|
||||
# game/androidstrings.rpy:51
|
||||
old "I'm compiling a short test program, to see if you have a working JDK on your system."
|
||||
new "小さなテストプログラムをコンパイルして、あなたのシステムで JDK が動作するか確認しています。"
|
||||
|
||||
# game/androidstrings.rpy:52
|
||||
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue."
|
||||
new "テストファイルのコンパイルに javac が利用できません。Java Development Kit をダウンロードしていないなら、\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードしてください。 JDK は JRE とは違うもので、Java には含まれていません。JDK がなければ継続できません。"
|
||||
|
||||
# game/androidstrings.rpy:53
|
||||
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
|
||||
new "あなたのコンピューターにある Java のバージョンは JDK 8 ではないようです。JDK 8 は Android SDK がサポートする唯一のバージョンです。JDK 8 は:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nからダウンロードできます。 異なるバージョンの JAVA を使う場合は、JAVA_HOME の環境変数を設定します。"
|
||||
|
||||
# game/androidstrings.rpy:54
|
||||
old "The JDK is present and working. Good!"
|
||||
new "JDK が動作することを確認しました。"
|
||||
|
||||
# game/androidstrings.rpy:55
|
||||
old "The Android SDK has already been unpacked."
|
||||
new "Android SDK の解凍は完了しています。"
|
||||
|
||||
# game/androidstrings.rpy:56
|
||||
old "Do you accept the Android SDK Terms and Conditions?"
|
||||
new "Android SDK の契約内容・条件を承諾しますか?"
|
||||
|
||||
# game/androidstrings.rpy:57
|
||||
old "I'm downloading the Android SDK. This might take a while."
|
||||
new "Android SDK をダウンロードしています。この処理にはしばらくかかります。"
|
||||
|
||||
# game/androidstrings.rpy:58
|
||||
old "I'm extracting the Android SDK."
|
||||
new "Android SDK を解凍しています。"
|
||||
|
||||
# game/androidstrings.rpy:59
|
||||
old "I've finished unpacking the Android SDK."
|
||||
new "Android SDK の解凍を完了しました。"
|
||||
|
||||
# game/androidstrings.rpy:60
|
||||
old "I'm about to download and install the required Android packages. This might take a while."
|
||||
new "必要な Android パッケージをダウンロードしてインストールしようとしています。この処理にはしばらくかかります。"
|
||||
|
||||
# game/androidstrings.rpy:61
|
||||
old "I was unable to accept the Android licenses."
|
||||
new "Android ライセンスを承諾出来ませんでした。"
|
||||
|
||||
# game/androidstrings.rpy:62
|
||||
old "I was unable to install the required Android packages."
|
||||
new "必要な Android パッケージをインストールできませんでした。"
|
||||
|
||||
# game/androidstrings.rpy:63
|
||||
old "I've finished installing the required Android packages."
|
||||
new "必要な Android パッケージのインストールが終了しました。"
|
||||
|
||||
# game/androidstrings.rpy:64
|
||||
old "You set the keystore yourself, so I'll assume it's how you want it."
|
||||
new "keystore が設定されているため、あなた自身で設定したいのだと判断しました。"
|
||||
|
||||
# game/androidstrings.rpy:65
|
||||
old "You've already created an Android keystore, so I won't create a new one for you."
|
||||
new "Android keystore が既に作成済みのため、新しい keystore の作成は行いません。"
|
||||
|
||||
# game/androidstrings.rpy:66
|
||||
old "I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?"
|
||||
new "アプリケーションに署名するキーを発行できます。このキーでアプリケーションに署名すると、アンドロイドマーケットや他のストアで配布できるようになります。\n\nキーを作成しますか?"
|
||||
|
||||
# game/androidstrings.rpy:67
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "android.keystore ファイルを作成します。\n\nこのファイルはバックアップしてください。もし失くした場合はアプリをアップグレードすることが出来なくなります。\n\nまた、このファイルは安全な場所に保管してください。このファイルが悪意のある人間の手に渡ると、アプリのフェイクバージョンを作られたり、ユーザーデータを盗まれる恐れがあります。\n\nandroid.keystore のバックアップを作成し、安全な場所に保存しますか?"
|
||||
|
||||
# game/androidstrings.rpy:68
|
||||
old "Please enter your name or the name of your organization."
|
||||
new "あなたの名前か組織名を入力してください。"
|
||||
|
||||
# game/androidstrings.rpy:69
|
||||
old "Could not create android.keystore. Is keytool in your path?"
|
||||
new "android.keystore を作成できませんでした。keytool があなたのパスに存在しますか?"
|
||||
|
||||
# game/androidstrings.rpy:70
|
||||
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
|
||||
new "android.keystore の作成を終了しました。 このファイルをバックアップして、安全な場所に保管してください。"
|
||||
|
||||
# game/androidstrings.rpy:71
|
||||
old "It looks like you're ready to start packaging games."
|
||||
new "ゲームのパッケージングの準備が整ったようです。"
|
||||
|
||||
# game/choose_theme.rpy:507
|
||||
old "changing the theme"
|
||||
new "テーマを変更しています。"
|
||||
|
||||
# game/front_page.rpy:252
|
||||
old "Web"
|
||||
new "Web"
|
||||
|
||||
# game/front_page.rpy:252
|
||||
old "(Beta)"
|
||||
new "(Beta)"
|
||||
|
||||
# game/gui7.rpy:429
|
||||
old "creating a new project"
|
||||
new "新しいプロジェクトを作成しています。"
|
||||
|
||||
# game/gui7.rpy:433
|
||||
old "activating the new project"
|
||||
new "新しいプロジェクトを認証しています。"
|
||||
|
||||
# game/interface.rpy:372
|
||||
old "opening the log file"
|
||||
new "ログファイルを開いています。"
|
||||
|
||||
# game/itch.rpy:43
|
||||
old "Downloading the itch.io butler."
|
||||
new "itch.io butler をダウンロードしています。"
|
||||
|
||||
# game/updater.rpy:101
|
||||
old "The update channel controls the version of Ren'Py the updater will download."
|
||||
new "アップロードチャンネルはアップデーターのバージョンをコントロールします。"
|
||||
|
||||
# game/updater.rpy:110
|
||||
old "• This version is installed and up-to-date."
|
||||
new "• このバージョンは最新の状態でインストールされています。"
|
||||
|
||||
# game/updater.rpy:118
|
||||
old "%B %d, %Y"
|
||||
new "%B %d, %Y"
|
||||
|
||||
# game/updater.rpy:188
|
||||
old "Fetching the list of update channels"
|
||||
new "アップデートチャンネルのリストを取得しています。"
|
||||
|
||||
# game/updater.rpy:194
|
||||
old "downloading the list of update channels"
|
||||
new "アップデートチャンネルのリストをダウンロードしています。"
|
||||
|
||||
# game/updater.rpy:198
|
||||
old "parsing the list of update channels"
|
||||
new "アップデートチャンネルのリストを解析しています。"
|
||||
|
||||
# game/web.rpy:118
|
||||
old "Web: [project.current.display_name!q]"
|
||||
new "Web: [project.current.display_name!q]"
|
||||
|
||||
# game/web.rpy:148
|
||||
old "Build Web Application"
|
||||
new "ウェブアプリケーションをビルドする"
|
||||
|
||||
# game/web.rpy:149
|
||||
old "Build and Open in Browser"
|
||||
new "ビルドしてブラウザで開く"
|
||||
|
||||
# game/web.rpy:150
|
||||
old "Open in Browser"
|
||||
new "ブラウザで開く"
|
||||
|
||||
# game/web.rpy:151
|
||||
old "Open build directory"
|
||||
new "ビルドしたディレクトリーを開く"
|
||||
|
||||
# game/web.rpy:155
|
||||
old "Support:"
|
||||
new "サポート:"
|
||||
|
||||
# game/web.rpy:163
|
||||
old "RenPyWeb Home"
|
||||
new "RenPyWeb ホーム"
|
||||
|
||||
# game/web.rpy:164
|
||||
old "Beuc's Patreon"
|
||||
new "Beuc's Patreon"
|
||||
|
||||
# game/web.rpy:182
|
||||
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
|
||||
new "Ren'Py ウェブアプリケーションは、ゲームをスタートする前に、プレイヤーのコンピューターにデータを全てダウンロードする必要があります。"
|
||||
|
||||
# game/web.rpy:186
|
||||
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
|
||||
new "現在のウェブプラットホームの限界により、一般的なパフォーマンスの低下や、大きな画像・音声・動画ファイルのロードによる音声やフレームレートの異常が発生します。"
|
||||
|
||||
# game/web.rpy:195
|
||||
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
|
||||
new "ウェブアプリをパッケージングするために、RenPyWeb (Ren'Py's web support) をダウンロードする必要があります。 RenPyWeb をダウンロードしますか?"
|
||||
|
||||
|
||||
@@ -166,7 +166,7 @@ translate japanese strings:
|
||||
|
||||
# screens.rpy:352
|
||||
old "## Used to display the main menu when Ren'Py starts."
|
||||
new "## Ren'py が起動した時に表示されるメインメニューを表示するスクリーンです。"
|
||||
new "## Ren'Py が起動した時に表示されるメインメニューを表示するスクリーンです。"
|
||||
|
||||
# screens.rpy:354
|
||||
old "## http://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
|
||||
@@ -20,7 +20,7 @@ label start:
|
||||
|
||||
# 背景を表示します。デフォルトではプレースホルダー(仮画像)を使用しますが、
|
||||
# images ディレクトリーにファイル(ファイル名は "bg room.png" や "bg room.jpg")
|
||||
# を追加することにより表示できます。
|
||||
# を追加することで表示できます。
|
||||
|
||||
scene bg room
|
||||
|
||||
@@ -39,14 +39,10 @@ label start:
|
||||
|
||||
with dissolve
|
||||
|
||||
# 音楽を再生します。ここではタグを利用して無音を再生していますが、
|
||||
# game ディレクトリーに "music.ogg" などと命名したファイルを追加すると
|
||||
# play music "music.ogg" の形で再生することができます。
|
||||
# 音楽を再生します。
|
||||
# game ディレクトリーに "music.ogg" などのファイルを追加すると再生できます。
|
||||
|
||||
# 効果音を再生する時は play audio "filename" を使用します。
|
||||
# play music とは違って複数の効果音を同時に再生することができます。
|
||||
|
||||
play music "<silence .5>"
|
||||
# play music "music.ogg"
|
||||
|
||||
# 以下は台詞を表示します。
|
||||
|
||||
|
||||
@@ -707,3 +707,71 @@
|
||||
# 00gallery.rpy:586
|
||||
old "return"
|
||||
new "돌아가기"
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Hide deleted"
|
||||
new "삭제항목 숨기기"
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "삭제항목 보이기"
|
||||
|
||||
# 00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "글꼴 덮어쓰기"
|
||||
|
||||
# 00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "기본"
|
||||
|
||||
# 00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# 00accessibility.rpy:88
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# 00accessibility.rpy:94
|
||||
old "Text Size Scaling"
|
||||
new "글자 크기 조절"
|
||||
|
||||
# 00accessibility.rpy:100
|
||||
old "Reset"
|
||||
new "초기화"
|
||||
|
||||
# 00accessibility.rpy:105
|
||||
old "Line Spacing Scaling"
|
||||
new "줄 간격 조절"
|
||||
|
||||
# 00accessibility.rpy:117
|
||||
old "Self-Voicing"
|
||||
new "대사 읽기"
|
||||
|
||||
# 00accessibility.rpy:121
|
||||
old "Off"
|
||||
new "끄기"
|
||||
|
||||
# 00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "텍스트 음성 변환"
|
||||
|
||||
# 00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
new "클립보드"
|
||||
|
||||
# 00accessibility.rpy:146
|
||||
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
|
||||
new "이 메뉴의 옵션은 접근성을 향상시키기 위한 것입니다. 모든 게임에서 작동하지 않을 수 있고 일부 옵션 조합은 게임을 플레이할 수 없게 만들 수 있으며 이러한 경우 게임이나 엔진의 문제가 아닙니다. 글꼴을 변경할 때 최상의 결과를 얻으려면 글자 크기를 원래대로 유지하십시오."
|
||||
|
||||
# 00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "글꼴 변형"
|
||||
|
||||
# 00preferences.rpy:433
|
||||
old "font size"
|
||||
new "글꼴 크기"
|
||||
|
||||
# 00preferences.rpy:441
|
||||
old "font line spacing"
|
||||
new "글꼴 줄 간격"
|
||||
|
||||
@@ -102,7 +102,7 @@
|
||||
|
||||
# _developer/inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new "(디스플레이어블에 적용되는 속성이 없습니다)"
|
||||
new " (디스플레이어블에 적용되는 속성이 없습니다)"
|
||||
|
||||
# _developer/inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
@@ -134,11 +134,11 @@
|
||||
|
||||
# 00console.rpy:413
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new "<렌파이 스크립트 명령문>: 명령문을 실행한다\n"
|
||||
new " <렌파이 스크립트 명령문>: 명령문을 실행한다\n"
|
||||
|
||||
# 00console.rpy:415
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new "<파이썬 표현식 또는 명령문>: 표현식이나 명령문을 실행한다"
|
||||
new " <파이썬 표현식 또는 명령문>: 표현식이나 명령문을 실행한다"
|
||||
|
||||
# 00console.rpy:423
|
||||
old "clear: clear the console history"
|
||||
@@ -175,3 +175,11 @@
|
||||
# 00console.rpy:536
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <label>: label로 점프한다"
|
||||
|
||||
# 00console.rpy:685
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "short: 콘솔에서 오브젝트 표시를 줄인다 (기본값)."
|
||||
|
||||
# 00console.rpy:690
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: 콘솔에서 오브젝트를 모두 표시한다."
|
||||
|
||||
@@ -207,3 +207,27 @@
|
||||
# _errorhandling.rpym:668
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "errors.txt 파일을 클립보드로 복사합니다."
|
||||
|
||||
# _errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "BB코드 복사"
|
||||
|
||||
# _errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "traceback.txt 파일을 https://lemmasoft.renai.us/ 같은 포럼에서 사용하는 BB코드로 클립보드에 복사합니다."
|
||||
|
||||
# _errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "마크다운 복사"
|
||||
|
||||
# _errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "traceback.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
|
||||
|
||||
# _errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "errors.txt 파일을 https://lemmasoft.renai.us/ 같은 포럼에서 사용하는 BB코드로 클립보드에 복사합니다."
|
||||
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "errors.txt 파일을 디스코드(Discord) 마크다운으로 클립보드에 복사합니다."
|
||||
|
||||
@@ -18,11 +18,11 @@
|
||||
|
||||
# add_file.rpy:31
|
||||
old "The filename must have the .rpy extension."
|
||||
new "파일 이름에는 반드시 .rpy 확장자가 적혀있어야 합니다."
|
||||
new "파일의 확장자는 반드시 .rpy 이어야 합니다."
|
||||
|
||||
# add_file.rpy:39
|
||||
old "The file already exists."
|
||||
new "파일 이름이 이미 존재합니다."
|
||||
new "파일이 이미 존재합니다."
|
||||
|
||||
# add_file.rpy:42
|
||||
old "# Ren'Py automatically loads all script files ending with .rpy. To use this\n# file, define a label and jump to it from another file.\n"
|
||||
@@ -214,7 +214,7 @@
|
||||
|
||||
# androidstrings.rpy:17
|
||||
old "The build seems to have failed."
|
||||
new "빌드가 실패했습니다."
|
||||
new "빌드에 실패했습니다."
|
||||
|
||||
# androidstrings.rpy:18
|
||||
old "Launching app."
|
||||
@@ -225,8 +225,8 @@
|
||||
new "빌드를 성공했습니다."
|
||||
|
||||
# androidstrings.rpy:20
|
||||
old "The armeabi-v7a version works on most phones or tablets, while the x86_64 version works on the simulator and chromebooks."
|
||||
new "armeabi-v7a 버전은 대부분의 휴대폰과 태블릿에서 작동하며, x86_64 버전은 시뮬레이터와 크롬북에서 작동합니다."
|
||||
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
|
||||
new "arm64-v8a 버전은 최신, armeabi-v7a 버전은 구형 안드로이드 휴대폰과 태블릿에서 작동하며, x86_64 버전은 시뮬레이터와 크롬북에서 작동합니다."
|
||||
|
||||
# androidstrings.rpy:21
|
||||
old "What is the full name of your application? This name will appear in the list of installed applications."
|
||||
@@ -357,7 +357,7 @@
|
||||
new "javac를 사용하여 테스트 파일을 컴파일할 수 없습니다. 자바 개발 키트를 아직 설치하지 않은 경우 아래에서 설치하세요:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nJDK는 JRE와 다르므로 JDK가 없어도 Java를 사용할 수 있습니다. 작동하는 JDK가 없으면 계속할 수 없습니다."
|
||||
|
||||
# androidstrings.rpy:53
|
||||
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variabe to use a different version of Java."
|
||||
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
|
||||
new "컴퓨터에 설치된 자바 버전은 안드로이드 SDK에서 지원하는 유일한 버전인 JDK 8이 아닙니다. JDK 8은 아래에서 설치할 수 있습니다:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\n다른 버전의 자바를 사용하도록 JAVA_HOME 환경 변수를 설정할 수도 있습니다."
|
||||
|
||||
# androidstrings.rpy:54
|
||||
@@ -594,7 +594,7 @@
|
||||
|
||||
# dmgcheck.rpy:50
|
||||
old "Ren'Py is running from a read only folder. Some functionality will not work."
|
||||
new "렌파이가 읽기 전용 폴더로부터 실행되고 있습니다. 일부 기능이 작동하지 않을 수 있습니다."
|
||||
new "렌파이가 읽기 전용 폴더에서 실행되고 있습니다. 일부 기능이 작동하지 않을 수 있습니다."
|
||||
|
||||
# dmgcheck.rpy:50
|
||||
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
|
||||
@@ -1492,6 +1492,94 @@
|
||||
old "Proceed"
|
||||
new "다음으로"
|
||||
|
||||
# front_page.rpy:252
|
||||
old "Web"
|
||||
new "웹"
|
||||
|
||||
# front_page.rpy:252
|
||||
old "Web (Beta)"
|
||||
new "웹 (베타)"
|
||||
|
||||
# interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
new "[what!qt]에 오류가 발생했습니다:"
|
||||
|
||||
# interface.rpy:394
|
||||
old "[exception!q]"
|
||||
new "[exception!q]"
|
||||
|
||||
# itch.rpy:43
|
||||
old "Downloading the itch.io butler."
|
||||
new "itch.io 집사를 내려받는 중"
|
||||
|
||||
# web.rpy:118
|
||||
old "Web: [project.current.display_name!q]"
|
||||
new "웹: [project.current.display_name!q]"
|
||||
|
||||
# web.rpy:148
|
||||
old "Build Web Application"
|
||||
new "웹 애플리케이션 빌드"
|
||||
|
||||
# web.rpy:149
|
||||
old "Build and Open in Browser"
|
||||
new "빌드 및 브라우저에서 열기"
|
||||
|
||||
# web.rpy:150
|
||||
old "Open in Browser"
|
||||
new "브라우저에서 열기"
|
||||
|
||||
# web.rpy:151
|
||||
old "Open build directory"
|
||||
new "빌드 디렉토리 열기"
|
||||
|
||||
# web.rpy:154
|
||||
old "Support:"
|
||||
new "지원:"
|
||||
|
||||
# web.rpy:162
|
||||
old "RenPyWeb Home"
|
||||
new "렌파이웹 누리집"
|
||||
|
||||
# web.rpy:163
|
||||
old "Beuc's Patreon"
|
||||
new "Beuc의 페이트리온"
|
||||
|
||||
# web.rpy:181
|
||||
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
|
||||
new "렌파이 웹 애플리케이션은 게임을 시작하기 전에 전체 게임을 플레이어의 컴퓨터에 다운로드해야 합니다."
|
||||
|
||||
# web.rpy:185
|
||||
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
|
||||
new "웹 플랫폼의 현재 제한 사항은 큰 이미지나 오디오 파일, 또는 동영상을 불러오면 오디오 또는 프레임 결함이 발생하고 일반적으로 성능이 저하될 수 있음을 의미합니다."
|
||||
|
||||
# web.rpy:194
|
||||
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
|
||||
new "웹 앱을 패키징하려면 렌파이의 웹 지원인 렌파이웹(RenpyWeb)이 필요합니다. 지금 내려받으시겠습니까?"
|
||||
|
||||
# updater.rpy:188
|
||||
old "Fetching the list of update channels"
|
||||
new "업데이트 채널 목록 가져오기"
|
||||
|
||||
# choose_theme.rpy:507
|
||||
old "changing the theme"
|
||||
new "테마를 바꾸는 중"
|
||||
|
||||
# gui7.rpy:429
|
||||
old "creating a new project"
|
||||
new "새 프로젝트를 만드는 중"
|
||||
|
||||
# gui7.rpy:433
|
||||
old "activating the new project"
|
||||
new "새 프로젝트를 활성화하는 중"
|
||||
|
||||
# interface.rpy:372
|
||||
old "opening the log file"
|
||||
new "로그 파일을 여는 중"
|
||||
|
||||
# updater.rpy:194
|
||||
old "downloading the list of update channels"
|
||||
new "업데이트 채널의 목록을 내려받는 중"
|
||||
|
||||
# updater.rpy:198
|
||||
old "parsing the list of update channels"
|
||||
new "업데이트 채널의 목록을 분석하는 중"
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,219 +1,219 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# _developer/developer.rpym:38
|
||||
# renpy/common/_developer/developer.rpym:38
|
||||
old "Developer Menu"
|
||||
new "Eveloperday Enumay"
|
||||
|
||||
# _developer/developer.rpym:43
|
||||
# renpy/common/_developer/developer.rpym:43
|
||||
old "Interactive Director (D)"
|
||||
new "Nteractiveiay Irectorday (Day)"
|
||||
|
||||
# _developer/developer.rpym:45
|
||||
# renpy/common/_developer/developer.rpym:45
|
||||
old "Reload Game (Shift+R)"
|
||||
new "Eloadray Amegay (Hiftsay+Ray)"
|
||||
|
||||
# _developer/developer.rpym:47
|
||||
# renpy/common/_developer/developer.rpym:47
|
||||
old "Console (Shift+O)"
|
||||
new "Onsolecay (Hiftsay+Oay)"
|
||||
|
||||
# _developer/developer.rpym:49
|
||||
# renpy/common/_developer/developer.rpym:49
|
||||
old "Variable Viewer"
|
||||
new "Ariablevay Iewervay"
|
||||
|
||||
# _developer/developer.rpym:51
|
||||
# renpy/common/_developer/developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "Mageiay Ocationlay Ickerpay"
|
||||
|
||||
# _developer/developer.rpym:53
|
||||
# renpy/common/_developer/developer.rpym:53
|
||||
old "Filename List"
|
||||
new "Ilenamefay Istlay"
|
||||
|
||||
# _developer/developer.rpym:57
|
||||
# renpy/common/_developer/developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "Howsay Mageiay Oadlay Oglay (4fay)"
|
||||
|
||||
# _developer/developer.rpym:60
|
||||
# renpy/common/_developer/developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "Idehay Mageiay Oadlay Oglay (4fay)"
|
||||
|
||||
# _developer/developer.rpym:63
|
||||
# renpy/common/_developer/developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "Mageiay Ttributesaay"
|
||||
|
||||
# _developer/developer.rpym:90
|
||||
# renpy/common/_developer/developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes] (iddenhay)"
|
||||
|
||||
# _developer/developer.rpym:94
|
||||
# renpy/common/_developer/developer.rpym:94
|
||||
old "[name] [attributes]"
|
||||
new "[name] [attributes]"
|
||||
|
||||
# _developer/developer.rpym:143
|
||||
# renpy/common/_developer/developer.rpym:143
|
||||
old "Nothing to inspect."
|
||||
new "Othingnay otay inspectay."
|
||||
|
||||
# _developer/developer.rpym:154
|
||||
# renpy/common/_developer/developer.rpym:154
|
||||
old "Hide deleted"
|
||||
new "Idehay eletedday"
|
||||
|
||||
# _developer/developer.rpym:154
|
||||
# renpy/common/_developer/developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "Howsay eletedday"
|
||||
|
||||
# _developer/developer.rpym:278
|
||||
# renpy/common/_developer/developer.rpym:278
|
||||
old "Return to the developer menu"
|
||||
new "Eturnray otay hetay eveloperday enumay"
|
||||
|
||||
# _developer/developer.rpym:438
|
||||
# renpy/common/_developer/developer.rpym:443
|
||||
old "Rectangle: %r"
|
||||
new "Ectangleray: %ray"
|
||||
|
||||
# _developer/developer.rpym:443
|
||||
# renpy/common/_developer/developer.rpym:448
|
||||
old "Mouse position: %r"
|
||||
new "Ousemay ositionpay: %ray"
|
||||
|
||||
# _developer/developer.rpym:448
|
||||
# renpy/common/_developer/developer.rpym:453
|
||||
old "Right-click or escape to quit."
|
||||
new "Ightray-ickclay oray escapeay otay uitqay."
|
||||
|
||||
# _developer/developer.rpym:480
|
||||
# renpy/common/_developer/developer.rpym:485
|
||||
old "Rectangle copied to clipboard."
|
||||
new "Ectangleray opiedcay otay ipboardclay."
|
||||
|
||||
# _developer/developer.rpym:483
|
||||
# renpy/common/_developer/developer.rpym:488
|
||||
old "Position copied to clipboard."
|
||||
new "Ositionpay opiedcay otay ipboardclay."
|
||||
|
||||
# _developer/developer.rpym:502
|
||||
# renpy/common/_developer/developer.rpym:507
|
||||
old "Type to filter: "
|
||||
new "Ypetay otay ilterfay: "
|
||||
|
||||
# _developer/developer.rpym:630
|
||||
# renpy/common/_developer/developer.rpym:635
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Exturestay: [tex_count] ([tex_size_mb:.1f] Bmay)"
|
||||
|
||||
# _developer/developer.rpym:634
|
||||
# renpy/common/_developer/developer.rpym:639
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "Mageiay achecay: [cache_pct:.1f]% ([cache_size_mb:.1f] Bmay)"
|
||||
|
||||
# _developer/developer.rpym:644
|
||||
# renpy/common/_developer/developer.rpym:649
|
||||
old "✔ "
|
||||
new "✔ "
|
||||
|
||||
# _developer/developer.rpym:647
|
||||
# renpy/common/_developer/developer.rpym:652
|
||||
old "✘ "
|
||||
new "✘ "
|
||||
|
||||
# _developer/developer.rpym:652
|
||||
# renpy/common/_developer/developer.rpym:657
|
||||
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
|
||||
new "\n{color=#cfc}✔ redictedpay imageay (oodgay){/color}\n{color=#fcc}✘ unpredicteday imageay (adbay){/color}\n{color=#fff}Ragday otay ovemay.{/color}"
|
||||
|
||||
# _developer/inspector.rpym:38
|
||||
# renpy/common/_developer/inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
new "Isplayableday Nspectoriay"
|
||||
|
||||
# _developer/inspector.rpym:61
|
||||
# renpy/common/_developer/inspector.rpym:61
|
||||
old "Size"
|
||||
new "Izesay"
|
||||
|
||||
# _developer/inspector.rpym:65
|
||||
# renpy/common/_developer/inspector.rpym:65
|
||||
old "Style"
|
||||
new "Tylesay"
|
||||
|
||||
# _developer/inspector.rpym:71
|
||||
# renpy/common/_developer/inspector.rpym:71
|
||||
old "Location"
|
||||
new "Ocationlay"
|
||||
|
||||
# _developer/inspector.rpym:122
|
||||
# renpy/common/_developer/inspector.rpym:122
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "Nspectingiay Tylessay ofay [displayable_name!q]"
|
||||
|
||||
# _developer/inspector.rpym:139
|
||||
# renpy/common/_developer/inspector.rpym:139
|
||||
old "displayable:"
|
||||
new "isplayableday:"
|
||||
|
||||
# _developer/inspector.rpym:145
|
||||
# renpy/common/_developer/inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (onay ropertiespay affectay hetay isplayableday)"
|
||||
|
||||
# _developer/inspector.rpym:147
|
||||
# renpy/common/_developer/inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
new " (efaultday ropertiespay omitteday)"
|
||||
|
||||
# _developer/inspector.rpym:185
|
||||
# renpy/common/_developer/inspector.rpym:185
|
||||
old "<repr() failed>"
|
||||
new "<eprray() ailedfay>"
|
||||
|
||||
# 00console.rpy:271
|
||||
# renpy/common/00console.rpy:273
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "Resspay <escay> otay exitay onsolecay. Ypetay elphay orfay elphay.\n"
|
||||
|
||||
# 00console.rpy:275
|
||||
# renpy/common/00console.rpy:277
|
||||
old "Ren'Py script enabled."
|
||||
new "Enray'Ypay criptsay enableday."
|
||||
|
||||
# 00console.rpy:277
|
||||
# renpy/common/00console.rpy:279
|
||||
old "Ren'Py script disabled."
|
||||
new "Enray'Ypay criptsay isabledday."
|
||||
|
||||
# 00console.rpy:524
|
||||
# renpy/common/00console.rpy:526
|
||||
old "help: show this help"
|
||||
new "elphay: owshay histay elphay"
|
||||
|
||||
# 00console.rpy:529
|
||||
# renpy/common/00console.rpy:531
|
||||
old "commands:\n"
|
||||
new "ommandscay:\n"
|
||||
|
||||
# 00console.rpy:539
|
||||
# renpy/common/00console.rpy:541
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <enpyray criptsay atementstay>: unray hetay atementstay\n"
|
||||
|
||||
# 00console.rpy:541
|
||||
# renpy/common/00console.rpy:543
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <ythonpay expressionay oray atementstay>: unray hetay expressionay oray atementstay"
|
||||
|
||||
# 00console.rpy:549
|
||||
# renpy/common/00console.rpy:551
|
||||
old "clear: clear the console history"
|
||||
new "earclay: earclay hetay onsolecay istoryhay"
|
||||
|
||||
# 00console.rpy:553
|
||||
# renpy/common/00console.rpy:555
|
||||
old "exit: exit the console"
|
||||
new "exitay: exitay hetay onsolecay"
|
||||
|
||||
# 00console.rpy:561
|
||||
# renpy/common/00console.rpy:563
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "oadlay <otslay>: oadslay hetay amegay omfray otslay"
|
||||
|
||||
# 00console.rpy:574
|
||||
# renpy/common/00console.rpy:576
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "avesay <otslay>: avessay hetay amegay inay otslay"
|
||||
|
||||
# 00console.rpy:585
|
||||
# renpy/common/00console.rpy:587
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "eloadray: eloadsray hetay amegay, efreshingray hetay criptssay"
|
||||
|
||||
# 00console.rpy:593
|
||||
# renpy/common/00console.rpy:595
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "atchway <expressionay>: atchway aay ythonpay expressionay"
|
||||
|
||||
# 00console.rpy:619
|
||||
# renpy/common/00console.rpy:621
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatchay <expressionay>: opstay atchingway anay expressionay"
|
||||
|
||||
# 00console.rpy:650
|
||||
# renpy/common/00console.rpy:652
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchallay: opstay atchingway allay expressionsay"
|
||||
|
||||
# 00console.rpy:667
|
||||
# renpy/common/00console.rpy:669
|
||||
old "jump <label>: jumps to label"
|
||||
new "umpjay <abellay>: umpsjay otay abellay"
|
||||
|
||||
# 00console.rpy:680
|
||||
# renpy/common/00console.rpy:685
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "ortshay: Hortensay hetay epresentationray ofay objectsay onay hetay onsolecay (efaultday)."
|
||||
|
||||
# 00console.rpy:685
|
||||
# renpy/common/00console.rpy:690
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "onglay: Rintpay hetay ullfay epresentationray ofay objectsay onay hetay onsolecay."
|
||||
|
||||
|
||||
@@ -1,227 +1,227 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# 00gltest.rpy:70
|
||||
# renpy/common/00gltest.rpy:70
|
||||
old "Renderer"
|
||||
new "Endererray"
|
||||
|
||||
# 00gltest.rpy:74
|
||||
# renpy/common/00gltest.rpy:74
|
||||
old "Automatically Choose"
|
||||
new "Utomaticallyaay Hoosecay"
|
||||
|
||||
# 00gltest.rpy:79
|
||||
# renpy/common/00gltest.rpy:79
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Orcefay Ngleaay/Irectxday Endererray"
|
||||
|
||||
# 00gltest.rpy:83
|
||||
# renpy/common/00gltest.rpy:83
|
||||
old "Force OpenGL Renderer"
|
||||
new "Orcefay Pengloay Endererray"
|
||||
|
||||
# 00gltest.rpy:87
|
||||
# renpy/common/00gltest.rpy:87
|
||||
old "Force Software Renderer"
|
||||
new "Orcefay Oftwaresay Endererray"
|
||||
|
||||
# 00gltest.rpy:93
|
||||
# renpy/common/00gltest.rpy:93
|
||||
old "NPOT"
|
||||
new "Potnay"
|
||||
|
||||
# 00gltest.rpy:97
|
||||
# renpy/common/00gltest.rpy:97
|
||||
old "Enable"
|
||||
new "Nableeay"
|
||||
|
||||
# 00gltest.rpy:131
|
||||
# renpy/common/00gltest.rpy:131
|
||||
old "Powersave"
|
||||
new "Owersavepay"
|
||||
|
||||
# 00gltest.rpy:145
|
||||
# renpy/common/00gltest.rpy:145
|
||||
old "Framerate"
|
||||
new "Rameratefay"
|
||||
|
||||
# 00gltest.rpy:149
|
||||
# renpy/common/00gltest.rpy:149
|
||||
old "Screen"
|
||||
new "Creensay"
|
||||
|
||||
# 00gltest.rpy:153
|
||||
# renpy/common/00gltest.rpy:153
|
||||
old "60"
|
||||
new "06ay"
|
||||
|
||||
# 00gltest.rpy:157
|
||||
# renpy/common/00gltest.rpy:157
|
||||
old "30"
|
||||
new "03ay"
|
||||
|
||||
# 00gltest.rpy:163
|
||||
# renpy/common/00gltest.rpy:163
|
||||
old "Tearing"
|
||||
new "Earingtay"
|
||||
|
||||
# 00gltest.rpy:179
|
||||
# renpy/common/00gltest.rpy:179
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "Hangescay illway aketay effectay hetay extnay imetay histay rogrampay isay unray."
|
||||
|
||||
# 00gltest.rpy:213
|
||||
# renpy/common/00gltest.rpy:213
|
||||
old "Performance Warning"
|
||||
new "Erformancepay Arningway"
|
||||
|
||||
# 00gltest.rpy:218
|
||||
# renpy/common/00gltest.rpy:218
|
||||
old "This computer is using software rendering."
|
||||
new "Histay omputercay isay usingay oftwaresay enderingray."
|
||||
|
||||
# 00gltest.rpy:220
|
||||
# renpy/common/00gltest.rpy:220
|
||||
old "This computer is not using shaders."
|
||||
new "Histay omputercay isay otnay usingay adersshay."
|
||||
|
||||
# 00gltest.rpy:222
|
||||
# renpy/common/00gltest.rpy:222
|
||||
old "This computer is displaying graphics slowly."
|
||||
new "Histay omputercay isay isplayingday aphicsgray owlyslay."
|
||||
|
||||
# 00gltest.rpy:224
|
||||
# renpy/common/00gltest.rpy:224
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "Histay omputercay ashay aay roblempay isplayingday aphicsgray: [problem]."
|
||||
|
||||
# 00gltest.rpy:229
|
||||
# renpy/common/00gltest.rpy:229
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
|
||||
new "Tsiay aphicsgray riversday aymay ebay outay ofay ateday oray otnay operatingay orrectlycay. Histay ancay eadlay otay owslay oray incorrectay aphicsgray isplayday. Pdatinguay Irectxday ouldcay ixfay histay roblempay."
|
||||
|
||||
# 00gltest.rpy:231
|
||||
# renpy/common/00gltest.rpy:231
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
|
||||
new "Tsiay aphicsgray riversday aymay ebay outay ofay ateday oray otnay operatingay orrectlycay. Histay ancay eadlay otay owslay oray incorrectay aphicsgray isplayday."
|
||||
|
||||
# 00gltest.rpy:236
|
||||
# renpy/common/00gltest.rpy:236
|
||||
old "Update DirectX"
|
||||
new "Pdateuay Irectxday"
|
||||
|
||||
# 00gltest.rpy:242
|
||||
# renpy/common/00gltest.rpy:242
|
||||
old "Continue, Show this warning again"
|
||||
new "Ontinuecay, Howsay histay arningway againay"
|
||||
|
||||
# 00gltest.rpy:246
|
||||
# renpy/common/00gltest.rpy:246
|
||||
old "Continue, Don't show warning again"
|
||||
new "Ontinuecay, Onday'tay owshay arningway againay"
|
||||
|
||||
# 00gltest.rpy:264
|
||||
# renpy/common/00gltest.rpy:264
|
||||
old "Updating DirectX."
|
||||
new "Pdatinguay Irectxday."
|
||||
|
||||
# 00gltest.rpy:268
|
||||
# renpy/common/00gltest.rpy:268
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "Irectxday ebway etupsay ashay eenbay artedstay. Tiay aymay artstay inimizedmay inay hetay askbartay. Leasepay ollowfay hetay romptspay otay installay Irectxday."
|
||||
|
||||
# 00gltest.rpy:272
|
||||
# renpy/common/00gltest.rpy:272
|
||||
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
|
||||
new "{b}Otenay:{/b} Icrosoftmay'say Irectxday ebway etupsay rogrampay illway, ybay efaultday, installay hetay Ingbay oolbartay. Fiay ouyay oday otnay antway histay oolbartay, uncheckay hetay appropriateay oxbay."
|
||||
|
||||
# 00gltest.rpy:276
|
||||
# renpy/common/00gltest.rpy:276
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "Henway etupsay inishesfay, easeplay ickclay elowbay otay estartray histay rogrampay."
|
||||
|
||||
# 00gltest.rpy:278
|
||||
# renpy/common/00gltest.rpy:278
|
||||
old "Restart"
|
||||
new "Estartray"
|
||||
|
||||
# 00gamepad.rpy:32
|
||||
# renpy/common/00gamepad.rpy:32
|
||||
old "Select Gamepad to Calibrate"
|
||||
new "Electsay Amepadgay otay Alibratecay"
|
||||
|
||||
# 00gamepad.rpy:35
|
||||
# renpy/common/00gamepad.rpy:35
|
||||
old "No Gamepads Available"
|
||||
new "Onay Amepadsgay Vailableaay"
|
||||
|
||||
# 00gamepad.rpy:54
|
||||
# renpy/common/00gamepad.rpy:54
|
||||
old "Calibrating [name] ([i]/[total])"
|
||||
new "Alibratingcay [name] ([i]/[total])"
|
||||
|
||||
# 00gamepad.rpy:58
|
||||
# renpy/common/00gamepad.rpy:58
|
||||
old "Press or move the [control!r] [kind]."
|
||||
new "Resspay oray ovemay hetay [control!r] [kind]."
|
||||
|
||||
# 00gamepad.rpy:66
|
||||
# renpy/common/00gamepad.rpy:66
|
||||
old "Skip (A)"
|
||||
new "Kipsay (Aay)"
|
||||
|
||||
# 00gamepad.rpy:69
|
||||
# renpy/common/00gamepad.rpy:69
|
||||
old "Back (B)"
|
||||
new "Ackbay (Bay)"
|
||||
|
||||
# _errorhandling.rpym:535
|
||||
# renpy/common/_errorhandling.rpym:538
|
||||
old "Open"
|
||||
new "Penoay"
|
||||
|
||||
# _errorhandling.rpym:537
|
||||
# renpy/common/_errorhandling.rpym:540
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "Pensoay hetay acebacktray.xttay ilefay inay aay exttay editoray."
|
||||
|
||||
# _errorhandling.rpym:539
|
||||
# renpy/common/_errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "Opycay Bcodebay"
|
||||
|
||||
# _errorhandling.rpym:541
|
||||
# renpy/common/_errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Opiescay hetay acebacktray.xttay ilefay otay hetay ipboardclay asay Bcodebay orfay orumsfay ikelay ttpshay://emmasoftlay.enairay.usay/."
|
||||
|
||||
# _errorhandling.rpym:543
|
||||
# renpy/common/_errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "Opycay Arkdownmay"
|
||||
|
||||
# _errorhandling.rpym:545
|
||||
# renpy/common/_errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "Opiescay hetay acebacktray.xttay ilefay otay hetay ipboardclay asay Arkdownmay orfay Iscordday."
|
||||
|
||||
# _errorhandling.rpym:574
|
||||
# renpy/common/_errorhandling.rpym:577
|
||||
old "An exception has occurred."
|
||||
new "Naay exceptionay ashay occurreday."
|
||||
|
||||
# _errorhandling.rpym:594
|
||||
# renpy/common/_errorhandling.rpym:597
|
||||
old "Rollback"
|
||||
new "Ollbackray"
|
||||
|
||||
# _errorhandling.rpym:596
|
||||
# renpy/common/_errorhandling.rpym:599
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "Ttemptsaay aay ollray ackbay otay aay riorpay imetay, allowingay ouyay otay avesay oray oosechay aay ifferentday oicechay."
|
||||
|
||||
# _errorhandling.rpym:599
|
||||
# renpy/common/_errorhandling.rpym:602
|
||||
old "Ignore"
|
||||
new "Gnoreiay"
|
||||
|
||||
# _errorhandling.rpym:603
|
||||
# renpy/common/_errorhandling.rpym:606
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay."
|
||||
|
||||
# _errorhandling.rpym:605
|
||||
# renpy/common/_errorhandling.rpym:608
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay. Histay oftenay eadslay otay additionalay errorsay."
|
||||
|
||||
# _errorhandling.rpym:609
|
||||
# renpy/common/_errorhandling.rpym:612
|
||||
old "Reload"
|
||||
new "Eloadray"
|
||||
|
||||
# _errorhandling.rpym:611
|
||||
# renpy/common/_errorhandling.rpym:614
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "Eloadsray hetay amegay omfray iskday, avingsay anday estoringray amegay atestay ifay ossiblepay."
|
||||
|
||||
# _errorhandling.rpym:614
|
||||
# renpy/common/_errorhandling.rpym:617
|
||||
old "Console"
|
||||
new "Onsolecay"
|
||||
|
||||
# _errorhandling.rpym:616
|
||||
# renpy/common/_errorhandling.rpym:619
|
||||
old "Opens a console to allow debugging the problem."
|
||||
new "Pensoay aay onsolecay otay alloway ebuggingday hetay roblempay."
|
||||
|
||||
# _errorhandling.rpym:626
|
||||
# renpy/common/_errorhandling.rpym:629
|
||||
old "Quits the game."
|
||||
new "Uitsqay hetay amegay."
|
||||
|
||||
# _errorhandling.rpym:650
|
||||
# renpy/common/_errorhandling.rpym:653
|
||||
old "Parsing the script failed."
|
||||
new "Arsingpay hetay criptsay ailedfay."
|
||||
|
||||
# _errorhandling.rpym:676
|
||||
# renpy/common/_errorhandling.rpym:679
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "Pensoay hetay errorsay.xttay ilefay inay aay exttay editoray."
|
||||
|
||||
# _errorhandling.rpym:680
|
||||
# renpy/common/_errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Opiescay hetay errorsay.xttay ilefay otay hetay ipboardclay asay Bcodebay orfay orumsfay ikelay ttpshay://emmasoftlay.enairay.usay/."
|
||||
|
||||
# _errorhandling.rpym:684
|
||||
# renpy/common/_errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "Opiescay hetay errorsay.xttay ilefay otay hetay ipboardclay asay Arkdownmay orfay Iscordday."
|
||||
|
||||
|
||||
+108
-108
@@ -1,435 +1,435 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# gui.rpy:2
|
||||
# gui/game/gui.rpy:2
|
||||
old "## Initialization"
|
||||
new "## Nitializationiay"
|
||||
|
||||
# gui.rpy:5
|
||||
# gui/game/gui.rpy:5
|
||||
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
|
||||
new "## Hetay initay offsetay atementstay ausescay hetay initializationay atementsstay inay histay ilefay otay unray eforebay initay atementsstay inay anyay otheray ilefay."
|
||||
|
||||
# gui.rpy:9
|
||||
# gui/game/gui.rpy:9
|
||||
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## Allingcay uigay.initay esetsray hetay ylesstay otay ensiblesay efaultday aluesvay, anday etssay hetay idthway anday eighthay ofay hetay amegay."
|
||||
|
||||
# gui.rpy:17
|
||||
# gui/game/gui.rpy:17
|
||||
old "## GUI Configuration Variables"
|
||||
new "## Uigay Onfigurationcay Ariablesvay"
|
||||
|
||||
# gui.rpy:21
|
||||
# gui/game/gui.rpy:21
|
||||
old "## Colors"
|
||||
new "## Olorscay"
|
||||
|
||||
# gui.rpy:23
|
||||
# gui/game/gui.rpy:23
|
||||
old "## The colors of text in the interface."
|
||||
new "## Hetay olorscay ofay exttay inay hetay interfaceay."
|
||||
|
||||
# gui.rpy:25
|
||||
# gui/game/gui.rpy:25
|
||||
old "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## Naay accentay olorcay useday hroughouttay hetay interfaceay otay abellay anday ighlighthay exttay."
|
||||
|
||||
# gui.rpy:29
|
||||
# gui/game/gui.rpy:29
|
||||
old "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## Hetay olorcay useday orfay aay exttay uttonbay henway itay isay eithernay electedsay ornay overedhay."
|
||||
|
||||
# gui.rpy:32
|
||||
# gui/game/gui.rpy:32
|
||||
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
new "## Hetay mallsay olorcay isay useday orfay mallsay exttay, hichway eedsnay otay ebay ighterbray/arkerday otay achieveay hetay amesay effectay."
|
||||
|
||||
# gui.rpy:36
|
||||
# gui/game/gui.rpy:36
|
||||
old "## The color that is used for buttons and bars that are hovered."
|
||||
new "## Hetay olorcay hattay isay useday orfay uttonsbay anday arsbay hattay areay overedhay."
|
||||
|
||||
# gui.rpy:39
|
||||
# gui/game/gui.rpy:39
|
||||
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
|
||||
new "## Hetay olorcay useday orfay aay exttay uttonbay henway itay isay electedsay utbay otnay ocusedfay. Aay uttonbay isay electedsay ifay itay isay hetay urrentcay creensay oray referencepay aluevay."
|
||||
|
||||
# gui.rpy:43
|
||||
# gui/game/gui.rpy:43
|
||||
old "## The color used for a text button when it cannot be selected."
|
||||
new "## Hetay olorcay useday orfay aay exttay uttonbay henway itay annotcay ebay electedsay."
|
||||
|
||||
# gui.rpy:46
|
||||
# gui/game/gui.rpy:46
|
||||
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
|
||||
new "## Olorscay useday orfay hetay ortionspay ofay arsbay hattay areay otnay illedfay inay. Hesetay areay otnay useday irectlyday, utbay areay useday henway eray-eneratinggay arbay imageay ilesfay."
|
||||
|
||||
# gui.rpy:51
|
||||
# gui/game/gui.rpy:51
|
||||
old "## The colors used for dialogue and menu choice text."
|
||||
new "## Hetay olorscay useday orfay ialogueday anday enumay oicechay exttay."
|
||||
|
||||
# gui.rpy:56
|
||||
# gui/game/gui.rpy:56
|
||||
old "## Fonts and Font Sizes"
|
||||
new "## Ontsfay anday Ontfay Izessay"
|
||||
|
||||
# gui.rpy:58
|
||||
# gui/game/gui.rpy:58
|
||||
old "## The font used for in-game text."
|
||||
new "## Hetay ontfay useday orfay inay-amegay exttay."
|
||||
|
||||
# gui.rpy:61
|
||||
# gui/game/gui.rpy:61
|
||||
old "## The font used for character names."
|
||||
new "## Hetay ontfay useday orfay aracterchay amesnay."
|
||||
|
||||
# gui.rpy:64
|
||||
# gui/game/gui.rpy:64
|
||||
old "## The font used for out-of-game text."
|
||||
new "## Hetay ontfay useday orfay outay-ofay-amegay exttay."
|
||||
|
||||
# gui.rpy:67
|
||||
# gui/game/gui.rpy:67
|
||||
old "## The size of normal dialogue text."
|
||||
new "## Hetay izesay ofay ormalnay ialogueday exttay."
|
||||
|
||||
# gui.rpy:70
|
||||
# gui/game/gui.rpy:70
|
||||
old "## The size of character names."
|
||||
new "## Hetay izesay ofay aracterchay amesnay."
|
||||
|
||||
# gui.rpy:73
|
||||
# gui/game/gui.rpy:73
|
||||
old "## The size of text in the game's user interface."
|
||||
new "## Hetay izesay ofay exttay inay hetay amegay'say useray interfaceay."
|
||||
|
||||
# gui.rpy:76
|
||||
# gui/game/gui.rpy:76
|
||||
old "## The size of labels in the game's user interface."
|
||||
new "## Hetay izesay ofay abelslay inay hetay amegay'say useray interfaceay."
|
||||
|
||||
# gui.rpy:79
|
||||
# gui/game/gui.rpy:79
|
||||
old "## The size of text on the notify screen."
|
||||
new "## Hetay izesay ofay exttay onay hetay otifynay creensay."
|
||||
|
||||
# gui.rpy:82
|
||||
# gui/game/gui.rpy:82
|
||||
old "## The size of the game's title."
|
||||
new "## Hetay izesay ofay hetay amegay'say itletay."
|
||||
|
||||
# gui.rpy:86
|
||||
# gui/game/gui.rpy:86
|
||||
old "## Main and Game Menus"
|
||||
new "## Ainmay anday Amegay Enusmay"
|
||||
|
||||
# gui.rpy:88
|
||||
# gui/game/gui.rpy:88
|
||||
old "## The images used for the main and game menus."
|
||||
new "## Hetay imagesay useday orfay hetay ainmay anday amegay enusmay."
|
||||
|
||||
# gui.rpy:93
|
||||
# gui/game/gui.rpy:93
|
||||
old "## Dialogue"
|
||||
new "## Ialogueday"
|
||||
|
||||
# gui.rpy:95
|
||||
# gui/game/gui.rpy:95
|
||||
old "## These variables control how dialogue is displayed on the screen one line at a time."
|
||||
new "## Hesetay ariablesvay ontrolcay owhay ialogueday isay isplayedday onay hetay creensay oneay inelay atay aay imetay."
|
||||
|
||||
# gui.rpy:98
|
||||
# gui/game/gui.rpy:98
|
||||
old "## The height of the textbox containing dialogue."
|
||||
new "## Hetay eighthay ofay hetay extboxtay ontainingcay ialogueday."
|
||||
|
||||
# gui.rpy:101
|
||||
# gui/game/gui.rpy:101
|
||||
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
|
||||
new "## Hetay acementplay ofay hetay extboxtay erticallyvay onay hetay creensay. 0ay.0ay isay hetay optay, 0ay.5ay isay entercay, anday 1ay.0ay isay hetay ottombay."
|
||||
|
||||
# gui.rpy:106
|
||||
# gui/game/gui.rpy:106
|
||||
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## Hetay acementplay ofay hetay peakingsay aracterchay'say amenay, elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay omfray hetay eftlay oray optay, oray 0ay.5ay otay entercay."
|
||||
|
||||
# gui.rpy:111
|
||||
# gui/game/gui.rpy:111
|
||||
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## Hetay orizontalhay alignmentay ofay hetay aracterchay'say amenay. Histay ancay ebay 0ay.0ay orfay eftlay-aligneday, 0ay.5ay orfay enteredcay, anday 1ay.0ay orfay ightray-aligneday."
|
||||
|
||||
# gui.rpy:115
|
||||
# gui/game/gui.rpy:115
|
||||
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
|
||||
new "## Hetay idthway, eighthay, anday ordersbay ofay hetay oxbay ontainingcay hetay aracterchay'say amenay, oray Onenay otay automaticallyay izesay itay."
|
||||
|
||||
# gui.rpy:120
|
||||
# gui/game/gui.rpy:120
|
||||
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## Hetay ordersbay ofay hetay oxbay ontainingcay hetay aracterchay'say amenay, inay eftlay, optay, ightray, ottombay orderay."
|
||||
|
||||
# gui.rpy:124
|
||||
# gui/game/gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Fiay Ruetay, hetay ackgroundbay ofay hetay ameboxnay illway ebay iledtay, ifay Alsefay, hetay ackgroundbay ofay hetay ameboxnay illway ebay caledsay."
|
||||
|
||||
# gui.rpy:129
|
||||
# gui/game/gui.rpy:129
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
new "## Hetay acementplay ofay ialogueday elativeray otay hetay extboxtay. Hesetay ancay ebay aay holeway umbernay ofay ixelspay elativeray otay hetay eftlay oray optay idesay ofay hetay extboxtay, oray 0ay.5ay otay entercay."
|
||||
|
||||
# gui.rpy:135
|
||||
# gui/game/gui.rpy:135
|
||||
old "## The maximum width of dialogue text, in pixels."
|
||||
new "## Hetay aximummay idthway ofay ialogueday exttay, inay ixelspay."
|
||||
|
||||
# gui.rpy:138
|
||||
# gui/game/gui.rpy:138
|
||||
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## Hetay orizontalhay alignmentay ofay hetay ialogueday exttay. Histay ancay ebay 0ay.0ay orfay eftlay-aligneday, 0ay.5ay orfay enteredcay, anday 1ay.0ay orfay ightray-aligneday."
|
||||
|
||||
# gui.rpy:143
|
||||
# gui/game/gui.rpy:143
|
||||
old "## Buttons"
|
||||
new "## Uttonsbay"
|
||||
|
||||
# gui.rpy:145
|
||||
# gui/game/gui.rpy:145
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## Hesetay ariablesvay, alongay ithway hetay imageay ilesfay inay uigay/uttonbay, ontrolcay aspectsay ofay owhay uttonsbay areay isplayedday."
|
||||
|
||||
# gui.rpy:148
|
||||
# gui/game/gui.rpy:148
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## Hetay idthway anday eighthay ofay aay uttonbay, inay ixelspay. Fiay Onenay, Enray'Ypay omputescay aay izesay."
|
||||
|
||||
# gui.rpy:152
|
||||
# gui/game/gui.rpy:152
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## Hetay ordersbay onay eachay idesay ofay hetay uttonbay, inay eftlay, optay, ightray, ottombay orderay."
|
||||
|
||||
# gui.rpy:155
|
||||
# gui/game/gui.rpy:155
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## Fiay Ruetay, hetay ackgroundbay imageay illway ebay iledtay. Fiay Alsefay, hetay ackgroundbay imageay illway ebay inearlylay caledsay."
|
||||
|
||||
# gui.rpy:159
|
||||
# gui/game/gui.rpy:159
|
||||
old "## The font used by the button."
|
||||
new "## Hetay ontfay useday ybay hetay uttonbay."
|
||||
|
||||
# gui.rpy:162
|
||||
# gui/game/gui.rpy:162
|
||||
old "## The size of the text used by the button."
|
||||
new "## Hetay izesay ofay hetay exttay useday ybay hetay uttonbay."
|
||||
|
||||
# gui.rpy:165
|
||||
# gui/game/gui.rpy:165
|
||||
old "## The color of button text in various states."
|
||||
new "## Hetay olorcay ofay uttonbay exttay inay ariousvay atesstay."
|
||||
|
||||
# gui.rpy:171
|
||||
# gui/game/gui.rpy:171
|
||||
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
|
||||
new "## Hetay orizontalhay alignmentay ofay hetay uttonbay exttay. (0ay.0ay isay eftlay, 0ay.5ay isay entercay, 1ay.0ay isay ightray)."
|
||||
|
||||
# gui.rpy:176
|
||||
# gui/game/gui.rpy:176
|
||||
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## Hesetay ariablesvay overrideay ettingssay orfay ifferentday indskay ofay uttonsbay. Leasepay eesay hetay uigay ocumentationday orfay hetay indskay ofay uttonsbay availableay, anday hatway eachay isay useday orfay."
|
||||
|
||||
# gui.rpy:180
|
||||
# gui/game/gui.rpy:180
|
||||
old "## These customizations are used by the default interface:"
|
||||
new "## Hesetay ustomizationscay areay useday ybay hetay efaultday interfaceay:"
|
||||
|
||||
# gui.rpy:195
|
||||
# gui/game/gui.rpy:195
|
||||
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## Ouyay ancay alsoay adday ouryay ownay ustomizationscay, ybay addingay roperlypay-amednay ariablesvay. Orfay exampleay, ouyay ancay uncommentay hetay ollowingfay inelay otay etsay hetay idthway ofay aay avigationnay uttonbay."
|
||||
|
||||
# gui.rpy:202
|
||||
# gui/game/gui.rpy:202
|
||||
old "## Choice Buttons"
|
||||
new "## Hoicecay Uttonsbay"
|
||||
|
||||
# gui.rpy:204
|
||||
# gui/game/gui.rpy:204
|
||||
old "## Choice buttons are used in the in-game menus."
|
||||
new "## Hoicecay uttonsbay areay useday inay hetay inay-amegay enusmay."
|
||||
|
||||
# gui.rpy:218
|
||||
# gui/game/gui.rpy:218
|
||||
old "## File Slot Buttons"
|
||||
new "## Ilefay Lotsay Uttonsbay"
|
||||
|
||||
# gui.rpy:220
|
||||
# gui/game/gui.rpy:220
|
||||
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## Aay ilefay otslay uttonbay isay aay pecialsay indkay ofay uttonbay. Tiay ontainscay aay humbnailtay imageay, anday exttay escribingday hetay ontentscay ofay hetay avesay otslay. Aay avesay otslay usesay imageay ilesfay inay uigay/uttonbay, ikelay hetay otheray indskay ofay uttonsbay."
|
||||
|
||||
# gui.rpy:224
|
||||
# gui/game/gui.rpy:224
|
||||
old "## The save slot button."
|
||||
new "## Hetay avesay otslay uttonbay."
|
||||
|
||||
# gui.rpy:234
|
||||
# gui/game/gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## Hetay idthway anday eighthay ofay humbnailstay useday ybay hetay avesay otsslay."
|
||||
|
||||
# gui.rpy:238
|
||||
# gui/game/gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## Hetay umbernay ofay olumnscay anday owsray inay hetay idgray ofay avesay otsslay."
|
||||
|
||||
# gui.rpy:243
|
||||
# gui/game/gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
new "## Ositioningpay anday Pacingsay"
|
||||
|
||||
# gui.rpy:245
|
||||
# gui/game/gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## Hesetay ariablesvay ontrolcay hetay ositioningpay anday pacingsay ofay ariousvay useray interfaceay elementsay."
|
||||
|
||||
# gui.rpy:248
|
||||
# gui/game/gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## Hetay ositionpay ofay hetay eftlay idesay ofay hetay avigationnay uttonsbay, elativeray otay hetay eftlay idesay ofay hetay creensay."
|
||||
|
||||
# gui.rpy:252
|
||||
# gui/game/gui.rpy:252
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## Hetay erticalvay ositionpay ofay hetay kipsay indicatoray."
|
||||
|
||||
# gui.rpy:255
|
||||
# gui/game/gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## Hetay erticalvay ositionpay ofay hetay otifynay creensay."
|
||||
|
||||
# gui.rpy:258
|
||||
# gui/game/gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## Hetay pacingsay etweenbay enumay oiceschay."
|
||||
|
||||
# gui.rpy:261
|
||||
# gui/game/gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## Uttonsbay inay hetay avigationnay ectionsay ofay hetay ainmay anday amegay enusmay."
|
||||
|
||||
# gui.rpy:264
|
||||
# gui/game/gui.rpy:264
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## Ontrolscay hetay amountay ofay pacingsay etweenbay referencespay."
|
||||
|
||||
# gui.rpy:267
|
||||
# gui/game/gui.rpy:267
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## Ontrolscay hetay amountay ofay pacingsay etweenbay referencepay uttonsbay."
|
||||
|
||||
# gui.rpy:270
|
||||
# gui/game/gui.rpy:270
|
||||
old "## The spacing between file page buttons."
|
||||
new "## Hetay pacingsay etweenbay ilefay agepay uttonsbay."
|
||||
|
||||
# gui.rpy:273
|
||||
# gui/game/gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## Hetay pacingsay etweenbay ilefay otsslay."
|
||||
|
||||
# gui.rpy:276
|
||||
# gui/game/gui.rpy:276
|
||||
old "## The position of the main menu text."
|
||||
new "## Hetay ositionpay ofay hetay ainmay enumay exttay."
|
||||
|
||||
# gui.rpy:280
|
||||
# gui/game/gui.rpy:280
|
||||
old "## Frames"
|
||||
new "## Ramesfay"
|
||||
|
||||
# gui.rpy:282
|
||||
# gui/game/gui.rpy:282
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## Hesetay ariablesvay ontrolcay hetay ooklay ofay amesfray hattay ancay ontaincay useray interfaceay omponentscay henway anay overlayay oray indowway isay otnay resentpay."
|
||||
|
||||
# gui.rpy:285
|
||||
# gui/game/gui.rpy:285
|
||||
old "## Generic frames."
|
||||
new "## Enericgay amesfray."
|
||||
|
||||
# gui.rpy:288
|
||||
# gui/game/gui.rpy:288
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## Hetay amefray hattay isay useday asay artpay ofay hetay onfirmcay creensay."
|
||||
|
||||
# gui.rpy:291
|
||||
# gui/game/gui.rpy:291
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## Hetay amefray hattay isay useday asay artpay ofay hetay kipsay creensay."
|
||||
|
||||
# gui.rpy:294
|
||||
# gui/game/gui.rpy:294
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## Hetay amefray hattay isay useday asay artpay ofay hetay otifynay creensay."
|
||||
|
||||
# gui.rpy:297
|
||||
# gui/game/gui.rpy:297
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## Houldsay amefray ackgroundsbay ebay iledtay?"
|
||||
|
||||
# gui.rpy:301
|
||||
# gui/game/gui.rpy:301
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## Arsbay, Crollbarssay, anday Liderssay"
|
||||
|
||||
# gui.rpy:303
|
||||
# gui/game/gui.rpy:303
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## Hesetay ontrolcay hetay ooklay anday izesay ofay arsbay, crollbarssay, anday idersslay."
|
||||
|
||||
# gui.rpy:305
|
||||
# gui/game/gui.rpy:305
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## Hetay efaultday Uigay onlyay usesay idersslay anday erticalvay crollbarssay. Llaay ofay hetay otheray arsbay areay onlyay useday inay reatorcay-rittenway creenssay."
|
||||
|
||||
# gui.rpy:308
|
||||
# gui/game/gui.rpy:308
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## Hetay eighthay ofay orizontalhay arsbay, crollbarssay, anday idersslay. Hetay idthway ofay erticalvay arsbay, crollbarssay, anday idersslay."
|
||||
|
||||
# gui.rpy:314
|
||||
# gui/game/gui.rpy:314
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## Ruetay ifay arbay imagesay ouldshay ebay iledtay. Alsefay ifay heytay ouldshay ebay inearlylay caledsay."
|
||||
|
||||
# gui.rpy:319
|
||||
# gui/game/gui.rpy:319
|
||||
old "## Horizontal borders."
|
||||
new "## Orizontalhay ordersbay."
|
||||
|
||||
# gui.rpy:324
|
||||
# gui/game/gui.rpy:324
|
||||
old "## Vertical borders."
|
||||
new "## Erticalvay ordersbay."
|
||||
|
||||
# gui.rpy:329
|
||||
# gui/game/gui.rpy:329
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## Hatway otay oday ithway unscrollableay crollbarssay inay hetay uigay. \"idehay\" ideshay hemtay, hileway Onenay owsshay hemtay."
|
||||
|
||||
# gui.rpy:334
|
||||
# gui/game/gui.rpy:334
|
||||
old "## History"
|
||||
new "## Istoryhay"
|
||||
|
||||
# gui.rpy:336
|
||||
# gui/game/gui.rpy:336
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## Hetay istoryhay creensay isplaysday ialogueday hattay hetay ayerplay ashay alreadyay ismissedday."
|
||||
|
||||
# gui.rpy:338
|
||||
# gui/game/gui.rpy:338
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## Hetay umbernay ofay ocksblay ofay ialogueday istoryhay Enray'Ypay illway eepkay."
|
||||
|
||||
# gui.rpy:341
|
||||
# gui/game/gui.rpy:341
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## Hetay eighthay ofay aay istoryhay creensay entryay, oray Onenay otay akemay hetay eighthay ariablevay atay hetay ostcay ofay erformancepay."
|
||||
|
||||
# gui.rpy:345
|
||||
# gui/game/gui.rpy:345
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## Hetay ositionpay, idthway, anday alignmentay ofay hetay abellay ivinggay hetay amenay ofay hetay peakingsay aracterchay."
|
||||
|
||||
# gui.rpy:352
|
||||
# gui/game/gui.rpy:352
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## Hetay ositionpay, idthway, anday alignmentay ofay hetay ialogueday exttay."
|
||||
|
||||
# gui.rpy:359
|
||||
# gui/game/gui.rpy:359
|
||||
old "## NVL-Mode"
|
||||
new "## Vlnay-Odemay"
|
||||
|
||||
# gui.rpy:361
|
||||
# gui/game/gui.rpy:361
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## Hetay Vlnay-odemay creensay isplaysday hetay ialogueday pokensay ybay Vlnay-odemay aracterschay."
|
||||
|
||||
# gui.rpy:363
|
||||
# gui/game/gui.rpy:363
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## Hetay ordersbay ofay hetay ackgroundbay ofay hetay Vlnay-odemay ackgroundbay indowway."
|
||||
|
||||
# gui.rpy:366
|
||||
# gui/game/gui.rpy:366
|
||||
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
new "## Hetay aximummay umbernay ofay Vlnay-odemay entriesay Enray'Ypay illway isplayday. Henway oremay entriesay hantay histay areay otay ebay owshay, hetay oldestay entryay illway ebay emovedray."
|
||||
|
||||
# gui.rpy:370
|
||||
# gui/game/gui.rpy:370
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## Hetay eighthay ofay anay Vlnay-odemay entryay. Etsay histay otay Onenay otay avehay hetay entriesay ynamicallyday adjustay eighthay."
|
||||
|
||||
# gui.rpy:374
|
||||
# gui/game/gui.rpy:374
|
||||
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## Hetay pacingsay etweenbay Vlnay-odemay entriesay henway uigay.vl_heightnay isay Onenay, anday etweenbay Vlnay-odemay entriesay anday anay Vlnay-odemay enumay."
|
||||
|
||||
# gui.rpy:391
|
||||
# gui/game/gui.rpy:391
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## Hetay ositionpay, idthway, anday alignmentay ofay vl_thoughtnay exttay (hetay exttay aidsay ybay hetay vl_narratornay aracterchay.)"
|
||||
|
||||
# gui.rpy:398
|
||||
# gui/game/gui.rpy:398
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## Hetay ositionpay ofay vlnay enu_buttonsmay."
|
||||
|
||||
# gui.rpy:402
|
||||
# gui/game/gui.rpy:402
|
||||
old "## Localization"
|
||||
new "## Ocalizationlay"
|
||||
|
||||
# gui.rpy:404
|
||||
# gui/game/gui.rpy:404
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## Histay ontrolscay hereway aay inelay eakbray isay ermittedpay. Hetay efaultday isay uitablesay orfay ostmay anguageslay. Aay istlay ofay availableay aluesvay ancay ebay oundfay atay ttpshay://wwway.enpyray.orgay/ocday/tmlhay/yle_propertiesstay.tmlhay#ylestay-ropertypay-anguagelay"
|
||||
|
||||
# gui.rpy:412
|
||||
# gui/game/gui.rpy:412
|
||||
old "## Mobile devices"
|
||||
new "## Obilemay evicesday"
|
||||
|
||||
# gui.rpy:417
|
||||
# gui/game/gui.rpy:417
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## Histay increasesay hetay izesay ofay hetay uickqay uttonsbay otay akemay hemtay easieray otay ouchtay onay abletstay anday onesphay."
|
||||
|
||||
# gui.rpy:423
|
||||
# gui/game/gui.rpy:423
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## Histay angeschay hetay izesay anday pacingsay ofay ariousvay Uigay elementsay otay ensureay heytay areay easilyay isiblevay onay onesphay."
|
||||
|
||||
# gui.rpy:427
|
||||
# gui/game/gui.rpy:427
|
||||
old "## Font sizes."
|
||||
new "## Ontfay izessay."
|
||||
|
||||
# gui.rpy:435
|
||||
# gui/game/gui.rpy:435
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## Djustaay hetay ocationlay ofay hetay extboxtay."
|
||||
|
||||
# gui.rpy:441
|
||||
# gui/game/gui.rpy:441
|
||||
old "## Change the size and spacing of various things."
|
||||
new "## Hangecay hetay izesay anday pacingsay ofay ariousvay hingstay."
|
||||
|
||||
# gui.rpy:454
|
||||
# gui/game/gui.rpy:454
|
||||
old "## File button layout."
|
||||
new "## Ilefay uttonbay ayoutlay."
|
||||
|
||||
# gui.rpy:458
|
||||
# gui/game/gui.rpy:458
|
||||
old "## NVL-mode."
|
||||
new "## Vlnay-odemay."
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,27 +1,27 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# _layout/classic_joystick_preferences.rpym:94
|
||||
# renpy/common/_layout/classic_joystick_preferences.rpym:94
|
||||
old "Joystick Mapping"
|
||||
new "Oystickjay Appingmay"
|
||||
|
||||
# _layout/classic_load_save.rpym:138
|
||||
# renpy/common/_layout/classic_load_save.rpym:138
|
||||
old "Empty Slot."
|
||||
new "Mptyeay Lotsay."
|
||||
|
||||
# _layout/classic_load_save.rpym:170
|
||||
# renpy/common/_layout/classic_load_save.rpym:170
|
||||
old "a"
|
||||
new "aay"
|
||||
|
||||
# _layout/classic_load_save.rpym:179
|
||||
# renpy/common/_layout/classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "qay"
|
||||
|
||||
# _compat/gamemenu.rpym:355
|
||||
# renpy/common/_compat/gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "Reviouspay"
|
||||
|
||||
# _compat/gamemenu.rpym:362
|
||||
# renpy/common/_compat/gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "Extnay"
|
||||
|
||||
|
||||
@@ -1,203 +1,203 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# options.rpy:1
|
||||
# gui/game/options.rpy:1
|
||||
old "## This file contains options that can be changed to customize your game."
|
||||
new "## Histay ilefay ontainscay optionsay hattay ancay ebay angedchay otay ustomizecay ouryay amegay."
|
||||
|
||||
# options.rpy:4
|
||||
# gui/game/options.rpy:4
|
||||
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
|
||||
new "## Ineslay eginningbay ithway wotay '#' arksmay areay ommentscay, anday ouyay ouldnshay'tay uncommentay hemtay. Ineslay eginningbay ithway aay inglesay '#' arkmay areay ommentedcay-outay odecay, anday ouyay aymay antway otay uncommentay hemtay henway appropriateay."
|
||||
|
||||
# options.rpy:10
|
||||
# gui/game/options.rpy:10
|
||||
old "## Basics"
|
||||
new "## Asicsbay"
|
||||
|
||||
# options.rpy:12
|
||||
# gui/game/options.rpy:12
|
||||
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
|
||||
new "## Aay umanhay-eadableray amenay ofay hetay amegay. Histay isay useday otay etsay hetay efaultday indowway itletay, anday owsshay upay inay hetay interfaceay anday erroray eportsray."
|
||||
|
||||
# options.rpy:15
|
||||
# gui/game/options.rpy:15
|
||||
old "## The _() surrounding the string marks it as eligible for translation."
|
||||
new "## Hetay _ay() urroundingsay hetay ringstay arksmay itay asay eligibleay orfay anslationtray."
|
||||
|
||||
# options.rpy:17
|
||||
# gui/game/options.rpy:17
|
||||
old "Ren'Py 7 Default GUI"
|
||||
new "Enray'Ypay 7ay Efaultday Uigay"
|
||||
|
||||
# options.rpy:20
|
||||
# gui/game/options.rpy:20
|
||||
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
|
||||
new "## Eterminesday ifay hetay itletay ivengay aboveay isay ownshay onay hetay ainmay enumay creensay. Etsay histay otay Alsefay otay idehay hetay itletay."
|
||||
|
||||
# options.rpy:26
|
||||
# gui/game/options.rpy:26
|
||||
old "## The version of the game."
|
||||
new "## Hetay ersionvay ofay hetay amegay."
|
||||
|
||||
# options.rpy:31
|
||||
# gui/game/options.rpy:31
|
||||
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
|
||||
new "## Exttay hattay isay acedplay onay hetay amegay'say aboutay creensay. Lacepay hetay exttay etweenbay hetay ipletray-uotesqay, anday eavelay aay ankblay inelay etweenbay aragraphspay."
|
||||
|
||||
# options.rpy:38
|
||||
# gui/game/options.rpy:38
|
||||
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
|
||||
new "## Aay ortshay amenay orfay hetay amegay useday orfay executablesay anday irectoriesday inay hetay uiltbay istributionday. Histay ustmay ebay Sciiaay-onlyay, anday ustmay otnay ontaincay pacessay, olonscay, oray emicolonssay."
|
||||
|
||||
# options.rpy:45
|
||||
# gui/game/options.rpy:45
|
||||
old "## Sounds and music"
|
||||
new "## Oundssay anday usicmay"
|
||||
|
||||
# options.rpy:47
|
||||
# gui/game/options.rpy:47
|
||||
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
|
||||
new "## Hesetay hreetay ariablesvay ontrolcay hichway ixersmay areay ownshay otay hetay ayerplay ybay efaultday. Ettingsay oneay ofay hesetay otay Alsefay illway idehay hetay appropriateay ixermay."
|
||||
|
||||
# options.rpy:56
|
||||
# gui/game/options.rpy:56
|
||||
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
|
||||
new "## Otay alloway hetay useray otay ayplay aay esttay oundsay onay hetay oundsay oray oicevay annelchay, uncommentay aay inelay elowbay anday useay itay otay etsay aay amplesay oundsay otay ayplay."
|
||||
|
||||
# options.rpy:63
|
||||
# gui/game/options.rpy:63
|
||||
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
|
||||
new "## Ncommentuay hetay ollowingfay inelay otay etsay anay audioay ilefay hattay illway ebay ayedplay hileway hetay ayerplay isay atay hetay ainmay enumay. Histay ilefay illway ontinuecay ayingplay intoay hetay amegay, untilay itay isay oppedstay oray anotheray ilefay isay ayedplay."
|
||||
|
||||
# options.rpy:70
|
||||
# gui/game/options.rpy:70
|
||||
old "## Transitions"
|
||||
new "## Ransitionstay"
|
||||
|
||||
# options.rpy:72
|
||||
# gui/game/options.rpy:72
|
||||
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
|
||||
new "## Hesetay ariablesvay etsay ansitionstray hattay areay useday henway ertaincay eventsay occuray. Acheay ariablevay ouldshay ebay etsay otay aay ansitiontray, oray Onenay otay indicateay hattay onay ansitiontray ouldshay ebay useday."
|
||||
|
||||
# options.rpy:76
|
||||
# gui/game/options.rpy:76
|
||||
old "## Entering or exiting the game menu."
|
||||
new "## Nteringeay oray exitingay hetay amegay enumay."
|
||||
|
||||
# options.rpy:82
|
||||
# gui/game/options.rpy:82
|
||||
old "## Between screens of the game menu."
|
||||
new "## Etweenbay creenssay ofay hetay amegay enumay."
|
||||
|
||||
# options.rpy:87
|
||||
# gui/game/options.rpy:87
|
||||
old "## A transition that is used after a game has been loaded."
|
||||
new "## Aay ansitiontray hattay isay useday afteray aay amegay ashay eenbay oadedlay."
|
||||
|
||||
# options.rpy:92
|
||||
# gui/game/options.rpy:92
|
||||
old "## Used when entering the main menu after the game has ended."
|
||||
new "## Seduay henway enteringay hetay ainmay enumay afteray hetay amegay ashay endeday."
|
||||
|
||||
# options.rpy:97
|
||||
# gui/game/options.rpy:97
|
||||
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
|
||||
new "## Aay ariablevay otay etsay hetay ansitiontray useday henway hetay amegay artsstay oesday otnay existay. Nsteadiay, useay aay ithway atementstay afteray owingshay hetay initialay cenesay."
|
||||
|
||||
# options.rpy:102
|
||||
# gui/game/options.rpy:102
|
||||
old "## Window management"
|
||||
new "## Indowway anagementmay"
|
||||
|
||||
# options.rpy:104
|
||||
# gui/game/options.rpy:104
|
||||
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
|
||||
new "## Histay ontrolscay henway hetay ialogueday indowway isay isplayedday. Fiay \"owshay\", itay isay alwaysay isplayedday. Fiay \"idehay\", itay isay onlyay isplayedday henway ialogueday isay resentpay. Fiay \"autoay\", hetay indowway isay iddenhay eforebay cenesay atementsstay anday ownshay againay onceay ialogueday isay isplayedday."
|
||||
|
||||
# options.rpy:109
|
||||
# gui/game/options.rpy:109
|
||||
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
|
||||
new "## Fteraay hetay amegay ashay artedstay, histay ancay ebay angedchay ithway hetay \"indowway owshay\", \"indowway idehay\", anday \"indowway autoay\" atementsstay."
|
||||
|
||||
# options.rpy:115
|
||||
# gui/game/options.rpy:115
|
||||
old "## Transitions used to show and hide the dialogue window"
|
||||
new "## Ransitionstay useday otay owshay anday idehay hetay ialogueday indowway"
|
||||
|
||||
# options.rpy:121
|
||||
# gui/game/options.rpy:121
|
||||
old "## Preference defaults"
|
||||
new "## Referencepay efaultsday"
|
||||
|
||||
# options.rpy:123
|
||||
# gui/game/options.rpy:123
|
||||
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
|
||||
new "## Ontrolscay hetay efaultday exttay peedsay. Hetay efaultday, 0ay, isay infiniteay, hileway anyay otheray umbernay isay hetay umbernay ofay aracterschay erpay econdsay otay ypetay outay."
|
||||
|
||||
# options.rpy:129
|
||||
# gui/game/options.rpy:129
|
||||
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
|
||||
new "## Hetay efaultday autoay-orwardfay elayday. Argerlay umbersnay eadlay otay ongerlay aitsway, ithway 0ay otay 03ay eingbay hetay alidvay angeray."
|
||||
|
||||
# options.rpy:135
|
||||
# gui/game/options.rpy:135
|
||||
old "## Save directory"
|
||||
new "## Avesay irectoryday"
|
||||
|
||||
# options.rpy:137
|
||||
# gui/game/options.rpy:137
|
||||
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
|
||||
new "## Ontrolscay hetay atformplay-pecificsay aceplay Enray'Ypay illway aceplay hetay avesay ilesfay orfay histay amegay. Hetay avesay ilesfay illway ebay acedplay inay:"
|
||||
|
||||
# options.rpy:140
|
||||
# gui/game/options.rpy:140
|
||||
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
new "## Indowsway: %Ppdataaay\\Enpyray\\<onfigcay.ave_directorysay>"
|
||||
|
||||
# options.rpy:142
|
||||
# gui/game/options.rpy:142
|
||||
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
|
||||
new "## Acintoshmay: $Omehay/Ibrarylay/Enpyray/<onfigcay.ave_directorysay>"
|
||||
|
||||
# options.rpy:144
|
||||
# gui/game/options.rpy:144
|
||||
old "## Linux: $HOME/.renpy/<config.save_directory>"
|
||||
new "## Inuxlay: $Omehay/.enpyray/<onfigcay.ave_directorysay>"
|
||||
|
||||
# options.rpy:146
|
||||
# gui/game/options.rpy:146
|
||||
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
|
||||
new "## Histay enerallygay ouldshay otnay ebay angedchay, anday ifay itay isay, ouldshay alwaysay ebay aay iterallay ringstay, otnay anay expressionay."
|
||||
|
||||
# options.rpy:152
|
||||
# gui/game/options.rpy:152
|
||||
old "## Icon"
|
||||
new "## Coniay"
|
||||
|
||||
# options.rpy:154
|
||||
# gui/game/options.rpy:154
|
||||
old "## The icon displayed on the taskbar or dock."
|
||||
new "## Hetay iconay isplayedday onay hetay askbartay oray ockday."
|
||||
|
||||
# options.rpy:159
|
||||
# gui/game/options.rpy:159
|
||||
old "## Build configuration"
|
||||
new "## Uildbay onfigurationcay"
|
||||
|
||||
# options.rpy:161
|
||||
# gui/game/options.rpy:161
|
||||
old "## This section controls how Ren'Py turns your project into distribution files."
|
||||
new "## Histay ectionsay ontrolscay owhay Enray'Ypay urnstay ouryay rojectpay intoay istributionday ilesfay."
|
||||
|
||||
# options.rpy:166
|
||||
# gui/game/options.rpy:166
|
||||
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
|
||||
new "## Hetay ollowingfay unctionsfay aketay ilefay atternspay. Ilefay atternspay areay asecay- insensitiveay, anday atchedmay againstay hetay athpay elativeray otay hetay asebay irectoryday, ithway anday ithoutway aay eadinglay /. Fiay ultiplemay atternspay atchmay, hetay irstfay isay useday."
|
||||
|
||||
# options.rpy:171
|
||||
# gui/game/options.rpy:171
|
||||
old "## In a pattern:"
|
||||
new "## Niay aay atternpay:"
|
||||
|
||||
# options.rpy:173
|
||||
# gui/game/options.rpy:173
|
||||
old "## / is the directory separator."
|
||||
new "## / isay hetay irectoryday eparatorsay."
|
||||
|
||||
# options.rpy:175
|
||||
# gui/game/options.rpy:175
|
||||
old "## * matches all characters, except the directory separator."
|
||||
new "## * atchesmay allay aracterschay, exceptay hetay irectoryday eparatorsay."
|
||||
|
||||
# options.rpy:177
|
||||
# gui/game/options.rpy:177
|
||||
old "## ** matches all characters, including the directory separator."
|
||||
new "## ** atchesmay allay aracterschay, includingay hetay irectoryday eparatorsay."
|
||||
|
||||
# options.rpy:179
|
||||
# gui/game/options.rpy:179
|
||||
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
|
||||
new "## Orfay exampleay, \"*.xttay\" atchesmay xttay ilesfay inay hetay asebay irectoryday, \"amegay/**.oggay\" atchesmay oggay ilesfay inay hetay amegay irectoryday oray anyay ofay itsay ubdirectoriessay, anday \"**.sdpay\" atchesmay sdpay ilesfay anywhereay inay hetay rojectpay."
|
||||
|
||||
# options.rpy:183
|
||||
# gui/game/options.rpy:183
|
||||
old "## Classify files as None to exclude them from the built distributions."
|
||||
new "## Lassifycay ilesfay asay Onenay otay excludeay hemtay omfray hetay uiltbay istributionsday."
|
||||
|
||||
# options.rpy:191
|
||||
# gui/game/options.rpy:191
|
||||
old "## To archive files, classify them as 'archive'."
|
||||
new "## Otay archiveay ilesfay, assifyclay hemtay asay 'archiveay'."
|
||||
|
||||
# options.rpy:196
|
||||
# gui/game/options.rpy:196
|
||||
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
|
||||
new "## Ilesfay atchingmay ocumentationday atternspay areay uplicatedday inay aay acmay appay uildbay, osay heytay appearay inay othbay hetay appay anday hetay ipzay ilefay."
|
||||
|
||||
# options.rpy:202
|
||||
# gui/game/options.rpy:202
|
||||
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
|
||||
new "## Etsay histay otay aay ringstay ontainingcay ouryay Ppleaay Eveloperday Diay Pplicationaay otay enableay odesigningcay onay hetay Acmay. Ebay uresay otay angechay itay otay ouryay ownay Ppleaay-issueday Diay."
|
||||
|
||||
# options.rpy:209
|
||||
# gui/game/options.rpy:209
|
||||
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## Aay Ooglegay Laypay icenselay eykay isay equiredray otay ownloadday expansionay ilesfay anday erformpay inay-appay urchasespay. Tiay ancay ebay oundfay onay hetay \"Ervicessay & Pisaay\" agepay ofay hetay Ooglegay Laypay eveloperday onsolecay."
|
||||
|
||||
# options.rpy:216
|
||||
# gui/game/options.rpy:216
|
||||
old "## The username and project name associated with an itch.io project, separated by a slash."
|
||||
new "## Hetay usernameay anday rojectpay amenay associateday ithway anay itchay.ioay rojectpay, eparatedsay ybay aay ashslay."
|
||||
|
||||
|
||||
@@ -1,675 +1,675 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# screens.rpy:9
|
||||
# gui/game/screens.rpy:9
|
||||
old "## Styles"
|
||||
new "## Tylessay"
|
||||
|
||||
# screens.rpy:81
|
||||
# gui/game/screens.rpy:81
|
||||
old "## In-game screens"
|
||||
new "## Niay-amegay creenssay"
|
||||
|
||||
# screens.rpy:85
|
||||
# gui/game/screens.rpy:85
|
||||
old "## Say screen"
|
||||
new "## Aysay creensay"
|
||||
|
||||
# screens.rpy:87
|
||||
# gui/game/screens.rpy:87
|
||||
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
|
||||
new "## Hetay aysay creensay isay useday otay isplayday ialogueday otay hetay ayerplay. Tiay akestay wotay arameterspay, howay anday hatway, hichway areay hetay amenay ofay hetay peakingsay aracterchay anday hetay exttay otay ebay isplayedday, espectivelyray. (Hetay howay arameterpay ancay ebay Onenay ifay onay amenay isay ivengay.)"
|
||||
|
||||
# screens.rpy:92
|
||||
# gui/game/screens.rpy:92
|
||||
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
|
||||
new "## Histay creensay ustmay reatecay aay exttay isplayableday ithway iday \"hatway\", asay Enray'Ypay usesay histay otay anagemay exttay isplayday. Tiay ancay alsoay reatecay isplayablesday ithway iday \"howay\" anday iday \"indowway\" otay applyay ylestay ropertiespay."
|
||||
|
||||
# screens.rpy:96
|
||||
# gui/game/screens.rpy:96
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#say"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#aysay"
|
||||
|
||||
# screens.rpy:114
|
||||
# gui/game/screens.rpy:114
|
||||
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
|
||||
new "## Fiay heretay'say aay idesay imageay, isplayday itay aboveay hetay exttay. Oday otnay isplayday onay hetay onephay ariantvay - heretay'say onay oomray."
|
||||
|
||||
# screens.rpy:120
|
||||
# gui/game/screens.rpy:120
|
||||
old "## Make the namebox available for styling through the Character object."
|
||||
new "## Akemay hetay ameboxnay availableay orfay ylingstay hroughtay hetay Haractercay objectay."
|
||||
|
||||
# screens.rpy:164
|
||||
# gui/game/screens.rpy:164
|
||||
old "## Input screen"
|
||||
new "## Nputiay creensay"
|
||||
|
||||
# screens.rpy:166
|
||||
# gui/game/screens.rpy:166
|
||||
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
|
||||
new "## Histay creensay isay useday otay isplayday enpyray.inputay. Hetay romptpay arameterpay isay useday otay asspay aay exttay romptpay inay."
|
||||
|
||||
# screens.rpy:169
|
||||
# gui/game/screens.rpy:169
|
||||
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
|
||||
new "## Histay creensay ustmay reatecay anay inputay isplayableday ithway iday \"inputay\" otay acceptay hetay ariousvay inputay arameterspay."
|
||||
|
||||
# screens.rpy:172
|
||||
# gui/game/screens.rpy:172
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#input"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#inputay"
|
||||
|
||||
# screens.rpy:199
|
||||
# gui/game/screens.rpy:199
|
||||
old "## Choice screen"
|
||||
new "## Hoicecay creensay"
|
||||
|
||||
# screens.rpy:201
|
||||
# gui/game/screens.rpy:201
|
||||
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
|
||||
new "## Histay creensay isay useday otay isplayday hetay inay-amegay oiceschay resentedpay ybay hetay enumay atementstay. Hetay oneay arameterpay, itemsay, isay aay istlay ofay objectsay, eachay ithway aptioncay anday actionay ieldsfay."
|
||||
|
||||
# screens.rpy:205
|
||||
# gui/game/screens.rpy:205
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#oicechay"
|
||||
|
||||
# screens.rpy:215
|
||||
# gui/game/screens.rpy:215
|
||||
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
|
||||
new "## Henway histay isay uetray, enumay aptionscay illway ebay pokensay ybay hetay arratornay. Henway alsefay, enumay aptionscay illway ebay isplayedday asay emptyay uttonsbay."
|
||||
|
||||
# screens.rpy:238
|
||||
# gui/game/screens.rpy:238
|
||||
old "## Quick Menu screen"
|
||||
new "## Uickqay Enumay creensay"
|
||||
|
||||
# screens.rpy:240
|
||||
# gui/game/screens.rpy:240
|
||||
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
|
||||
new "## Hetay uickqay enumay isay isplayedday inay-amegay otay rovidepay easyay accessay otay hetay outay-ofay-amegay enusmay."
|
||||
|
||||
# screens.rpy:245
|
||||
# gui/game/screens.rpy:245
|
||||
old "## Ensure this appears on top of other screens."
|
||||
new "## Nsureeay histay appearsay onay optay ofay otheray creenssay."
|
||||
|
||||
# screens.rpy:256
|
||||
# gui/game/screens.rpy:256
|
||||
old "Back"
|
||||
new "Ackbay"
|
||||
|
||||
# screens.rpy:257
|
||||
# gui/game/screens.rpy:257
|
||||
old "History"
|
||||
new "Istoryhay"
|
||||
|
||||
# screens.rpy:258
|
||||
# gui/game/screens.rpy:258
|
||||
old "Skip"
|
||||
new "Kipsay"
|
||||
|
||||
# screens.rpy:259
|
||||
# gui/game/screens.rpy:259
|
||||
old "Auto"
|
||||
new "Utoaay"
|
||||
|
||||
# screens.rpy:260
|
||||
# gui/game/screens.rpy:260
|
||||
old "Save"
|
||||
new "Avesay"
|
||||
|
||||
# screens.rpy:261
|
||||
# gui/game/screens.rpy:261
|
||||
old "Q.Save"
|
||||
new "Qay.Avesay"
|
||||
|
||||
# screens.rpy:262
|
||||
# gui/game/screens.rpy:262
|
||||
old "Q.Load"
|
||||
new "Qay.Oadlay"
|
||||
|
||||
# screens.rpy:263
|
||||
# gui/game/screens.rpy:263
|
||||
old "Prefs"
|
||||
new "Refspay"
|
||||
|
||||
# screens.rpy:266
|
||||
# gui/game/screens.rpy:266
|
||||
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
|
||||
new "## Histay odecay ensuresay hattay hetay uick_menuqay creensay isay isplayedday inay-amegay, heneverway hetay ayerplay ashay otnay explicitlyay iddenhay hetay interfaceay."
|
||||
|
||||
# screens.rpy:284
|
||||
# gui/game/screens.rpy:284
|
||||
old "## Main and Game Menu Screens"
|
||||
new "## Ainmay anday Amegay Enumay Creenssay"
|
||||
|
||||
# screens.rpy:287
|
||||
# gui/game/screens.rpy:287
|
||||
old "## Navigation screen"
|
||||
new "## Avigationnay creensay"
|
||||
|
||||
# screens.rpy:289
|
||||
# gui/game/screens.rpy:289
|
||||
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
|
||||
new "## Histay creensay isay includeday inay hetay ainmay anday amegay enusmay, anday rovidespay avigationnay otay otheray enusmay, anday otay artstay hetay amegay."
|
||||
|
||||
# screens.rpy:304
|
||||
# gui/game/screens.rpy:304
|
||||
old "Start"
|
||||
new "Tartsay"
|
||||
|
||||
# screens.rpy:312
|
||||
# gui/game/screens.rpy:312
|
||||
old "Load"
|
||||
new "Oadlay"
|
||||
|
||||
# screens.rpy:314
|
||||
# gui/game/screens.rpy:314
|
||||
old "Preferences"
|
||||
new "Referencespay"
|
||||
|
||||
# screens.rpy:318
|
||||
# gui/game/screens.rpy:318
|
||||
old "End Replay"
|
||||
new "Ndeay Eplayray"
|
||||
|
||||
# screens.rpy:322
|
||||
# gui/game/screens.rpy:322
|
||||
old "Main Menu"
|
||||
new "Ainmay Enumay"
|
||||
|
||||
# screens.rpy:324
|
||||
# gui/game/screens.rpy:324
|
||||
old "About"
|
||||
new "Boutaay"
|
||||
|
||||
# screens.rpy:328
|
||||
# gui/game/screens.rpy:328
|
||||
old "## Help isn't necessary or relevant to mobile devices."
|
||||
new "## Elphay isnay'tay ecessarynay oray elevantray otay obilemay evicesday."
|
||||
|
||||
# screens.rpy:329
|
||||
# gui/game/screens.rpy:329
|
||||
old "Help"
|
||||
new "Elphay"
|
||||
|
||||
# screens.rpy:331
|
||||
# gui/game/screens.rpy:331
|
||||
old "## The quit button is banned on iOS and unnecessary on Android."
|
||||
new "## Hetay uitqay uttonbay isay annedbay onay iOSay anday unnecessaryay onay Ndroidaay."
|
||||
|
||||
# screens.rpy:332
|
||||
# gui/game/screens.rpy:332
|
||||
old "Quit"
|
||||
new "Uitqay"
|
||||
|
||||
# screens.rpy:346
|
||||
# gui/game/screens.rpy:346
|
||||
old "## Main Menu screen"
|
||||
new "## Ainmay Enumay creensay"
|
||||
|
||||
# screens.rpy:348
|
||||
# gui/game/screens.rpy:348
|
||||
old "## Used to display the main menu when Ren'Py starts."
|
||||
new "## Seduay otay isplayday hetay ainmay enumay henway Enray'Ypay artsstay."
|
||||
|
||||
# screens.rpy:350
|
||||
# gui/game/screens.rpy:350
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#ainmay-enumay"
|
||||
|
||||
# screens.rpy:354
|
||||
# gui/game/screens.rpy:354
|
||||
old "## This ensures that any other menu screen is replaced."
|
||||
new "## Histay ensuresay hattay anyay otheray enumay creensay isay eplacedray."
|
||||
|
||||
# screens.rpy:361
|
||||
# gui/game/screens.rpy:361
|
||||
old "## This empty frame darkens the main menu."
|
||||
new "## Histay emptyay amefray arkensday hetay ainmay enumay."
|
||||
|
||||
# screens.rpy:365
|
||||
# gui/game/screens.rpy:365
|
||||
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
|
||||
new "## Hetay useay atementstay includesay anotheray creensay insideay histay oneay. Hetay actualay ontentscay ofay hetay ainmay enumay areay inay hetay avigationnay creensay."
|
||||
|
||||
# screens.rpy:408
|
||||
# gui/game/screens.rpy:408
|
||||
old "## Game Menu screen"
|
||||
new "## Amegay Enumay creensay"
|
||||
|
||||
# screens.rpy:410
|
||||
# gui/game/screens.rpy:410
|
||||
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
|
||||
new "## Histay ayslay outay hetay asicbay ommoncay ructurestay ofay aay amegay enumay creensay. Tiay'say alledcay ithway hetay creensay itletay, anday isplaysday hetay ackgroundbay, itletay, anday avigationnay."
|
||||
|
||||
# screens.rpy:413
|
||||
# gui/game/screens.rpy:413
|
||||
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
|
||||
new "## Hetay crollsay arameterpay ancay ebay Onenay, oray oneay ofay \"iewportvay\" oray \"pgridvay\". Henway histay creensay isay intendeday otay ebay useday ithway oneay oray oremay ildrenchay, hichway areay anscludedtray (acedplay) insideay itay."
|
||||
|
||||
# screens.rpy:431
|
||||
# gui/game/screens.rpy:431
|
||||
old "## Reserve space for the navigation section."
|
||||
new "## Eserveray pacesay orfay hetay avigationnay ectionsay."
|
||||
|
||||
# screens.rpy:473
|
||||
# gui/game/screens.rpy:473
|
||||
old "Return"
|
||||
new "Eturnray"
|
||||
|
||||
# screens.rpy:536
|
||||
# gui/game/screens.rpy:536
|
||||
old "## About screen"
|
||||
new "## Boutaay creensay"
|
||||
|
||||
# screens.rpy:538
|
||||
# gui/game/screens.rpy:538
|
||||
old "## This screen gives credit and copyright information about the game and Ren'Py."
|
||||
new "## Histay creensay ivesgay reditcay anday opyrightcay informationay aboutay hetay amegay anday Enray'Ypay."
|
||||
|
||||
# screens.rpy:541
|
||||
# gui/game/screens.rpy:541
|
||||
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
|
||||
new "## Heretay'say othingnay pecialsay aboutay histay creensay, anday encehay itay alsoay ervessay asay anay exampleay ofay owhay otay akemay aay ustomcay creensay."
|
||||
|
||||
# screens.rpy:548
|
||||
# gui/game/screens.rpy:548
|
||||
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
|
||||
new "## Histay useay atementstay includesay hetay ame_menugay creensay insideay histay oneay. Hetay boxvay ildchay isay hentay includeday insideay hetay iewportvay insideay hetay ame_menugay creensay."
|
||||
|
||||
# screens.rpy:558
|
||||
# gui/game/screens.rpy:558
|
||||
old "Version [config.version!t]\n"
|
||||
new "Ersionvay [config.version!t]\n"
|
||||
|
||||
# screens.rpy:560
|
||||
# gui/game/screens.rpy:560
|
||||
old "## gui.about is usually set in options.rpy."
|
||||
new "## uigay.aboutay isay usuallyay etsay inay optionsay.pyray."
|
||||
|
||||
# screens.rpy:564
|
||||
# gui/game/screens.rpy:564
|
||||
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
|
||||
new "Ademay ithway {a=https://www.renpy.org/}Enray'Ypay{/a} [renpy.version_only].\n\n[renpy.license!t]"
|
||||
|
||||
# screens.rpy:567
|
||||
# gui/game/screens.rpy:567
|
||||
old "## This is redefined in options.rpy to add text to the about screen."
|
||||
new "## Histay isay edefinedray inay optionsay.pyray otay adday exttay otay hetay aboutay creensay."
|
||||
|
||||
# screens.rpy:579
|
||||
# gui/game/screens.rpy:579
|
||||
old "## Load and Save screens"
|
||||
new "## Oadlay anday Avesay creenssay"
|
||||
|
||||
# screens.rpy:581
|
||||
# gui/game/screens.rpy:581
|
||||
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
|
||||
new "## Hesetay creenssay areay esponsibleray orfay ettinglay hetay ayerplay avesay hetay amegay anday oadlay itay againay. Incesay heytay areshay earlynay everythingay inay ommoncay, othbay areay implementeday inay ermstay ofay aay hirdtay creensay, ile_slotsfay."
|
||||
|
||||
# screens.rpy:585
|
||||
# gui/game/screens.rpy:585
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#avesay ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#oadlay"
|
||||
|
||||
# screens.rpy:604
|
||||
# gui/game/screens.rpy:604
|
||||
old "Page {}"
|
||||
new "Agepay {}"
|
||||
|
||||
# screens.rpy:604
|
||||
# gui/game/screens.rpy:604
|
||||
old "Automatic saves"
|
||||
new "Utomaticaay avessay"
|
||||
|
||||
# screens.rpy:604
|
||||
# gui/game/screens.rpy:604
|
||||
old "Quick saves"
|
||||
new "Uickqay avessay"
|
||||
|
||||
# screens.rpy:610
|
||||
# gui/game/screens.rpy:610
|
||||
old "## This ensures the input will get the enter event before any of the buttons do."
|
||||
new "## Histay ensuresay hetay inputay illway etgay hetay enteray eventay eforebay anyay ofay hetay uttonsbay oday."
|
||||
|
||||
# screens.rpy:614
|
||||
# gui/game/screens.rpy:614
|
||||
old "## The page name, which can be edited by clicking on a button."
|
||||
new "## Hetay agepay amenay, hichway ancay ebay editeday ybay ickingclay onay aay uttonbay."
|
||||
|
||||
# screens.rpy:626
|
||||
# gui/game/screens.rpy:626
|
||||
old "## The grid of file slots."
|
||||
new "## Hetay idgray ofay ilefay otsslay."
|
||||
|
||||
# screens.rpy:646
|
||||
# gui/game/screens.rpy:646
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%Aay, %Bay %day %Yay, %Hay:%May"
|
||||
|
||||
# screens.rpy:646
|
||||
# gui/game/screens.rpy:646
|
||||
old "empty slot"
|
||||
new "emptyay otslay"
|
||||
|
||||
# screens.rpy:654
|
||||
# gui/game/screens.rpy:654
|
||||
old "## Buttons to access other pages."
|
||||
new "## Uttonsbay otay accessay otheray agespay."
|
||||
|
||||
# screens.rpy:663
|
||||
# gui/game/screens.rpy:663
|
||||
old "<"
|
||||
new "<"
|
||||
|
||||
# screens.rpy:666
|
||||
# gui/game/screens.rpy:666
|
||||
old "{#auto_page}A"
|
||||
new "{#auto_page}Aay"
|
||||
|
||||
# screens.rpy:669
|
||||
# gui/game/screens.rpy:669
|
||||
old "{#quick_page}Q"
|
||||
new "{#quick_page}Qay"
|
||||
|
||||
# screens.rpy:671
|
||||
# gui/game/screens.rpy:671
|
||||
old "## range(1, 10) gives the numbers from 1 to 9."
|
||||
new "## angeray(1ay, 01ay) ivesgay hetay umbersnay omfray 1ay otay 9ay."
|
||||
|
||||
# screens.rpy:675
|
||||
# gui/game/screens.rpy:675
|
||||
old ">"
|
||||
new ">"
|
||||
|
||||
# screens.rpy:710
|
||||
# gui/game/screens.rpy:710
|
||||
old "## Preferences screen"
|
||||
new "## Referencespay creensay"
|
||||
|
||||
# screens.rpy:712
|
||||
# gui/game/screens.rpy:712
|
||||
old "## The preferences screen allows the player to configure the game to better suit themselves."
|
||||
new "## Hetay referencespay creensay allowsay hetay ayerplay otay onfigurecay hetay amegay otay etterbay uitsay hemselvestay."
|
||||
|
||||
# screens.rpy:715
|
||||
# gui/game/screens.rpy:715
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#referencespay"
|
||||
|
||||
# screens.rpy:732
|
||||
# gui/game/screens.rpy:732
|
||||
old "Display"
|
||||
new "Isplayday"
|
||||
|
||||
# screens.rpy:733
|
||||
# gui/game/screens.rpy:733
|
||||
old "Window"
|
||||
new "Indowway"
|
||||
|
||||
# screens.rpy:734
|
||||
# gui/game/screens.rpy:734
|
||||
old "Fullscreen"
|
||||
new "Ullscreenfay"
|
||||
|
||||
# screens.rpy:738
|
||||
# gui/game/screens.rpy:738
|
||||
old "Rollback Side"
|
||||
new "Ollbackray Idesay"
|
||||
|
||||
# screens.rpy:739
|
||||
# gui/game/screens.rpy:739
|
||||
old "Disable"
|
||||
new "Isableday"
|
||||
|
||||
# screens.rpy:740
|
||||
# gui/game/screens.rpy:740
|
||||
old "Left"
|
||||
new "Eftlay"
|
||||
|
||||
# screens.rpy:741
|
||||
# gui/game/screens.rpy:741
|
||||
old "Right"
|
||||
new "Ightray"
|
||||
|
||||
# screens.rpy:746
|
||||
# gui/game/screens.rpy:746
|
||||
old "Unseen Text"
|
||||
new "Nseenuay Exttay"
|
||||
|
||||
# screens.rpy:747
|
||||
# gui/game/screens.rpy:747
|
||||
old "After Choices"
|
||||
new "Fteraay Hoicescay"
|
||||
|
||||
# screens.rpy:748
|
||||
# gui/game/screens.rpy:748
|
||||
old "Transitions"
|
||||
new "Ransitionstay"
|
||||
|
||||
# screens.rpy:750
|
||||
# gui/game/screens.rpy:750
|
||||
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
|
||||
new "## Dditionalaay boxesvay ofay ypetay \"adio_prefray\" oray \"eck_prefchay\" ancay ebay addeday erehay, otay adday additionalay reatorcay-efinedday referencespay."
|
||||
|
||||
# screens.rpy:761
|
||||
# gui/game/screens.rpy:761
|
||||
old "Text Speed"
|
||||
new "Exttay Peedsay"
|
||||
|
||||
# screens.rpy:765
|
||||
# gui/game/screens.rpy:765
|
||||
old "Auto-Forward Time"
|
||||
new "Utoaay-Orwardfay Imetay"
|
||||
|
||||
# screens.rpy:772
|
||||
# gui/game/screens.rpy:772
|
||||
old "Music Volume"
|
||||
new "Usicmay Olumevay"
|
||||
|
||||
# screens.rpy:779
|
||||
# gui/game/screens.rpy:779
|
||||
old "Sound Volume"
|
||||
new "Oundsay Olumevay"
|
||||
|
||||
# screens.rpy:785
|
||||
# gui/game/screens.rpy:785
|
||||
old "Test"
|
||||
new "Esttay"
|
||||
|
||||
# screens.rpy:789
|
||||
# gui/game/screens.rpy:789
|
||||
old "Voice Volume"
|
||||
new "Oicevay Olumevay"
|
||||
|
||||
# screens.rpy:800
|
||||
# gui/game/screens.rpy:800
|
||||
old "Mute All"
|
||||
new "Utemay Llaay"
|
||||
|
||||
# screens.rpy:876
|
||||
# gui/game/screens.rpy:876
|
||||
old "## History screen"
|
||||
new "## Istoryhay creensay"
|
||||
|
||||
# screens.rpy:878
|
||||
# gui/game/screens.rpy:878
|
||||
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
|
||||
new "## Histay isay aay creensay hattay isplaysday hetay ialogueday istoryhay otay hetay ayerplay. Hileway heretay isnay'tay anythingay pecialsay aboutay histay creensay, itay oesday avehay otay accessay hetay ialogueday istoryhay oredstay inay history_list_ay."
|
||||
|
||||
# screens.rpy:882
|
||||
# gui/game/screens.rpy:882
|
||||
old "## https://www.renpy.org/doc/html/history.html"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/istoryhay.tmlhay"
|
||||
|
||||
# screens.rpy:888
|
||||
# gui/game/screens.rpy:888
|
||||
old "## Avoid predicting this screen, as it can be very large."
|
||||
new "## Voidaay redictingpay histay creensay, asay itay ancay ebay eryvay argelay."
|
||||
|
||||
# screens.rpy:899
|
||||
# gui/game/screens.rpy:899
|
||||
old "## This lays things out properly if history_height is None."
|
||||
new "## Histay ayslay hingstay outay roperlypay ifay istory_heighthay isay Onenay."
|
||||
|
||||
# screens.rpy:909
|
||||
# gui/game/screens.rpy:909
|
||||
old "## Take the color of the who text from the Character, if set."
|
||||
new "## Aketay hetay olorcay ofay hetay howay exttay omfray hetay Haractercay, ifay etsay."
|
||||
|
||||
# screens.rpy:918
|
||||
# gui/game/screens.rpy:918
|
||||
old "The dialogue history is empty."
|
||||
new "Hetay ialogueday istoryhay isay emptyay."
|
||||
|
||||
# screens.rpy:921
|
||||
# gui/game/screens.rpy:921
|
||||
old "## This determines what tags are allowed to be displayed on the history screen."
|
||||
new "## Histay eterminesday hatway agstay areay alloweday otay ebay isplayedday onay hetay istoryhay creensay."
|
||||
|
||||
# screens.rpy:968
|
||||
# gui/game/screens.rpy:968
|
||||
old "## Help screen"
|
||||
new "## Elphay creensay"
|
||||
|
||||
# screens.rpy:970
|
||||
# gui/game/screens.rpy:970
|
||||
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
|
||||
new "## Aay creensay hattay ivesgay informationay aboutay eykay anday ousemay indingsbay. Tiay usesay otheray creenssay (eyboard_helpkay, ouse_helpmay, anday amepad_helpgay) otay isplayday hetay actualay elphay."
|
||||
|
||||
# screens.rpy:989
|
||||
# gui/game/screens.rpy:989
|
||||
old "Keyboard"
|
||||
new "Eyboardkay"
|
||||
|
||||
# screens.rpy:990
|
||||
# gui/game/screens.rpy:990
|
||||
old "Mouse"
|
||||
new "Ousemay"
|
||||
|
||||
# screens.rpy:993
|
||||
# gui/game/screens.rpy:993
|
||||
old "Gamepad"
|
||||
new "Amepadgay"
|
||||
|
||||
# screens.rpy:1006
|
||||
# gui/game/screens.rpy:1006
|
||||
old "Enter"
|
||||
new "Ntereay"
|
||||
|
||||
# screens.rpy:1007
|
||||
# gui/game/screens.rpy:1007
|
||||
old "Advances dialogue and activates the interface."
|
||||
new "Dvancesaay ialogueday anday activatesay hetay interfaceay."
|
||||
|
||||
# screens.rpy:1010
|
||||
# gui/game/screens.rpy:1010
|
||||
old "Space"
|
||||
new "Pacesay"
|
||||
|
||||
# screens.rpy:1011
|
||||
# gui/game/screens.rpy:1011
|
||||
old "Advances dialogue without selecting choices."
|
||||
new "Dvancesaay ialogueday ithoutway electingsay oiceschay."
|
||||
|
||||
# screens.rpy:1014
|
||||
# gui/game/screens.rpy:1014
|
||||
old "Arrow Keys"
|
||||
new "Rrowaay Eyskay"
|
||||
|
||||
# screens.rpy:1015
|
||||
# gui/game/screens.rpy:1015
|
||||
old "Navigate the interface."
|
||||
new "Avigatenay hetay interfaceay."
|
||||
|
||||
# screens.rpy:1018
|
||||
# gui/game/screens.rpy:1018
|
||||
old "Escape"
|
||||
new "Scapeeay"
|
||||
|
||||
# screens.rpy:1019
|
||||
# gui/game/screens.rpy:1019
|
||||
old "Accesses the game menu."
|
||||
new "Ccessesaay hetay amegay enumay."
|
||||
|
||||
# screens.rpy:1022
|
||||
# gui/game/screens.rpy:1022
|
||||
old "Ctrl"
|
||||
new "Trlcay"
|
||||
|
||||
# screens.rpy:1023
|
||||
# gui/game/screens.rpy:1023
|
||||
old "Skips dialogue while held down."
|
||||
new "Kipssay ialogueday hileway eldhay ownday."
|
||||
|
||||
# screens.rpy:1026
|
||||
# gui/game/screens.rpy:1026
|
||||
old "Tab"
|
||||
new "Abtay"
|
||||
|
||||
# screens.rpy:1027
|
||||
# gui/game/screens.rpy:1027
|
||||
old "Toggles dialogue skipping."
|
||||
new "Ogglestay ialogueday kippingsay."
|
||||
|
||||
# screens.rpy:1030
|
||||
# gui/game/screens.rpy:1030
|
||||
old "Page Up"
|
||||
new "Agepay Puay"
|
||||
|
||||
# screens.rpy:1031
|
||||
# gui/game/screens.rpy:1031
|
||||
old "Rolls back to earlier dialogue."
|
||||
new "Ollsray ackbay otay earlieray ialogueday."
|
||||
|
||||
# screens.rpy:1034
|
||||
# gui/game/screens.rpy:1034
|
||||
old "Page Down"
|
||||
new "Agepay Ownday"
|
||||
|
||||
# screens.rpy:1035
|
||||
# gui/game/screens.rpy:1035
|
||||
old "Rolls forward to later dialogue."
|
||||
new "Ollsray orwardfay otay aterlay ialogueday."
|
||||
|
||||
# screens.rpy:1039
|
||||
# gui/game/screens.rpy:1039
|
||||
old "Hides the user interface."
|
||||
new "Ideshay hetay useray interfaceay."
|
||||
|
||||
# screens.rpy:1043
|
||||
# gui/game/screens.rpy:1043
|
||||
old "Takes a screenshot."
|
||||
new "Akestay aay creenshotsay."
|
||||
|
||||
# screens.rpy:1047
|
||||
# gui/game/screens.rpy:1047
|
||||
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
|
||||
new "Ogglestay assistiveay {a=https://www.renpy.org/l/voicing}elfsay-oicingvay{/a}."
|
||||
|
||||
# screens.rpy:1053
|
||||
# gui/game/screens.rpy:1053
|
||||
old "Left Click"
|
||||
new "Eftlay Lickcay"
|
||||
|
||||
# screens.rpy:1057
|
||||
# gui/game/screens.rpy:1057
|
||||
old "Middle Click"
|
||||
new "Iddlemay Lickcay"
|
||||
|
||||
# screens.rpy:1061
|
||||
# gui/game/screens.rpy:1061
|
||||
old "Right Click"
|
||||
new "Ightray Lickcay"
|
||||
|
||||
# screens.rpy:1065
|
||||
# gui/game/screens.rpy:1065
|
||||
old "Mouse Wheel Up\nClick Rollback Side"
|
||||
new "Ousemay Heelway Puay\nLickcay Ollbackray Idesay"
|
||||
|
||||
# screens.rpy:1069
|
||||
# gui/game/screens.rpy:1069
|
||||
old "Mouse Wheel Down"
|
||||
new "Ousemay Heelway Ownday"
|
||||
|
||||
# screens.rpy:1076
|
||||
# gui/game/screens.rpy:1076
|
||||
old "Right Trigger\nA/Bottom Button"
|
||||
new "Ightray Riggertay\nAay/Ottombay Uttonbay"
|
||||
|
||||
# screens.rpy:1080
|
||||
# gui/game/screens.rpy:1080
|
||||
old "Left Trigger\nLeft Shoulder"
|
||||
new "Eftlay Riggertay\nEftlay Houldersay"
|
||||
|
||||
# screens.rpy:1084
|
||||
# gui/game/screens.rpy:1084
|
||||
old "Right Shoulder"
|
||||
new "Ightray Houldersay"
|
||||
|
||||
# screens.rpy:1089
|
||||
# gui/game/screens.rpy:1089
|
||||
old "D-Pad, Sticks"
|
||||
new "Day-Adpay, Tickssay"
|
||||
|
||||
# screens.rpy:1093
|
||||
# gui/game/screens.rpy:1093
|
||||
old "Start, Guide"
|
||||
new "Tartsay, Uidegay"
|
||||
|
||||
# screens.rpy:1097
|
||||
# gui/game/screens.rpy:1097
|
||||
old "Y/Top Button"
|
||||
new "Yay/Optay Uttonbay"
|
||||
|
||||
# screens.rpy:1100
|
||||
# gui/game/screens.rpy:1100
|
||||
old "Calibrate"
|
||||
new "Alibratecay"
|
||||
|
||||
# screens.rpy:1128
|
||||
# gui/game/screens.rpy:1128
|
||||
old "## Additional screens"
|
||||
new "## Dditionalaay creenssay"
|
||||
|
||||
# screens.rpy:1132
|
||||
# gui/game/screens.rpy:1132
|
||||
old "## Confirm screen"
|
||||
new "## Onfirmcay creensay"
|
||||
|
||||
# screens.rpy:1134
|
||||
# gui/game/screens.rpy:1134
|
||||
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
|
||||
new "## Hetay onfirmcay creensay isay alledcay henway Enray'Ypay antsway otay askay hetay ayerplay aay esyay oray onay uestionqay."
|
||||
|
||||
# screens.rpy:1137
|
||||
# gui/game/screens.rpy:1137
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#onfirmcay"
|
||||
|
||||
# screens.rpy:1141
|
||||
# gui/game/screens.rpy:1141
|
||||
old "## Ensure other screens do not get input while this screen is displayed."
|
||||
new "## Nsureeay otheray creenssay oday otnay etgay inputay hileway histay creensay isay isplayedday."
|
||||
|
||||
# screens.rpy:1165
|
||||
# gui/game/screens.rpy:1165
|
||||
old "Yes"
|
||||
new "Esyay"
|
||||
|
||||
# screens.rpy:1166
|
||||
# gui/game/screens.rpy:1166
|
||||
old "No"
|
||||
new "Onay"
|
||||
|
||||
# screens.rpy:1168
|
||||
# gui/game/screens.rpy:1168
|
||||
old "## Right-click and escape answer \"no\"."
|
||||
new "## Ightray-ickclay anday escapeay answeray \"onay\"."
|
||||
|
||||
# screens.rpy:1195
|
||||
# gui/game/screens.rpy:1195
|
||||
old "## Skip indicator screen"
|
||||
new "## Kipsay indicatoray creensay"
|
||||
|
||||
# screens.rpy:1197
|
||||
# gui/game/screens.rpy:1197
|
||||
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
|
||||
new "## Hetay kip_indicatorsay creensay isay isplayedday otay indicateay hattay kippingsay isay inay rogresspay."
|
||||
|
||||
# screens.rpy:1200
|
||||
# gui/game/screens.rpy:1200
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#kipsay-indicatoray"
|
||||
|
||||
# screens.rpy:1212
|
||||
# gui/game/screens.rpy:1212
|
||||
old "Skipping"
|
||||
new "Kippingsay"
|
||||
|
||||
# screens.rpy:1219
|
||||
# gui/game/screens.rpy:1219
|
||||
old "## This transform is used to blink the arrows one after another."
|
||||
new "## Histay ansformtray isay useday otay inkblay hetay arrowsay oneay afteray anotheray."
|
||||
|
||||
# screens.rpy:1246
|
||||
# gui/game/screens.rpy:1246
|
||||
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
|
||||
new "## Eway avehay otay useay aay ontfay hattay ashay hetay Lackbay Ightray-Ointingpay Mallsay Riangletay yphglay inay itay."
|
||||
|
||||
# screens.rpy:1251
|
||||
# gui/game/screens.rpy:1251
|
||||
old "## Notify screen"
|
||||
new "## Otifynay creensay"
|
||||
|
||||
# screens.rpy:1253
|
||||
# gui/game/screens.rpy:1253
|
||||
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
|
||||
new "## Hetay otifynay creensay isay useday otay owshay hetay ayerplay aay essagemay. (Orfay exampleay, henway hetay amegay isay uicksavedqay oray aay creenshotsay ashay eenbay akentay.)"
|
||||
|
||||
# screens.rpy:1256
|
||||
# gui/game/screens.rpy:1256
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#otifynay-creensay"
|
||||
|
||||
# screens.rpy:1290
|
||||
# gui/game/screens.rpy:1290
|
||||
old "## NVL screen"
|
||||
new "## Vlnay creensay"
|
||||
|
||||
# screens.rpy:1292
|
||||
# gui/game/screens.rpy:1292
|
||||
old "## This screen is used for NVL-mode dialogue and menus."
|
||||
new "## Histay creensay isay useday orfay Vlnay-odemay ialogueday anday enusmay."
|
||||
|
||||
# screens.rpy:1294
|
||||
# gui/game/screens.rpy:1294
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#vlnay"
|
||||
|
||||
# screens.rpy:1305
|
||||
# gui/game/screens.rpy:1305
|
||||
old "## Displays dialogue in either a vpgrid or the vbox."
|
||||
new "## Isplaysday ialogueday inay eitheray aay pgridvay oray hetay boxvay."
|
||||
|
||||
# screens.rpy:1318
|
||||
# gui/game/screens.rpy:1318
|
||||
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
|
||||
new "## Isplaysday hetay enumay, ifay ivengay. Hetay enumay aymay ebay isplayedday incorrectlyay ifay onfigcay.arrator_menunay isay etsay otay Ruetay, asay itay isay aboveay."
|
||||
|
||||
# screens.rpy:1348
|
||||
# gui/game/screens.rpy:1348
|
||||
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
|
||||
new "## Histay ontrolscay hetay aximummay umbernay ofay Vlnay-odemay entriesay hattay ancay ebay isplayedday atay onceay."
|
||||
|
||||
# screens.rpy:1410
|
||||
# gui/game/screens.rpy:1410
|
||||
old "## Mobile Variants"
|
||||
new "## Obilemay Ariantsvay"
|
||||
|
||||
# screens.rpy:1417
|
||||
# gui/game/screens.rpy:1417
|
||||
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
|
||||
new "## Incesay aay ousemay aymay otnay ebay resentpay, eway eplaceray hetay uickqay enumay ithway aay ersionvay hattay usesay ewerfay anday iggerbay uttonsbay hattay areay easieray otay ouchtay."
|
||||
|
||||
# screens.rpy:1435
|
||||
# gui/game/screens.rpy:1435
|
||||
old "Menu"
|
||||
new "Enumay"
|
||||
|
||||
|
||||
@@ -61,8 +61,8 @@
|
||||
new "ERROR"
|
||||
|
||||
# game/interface.rpy:328
|
||||
old "While [what!q], an error occured:"
|
||||
new "Enquanto [what!q], ocorreu um erro:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Enquanto [what!qt], ocorreu um erro:"
|
||||
|
||||
# game/interface.rpy:329
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -820,3 +820,63 @@ translate russian strings:
|
||||
# _developer\developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "Показать удалённые"
|
||||
|
||||
# 00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "Переопределение шрифта"
|
||||
|
||||
# 00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "По умолчанию"
|
||||
|
||||
# 00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# 00accessibility.rpy:88
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# 00accessibility.rpy:94
|
||||
old "Text Size Scaling"
|
||||
new "Масштабирование размера текста"
|
||||
|
||||
# 00accessibility.rpy:100
|
||||
old "Reset"
|
||||
new "Сбросить"
|
||||
|
||||
# 00accessibility.rpy:105
|
||||
old "Line Spacing Scaling"
|
||||
new "Масштабирование межстрочного интервала"
|
||||
|
||||
# 00accessibility.rpy:117
|
||||
old "Self-Voicing"
|
||||
new "Озвучка через синтезатор речи"
|
||||
|
||||
# 00accessibility.rpy:121
|
||||
old "Off"
|
||||
new "Выключить"
|
||||
|
||||
# 00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "Преобразование текста в речь"
|
||||
|
||||
# 00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
new "Из буфера обмена"
|
||||
|
||||
# 00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "преобразование шрифта"
|
||||
|
||||
# 00preferences.rpy:433
|
||||
old "font size"
|
||||
new "размер шрифта"
|
||||
|
||||
# 00preferences.rpy:441
|
||||
old "font line spacing"
|
||||
new "межстрочный интервал"
|
||||
|
||||
# renpy/common/00accessibility.rpy:191
|
||||
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
|
||||
new "Параметры этого меню предназначены для увеличения доступности. Они могут работать не со всеми играми, а некоторые комбинации опций могут сделать игру отображаемой некорректно. Это не проблема с игрой или движком. Для достижения наилучших результатов при изменении шрифтов старайтесь сохранять размер текста таким, каким он был изначально."
|
||||
|
||||
@@ -65,3 +65,10 @@ translate russian strings:
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <label>: прыжок на метку"
|
||||
|
||||
# 00console.rpy:685
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "short: Сокращённое представление обектов (repr) в консоли (по умолчанию)."
|
||||
|
||||
# 00console.rpy:690
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: Выводить полное представление обектов (repr) в консоли."
|
||||
|
||||
@@ -213,3 +213,26 @@ translate russian strings:
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "Копирует файл errors.txt в буфер обмена."
|
||||
|
||||
# _errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "Скопировать как BBCode"
|
||||
|
||||
# _errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Копирует файл traceback.txt в буфер обмена как BBCode для форумов типа https://lemmasoft.renai.us/."
|
||||
|
||||
# _errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "Скопировать как Markdown"
|
||||
|
||||
# _errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "Копирует файл traceback.txt в буфер обмена как Markdown для Дискорда."
|
||||
|
||||
# _errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Копирует файл errors.txt в буфер обмена как BBCode для форумов типа https://lemmasoft.renai.us/."
|
||||
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "Копирует файл errors.txt в буфер обмена как Markdown для Дискорда."
|
||||
|
||||
@@ -362,7 +362,7 @@ translate russian strings:
|
||||
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."
|
||||
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
|
||||
new "Судя по всему, версия Java на вашем компьютере - не JDK 8, единственная версия, поддерживаемая 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
|
||||
@@ -1508,3 +1508,99 @@ translate russian strings:
|
||||
# updater.rpy:188
|
||||
old "Fetching the list of update channels"
|
||||
new "Запрашиваю список каналов обновления"
|
||||
|
||||
# androidstrings.rpy:20
|
||||
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
|
||||
new "Версия arm64-v8a работает на новых Android устройствах, версия armeabi-v7a требуется для старых устройств, а версия x86_64 требуется для симуляторов и хромбуков."
|
||||
|
||||
# front_page.rpy:252
|
||||
old "Web"
|
||||
new "Веб-инструменты"
|
||||
|
||||
# game/front_page.rpy:252
|
||||
old "(Beta)"
|
||||
new "(Бета)"
|
||||
|
||||
# interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
new "В процессе выполнения \"[what!qt]\" произошла ошибка:"
|
||||
|
||||
# interface.rpy:394
|
||||
old "[exception!q]"
|
||||
new "[exception!q]"
|
||||
|
||||
# itch.rpy:43
|
||||
old "Downloading the itch.io butler."
|
||||
new "Загрузка itch.io помошника"
|
||||
|
||||
# web.rpy:118
|
||||
old "Web: [project.current.display_name!q]"
|
||||
new "Web: [project.current.display_name!q]"
|
||||
|
||||
# web.rpy:148
|
||||
old "Build Web Application"
|
||||
new "Построить приложение для сети"
|
||||
|
||||
# web.rpy:149
|
||||
old "Build and Open in Browser"
|
||||
new "Построить и открыть в браузере"
|
||||
|
||||
# web.rpy:150
|
||||
old "Open without Build"
|
||||
new "Открыть без постройки"
|
||||
|
||||
# web.rpy:154
|
||||
old "Support:"
|
||||
new "Поддержка:"
|
||||
|
||||
# web.rpy:162
|
||||
old "RenPyWeb Home"
|
||||
new "RenPyWeb главная страница"
|
||||
|
||||
# web.rpy:163
|
||||
old "Beuc's Patreon"
|
||||
new "Патреон Beuc"
|
||||
|
||||
# web.rpy:181
|
||||
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
|
||||
new "Веб-приложения Ren'Py требуют, чтобы вся игра была загружена на компьютер игрока, прежде чем она запуститься."
|
||||
|
||||
# web.rpy:185
|
||||
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
|
||||
new "Текущие ограничения веб-платформы означают, что загрузка больших изображений, аудиофайлов или фильмов может привести к сбоям звука или частоты смены кадров, а также к снижению производительности в целом."
|
||||
|
||||
# web.rpy:194
|
||||
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
|
||||
new "Перед упаковкой веб-приложений вам необходимо загрузить RenPyWeb, веб-поддержку Ren'Py. Вы хотите загрузить RenPyWeb прямо сейчас?"
|
||||
|
||||
# choose_theme.rpy:507
|
||||
old "changing the theme"
|
||||
new "смена темы"
|
||||
|
||||
# gui7.rpy:429
|
||||
old "creating a new project"
|
||||
new "создание нового проекта"
|
||||
|
||||
# gui7.rpy:433
|
||||
old "activating the new project"
|
||||
new "активация нового проекта"
|
||||
|
||||
# interface.rpy:372
|
||||
old "opening the log file"
|
||||
new "открытие лог-файла"
|
||||
|
||||
# updater.rpy:194
|
||||
old "downloading the list of update channels"
|
||||
new "загрузка списка каналов обновления"
|
||||
|
||||
# updater.rpy:198
|
||||
old "parsing the list of update channels"
|
||||
new "разбор списка каналов обновления"
|
||||
|
||||
# game/web.rpy:150
|
||||
old "Open in Browser"
|
||||
new "Открыть в браузере"
|
||||
|
||||
# game/web.rpy:151
|
||||
old "Open build directory"
|
||||
new "Открыть папку сборки"
|
||||
|
||||
@@ -158,8 +158,8 @@ translate russian strings:
|
||||
new "Помощь"
|
||||
|
||||
# screens.rpy:331
|
||||
old "## The quit button is banned on iOS and unnecessary on Android."
|
||||
new "## Кнопка выхода блокирована в iOS и не нужна на Android."
|
||||
old "## The quit button is banned on iOS and unnecessary on Android and Web."
|
||||
new "## Кнопка выхода блокирована в iOS и не нужна на Android и в веб-версии."
|
||||
|
||||
# screens.rpy:332
|
||||
old "Quit"
|
||||
@@ -672,4 +672,3 @@ translate russian strings:
|
||||
# screens.rpy:1431
|
||||
old "Menu"
|
||||
new "Меню"
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Monday"
|
||||
@@ -155,7 +154,7 @@ translate spanish strings:
|
||||
|
||||
# 00action_file.rpy:237
|
||||
old "%b %d, %H:%M"
|
||||
new "%d %b, %H:%M"
|
||||
new "%d de %b, %H:%M"
|
||||
|
||||
# 00action_file.rpy:344
|
||||
old "Save slot %s: [text]"
|
||||
@@ -648,3 +647,94 @@ translate spanish strings:
|
||||
# 00gallery.rpy:596
|
||||
old "return"
|
||||
new "volver"
|
||||
|
||||
translate spanish strings:
|
||||
|
||||
# 00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "Cambiar Fuente"
|
||||
|
||||
# 00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "por Defecto"
|
||||
|
||||
# 00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# 00accessibility.rpy:88
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# 00accessibility.rpy:94
|
||||
old "Text Size Scaling"
|
||||
new "Escala del tamaño del texto"
|
||||
|
||||
# 00accessibility.rpy:100
|
||||
old "Reset"
|
||||
new "Reiniciar"
|
||||
|
||||
# 00accessibility.rpy:105
|
||||
old "Line Spacing Scaling"
|
||||
new "Escala del espacio de línea"
|
||||
|
||||
# 00accessibility.rpy:117
|
||||
old "Self-Voicing"
|
||||
new "Voz-automática"
|
||||
|
||||
# 00accessibility.rpy:121
|
||||
old "Off"
|
||||
new "Apagado"
|
||||
|
||||
# 00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "Texto a voz"
|
||||
|
||||
# 00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
new "Potapapeles"
|
||||
|
||||
# 00accessibility.rpy:133
|
||||
old "Debug"
|
||||
new "Depurar"
|
||||
|
||||
# 00action_file.rpy:434
|
||||
old "Load slot %s: [text]"
|
||||
new "Cargar ranura %s: [text]"
|
||||
|
||||
# 00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "transformación de fuente"
|
||||
|
||||
# 00preferences.rpy:433
|
||||
old "font size"
|
||||
new "tamaño de fuente"
|
||||
|
||||
# 00preferences.rpy:441
|
||||
old "font line spacing"
|
||||
new "fuente de espacio de líneas"
|
||||
|
||||
# _developer\developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "Atrubutos de Imagen"
|
||||
|
||||
# _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:154
|
||||
old "Hide deleted"
|
||||
new "Oculultar borrados"
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "Mostrar borrados"
|
||||
|
||||
# renpy/common/00accessibility.rpy:146
|
||||
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
|
||||
new "Las opciones en este menú están destinadas a mejorar la accesibilidad. Es posible que no funcionen con todos los juegos, y algunas combinaciones de opciones pueden hacer que el juego no se pueda jugar. Esto no es un problema con el juego o el motor. Para obtener los mejores resultados al cambiar las fuentes, intente mantener el tamaño del texto igual al original."
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# _developer/developer.rpym:38
|
||||
old "Developer Menu"
|
||||
@@ -188,3 +187,12 @@ translate spanish strings:
|
||||
# 00console.rpy:639
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <label>: salta a la etiqueta"
|
||||
|
||||
# 00console.rpy:680
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "short: Acorta la representación de los objetos en la consola (predeterminado)."
|
||||
|
||||
# 00console.rpy:685
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: imprime la representación completa de los objetos en la consola."
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# 00gltest.rpy:70
|
||||
old "Renderer"
|
||||
@@ -212,3 +211,28 @@ translate spanish strings:
|
||||
# _errorhandling.rpym:667
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "Copia el archivo errors.txt al portapapeles."
|
||||
|
||||
# _errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "Copiar BBCode"
|
||||
|
||||
# _errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Copia el archivo traceback.txt en el portapapeles como BBcode para foros como https://lemmasoft.renai.us/."
|
||||
|
||||
# _errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "Copiar Markdown"
|
||||
|
||||
# _errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "Copia el archivo traceback.txt al portapapeles como Markdown paara Discord."
|
||||
|
||||
# _errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Copia el archivo errors.txt en el portapapeles como BBcode para foros como https://lemmasoft.renai.us/."
|
||||
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "Copia el archivo errors.txt al portapapeles como Markdown para Discord."
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# gui.rpy:2
|
||||
old "## Initialization"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# about.rpy:39
|
||||
old "[version!q]"
|
||||
@@ -363,7 +362,7 @@ translate spanish strings:
|
||||
|
||||
# dmgcheck.rpy:50
|
||||
old "This is probably because Ren'Py is running directly from a Macintosh drive image. To fix this, quit this launcher, copy the entire %s folder somewhere else on your computer, and run Ren'Py again."
|
||||
new "Esto sucede probablemente porque Ren'Py se ejecuta directamente desde una imagen de disco Macintosh. Cierra este lanzador, copia toda la carpeta %s en otro lugar del ordenador y ejecuta Ren'Py de nuevo."
|
||||
new "Esto sucede probablemente porque Ren'Py se ejecuta directamente desde una imagen de disco Macintosh. Cierra este launcher, copia toda la carpeta %s en otro lugar del ordenador y ejecuta Ren'Py de nuevo."
|
||||
|
||||
# editor.rpy:152
|
||||
old "(Recommended) A modern and approachable text editor."
|
||||
@@ -875,7 +874,7 @@ translate spanish strings:
|
||||
|
||||
# navigation.rpy:204
|
||||
old "TODOs"
|
||||
new "TODO"
|
||||
new "TODOs"
|
||||
|
||||
# navigation.rpy:243
|
||||
old "+ Add script file"
|
||||
@@ -915,7 +914,7 @@ translate spanish strings:
|
||||
|
||||
# new_project.rpy:71
|
||||
old "You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."
|
||||
new "Vas a crear un proyecto en idioma [new_project_language]. Cambia el idioma del lanzador en preferencias para crear un proyecto en otro idioma."
|
||||
new "Vas a crear un proyecto en idioma [new_project_language]. Cambia el idioma del launcher en preferencias para crear un proyecto en otro idioma."
|
||||
|
||||
# new_project.rpy:79
|
||||
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."
|
||||
@@ -1264,3 +1263,390 @@ translate spanish strings:
|
||||
# updater.rpy:195
|
||||
old "Proceed"
|
||||
new "Continuar"
|
||||
|
||||
translate spanish strings:
|
||||
|
||||
# game/add_file.rpy:37
|
||||
old "The file name may not be empty."
|
||||
new "El nombre del archivo no puede estar vacío."
|
||||
|
||||
# game/android.rpy:31
|
||||
old "A 64-bit/x64 Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
|
||||
new "Se requiere un kit de desarrollo Java 8 de 64 bits/x64 para construir paquetes de Android en Windows. El JDK es diferente del JRE, por lo que es posible que tengas Java sin el JDK.\n\nPor favor, {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}descarga e instala el JDK{/a}, luego reinicie el launcher de Ren'Py."
|
||||
|
||||
# game/android.rpy:50
|
||||
old "Selects the Debug build, which can be accessed through Android Studio. Changing between debug and release builds requires an uninstall from your device."
|
||||
new "Selecciona la versión de depuración, a la que se puedes acceder a través de Android Studio. Cambiar entre las compilaciones de depuración y de versión requiere una desinstalación de su dispositivo."
|
||||
|
||||
# game/android.rpy:51
|
||||
old "Selects the Release build, which can be uploaded to stores. Changing between debug and release builds requires an uninstall from your device."
|
||||
new "Selecciona la versión de lanzamiento, que se puede cargar en las tiendas. Cambiar entre las compilaciones de depuración y de versión requiere una desinstalación de su dispositivo."
|
||||
|
||||
# game/androidstrings.rpy:7
|
||||
old "{} is not a directory."
|
||||
new "{} no es un directorio"
|
||||
|
||||
# game/androidstrings.rpy:8
|
||||
old "{} does not contain a Ren'Py game."
|
||||
new "{} no contiene un juego de Ren'Py."
|
||||
|
||||
# game/androidstrings.rpy:9
|
||||
old "Run configure before attempting to build the app."
|
||||
new "Ejecute configurar antes de intentar construir la aplicación."
|
||||
|
||||
# game/androidstrings.rpy:10
|
||||
old "Google Play support is enabled, but build.google_play_key is not defined."
|
||||
new "El soporte de Google Play está habilitado, pero build.google_play_key no está definido."
|
||||
|
||||
# game/androidstrings.rpy:11
|
||||
old "Updating project."
|
||||
new "Actualizando proyecto"
|
||||
|
||||
# game/androidstrings.rpy:12
|
||||
old "Creating assets directory."
|
||||
new "Creando directorio de recursos."
|
||||
|
||||
# game/androidstrings.rpy:13
|
||||
old "Creating expansion file."
|
||||
new "Creando archivo de expansión."
|
||||
|
||||
# game/androidstrings.rpy:14
|
||||
old "Packaging internal data."
|
||||
new "Empaquetando datos internos."
|
||||
|
||||
# game/androidstrings.rpy:15
|
||||
old "I'm using Gradle to build the package."
|
||||
new "Estoy usando Gradle para construir el paquete."
|
||||
|
||||
# game/androidstrings.rpy:16
|
||||
old "Uploading expansion file."
|
||||
new "Subiendo archivo de expansión."
|
||||
|
||||
# game/androidstrings.rpy:17
|
||||
old "The build seems to have failed."
|
||||
new "La construcción parece haber fallado."
|
||||
|
||||
# game/androidstrings.rpy:18
|
||||
old "Launching app."
|
||||
new "Lanzando app."
|
||||
|
||||
# game/androidstrings.rpy:19
|
||||
old "The build seems to have succeeded."
|
||||
new "La construcción parece haber tenido éxito."
|
||||
|
||||
# game/androidstrings.rpy:20
|
||||
old "The arm64-v8a version works on newer Android devices, the armeabi-v7a version works on older devices, and the x86_64 version works on the simulator and chromebooks."
|
||||
new "La versión de arm64-v8a funciona en dispositivos Android más nuevos, la versión de armeabi-v7a funciona en dispositivos más antiguos y la versión x86_64 funciona en el simulador y chromebooks."
|
||||
|
||||
# game/androidstrings.rpy:21
|
||||
old "What is the full name of your application? This name will appear in the list of installed applications."
|
||||
new "¿Cuál es el nombre completo de su aplicación? Este nombre aparecerá en la lista de aplicaciones instaladas."
|
||||
|
||||
# game/androidstrings.rpy:22
|
||||
old "What is the short name of your application? This name will be used in the launcher, and for application shortcuts."
|
||||
new "¿Cuál es el nombre corto de su aplicación? Este nombre se utilizará en el launcher y para los accesos directos de aplicaciones."
|
||||
|
||||
# game/androidstrings.rpy:23
|
||||
old "What is the name of the package?\n\nThis is usually of the form com.domain.program or com.domain.email.program. It may only contain ASCII letters and dots. It must contain at least one dot."
|
||||
new "¿Cuál es el nombre del paquete?\n\nEsto suele tener la forma com.dominio.programa o com.dominio.correo.programa. Solo puede contener letras y puntos ASCII. Debe contener al menos un punto."
|
||||
|
||||
# game/androidstrings.rpy:24
|
||||
old "The package name may not be empty."
|
||||
new "El nombre del paquete no puede estar vacío."
|
||||
|
||||
# game/androidstrings.rpy:25
|
||||
old "The package name may not contain spaces."
|
||||
new "El nombre del paquete no puede contener espacios."
|
||||
|
||||
# game/androidstrings.rpy:26
|
||||
old "The package name must contain at least one dot."
|
||||
new "El nombre del paquete debe contener al menos un punto."
|
||||
|
||||
# game/androidstrings.rpy:27
|
||||
old "The package name may not contain two dots in a row, or begin or end with a dot."
|
||||
new "El nombre del paquete no puede contener dos puntos en una fila, o comenzar o terminar con un punto."
|
||||
|
||||
# game/androidstrings.rpy:28
|
||||
old "Each part of the package name must start with a letter, and contain only letters, numbers, and underscores."
|
||||
new "Cada parte del nombre del paquete debe comenzar con una letra y contener solo letras, números y guiones bajos."
|
||||
|
||||
# game/androidstrings.rpy:29
|
||||
old "{} is a Java keyword, and can't be used as part of a package name."
|
||||
new "{} es una palabra clave de Java y no se puede utilizar como parte de un nombre de paquete."
|
||||
|
||||
# game/androidstrings.rpy:30
|
||||
old "What is the application's version?\n\nThis should be the human-readable version that you would present to a person. It must contain only numbers and dots."
|
||||
new "¿Cuál es la versión de la aplicación?\n\nEsta debe ser la versión legible para el ser humano que presentarías a una persona. Debe contener solo números y puntos."
|
||||
|
||||
# game/androidstrings.rpy:31
|
||||
old "The version number must contain only numbers and dots."
|
||||
new "El número de versión debe contener solo números y puntos."
|
||||
|
||||
# game/androidstrings.rpy:32
|
||||
old "What is the version code?\n\nThis must be a positive integer number, and the value should increase between versions."
|
||||
new "¿Cuál es el código de la versión?\n\nEste debe ser un número entero positivo, y el valor debe aumentar entre las versiones."
|
||||
|
||||
# game/androidstrings.rpy:33
|
||||
old "The numeric version must contain only numbers."
|
||||
new "La versión numérica debe contener solo números."
|
||||
|
||||
# game/androidstrings.rpy:34
|
||||
old "How would you like your application to be displayed?"
|
||||
new "¿Cómo desea que se muestre su aplicación?"
|
||||
|
||||
# game/androidstrings.rpy:35
|
||||
old "In landscape orientation."
|
||||
new "En orientación horizontal."
|
||||
|
||||
# game/androidstrings.rpy:36
|
||||
old "In portrait orientation."
|
||||
new "En orientación vertical."
|
||||
|
||||
# game/androidstrings.rpy:37
|
||||
old "In the user's preferred orientation."
|
||||
new "En la orientación preferida del usuario."
|
||||
|
||||
# game/androidstrings.rpy:38
|
||||
old "Which app store would you like to support in-app purchasing through?"
|
||||
new "¿En qué tienda de aplicaciones te gustaría soporte paracompras desde la aplicación?"
|
||||
|
||||
# game/androidstrings.rpy:39
|
||||
old "Google Play."
|
||||
new "Google Play."
|
||||
|
||||
# game/androidstrings.rpy:40
|
||||
old "Amazon App Store."
|
||||
new "Amazon App Store."
|
||||
|
||||
# game/androidstrings.rpy:41
|
||||
old "Both, in one app."
|
||||
new "Ambos, en una sola aplicación."
|
||||
|
||||
# game/androidstrings.rpy:42
|
||||
old "Neither."
|
||||
new "Ninguna."
|
||||
|
||||
# game/androidstrings.rpy:43
|
||||
old "Would you like to create an expansion APK?"
|
||||
new "¿Te gustaría crear un APK de expansión?"
|
||||
|
||||
# game/androidstrings.rpy:44
|
||||
old "No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded."
|
||||
new "No. El límite de tamaño de 100 MB en Google Play, pero se puede distribuir a través de otras tiendas y se puede descargar de forma simultánea."
|
||||
|
||||
# game/androidstrings.rpy:45
|
||||
old "Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)"
|
||||
new "Sí. Límite de tamaño de 2 GB, pero no funcionará fuera de Google Play. (Lea la documentación para que esto funcione.)"
|
||||
|
||||
# game/androidstrings.rpy:46
|
||||
old "Do you want to allow the app to access the Internet?"
|
||||
new "¿Quieres permitir que la aplicación acceda a Internet?"
|
||||
|
||||
# game/androidstrings.rpy:47
|
||||
old "Do you want to automatically update the generated project?"
|
||||
new "¿Quieres actualizar automáticamente el proyecto generado?"
|
||||
|
||||
# game/androidstrings.rpy:48
|
||||
old "Yes. This is the best choice for most projects."
|
||||
new "Sí. Esta es la mejor opción para la mayoría de los proyectos."
|
||||
|
||||
# game/androidstrings.rpy:49
|
||||
old "No. This may require manual updates when Ren'Py or the project configuration changes."
|
||||
new "No. Esto puede requerir actualizaciones manuales cuando Ren'Py o la configuración del proyecto cambien."
|
||||
|
||||
# game/androidstrings.rpy:50
|
||||
old "Unknown configuration variable: {}"
|
||||
new "Variable de configuración desconocida: {}."
|
||||
|
||||
# game/androidstrings.rpy:51
|
||||
old "I'm compiling a short test program, to see if you have a working JDK on your system."
|
||||
new "Estoy compilando un programa de prueba corto, para ver si tienes un JDK en funcionamiento en tu sistema."
|
||||
|
||||
# game/androidstrings.rpy:52
|
||||
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Without a working JDK, I can't continue."
|
||||
new "No pude usar javac para compilar un archivo de prueba. Si aún no has instalado el Kit de desarrollo de Java, descárgalo de:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nEl JDK es diferente del JRE, por lo que es posible que tengas Java sin tener el JDK. Sin un JDK en funcionamiento, no puedo continuar."
|
||||
|
||||
# game/androidstrings.rpy:53
|
||||
old "The version of Java on your computer does not appear to be JDK 8, which is the only version supported by the Android SDK. If you need to install JDK 8, you can download it from:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nYou can also set the JAVA_HOME environment variable to use a different version of Java."
|
||||
new "La versión de Java en su computadora no parece ser JDK 8, que es la única versión compatible con el SDK de Android. Si necesitas instalar JDK 8, puedes descargarlo de:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nTambién puedes configurar la Variable de entorno JAVA_HOME para usar una versión diferente de Java."
|
||||
|
||||
# game/androidstrings.rpy:54
|
||||
old "The JDK is present and working. Good!"
|
||||
new "El JDK está presente y funcionando. ¡Bien!"
|
||||
|
||||
# game/androidstrings.rpy:55
|
||||
old "The Android SDK has already been unpacked."
|
||||
new "El SDK de Android ya ha sido desempaquetado."
|
||||
|
||||
# game/androidstrings.rpy:56
|
||||
old "Do you accept the Android SDK Terms and Conditions?"
|
||||
new "¿Aceptas los Términos y Condiciones del SDK de Android?"
|
||||
|
||||
# game/androidstrings.rpy:57
|
||||
old "I'm downloading the Android SDK. This might take a while."
|
||||
new "Estoy descargando el SDK de Android. Esto podría tomar un tiempo."
|
||||
|
||||
# game/androidstrings.rpy:58
|
||||
old "I'm extracting the Android SDK."
|
||||
new "Estoy extrayendo el SDK de Android."
|
||||
|
||||
# game/androidstrings.rpy:59
|
||||
old "I've finished unpacking the Android SDK."
|
||||
new "He terminado de desempacar el SDK de Android."
|
||||
|
||||
# game/androidstrings.rpy:60
|
||||
old "I'm about to download and install the required Android packages. This might take a while."
|
||||
new "Estoy a punto de descargar e instalar los paquetes de Android necesarios. Esto podría tomar un tiempo."
|
||||
|
||||
# game/androidstrings.rpy:61
|
||||
old "I was unable to accept the Android licenses."
|
||||
new "No pude aceptar las licencias de Android."
|
||||
|
||||
# game/androidstrings.rpy:62
|
||||
old "I was unable to install the required Android packages."
|
||||
new "No pude instalar los paquetes de Android necesarios."
|
||||
|
||||
# game/androidstrings.rpy:63
|
||||
old "I've finished installing the required Android packages."
|
||||
new "He terminado de instalar los paquetes de Android requeridos."
|
||||
|
||||
# game/androidstrings.rpy:64
|
||||
old "You set the keystore yourself, so I'll assume it's how you want it."
|
||||
new "Tú mismo configuras el keystore, así que asumiré que es como lo quieres."
|
||||
|
||||
# game/androidstrings.rpy:65
|
||||
old "You've already created an Android keystore, so I won't create a new one for you."
|
||||
new "Ya has creado un keystore de Android, así que no crearé uno nuevo para ti."
|
||||
|
||||
# game/androidstrings.rpy:66
|
||||
old "I can create an application signing key for you. Signing an application with this key allows it to be placed in the Android Market and other app stores.\n\nDo you want to create a key?"
|
||||
new "Puedo crear una clave de firma de la aplicación para usted. Firmar una aplicación con esta clave le permite ubicarla en Android Market y otras tiendas de aplicaciones. \ N \ n¿Desea crear una clave?"
|
||||
|
||||
# game/androidstrings.rpy:67
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "Crearé la clave en el archivo android.keystore.\n\nTienes que hacer una copia de seguridad de este archivo. Si lo pierdes, no podrás actualizar tu aplicación.\n\n\\También debes mantener la clave segura. Si la gente malvada obtiene este archivo, podrían crear versiones falsas de su aplicación y, posiblemente, robar los datos de sus usuarios.\n\n¿Harás una copia de seguridad de android.keystore y la mantendrás en un lugar seguro?"
|
||||
|
||||
# game/androidstrings.rpy:68
|
||||
old "Please enter your name or the name of your organization."
|
||||
new "Por favor ingresa tu nombre o el nombre de tu organización."
|
||||
|
||||
# game/androidstrings.rpy:69
|
||||
old "Could not create android.keystore. Is keytool in your path?"
|
||||
new "No se pudo crear android.keystore. ¿Esta keytool en tu ruta?"
|
||||
|
||||
# game/androidstrings.rpy:70
|
||||
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
|
||||
new "He terminado de crear android.keystore. Por favor haga una copia de seguridad y guárdelo en un lugar seguro."
|
||||
|
||||
# game/androidstrings.rpy:71
|
||||
old "It looks like you're ready to start packaging games."
|
||||
new "Parece que estás listo para comenzar a empaquetar juegos."
|
||||
|
||||
# game/choose_theme.rpy:507
|
||||
old "changing the theme"
|
||||
new "cambiando el tema"
|
||||
|
||||
# game/front_page.rpy:252
|
||||
old "Web"
|
||||
new "Web"
|
||||
|
||||
# game/front_page.rpy:252
|
||||
old "(Beta)"
|
||||
new "(Beta)"
|
||||
|
||||
# game/gui7.rpy:429
|
||||
old "creating a new project"
|
||||
new "creando un nuevo proyecto"
|
||||
|
||||
# game/gui7.rpy:433
|
||||
old "activating the new project"
|
||||
new "activando el nuevo proyecto"
|
||||
|
||||
# game/interface.rpy:372
|
||||
old "opening the log file"
|
||||
new "abriendo el archivo de registro"
|
||||
|
||||
# game/interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Mientras que [what!qt], ocurrió un error:"
|
||||
|
||||
# game/interface.rpy:394
|
||||
old "[exception!q]"
|
||||
new "[exception!q]"
|
||||
|
||||
# game/itch.rpy:43
|
||||
old "Downloading the itch.io butler."
|
||||
new "Descargando el butler de itch.io"
|
||||
|
||||
# game/updater.rpy:101
|
||||
old "The update channel controls the version of Ren'Py the updater will download."
|
||||
new "El canal de actualización controla la versión de Ren'Py que el actualizador descargará."
|
||||
|
||||
# game/updater.rpy:110
|
||||
old "• This version is installed and up-to-date."
|
||||
new "• Esta versión está instalada y actualizada."
|
||||
|
||||
# game/updater.rpy:118
|
||||
old "%B %d, %Y"
|
||||
new "%d de %B, %Y"
|
||||
|
||||
# game/updater.rpy:188
|
||||
old "Fetching the list of update channels"
|
||||
new "Obteniendo la lista de canales de actualización."
|
||||
|
||||
# game/updater.rpy:194
|
||||
old "downloading the list of update channels"
|
||||
new "descargando la lista de canales de actualización"
|
||||
|
||||
# game/updater.rpy:198
|
||||
old "parsing the list of update channels"
|
||||
new "analizar la lista de canales de actualización"
|
||||
|
||||
# game/web.rpy:118
|
||||
old "Web: [project.current.display_name!q]"
|
||||
new "Web: [project.current.display_name!q]"
|
||||
|
||||
# game/web.rpy:148
|
||||
old "Build Web Application"
|
||||
new "Construir una aplicación web"
|
||||
|
||||
# game/web.rpy:149
|
||||
old "Build and Open in Browser"
|
||||
new "Construir y abrir en el navegador"
|
||||
|
||||
# game/web.rpy:150
|
||||
old "Open without Build"
|
||||
new "Abrir sin construir"
|
||||
|
||||
# game/web.rpy:154
|
||||
old "Support:"
|
||||
new "Apoyar:"
|
||||
|
||||
# game/web.rpy:162
|
||||
old "RenPyWeb Home"
|
||||
new "Home de RenpyWeb"
|
||||
|
||||
# game/web.rpy:163
|
||||
old "Beuc's Patreon"
|
||||
new "Patreon de Beuc"
|
||||
|
||||
# game/web.rpy:181
|
||||
old "Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start."
|
||||
new "Las aplicaciones web de Ren'Py requieren que todo el juego se descargue en la computadora del jugador antes de que pueda comenzar."
|
||||
|
||||
# game/web.rpy:185
|
||||
old "Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general."
|
||||
new "Las limitaciones actuales en la plataforma web significan que la carga de imágenes grandes, archivos de audio o películas pueden ocasionar problemas de audio o de frecuencia de cuadros, y un rendimiento más bajo en general."
|
||||
|
||||
# game/web.rpy:194
|
||||
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
|
||||
new "Antes de empaquetar aplicaciones web, deberá descargar RenPyWeb, el soporte web de Ren'Py. ¿Te gustaría descargar RenPyWeb ahora?"
|
||||
|
||||
# game/web.rpy:150
|
||||
old "Open in Browser"
|
||||
new "Abrir en Navegador"
|
||||
|
||||
# game/web.rpy:151
|
||||
old "Open build directory"
|
||||
new "Abrir directorio de construcción"
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# _layout/classic_joystick_preferences.rpym:94
|
||||
old "Joystick Mapping"
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
|
||||
translate spanish strings:
|
||||
translate spanish strings:
|
||||
|
||||
# options.rpy:1
|
||||
old "## This file contains options that can be changed to customize your game."
|
||||
@@ -139,11 +138,11 @@ translate spanish strings:
|
||||
|
||||
# options.rpy:152
|
||||
old "## Icon"
|
||||
new "## Icono"
|
||||
new "## Ícono"
|
||||
|
||||
# options.rpy:154
|
||||
old "## The icon displayed on the taskbar or dock."
|
||||
new "## El icono mostrado en la barra de tareas."
|
||||
new "## El ícono mostrado en la barra de tareas."
|
||||
|
||||
# options.rpy:159
|
||||
old "## Build configuration"
|
||||
|
||||
@@ -279,7 +279,7 @@ translate spanish strings:
|
||||
|
||||
# screens.rpy:646
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%A, %d %B %Y, %H:%M"
|
||||
new "{#file_time}%A, %d de %B %Y, %H:%M"
|
||||
|
||||
# screens.rpy:646
|
||||
old "empty slot"
|
||||
|
||||
@@ -606,8 +606,8 @@ translate traditional_chinese strings:
|
||||
new "錯誤"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "[what!q]時,出現錯誤:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "[what!qt]時,出現錯誤:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -0,0 +1,883 @@
|
||||
|
||||
translate turkish strings:
|
||||
|
||||
# 00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "Font Üstüne Yaz"
|
||||
|
||||
# 00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "Varsayılan"
|
||||
|
||||
# 00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# 00accessibility.rpy:88
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# 00accessibility.rpy:94
|
||||
old "Text Size Scaling"
|
||||
new "Metin Boyutlandırma"
|
||||
|
||||
# 00accessibility.rpy:100
|
||||
old "Reset"
|
||||
new "Sıfırla"
|
||||
|
||||
# 00accessibility.rpy:105
|
||||
old "Line Spacing Scaling"
|
||||
new "Satır Boşluğu Boyutlandırma"
|
||||
|
||||
# 00accessibility.rpy:117
|
||||
old "Self-Voicing"
|
||||
new "Kendiliğinden Seslendirme"
|
||||
|
||||
# 00accessibility.rpy:121
|
||||
old "Off"
|
||||
new "Kapalı"
|
||||
|
||||
# 00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "Metinden-ses"
|
||||
|
||||
# 00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
new "Pano"
|
||||
|
||||
# 00accessibility.rpy:133
|
||||
old "Debug"
|
||||
new "Hata Ayıklama"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Monday"
|
||||
new "{#weekday}Pazartesi"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Tuesday"
|
||||
new "{#weekday}Salı"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Wednesday"
|
||||
new "{#weekday}Çarşamba"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Thursday"
|
||||
new "{#weekday}Perşembe"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Friday"
|
||||
new "{#weekday}Cuma"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Saturday"
|
||||
new "{#weekday}Cumartesi"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Sunday"
|
||||
new "{#weekday}Pazar"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Mon"
|
||||
new "{#weekday_short}Pzt"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Tue"
|
||||
new "{#weekday_short}Sal"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Wed"
|
||||
new "{#weekday_short}Çar"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Thu"
|
||||
new "{#weekday_short}Per"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Fri"
|
||||
new "{#weekday_short}Cum"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Sat"
|
||||
new "{#weekday_short}Cmt"
|
||||
|
||||
# 00action_file.rpy:37
|
||||
old "{#weekday_short}Sun"
|
||||
new "{#weekday_short}Paz"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}January"
|
||||
new "{#month}Ocak"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}February"
|
||||
new "{#month}Şubat"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}March"
|
||||
new "{#month}Mart"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}April"
|
||||
new "{#month}Nisan"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}May"
|
||||
new "{#month}Mayıs"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}June"
|
||||
new "{#month}Haziran"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}July"
|
||||
new "{#month}Temmuz"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}August"
|
||||
new "{#month}Ağustos"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}September"
|
||||
new "{#month}Eylül"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}October"
|
||||
new "{#month}Ekim"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}November"
|
||||
new "{#month}Kasım"
|
||||
|
||||
# 00action_file.rpy:47
|
||||
old "{#month}December"
|
||||
new "{#month}Aralık"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Jan"
|
||||
new "{#month_short}Oca"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Feb"
|
||||
new "{#month_short}Şub"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Mar"
|
||||
new "{#month_short}Mar"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Apr"
|
||||
new "{#month_short}Nis"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}May"
|
||||
new "{#month_short}May"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Jun"
|
||||
new "{#month_short}Haz"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Jul"
|
||||
new "{#month_short}Tem"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Aug"
|
||||
new "{#month_short}Ağu"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Sep"
|
||||
new "{#month_short}Eyl"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Oct"
|
||||
new "{#month_short}Eki"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Nov"
|
||||
new "{#month_short}Kas"
|
||||
|
||||
# 00action_file.rpy:63
|
||||
old "{#month_short}Dec"
|
||||
new "{#month_short}Ara"
|
||||
|
||||
# 00action_file.rpy:240
|
||||
old "%b %d, %H:%M"
|
||||
new "%b %d, %H:%M"
|
||||
|
||||
# 00action_file.rpy:353
|
||||
old "Save slot %s: [text]"
|
||||
new "Slota kaydet %s: [text]"
|
||||
|
||||
# 00action_file.rpy:434
|
||||
old "Load slot %s: [text]"
|
||||
new "Slottan yükle %s: [text]"
|
||||
|
||||
# 00action_file.rpy:487
|
||||
old "Delete slot [text]"
|
||||
new "Slotu sil [text]"
|
||||
|
||||
# 00action_file.rpy:569
|
||||
old "File page auto"
|
||||
new "Dosya sayfası oto"
|
||||
|
||||
# 00action_file.rpy:571
|
||||
old "File page quick"
|
||||
new "Dosya sayfası hızlı"
|
||||
|
||||
# 00action_file.rpy:573
|
||||
old "File page [text]"
|
||||
new "Dosya sayfası [text]"
|
||||
|
||||
# 00action_file.rpy:772
|
||||
old "Next file page."
|
||||
new "Sonraki dosya sayfası."
|
||||
|
||||
# 00action_file.rpy:845
|
||||
old "Previous file page."
|
||||
new "Önceki dosya sayfası."
|
||||
|
||||
# 00action_file.rpy:906
|
||||
old "Quick save complete."
|
||||
new "Hızlı kayıt tamamlandı."
|
||||
|
||||
# 00action_file.rpy:924
|
||||
old "Quick save."
|
||||
new "Hızlı kayıt."
|
||||
|
||||
# 00action_file.rpy:943
|
||||
old "Quick load."
|
||||
new "Hızlı yükleme."
|
||||
|
||||
# 00action_other.rpy:355
|
||||
old "Language [text]"
|
||||
new "Dil [text]"
|
||||
|
||||
# 00director.rpy:708
|
||||
old "The interactive director is not enabled here."
|
||||
new "İnteraktif yönetici burada aktif değil."
|
||||
|
||||
# 00director.rpy:1481
|
||||
old "⬆"
|
||||
new "⬆"
|
||||
|
||||
# 00director.rpy:1487
|
||||
old "⬇"
|
||||
new "⬇"
|
||||
|
||||
# 00director.rpy:1551
|
||||
old "Done"
|
||||
new "Tamam."
|
||||
|
||||
# 00director.rpy:1561
|
||||
old "(statement)"
|
||||
new "(ifade)"
|
||||
|
||||
# 00director.rpy:1562
|
||||
old "(tag)"
|
||||
new "(etiket)"
|
||||
|
||||
# 00director.rpy:1563
|
||||
old "(attributes)"
|
||||
new "(öznitelikler)"
|
||||
|
||||
# 00director.rpy:1564
|
||||
old "(transform)"
|
||||
new "(dönüşüm)"
|
||||
|
||||
# 00director.rpy:1589
|
||||
old "(transition)"
|
||||
new "(geçiş)"
|
||||
|
||||
# 00director.rpy:1601
|
||||
old "(channel)"
|
||||
new "(kanal)"
|
||||
|
||||
# 00director.rpy:1602
|
||||
old "(filename)"
|
||||
new "(dosya adı)"
|
||||
|
||||
# 00director.rpy:1631
|
||||
old "Change"
|
||||
new "Değiştir"
|
||||
|
||||
# 00director.rpy:1633
|
||||
old "Add"
|
||||
new "Ekle"
|
||||
|
||||
# 00director.rpy:1636
|
||||
old "Cancel"
|
||||
new "İptal"
|
||||
|
||||
# 00director.rpy:1639
|
||||
old "Remove"
|
||||
new "Kaldır"
|
||||
|
||||
# 00director.rpy:1674
|
||||
old "Statement:"
|
||||
new "İfade:"
|
||||
|
||||
# 00director.rpy:1695
|
||||
old "Tag:"
|
||||
new "Etiket:"
|
||||
|
||||
# 00director.rpy:1711
|
||||
old "Attributes:"
|
||||
new "Öznitelikler:"
|
||||
|
||||
# 00director.rpy:1729
|
||||
old "Transforms:"
|
||||
new "Dönüşümler:"
|
||||
|
||||
# 00director.rpy:1748
|
||||
old "Behind:"
|
||||
new "Arka:"
|
||||
|
||||
# 00director.rpy:1767
|
||||
old "Transition:"
|
||||
new "Geçiş:"
|
||||
|
||||
# 00director.rpy:1785
|
||||
old "Channel:"
|
||||
new "Kanal:"
|
||||
|
||||
# 00director.rpy:1803
|
||||
old "Audio Filename:"
|
||||
new "Ses Dosya Adı"
|
||||
|
||||
# 00gui.rpy:371
|
||||
old "Are you sure?"
|
||||
new "Emin misiniz?"
|
||||
|
||||
# 00gui.rpy:372
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "Bu kaydı silmek istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:373
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "Bu kaydın üstüne yazmak istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:374
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "Yüklemek kaydedilmemiş ilerlemenizin kaybolmasına sebep olacaktır. \nBunu yapmak istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:375
|
||||
old "Are you sure you want to quit?"
|
||||
new "Çıkmak istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:376
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Ana menüye dönmek istediğinize emin misiniz?\nKaydedilmemiş ilerleme kaybolacaktır."
|
||||
|
||||
# 00gui.rpy:377
|
||||
old "Are you sure you want to end the replay?"
|
||||
new "Yeniden oynatmayı bitirmek istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:378
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "Atlamaya başlmak istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:379
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "Bir sonraki seçime atlamak istediğinize emin misiniz?"
|
||||
|
||||
# 00gui.rpy:380
|
||||
old "Are you sure you want to skip unseen dialogue to the next choice?"
|
||||
new "Bir sonraki seçime kadar görülmemiş olan diyalogları atlamak istediğinize emin misiniz?"
|
||||
|
||||
# 00keymap.rpy:261
|
||||
old "Failed to save screenshot as %s."
|
||||
new "Ekran görüntüsü %s olarak kaydedilemedi."
|
||||
|
||||
# 00keymap.rpy:273
|
||||
old "Saved screenshot as %s."
|
||||
new "Ekran görüntüsü %s olarak kaydedildi."
|
||||
|
||||
# 00library.rpy:175
|
||||
old "Self-voicing disabled."
|
||||
new "Kendiliğinden-Seslendirme devre dışı."
|
||||
|
||||
# 00library.rpy:176
|
||||
old "Clipboard voicing enabled. "
|
||||
new "Pano seslendirme etkin."
|
||||
|
||||
# 00library.rpy:177
|
||||
old "Self-voicing enabled. "
|
||||
new "Kendiliğinden-Seslendirme etkin."
|
||||
|
||||
# 00library.rpy:179
|
||||
old "bar"
|
||||
new "çubuk"
|
||||
|
||||
# 00library.rpy:180
|
||||
old "selected"
|
||||
new "seçili"
|
||||
|
||||
# 00library.rpy:181
|
||||
old "viewport"
|
||||
new "gözlem noktası"
|
||||
|
||||
# 00library.rpy:182
|
||||
old "horizontal scroll"
|
||||
new "yatay kaydırma"
|
||||
|
||||
# 00library.rpy:183
|
||||
old "vertical scroll"
|
||||
new "dikey kaydırma"
|
||||
|
||||
# 00library.rpy:184
|
||||
old "activate"
|
||||
new "etkinleştir"
|
||||
|
||||
# 00library.rpy:185
|
||||
old "deactivate"
|
||||
new "devre dışı bırak"
|
||||
|
||||
# 00library.rpy:186
|
||||
old "increase"
|
||||
new "arttır"
|
||||
|
||||
# 00library.rpy:187
|
||||
old "decrease"
|
||||
new "azalt"
|
||||
|
||||
# 00library.rpy:222
|
||||
old "Skip Mode"
|
||||
new "Atlama Modu"
|
||||
|
||||
# 00library.rpy:308
|
||||
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
|
||||
new "Bu program MIT ve GNU Lesser General Public License da dahil olmak üzere pek çok özgür yazılım lisansı içerir. Tam kaynak kodu da dahil olmak üzere bütün yazılımların listesi {a=https://www.renpy.org/l/license}here{/a} adresinde bulunabilir."
|
||||
|
||||
# 00preferences.rpy:233
|
||||
old "display"
|
||||
new "görüntü"
|
||||
|
||||
# 00preferences.rpy:245
|
||||
old "transitions"
|
||||
new "geçişler"
|
||||
|
||||
# 00preferences.rpy:254
|
||||
old "skip transitions"
|
||||
new "geçişleri atla"
|
||||
|
||||
# 00preferences.rpy:256
|
||||
old "video sprites"
|
||||
new "video spriteları"
|
||||
|
||||
# 00preferences.rpy:265
|
||||
old "show empty window"
|
||||
new "boş pencere göster"
|
||||
|
||||
# 00preferences.rpy:274
|
||||
old "text speed"
|
||||
new "metin hızı"
|
||||
|
||||
# 00preferences.rpy:282
|
||||
old "joystick"
|
||||
new "joystick"
|
||||
|
||||
# 00preferences.rpy:282
|
||||
old "joystick..."
|
||||
new "joystick..."
|
||||
|
||||
# 00preferences.rpy:289
|
||||
old "skip"
|
||||
new "atla"
|
||||
|
||||
# 00preferences.rpy:292
|
||||
old "skip unseen [text]"
|
||||
new "görülmemiş [text] atla"
|
||||
|
||||
# 00preferences.rpy:297
|
||||
old "skip unseen text"
|
||||
new "görülmemiş metni atla"
|
||||
|
||||
# 00preferences.rpy:299
|
||||
old "begin skipping"
|
||||
new "atlamaya başla"
|
||||
|
||||
# 00preferences.rpy:303
|
||||
old "after choices"
|
||||
new "seçimden sonra"
|
||||
|
||||
# 00preferences.rpy:310
|
||||
old "skip after choices"
|
||||
new "seçimlerden sonra atla"
|
||||
|
||||
# 00preferences.rpy:312
|
||||
old "auto-forward time"
|
||||
new "zamanı otomatik ileri sar"
|
||||
|
||||
# 00preferences.rpy:326
|
||||
old "auto-forward"
|
||||
new "otomatik ileri sar"
|
||||
|
||||
# 00preferences.rpy:333
|
||||
old "Auto forward"
|
||||
new "Otomatik ileri sar"
|
||||
|
||||
# 00preferences.rpy:336
|
||||
old "auto-forward after click"
|
||||
new "tıklamadan sonra otomatik ileri sar"
|
||||
|
||||
# 00preferences.rpy:345
|
||||
old "automatic move"
|
||||
new "otomatik hareket"
|
||||
|
||||
# 00preferences.rpy:354
|
||||
old "wait for voice"
|
||||
new "sesi bekle"
|
||||
|
||||
# 00preferences.rpy:363
|
||||
old "voice sustain"
|
||||
new "sesi sürdür"
|
||||
|
||||
# 00preferences.rpy:372
|
||||
old "self voicing"
|
||||
new "kendiliğinden seslendirme"
|
||||
|
||||
# 00preferences.rpy:381
|
||||
old "clipboard voicing"
|
||||
new "pano seslendirme"
|
||||
|
||||
# 00preferences.rpy:390
|
||||
old "debug voicing"
|
||||
new "hata ayıklama seslendirmesi"
|
||||
|
||||
# 00preferences.rpy:399
|
||||
old "emphasize audio"
|
||||
new "sesi vurgula"
|
||||
|
||||
# 00preferences.rpy:408
|
||||
old "rollback side"
|
||||
new "geri alma tarafı"
|
||||
|
||||
# 00preferences.rpy:418
|
||||
old "gl powersave"
|
||||
new "gl powersave"
|
||||
|
||||
# 00preferences.rpy:424
|
||||
old "gl framerate"
|
||||
new "gl kare hızı"
|
||||
|
||||
# 00preferences.rpy:427
|
||||
old "gl tearing"
|
||||
new "gl tearing"
|
||||
|
||||
# 00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "font dönüşüm"
|
||||
|
||||
# 00preferences.rpy:433
|
||||
old "font size"
|
||||
new "font boyutu"
|
||||
|
||||
# 00preferences.rpy:441
|
||||
old "font line spacing"
|
||||
new "font satır boşluğu"
|
||||
|
||||
# 00preferences.rpy:460
|
||||
old "music volume"
|
||||
new "müzik düzeyi"
|
||||
|
||||
# 00preferences.rpy:461
|
||||
old "sound volume"
|
||||
new "ses düzeyi"
|
||||
|
||||
# 00preferences.rpy:462
|
||||
old "voice volume"
|
||||
new "konuşma düzeyi"
|
||||
|
||||
# 00preferences.rpy:463
|
||||
old "mute music"
|
||||
new "müziği sustur"
|
||||
|
||||
# 00preferences.rpy:464
|
||||
old "mute sound"
|
||||
new "sesi sustur"
|
||||
|
||||
# 00preferences.rpy:465
|
||||
old "mute voice"
|
||||
new "konuşmayı sustur"
|
||||
|
||||
# 00preferences.rpy:466
|
||||
old "mute all"
|
||||
new "hepsini sustur"
|
||||
|
||||
# 00preferences.rpy:547
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "Pano seslendirme etkin. Devre dışı bırakmak için 'shift+C'ye basın."
|
||||
|
||||
# 00preferences.rpy:549
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "Kendiliğinden-Seslendirme \"[renpy.display.tts.last]\" derdi. Devre dışı bırakmak için 'alt+shift+V'ye basın."
|
||||
|
||||
# 00preferences.rpy:551
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Kendiliğinden-seslendirme etkin. Devre dışı bırakmak için 'v'ye basın."
|
||||
|
||||
# _compat\gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
new "Boş Slot."
|
||||
|
||||
# _compat\gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "Önceki"
|
||||
|
||||
# _compat\gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "Sonraki"
|
||||
|
||||
# _compat\preferences.rpym:428
|
||||
old "Joystick Mapping"
|
||||
new "Joystick Ayarlama"
|
||||
|
||||
# _developer\developer.rpym:38
|
||||
old "Developer Menu"
|
||||
new "Geliştirici Menüsü"
|
||||
|
||||
# _developer\developer.rpym:43
|
||||
old "Interactive Director (D)"
|
||||
new "İnteraktif Yönetici (D)"
|
||||
|
||||
# _developer\developer.rpym:45
|
||||
old "Reload Game (Shift+R)"
|
||||
new "Oyunu Geri Yükle (Shift-R)"
|
||||
|
||||
# _developer\developer.rpym:47
|
||||
old "Console (Shift+O)"
|
||||
new "Konsol (Shift+O)"
|
||||
|
||||
# _developer\developer.rpym:49
|
||||
old "Variable Viewer"
|
||||
new "Değişken Görüntüleyici"
|
||||
|
||||
# _developer\developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "Resim Yeri Seçici"
|
||||
|
||||
# _developer\developer.rpym:53
|
||||
old "Filename List"
|
||||
new "Dosya Adı Listesi"
|
||||
|
||||
# _developer\developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "Resim Yükleme Kaydını Göster (F4)"
|
||||
|
||||
# _developer\developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "Resim Yükleme Kaydını Gizle (F4)"
|
||||
|
||||
# _developer\developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "Resim Öznitelikleri"
|
||||
|
||||
# _developer\developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes] (gizli)"
|
||||
|
||||
# _developer\developer.rpym:94
|
||||
old "[name] [attributes]"
|
||||
new "[name] [attributes]"
|
||||
|
||||
# _developer\developer.rpym:143
|
||||
old "Nothing to inspect."
|
||||
new "İncelenecek bir şey yok."
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Hide deleted"
|
||||
new "Silineni gizle"
|
||||
|
||||
# _developer\developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "Silineni göster"
|
||||
|
||||
# _developer\developer.rpym:278
|
||||
old "Return to the developer menu"
|
||||
new "Geliştiric menüsüne dön."
|
||||
|
||||
# _developer\developer.rpym:443
|
||||
old "Rectangle: %r"
|
||||
new "Dikdörtgen: %r"
|
||||
|
||||
# _developer\developer.rpym:448
|
||||
old "Mouse position: %r"
|
||||
new "Fare konumu: %r"
|
||||
|
||||
# _developer\developer.rpym:453
|
||||
old "Right-click or escape to quit."
|
||||
new "Çıkmak için sağ-tıkla veya escape tuşuna bas."
|
||||
|
||||
# _developer\developer.rpym:485
|
||||
old "Rectangle copied to clipboard."
|
||||
new "Dikdörtgen panoya kopyalandı."
|
||||
|
||||
# _developer\developer.rpym:488
|
||||
old "Position copied to clipboard."
|
||||
new "Konum panoya kopyalandı."
|
||||
|
||||
# _developer\developer.rpym:507
|
||||
old "Type to filter: "
|
||||
new "Filtrelenecek tür: "
|
||||
|
||||
# _developer\developer.rpym:635
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Dokular: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
|
||||
# _developer\developer.rpym:639
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "Resim önbelleği: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
|
||||
# _developer\developer.rpym:649
|
||||
old "✔ "
|
||||
new "✔"
|
||||
|
||||
# _developer\developer.rpym:652
|
||||
old "✘ "
|
||||
new "✘ "
|
||||
|
||||
# _developer\developer.rpym:657
|
||||
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}✔ beklenen resim (iyi){/color}\n{color=#fcc}✘ beklenmeyen resim (kötü){/color}\n{color=#fff}Kaydırmak için sürükle.{/color}"
|
||||
|
||||
# _developer\inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
new "Görüntülenebilir İnceleyici"
|
||||
|
||||
# _developer\inspector.rpym:61
|
||||
old "Size"
|
||||
new "Boyut"
|
||||
|
||||
# _developer\inspector.rpym:65
|
||||
old "Style"
|
||||
new "Stil"
|
||||
|
||||
# _developer\inspector.rpym:71
|
||||
old "Location"
|
||||
new "Konum"
|
||||
|
||||
# _developer\inspector.rpym:122
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "[displayable_name!q] Stilleri İnceleniyor"
|
||||
|
||||
# _developer\inspector.rpym:139
|
||||
old "displayable:"
|
||||
new "görüntülenebilir:"
|
||||
|
||||
# _developer\inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (hiçbir özellik görüntülenebiliri etkilemiyor)"
|
||||
|
||||
# _developer\inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
new " (varsayılan özellikler boş bırakıldı)"
|
||||
|
||||
# _developer\inspector.rpym:185
|
||||
old "<repr() failed>"
|
||||
new "<repr() başarısız>"
|
||||
|
||||
# _layout\classic_load_save.rpym:170
|
||||
old "a"
|
||||
new "a"
|
||||
|
||||
# _layout\classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "q"
|
||||
|
||||
# 00iap.rpy:217
|
||||
old "Contacting App Store\nPlease Wait..."
|
||||
new "App Store'a Bağlanılıyor\nLütfen Bekleyin..."
|
||||
|
||||
# 00updater.rpy:375
|
||||
old "The Ren'Py Updater is not supported on mobile devices."
|
||||
new "Ren'Py Güncelleyicisi mobil cihazlarda desteklenmiyor."
|
||||
|
||||
# 00updater.rpy:494
|
||||
old "An error is being simulated."
|
||||
new "Bir hata canlandırması yapılıyor."
|
||||
|
||||
# 00updater.rpy:678
|
||||
old "Either this project does not support updating, or the update status file was deleted."
|
||||
new "Ya bu proje güncellemeyi desteklemiyor, ya da güncelleme durumu dosyası silinmiş."
|
||||
|
||||
# 00updater.rpy:692
|
||||
old "This account does not have permission to perform an update."
|
||||
new "Bu hesap güncelleme yetkisine sahip değil."
|
||||
|
||||
# 00updater.rpy:695
|
||||
old "This account does not have permission to write the update log."
|
||||
new "Bu hesap güncelleme kaydı yazma yetkisine sahip değil."
|
||||
|
||||
# 00updater.rpy:722
|
||||
old "Could not verify update signature."
|
||||
new "Güncelleme imzası doğrulanamadı."
|
||||
|
||||
# 00updater.rpy:997
|
||||
old "The update file was not downloaded."
|
||||
new "Güncelleme dosyası indirilmedi."
|
||||
|
||||
# 00updater.rpy:1015
|
||||
old "The update file does not have the correct digest - it may have been corrupted."
|
||||
new "Güncelleme dosyası doğru değil - bozulmuş olabilir."
|
||||
|
||||
# 00updater.rpy:1071
|
||||
old "While unpacking {}, unknown type {}."
|
||||
new "{} açılırken, bilinmeyen tür {}."
|
||||
|
||||
# 00updater.rpy:1439
|
||||
old "Updater"
|
||||
new "Güncelleyici"
|
||||
|
||||
# 00updater.rpy:1450
|
||||
old "This program is up to date."
|
||||
new "Bu program güncel"
|
||||
|
||||
# 00updater.rpy:1452
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] mevcut. Yüklemek ister misiniz?"
|
||||
|
||||
# 00updater.rpy:1454
|
||||
old "Preparing to download the updates."
|
||||
new "Güncellemeyi indirmeye hazırlanıyor."
|
||||
|
||||
# 00updater.rpy:1456
|
||||
old "Downloading the updates."
|
||||
new "Güncelleme indiriliyor."
|
||||
|
||||
# 00updater.rpy:1458
|
||||
old "Unpacking the updates."
|
||||
new "Güncellemeler açılıyor."
|
||||
|
||||
# 00updater.rpy:1462
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "Güncellemeler yüklendi. Program yeniden başlayacak."
|
||||
|
||||
# 00updater.rpy:1464
|
||||
old "The updates have been installed."
|
||||
new "Güncellemeler kuruldu."
|
||||
|
||||
# 00updater.rpy:1466
|
||||
old "The updates were cancelled."
|
||||
new "Güncelleme iptal edildi."
|
||||
|
||||
# 00gallery.rpy:587
|
||||
old "Image [index] of [count] locked."
|
||||
new "[index] resmin [count] kadarı kilitlendi."
|
||||
|
||||
# 00gallery.rpy:607
|
||||
old "prev"
|
||||
new "önceki"
|
||||
|
||||
# 00gallery.rpy:608
|
||||
old "next"
|
||||
new "sonraki"
|
||||
|
||||
# 00gallery.rpy:609
|
||||
old "slideshow"
|
||||
new "slayt gösterisi"
|
||||
|
||||
# 00gallery.rpy:610
|
||||
old "return"
|
||||
new "dön"
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
|
||||
translate turkish strings:
|
||||
|
||||
# 00console.rpy:271
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "Konsoldan çıkmak için <esc> tuşuna bas. Yardım için help yaz.\n"
|
||||
|
||||
# 00console.rpy:275
|
||||
old "Ren'Py script enabled."
|
||||
new "Ren'Py scripti etkin."
|
||||
|
||||
# 00console.rpy:277
|
||||
old "Ren'Py script disabled."
|
||||
new "Ren'Py scripti devre dışı."
|
||||
|
||||
# 00console.rpy:524
|
||||
old "help: show this help"
|
||||
new "yardım: bu yardımcıyı göster"
|
||||
|
||||
# 00console.rpy:529
|
||||
old "commands:\n"
|
||||
new "komutlar:\n"
|
||||
|
||||
# 00console.rpy:539
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <renpy script statement>: ifadeyi yürüt\n"
|
||||
|
||||
# 00console.rpy:541
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <python expression or statement>: ibare ya da ifadeyi yürüt"
|
||||
|
||||
# 00console.rpy:549
|
||||
old "clear: clear the console history"
|
||||
new "clear: konsol geçmişini temizle"
|
||||
|
||||
# 00console.rpy:553
|
||||
old "exit: exit the console"
|
||||
new "exit: konsoldan çık"
|
||||
|
||||
# 00console.rpy:561
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "load <slot>: slottan oyun yükle"
|
||||
|
||||
# 00console.rpy:574
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "save <slot>: slota oyun kaydet"
|
||||
|
||||
# 00console.rpy:585
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "reload: oyunu geri yükler, scriptleri yeniler"
|
||||
|
||||
# 00console.rpy:593
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "watch <expression>: bir python ifadesini izle"
|
||||
|
||||
# 00console.rpy:619
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatch <expression>: bir ifadeyi izlemeyi bırak"
|
||||
|
||||
# 00console.rpy:650
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchall: tüm ifadeleri izlemeyi bırak"
|
||||
|
||||
# 00console.rpy:667
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <label>: etikete atlar"
|
||||
|
||||
# 00console.rpy:680
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "short: Nesnelerin konsoldaki temsillerini kısalt (varsayılan)."
|
||||
|
||||
# 00console.rpy:685
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: Konsoldaki nsnelerin temsillerinin tamamını yaz."
|
||||
|
||||
@@ -0,0 +1,227 @@
|
||||
|
||||
translate turkish strings:
|
||||
|
||||
# 00gltest.rpy:70
|
||||
old "Renderer"
|
||||
new "Görüntü Oluşturucu"
|
||||
|
||||
# 00gltest.rpy:74
|
||||
old "Automatically Choose"
|
||||
new "Otomatik Seç"
|
||||
|
||||
# 00gltest.rpy:79
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Angle/DirectX Görüntüye Zorla"
|
||||
|
||||
# 00gltest.rpy:83
|
||||
old "Force OpenGL Renderer"
|
||||
new "OpenGL Görüntüye Zorla"
|
||||
|
||||
# 00gltest.rpy:87
|
||||
old "Force Software Renderer"
|
||||
new "Yazılım Görüntüsüne Zorla"
|
||||
|
||||
# 00gltest.rpy:93
|
||||
old "NPOT"
|
||||
new "NPOT"
|
||||
|
||||
# 00gltest.rpy:97
|
||||
old "Enable"
|
||||
new "Etkinleştir"
|
||||
|
||||
# 00gltest.rpy:131
|
||||
old "Powersave"
|
||||
new "Powersave"
|
||||
|
||||
# 00gltest.rpy:145
|
||||
old "Framerate"
|
||||
new "Kare hızı"
|
||||
|
||||
# 00gltest.rpy:149
|
||||
old "Screen"
|
||||
new "Ekran"
|
||||
|
||||
# 00gltest.rpy:153
|
||||
old "60"
|
||||
new "60"
|
||||
|
||||
# 00gltest.rpy:157
|
||||
old "30"
|
||||
new "30"
|
||||
|
||||
# 00gltest.rpy:163
|
||||
old "Tearing"
|
||||
new "Tearing"
|
||||
|
||||
# 00gltest.rpy:179
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "Değişiklikler bu programın bir sonraki çalışmasında etkili olacak."
|
||||
|
||||
# 00gltest.rpy:213
|
||||
old "Performance Warning"
|
||||
new "Performans Uyarısı"
|
||||
|
||||
# 00gltest.rpy:218
|
||||
old "This computer is using software rendering."
|
||||
new "Bu bilgisayar yazılım görüntüleyicisini kullanıyor."
|
||||
|
||||
# 00gltest.rpy:220
|
||||
old "This computer is not using shaders."
|
||||
new "Bu bilgisayar shader kullanmıyor."
|
||||
|
||||
# 00gltest.rpy:222
|
||||
old "This computer is displaying graphics slowly."
|
||||
new "Bu bilgisayar grafikleri yavaş gösteriyor."
|
||||
|
||||
# 00gltest.rpy:224
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "Bu bilgisayarın grafik gösterme problemi var: [problem]."
|
||||
|
||||
# 00gltest.rpy:229
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display. Updating DirectX could fix this problem."
|
||||
new "Grafik sürücüleri düzgün çalışmıyor ya da eski olabilir. Bu yavaş ya da bozuk grafiklere sebep olabilir. DirectX'i gğncellemek bu problemi çözebilir."
|
||||
|
||||
# 00gltest.rpy:231
|
||||
old "Its graphics drivers may be out of date or not operating correctly. This can lead to slow or incorrect graphics display."
|
||||
new "Grafik sürücüleri düzgün çalışmıyor ya da eski olabilir. Bu yavaş ya da bozuk grafiklere sebep olabilir."
|
||||
|
||||
# 00gltest.rpy:236
|
||||
old "Update DirectX"
|
||||
new "DirectX'i Güncelle"
|
||||
|
||||
# 00gltest.rpy:242
|
||||
old "Continue, Show this warning again"
|
||||
new "Devam et, bu uyarıyı tekrar göster"
|
||||
|
||||
# 00gltest.rpy:246
|
||||
old "Continue, Don't show warning again"
|
||||
new "Devam et, bu uyarıyı tekrar gösterme"
|
||||
|
||||
# 00gltest.rpy:264
|
||||
old "Updating DirectX."
|
||||
new "DirectX Güncelleniyor"
|
||||
|
||||
# 00gltest.rpy:268
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "DirectX web kurulumu başladı. Araç çubuğuna küçültülmüş durumda başlamış olabilir. Lütfen DirectX'i kurmak için yönergeleri izleyin."
|
||||
|
||||
# 00gltest.rpy:272
|
||||
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
|
||||
new "{b}Not:{/b} Microsoft'un DirectX web kurulum programı, varsayılan olarak Bing araç çubuğunu da yükler. Bu araç çubuğunu istemiyorsanız, kutudaki tiki kaldırın."
|
||||
|
||||
# 00gltest.rpy:276
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "Kurulum bittiğinde, lütfen programı yeniden başlatmak için aşağıya tıklayın."
|
||||
|
||||
# 00gltest.rpy:278
|
||||
old "Restart"
|
||||
new "Yeniden Başlat"
|
||||
|
||||
# 00gamepad.rpy:32
|
||||
old "Select Gamepad to Calibrate"
|
||||
new "Kalibre Etmek için Gamepad Seçin"
|
||||
|
||||
# 00gamepad.rpy:35
|
||||
old "No Gamepads Available"
|
||||
new "Mevcut Gamepad Yok"
|
||||
|
||||
# 00gamepad.rpy:54
|
||||
old "Calibrating [name] ([i]/[total])"
|
||||
new "Kalibre Ediliyor [name] ([i]/[total])"
|
||||
|
||||
# 00gamepad.rpy:58
|
||||
old "Press or move the [control!r] [kind]."
|
||||
new "Bas veya hareket ettir [control!r] [kind]."
|
||||
|
||||
# 00gamepad.rpy:66
|
||||
old "Skip (A)"
|
||||
new "Atla (A)"
|
||||
|
||||
# 00gamepad.rpy:69
|
||||
old "Back (B)"
|
||||
new "Geri (B)"
|
||||
|
||||
# _errorhandling.rpym:538
|
||||
old "Open"
|
||||
new "Aç"
|
||||
|
||||
# _errorhandling.rpym:540
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "traceback.txt dosyasını bir metin düzenleyicisinde açar."
|
||||
|
||||
# _errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "BBCode Kopyala"
|
||||
|
||||
# _errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "traceback.txt dosyasını https://lemmasoft.renai.us/ gibi forumlarda kullanmak üzere BBcode olarak panoya kopyalar."
|
||||
|
||||
# _errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
new "Markdown Kopyala"
|
||||
|
||||
# _errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "traceback.txt dosyasını Discord'da kullanmak üzere Markdown olarak panoya kopyalar."
|
||||
|
||||
# _errorhandling.rpym:577
|
||||
old "An exception has occurred."
|
||||
new "Bir hata meydana geldi."
|
||||
|
||||
# _errorhandling.rpym:597
|
||||
old "Rollback"
|
||||
new "Geri al"
|
||||
|
||||
# _errorhandling.rpym:599
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "Kaydetmeniz ya da başka bir seçim yapmanız için önceki bir zamana geri almayı dener."
|
||||
|
||||
# _errorhandling.rpym:602
|
||||
old "Ignore"
|
||||
new "Yok say"
|
||||
|
||||
# _errorhandling.rpym:606
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "Hatayı görmezden gelir ve devam etmenize izin verir."
|
||||
|
||||
# _errorhandling.rpym:608
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "Hatayı görmezden gelir ve devam etmenize izin verir. Bu genelde ek hatalara yol açar."
|
||||
|
||||
# _errorhandling.rpym:612
|
||||
old "Reload"
|
||||
new "Yeniden yükle"
|
||||
|
||||
# _errorhandling.rpym:614
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "Oyunu bellekten geri yükler, mümkünse oyun durumunu geri yükler ve kaydeder."
|
||||
|
||||
# _errorhandling.rpym:617
|
||||
old "Console"
|
||||
new "Konsol"
|
||||
|
||||
# _errorhandling.rpym:619
|
||||
old "Opens a console to allow debugging the problem."
|
||||
new "Hata ayıklamak için bir konsol açar."
|
||||
|
||||
# _errorhandling.rpym:629
|
||||
old "Quits the game."
|
||||
new "Oyundan çıkar."
|
||||
|
||||
# _errorhandling.rpym:653
|
||||
old "Parsing the script failed."
|
||||
new "Script ayrıştırma başarısız oldu."
|
||||
|
||||
# _errorhandling.rpym:679
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "errors.txt dosyasını bir metin düzenleyicide açar."
|
||||
|
||||
# _errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "errors.txt dosyasını https://lemmasoft.renai.us/ gibi forumlarda kullanmak üzere BBcode olarak panoya kopyalar."
|
||||
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "errors.txt dosyasını Discord'da kullanmak üzere Markdown olarak panoya kopyalar."
|
||||
|
||||
@@ -0,0 +1,435 @@
|
||||
|
||||
translate turkish strings:
|
||||
|
||||
# gui.rpy:2
|
||||
old "## Initialization"
|
||||
new "## Başlatma"
|
||||
|
||||
# gui.rpy:5
|
||||
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
|
||||
new "## Başlatma uzaklık ifadesi bu dosyadaki başlatma ifadelerinin başka bir dosyadaki başlatma ifadelerinden önce çalışmasını sağlar."
|
||||
|
||||
# gui.rpy:9
|
||||
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## gui.init çağrısı duyarlı varsayılan stilleri sıfırlar, oyunun en ve boyunu ayarlar."
|
||||
|
||||
# gui.rpy:17
|
||||
old "## GUI Configuration Variables"
|
||||
new "## GUI Yapılandırma Değişkenleri"
|
||||
|
||||
# gui.rpy:21
|
||||
old "## Colors"
|
||||
new "## Renkler"
|
||||
|
||||
# gui.rpy:23
|
||||
old "## The colors of text in the interface."
|
||||
new "## Arayüzdeki metin renkleri"
|
||||
|
||||
# gui.rpy:25
|
||||
old "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## Arayüzde başlık ve vurgulu metinlerde kullanılan bir renk"
|
||||
|
||||
# gui.rpy:29
|
||||
old "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## Bir metin düğmesi seçili ya da fare üstünde değilken kullanılan renk."
|
||||
|
||||
# gui.rpy:32
|
||||
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
new "## Küçük renk, aynı etkiyi yaratmak için daha parlak/koyu olması gereken küçük metin için kullanılır."
|
||||
|
||||
# gui.rpy:36
|
||||
old "## The color that is used for buttons and bars that are hovered."
|
||||
new "## Üstüne fare imleci tutulan düğme ve çubuklar için kullanılan renk."
|
||||
|
||||
# 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 "## Odaklanmamış ancak seçilmiş bir metin düğmesi için kullanılan renk. Bir buton ancak ekranda ise ya da tercih değeri ise seçilir."
|
||||
|
||||
# gui.rpy:43
|
||||
old "## The color used for a text button when it cannot be selected."
|
||||
new "## Seçilemeyen bir metin düğmesinde kullanılan renk."
|
||||
|
||||
# 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 "## Çubukların dolmamış parçaları için kullanılan renk. Direkt olarak kullanılmazlar, ancak resimleri yeniden yaratırken kullanılırlar."
|
||||
|
||||
# gui.rpy:51
|
||||
old "## The colors used for dialogue and menu choice text."
|
||||
new "## Diyalog ve menü seçimleri için kullanılan renkler."
|
||||
|
||||
# gui.rpy:56
|
||||
old "## Fonts and Font Sizes"
|
||||
new "## Fontlar ve Font Boyutları"
|
||||
|
||||
# gui.rpy:58
|
||||
old "## The font used for in-game text."
|
||||
new "## Oyun-içi metin için kullanılan font."
|
||||
|
||||
# gui.rpy:61
|
||||
old "## The font used for character names."
|
||||
new "## Karakter adları için kullanılan font."
|
||||
|
||||
# gui.rpy:64
|
||||
old "## The font used for out-of-game text."
|
||||
new "## Oyun-dışı metin için kullanılan font."
|
||||
|
||||
# gui.rpy:67
|
||||
old "## The size of normal dialogue text."
|
||||
new "## Normal diyalog metni için kullanılan boyut."
|
||||
|
||||
# gui.rpy:70
|
||||
old "## The size of character names."
|
||||
new "## Karakter adı boyutu."
|
||||
|
||||
# gui.rpy:73
|
||||
old "## The size of text in the game's user interface."
|
||||
new "## Oyun arayüzü için kullanılan metin boyutu."
|
||||
|
||||
# gui.rpy:76
|
||||
old "## The size of labels in the game's user interface."
|
||||
new "## Oyun arayüzünde kullanılan başlık boyutu."
|
||||
|
||||
# gui.rpy:79
|
||||
old "## The size of text on the notify screen."
|
||||
new "## Bildirim ekranındaki metin boyutu."
|
||||
|
||||
# gui.rpy:82
|
||||
old "## The size of the game's title."
|
||||
new "## Oyun başlığı boyutu."
|
||||
|
||||
# gui.rpy:86
|
||||
old "## Main and Game Menus"
|
||||
new "## Ana ve Oyun Menüleri"
|
||||
|
||||
# gui.rpy:88
|
||||
old "## The images used for the main and game menus."
|
||||
new "## Ana menü ve oyun menüsü için kullanılan resimler."
|
||||
|
||||
# gui.rpy:93
|
||||
old "## Dialogue"
|
||||
new "## Diyalog"
|
||||
|
||||
# gui.rpy:95
|
||||
old "## These variables control how dialogue is displayed on the screen one line at a time."
|
||||
new "## Bu değişkenler diyaloğun ekranda satır satır nasıl görüneceğini belirler."
|
||||
|
||||
# gui.rpy:98
|
||||
old "## The height of the textbox containing dialogue."
|
||||
new "## Diyalog metni kutusunun boyu."
|
||||
|
||||
# gui.rpy:101
|
||||
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
|
||||
new "## Metin kutusunun dikey olarak ekrandaki yeri. 0.0 en üst, 0.5 merkez, 1.0 ise en alt."
|
||||
|
||||
# gui.rpy:106
|
||||
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## Konuşan karakterin adının metin kutusuna göre yerleştirilmesi. Soldan ya da üstten herhangi sayıda piksel olabilir, ya da 0.5 ile ortalanabilir."
|
||||
|
||||
# gui.rpy:111
|
||||
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## Karakter adının yatay hizalanması. 0.0 ile sola yapıştırılabilir, 0.5 ile ortalanabilir ve 1.0 ile sağa yapıştırılabilir."
|
||||
|
||||
# gui.rpy:115
|
||||
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
|
||||
new "## Karakter adını taşıyan kutunun eni, boyu ve sınırları. Otomatik boyutlandırma için seçim yapmayın."
|
||||
|
||||
# gui.rpy:120
|
||||
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## Karakter adını taşıyan kutunun sınırları, sırasıyla sol, üst, sağ ve alt."
|
||||
|
||||
# gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Etkin ise isim kutusunun arkaplanı eğilecek, etkin değil ise arkaplan boyutlandırılacak."
|
||||
|
||||
# gui.rpy:129
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
new "## Metin kutusuna göre diyaloğun yerleştirilmesi. Soldan ya da üstten herhangi sayıda piksel olabilir, ya da 0.5 ile ortalanabilir."
|
||||
|
||||
# gui.rpy:135
|
||||
old "## The maximum width of dialogue text, in pixels."
|
||||
new "## Diyalog metninin piksel olarak maksimum genişliği."
|
||||
|
||||
# gui.rpy:138
|
||||
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## Diyalog metninin yatay hizalandırılması. 0.0 ile sola yapıştırılabilir, 0.5 ile ortalanabilir ve 1.0 ile sağa yapıştırılabilir."
|
||||
|
||||
# gui.rpy:143
|
||||
old "## Buttons"
|
||||
new "## Düğmeler"
|
||||
|
||||
# gui.rpy:145
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## Bu değişkenler, gui/button'daki resim dosyaları ile birlikte hangi düğmelerin gösterileceğini kontrol eder."
|
||||
|
||||
# gui.rpy:148
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## Bir düğmenin piksel olarak eni ve boyu. Eğer seçilmezse, Ren'Py bir boyut hesaplar."
|
||||
|
||||
# gui.rpy:152
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## Bir düğmenin sınırları, sırasıyla sol, üst, sağ ve alt."
|
||||
|
||||
# gui.rpy:155
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## Etkin ise arkaplan resmi eğilecek. Etkin değil ise arkaplan resmi doğrusal boyutlandırılacak."
|
||||
|
||||
# gui.rpy:159
|
||||
old "## The font used by the button."
|
||||
new "## Düğme tarafından kullanılan font."
|
||||
|
||||
# gui.rpy:162
|
||||
old "## The size of the text used by the button."
|
||||
new "## Düğme tarafından kullanılan metin boyutu."
|
||||
|
||||
# gui.rpy:165
|
||||
old "## The color of button text in various states."
|
||||
new "## Düğme metninin değişik durumlardaki rengi."
|
||||
|
||||
# gui.rpy:171
|
||||
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
|
||||
new "## Düğme metninin yatay hizalandırılması. (0.0 sol, 0.5 merkez, 1.0 sağ)."
|
||||
|
||||
# gui.rpy:176
|
||||
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## Bu değişkenler değişik butonlarda kullanılan ayarların üstüne yazılır. Lütfen hangi düğmelerin mevcut olduğu ve ne için kullanıldıklarını öğrenmek için gui blgelerine bakınız."
|
||||
|
||||
# gui.rpy:180
|
||||
old "## These customizations are used by the default interface:"
|
||||
new "## Bu yapılandırmalar varsayılan arayüz tarafından kullanılır:"
|
||||
|
||||
# gui.rpy:195
|
||||
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## Düzgün isimlendirilmiş değişkenler ekleyerek kendi düzenlemelerinizi de yapabilirsiniz. Örneğin bir sonraki yorum satırını aktifleştirerek bit navigasyon düğmesinin genişliğini ayarlayabilirsiniz."
|
||||
|
||||
# gui.rpy:202
|
||||
old "## Choice Buttons"
|
||||
new "## Seçim Düğmeleri"
|
||||
|
||||
# gui.rpy:204
|
||||
old "## Choice buttons are used in the in-game menus."
|
||||
new "## Seçim düğmeleri oyun içi menülerde kullanılır."
|
||||
|
||||
# gui.rpy:218
|
||||
old "## File Slot Buttons"
|
||||
new "## Dosya Solut Düğmeleri"
|
||||
|
||||
# gui.rpy:220
|
||||
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## Bir dosya slotu düğmesi özel bir tür düğmedir. Bir önizleme resmi ve kayıdın içeriğine dair bir metin içerir. Diğer düğmeler gibi bir kayıt slotu düğmesi de gui/button'daki resimleri kullanır."
|
||||
|
||||
# gui.rpy:224
|
||||
old "## The save slot button."
|
||||
new "## Kayıt slotu düğmesi."
|
||||
|
||||
# gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## Kayıt slotlarında kullanılan önizleme resminin boy ve eni."
|
||||
|
||||
# gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## Kayıt slotlarının gösterildiği satır ve sütun sayısı."
|
||||
|
||||
# gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
new "## Konumlandırma ve Boşluklar"
|
||||
|
||||
# gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## Bu değişkenler değişik kullanıcı arayüzü elemanlarının yerlerini ve aralarındaki boşlukları kontrol eder."
|
||||
|
||||
# gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## Navigasyon düğmelerinin sol taraflarının ekranın soluna göre konumları."
|
||||
|
||||
# gui.rpy:252
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## Atlama göstergesinin dikey konumu."
|
||||
|
||||
# gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## Bildirim ekranının dikey konumu."
|
||||
|
||||
# gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## Menü seçimleri arası boşluk."
|
||||
|
||||
# gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## Ana menü ve oyun menülerindeki navigasyon bölümündeki düğmeler."
|
||||
|
||||
# gui.rpy:264
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## Tercihler arası boşluk miktarını kontrol eder."
|
||||
|
||||
# gui.rpy:267
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## Terchi düğmeleri arası boşluk miktarını kontrol eder."
|
||||
|
||||
# gui.rpy:270
|
||||
old "## The spacing between file page buttons."
|
||||
new "## Dosya sayfası düğmeleri arası boşluk."
|
||||
|
||||
# gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## Dosya slotları arası boşluk."
|
||||
|
||||
# gui.rpy:276
|
||||
old "## The position of the main menu text."
|
||||
new "## Ana menü metni konumu."
|
||||
|
||||
# gui.rpy:280
|
||||
old "## Frames"
|
||||
new "## Çerçeveler"
|
||||
|
||||
# gui.rpy:282
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## Bu değişkenler bir pencere veya üst sayfa olmadığı zaman kullanıcı arayüzü elemanlarının görünümünü kontrol eder."
|
||||
|
||||
# gui.rpy:285
|
||||
old "## Generic frames."
|
||||
new "## Genel çerçeveler."
|
||||
|
||||
# gui.rpy:288
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## Onay ekranının bir parçası olarak kullanılan çerçeve."
|
||||
|
||||
# gui.rpy:291
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## Atlama ekranının bir parçası olarak kullanılan çerçeve."
|
||||
|
||||
# gui.rpy:294
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## Bildirim ekranının bir parçası olarak kullanılan çerçeve."
|
||||
|
||||
# gui.rpy:297
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## Çerçeve arkaplanları eğimli olmalı mı ?"
|
||||
|
||||
# gui.rpy:301
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## Çubuklar, Kaydırma Çububkları ve Kaydırıcılar"
|
||||
|
||||
# gui.rpy:303
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## Bunlar çubuklar, kaydırma çububkları ve kaydırıcıların boyutunu kontrol eder."
|
||||
|
||||
# gui.rpy:305
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## Varsayılan GUI yalnızca kaydırıcıları ve dikey kaydırma çubuklarını kullanır. Diğer bütün çubuklar sadece yaratıcı tarafından yazılmış ekranlarda kullanılır."
|
||||
|
||||
# gui.rpy:308
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## Yatay çubuklar, kaydırma çububkları ve kaydırıcıların boyu. Dikey çubuklar, kaydırma çububkları ve kaydırıcıların eni."
|
||||
|
||||
# gui.rpy:314
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## Eğer çubuk resimleri eğilmeliyse etkin. Eğer doğrusal boyutlandırılmalılar ise etkin değil."
|
||||
|
||||
# gui.rpy:319
|
||||
old "## Horizontal borders."
|
||||
new "## Yatay sınırlar."
|
||||
|
||||
# gui.rpy:324
|
||||
old "## Vertical borders."
|
||||
new "## Dikey sınırlar."
|
||||
|
||||
# gui.rpy:329
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## GUI'deki kaydırılamayan çubukların yapacağı eylem. \"hide\" onları saklar, seçim yapılmazsa gösterir."
|
||||
|
||||
# gui.rpy:334
|
||||
old "## History"
|
||||
new "## Geçmiş"
|
||||
|
||||
# gui.rpy:336
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## Geçmiş ekranı oyuncunun halihazırda gördüğü diyaloğu gösterir."
|
||||
|
||||
# gui.rpy:338
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## Ren'Py tarafından tutulacak diyalog bloklarının sayısı."
|
||||
|
||||
# gui.rpy:341
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## Geçmiş ekranı girişinin boyu. Performans bedeliyle boyu değişken yapmak için seçim yapmayın."
|
||||
|
||||
# gui.rpy:345
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## Konuşan karakterin isminin konumu, genişliği ve hizalanması."
|
||||
|
||||
# gui.rpy:352
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## Diyalog metninin konumu, genişliği ve hizalanması."
|
||||
|
||||
# gui.rpy:359
|
||||
old "## NVL-Mode"
|
||||
new "## NVL-Modu"
|
||||
|
||||
# gui.rpy:361
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## NVL-mod ekran, NVL-mod karakterler tarafından konuşulan diyalogu gösterir."
|
||||
|
||||
# gui.rpy:363
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## NVL-mod arkaplan penceresinin sınırları."
|
||||
|
||||
# gui.rpy:366
|
||||
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
new "## Ren'Py tarafındad gösterilecek maksimum NVL-modu girişi sayısı. Bundan daha çok giriş gösterilmesi gerektiğinde, en eski giriş kaldırılacak."
|
||||
|
||||
# gui.rpy:370
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## NVL-modu girişinin boyu. Boyun dinamik olarak değiştirilmesi için seçim yapmayın."
|
||||
|
||||
# gui.rpy:374
|
||||
old "## 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 seçili değilken NVL-modu girişleri arası, aynı zamanda NVL-modu menüsü ve NVL-modu girişleri arası boşluk."
|
||||
|
||||
# gui.rpy:391
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## nvl_thought metninin konumu, genişliği ve hizalanması (nvl_narrator karakteri tarafından konuşulan metin.)"
|
||||
|
||||
# gui.rpy:398
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## nvl menu_button'ları konumu."
|
||||
|
||||
# gui.rpy:402
|
||||
old "## Localization"
|
||||
new "## Yerelleştirme"
|
||||
|
||||
# gui.rpy:404
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## Satırları kırma iznini kontrol eder. Varsayılan ayar pek çok dile uygundur. Mevctu bütün değerler https://www.renpy.org/doc/html/style_properties.html#style-property-language adresinde bulunabilir."
|
||||
|
||||
# gui.rpy:412
|
||||
old "## Mobile devices"
|
||||
new "## Mobil cihazlar"
|
||||
|
||||
# gui.rpy:417
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## Hızlı düğmelerin boyutlarını değiştirerek tablet ve telefonlarda dokunmayı kolaylaştırır."
|
||||
|
||||
# gui.rpy:423
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## Telefonlarda kolayca görünebildiklerinden emin olmak için çeşitli GUI elemanlarının boy ve aralığını değiştirir."
|
||||
|
||||
# gui.rpy:427
|
||||
old "## Font sizes."
|
||||
new "## Font boyutları."
|
||||
|
||||
# gui.rpy:435
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## Metin kutusunun konumunu ayarla."
|
||||
|
||||
# gui.rpy:441
|
||||
old "## Change the size and spacing of various things."
|
||||
new "## Çeiştli şeylerin boy ve aralığını ayarla."
|
||||
|
||||
# gui.rpy:454
|
||||
old "## File button layout."
|
||||
new "## Dosya düğmesi düzeni."
|
||||
|
||||
# gui.rpy:458
|
||||
old "## NVL-mode."
|
||||
new "## NVL-modu."
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,203 @@
|
||||
|
||||
translate turkish strings:
|
||||
|
||||
# options.rpy:1
|
||||
old "## This file contains options that can be changed to customize your game."
|
||||
new "## Bu dosya oyununuzu özelleştirmek için değiştirlebilecek ayarları içerir."
|
||||
|
||||
# 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 "## İki '#' ile başlayan satırlar yorumdur, öyle kalmalıdırlar. Tek '#' ile başlayan satırlar etkin olmayan kodlardır, gerekli olduğunda '#' işareti silinerek etkinleştirilebilirler."
|
||||
|
||||
# options.rpy:10
|
||||
old "## Basics"
|
||||
new "## Temeller"
|
||||
|
||||
# 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 "## Oyunun insan tarafından okunabilir ismi. Varsayılan pencere başlığını ayarlamak için kullanılır, arayüzde ve hata raporlarında görünür."
|
||||
|
||||
# options.rpy:15
|
||||
old "## The _() surrounding the string marks it as eligible for translation."
|
||||
new "## Stringi çevreleyen _(), stringin çeviriye uygun olduğu anlamına gelir."
|
||||
|
||||
# options.rpy:17
|
||||
old "Ren'Py 7 Default GUI"
|
||||
new "Ren'Py 7 Varsayılan 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 "## Yukarıda yazılan başlığı ana menüde görünüp görünmeyeceğini belirler. Başlığı gizlemek için bunu etkinleştirmeyin."
|
||||
|
||||
# options.rpy:26
|
||||
old "## The version of the game."
|
||||
new "## Oyunun versiyonu."
|
||||
|
||||
# options.rpy:31
|
||||
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
|
||||
new "## Oyunun 'hakkında' ekranına yerleştirilen metin. Metni üçlü-tırnak arasına yerleştirin, paragraflar arası boş bir satır bırakın."
|
||||
|
||||
# options.rpy:38
|
||||
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
|
||||
new "## Oyunun yayımlanacak derlemenin kısayollarında ve klasörlerinde kullanılacak kısa ismi. Bu sadece ASCII karakterleri içermeli; boşluk, iki nokta ya da noktalı virgül içermemeli."
|
||||
|
||||
# options.rpy:45
|
||||
old "## Sounds and music"
|
||||
new "## Sesler ve müzik"
|
||||
|
||||
# options.rpy:47
|
||||
old "## These three variables control which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
|
||||
new "## Bu üç değişken oynatıcıda varsayılan olarak gösterilecek mixer'ları kontrol eder. Bunların birini etkisizleştirmek, uygun mixer'ı saklar."
|
||||
|
||||
# options.rpy:56
|
||||
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
|
||||
new "## Kullanıcının ses kanalında bir örnek ses oynatabilmesine izin vermek istiyorsanız, aşağıdaki satırı etkinleştirin ve oynatılacak bir örnek ses seçin."
|
||||
|
||||
# options.rpy:63
|
||||
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
|
||||
new "## Oyuncu ana menüdeyken oynatılacak bir ses dosyasını ayarlamak için aşağıdaki satırı etkinleştirin. Bu dosya oyun başladıktan sonra durdurulana ya da başka bir dosya oynatılana kadr çalmaya devam edecektir."
|
||||
|
||||
# options.rpy:70
|
||||
old "## Transitions"
|
||||
new "## Geçişler"
|
||||
|
||||
# options.rpy:72
|
||||
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
|
||||
new "## Bu değişkenler belli olaylardan sonraki geçişleri ayarlamak için kullanılır. Her değişken bir geçişe ayarlanmalı, geçiş kullanılmak istenmiyorsa 'Hiçbiri' seçilmeli."
|
||||
|
||||
# options.rpy:76
|
||||
old "## Entering or exiting the game menu."
|
||||
new "## Oyun menüsüne giriş ve menüden çıkış."
|
||||
|
||||
# options.rpy:82
|
||||
old "## Between screens of the game menu."
|
||||
new "## Oyun menüleri ekranları arası."
|
||||
|
||||
# options.rpy:87
|
||||
old "## A transition that is used after a game has been loaded."
|
||||
new "## Oyun yüklendikten sonra kullanılan bir geçiş."
|
||||
|
||||
# options.rpy:92
|
||||
old "## Used when entering the main menu after the game has ended."
|
||||
new "## Oyun bittikten sonra ana menüye geçerken kullanılır."
|
||||
|
||||
# options.rpy:97
|
||||
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
|
||||
new "## Oyun başlangı sırasında kullanılan geçiş için bir değişken yok. Onun yerine, sahneyi gösterdikten sonra bir 'with' ifadesi kullanın."
|
||||
|
||||
# options.rpy:102
|
||||
old "## Window management"
|
||||
new "## Pencere yönetimi"
|
||||
|
||||
# options.rpy:104
|
||||
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
|
||||
new "## Bu, diyalog ekranının ne zaman gösterildiğini kontrol eder. Eğer \"show\" seçili ise, her zaman gösterilir. Eğer \"hide\" ise, sadece diyalog olduğu zaman gösterilir. Eğer \"auto\" ise, sahne ifadelerinde pencere gizlenir ve diyalog sırasında yeniden gösterilir."
|
||||
|
||||
# options.rpy:109
|
||||
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
|
||||
new "## Bu, oyun başladıktan sonra \"window show\", \"window hide\", ve \"window auto\" ifadeleriyle değiştirilebilir."
|
||||
|
||||
# options.rpy:115
|
||||
old "## Transitions used to show and hide the dialogue window"
|
||||
new "## Diyalog penceresini gösterip gizlerken kullanılan geçişler"
|
||||
|
||||
# options.rpy:121
|
||||
old "## Preference defaults"
|
||||
new "## Tercih varsayılanları"
|
||||
|
||||
# options.rpy:123
|
||||
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
|
||||
new "## Varsayılan metin hızını kontrol eder. Varsayılan olan 0 sayısı metni anında gösterir, eğer başka bir sayı girilirse bu sayı saniye başına yazılan karakter hızını belirler."
|
||||
|
||||
# options.rpy:129
|
||||
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
|
||||
new "## Varsayılan oto-ileri-sarma beklemesi. Uzun sayılar daha uzun beklemeye yol açar, 0 ve 30 arası uygundur."
|
||||
|
||||
# options.rpy:135
|
||||
old "## Save directory"
|
||||
new "## Kayıt klasörü"
|
||||
|
||||
# options.rpy:137
|
||||
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
|
||||
new "## Ren'Py'ın oyun kayıt dosyaları için kullanacağı, platforma özel olan yeri knotrol eder. Kayıt dosyaları şuraya yerleştirilecektir:"
|
||||
|
||||
# options.rpy:140
|
||||
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
new "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
|
||||
# options.rpy:142
|
||||
old "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
|
||||
new "## Macintosh: $HOME/Library/RenPy/<config.save_directory>"
|
||||
|
||||
# options.rpy:144
|
||||
old "## Linux: $HOME/.renpy/<config.save_directory>"
|
||||
new "## Linux: $HOME/.renpy/<config.save_directory>"
|
||||
|
||||
# options.rpy:146
|
||||
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
|
||||
new "## Bu genelde değiştirilmemelidir, ancak değiştirilecekse mutlaka bir string olmalı, bir ifade değil."
|
||||
|
||||
# options.rpy:152
|
||||
old "## Icon"
|
||||
new "## İkon"
|
||||
|
||||
# options.rpy:154
|
||||
old "## The icon displayed on the taskbar or dock."
|
||||
new "## İşlem çubuğunda ya da kenetlenmiş durumda gösterilecek ikon."
|
||||
|
||||
# options.rpy:159
|
||||
old "## Build configuration"
|
||||
new "## Derleme yapılandırması"
|
||||
|
||||
# options.rpy:161
|
||||
old "## This section controls how Ren'Py turns your project into distribution files."
|
||||
new "## Bu bölüm Ren'Py'ın projenizi nasıl dağıtım dosyalarına dönüştüreceğini kontrol eder."
|
||||
|
||||
# options.rpy:166
|
||||
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
|
||||
new "## Bu fonksiyonlar dosya yolları gerektirir. Dosya yolları büyük-küçük harfe duyarsızdır ve başında ister / olsun ister olmasın ana klasöre göre eşleştirilirler. Eğer birden çok eşleşme olursa ilki kullanılır."
|
||||
|
||||
# options.rpy:171
|
||||
old "## In a pattern:"
|
||||
new "## Bir yolda:"
|
||||
|
||||
# options.rpy:173
|
||||
old "## / is the directory separator."
|
||||
new "## / karakteri klasör ayıracıdır."
|
||||
|
||||
# options.rpy:175
|
||||
old "## * matches all characters, except the directory separator."
|
||||
new "## * klasör ayıracı dışında bütün karakterleri eşleştirir."
|
||||
|
||||
# options.rpy:177
|
||||
old "## ** matches all characters, including the directory separator."
|
||||
new "## ** klasör ayıracı da dahil bütün karakterleri eşleştirir."
|
||||
|
||||
# options.rpy:179
|
||||
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
|
||||
new "## Örneğin, \"*.txt\" ana klasördeki bütün txt dosyalarını, \"game/**.ogg\" oyun klasöründeki ve alt klasörlerdeki bütün ogg'leri, \"**.psd\" ise projenin herhangi bir yerindeki tüm psd dosyalarını eşleştirir."
|
||||
|
||||
# options.rpy:183
|
||||
old "## Classify files as None to exclude them from the built distributions."
|
||||
new "## Dosyaları derlenmiş dağıtımlardan ayırmak için 'Hiçbiri (None)' olarak sınıflandırın."
|
||||
|
||||
# options.rpy:191
|
||||
old "## To archive files, classify them as 'archive'."
|
||||
new "## Dosyaları arşivlemek için 'arşiv' olarak sınıflandırın."
|
||||
|
||||
# options.rpy:196
|
||||
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
|
||||
new "## Doküman yollarıyla eşleşen dosyalar mac uygulaması derlemesinde kopyalanır, böylece hem uygulamada hem de zip dosyasında görünürler."
|
||||
|
||||
# options.rpy:202
|
||||
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
|
||||
new "## Mac'te codesigning'i etkinleştirmek için bunu Apple Developer ID Application'ınızı içeren bir stringe ayarlayın. Bunun size Apple tarafından verilen ID olduğuna emin olun."
|
||||
|
||||
# options.rpy:209
|
||||
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## Uygulama içi satın alma ve genişletme paketleri indirmek için bir Google Play lisans anahtarı gerekir. Bu, Google Play geliştirici konsolunda \"Services & APIs\" sayfasında bulunabilir."
|
||||
|
||||
# options.rpy:216
|
||||
old "## The username and project name associated with an itch.io project, separated by a slash."
|
||||
new "## itch.io projesine bağlı, eğik çizgi ile ayrılmış kullanıcı adı ve proje adı."
|
||||
|
||||
@@ -0,0 +1,675 @@
|
||||
|
||||
translate turkish strings:
|
||||
|
||||
# screens.rpy:9
|
||||
old "## Styles"
|
||||
new "## Stiller"
|
||||
|
||||
# screens.rpy:81
|
||||
old "## In-game screens"
|
||||
new "## Oyun içi ekranlar"
|
||||
|
||||
# screens.rpy:85
|
||||
old "## Say screen"
|
||||
new "## Söyleme ekranı"
|
||||
|
||||
# screens.rpy:87
|
||||
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
|
||||
new "## Söyleme ekranı oyuncuya diyalogu göstermek için kullanılır. İki parametre alır; kim ve ne. Bunlar sırasıyla konuşan karaktere ve gösterliecek metne karşılık gelir. (Eğer isim verilmezse 'kim' parametresi Hiçbiri (None) olabilir.)"
|
||||
|
||||
# screens.rpy:92
|
||||
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
|
||||
new "## Ren'Py, bu ekranı gösterilen metni düzenlemek için kullandığından \"what\" id'si ile gösterilebilir bir metin yaratmalıdır. Aynı zamanda gösterilebilir yaratmak için \"who\" ve stil özelliklerini uygulamak için \"window\" id'lerini alabilir."
|
||||
|
||||
# screens.rpy:96
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#say"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#say"
|
||||
|
||||
# screens.rpy:114
|
||||
old "## If there's a side image, display it above the text. Do not display on the phone variant - there's no room."
|
||||
new "## Bir yan resim varsa, metnin üzerinde göster. Telefon versiyonunda gösterme - yeterince yer yok."
|
||||
|
||||
# screens.rpy:120
|
||||
old "## Make the namebox available for styling through the Character object."
|
||||
new "## Karakter nesnesi aracılığıyla isim kutusunun stillendirilmesine izin ver."
|
||||
|
||||
# screens.rpy:164
|
||||
old "## Input screen"
|
||||
new "## Giriş ekranı"
|
||||
|
||||
# screens.rpy:166
|
||||
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
|
||||
new "## Bu ekran renpy.input'u göstermek için kullanılır. Komut istemi parametresi bir metin komutu aktarmak için kullanılır."
|
||||
|
||||
# screens.rpy:169
|
||||
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
|
||||
new "## Bu ekran çeşitli giriş parametrelerini kabul etmek için \"input\" id'si ile bir giriş göstermeli."
|
||||
|
||||
# screens.rpy:172
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#input"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#input"
|
||||
|
||||
# screens.rpy:199
|
||||
old "## Choice screen"
|
||||
new "## Seçim ekranı"
|
||||
|
||||
# screens.rpy:201
|
||||
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
|
||||
new "## Bu ekran menü ifadesiyle sunulan oyun içi seçimleri göstermek için kullanılır. Tek parametre olan maddeler, nesne listeleridir; her birinin başlığı ve eylem alanı vardır."
|
||||
|
||||
# screens.rpy:205
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#choice"
|
||||
|
||||
# screens.rpy:215
|
||||
old "## When this is true, menu captions will be spoken by the narrator. When false, menu captions will be displayed as empty buttons."
|
||||
new "## Bu etkinken, menü başlıkları anlatıcı tarafından okunur. Etkin değilken, menü başlıkları boş düğmeler olarak gösterilir."
|
||||
|
||||
# screens.rpy:238
|
||||
old "## Quick Menu screen"
|
||||
new "## Hızlı Menü ekranı"
|
||||
|
||||
# screens.rpy:240
|
||||
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
|
||||
new "## Hızlı menü, oyun-dışı menülere kolay erişim için oyunda gösterilir."
|
||||
|
||||
# screens.rpy:245
|
||||
old "## Ensure this appears on top of other screens."
|
||||
new "## Bunun diğer ekranlar üzerinde göründüğünden emin olun."
|
||||
|
||||
# screens.rpy:256
|
||||
old "Back"
|
||||
new "Geri"
|
||||
|
||||
# screens.rpy:257
|
||||
old "History"
|
||||
new "Geçmiş"
|
||||
|
||||
# screens.rpy:258
|
||||
old "Skip"
|
||||
new "Atla"
|
||||
|
||||
# screens.rpy:259
|
||||
old "Auto"
|
||||
new "Oto"
|
||||
|
||||
# screens.rpy:260
|
||||
old "Save"
|
||||
new "Kayıt"
|
||||
|
||||
# screens.rpy:261
|
||||
old "Q.Save"
|
||||
new "H.Kayıt"
|
||||
|
||||
# screens.rpy:262
|
||||
old "Q.Load"
|
||||
new "H.Yükle"
|
||||
|
||||
# screens.rpy:263
|
||||
old "Prefs"
|
||||
new "Tercih"
|
||||
|
||||
# screens.rpy:266
|
||||
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
|
||||
new "## Bu kod, oyuncu kasten arayüzü gizlemediği sürece hızlı menünün oyunda gösterildiğinden emin olmak içindir."
|
||||
|
||||
# screens.rpy:284
|
||||
old "## Main and Game Menu Screens"
|
||||
new "## Ana Menü ve Oyun Menüsü Ekranları"
|
||||
|
||||
# screens.rpy:287
|
||||
old "## Navigation screen"
|
||||
new "## Gezinti ekranı"
|
||||
|
||||
# screens.rpy:289
|
||||
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
|
||||
new "## Bu ekran ana menü ve oyun menülerindedir, diğer menülere gezintiyi sağlar veya oyunu başlatabilir."
|
||||
|
||||
# screens.rpy:304
|
||||
old "Start"
|
||||
new "Başla"
|
||||
|
||||
# screens.rpy:312
|
||||
old "Load"
|
||||
new "Yükle"
|
||||
|
||||
# screens.rpy:314
|
||||
old "Preferences"
|
||||
new "Tercihler"
|
||||
|
||||
# screens.rpy:318
|
||||
old "End Replay"
|
||||
new "Yeniden Oynatmayı Durdur"
|
||||
|
||||
# screens.rpy:322
|
||||
old "Main Menu"
|
||||
new "Ana Menü"
|
||||
|
||||
# screens.rpy:324
|
||||
old "About"
|
||||
new "Hakkında"
|
||||
|
||||
# screens.rpy:328
|
||||
old "## Help isn't necessary or relevant to mobile devices."
|
||||
new "## Yardım mobil cihazlarla alakalı ya da gerekli değildir."
|
||||
|
||||
# screens.rpy:329
|
||||
old "Help"
|
||||
new "Yardım"
|
||||
|
||||
# screens.rpy:331
|
||||
old "## The quit button is banned on iOS and unnecessary on Android."
|
||||
new "## Çıkış butonu iOS'ta yasak ve Android'de gereksizdir."
|
||||
|
||||
# screens.rpy:332
|
||||
old "Quit"
|
||||
new "Çıkış"
|
||||
|
||||
# screens.rpy:346
|
||||
old "## Main Menu screen"
|
||||
new "## Ana Menü ekranı"
|
||||
|
||||
# screens.rpy:348
|
||||
old "## Used to display the main menu when Ren'Py starts."
|
||||
new "## Ren'Py başlatıldığında ana menüyü göstermek için kullanılır."
|
||||
|
||||
# screens.rpy:350
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
|
||||
# screens.rpy:354
|
||||
old "## This ensures that any other menu screen is replaced."
|
||||
new "## Bu diğer herhangi bir menünün aktif olmadığından emin olur."
|
||||
|
||||
# screens.rpy:361
|
||||
old "## This empty frame darkens the main menu."
|
||||
new "## Bu boş çerçeve ana menüyü karartır."
|
||||
|
||||
# screens.rpy:365
|
||||
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
|
||||
new "## Kullan ifadesi bunun içine başka bir ekranı dahil eder. Ana menünün asıl içeriği gezinti ekranındadır."
|
||||
|
||||
# screens.rpy:408
|
||||
old "## Game Menu screen"
|
||||
new "## Oyun Menüsü ekranı"
|
||||
|
||||
# screens.rpy:410
|
||||
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
|
||||
new "## Bu, bir oyun menüsünün temel yapısını ortaya koyar. Ekran başlığı ile çağrılır; arka planı, başlığı ve gezinmeyi gösterir."
|
||||
|
||||
# screens.rpy:413
|
||||
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". When this screen is intended to be used with one or more children, which are transcluded (placed) inside it."
|
||||
new "## Kaydırma parametresi Hiçbiri (None), \"viewport\" veya \"vpgrid\" olabilir. Bu ekran, içine yerleştirilen bir veya birden çok alt nesne (children) ile kullanılmak içindir."
|
||||
|
||||
# screens.rpy:431
|
||||
old "## Reserve space for the navigation section."
|
||||
new "## Gezinti bölmesi için yer ayır."
|
||||
|
||||
# screens.rpy:473
|
||||
old "Return"
|
||||
new "Dön"
|
||||
|
||||
# screens.rpy:536
|
||||
old "## About screen"
|
||||
new "## Hakkında ekranı"
|
||||
|
||||
# screens.rpy:538
|
||||
old "## This screen gives credit and copyright information about the game and Ren'Py."
|
||||
new "## Bu ekran oyun ve Ren'Py ile ilgili telif hakkı ve atıf bilgisi içerir."
|
||||
|
||||
# screens.rpy:541
|
||||
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
|
||||
new "## Bu ekranla ilgili özel bir şey yoktur. Özelleştirilmiş bir ekran yaratmak için örnek olarak kullanılabilir."
|
||||
|
||||
# screens.rpy:548
|
||||
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
|
||||
new "## Bu kullan ifadesi bu ekrana oyun menüsünü dahil eder. Vbox alt nesnesi (child) daha sonra oyun menüsü ekranındaki gözlemci (viewport) içine yerleştirilir."
|
||||
|
||||
# screens.rpy:558
|
||||
old "Version [config.version!t]\n"
|
||||
new "Versiyon [config.version!t]\n"
|
||||
|
||||
# screens.rpy:560
|
||||
old "## gui.about is usually set in options.rpy."
|
||||
new "## gui.about genelde options.rpy'de ayarlanır."
|
||||
|
||||
# screens.rpy:564
|
||||
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
|
||||
new "{a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t] ile yapılmıştır."
|
||||
|
||||
# screens.rpy:567
|
||||
old "## This is redefined in options.rpy to add text to the about screen."
|
||||
new "## Bu, hakkında ekranına metin eklemek için options.rpy'de yeniden tanımlanmıştır."
|
||||
|
||||
# screens.rpy:579
|
||||
old "## Load and Save screens"
|
||||
new "## Yükleme ve Kayıt ekranları"
|
||||
|
||||
# screens.rpy:581
|
||||
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
|
||||
new "## Bu ekranlar oyuncunun oyunu kaydetmesi ve yeniden yüklemesi içindir. İkisi de neredeyse aynı olduğundan üçüncü bir ekran olan file_slots olarak eklenmiştir."
|
||||
|
||||
# screens.rpy:585
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
|
||||
|
||||
# screens.rpy:604
|
||||
old "Page {}"
|
||||
new "Sayfa {}"
|
||||
|
||||
# screens.rpy:604
|
||||
old "Automatic saves"
|
||||
new "Otomatik kayıtlar"
|
||||
|
||||
# screens.rpy:604
|
||||
old "Quick saves"
|
||||
new "Hızlı kayıtlar"
|
||||
|
||||
# screens.rpy:610
|
||||
old "## This ensures the input will get the enter event before any of the buttons do."
|
||||
new "## Bu, girişin diğer bütün düğmelerden önce önce giriş olayını almasını sağlar."
|
||||
|
||||
# screens.rpy:614
|
||||
old "## The page name, which can be edited by clicking on a button."
|
||||
new "## Bir düğmeye basılarak düzenlenebilen sayfa adı."
|
||||
|
||||
# screens.rpy:626
|
||||
old "## The grid of file slots."
|
||||
new "## Dosya slotları ızgarası."
|
||||
|
||||
# screens.rpy:646
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
|
||||
# screens.rpy:646
|
||||
old "empty slot"
|
||||
new "boş slot"
|
||||
|
||||
# screens.rpy:654
|
||||
old "## Buttons to access other pages."
|
||||
new "## Diğer sayfalara ulaşmak için düğmeler."
|
||||
|
||||
# screens.rpy:663
|
||||
old "<"
|
||||
new "<"
|
||||
|
||||
# screens.rpy:666
|
||||
old "{#auto_page}A"
|
||||
new "{#auto_page}A"
|
||||
|
||||
# screens.rpy:669
|
||||
old "{#quick_page}Q"
|
||||
new "{#quick_page}Q"
|
||||
|
||||
# screens.rpy:671
|
||||
old "## range(1, 10) gives the numbers from 1 to 9."
|
||||
new "## range(1, 10) ifadesi 1'den 9'a kadar sayıları verir."
|
||||
|
||||
# screens.rpy:675
|
||||
old ">"
|
||||
new ">"
|
||||
|
||||
# screens.rpy:710
|
||||
old "## Preferences screen"
|
||||
new "Tercihler ekranı"
|
||||
|
||||
# screens.rpy:712
|
||||
old "## The preferences screen allows the player to configure the game to better suit themselves."
|
||||
new "## Tercihler ekranı oyuncunun oyunu kendisine uygun şekilde yapılandırmasını sağlar."
|
||||
|
||||
# screens.rpy:715
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#preferences"
|
||||
|
||||
# screens.rpy:732
|
||||
old "Display"
|
||||
new "Görüntü"
|
||||
|
||||
# screens.rpy:733
|
||||
old "Window"
|
||||
new "Pencere"
|
||||
|
||||
# screens.rpy:734
|
||||
old "Fullscreen"
|
||||
new "Tam ekran"
|
||||
|
||||
# screens.rpy:738
|
||||
old "Rollback Side"
|
||||
new "Geri-Sarma Yanı"
|
||||
|
||||
# screens.rpy:739
|
||||
old "Disable"
|
||||
new "Devre Dışı Bırak"
|
||||
|
||||
# screens.rpy:740
|
||||
old "Left"
|
||||
new "Sol"
|
||||
|
||||
# screens.rpy:741
|
||||
old "Right"
|
||||
new "Sağ"
|
||||
|
||||
# screens.rpy:746
|
||||
old "Unseen Text"
|
||||
new "Görülmemiş Metin"
|
||||
|
||||
# screens.rpy:747
|
||||
old "After Choices"
|
||||
new "Seçim Sonrası"
|
||||
|
||||
# screens.rpy:748
|
||||
old "Transitions"
|
||||
new "Geçişler"
|
||||
|
||||
# screens.rpy:750
|
||||
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
|
||||
new "## \"radio_pref\" veya \"check_pref\" türündeki ek vbox'lar, yaratıcı tarafından belirlenmiş tercihlere burada eklenebilir."
|
||||
|
||||
# screens.rpy:761
|
||||
old "Text Speed"
|
||||
new "Metin Hızı"
|
||||
|
||||
# screens.rpy:765
|
||||
old "Auto-Forward Time"
|
||||
new "Zamanı Oto İleri Sar"
|
||||
|
||||
# screens.rpy:772
|
||||
old "Music Volume"
|
||||
new "Müzik Düzeyi"
|
||||
|
||||
# screens.rpy:779
|
||||
old "Sound Volume"
|
||||
new "Ses Düzeyi"
|
||||
|
||||
# screens.rpy:785
|
||||
old "Test"
|
||||
new "Test"
|
||||
|
||||
# screens.rpy:789
|
||||
old "Voice Volume"
|
||||
new "Konuşma Düzeyi"
|
||||
|
||||
# screens.rpy:800
|
||||
old "Mute All"
|
||||
new "Hepsini Sustur"
|
||||
|
||||
# screens.rpy:876
|
||||
old "## History screen"
|
||||
new "## Geçmiş ekranı"
|
||||
|
||||
# screens.rpy:878
|
||||
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
|
||||
new "## Bu ekran oyuncuya diyalog geçmişini gösterir. Bu ekranla ilgili özel bir şey olmasa da _history_list'te depolanmış diyalog geçmişine erişmesi gerekmektedir."
|
||||
|
||||
# screens.rpy:882
|
||||
old "## https://www.renpy.org/doc/html/history.html"
|
||||
new "## https://www.renpy.org/doc/html/history.html"
|
||||
|
||||
# screens.rpy:888
|
||||
old "## Avoid predicting this screen, as it can be very large."
|
||||
new "## Bu ekranı öngörmekten uzak dur, çünkü çok büyük olabilir."
|
||||
|
||||
# screens.rpy:899
|
||||
old "## This lays things out properly if history_height is None."
|
||||
new "## Geçmiş yüksekliği (history_height) yok ise her şeyi düzgünce yerleştirir."
|
||||
|
||||
# screens.rpy:909
|
||||
old "## Take the color of the who text from the Character, if set."
|
||||
new "## Eğer seçili ise, Karakter'den metin rengini al."
|
||||
|
||||
# screens.rpy:918
|
||||
old "The dialogue history is empty."
|
||||
new "Diyalog geçmişi boş."
|
||||
|
||||
# screens.rpy:921
|
||||
old "## This determines what tags are allowed to be displayed on the history screen."
|
||||
new "## Geçmiş ekranında ne tür etiketlerin gösterilmesine izin verileceğini belirler."
|
||||
|
||||
# screens.rpy:968
|
||||
old "## Help screen"
|
||||
new "## Yardım ekranı"
|
||||
|
||||
# screens.rpy:970
|
||||
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
|
||||
new "## Tuş ve fare girdileriyle ilgili bilgi veren bir ekran. Asıl yardımı görüntülemek için diğer ekranları kullanır. (keyboard_help, mouse_help, ve gamepad_help)"
|
||||
|
||||
# screens.rpy:989
|
||||
old "Keyboard"
|
||||
new "Klavye"
|
||||
|
||||
# screens.rpy:990
|
||||
old "Mouse"
|
||||
new "Fare"
|
||||
|
||||
# screens.rpy:993
|
||||
old "Gamepad"
|
||||
new "Gamepad"
|
||||
|
||||
# screens.rpy:1006
|
||||
old "Enter"
|
||||
new "Enter"
|
||||
|
||||
# screens.rpy:1007
|
||||
old "Advances dialogue and activates the interface."
|
||||
new "Diyalogu ilerletir ve arayüzü aktifleştirir."
|
||||
|
||||
# screens.rpy:1010
|
||||
old "Space"
|
||||
new "Boşluk"
|
||||
|
||||
# screens.rpy:1011
|
||||
old "Advances dialogue without selecting choices."
|
||||
new "Seçim yapmadan diyalogu ilerletir."
|
||||
|
||||
# screens.rpy:1014
|
||||
old "Arrow Keys"
|
||||
new "Ok Tuşları"
|
||||
|
||||
# screens.rpy:1015
|
||||
old "Navigate the interface."
|
||||
new "Arayüzde gezinmeyi sağlar."
|
||||
|
||||
# screens.rpy:1018
|
||||
old "Escape"
|
||||
new "Escape"
|
||||
|
||||
# screens.rpy:1019
|
||||
old "Accesses the game menu."
|
||||
new "Oyun menüsüne erişir."
|
||||
|
||||
# screens.rpy:1022
|
||||
old "Ctrl"
|
||||
new "Ctrl"
|
||||
|
||||
# screens.rpy:1023
|
||||
old "Skips dialogue while held down."
|
||||
new "Basılı iken diyalogu atlar."
|
||||
|
||||
# screens.rpy:1026
|
||||
old "Tab"
|
||||
new "Tab"
|
||||
|
||||
# screens.rpy:1027
|
||||
old "Toggles dialogue skipping."
|
||||
new "Diyalog atlamayı etkinleştirir ya da devre dışı bırakır."
|
||||
|
||||
# screens.rpy:1030
|
||||
old "Page Up"
|
||||
new "Page Up"
|
||||
|
||||
# screens.rpy:1031
|
||||
old "Rolls back to earlier dialogue."
|
||||
new "Önceki diyaloga geri sarar."
|
||||
|
||||
# screens.rpy:1034
|
||||
old "Page Down"
|
||||
new "Page Down"
|
||||
|
||||
# screens.rpy:1035
|
||||
old "Rolls forward to later dialogue."
|
||||
new "Daha yeni diyaloga ileri sarar."
|
||||
|
||||
# screens.rpy:1039
|
||||
old "Hides the user interface."
|
||||
new "Kullanıcı arayüzünü gizler."
|
||||
|
||||
# screens.rpy:1043
|
||||
old "Takes a screenshot."
|
||||
new "Ekran görüntüsü kaydeder."
|
||||
|
||||
# screens.rpy:1047
|
||||
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
|
||||
new "Yardımcı {a=https://www.renpy.org/l/voicing}kendiliğniden-seslendirme{/a}yi açar veya kapatır."
|
||||
|
||||
# screens.rpy:1053
|
||||
old "Left Click"
|
||||
new "Sol Tıklama"
|
||||
|
||||
# screens.rpy:1057
|
||||
old "Middle Click"
|
||||
new "Orta Tıklama"
|
||||
|
||||
# screens.rpy:1061
|
||||
old "Right Click"
|
||||
new "Sağ Tıklama"
|
||||
|
||||
# screens.rpy:1065
|
||||
old "Mouse Wheel Up\nClick Rollback Side"
|
||||
new "Fare Tekerleği Yukarı\nGeri Sarma Tarafına Tıklama"
|
||||
|
||||
# screens.rpy:1069
|
||||
old "Mouse Wheel Down"
|
||||
new "Fare Tekerleği Aşağı"
|
||||
|
||||
# screens.rpy:1076
|
||||
old "Right Trigger\nA/Bottom Button"
|
||||
new "Sağ Trigger\nA/Alt Tuş"
|
||||
|
||||
# screens.rpy:1080
|
||||
old "Left Trigger\nLeft Shoulder"
|
||||
new "Sol Trigger\nSol Omuz"
|
||||
|
||||
# screens.rpy:1084
|
||||
old "Right Shoulder"
|
||||
new "Sağ Omuz"
|
||||
|
||||
# screens.rpy:1089
|
||||
old "D-Pad, Sticks"
|
||||
new "D-Pad, Çubuklar"
|
||||
|
||||
# screens.rpy:1093
|
||||
old "Start, Guide"
|
||||
new "Başla, Rehber"
|
||||
|
||||
# screens.rpy:1097
|
||||
old "Y/Top Button"
|
||||
new "Y/Üst Tuş"
|
||||
|
||||
# screens.rpy:1100
|
||||
old "Calibrate"
|
||||
new "Kalibre Et"
|
||||
|
||||
# screens.rpy:1128
|
||||
old "## Additional screens"
|
||||
new "## Ek ekranlar"
|
||||
|
||||
# screens.rpy:1132
|
||||
old "## Confirm screen"
|
||||
new "## Doğrulama ekranı"
|
||||
|
||||
# screens.rpy:1134
|
||||
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
|
||||
new "## Doğrulama ekranı, Ren'Py oyuncuya bir evet-hayır sorusu sorduğunda kullanılır."
|
||||
|
||||
# screens.rpy:1137
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
|
||||
# screens.rpy:1141
|
||||
old "## Ensure other screens do not get input while this screen is displayed."
|
||||
new "## Bu ekran gösterilirken diğer ekranların girdi almamasını sağla."
|
||||
|
||||
# screens.rpy:1165
|
||||
old "Yes"
|
||||
new "Evet"
|
||||
|
||||
# screens.rpy:1166
|
||||
old "No"
|
||||
new "Hayır"
|
||||
|
||||
# screens.rpy:1168
|
||||
old "## Right-click and escape answer \"no\"."
|
||||
new "## Sağ tık ve Escape \"no\" anlamına gelir."
|
||||
|
||||
# screens.rpy:1195
|
||||
old "## Skip indicator screen"
|
||||
new "## Atlama gösterge ekranı"
|
||||
|
||||
# screens.rpy:1197
|
||||
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
|
||||
new "## Atlama gösterge ekranı, atlama işleminin devam ettiğini gösterir."
|
||||
|
||||
# screens.rpy:1200
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
|
||||
# screens.rpy:1212
|
||||
old "Skipping"
|
||||
new "Atlama"
|
||||
|
||||
# screens.rpy:1219
|
||||
old "## This transform is used to blink the arrows one after another."
|
||||
new "## Bu transform, okları arka arkaya yakıp söndürmek için kullanılır."
|
||||
|
||||
# screens.rpy:1246
|
||||
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
|
||||
new "## İçinde SİYAH, SAĞI GÖSTEREN KÜÇÜK ÜÇGEN olan bir font kullanmalıyız."
|
||||
|
||||
# screens.rpy:1251
|
||||
old "## Notify screen"
|
||||
new "## Bildirim ekranı"
|
||||
|
||||
# screens.rpy:1253
|
||||
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
|
||||
new "## Bildirim ekranı oyuncuya bir mesaj göstermek için kullanılır. (Mesela hızlı kayıt yapıldığında veya ekran görüntüsü alındığında.)"
|
||||
|
||||
# screens.rpy:1256
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
|
||||
|
||||
# screens.rpy:1290
|
||||
old "## NVL screen"
|
||||
new "## NVL ekranı"
|
||||
|
||||
# screens.rpy:1292
|
||||
old "## This screen is used for NVL-mode dialogue and menus."
|
||||
new "## Bu ekran NVL-modu diyalogları ve menüleri için kullanılır."
|
||||
|
||||
# screens.rpy:1294
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
|
||||
# screens.rpy:1305
|
||||
old "## Displays dialogue in either a vpgrid or the vbox."
|
||||
new "## Diyalogu vpgrid ya da vbox'ta gösterir."
|
||||
|
||||
# screens.rpy:1318
|
||||
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, as it is above."
|
||||
new "## Eğer varsa menüyü gösterir. Eğer yukarıdaki gibi config.narrator_menu etkinse menü yanlış gösterilebilir."
|
||||
|
||||
# screens.rpy:1348
|
||||
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
|
||||
new "## Bu, bir seferde gösterilen NVL-modu girdilerinin maksimum sayısını kontrol eder."
|
||||
|
||||
# screens.rpy:1410
|
||||
old "## Mobile Variants"
|
||||
new "## Mobil Varyasyonlar"
|
||||
|
||||
# screens.rpy:1417
|
||||
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
|
||||
new "## Fare olmayabileceği için, hızlı menüyü dokunması daha kolay olan daha büyük ve daha az düğmeli bir versiyonu ile değiştiririz."
|
||||
|
||||
# screens.rpy:1435
|
||||
old "Menu"
|
||||
new "Menü"
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
# Oyun kodlaması bu dosyadadir.
|
||||
|
||||
# Oyundaki karakterleri tanimla. Renk argumani karakterin
|
||||
# isminin rengini belirler.
|
||||
define e = Character("Eileen")
|
||||
|
||||
|
||||
# Oyun burada baslar.
|
||||
|
||||
label start:
|
||||
|
||||
# Bir arkaplan goster. Varsayilan olarak bir yer tutucu kullanilir, ancak siz
|
||||
# resimler klasorune bir dosya ekleyerek (bg room.png ya da bg room.jpg adinda)
|
||||
# eklediginiz resmi gosterebilirsiniz.
|
||||
|
||||
scene bg room
|
||||
|
||||
# Bu bir karakteri gösterir. Şimdilik bir yer tutucu kullaniliyor, ama siz
|
||||
# "eileen happy.png" isimli bir dosyayi resimler klasörüne ekleyerek
|
||||
# istediğiniz resmi gösterebilirsiniz.
|
||||
|
||||
show eileen happy
|
||||
|
||||
# Bunlar diyalog satirlarini gosterir.
|
||||
|
||||
e "Yeni bir Ren'Py oyunu yarattiniz."
|
||||
|
||||
e "Hikaye, resimler ve müzikleri ekledikten sonra, bütün dünya ile paylaşabilirsiniz!"
|
||||
|
||||
# Bu oyunu bitirir.
|
||||
|
||||
return
|
||||
@@ -606,8 +606,8 @@ translate vietnamese strings:
|
||||
new "LỖI"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!q], an error occured:"
|
||||
new "Trong khi [what!q], một lỗi xảy ra:"
|
||||
old "While [what!qt], an error occured:"
|
||||
new "Trong khi [what!qt], một lỗi xảy ra:"
|
||||
|
||||
# interface.rpy:356
|
||||
old "[exception!q]"
|
||||
|
||||
@@ -191,11 +191,11 @@ label update:
|
||||
import json
|
||||
import ssl
|
||||
|
||||
with interface.error_handling("downloading the list of update channels"):
|
||||
with interface.error_handling(_("downloading the list of update channels")):
|
||||
context = ssl._create_unverified_context()
|
||||
channel_data = urllib2.urlopen(CHANNELS_URL, context=context)
|
||||
|
||||
with interface.error_handling("parsing the list of update channels"):
|
||||
with interface.error_handling(_("parsing the list of update channels")):
|
||||
channels = json.load(channel_data)["releases"]
|
||||
|
||||
renpy.call_screen("update_channel", channels)
|
||||
|
||||
@@ -0,0 +1,223 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
# (the "Software"), to deal in the Software without restriction,
|
||||
# including without limitation the rights to use, copy, modify, merge,
|
||||
# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
# and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# This file contains the launcher support for creating RenPyWeb projects,
|
||||
# other than the logic in the standard distribute code.
|
||||
|
||||
|
||||
init python:
|
||||
|
||||
import shutil
|
||||
import webserver
|
||||
import io
|
||||
|
||||
WEB_PATH = None
|
||||
|
||||
def find_web():
|
||||
|
||||
global WEB_PATH
|
||||
|
||||
candidates = [ ]
|
||||
|
||||
WEB_PATH = os.path.join(config.renpy_base, "web")
|
||||
|
||||
if os.path.isdir(WEB_PATH) and check_hash_txt("web"):
|
||||
pass
|
||||
else:
|
||||
WEB_PATH = None
|
||||
|
||||
find_web()
|
||||
|
||||
def get_web_destination(p):
|
||||
"""
|
||||
Returns the path to the desint
|
||||
"""
|
||||
|
||||
build = p.dump['build']
|
||||
|
||||
base_name = build['directory_name']
|
||||
destination = build["destination"]
|
||||
|
||||
parent = os.path.dirname(p.path)
|
||||
destination = os.path.join(parent, destination, base_name + "-web")
|
||||
|
||||
return destination
|
||||
|
||||
def build_web(p, gui=True):
|
||||
|
||||
# Figure out the reporter to use.
|
||||
if gui:
|
||||
reporter = distribute.GuiReporter()
|
||||
else:
|
||||
reporter = distribute.TextReporter()
|
||||
|
||||
# Determine details.
|
||||
p.update_dump(True, gui=gui)
|
||||
|
||||
destination = get_web_destination(p)
|
||||
display_name = p.dump['build']['display_name']
|
||||
|
||||
# Clean the folder, then remale it.
|
||||
if os.path.exists(destination):
|
||||
shutil.rmtree(destination)
|
||||
|
||||
os.makedirs(destination, 0o777)
|
||||
|
||||
# Use the distributor to make game.zip.
|
||||
distribute.Distributor(p, packages=[ "web" ], packagedest=os.path.join(destination, "game"), reporter=reporter, noarchive=True, scan=False)
|
||||
|
||||
# Copy the files from WEB_PATH to destination.
|
||||
for fn in os.listdir(WEB_PATH):
|
||||
if fn in { "game.zip", "hash.txt", "index.html" }:
|
||||
continue
|
||||
|
||||
shutil.copy(os.path.join(WEB_PATH, fn), os.path.join(destination, fn))
|
||||
|
||||
# Copy over index.html.
|
||||
with io.open(os.path.join(WEB_PATH, "index.html"), encoding='utf-8') as f:
|
||||
html = f.read()
|
||||
|
||||
html = html.replace("%%TITLE%%", display_name)
|
||||
|
||||
with io.open(os.path.join(destination, "index.html"), "w", encoding='utf-8') as f:
|
||||
f.write(html)
|
||||
|
||||
webserver.start(destination)
|
||||
|
||||
|
||||
def launch_web():
|
||||
renpy.run(OpenURL("http://127.0.0.1:8042/index.html"))
|
||||
|
||||
screen web():
|
||||
|
||||
frame:
|
||||
style_group "l"
|
||||
style "l_root"
|
||||
|
||||
window:
|
||||
|
||||
has vbox
|
||||
|
||||
label _("Web: [project.current.display_name!q]")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
|
||||
hbox:
|
||||
|
||||
# Left side.
|
||||
frame:
|
||||
style "l_indent"
|
||||
xmaximum ONEHALF
|
||||
xfill True
|
||||
|
||||
has vbox
|
||||
|
||||
add SEPARATOR2
|
||||
add HALF_SPACER
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("Build:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
frame style "l_indent":
|
||||
|
||||
has vbox
|
||||
|
||||
textbutton _("Build Web Application") action Jump("web_build")
|
||||
textbutton _("Build and Open in Browser") action Jump("web_launch")
|
||||
textbutton _("Open in Browser") action Jump("web_start")
|
||||
textbutton _("Open build directory") action Jump("open_build_directory")
|
||||
|
||||
add SPACER
|
||||
|
||||
text _("Support:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
frame style "l_indent":
|
||||
|
||||
has vbox
|
||||
|
||||
textbutton _("RenPyWeb Home") action OpenURL("https://renpy.beuc.net/")
|
||||
textbutton _("Beuc's Patreon") action OpenURL("https://www.beuc.net/donate/")
|
||||
|
||||
|
||||
# Right side.
|
||||
frame:
|
||||
style "l_indent"
|
||||
xmaximum ONEHALF
|
||||
xfill True
|
||||
|
||||
has vbox
|
||||
|
||||
add SEPARATOR2
|
||||
add HALF_SPACER
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("Ren'Py web applications require the entire game to be downloaded to the player's computer before it can start.")
|
||||
|
||||
add SPACER
|
||||
|
||||
text _("Current limitations in the web platform mean that loading large images, audio files, or movies may cause audio or framerate glitches, and lower performance in general.")
|
||||
|
||||
textbutton _("Return") action Jump("front_page") style "l_left_button"
|
||||
|
||||
|
||||
|
||||
label web:
|
||||
|
||||
if WEB_PATH is None:
|
||||
$ interface.yesno(_("Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"), no=Jump("front_page"))
|
||||
$ add_dlc("web", restart=True)
|
||||
|
||||
call screen web
|
||||
|
||||
jump front_page
|
||||
|
||||
|
||||
label web_build:
|
||||
$ build_web(project.current, gui=True)
|
||||
jump web
|
||||
|
||||
|
||||
label web_launch:
|
||||
$ build_web(project.current, gui=True)
|
||||
$ launch_web()
|
||||
jump web
|
||||
|
||||
label open_build_directory():
|
||||
$ project.current.update_dump(True, gui=True)
|
||||
$ OpenDirectory(get_web_destination(project.current))()
|
||||
jump web
|
||||
|
||||
label web_start:
|
||||
$ project.current.update_dump(True, gui=True)
|
||||
$ webserver.start(get_web_destination(project.current))
|
||||
$ launch_web()
|
||||
jump web
|
||||
@@ -0,0 +1,253 @@
|
||||
import BaseHTTPServer
|
||||
import threading
|
||||
|
||||
import posixpath
|
||||
import urllib
|
||||
import os
|
||||
import os
|
||||
import posixpath
|
||||
import BaseHTTPServer
|
||||
import urllib
|
||||
import urlparse
|
||||
import cgi
|
||||
import sys
|
||||
import shutil
|
||||
import mimetypes
|
||||
|
||||
try:
|
||||
from cStringIO import StringIO
|
||||
except ImportError:
|
||||
from StringIO import StringIO
|
||||
|
||||
# The path to the root of the web server.
|
||||
root = ""
|
||||
|
||||
import renpy
|
||||
|
||||
|
||||
class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
|
||||
"""Simple HTTP request handler with GET and HEAD commands.
|
||||
|
||||
This serves files from the current directory and any of its
|
||||
subdirectories. The MIME type for files is determined by
|
||||
calling the .guess_type() method.
|
||||
|
||||
The GET and HEAD requests are identical except that the HEAD
|
||||
request omits the actual contents of the file.
|
||||
|
||||
"""
|
||||
|
||||
server_version = "Ren'Py/" + renpy.version_only # @UndefinedVariable
|
||||
|
||||
def do_GET(self):
|
||||
"""Serve a GET request."""
|
||||
f = self.send_head()
|
||||
if f:
|
||||
try:
|
||||
self.copyfile(f, self.wfile)
|
||||
finally:
|
||||
f.close()
|
||||
|
||||
def do_HEAD(self):
|
||||
"""Serve a HEAD request."""
|
||||
f = self.send_head()
|
||||
if f:
|
||||
f.close()
|
||||
|
||||
def send_head(self):
|
||||
"""Common code for GET and HEAD commands.
|
||||
|
||||
This sends the response code and MIME headers.
|
||||
|
||||
Return value is either a file object (which has to be copied
|
||||
to the outputfile by the caller unless the command was HEAD,
|
||||
and must be closed by the caller under all circumstances), or
|
||||
None, in which case the caller has nothing further to do.
|
||||
|
||||
"""
|
||||
path = self.translate_path(self.path)
|
||||
f = None
|
||||
if os.path.isdir(path):
|
||||
parts = urlparse.urlsplit(self.path)
|
||||
if not parts.path.endswith('/'):
|
||||
# redirect browser - doing basically what apache does
|
||||
self.send_response(301)
|
||||
new_parts = (parts[0], parts[1], parts[2] + '/',
|
||||
parts[3], parts[4])
|
||||
new_url = urlparse.urlunsplit(new_parts)
|
||||
self.send_header("Location", new_url)
|
||||
self.end_headers()
|
||||
return None
|
||||
for index in "index.html", "index.htm":
|
||||
index = os.path.join(path, index)
|
||||
if os.path.exists(index):
|
||||
path = index
|
||||
break
|
||||
else:
|
||||
return self.list_directory(path)
|
||||
ctype = self.guess_type(path)
|
||||
try:
|
||||
# Always read in binary mode. Opening files in text mode may cause
|
||||
# newline translations, making the actual size of the content
|
||||
# transmitted *less* than the content-length!
|
||||
f = open(path, 'rb')
|
||||
except IOError:
|
||||
self.send_error(404, "File not found")
|
||||
return None
|
||||
try:
|
||||
self.send_response(200)
|
||||
self.send_header("Content-type", ctype)
|
||||
fs = os.fstat(f.fileno())
|
||||
|
||||
# Ren'Py - bust cache.
|
||||
self.send_header("Pragma", "no-cache")
|
||||
|
||||
self.send_header("Content-Length", str(fs[6]))
|
||||
self.send_header("Last-Modified", self.date_time_string(fs.st_mtime))
|
||||
self.end_headers()
|
||||
return f
|
||||
except:
|
||||
f.close()
|
||||
raise
|
||||
|
||||
def list_directory(self, path):
|
||||
"""Helper to produce a directory listing (absent index.html).
|
||||
|
||||
Return value is either a file object, or None (indicating an
|
||||
error). In either case, the headers are sent, making the
|
||||
interface the same as for send_head().
|
||||
|
||||
"""
|
||||
try:
|
||||
list = os.listdir(path)
|
||||
except os.error:
|
||||
self.send_error(404, "No permission to list directory")
|
||||
return None
|
||||
list.sort(key=lambda a: a.lower())
|
||||
f = StringIO()
|
||||
displaypath = cgi.escape(urllib.unquote(self.path))
|
||||
f.write('<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">')
|
||||
f.write("<html>\n<title>Directory listing for %s</title>\n" % displaypath)
|
||||
f.write("<body>\n<h2>Directory listing for %s</h2>\n" % displaypath)
|
||||
f.write("<hr>\n<ul>\n")
|
||||
for name in list:
|
||||
fullname = os.path.join(path, name)
|
||||
displayname = linkname = name
|
||||
# Append / for directories or @ for symbolic links
|
||||
if os.path.isdir(fullname):
|
||||
displayname = name + "/"
|
||||
linkname = name + "/"
|
||||
if os.path.islink(fullname):
|
||||
displayname = name + "@"
|
||||
# Note: a link to a directory displays with @ and links with /
|
||||
f.write('<li><a href="%s">%s</a>\n'
|
||||
% (urllib.quote(linkname), cgi.escape(displayname)))
|
||||
f.write("</ul>\n<hr>\n</body>\n</html>\n")
|
||||
length = f.tell()
|
||||
f.seek(0)
|
||||
self.send_response(200)
|
||||
encoding = sys.getfilesystemencoding()
|
||||
self.send_header("Content-type", "text/html; charset=%s" % encoding)
|
||||
self.send_header("Content-Length", str(length))
|
||||
self.end_headers()
|
||||
return f
|
||||
|
||||
def translate_path(self, path):
|
||||
"""Translate a /-separated PATH to the local filename syntax.
|
||||
|
||||
Components that mean special things to the local file system
|
||||
(e.g. drive or directory names) are ignored. (XXX They should
|
||||
probably be diagnosed.)
|
||||
|
||||
"""
|
||||
# abandon query parameters
|
||||
path = path.split('?', 1)[0]
|
||||
path = path.split('#', 1)[0]
|
||||
# Don't forget explicit trailing slash when normalizing. Issue17324
|
||||
trailing_slash = path.rstrip().endswith('/')
|
||||
path = posixpath.normpath(urllib.unquote(path))
|
||||
words = path.split('/')
|
||||
words = filter(None, words)
|
||||
|
||||
# Ren'Py - use the root we were given.
|
||||
path = root
|
||||
|
||||
for word in words:
|
||||
if os.path.dirname(word) or word in (os.curdir, os.pardir):
|
||||
# Ignore components that are not a simple file/directory name
|
||||
continue
|
||||
path = os.path.join(path, word)
|
||||
if trailing_slash:
|
||||
path += '/'
|
||||
return path
|
||||
|
||||
def copyfile(self, source, outputfile):
|
||||
"""Copy all data between two file objects.
|
||||
|
||||
The SOURCE argument is a file object open for reading
|
||||
(or anything with a read() method) and the DESTINATION
|
||||
argument is a file object open for writing (or
|
||||
anything with a write() method).
|
||||
|
||||
The only reason for overriding this would be to change
|
||||
the block size or perhaps to replace newlines by CRLF
|
||||
-- note however that this the default server uses this
|
||||
to copy binary data as well.
|
||||
|
||||
"""
|
||||
shutil.copyfileobj(source, outputfile)
|
||||
|
||||
def guess_type(self, path):
|
||||
"""Guess the type of a file.
|
||||
|
||||
Argument is a PATH (a filename).
|
||||
|
||||
Return value is a string of the form type/subtype,
|
||||
usable for a MIME Content-type header.
|
||||
|
||||
The default implementation looks the file's extension
|
||||
up in the table self.extensions_map, using application/octet-stream
|
||||
as a default; however it would be permissible (if
|
||||
slow) to look inside the data to make a better guess.
|
||||
|
||||
"""
|
||||
|
||||
base, ext = posixpath.splitext(path)
|
||||
if ext in self.extensions_map:
|
||||
return self.extensions_map[ext]
|
||||
ext = ext.lower()
|
||||
if ext in self.extensions_map:
|
||||
return self.extensions_map[ext]
|
||||
else:
|
||||
return self.extensions_map['']
|
||||
|
||||
extensions_map = {
|
||||
'': 'application/octet-stream', # Default
|
||||
'.gz': 'application/gzip',
|
||||
'.htm': 'text/html',
|
||||
'.html': 'text/html',
|
||||
'.js': 'application/javascript',
|
||||
}
|
||||
|
||||
|
||||
def run():
|
||||
server = BaseHTTPServer.HTTPServer(("127.0.0.1", 8042), WebHandler)
|
||||
server.serve_forever()
|
||||
|
||||
|
||||
def start(root_):
|
||||
|
||||
print("----")
|
||||
|
||||
global root
|
||||
|
||||
started = root
|
||||
root = root_
|
||||
|
||||
if started:
|
||||
return
|
||||
|
||||
t = threading.Thread(target=run)
|
||||
t.daemon = True
|
||||
t.start()
|
||||
+198
-10
@@ -10,9 +10,18 @@
|
||||
|
||||
#if defined(__arm__) && !(__MACOS__ || __IPHONEOS__)
|
||||
#define USE_MEMALIGN
|
||||
#include <malloc.h>
|
||||
#include <stdlib.h>
|
||||
#endif
|
||||
|
||||
/* Should a mono channel be split into two equal stero channels (true) or
|
||||
* should the energy be split onto two stereo channels with 1/2 the energy
|
||||
* (false).
|
||||
*/
|
||||
static int audio_equal_mono = 1;
|
||||
|
||||
/* The weight of stereo channels when audio_equal_mono is true. */
|
||||
static double stereo_matrix[] = { 1.0, 1.0 };
|
||||
|
||||
/* The output audio sample rate. */
|
||||
static int audio_sample_rate = 44100;
|
||||
|
||||
@@ -562,14 +571,29 @@ static void decode_audio(MediaState *ms) {
|
||||
break;
|
||||
}
|
||||
|
||||
converted_frame = av_frame_alloc();
|
||||
converted_frame->sample_rate = audio_sample_rate;
|
||||
converted_frame->channel_layout = AV_CH_LAYOUT_STEREO;
|
||||
converted_frame->format = AV_SAMPLE_FMT_S16;
|
||||
|
||||
if (!ms->audio_decode_frame->channel_layout) {
|
||||
ms->audio_decode_frame->channel_layout = av_get_default_channel_layout(ms->audio_decode_frame->channels);
|
||||
}
|
||||
|
||||
converted_frame = av_frame_alloc();
|
||||
converted_frame->sample_rate = audio_sample_rate;
|
||||
converted_frame->channel_layout = AV_CH_LAYOUT_STEREO;
|
||||
converted_frame->format = AV_SAMPLE_FMT_S16;
|
||||
if (audio_equal_mono && (ms->audio_decode_frame->channels == 1)) {
|
||||
swr_alloc_set_opts(
|
||||
ms->swr,
|
||||
converted_frame->channel_layout,
|
||||
converted_frame->format,
|
||||
converted_frame->sample_rate,
|
||||
ms->audio_decode_frame->channel_layout,
|
||||
ms->audio_decode_frame->format,
|
||||
ms->audio_decode_frame->sample_rate,
|
||||
0,
|
||||
NULL);
|
||||
|
||||
swr_set_matrix(ms->swr, stereo_matrix, 1);
|
||||
}
|
||||
}
|
||||
|
||||
if(swr_convert_frame(ms->swr, converted_frame, ms->audio_decode_frame)) {
|
||||
av_frame_free(&converted_frame);
|
||||
@@ -723,7 +747,7 @@ static SurfaceQueueEntry *decode_video_frame(MediaState *ms) {
|
||||
|
||||
|
||||
#ifdef USE_MEMALIGN
|
||||
rv->pixels = memalign(16, rv->pitch * rv->h);
|
||||
posix_memalign(&rv->pixels, 16, rv->pitch * rv->h);
|
||||
memset(rv->pixels, 0, rv->pitch * rv->h);
|
||||
#else
|
||||
rv->pixels = SDL_calloc(1, rv->pitch * rv->h);
|
||||
@@ -788,10 +812,16 @@ static void decode_video(MediaState *ms) {
|
||||
}
|
||||
|
||||
|
||||
static int decode_sync_start(void *arg);
|
||||
void media_read_sync(struct MediaState *ms);
|
||||
void media_read_sync_finish(struct MediaState *ms);
|
||||
|
||||
|
||||
/**
|
||||
* Returns 1 if there is a video frame ready on this channel, or 0 otherwise.
|
||||
*/
|
||||
int media_video_ready(struct MediaState *ms) {
|
||||
|
||||
int consumed = 0;
|
||||
int rv = 0;
|
||||
|
||||
@@ -857,6 +887,7 @@ done:
|
||||
|
||||
|
||||
SDL_Surface *media_read_video(MediaState *ms) {
|
||||
|
||||
SDL_Surface *rv = NULL;
|
||||
SurfaceQueueEntry *sqe = NULL;
|
||||
|
||||
@@ -866,9 +897,11 @@ SDL_Surface *media_read_video(MediaState *ms) {
|
||||
|
||||
SDL_LockMutex(ms->lock);
|
||||
|
||||
#ifndef __EMSCRIPTEN__
|
||||
while (!ms->ready) {
|
||||
SDL_CondWait(ms->cond, ms->lock);
|
||||
SDL_CondWait(ms->cond, ms->lock);
|
||||
}
|
||||
#endif
|
||||
|
||||
if (!ms->surface_queue_size) {
|
||||
goto done;
|
||||
@@ -1042,7 +1075,148 @@ finish:
|
||||
}
|
||||
|
||||
|
||||
void media_read_sync_finish(struct MediaState *ms) {
|
||||
// copy/paste from end of decode_thread
|
||||
|
||||
/* Data used by the decoder should be freed here, while data shared with
|
||||
* the readers should be freed in media_close.
|
||||
*/
|
||||
|
||||
SDL_LockMutex(ms->lock);
|
||||
|
||||
/* Ensures that every stream becomes ready. */
|
||||
if (!ms->ready) {
|
||||
ms->ready = 1;
|
||||
SDL_CondBroadcast(ms->cond);
|
||||
}
|
||||
|
||||
while (!ms->quit) {
|
||||
/* SDL_CondWait(ms->cond, ms->lock); */
|
||||
}
|
||||
|
||||
SDL_UnlockMutex(ms->lock);
|
||||
|
||||
deallocate(ms);
|
||||
}
|
||||
|
||||
|
||||
static int decode_sync_start(void *arg) {
|
||||
// copy/paste from start of decode_thread
|
||||
MediaState *ms = (MediaState *) arg;
|
||||
|
||||
int err;
|
||||
|
||||
AVFormatContext *ctx = avformat_alloc_context();
|
||||
ms->ctx = ctx;
|
||||
|
||||
AVIOContext *io_context = rwops_open(ms->rwops);
|
||||
ctx->pb = io_context;
|
||||
|
||||
err = avformat_open_input(&ctx, ms->filename, NULL, NULL);
|
||||
if (err) {
|
||||
media_read_sync_finish(ms);
|
||||
}
|
||||
|
||||
err = avformat_find_stream_info(ctx, NULL);
|
||||
if (err) {
|
||||
media_read_sync_finish(ms);
|
||||
}
|
||||
|
||||
|
||||
ms->video_stream = -1;
|
||||
ms->audio_stream = -1;
|
||||
|
||||
for (int i = 0; i < ctx->nb_streams; i++) {
|
||||
if (ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
|
||||
if (ms->want_video && ms->video_stream == -1) {
|
||||
ms->video_stream = i;
|
||||
}
|
||||
}
|
||||
|
||||
if (ctx->streams[i]->codec->codec_type == AVMEDIA_TYPE_AUDIO) {
|
||||
if (ms->audio_stream == -1) {
|
||||
ms->audio_stream = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ms->video_context = find_context(ctx, ms->video_stream);
|
||||
ms->audio_context = find_context(ctx, ms->audio_stream);
|
||||
|
||||
ms->swr = swr_alloc();
|
||||
|
||||
av_init_packet(&ms->video_pkt);
|
||||
|
||||
// Compute the number of samples we need to play back.
|
||||
if (ms->audio_duration < 0) {
|
||||
if (av_fmt_ctx_get_duration_estimation_method(ctx) != AVFMT_DURATION_FROM_BITRATE) {
|
||||
|
||||
long long duration = ((long long) ctx->duration) * audio_sample_rate;
|
||||
ms->audio_duration = (unsigned int) (duration / AV_TIME_BASE);
|
||||
|
||||
ms->total_duration = 1.0 * ctx->duration / AV_TIME_BASE;
|
||||
|
||||
// Check that the duration is reasonable (between 0s and 3600s). If not,
|
||||
// reject it.
|
||||
if (ms->audio_duration < 0 || ms->audio_duration > 3600 * audio_sample_rate) {
|
||||
ms->audio_duration = -1;
|
||||
}
|
||||
|
||||
ms->audio_duration -= (unsigned int) (ms->skip * audio_sample_rate);
|
||||
|
||||
|
||||
} else {
|
||||
ms->audio_duration = -1;
|
||||
}
|
||||
}
|
||||
|
||||
if (ms->skip != 0.0) {
|
||||
av_seek_frame(ctx, -1, (int64_t) (ms->skip * AV_TIME_BASE), AVSEEK_FLAG_BACKWARD);
|
||||
}
|
||||
|
||||
// [snip!]
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void media_read_sync(struct MediaState *ms) {
|
||||
// copy/paste from middle of decode_thread
|
||||
// printf("---* media_read_sync %p\n", ms);
|
||||
|
||||
//while (!ms->quit) {
|
||||
if (!ms->quit) {
|
||||
// printf(" audio_finished: %d, video_finished: %d\n", ms->audio_finished, ms->video_finished);
|
||||
if (! ms->audio_finished) {
|
||||
decode_audio(ms);
|
||||
}
|
||||
|
||||
if (! ms->video_finished) {
|
||||
decode_video(ms);
|
||||
}
|
||||
|
||||
SDL_LockMutex(ms->lock);
|
||||
|
||||
if (!ms->ready) {
|
||||
ms->ready = 1;
|
||||
SDL_CondBroadcast(ms->cond);
|
||||
}
|
||||
|
||||
if (!(ms->needs_decode || ms->quit)) {
|
||||
/* SDL_CondWait(ms->cond, ms->lock); */
|
||||
}
|
||||
|
||||
ms->needs_decode = 0;
|
||||
|
||||
SDL_UnlockMutex(ms->lock);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
int media_read_audio(struct MediaState *ms, Uint8 *stream, int len) {
|
||||
#ifdef __EMSCRIPTEN__
|
||||
media_read_sync(ms);
|
||||
#endif
|
||||
|
||||
SDL_LockMutex(ms->lock);
|
||||
|
||||
@@ -1127,6 +1301,7 @@ int media_read_audio(struct MediaState *ms, Uint8 *stream, int len) {
|
||||
}
|
||||
|
||||
void media_wait_ready(struct MediaState *ms) {
|
||||
#ifndef __EMSCRIPTEN__
|
||||
SDL_LockMutex(ms->lock);
|
||||
|
||||
while (!ms->ready) {
|
||||
@@ -1134,6 +1309,7 @@ void media_wait_ready(struct MediaState *ms) {
|
||||
}
|
||||
|
||||
SDL_UnlockMutex(ms->lock);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1142,7 +1318,12 @@ double media_duration(MediaState *ms) {
|
||||
}
|
||||
|
||||
void media_start(MediaState *ms) {
|
||||
char buf[1024];
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
decode_sync_start(ms);
|
||||
#else
|
||||
|
||||
char buf[1024];
|
||||
|
||||
snprintf(buf, 1024, "decode: %s", ms->filename);
|
||||
SDL_Thread *t = SDL_CreateThread(decode_thread, buf, (void *) ms);
|
||||
@@ -1151,6 +1332,7 @@ void media_start(MediaState *ms) {
|
||||
ms->started = 1;
|
||||
SDL_DetachThread(t);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
@@ -1210,6 +1392,11 @@ void media_close(MediaState *ms) {
|
||||
/* Tell the decoder to terminate. It will deallocate everything for us. */
|
||||
SDL_LockMutex(ms->lock);
|
||||
ms->quit = 1;
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
media_read_sync_finish(ms);
|
||||
#endif
|
||||
|
||||
SDL_CondBroadcast(ms->cond);
|
||||
SDL_UnlockMutex(ms->lock);
|
||||
|
||||
@@ -1224,9 +1411,10 @@ void media_sample_surfaces(SDL_Surface *rgb, SDL_Surface *rgba) {
|
||||
rgba_surface = rgba;
|
||||
}
|
||||
|
||||
void media_init(int rate, int status) {
|
||||
void media_init(int rate, int status, int equal_mono) {
|
||||
|
||||
audio_sample_rate = rate / SPEED;
|
||||
audio_equal_mono = equal_mono;
|
||||
|
||||
av_register_all();
|
||||
|
||||
|
||||
@@ -0,0 +1,45 @@
|
||||
#include <SDL.h>
|
||||
#include <SDL_opengl.h>
|
||||
#include <SDL_opengl_glext.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "gl2debug.h"
|
||||
|
||||
static void APIENTRY gl2_debug_callback(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam) {
|
||||
printf("GL %s: 0x%x, 0x%x: %s\n", (type == GL_DEBUG_TYPE_ERROR ? "ERROR" : " "), type, severity, message);
|
||||
}
|
||||
|
||||
void gl2_enable_debug(void) {
|
||||
void APIENTRY (*debugMessageCallback)(GLDEBUGPROC callback, const void *userParam);
|
||||
void APIENTRY (*debugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled);
|
||||
void APIENTRY (*glEnable)(GLenum);
|
||||
|
||||
debugMessageCallback = SDL_GL_GetProcAddress("glDebugMessageCallback");
|
||||
|
||||
if (!debugMessageCallback) {
|
||||
debugMessageCallback = SDL_GL_GetProcAddress("glDebugMessageCallbackKHR");
|
||||
}
|
||||
|
||||
if (debugMessageCallback == NULL) {
|
||||
printf("GL: Could not get glDebugMessageCallback\n");
|
||||
return;
|
||||
}
|
||||
|
||||
debugMessageControl = SDL_GL_GetProcAddress("glDebugMessageControl");
|
||||
|
||||
if (!debugMessageControl) {
|
||||
debugMessageControl = SDL_GL_GetProcAddress("glDebugMessageControlKHR");
|
||||
}
|
||||
|
||||
if (debugMessageControl == NULL) {
|
||||
printf("GL: Could not get glDebugMessageControl\n");
|
||||
return;
|
||||
}
|
||||
|
||||
glEnable = SDL_GL_GetProcAddress("glEnable");
|
||||
|
||||
glEnable(GL_DEBUG_OUTPUT);
|
||||
debugMessageCallback(gl2_debug_callback, 0);
|
||||
debugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL, 1);
|
||||
}
|
||||
+
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef GL2DEBUG_H
|
||||
#define GL2DEBUG_H
|
||||
|
||||
void gl2_enable_debug(void);
|
||||
|
||||
#endif
|
||||
+7
-27
@@ -44,33 +44,6 @@
|
||||
#endif
|
||||
|
||||
|
||||
#if defined RENPY_GLES_1
|
||||
|
||||
#include <GLES/gl.h>
|
||||
#include <GLES/glext.h>
|
||||
|
||||
#define glOrtho glOrthof
|
||||
|
||||
#define GL_SOURCE0_ALPHA GL_SRC0_ALPHA
|
||||
#define GL_SOURCE1_ALPHA GL_SRC1_ALPHA
|
||||
#define GL_SOURCE2_ALPHA GL_SRC2_ALPHA
|
||||
#define GL_SOURCE0_RGB GL_SRC0_RGB
|
||||
#define GL_SOURCE1_RGB GL_SRC1_RGB
|
||||
#define GL_SOURCE2_RGB GL_SRC2_RGB
|
||||
|
||||
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER_OES
|
||||
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0_OES
|
||||
#define glBindFramebufferEXT glBindFramebufferOES
|
||||
#define glFramebufferTexture2DEXT glFramebufferTexture2DOES
|
||||
#define glGenFramebuffersEXT glGenFramebuffersOES
|
||||
#define glDeleteFramebuffersEXT glDeleteFramebuffersOES
|
||||
#define glCheckFramebufferStatusEXT glCheckFramebufferStatusOES
|
||||
|
||||
#define RENPY_THIRD_TEXTURE 0
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
#if defined RENPY_GLES_2
|
||||
|
||||
#ifdef ANGLE
|
||||
@@ -88,6 +61,12 @@ typedef GLchar GLcharARB;
|
||||
|
||||
#define GL_MAX_TEXTURE_UNITS GL_MAX_TEXTURE_IMAGE_UNITS
|
||||
|
||||
#define GL_RENDERBUFFER_EXT GL_RENDERBUFFER
|
||||
#define glGenRenderbuffersEXT glGenRenderbuffers
|
||||
#define glBindRenderbufferEXT glBindRenderbuffer
|
||||
#define glRenderbufferStorageEXT glRenderbufferStorage
|
||||
#define glDeleteRenderbuffersEXT glDeleteRenderbuffers
|
||||
|
||||
#define GL_FRAMEBUFFER_EXT GL_FRAMEBUFFER
|
||||
#define GL_FRAMEBUFFER_BINDING_EXT GL_FRAMEBUFFER_BINDING
|
||||
#define GL_COLOR_ATTACHMENT0_EXT GL_COLOR_ATTACHMENT0
|
||||
@@ -96,6 +75,7 @@ typedef GLchar GLcharARB;
|
||||
#define glGenFramebuffersEXT glGenFramebuffers
|
||||
#define glDeleteFramebuffersEXT glDeleteFramebuffers
|
||||
#define glCheckFramebufferStatusEXT glCheckFramebufferStatus
|
||||
#define glFramebufferRenderbufferEXT glFramebufferRenderbuffer
|
||||
|
||||
#define GL_OBJECT_INFO_LOG_LENGTH_ARB GL_INFO_LOG_LENGTH
|
||||
#define GL_OBJECT_COMPILE_STATUS_ARB GL_COMPILE_STATUS
|
||||
|
||||
@@ -2755,6 +2755,9 @@ def find_gl_names(dirname, gl1):
|
||||
rv = list(names)
|
||||
rv.sort()
|
||||
|
||||
for i in rv:
|
||||
print(i)
|
||||
|
||||
return rv
|
||||
|
||||
|
||||
|
||||
+33
-18
@@ -31,11 +31,33 @@ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
#define MAXVOLUME 16384
|
||||
|
||||
#ifdef __EMSCRIPTEN__
|
||||
|
||||
#define EVAL_LOCK() { }
|
||||
#define EVAL_UNLOCK() { }
|
||||
#define BEGIN() { }
|
||||
#define ENTER() { }
|
||||
#define EXIT() { }
|
||||
#define ALTENTER() { }
|
||||
#define ALTEXIT() { }
|
||||
|
||||
#else
|
||||
|
||||
#define EVAL_LOCK() { PyEval_AcquireLock(); }
|
||||
#define EVAL_UNLOCK() { PyEval_ReleaseLock(); }
|
||||
#define BEGIN() PyThreadState *_save;
|
||||
#define ENTER() { _save = PyEval_SaveThread(); SDL_LockAudio(); }
|
||||
#define EXIT() { SDL_UnlockAudio(); PyEval_RestoreThread(_save); }
|
||||
#define ALTENTER() { _save = PyEval_SaveThread(); }
|
||||
#define ALTEXIT() { PyEval_RestoreThread(_save); }
|
||||
|
||||
#endif
|
||||
|
||||
/* Declarations of ffdecode functions. */
|
||||
struct MediaState;
|
||||
typedef struct MediaState MediaState;
|
||||
|
||||
void media_init(int rate, int status);
|
||||
void media_init(int rate, int status, int equal_mono);
|
||||
|
||||
void media_advance_time(void);
|
||||
void media_sample_surfaces(SDL_Surface *rgb, SDL_Surface *rgba);
|
||||
@@ -61,21 +83,21 @@ PyThreadState* thread = NULL;
|
||||
static void incref(PyObject *ref) {
|
||||
PyThreadState *oldstate;
|
||||
|
||||
PyEval_AcquireLock();
|
||||
EVAL_LOCK();
|
||||
oldstate = PyThreadState_Swap(thread);
|
||||
Py_INCREF(ref);
|
||||
PyThreadState_Swap(oldstate);
|
||||
PyEval_ReleaseLock();
|
||||
EVAL_UNLOCK();
|
||||
}
|
||||
|
||||
static void decref(PyObject *ref) {
|
||||
PyThreadState *oldstate;
|
||||
|
||||
PyEval_AcquireLock();
|
||||
EVAL_LOCK();
|
||||
oldstate = PyThreadState_Swap(thread);
|
||||
Py_DECREF(ref);
|
||||
PyThreadState_Swap(oldstate);
|
||||
PyEval_ReleaseLock();
|
||||
EVAL_UNLOCK();
|
||||
}
|
||||
|
||||
/* A mutex that protects the shared data structures. */
|
||||
@@ -84,17 +106,6 @@ SDL_mutex *name_mutex;
|
||||
#define LOCK_NAME() { SDL_LockMutex(name_mutex); }
|
||||
#define UNLOCK_NAME() { SDL_UnlockMutex(name_mutex); }
|
||||
|
||||
/* Locking on entry from python... */
|
||||
// #define BEGIN() PyThreadState *_save;
|
||||
// #define ENTER() { printf("Locking by %s.\n", __FUNCTION__); _save = PyEval_SaveThread(); SDL_LockAudio(); printf("Lock by %s\n", __FUNCTION__); }
|
||||
// #define EXIT() { SDL_UnlockAudio(); PyEval_RestoreThread(_save); printf("Release by %s\n", __FUNCTION__); }
|
||||
|
||||
#define BEGIN() PyThreadState *_save;
|
||||
#define ENTER() { _save = PyEval_SaveThread(); SDL_LockAudio(); }
|
||||
#define EXIT() { SDL_UnlockAudio(); PyEval_RestoreThread(_save); }
|
||||
#define ALTENTER() { _save = PyEval_SaveThread(); }
|
||||
#define ALTEXIT() { PyEval_RestoreThread(_save); }
|
||||
|
||||
/* Min and Max */
|
||||
#define min(a, b) (((a) < (b)) ? (a) : (b))
|
||||
#define max(a, b) (((a) > (b)) ? (a) : (b))
|
||||
@@ -433,6 +444,7 @@ static void pan_audio(struct Channel *c, Uint8 *stream, int length) {
|
||||
}
|
||||
|
||||
static void callback(void *userdata, Uint8 *stream, int length) {
|
||||
|
||||
int channel = 0;
|
||||
|
||||
memset(stream, 0, length);
|
||||
@@ -1199,7 +1211,7 @@ void RPS_set_video(int channel, int video) {
|
||||
* Initializes the sound to the given frequencies, channels, and
|
||||
* sample buffer size.
|
||||
*/
|
||||
void RPS_init(int freq, int stereo, int samples, int status) {
|
||||
void RPS_init(int freq, int stereo, int samples, int status, int equal_mono) {
|
||||
|
||||
if (initialized) {
|
||||
return;
|
||||
@@ -1207,7 +1219,10 @@ void RPS_init(int freq, int stereo, int samples, int status) {
|
||||
|
||||
name_mutex = SDL_CreateMutex();
|
||||
|
||||
#ifndef __EMSCRIPTEN__
|
||||
PyEval_InitThreads();
|
||||
#endif
|
||||
|
||||
import_pygame_sdl2();
|
||||
|
||||
if (!thread) {
|
||||
@@ -1238,7 +1253,7 @@ void RPS_init(int freq, int stereo, int samples, int status) {
|
||||
return;
|
||||
}
|
||||
|
||||
media_init(audio_spec.freq, status);
|
||||
media_init(audio_spec.freq, status, equal_mono);
|
||||
|
||||
SDL_PauseAudio(0);
|
||||
|
||||
|
||||
@@ -50,7 +50,7 @@ PyObject *RPS_read_video(int channel);
|
||||
void RPS_sample_surfaces(PyObject *rgb, PyObject *rgba);
|
||||
void RPS_set_video(int channel, int video);
|
||||
|
||||
void RPS_init(int freq, int stereo, int samples, int status);
|
||||
void RPS_init(int freq, int stereo, int samples, int status, int equal_mono);
|
||||
void RPS_quit(void);
|
||||
|
||||
void RPS_advance_time(void);
|
||||
|
||||
+3
-4
@@ -181,6 +181,7 @@ for p in generate_styles.prefixes:
|
||||
cython("renpy.styledata.style_{}functions".format(p), pyx=setuplib.gen + "/style_{}functions.pyx".format(p))
|
||||
|
||||
# renpy.display
|
||||
cython("renpy.display.matrix")
|
||||
cython("renpy.display.render", libs=[ 'z', 'm' ])
|
||||
cython("renpy.display.accelerator", libs=sdl + [ 'z', 'm' ])
|
||||
|
||||
@@ -218,18 +219,16 @@ cython("renpy.gl.glrtt_fbo", libs=glew_libs)
|
||||
|
||||
cython("renpy.gl2.uguugl", libs=sdl)
|
||||
cython("renpy.gl2.uguu", libs=sdl)
|
||||
cython("renpy.gl2.gl2geometry")
|
||||
cython("renpy.gl2.gl2draw", libs=sdl)
|
||||
cython("renpy.gl2.gl2texture", libs=sdl)
|
||||
cython("renpy.gl2.gl2environ_shader", libs=sdl)
|
||||
cython("renpy.gl2.gl2rtt_fbo", libs=sdl)
|
||||
|
||||
cython("renpy.gl2.gl2shader", libs=sdl)
|
||||
|
||||
if not (android or ios or emscripten):
|
||||
# renpy.angle
|
||||
def anglecopy(fn):
|
||||
copyfile("renpy/gl/" + fn, "renpy/angle/" + fn, "DEF ANGLE = False", "DEF ANGLE = True")
|
||||
|
||||
anglecopy("glblacklist.py")
|
||||
anglecopy("gldraw.pxd")
|
||||
anglecopy("gldraw.pyx")
|
||||
anglecopy("glenviron_shader.pyx")
|
||||
|
||||
@@ -45,11 +45,19 @@ emscripten = "RENPY_EMSCRIPTEN" in os.environ
|
||||
# Is coverage enabled?
|
||||
coverage = "RENPY_COVERAGE" in os.environ
|
||||
|
||||
# Are we doing a static build?
|
||||
static = "RENPY_STATIC" in os.environ
|
||||
|
||||
if coverage:
|
||||
gen = "gen.coverage"
|
||||
else:
|
||||
gen = "gen"
|
||||
|
||||
|
||||
if static:
|
||||
gen += "-static"
|
||||
|
||||
|
||||
# The cython command.
|
||||
cython_command = os.environ.get("RENPY_CYTHON", "cython")
|
||||
|
||||
@@ -317,6 +325,18 @@ def cython(name, source=[], libs=[], includes=[], compile_if=True, define_macros
|
||||
"-o",
|
||||
c_fn])
|
||||
|
||||
# Fix-up source for static loading
|
||||
if static and (len(split_name) > 1):
|
||||
parent_module = '.'.join(split_name[:-1])
|
||||
parent_module_identifier = parent_module.replace('.', '_')
|
||||
with open(c_fn, 'r') as f:
|
||||
ccode = f.read()
|
||||
ccode = re.sub('Py_InitModule4\("([^"]+)"', 'Py_InitModule4("'+parent_module+'.\\1"', ccode)
|
||||
ccode = re.sub('^__Pyx_PyMODINIT_FUNC init', '__Pyx_PyMODINIT_FUNC init'+parent_module_identifier+'_', ccode, 0, re.MULTILINE) # Cython 0.28.2
|
||||
ccode = re.sub('^PyMODINIT_FUNC init', 'PyMODINIT_FUNC init'+parent_module_identifier+'_', ccode, 0, re.MULTILINE) # Cython 0.25.2
|
||||
with open(c_fn, 'w') as f:
|
||||
f.write(ccode)
|
||||
|
||||
except subprocess.CalledProcessError as e:
|
||||
print()
|
||||
print(str(e))
|
||||
|
||||
@@ -0,0 +1,279 @@
|
||||
from __future__ import print_function
|
||||
from sympy import symbols, Matrix, pi, cos, sin, simplify
|
||||
|
||||
|
||||
matrix_names = [
|
||||
"xdx",
|
||||
"xdy",
|
||||
"xdz",
|
||||
"xdw",
|
||||
|
||||
"ydx",
|
||||
"ydy",
|
||||
"ydz",
|
||||
"ydw",
|
||||
|
||||
"zdx",
|
||||
"zdy",
|
||||
"zdz",
|
||||
"zdw",
|
||||
|
||||
"wdx",
|
||||
"wdy",
|
||||
"wdz",
|
||||
"wdw",
|
||||
]
|
||||
|
||||
|
||||
def prefixed_matrix(prefix):
|
||||
"""
|
||||
Returns a matrix where each entry is of the for prefix___name.
|
||||
"""
|
||||
|
||||
return Matrix(4, 4, [ symbols(prefix + "___" + i) for i in matrix_names ])
|
||||
|
||||
###############################################################################
|
||||
|
||||
|
||||
import cStringIO
|
||||
|
||||
generators = [ ]
|
||||
|
||||
|
||||
class Generator(object):
|
||||
|
||||
def __init__(self, name, docs):
|
||||
self.f = cStringIO.StringIO()
|
||||
|
||||
self.name = name
|
||||
self.docs = docs
|
||||
|
||||
generators.append(self)
|
||||
|
||||
self.first_let = True
|
||||
|
||||
def parameters(self, params):
|
||||
print(file=self.f)
|
||||
print(file=self.f)
|
||||
|
||||
print("def {}({}):".format(
|
||||
self.name,
|
||||
", ".join("float " + i for i in params.split())), file=self.f)
|
||||
|
||||
if self.docs:
|
||||
print(' """' + self.docs + '"""', file=self.f)
|
||||
|
||||
if params.split():
|
||||
return symbols(params)
|
||||
|
||||
def let(self, name, value):
|
||||
|
||||
if self.first_let:
|
||||
print(file=self.f)
|
||||
self.first_let = False
|
||||
|
||||
value = simplify(value, rational=True)
|
||||
|
||||
print(" cdef float {} = {}".format(name, str(value)), file=self.f)
|
||||
|
||||
return symbols(name)
|
||||
|
||||
def matrix(self, m):
|
||||
|
||||
print(file=self.f)
|
||||
|
||||
print(" cdef Matrix rv = Matrix(None)", file=self.f)
|
||||
print(file=self.f)
|
||||
|
||||
for name, value in zip(matrix_names, m):
|
||||
if value == 0.0:
|
||||
continue
|
||||
|
||||
print(" rv.{} =".format(name), simplify(value, rational=True), file=self.f)
|
||||
|
||||
print(file=self.f)
|
||||
print(" return rv", file=self.f)
|
||||
|
||||
|
||||
def generate(func):
|
||||
g = Generator(func.__name__, func.__doc__)
|
||||
func(g)
|
||||
return func
|
||||
|
||||
|
||||
def write(fn):
|
||||
with open(fn, "w") as f:
|
||||
for i in generators:
|
||||
f.write(i.f.getvalue())
|
||||
|
||||
|
||||
@generate
|
||||
def identity(g):
|
||||
"""
|
||||
Returns an identity matrix.
|
||||
"""
|
||||
|
||||
g.parameters("")
|
||||
|
||||
g.matrix(Matrix(4, 4, [
|
||||
1.0, 0.0, 0.0, 0.0,
|
||||
0.0, 1.0, 0.0, 0.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
]))
|
||||
|
||||
|
||||
@generate
|
||||
def offset(g):
|
||||
"""
|
||||
Returns a matrix that offsets the vertex by a fixed amount.
|
||||
"""
|
||||
|
||||
x, y, z = g.parameters("x y z")
|
||||
|
||||
g.matrix(Matrix(4, 4, [
|
||||
1.0, 0.0, 0.0, x,
|
||||
0.0, 1.0, 0.0, y,
|
||||
0.0, 0.0, 1.0, z,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
]))
|
||||
|
||||
|
||||
@generate
|
||||
def rotate(g):
|
||||
"""
|
||||
Returns a matrix that rotates the displayable around the
|
||||
origin.
|
||||
|
||||
`x`, `y`, `x`
|
||||
The amount to rotate around the origin, in degrees.
|
||||
"""
|
||||
|
||||
x, y, z = g.parameters("x y z")
|
||||
|
||||
sinx = g.let("sinx", sin(x * pi / 180.0))
|
||||
cosx = g.let("cosx", cos(x * pi / 180.0))
|
||||
|
||||
siny = g.let("siny", sin(y * pi / 180.0))
|
||||
cosy = g.let("cosy", cos(y * pi / 180.0))
|
||||
|
||||
sinz = g.let("sinz", sin(z * pi / 180.0))
|
||||
cosz = g.let("cosz", cos(z * pi / 180.0))
|
||||
|
||||
rx = Matrix(4, 4, [
|
||||
1, 0, 0, 0,
|
||||
0, cosx, -sinx, 0,
|
||||
0, sinx, cosx, 0,
|
||||
0, 0, 0, 1 ])
|
||||
|
||||
ry = Matrix(4, 4, [
|
||||
cosy, 0, siny, 0,
|
||||
0, 1, 0, 0,
|
||||
-siny, 0, cosy, 0,
|
||||
0, 0, 0, 1])
|
||||
|
||||
rz = Matrix(4, 4, [
|
||||
cosz, -sinz, 0, 0,
|
||||
sinz, cosz, 0, 0,
|
||||
0, 0, 1, 0,
|
||||
0, 0, 0, 1, ])
|
||||
|
||||
g.matrix(rz * ry * rx)
|
||||
|
||||
|
||||
@generate
|
||||
def perspective(g):
|
||||
"""
|
||||
Returns the Ren'Py projection matrix. This is a view into a 3d space
|
||||
where (0, 0) is the top left corner (`w`/2, `h`/2) is the center, and
|
||||
(`w`,`h`) is the bottom right, when the z coordinate is 0.
|
||||
|
||||
`w`, `h`
|
||||
The width and height of the input plane, in pixels.
|
||||
|
||||
`n`
|
||||
The distance of the near plane from the camera.
|
||||
|
||||
`p`
|
||||
The distance of the 1:1 plane from the camera. This is where 1 pixel
|
||||
is one coordinate unit.
|
||||
|
||||
`f`
|
||||
The distance of the far plane from the camera.
|
||||
"""
|
||||
|
||||
w, h, n, p, f = g.parameters('w h n p f')
|
||||
|
||||
offset = Matrix(4, 4, [
|
||||
1.0, 0.0, 0.0, -w / 2.0,
|
||||
0.0, 1.0, 0.0, -h / 2.0,
|
||||
0.0, 0.0, 1.0, -p,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
])
|
||||
|
||||
projection = Matrix(4, 4, [
|
||||
2.0 * p / w, 0.0, 0.0, 0.0,
|
||||
0.0, 2.0 * p / h, 0.0, 0.0,
|
||||
0.0, 0.0, -(f+n)/(f-n), -2 * f * n / (f - n),
|
||||
0.0, 0.0, -1.0, 0.0,
|
||||
])
|
||||
|
||||
reverse_offset = Matrix(4, 4, [
|
||||
w / 2.0, 0.0, 0.0, w / 2.0,
|
||||
0.0, h / 2.0, 0.0, h / 2.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0,
|
||||
])
|
||||
|
||||
g.matrix(reverse_offset * projection * offset)
|
||||
|
||||
|
||||
@generate
|
||||
def screen_projection(g):
|
||||
"""
|
||||
This generates a matrix that projects the Ren'Py space, where (0, 0) is the
|
||||
top left and (`w`, `h`) is the bottom right, into the OpenGL viewport, where
|
||||
(-1.0, 1.0) is the top left and (1.0, -1.0) is the bottom.
|
||||
|
||||
Generates the matrix that projects the Ren'Py screen to the OpenGL screen.
|
||||
"""
|
||||
|
||||
w, h = g.parameters("w h")
|
||||
|
||||
m = Matrix(4, 4, [
|
||||
2.0 / w, 0.0, 0.0, -1.0,
|
||||
0.0, -2.0 / h, 0.0, 1.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
])
|
||||
|
||||
g.matrix(m)
|
||||
|
||||
|
||||
@generate
|
||||
def texture_projection(g):
|
||||
"""
|
||||
This generates a matrix that project the Ren'Py space, where (0, 0) is the
|
||||
top left and (`w`, `h`) is the bottom right, into the OpenGL render-to-texture
|
||||
space, where (-1.0, -1.0) is the top left and (1.0, 1.0) is the bottom.
|
||||
|
||||
Generates the matrix that projects the Ren'Py screen to the OpenGL screen.
|
||||
"""
|
||||
|
||||
w, h = g.parameters("w h")
|
||||
|
||||
m = Matrix(4, 4, [
|
||||
2.0 / w, 0.0, 0.0, -1.0,
|
||||
0.0, 2.0 / h, 0.0, -1.0,
|
||||
0.0, 0.0, 1.0, 0.0,
|
||||
0.0, 0.0, 0.0, 1.0
|
||||
])
|
||||
|
||||
g.matrix(m)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
import os
|
||||
|
||||
RENPY = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
|
||||
write(os.path.join(RENPY, "renpy", "display", "matrix_functions.pxi"))
|
||||
@@ -6,7 +6,7 @@ from libc.stdlib cimport calloc, free
|
||||
from cpython.buffer cimport PyObject_GetBuffer, PyBuffer_Release, PyBUF_CONTIG, PyBUF_CONTIG_RO
|
||||
|
||||
cimport uguugl
|
||||
from uguugl import reset_error, get_error, enable_check_error, load
|
||||
from uguugl import load
|
||||
|
||||
cdef object proxy_return_string(const GLubyte *s):
|
||||
"""
|
||||
|
||||
@@ -12,41 +12,3 @@ cdef void *find_gl_command(names):
|
||||
|
||||
raise Exception("{} not found.".format(names[0]))
|
||||
|
||||
|
||||
cdef const char *error_function
|
||||
cdef GLenum error_code
|
||||
|
||||
def reset_error():
|
||||
"""
|
||||
Resets the
|
||||
"""
|
||||
|
||||
global error_function
|
||||
error_function = NULL
|
||||
|
||||
global error_code
|
||||
error_code = GL_NO_ERROR
|
||||
|
||||
reset_error()
|
||||
|
||||
def get_error():
|
||||
|
||||
if error_function != NULL:
|
||||
return error_function.decode("utf-8"), error_code
|
||||
else:
|
||||
return None, GL_NO_ERROR
|
||||
|
||||
|
||||
cdef void check_error(const char *function) nogil:
|
||||
|
||||
global error_function
|
||||
global error_code
|
||||
|
||||
cdef GLenum error
|
||||
|
||||
error = real_glGetError()
|
||||
|
||||
if (error_function == NULL) and (error != GL_NO_ERROR):
|
||||
error_function = function
|
||||
error_code = error
|
||||
|
||||
|
||||
@@ -304,28 +304,10 @@ class XMLToPYX:
|
||||
c = self.commands[i]
|
||||
|
||||
w("")
|
||||
w(f"cdef {i}_type real_{i}")
|
||||
w(f"cdef {i}_type {i}")
|
||||
|
||||
w("")
|
||||
|
||||
param_list = c.format_param_list()
|
||||
proxy_call = c.format_proxy_call()
|
||||
|
||||
if c.return_type != "void":
|
||||
|
||||
w(f'cdef {c.return_type} check_{i}{param_list} nogil:')
|
||||
w(f' cdef {c.return_type} rv')
|
||||
w(f' rv = real_{i}{proxy_call}')
|
||||
w(f' check_error("{i}")')
|
||||
w(f' return rv')
|
||||
|
||||
else:
|
||||
|
||||
w(f'cdef {c.return_type} check_{i}{param_list} nogil:')
|
||||
w(f' real_{i}{proxy_call}')
|
||||
w(f' check_error("{i}")')
|
||||
|
||||
w("")
|
||||
w("def load():")
|
||||
|
||||
@@ -339,16 +321,8 @@ class XMLToPYX:
|
||||
names = [ i.encode("utf-8") for i in names ]
|
||||
|
||||
w(f"")
|
||||
w(f" global real_{i}, {i}")
|
||||
w(f" real_{i} = <{i}_type> find_gl_command({names!r})")
|
||||
w(f" {i} = real_{i}")
|
||||
|
||||
w("")
|
||||
w("def enable_check_error():")
|
||||
|
||||
for i in sorted(self.features.commands):
|
||||
w(f" global {i}")
|
||||
w(f" {i} = check_{i}")
|
||||
w(f" {i} = <{i}_type> find_gl_command({names!r})")
|
||||
|
||||
def generate_uguu_pyx(self, f):
|
||||
|
||||
|
||||
@@ -48,3 +48,4 @@ BLIT = int
|
||||
DISSOLVE = int
|
||||
IMAGEDISSOLVE = int
|
||||
PIXELLATE = int
|
||||
FLATTEN = int
|
||||
|
||||
+28
-5
@@ -40,11 +40,10 @@ except ImportError:
|
||||
vc_version = 0
|
||||
|
||||
# The tuple giving the version number.
|
||||
version_tuple = (7, 2, 0, vc_version)
|
||||
version_tuple = (7, 3, 4, vc_version)
|
||||
|
||||
# The name of this version.
|
||||
version_name = "What's on the menu."
|
||||
# 7.3: The world (wide web) is not enough.
|
||||
version_name = "The world (wide web) is not enough."
|
||||
|
||||
|
||||
# A string giving the version number only (8.0.1.123).
|
||||
@@ -172,6 +171,7 @@ backup_blacklist = {
|
||||
"renpy.test.testkey",
|
||||
"renpy.test.testmouse",
|
||||
"renpy.test.testparser",
|
||||
"renpy.gl2",
|
||||
"renpycoverage",
|
||||
}
|
||||
|
||||
@@ -551,6 +551,10 @@ def post_import():
|
||||
vars(renpy.exports).setdefault(k, v)
|
||||
|
||||
|
||||
def issubmodule(sub, module):
|
||||
return sub == module or sub.startswith(module + ".")
|
||||
|
||||
|
||||
def reload_all():
|
||||
"""
|
||||
Resets all modules to the state they were in right after import_all
|
||||
@@ -583,15 +587,16 @@ def reload_all():
|
||||
renpy.display.render.mark_sweep()
|
||||
|
||||
# Get rid of the draw module and interface.
|
||||
renpy.display.draw.deinit()
|
||||
renpy.display.draw.quit()
|
||||
renpy.display.draw = None
|
||||
renpy.display.interface = None
|
||||
|
||||
py_compile_cache = renpy.python.py_compile_cache
|
||||
reload_modules = renpy.config.reload_modules
|
||||
|
||||
# Delete the store modules.
|
||||
for i in sys.modules.keys():
|
||||
if i.startswith("store") or i == "renpy.store":
|
||||
if issubmodule(i, "store") or i == "renpy.store":
|
||||
m = sys.modules[i]
|
||||
|
||||
if m is not None:
|
||||
@@ -599,6 +604,14 @@ def reload_all():
|
||||
|
||||
del sys.modules[i]
|
||||
|
||||
elif any(issubmodule(i, m) for m in reload_modules):
|
||||
m = sys.modules[i]
|
||||
|
||||
if m is not None:
|
||||
m.__dict__.clear()
|
||||
|
||||
del sys.modules[i]
|
||||
|
||||
# Restore the state of all modules from backup.
|
||||
backup.restore()
|
||||
|
||||
@@ -642,6 +655,8 @@ def import_cython():
|
||||
import renpy.arguments
|
||||
|
||||
import renpy.display.accelerator
|
||||
|
||||
import renpy.display.matrix
|
||||
import renpy.display.render
|
||||
|
||||
import renpy.gl.gl
|
||||
@@ -661,6 +676,14 @@ def import_cython():
|
||||
import renpy.angle.glrtt_fbo
|
||||
import renpy.angle.gltexture
|
||||
|
||||
import renpy.gl2.gl2draw
|
||||
import renpy.gl2.gl2ftl
|
||||
import renpy.gl2.gl2geometry
|
||||
import renpy.gl2.gl2shader
|
||||
import renpy.gl2.gl2texture
|
||||
import renpy.gl2.uguu
|
||||
import renpy.gl2.uguugl
|
||||
|
||||
|
||||
if False:
|
||||
import renpy.defaultstore as store
|
||||
|
||||
@@ -1526,16 +1526,19 @@ cdef extern from "glcompat.h" nogil:
|
||||
cdef int glActiveTextureARB(GLenum) except? 0
|
||||
cdef int glAttachObjectARB(GLhandleARB, GLhandleARB) except? 0
|
||||
cdef int glBindFramebufferEXT(GLenum, GLuint) except? 0
|
||||
cdef int glBindRenderbufferEXT(GLenum, GLuint) except? 0
|
||||
cdef int glBindTexture(GLenum, GLuint) except? 0
|
||||
cdef int glBlendFunc(GLenum, GLenum) except? 0
|
||||
cdef int glClear(GLbitfield) except? 0
|
||||
cdef int glClearColor(GLclampf, GLclampf, GLclampf, GLclampf) except? 0
|
||||
cdef int glCompileShaderARB(GLhandleARB) except? 0
|
||||
cdef int glCopyTexImage2D(GLenum, GLint, GLenum, GLint, GLint, GLsizei, GLsizei, GLint) except? 0
|
||||
cdef int glCopyTexSubImage2D(GLenum, GLint, GLint, GLint, GLint, GLint, GLsizei, GLsizei) except? 0
|
||||
cdef GLhandleARB glCreateProgramObjectARB() except? 0
|
||||
cdef GLhandleARB glCreateShaderObjectARB(GLenum) except? 0
|
||||
cdef int glDeleteFramebuffersEXT(GLsizei, GLuint *) except? 0
|
||||
cdef int glDeleteProgram(GLuint) except? 0
|
||||
cdef int glDeleteRenderbuffersEXT(GLsizei, GLuint *) except? 0
|
||||
cdef int glDeleteShader(GLuint) except? 0
|
||||
cdef int glDeleteTextures(GLsizei, GLuint *) except? 0
|
||||
cdef int glDisable(GLenum) except? 0
|
||||
@@ -1544,8 +1547,10 @@ cdef int glDrawArrays(GLenum, GLint, GLsizei) except? 0
|
||||
cdef int glEnable(GLenum) except? 0
|
||||
cdef int glEnableVertexAttribArrayARB(GLuint) except? 0
|
||||
cdef int glFinish() except? 0
|
||||
cdef int glFramebufferRenderbufferEXT(GLenum, GLenum, GLenum, GLuint) except? 0
|
||||
cdef int glFramebufferTexture2DEXT(GLenum, GLenum, GLenum, GLuint, GLint) except? 0
|
||||
cdef int glGenFramebuffersEXT(GLsizei, GLuint *) except? 0
|
||||
cdef int glGenRenderbuffersEXT(GLsizei, GLuint *) except? 0
|
||||
cdef int glGenTextures(GLsizei, GLuint *) except? 0
|
||||
cdef GLint glGetAttribLocationARB(GLhandleARB, GLchar *) except? 0
|
||||
cdef int glGetIntegerv(GLenum, GLint *) except? 0
|
||||
@@ -1557,6 +1562,7 @@ cdef GLchar * glGetString(GLenum) except? NULL
|
||||
cdef GLint glGetUniformLocationARB(GLhandleARB, GLchar *) except? 0
|
||||
cdef int glLinkProgramARB(GLhandleARB) except? 0
|
||||
cdef int glReadPixels(GLint, GLint, GLsizei, GLsizei, GLenum, GLenum, GLubyte *) except? 0
|
||||
cdef int glRenderbufferStorageEXT(GLenum, GLenum, GLsizei, GLsizei) except? 0
|
||||
cdef int glScissor(GLint, GLint, GLsizei, GLsizei) except? 0
|
||||
cdef int glShaderSourceARB(GLhandleARB, GLsizei, GLchar * *, GLint *) except? 0
|
||||
cdef int glTexImage2D(GLenum, GLint, GLint, GLsizei, GLsizei, GLint, GLenum, GLenum, GLubyte *) except? 0
|
||||
|
||||
+90
-2
@@ -1,5 +1,3 @@
|
||||
from __future__ import print_function
|
||||
|
||||
import os
|
||||
import renpy
|
||||
|
||||
@@ -52,6 +50,21 @@ cdef int glBindFramebufferEXT(GLenum a0, GLuint a1) except? 0:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glBindRenderbufferEXT(GLenum a0, GLuint a1) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glBindRenderbufferEXT')
|
||||
cdef GLenum error
|
||||
realGlBindRenderbufferEXT(a0, a1)
|
||||
if check_errors:
|
||||
error = realGlGetError()
|
||||
if error:
|
||||
message = 'GL error %x in glBindRenderbufferEXT' % error
|
||||
if check_errors & 1:
|
||||
renpy.display.log.write('%s', message)
|
||||
if check_errors & 2:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glBindTexture(GLenum a0, GLuint a1) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glBindTexture')
|
||||
@@ -128,6 +141,21 @@ cdef int glCompileShaderARB(GLhandleARB a0) except? 0:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glCopyTexImage2D(GLenum a0, GLint a1, GLenum a2, GLint a3, GLint a4, GLsizei a5, GLsizei a6, GLint a7) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glCopyTexImage2D')
|
||||
cdef GLenum error
|
||||
realGlCopyTexImage2D(a0, a1, a2, a3, a4, a5, a6, a7)
|
||||
if check_errors:
|
||||
error = realGlGetError()
|
||||
if error:
|
||||
message = 'GL error %x in glCopyTexImage2D' % error
|
||||
if check_errors & 1:
|
||||
renpy.display.log.write('%s', message)
|
||||
if check_errors & 2:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glCopyTexSubImage2D(GLenum a0, GLint a1, GLint a2, GLint a3, GLint a4, GLint a5, GLsizei a6, GLsizei a7) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glCopyTexSubImage2D')
|
||||
@@ -203,6 +231,21 @@ cdef int glDeleteProgram(GLuint a0) except? 0:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glDeleteRenderbuffersEXT(GLsizei a0, GLuint * a1) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glDeleteRenderbuffersEXT')
|
||||
cdef GLenum error
|
||||
realGlDeleteRenderbuffersEXT(a0, a1)
|
||||
if check_errors:
|
||||
error = realGlGetError()
|
||||
if error:
|
||||
message = 'GL error %x in glDeleteRenderbuffersEXT' % error
|
||||
if check_errors & 1:
|
||||
renpy.display.log.write('%s', message)
|
||||
if check_errors & 2:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glDeleteShader(GLuint a0) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glDeleteShader')
|
||||
@@ -323,6 +366,21 @@ cdef int glFinish() except? 0:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glFramebufferRenderbufferEXT(GLenum a0, GLenum a1, GLenum a2, GLuint a3) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glFramebufferRenderbufferEXT')
|
||||
cdef GLenum error
|
||||
realGlFramebufferRenderbufferEXT(a0, a1, a2, a3)
|
||||
if check_errors:
|
||||
error = realGlGetError()
|
||||
if error:
|
||||
message = 'GL error %x in glFramebufferRenderbufferEXT' % error
|
||||
if check_errors & 1:
|
||||
renpy.display.log.write('%s', message)
|
||||
if check_errors & 2:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glFramebufferTexture2DEXT(GLenum a0, GLenum a1, GLenum a2, GLuint a3, GLint a4) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glFramebufferTexture2DEXT')
|
||||
@@ -353,6 +411,21 @@ cdef int glGenFramebuffersEXT(GLsizei a0, GLuint * a1) except? 0:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glGenRenderbuffersEXT(GLsizei a0, GLuint * a1) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glGenRenderbuffersEXT')
|
||||
cdef GLenum error
|
||||
realGlGenRenderbuffersEXT(a0, a1)
|
||||
if check_errors:
|
||||
error = realGlGetError()
|
||||
if error:
|
||||
message = 'GL error %x in glGenRenderbuffersEXT' % error
|
||||
if check_errors & 1:
|
||||
renpy.display.log.write('%s', message)
|
||||
if check_errors & 2:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glGenTextures(GLsizei a0, GLuint * a1) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glGenTextures')
|
||||
@@ -518,6 +591,21 @@ cdef int glReadPixels(GLint a0, GLint a1, GLsizei a2, GLsizei a3, GLenum a4, GLe
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glRenderbufferStorageEXT(GLenum a0, GLenum a1, GLsizei a2, GLsizei a3) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glRenderbufferStorageEXT')
|
||||
cdef GLenum error
|
||||
realGlRenderbufferStorageEXT(a0, a1, a2, a3)
|
||||
if check_errors:
|
||||
error = realGlGetError()
|
||||
if error:
|
||||
message = 'GL error %x in glRenderbufferStorageEXT' % error
|
||||
if check_errors & 1:
|
||||
renpy.display.log.write('%s', message)
|
||||
if check_errors & 2:
|
||||
raise Exception(message)
|
||||
return 1
|
||||
|
||||
cdef int glScissor(GLint a0, GLint a1, GLsizei a2, GLsizei a3) except? 0:
|
||||
if check_errors & 4:
|
||||
renpy.display.log.write('glScissor')
|
||||
|
||||
+100
-17
@@ -249,6 +249,16 @@ class PyExpr(unicode):
|
||||
return (unicode(self), self.filename, self.linenumber) # E1101
|
||||
|
||||
|
||||
def probably_side_effect_free(expr):
|
||||
"""
|
||||
Returns true if an expr probably does not have side effects, and should
|
||||
be predicted. Basically, this just whitelists a set of characters that
|
||||
doesn't allow for a function call.
|
||||
"""
|
||||
|
||||
return not ("(" in expr)
|
||||
|
||||
|
||||
class PyCode(object):
|
||||
|
||||
__slots__ = [
|
||||
@@ -346,9 +356,10 @@ class Node(object):
|
||||
A node in the abstract syntax tree of the program.
|
||||
|
||||
@ivar name: The name of this node.
|
||||
|
||||
@ivar filename: The filename where this node comes from.
|
||||
@ivar linenumber: The line number of the line on which this node is defined.
|
||||
@ivar next: The statement that will execute after this one.
|
||||
@ivar statement_start: If present, the first node that makes up the statement that includes this node.
|
||||
"""
|
||||
|
||||
__slots__ = [
|
||||
@@ -356,6 +367,7 @@ class Node(object):
|
||||
'filename',
|
||||
'linenumber',
|
||||
'next',
|
||||
'statement_start',
|
||||
]
|
||||
|
||||
# True if this node is translatable, false otherwise. (This can be set on
|
||||
@@ -579,6 +591,7 @@ class Say(Node):
|
||||
'attributes',
|
||||
'arguments',
|
||||
'temporary_attributes',
|
||||
'rollback',
|
||||
]
|
||||
|
||||
def diff_info(self):
|
||||
@@ -590,6 +603,7 @@ class Say(Node):
|
||||
self.interact = True
|
||||
self.arguments = None
|
||||
self.temporary_attributes = None
|
||||
self.rollback = "normal"
|
||||
return self
|
||||
|
||||
def __init__(self, loc, who, what, with_, interact=True, attributes=None, arguments=None, temporary_attributes=None):
|
||||
@@ -629,6 +643,10 @@ class Say(Node):
|
||||
if self.attributes is not None:
|
||||
rv.extend(self.attributes)
|
||||
|
||||
if self.temporary_attributes:
|
||||
rv.append("@")
|
||||
rv.extend(self.temporary_attributes)
|
||||
|
||||
what = self.what
|
||||
if dialogue_filter is not None:
|
||||
what = dialogue_filter(what)
|
||||
@@ -1432,6 +1450,10 @@ class Call(Node):
|
||||
label = self.label
|
||||
|
||||
if self.expression:
|
||||
|
||||
if not probably_side_effect_free(label):
|
||||
return [ ]
|
||||
|
||||
label = renpy.python.py_eval(label)
|
||||
|
||||
return [ renpy.game.context().predict_call(label, self.next.name) ]
|
||||
@@ -1498,7 +1520,6 @@ class Return(Node):
|
||||
class Menu(Node):
|
||||
|
||||
translation_relevant = True
|
||||
rollback = "force"
|
||||
|
||||
__slots__ = [
|
||||
'items',
|
||||
@@ -1507,6 +1528,7 @@ class Menu(Node):
|
||||
'has_caption',
|
||||
'arguments',
|
||||
'item_arguments',
|
||||
'rollback',
|
||||
]
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
@@ -1514,6 +1536,7 @@ class Menu(Node):
|
||||
self.has_caption = False
|
||||
self.arguments = None
|
||||
self.item_arguments = None
|
||||
self.rollback = "force"
|
||||
return self
|
||||
|
||||
def __init__(self, loc, items, set, with_, has_caption, arguments, item_arguments): # @ReservedAssignment
|
||||
@@ -1678,10 +1701,16 @@ class Jump(Node):
|
||||
|
||||
def predict(self):
|
||||
|
||||
label = self.target
|
||||
|
||||
if self.expression:
|
||||
return [ ]
|
||||
else:
|
||||
return [ renpy.game.script.lookup(self.target) ]
|
||||
|
||||
if not probably_side_effect_free(label):
|
||||
return [ ]
|
||||
|
||||
label = renpy.python.py_eval(label)
|
||||
|
||||
return [ renpy.game.script.lookup(label) ]
|
||||
|
||||
def scry(self):
|
||||
rv = Node.scry(self)
|
||||
@@ -1829,6 +1858,7 @@ class UserStatement(Node):
|
||||
'code_block',
|
||||
'translation_relevant',
|
||||
'rollback',
|
||||
'subparses',
|
||||
]
|
||||
|
||||
def __new__(cls, *args, **kwargs):
|
||||
@@ -1838,33 +1868,34 @@ class UserStatement(Node):
|
||||
self.translatable = False
|
||||
self.translation_relevant = False
|
||||
self.rollback = "normal"
|
||||
self.subparses = [ ]
|
||||
return self
|
||||
|
||||
def __init__(self, loc, line, block):
|
||||
def __init__(self, loc, line, block, parsed):
|
||||
|
||||
super(UserStatement, self).__init__(loc)
|
||||
self.code_block = None
|
||||
self.parsed = parsed
|
||||
self.line = line
|
||||
self.block = block
|
||||
self.code_block = None
|
||||
self.parsed = None
|
||||
self.subparses = [ ]
|
||||
|
||||
self.name = self.call("label")
|
||||
self.rollback = renpy.statements.get("rollback", self.parsed) or "normal"
|
||||
|
||||
# Do not store the parse.
|
||||
self.parsed = None
|
||||
|
||||
def __repr__(self):
|
||||
return "<UserStatement {!r}>".format(self.line)
|
||||
|
||||
def get_children(self, f):
|
||||
f(self)
|
||||
|
||||
if not self.code_block:
|
||||
return
|
||||
if self.code_block is not None:
|
||||
for i in self.code_block:
|
||||
i.get_children(f)
|
||||
|
||||
for i in self.code_block:
|
||||
i.get_children(f)
|
||||
for i in self.subparses:
|
||||
for j in i.block:
|
||||
j.get_children(f)
|
||||
|
||||
def chain(self, next): # @ReservedAssignment
|
||||
self.next = next
|
||||
@@ -1872,22 +1903,33 @@ class UserStatement(Node):
|
||||
if self.code_block is not None:
|
||||
chain_block(self.code_block, next)
|
||||
|
||||
for i in self.subparses:
|
||||
chain_block(i.block, next)
|
||||
|
||||
def replace_next(self, old, new):
|
||||
Node.replace_next(self, old, new)
|
||||
|
||||
if (self.code_block) and (self.code_block[0] is old):
|
||||
self.code_block.insert(0, new)
|
||||
|
||||
for i in self.subparses:
|
||||
if i.block[0] is old:
|
||||
self.code_block.insert(0, new)
|
||||
|
||||
def restructure(self, callback):
|
||||
if self.code_block:
|
||||
callback(self.code_block)
|
||||
|
||||
for i in self.subparses:
|
||||
callback(i.block)
|
||||
|
||||
def diff_info(self):
|
||||
return (UserStatement, self.line)
|
||||
|
||||
def call(self, method, *args, **kwargs):
|
||||
|
||||
parsed = self.parsed
|
||||
|
||||
if parsed is None:
|
||||
parsed = renpy.statements.parse(self, self.line, self.block)
|
||||
self.parsed = parsed
|
||||
@@ -1913,10 +1955,25 @@ class UserStatement(Node):
|
||||
for i in predictions:
|
||||
renpy.easy.predict(i)
|
||||
|
||||
return [ self.get_next() ]
|
||||
if self.parsed and renpy.statements.get("predict_all", self.parsed):
|
||||
return [ i.block[0] for i in self.subparses ] + [ self.next ]
|
||||
|
||||
if self.next:
|
||||
next_label = self.next.name
|
||||
else:
|
||||
next_label = None
|
||||
|
||||
next_list = self.call("predict_next", next_label)
|
||||
|
||||
if next_list is not None:
|
||||
nexts = [ renpy.game.script.lookup_or_none(i) for i in next_list if i is not None ]
|
||||
return [ i for i in nexts if i is not None ]
|
||||
|
||||
return [ self.next ]
|
||||
|
||||
def get_name(self):
|
||||
parsed = self.parsed
|
||||
|
||||
if parsed is None:
|
||||
parsed = renpy.statements.parse(self, self.line, self.block)
|
||||
self.parsed = parsed
|
||||
@@ -1952,6 +2009,32 @@ class UserStatement(Node):
|
||||
return False
|
||||
|
||||
|
||||
class PostUserStatement(Node):
|
||||
|
||||
__slots__ = [
|
||||
'parent',
|
||||
]
|
||||
|
||||
def __init__(self, loc, parent):
|
||||
|
||||
super(PostUserStatement, self).__init__(loc)
|
||||
self.parent = parent
|
||||
|
||||
self.name = self.parent.call("post_label")
|
||||
|
||||
def __repr__(self):
|
||||
return "<PostUserStatement {!r}>".format(self.parent.line)
|
||||
|
||||
def diff_info(self):
|
||||
return (PostUserStatement, self.parent.line)
|
||||
|
||||
def execute(self):
|
||||
next_node(self.next)
|
||||
statement_name("post " + self.parent.get_name())
|
||||
|
||||
self.parent.call("post_execute")
|
||||
|
||||
|
||||
def create_store(name):
|
||||
if name not in renpy.config.special_namespaces:
|
||||
renpy.python.create_store(name)
|
||||
@@ -1980,7 +2063,7 @@ def get_namespace(store):
|
||||
|
||||
# Config variables that are set twice - once when the rpy is first loaded,
|
||||
# and then again at init time.
|
||||
EARLY_CONFIG = { "save_directory", "allow_duplicate_labels" }
|
||||
EARLY_CONFIG = { "save_directory", "allow_duplicate_labels", "keyword_after_python" }
|
||||
|
||||
define_statements = [ ]
|
||||
|
||||
|
||||
+10
-1
@@ -251,6 +251,9 @@ class Context(object):
|
||||
|
||||
return self.context == other.context
|
||||
|
||||
def __ne__(self, other):
|
||||
return not (self == other)
|
||||
|
||||
# This is intended to be subclassed by ATLTransform. It takes care of
|
||||
# managing ATL execution, which allows ATLTransform itself to not care
|
||||
# much about the contents of this file.
|
||||
@@ -385,7 +388,12 @@ class ATLTransformBase(renpy.object.Object):
|
||||
self.atl_st_offset = t.atl_st_offset
|
||||
|
||||
if self.child is renpy.display.motion.null:
|
||||
self.child = t.child
|
||||
|
||||
if t.child and t.child._duplicatable:
|
||||
self.child = t.child._duplicate(None)
|
||||
else:
|
||||
self.child = t.child
|
||||
|
||||
self.raw_child = t.raw_child
|
||||
|
||||
def __call__(self, *args, **kwargs):
|
||||
@@ -1820,6 +1828,7 @@ def parse_atl(l):
|
||||
if l.keyword('circles'):
|
||||
expr = l.require(l.simple_expression)
|
||||
rm.add_circles(expr)
|
||||
continue
|
||||
|
||||
# Try to parse a property.
|
||||
cp = l.checkpoint()
|
||||
|
||||
+59
-18
@@ -36,6 +36,7 @@ import os
|
||||
import re
|
||||
import threading
|
||||
import sys
|
||||
import io
|
||||
|
||||
# Import the appropriate modules, or set them to None if we cannot.
|
||||
|
||||
@@ -73,6 +74,42 @@ def load(fn):
|
||||
return rv
|
||||
|
||||
|
||||
class AudioData(unicode):
|
||||
"""
|
||||
:doc: audio
|
||||
|
||||
This class wraps a bytes object containing audio data, so it can be
|
||||
passed to the audio playback system. The audio data should be contained
|
||||
in some format Ren'Py supports. (For examples RIFF WAV format headers,
|
||||
not unadorned samples.)
|
||||
|
||||
`data`
|
||||
A bytes object containing the audio file data.
|
||||
|
||||
`filename`
|
||||
A synthetic filename associated with this data. It can be used to
|
||||
suggest the format `data` is in, and is reported as part of
|
||||
error messages.
|
||||
|
||||
Once created, this can be used wherever an audio filename is allowed. For
|
||||
example::
|
||||
|
||||
define audio.easteregg = AudioData(b'...', 'sample.wav')
|
||||
play sound easteregg
|
||||
"""
|
||||
|
||||
def __new__(cls, data, filename):
|
||||
rv = unicode.__new__(cls, filename)
|
||||
rv.data = data
|
||||
return rv
|
||||
|
||||
def __init__(self, data, filename):
|
||||
pass
|
||||
|
||||
def __reduce__(self):
|
||||
return(AudioData, (self.data, unicode(self)))
|
||||
|
||||
|
||||
class QueueEntry(object):
|
||||
"""
|
||||
A queue entry object.
|
||||
@@ -359,9 +396,6 @@ class Channel(object):
|
||||
self.queue = [ ]
|
||||
return
|
||||
|
||||
# Should we do the callback?
|
||||
do_callback = False
|
||||
|
||||
topq = None
|
||||
|
||||
# This has been modified so we only queue a single sound file
|
||||
@@ -417,7 +451,10 @@ class Channel(object):
|
||||
if (end >= 0) and ((end - start) <= 0) and self.queue:
|
||||
continue
|
||||
|
||||
topf = load(self.file_prefix + filename + self.file_suffix)
|
||||
if isinstance(topq.filename, AudioData):
|
||||
topf = io.BytesIO(topq.filename.data)
|
||||
else:
|
||||
topf = load(self.file_prefix + filename + self.file_suffix)
|
||||
|
||||
renpysound.set_video(self.number, self.movie)
|
||||
|
||||
@@ -442,20 +479,20 @@ class Channel(object):
|
||||
|
||||
break
|
||||
|
||||
if self.loop and not self.queue:
|
||||
for i in self.loop:
|
||||
if topq is not None:
|
||||
newq = QueueEntry(i, 0, topq.tight, True)
|
||||
else:
|
||||
newq = QueueEntry(i, 0, False, True)
|
||||
# Empty queue?
|
||||
if not self.queue:
|
||||
# Re-loop:
|
||||
if self.loop:
|
||||
for i in self.loop:
|
||||
if topq is not None:
|
||||
newq = QueueEntry(i, 0, topq.tight, True)
|
||||
else:
|
||||
newq = QueueEntry(i, 0, False, True)
|
||||
|
||||
self.queue.append(newq)
|
||||
else:
|
||||
do_callback = True
|
||||
|
||||
# Queue empty callback.
|
||||
if do_callback and self.callback:
|
||||
self.callback() # E1102
|
||||
self.queue.append(newq)
|
||||
# Try callback:
|
||||
elif self.callback:
|
||||
self.callback() # E1102
|
||||
|
||||
want_pause = self.context.pause or global_pause
|
||||
|
||||
@@ -811,12 +848,16 @@ def init():
|
||||
|
||||
if pcm_ok is None and renpysound:
|
||||
bufsize = 2048
|
||||
if renpy.emscripten:
|
||||
# Large buffer (and latency) as compromise to avoid sound jittering
|
||||
bufsize = 8192 # works for me
|
||||
#bufsize = 16384 # jitter/silence right after starting a sound
|
||||
|
||||
if 'RENPY_SOUND_BUFSIZE' in os.environ:
|
||||
bufsize = int(os.environ['RENPY_SOUND_BUFSIZE'])
|
||||
|
||||
try:
|
||||
renpysound.init(renpy.config.sound_sample_rate, 2, bufsize, False)
|
||||
renpysound.init(renpy.config.sound_sample_rate, 2, bufsize, False, renpy.config.equal_mono)
|
||||
pcm_ok = True
|
||||
except:
|
||||
if renpy.config.debug_sound:
|
||||
|
||||
@@ -77,7 +77,7 @@ cdef extern from "renpysound_core.h":
|
||||
void RPS_set_video(int channel, int video)
|
||||
|
||||
void RPS_sample_surfaces(object, object)
|
||||
void RPS_init(int freq, int stereo, int samples, int status)
|
||||
void RPS_init(int freq, int stereo, int samples, int status, int equal_mono)
|
||||
void RPS_quit()
|
||||
|
||||
void RPS_periodic()
|
||||
@@ -354,7 +354,7 @@ def set_video(channel, video):
|
||||
else:
|
||||
RPS_set_video(channel, NO_VIDEO)
|
||||
|
||||
def init(freq, stereo, samples, status=False):
|
||||
def init(freq, stereo, samples, status=False, equal_mono=False):
|
||||
"""
|
||||
Initializes the audio system with the given parameters. The parameter are
|
||||
just informational - the audio system should be able to play all supported
|
||||
@@ -379,7 +379,7 @@ def init(freq, stereo, samples, status=False):
|
||||
else:
|
||||
status = 0
|
||||
|
||||
RPS_init(freq, stereo, samples, status)
|
||||
RPS_init(freq, stereo, samples, status, equal_mono)
|
||||
check_error()
|
||||
|
||||
def quit(): # @ReservedAssignment
|
||||
|
||||
+5
-2
@@ -86,6 +86,9 @@ def extra_imports():
|
||||
import cProfile; cProfile
|
||||
import pstats; pstats
|
||||
import _ssl; _ssl
|
||||
import SimpleHTTPServer; SimpleHTTPServer
|
||||
import wave; wave
|
||||
import sunau; sunau
|
||||
|
||||
# Used by requests.
|
||||
import cgi; cgi
|
||||
@@ -354,7 +357,7 @@ You may be using a system install of python. Please run {0}.sh,
|
||||
|
||||
renpy.audio.audio.quit()
|
||||
|
||||
|
||||
# Prevent subprocess from throwing errors while trying to run it's
|
||||
# __del__ method during shutdown.
|
||||
subprocess.Popen.__del__ = popen_del
|
||||
if not renpy.emscripten:
|
||||
subprocess.Popen.__del__ = popen_del
|
||||
|
||||
+71
-52
@@ -854,10 +854,10 @@ class ADVCharacter(object):
|
||||
properties=self.properties,
|
||||
**self.show_args)
|
||||
|
||||
def resolve_say_attributes(self, predict, attrs, wanted=[], remove=[], skip_trans=False):
|
||||
def resolve_say_attributes(self, predict, attrs, wanted=[], remove=[]):
|
||||
"""
|
||||
Deals with image attributes associated with the current say
|
||||
statement.
|
||||
statement. Returns True if an image is shown, None otherwise.
|
||||
"""
|
||||
|
||||
if not (attrs or wanted or remove):
|
||||
@@ -893,25 +893,10 @@ class ADVCharacter(object):
|
||||
show_image = (self.image_tag,) + attrs + tuple(wanted) + tuple( "-" + i for i in remove)
|
||||
|
||||
if predict:
|
||||
images.predict_show(new_image)
|
||||
|
||||
images.predict_show(layer, show_image)
|
||||
else:
|
||||
|
||||
trans = renpy.config.say_attribute_transition
|
||||
layer = renpy.config.say_attribute_transition_layer
|
||||
|
||||
if not skip_trans:
|
||||
if (trans is not None) and (layer is not None):
|
||||
renpy.exports.with_statement(None)
|
||||
|
||||
renpy.exports.show(show_image)
|
||||
|
||||
if not skip_trans:
|
||||
if trans is not None:
|
||||
if layer is None:
|
||||
renpy.exports.with_statement(trans)
|
||||
else:
|
||||
renpy.exports.transition(trans, layer=layer)
|
||||
return True
|
||||
|
||||
else:
|
||||
|
||||
@@ -950,22 +935,51 @@ class ADVCharacter(object):
|
||||
if renpy.config.speaking_attribute is not None:
|
||||
temporary_attrs.insert(0, renpy.config.speaking_attribute)
|
||||
|
||||
self.resolve_say_attributes(predicting, attrs, skip_trans=temporary_attrs)
|
||||
images = renpy.game.context().images
|
||||
before = images.get_attributes(None, self.image_tag)
|
||||
mode = None
|
||||
|
||||
if self.resolve_say_attributes(predicting, attrs):
|
||||
mode = 'permanent'
|
||||
|
||||
# This is so late to give resolve_say_attributes time to do some
|
||||
# error handling.
|
||||
if not self.image_tag:
|
||||
return None
|
||||
|
||||
if not temporary_attrs:
|
||||
return None
|
||||
if temporary_attrs:
|
||||
attrs = images.get_attributes(None, self.image_tag)
|
||||
|
||||
images = renpy.game.context().images
|
||||
attrs = images.get_attributes(None, self.image_tag)
|
||||
if self.resolve_say_attributes(predicting, temporary_attrs):
|
||||
mode = 'both' if mode else 'temporary'
|
||||
|
||||
self.resolve_say_attributes(predicting, temporary_attrs)
|
||||
if mode:
|
||||
after = images.get_attributes(None, self.image_tag)
|
||||
self.handle_say_transition(mode, before, after)
|
||||
|
||||
return (attrs, images)
|
||||
if temporary_attrs:
|
||||
return (attrs, images)
|
||||
|
||||
def handle_say_transition(self, mode, before, after):
|
||||
|
||||
before = set(before)
|
||||
after = set(after)
|
||||
|
||||
if before == after:
|
||||
return
|
||||
|
||||
if renpy.config.say_attribute_transition_callback_attrs:
|
||||
delta = (before, after)
|
||||
else:
|
||||
delta = ()
|
||||
|
||||
trans, layer = renpy.config.say_attribute_transition_callback(
|
||||
self.image_tag, mode, *delta)
|
||||
if trans is not None:
|
||||
if layer is None:
|
||||
renpy.exports.with_statement(trans)
|
||||
else:
|
||||
renpy.exports.transition(trans, layer=layer)
|
||||
|
||||
def restore_say_attributes(self, predicting, state, interact):
|
||||
|
||||
@@ -991,23 +1005,8 @@ class ADVCharacter(object):
|
||||
if images.showing(None, (self.image_tag,)):
|
||||
|
||||
if not predicting:
|
||||
|
||||
trans = renpy.config.say_attribute_transition
|
||||
layer = renpy.config.say_attribute_transition_layer
|
||||
|
||||
if interact:
|
||||
if (trans is not None) and (layer is not None):
|
||||
renpy.exports.with_statement(None)
|
||||
|
||||
renpy.exports.show(image_with_attrs)
|
||||
|
||||
if interact:
|
||||
if trans is not None:
|
||||
if layer is None:
|
||||
renpy.exports.with_statement(trans)
|
||||
else:
|
||||
renpy.exports.transition(trans, layer=layer)
|
||||
|
||||
return True
|
||||
else:
|
||||
images.predict_show(None, image_with_attrs)
|
||||
|
||||
@@ -1041,8 +1040,11 @@ class ADVCharacter(object):
|
||||
|
||||
def __call__(self, what, interact=True, _call_done=True, multiple=None, **kwargs):
|
||||
|
||||
_mode = kwargs.pop("_mode", None)
|
||||
_with_none = kwargs.pop("_with_none", None)
|
||||
|
||||
if kwargs:
|
||||
return Character(kind=self, **kwargs)(what, interact=interact, _call_done=_call_done, multiple=multiple)
|
||||
return Character(kind=self, **kwargs)(what, interact=interact, _call_done=_call_done, multiple=multiple, _mode=_mode, _with_none=_with_none)
|
||||
|
||||
# Check self.condition to see if we should show this line at all.
|
||||
if not (self.condition is None or renpy.python.py_eval(self.condition)):
|
||||
@@ -1088,7 +1090,10 @@ class ADVCharacter(object):
|
||||
try:
|
||||
|
||||
if interact:
|
||||
renpy.exports.mode(self.mode)
|
||||
mode = _mode or self.mode
|
||||
renpy.exports.mode(mode)
|
||||
else:
|
||||
renpy.game.context().deferred_translate_identifier = renpy.game.context().translate_identifier
|
||||
|
||||
# Figure out the arguments to display.
|
||||
display_args = self.display_args.copy()
|
||||
@@ -1097,11 +1102,17 @@ class ADVCharacter(object):
|
||||
if multiple is not None:
|
||||
display_args["multiple"] = multiple
|
||||
|
||||
if _with_none is not None:
|
||||
display_args["with_none"] = _with_none
|
||||
|
||||
who = self.name
|
||||
|
||||
# If dynamic is set, evaluate the name expression.
|
||||
if self.dynamic:
|
||||
who = renpy.python.py_eval(who)
|
||||
if callable(who):
|
||||
who = who()
|
||||
else:
|
||||
who = renpy.python.py_eval(who)
|
||||
|
||||
def sub(s, scope=None, force=False, translate=True):
|
||||
return renpy.substitutions.substitute(s, scope=scope, force=force, translate=translate)[0]
|
||||
@@ -1149,15 +1160,19 @@ class ADVCharacter(object):
|
||||
|
||||
if (multiple is None) and interact:
|
||||
renpy.store._side_image_attributes = old_side_image_attributes
|
||||
self.restore_say_attributes(False, old_attr_state, interact)
|
||||
|
||||
if old_attr_state is not None:
|
||||
_, images = old_attr_state
|
||||
before = images.get_attributes(None, self.image_tag)
|
||||
|
||||
if self.restore_say_attributes(False, old_attr_state, interact):
|
||||
after = images.get_attributes(None, self.image_tag)
|
||||
self.handle_say_transition('restore', before, after)
|
||||
|
||||
def predict(self, what):
|
||||
|
||||
old_attr_state = self.handle_say_attributes(True, True)
|
||||
|
||||
if renpy.config.speaking_attribute is not None:
|
||||
self.resolve_say_attributes(True, wanted=[ renpy.config.speaking_attribute ])
|
||||
|
||||
old_side_image_attributes = renpy.store._side_image_attributes
|
||||
|
||||
if self.image_tag:
|
||||
@@ -1317,9 +1332,13 @@ def Character(name=NotSet, kind=None, **properties):
|
||||
These options help to control the display of the name.
|
||||
|
||||
`dynamic`
|
||||
If true, then `name` should be a string containing a Python
|
||||
expression. That string will be evaluated before each line
|
||||
of dialogue, and the result used as the name of the character.
|
||||
If true, then `name` should either be a string containing a Python
|
||||
expression, a function, or a callable object. If it's a string,
|
||||
That string will be evaluated before each line of dialogue, and
|
||||
the result used as the name of the character. Otherwise, the
|
||||
function or callable object will be called with no arguments
|
||||
before each line of dialogue, and the return value of the call will
|
||||
be used as the name of the character.
|
||||
|
||||
**Controlling Interactions.**
|
||||
These options control if the dialogue is displayed, if an
|
||||
|
||||
@@ -0,0 +1,199 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
# (the "Software"), to deal in the Software without restriction,
|
||||
# including without limitation the rights to use, copy, modify, merge,
|
||||
# publish, distribute, sublicense, and/or sell copies of the Software,
|
||||
# and to permit persons to whom the Software is furnished to do so,
|
||||
# subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
init -1500 python:
|
||||
|
||||
##########################################################################
|
||||
# Self-voicing
|
||||
|
||||
# Strings used internally in Ren'Py.
|
||||
_("Self-voicing disabled.")
|
||||
_("Clipboard voicing enabled. ")
|
||||
_("Self-voicing enabled. ")
|
||||
|
||||
_("bar")
|
||||
_("selected")
|
||||
_("viewport")
|
||||
_("horizontal scroll")
|
||||
_("vertical scroll")
|
||||
_("activate")
|
||||
_("deactivate")
|
||||
_("increase")
|
||||
_("decrease")
|
||||
|
||||
|
||||
# The character that's used for descriptive text.
|
||||
config.descriptive_text_character = None
|
||||
|
||||
def alt(what, interact=True):
|
||||
"""
|
||||
Uses the narrator to speak `what` if self-voicing is enabled.
|
||||
"""
|
||||
|
||||
if _preferences.self_voicing:
|
||||
|
||||
c = config.descriptive_text_character
|
||||
|
||||
if c is None:
|
||||
c = narrator
|
||||
|
||||
return c(what, interact=interact)
|
||||
|
||||
# Old name for alt.
|
||||
sv = alt
|
||||
|
||||
|
||||
init -1500 python hide:
|
||||
|
||||
##########################################################################
|
||||
# Font Transforms.
|
||||
|
||||
store.__opendyslexic = { }
|
||||
|
||||
def opendyslexic(f):
|
||||
|
||||
rv = store.__opendyslexic.get(f, None)
|
||||
if rv is not None:
|
||||
return rv
|
||||
|
||||
# Generated with fc-query --format=%{charset} OpenDyslexic3-Regular.ttf
|
||||
charset = "20-7e a0-107 10a-113 116-11b 11e-123 126-12b 12e-133 136-137 139-148 14a-14d 150-15b 15e-16b 16e-17e 186 188-189 18e-192 194 197 19d 1a0-1a1 1a9 1ac 1af-1b4 1c0-1c3 1cd-1df 1e6-1e7 1fe-1ff 218-21b 228-22b 241-244 24b-24c 250-254 256-259 25b-25c 261-262 265 268 26a-26b 26f-270 272 274-276 279-27a 280-281 283 289-28a 28c-28f 294-295 298-299 29b-29c 29f 2a1-2a2 2c6-2c7 2d8-2dd 309 31b 323 326 32d 331 3b2 3b8 3c0 3c7 401 403 405-408 40c 40e 410 412 415 418 41c-41e 420-422 425 427 42f-430 432 435 437 439 43e 440-441 443 445 44f 451 453 455-458 45b-45c 45e 472 498-499 4ae 4b1 4c0 4d0 4d2-4df 4e2-4f5 4f8-4f9 1e04-1e05 1e0c-1e0f 1e12-1e13 1e24-1e25 1e2e-1e2f 1e36-1e37 1e3c-1e3f 1e44-1e47 1e4a-1e4d 1e50-1e53 1e62-1e63 1e6c-1e71 1e80-1e85 1e92-1e93 1ea0-1ef9 2013-2014 2018-201a 201c-201e 2020-2022 2026 2030 2039-203a 203d 2044 20ac 2122 2126 215b-215e 2202 2206 220f 2211-2212 2219-221a 221e 222b 2248 2260 2264-2265 25ca 2c64 2c6d 2c72-2c73 2e18 fb01-fb02"
|
||||
|
||||
rv = FontGroup()
|
||||
|
||||
for r in charset.split():
|
||||
start, _, end = r.partition("-")
|
||||
start = int(start, 16)
|
||||
end = int(end, 16) if end else start
|
||||
|
||||
rv.add("_OpenDyslexic3-Regular.ttf", start, end)
|
||||
|
||||
rv.add(f, None, None)
|
||||
|
||||
store.__opendyslexic[f] = rv
|
||||
return rv
|
||||
|
||||
config.font_transforms["opendyslexic"] = opendyslexic
|
||||
|
||||
config.ftfont_scale["_OpenDyslexic3-Regular.ttf"] = .87
|
||||
config.ftfont_vertical_extent_scale["_OpenDyslexic3-Regular.ttf"] = .66
|
||||
|
||||
def dejavusans(f):
|
||||
return "DejaVuSans.ttf"
|
||||
|
||||
config.font_transforms["dejavusans"] = dejavusans
|
||||
|
||||
screen _accessibility():
|
||||
zorder 2000
|
||||
modal True
|
||||
|
||||
frame:
|
||||
style_group ""
|
||||
|
||||
has side "c b":
|
||||
spacing gui._scale(10)
|
||||
xfill True
|
||||
yfill True
|
||||
|
||||
fixed:
|
||||
|
||||
viewport:
|
||||
scrollbars "vertical"
|
||||
mousewheel True
|
||||
|
||||
has grid 2 1:
|
||||
xfill True
|
||||
spacing 20
|
||||
|
||||
vbox:
|
||||
|
||||
label _("Font Override")
|
||||
|
||||
null height 10
|
||||
|
||||
textbutton _("Default"):
|
||||
action Preference("font transform", None)
|
||||
style_suffix "radio_button"
|
||||
|
||||
textbutton _("DejaVu Sans"):
|
||||
action Preference("font transform", "dejavusans")
|
||||
style_suffix "radio_button"
|
||||
|
||||
textbutton _("Opendyslexic"):
|
||||
action Preference("font transform", "opendyslexic")
|
||||
style_suffix "radio_button"
|
||||
|
||||
null height 10
|
||||
|
||||
label _("Text Size Scaling")
|
||||
|
||||
null height 10
|
||||
|
||||
bar value Preference("font size")
|
||||
|
||||
textbutton _("Reset"):
|
||||
action Preference("font size", 1.0)
|
||||
|
||||
null height 10
|
||||
|
||||
label _("Line Spacing Scaling")
|
||||
|
||||
null height 10
|
||||
|
||||
bar value Preference("font line spacing")
|
||||
|
||||
textbutton _("Reset"):
|
||||
action Preference("font line spacing", 1.0)
|
||||
|
||||
|
||||
vbox:
|
||||
|
||||
label _("Self-Voicing")
|
||||
|
||||
null height 10
|
||||
|
||||
textbutton _("Off"):
|
||||
action Preference("self voicing", "disable")
|
||||
style_suffix "radio_button"
|
||||
|
||||
textbutton _("Text-to-speech"):
|
||||
action Preference("self voicing", "enable")
|
||||
style_suffix "radio_button"
|
||||
|
||||
textbutton _("Clipboard"):
|
||||
action Preference("clipboard voicing", "enable")
|
||||
style_suffix "radio_button"
|
||||
|
||||
textbutton _("Debug"):
|
||||
action Preference("debug voicing", "enable")
|
||||
style_suffix "radio_button"
|
||||
|
||||
vbox:
|
||||
|
||||
text _("The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was.")
|
||||
|
||||
hbox:
|
||||
spacing gui._scale(25)
|
||||
|
||||
textbutton _("Return"):
|
||||
action Hide("_accessibility")
|
||||
yalign 1.0
|
||||
|
||||
@@ -226,6 +226,7 @@ init -1500 python in achievement:
|
||||
backends.insert(0, SteamBackend())
|
||||
else:
|
||||
renpy.write_log("Failed to initialize steam.")
|
||||
steam = None
|
||||
|
||||
|
||||
def register(name, **kwargs):
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user