Compare commits
1011 Commits
7.3.4.596
...
7.4.0.1006
| Author | SHA1 | Date | |
|---|---|---|---|
| af02a36b80 | |||
| 2428c116f6 | |||
| ddfac9f43d | |||
| d4e9c54eb8 | |||
| d65cccc804 | |||
| 1d9109289d | |||
| a62c1a57db | |||
| 090ca5f8dc | |||
| ac0dd6e361 | |||
| a7a0df9139 | |||
| a9d2510ff3 | |||
| 73217df243 | |||
| 9d2ce44082 | |||
| 1ad6149e28 | |||
| 2c1c1e7a45 | |||
| 36a17a7075 | |||
| 6c00ea8dc2 | |||
| 32b48e4c01 | |||
| 8612367069 | |||
| 9d4556ad2e | |||
| abca57a368 | |||
| bfc1d11b5d | |||
| c224293073 | |||
| 271f0274e8 | |||
| 66be396d16 | |||
| 89fa40d2ef | |||
| 2d9b1971f9 | |||
| 0046d7059e | |||
| 2acdcfec77 | |||
| 9d9f151c08 | |||
| 542c38a6d9 | |||
| 1ace0c51db | |||
| f6e71e9800 | |||
| 794803a05c | |||
| 808e29e1f1 | |||
| e613ee334a | |||
| cf0ab07936 | |||
| b2b605e631 | |||
| bd5beb5d78 | |||
| 6f6fc15e7e | |||
| 8f9e072c37 | |||
| 67b8ec26fe | |||
| e1b45708d1 | |||
| cd833707ce | |||
| e28442e37b | |||
| f7a09712d2 | |||
| 21085ab1b1 | |||
| ec853941c8 | |||
| a8dbeae1e4 | |||
| 4afd2d022b | |||
| 1de1402452 | |||
| 9c4a579a3a | |||
| 6354f5cf68 | |||
| 76e03b3c36 | |||
| b00b3e4cbc | |||
| 255883d418 | |||
| 211e7387de | |||
| a71e42adf6 | |||
| eba2135f92 | |||
| f3698fd1c3 | |||
| a866be7601 | |||
| fdfba28528 | |||
| 81a50341a2 | |||
| 40caecf6b1 | |||
| d77868b40a | |||
| f15088d64e | |||
| 17613b92f2 | |||
| 32e1871083 | |||
| b66f2add13 | |||
| c274389926 | |||
| 3d87900bb9 | |||
| 7e0ec7cc1f | |||
| a1c9b7d2c0 | |||
| 251d4a06e9 | |||
| db08119e3a | |||
| 5310ea546a | |||
| 90ef8bfe29 | |||
| 3e3492108a | |||
| 10d1c66ee7 | |||
| 7113e04b00 | |||
| edb06a3d54 | |||
| 19ac9353f2 | |||
| c8e45d6ce1 | |||
| ced93140af | |||
| 5945fd6854 | |||
| fcb931bf0e | |||
| 3f34fc06e4 | |||
| bab03e4633 | |||
| b6924da5f8 | |||
| 22a4898a43 | |||
| 2b3892d1c6 | |||
| b40e090a8f | |||
| 4b0849723b | |||
| 806b081080 | |||
| 8090186df5 | |||
| 3c43cfdcb4 | |||
| b4a56f9cce | |||
| 5cd7387128 | |||
| dc27b2281d | |||
| 1c5fcd440f | |||
| 856663b9d7 | |||
| 5a11ff8c3a | |||
| 9709bec1fb | |||
| 9620fd9cf6 | |||
| e98d7cb0db | |||
| fdf92229ea | |||
| be542024a0 | |||
| 16d14f7daa | |||
| 72b13fdf47 | |||
| c8fc9f31e6 | |||
| cf5c7e2244 | |||
| c8f1f20b51 | |||
| ddf6e0ca82 | |||
| b5c6685a1e | |||
| 03b0d8a2e3 | |||
| 1ee4b25137 | |||
| c28b68f6e8 | |||
| 723d6d85ae | |||
| c873ea2a74 | |||
| 57291f6050 | |||
| 941c1f092c | |||
| 87eee813d5 | |||
| ee911b356a | |||
| 919edc454e | |||
| 9c51711a61 | |||
| bf017fd311 | |||
| 34e9d96aeb | |||
| c7365598cc | |||
| 2a1114f4f2 | |||
| 9b3417d26a | |||
| 2a4e6a8cbc | |||
| 048cd10234 | |||
| ab4083b9fe | |||
| 40aeb21fa8 | |||
| 9d1129c6b8 | |||
| 4dc7f7446c | |||
| c21ba83c95 | |||
| aaf9398a77 | |||
| 3005173aba | |||
| df9049ce10 | |||
| 5fbcd47d79 | |||
| d8130812ce | |||
| 88459be31b | |||
| 455a940f96 | |||
| 1fbcd7e682 | |||
| 046ffcd3ca | |||
| d2e033e828 | |||
| 0c9dc1dcf5 | |||
| b11ce51bae | |||
| d67eee36ae | |||
| 4677ce1bec | |||
| 0da3312ae4 | |||
| c048483216 | |||
| 51718558e5 | |||
| 02387f9986 | |||
| 1abf877daf | |||
| 359f38d37e | |||
| 712b92b98e | |||
| 58c02c9a39 | |||
| 8834730831 | |||
| 3edc87c678 | |||
| 5b92e525eb | |||
| 4ac1875ebd | |||
| 682a052ac9 | |||
| fb105e2561 | |||
| 1b68fec94b | |||
| bdc3c8b67a | |||
| c430318af4 | |||
| 576489e63a | |||
| 7fb42306a5 | |||
| 9a74b6b2dc | |||
| 9133584b50 | |||
| b66cf5d623 | |||
| 489b7fb98b | |||
| d7f520a5c0 | |||
| b1154a29ef | |||
| 3b12463198 | |||
| bf87bd6ed1 | |||
| be9485d2ca | |||
| 152c56841b | |||
| c1a628d7fa | |||
| d7ae1a96cc | |||
| afd4a7a0e9 | |||
| 86610c0ac7 | |||
| 3589b63523 | |||
| aa55ea744e | |||
| c296c63b45 | |||
| 9f412cb811 | |||
| 1ba50f11da | |||
| 84e95cce98 | |||
| ba874f59df | |||
| cf6409bf71 | |||
| c573d971cd | |||
| 62c1eb80bf | |||
| 24cc05d350 | |||
| f8aee1f349 | |||
| 479940302e | |||
| 99b9537321 | |||
| 0ee0f5115c | |||
| eac2b9d6a9 | |||
| ec1cd63711 | |||
| 5042706e1f | |||
| fce5ccef34 | |||
| 091b0115e5 | |||
| 7c14d20914 | |||
| c04d188f81 | |||
| d15384e091 | |||
| b93102932a | |||
| bf19eedde5 | |||
| f9fd77b70d | |||
| 2f52e4a62e | |||
| 281104d1a9 | |||
| 24ed8bb7cf | |||
| 73d76fb260 | |||
| e68d95750e | |||
| d88a324e76 | |||
| af3495ca84 | |||
| 9e67d43daa | |||
| a8e2cc0db8 | |||
| 74d66712db | |||
| b61f1c6b3e | |||
| 08c51b7c6a | |||
| 0fa3f62ebf | |||
| c203dd3c58 | |||
| 68ed973bc5 | |||
| 6d2a550ba2 | |||
| b091f1e933 | |||
| c663d6a865 | |||
| 48c8b0bf8a | |||
| 4567011132 | |||
| 99cf7ed07e | |||
| 1e62e1e9d1 | |||
| 83eded0697 | |||
| 986e996282 | |||
| 1b59f64a0c | |||
| dadc1eb08f | |||
| 4d611b897f | |||
| 7f26540252 | |||
| be5db83bd6 | |||
| e71957863b | |||
| b00a1afd3e | |||
| 322657e009 | |||
| e2e35fb937 | |||
| d97d378619 | |||
| 108d943439 | |||
| 48a4d4543f | |||
| bf2a8b4e8c | |||
| c424566868 | |||
| 088da5357b | |||
| b39365ecfc | |||
| dcc10c84cd | |||
| 062c18d6db | |||
| f2d67621a2 | |||
| bc375377eb | |||
| ed16b42483 | |||
| 2663b852c0 | |||
| 106e447a5e | |||
| 9a83bdf7a2 | |||
| 00e1546cba | |||
| dd2e25f8ae | |||
| e8682a432b | |||
| e9bbbdb4d0 | |||
| 2fb99f696d | |||
| 2b62b201cb | |||
| 51bc4c78e7 | |||
| 2e7fad6c69 | |||
| 1d8e2fe640 | |||
| c15649e7be | |||
| ab8c1bb4b0 | |||
| 7e8c2f2910 | |||
| 560af53741 | |||
| 3e8a3ee368 | |||
| 2e13994a1b | |||
| c8a2929734 | |||
| 06696c86dd | |||
| fa5eb321db | |||
| eb6c7cdb2e | |||
| e2edd01d62 | |||
| 182bc927e0 | |||
| 7ce6d55365 | |||
| 49a81285fc | |||
| 2b00838352 | |||
| abe41b41a1 | |||
| 3b9a025202 | |||
| 2a3fa65b9b | |||
| 3af4480c78 | |||
| 6e1b190e6b | |||
| 205feb4eef | |||
| 1c1b2f1301 | |||
| 9a9b6a735a | |||
| 56da70dfcb | |||
| 4ed8a9953a | |||
| 7ce0505f8c | |||
| 3107c2b051 | |||
| 4ceb0b08c8 | |||
| 2a9f206700 | |||
| 14598ded7e | |||
| c289be0e58 | |||
| 4e7fc55210 | |||
| 21d369d7f6 | |||
| f7bbfddf32 | |||
| 99d0c277a5 | |||
| 9f0b6d2f26 | |||
| 9f52c462c3 | |||
| a9701b2768 | |||
| 50588a37fb | |||
| 9116c0fec8 | |||
| c091edacbb | |||
| 8747c544d7 | |||
| 4f307fd01c | |||
| 4d1f2a3d93 | |||
| a295a499fc | |||
| 2e17065971 | |||
| 7025438250 | |||
| 26d8f2609f | |||
| 4d3c1c5f49 | |||
| dbb14cc1a3 | |||
| 35b5d3f679 | |||
| f30d7587d6 | |||
| 91045713c1 | |||
| ca23ea4b40 | |||
| abcfcb0b13 | |||
| 26aaf86e8a | |||
| f9d295846a | |||
| ce52a27a2e | |||
| cc56b043c2 | |||
| a085b5b32b | |||
| 49ce721166 | |||
| be92e277d1 | |||
| dbcde35bf7 | |||
| 03e3dd36e0 | |||
| d70f2d1555 | |||
| 39a3d0b689 | |||
| af0bdc1272 | |||
| 206d23a3e6 | |||
| 51558dc83b | |||
| 9d4ae7b9bf | |||
| 1ac9e557d1 | |||
| 845da7593b | |||
| a547ea00eb | |||
| 2281ae9268 | |||
| 084ed4970b | |||
| e929156f97 | |||
| 24b1a7c522 | |||
| 2153cc80a2 | |||
| fee5500fb4 | |||
| 39a35270ef | |||
| b0f238ef0d | |||
| 9997eeb5da | |||
| 5095677c2c | |||
| e3d9516f2e | |||
| 34e3e25fea | |||
| 7b6d8cc162 | |||
| 109590f7c0 | |||
| c655a6d830 | |||
| 2a1c91d8b2 | |||
| ee21bfa2ae | |||
| 64c931c511 | |||
| 719ed80fa6 | |||
| c0ac8e92c5 | |||
| a6cfc52312 | |||
| 3218108135 | |||
| 9faf07f664 | |||
| 32502e1c84 | |||
| 786b025c26 | |||
| 2f1c72826c | |||
| b0c29dca41 | |||
| 10f95ba85b | |||
| 329f68e6e2 | |||
| 68418ceeb5 | |||
| b90b13d911 | |||
| 9782c3aeae | |||
| c5a3fc1f2f | |||
| 46b696fac3 | |||
| 2f74b0f3aa | |||
| f66aaad63a | |||
| e2c0cc6075 | |||
| 8b0d3dd498 | |||
| b6e223fdbe | |||
| 2001ca26f6 | |||
| 81114e5e76 | |||
| 85190014db | |||
| a819deb8a9 | |||
| 4ac70c590c | |||
| 45dfa2c980 | |||
| 0665000c34 | |||
| 094c0c0add | |||
| 3e9c1f25a5 | |||
| ac1b88eea2 | |||
| e99fe890c4 | |||
| 3a0ff7876e | |||
| 8faf94f413 | |||
| 5d627df6cb | |||
| a1c30e0ec6 | |||
| 03ccecaeca | |||
| c1f329618e | |||
| 5adf696ae1 | |||
| 07d837be44 | |||
| 434c100ae5 | |||
| b143e9e7f1 | |||
| 0057b8f0d6 | |||
| fd5163b577 | |||
| 4d54fa8c96 | |||
| b62fb01b77 | |||
| 07f2fdf7f1 | |||
| 8fe34ded43 | |||
| 8f5dc494f1 | |||
| ae2def4013 | |||
| d2bf194114 | |||
| 9c2ecbeebb | |||
| 5fe400d433 | |||
| e4e256a49d | |||
| eb676de30c | |||
| e12175123d | |||
| 7ce97ed23a | |||
| fd062ef089 | |||
| 15941dfac0 | |||
| 9b819d563a | |||
| b139fc492d | |||
| 8772d753d9 | |||
| 474f1499cd | |||
| 62ba7f2a9d | |||
| 1923a40304 | |||
| 6d56f148da | |||
| e9aa32407e | |||
| baaf56c866 | |||
| aa0a5f1194 | |||
| 5682e70942 | |||
| 4a226666b6 | |||
| 043f7d07c4 | |||
| 33dd91e9d0 | |||
| 8833466201 | |||
| 9851f8c391 | |||
| 2de5d427a4 | |||
| 44fe51d53b | |||
| 33f9359b28 | |||
| b0cf9da302 | |||
| fc81ae78c3 | |||
| 3eec6085f7 | |||
| bf1bee5214 | |||
| 05f66df36b | |||
| 51f120646b | |||
| a262f29c56 | |||
| 7468b56459 | |||
| 3ac0f39348 | |||
| c35b3759e8 | |||
| b98890220f | |||
| 0e3b850a22 | |||
| 6664dc19e6 | |||
| 60399dcdd8 | |||
| 6541259a56 | |||
| e4144bbc08 | |||
| a98539b611 | |||
| becb99216b | |||
| 76dc25cb74 | |||
| 929106910a | |||
| a73e35ac22 | |||
| d7d2b5440d | |||
| 2f069739d2 | |||
| 60d81a953c | |||
| 1c2e732490 | |||
| 03512ed2e9 | |||
| b278fc842d | |||
| 0f070cb5ae | |||
| 9133dc798f | |||
| b78a84f016 | |||
| b0af3b31b3 | |||
| 9680958b96 | |||
| 530b29fbc3 | |||
| a14e38a830 | |||
| bcd738085b | |||
| 75d21278cf | |||
| 36516ecebc | |||
| d45a30cd1c | |||
| 84cdb6dc50 | |||
| 73443cd0af | |||
| ec8eaf08f0 | |||
| dc4bdc7775 | |||
| 55ba62ea58 | |||
| 95bac9a589 | |||
| cbf458f514 | |||
| fb409e3764 | |||
| eb6977c0f8 | |||
| ff31d4039b | |||
| 1c74791ebe | |||
| ce94ab3f21 | |||
| 2e922fd97c | |||
| eaca94c196 | |||
| bf808138d2 | |||
| ddb36b1145 | |||
| 67f53456ee | |||
| 1e2862cbf8 | |||
| 74dcebb714 | |||
| 43624ded97 | |||
| adf62e4776 | |||
| 790dd4c113 | |||
| 7e2efef33c | |||
| 7f59d8bd43 | |||
| 1fbe974306 | |||
| a4b265c66c | |||
| 687f3d929d | |||
| aa3f4ab491 | |||
| 7652e06950 | |||
| 0d56d7d59c | |||
| 28238804d6 | |||
| 04d593daaf | |||
| 9336d64369 | |||
| f5466dcf5a | |||
| b24091ba11 | |||
| 634cbe7aab | |||
| 9c46898771 | |||
| 0a3104af8e | |||
| 884e02cc6b | |||
| 387c93c311 | |||
| fbf6be8928 | |||
| d07ed14a96 | |||
| 678d8d2dab | |||
| e8c6e2d198 | |||
| d2dc56e01f | |||
| 159ad0e0f2 | |||
| d256d27e28 | |||
| df721cb27e | |||
| bf5030dff2 | |||
| a9f26274fe | |||
| e10b88eca4 | |||
| f27def4f78 | |||
| cf0d05b6eb | |||
| 0de85380cd | |||
| 992353b719 | |||
| 6ec27266df | |||
| 4ce146bd67 | |||
| aa435a95cd | |||
| da522a6373 | |||
| 1edb6d0a92 | |||
| 40e5eb4742 | |||
| c0a926c3b3 | |||
| bc7b0514e5 | |||
| 031231e343 | |||
| 12914d08e3 | |||
| f627d2f1f8 | |||
| 429b679170 | |||
| 8bce879a96 | |||
| b50c74b156 | |||
| 049d44a981 | |||
| 560e6bdbc5 | |||
| 04edaf13ce | |||
| 2da388b718 | |||
| ff2bcc2d7f | |||
| 6bef058fc2 | |||
| 0c5c5bcead | |||
| e32eb9aa4f | |||
| 6c1333fbf6 | |||
| 5ae947f8a6 | |||
| 308b8a9132 | |||
| 71f3c5bb10 | |||
| 584b779653 | |||
| 3edac1df43 | |||
| 1354b2c685 | |||
| 7c4fe698b2 | |||
| 2fd3345069 | |||
| 3ae53ce8cc | |||
| 351db443dd | |||
| e21c90a5fc | |||
| a5bc6ae6a9 | |||
| 5613eb562d | |||
| cb9e66cc5e | |||
| c5d5897cc5 | |||
| 47b927f4c9 | |||
| 57b89450f5 | |||
| 0040db2fc0 | |||
| b6de915f85 | |||
| b6218fdd6f | |||
| 4878a59f6d | |||
| 6ea200eb1b | |||
| 6befc8cc72 | |||
| 7581d1ee34 | |||
| 2193628c5f | |||
| 8760c3dd73 | |||
| a26e2a7fb8 | |||
| 347e4fa369 | |||
| 794232f8ba | |||
| 3d2441c122 | |||
| 4f914d3625 | |||
| 831db00af3 | |||
| 302858f1e0 | |||
| c611c2c12e | |||
| d7c435dff9 | |||
| 34ae4e785e | |||
| 556ce59f90 | |||
| d0b715c2fd | |||
| b5dd254da7 | |||
| 143f80c867 | |||
| 1d89786ec7 | |||
| 5b492825b0 | |||
| aa8806c4f7 | |||
| ab90cddb5e | |||
| 5e42504770 | |||
| dc8ac37dec | |||
| cf104cfa36 | |||
| a2ad38399b | |||
| 30352614cd | |||
| 4e1b061271 | |||
| aff09c8705 | |||
| 897bed0fc3 | |||
| 199d96551e | |||
| f7d8fea29c | |||
| f2fe516352 | |||
| 2685c2dd00 | |||
| fca9fec458 | |||
| cf531103e7 | |||
| 30fc4fa06a | |||
| 1c5ffb95c1 | |||
| 03f9153b94 | |||
| 1ae3fbe474 | |||
| 66eb6f0d69 | |||
| 20cd32c6c0 | |||
| 01a2c80ebd | |||
| 9282e25a6a | |||
| fad3daf3f8 | |||
| a8e71c17fa | |||
| 595f887f54 | |||
| 2d098ee38d | |||
| dda4f8522f | |||
| 06a06525bb | |||
| 7d6fe876c3 | |||
| b4d33569a9 | |||
| 1234df3994 | |||
| f16369bd8f | |||
| 8c8a8355d9 | |||
| b82a3366d4 | |||
| e272bae995 | |||
| d1d861ed9a | |||
| c158096f4c | |||
| 91ce90dc89 | |||
| f0862b6eb2 | |||
| 14a3cf5bac | |||
| 4916df0aff | |||
| bcefcd54da | |||
| 60966285b4 | |||
| 89c292c7cc | |||
| 0add5f8dfb | |||
| d8d73a1be0 | |||
| 0031d321d5 | |||
| 071438ccb3 | |||
| cefb702f8c | |||
| c7f1df605f | |||
| f4625f4b49 | |||
| bda5e69b30 | |||
| 2d3427dc30 | |||
| a2c5965a39 | |||
| a75b5aa2bd | |||
| 2ef261af14 | |||
| 65c5f38768 | |||
| ef47381d64 | |||
| b41f74dd94 | |||
| 2a64a0a198 | |||
| 577822ee2d | |||
| 8ac29a24d5 | |||
| 9572b92e23 | |||
| fc0eaef359 | |||
| 35de85f6b1 | |||
| 6ff35cff3c | |||
| 626685f018 | |||
| 7928f391cf | |||
| bcc35c8ea3 | |||
| ca4d937cd2 | |||
| e7732b0777 | |||
| c4ded1ec8b | |||
| 0ffb2a96a3 | |||
| 45af19d7c3 | |||
| fc438a395b | |||
| f24f004999 | |||
| bf31640d56 | |||
| 7dbdeb9e9d | |||
| ef53e08416 | |||
| 04df67c9ba | |||
| 979c51b8a2 | |||
| 8bc389c536 | |||
| 175ca26a32 | |||
| 3a90997203 | |||
| c6227254d2 | |||
| 8b740e7e4b | |||
| a96d45586e | |||
| 3016bda24d | |||
| f1f3e74864 | |||
| fa3161135d | |||
| e918e5f560 | |||
| a1fdf456e9 | |||
| fe8b10b312 | |||
| 4afd551621 | |||
| bfcd757d2f | |||
| 444ed68f14 | |||
| 7ed5656109 | |||
| 8748c41aab | |||
| d5f4cd6e77 | |||
| a9d6bbfd40 | |||
| bf6b5746b3 | |||
| b275ac6fe2 | |||
| 98ee78a9e3 | |||
| 85005a02d2 | |||
| c8c3fb1d4b | |||
| c5111012a5 | |||
| 01624ae28a | |||
| 46685bd20c | |||
| 2e6c8d66d8 | |||
| 9a38052e2c | |||
| d2aebbeccd | |||
| f86c19dfe8 | |||
| dee9d1d915 | |||
| adbd29b218 | |||
| 9acefd5d87 | |||
| 34563e8fe8 | |||
| 1557f25505 | |||
| 608a84cfd3 | |||
| 88f35b0626 | |||
| 7aa847828e | |||
| c4e05b949c | |||
| d0bf65314f | |||
| c85609e711 | |||
| a23d1c0c9f | |||
| d7c94a14d4 | |||
| 045e9beddd | |||
| 3a2dc707bd | |||
| 263855a574 | |||
| 3e0ad6d3ad | |||
| 8bd55a40a8 | |||
| d6889d52fb | |||
| 3209856fd1 | |||
| e36a583f98 | |||
| fbff752054 | |||
| 0113d0a2dc | |||
| 40e396860b | |||
| 0565b02301 | |||
| 16374acda3 | |||
| c3c99eebd2 | |||
| f0feb4d7ac | |||
| e51f8f1d4c | |||
| 35aeb61716 | |||
| 297c748061 | |||
| 95a9b9d148 | |||
| 49e4581fea | |||
| 4b7e9b2bc3 | |||
| b64e9fa0ae | |||
| d1bcbf11fd | |||
| e61cdc4f18 | |||
| 6b10c9b795 | |||
| f7caa1f402 | |||
| 6dd8e92744 | |||
| 9b7bfecbb8 | |||
| ba2fe63818 | |||
| 72a8b8c686 | |||
| 209b8d84d6 | |||
| bd4254cded | |||
| dd22b51977 | |||
| 37a04188b0 | |||
| 0e649e43aa | |||
| 58592890ed | |||
| ed39c16c4a | |||
| 0d13b41c0f | |||
| 997905e714 | |||
| 5f24680a72 | |||
| 1eccf76695 | |||
| 4605113fbd | |||
| d8f98f3cef | |||
| 0a650d2491 | |||
| ebd622560b | |||
| 926b4aa498 | |||
| 4b41c44b8a | |||
| d4f0b12bec | |||
| ee3730c65f | |||
| db94e90382 | |||
| f22339accd | |||
| c2206245ed | |||
| 05589d8c9c | |||
| 5b9a630117 | |||
| d07c3e0a16 | |||
| 5d22e41c7b | |||
| ed518fd8d4 | |||
| bb17d7f87b | |||
| 15c243daec | |||
| d17657c2d7 | |||
| 2e50eec6c3 | |||
| 56a4ee81bc | |||
| a11b2e3977 | |||
| 1a14756ebb | |||
| 2e790dd00b | |||
| 74b36c6e28 | |||
| 793488bdf8 | |||
| 2b6379694e | |||
| 3578438623 | |||
| 74464fe55d | |||
| e2c63af520 | |||
| b14a932643 | |||
| 08e798ba13 | |||
| 0effdebca9 | |||
| caae5a7856 | |||
| 2f2f236f4a | |||
| 4fe63ded98 | |||
| c32556c09d | |||
| 47098746d0 | |||
| f775088aa3 | |||
| 1f59c54ab8 | |||
| ddb8c8c068 | |||
| 9c344ca5da | |||
| 1ee6f9892a | |||
| 28bab6a226 | |||
| b570cf8b38 | |||
| daa6c48df2 | |||
| 6866c21621 | |||
| f549935cbb | |||
| 7f2fc1a675 | |||
| 2273212809 | |||
| b81969f1dc | |||
| a8f3a108a0 | |||
| 41ba770ecf | |||
| 4c1e048efb | |||
| f8004957c9 | |||
| e8ddb39a98 | |||
| e2cab9b115 | |||
| 9b5943d12f | |||
| 80e3c89513 | |||
| d5d6194a2b | |||
| da26b18e73 | |||
| edfb482acb | |||
| dec513667f | |||
| e5e5890d3c | |||
| c5dc781b05 | |||
| af467d7d8c | |||
| a8c505305e | |||
| 31ef127e98 | |||
| 14241f5ebf | |||
| 64a55d6556 | |||
| b026b49d43 | |||
| 5eefa10b86 | |||
| d86475a16a | |||
| 17af380e31 | |||
| a1943bb644 | |||
| cffab0d9dc | |||
| 21cd48616b | |||
| d68ca61ab7 | |||
| 9985d24aed | |||
| 00544ab0bf | |||
| 9fd78e4000 | |||
| ab03e69b6b | |||
| d00cad3d79 | |||
| 82ac0a694f | |||
| 5d642ce01d | |||
| 7d23dfa1de | |||
| ef5f0ed5ab | |||
| da2fa5d7ec | |||
| 57e16e506d | |||
| 863fab3880 | |||
| 180cb0e4dd | |||
| be3643b9c9 | |||
| ba6b9e223d | |||
| 8c3809d3e2 | |||
| 328a2c6b05 | |||
| 6d8690834f | |||
| 025bcd1c36 | |||
| 666a24fd0b | |||
| 0809c9f07b | |||
| d379e0e2fe | |||
| eedd357fe9 | |||
| aed7ff7ae6 | |||
| 2ffa24514d | |||
| 9d595931e2 | |||
| d810c73d81 | |||
| 32e111099e | |||
| bbb846bd3b | |||
| e7175509d2 | |||
| 1ebb3ff5ed | |||
| 193cf9a37c | |||
| 957980866f | |||
| 5fecf8aa88 | |||
| 17b8f03429 | |||
| 88dee147c4 | |||
| dc3c21a216 | |||
| e971a7e90f | |||
| f246611838 | |||
| f2bebb42f3 | |||
| cb15f18415 | |||
| ce40000f77 | |||
| f0465baebe | |||
| a51c9b714b | |||
| aa3979f0f9 | |||
| 82c2e05fe4 | |||
| b3ca90f6ac | |||
| 1d3a46beef | |||
| 8fe528c531 | |||
| c2beee395b | |||
| 5684b75112 | |||
| 58cf37ddf5 | |||
| 08388537aa | |||
| 275be03abf | |||
| 25f8ac8c51 | |||
| bfdc64f78b | |||
| 3cc1eae159 | |||
| fd2a63be15 | |||
| 52e447f8b7 | |||
| d6a9a3c2dc | |||
| 4755f10ccb | |||
| 78b3bf83f0 | |||
| 1ecd8c5ff0 | |||
| 3de8416040 | |||
| dbd318587c | |||
| 4e703f6fbe | |||
| 7c030c771b | |||
| 33e617da15 | |||
| e0da79fc79 | |||
| ed5fb83c57 | |||
| 303517a6de | |||
| 40bd76ef64 | |||
| 1636a5679c | |||
| b9677d28ed | |||
| 52aeaf1e64 | |||
| c2f969441c | |||
| 02bfd59c48 | |||
| 635de64568 | |||
| b085a319d2 | |||
| 94838b1054 | |||
| a7aca69514 | |||
| f4c2dd91f1 | |||
| 071b065442 | |||
| 37f8f0cde5 | |||
| 0807d0eccc | |||
| 270f958827 | |||
| b7f06e875e | |||
| f8412a267e | |||
| 95a2200d53 | |||
| bd6ad1cafb | |||
| 017f5562a7 | |||
| 483a732ec8 | |||
| 5e6c6c622e | |||
| bc1966919e | |||
| c338c413b5 | |||
| 95302be140 | |||
| 4b4b1503b0 | |||
| 7cf5ea96ad | |||
| 103116dcec | |||
| 8be012945f | |||
| 18992d49a7 | |||
| 5201125d82 | |||
| 3c857c6298 | |||
| f443cd1d7d | |||
| 5b72b5dc7b | |||
| 42326e42ea | |||
| e5ced3a637 | |||
| 6936da7f31 | |||
| 989d419a06 | |||
| d4ca7ae770 | |||
| e5fb4a034c | |||
| c38efabf2e | |||
| 7957098da8 | |||
| c1b077ff17 | |||
| df58da708d | |||
| 6691bb020e | |||
| 0022da41ea | |||
| 87ad417dcc | |||
| d7cc94d791 | |||
| a4ea368c14 | |||
| 4095a55c0b | |||
| c97899ef1a | |||
| c400653b7d | |||
| 40cefb1db6 | |||
| 8010128dc1 | |||
| 3a3443ac3b | |||
| e75d5d0ca2 | |||
| 4a1fe5f4a1 | |||
| 56987e4029 | |||
| ce71caef97 | |||
| ff07cf4903 | |||
| 93f2ec7a7d | |||
| 7754db33f9 | |||
| e7a7277a91 | |||
| fe48d45331 | |||
| 40af08b40c | |||
| 66a3f97be7 | |||
| 369fa14d66 | |||
| 3ec9628080 | |||
| 3f605f4c9d | |||
| 995333386b | |||
| 5e74207bf4 | |||
| 1f9219457a | |||
| 1acc6efb10 | |||
| c50226d56b | |||
| 12ce248952 | |||
| f47b4ee32e | |||
| a77b7ba98f | |||
| 28bd3d91b7 | |||
| 26d692714f | |||
| c682e4f406 | |||
| 54ec9e5c9b | |||
| f1b301efa1 | |||
| cf9d238729 | |||
| 04179212a2 | |||
| 5a130d4a4d | |||
| 2b81c2501a | |||
| f87e17d1a7 | |||
| f49a04468b | |||
| 7287bec5d1 | |||
| e8325d852a | |||
| 85bb261af3 | |||
| 9336778f25 | |||
| 06543a8d8d | |||
| 7e10b963bb | |||
| 4d98761abd | |||
| f452540ad0 | |||
| 2b65a69611 | |||
| 8c37264d84 | |||
| 8ab711722c | |||
| f82c2e9f28 |
+25
@@ -1,3 +1,15 @@
|
||||
# macOS-related files
|
||||
.DS_Store
|
||||
.AppleDouble
|
||||
.LSOverride
|
||||
|
||||
# Windows-related files
|
||||
Thumbs.db
|
||||
Thumbs.db:encryptable
|
||||
ehthumbs.db
|
||||
ehthumbs_vista.db
|
||||
[Dd]esktop.ini
|
||||
|
||||
*.rpyc
|
||||
*.rpyb
|
||||
*.rpymc
|
||||
@@ -31,8 +43,12 @@ styles.txt
|
||||
/*testing*
|
||||
/screenshot*
|
||||
/renpy.exe
|
||||
/renpy-32.exe
|
||||
/renpy.sh
|
||||
/lib
|
||||
/lib.old
|
||||
/lib2
|
||||
/lib3
|
||||
/doc
|
||||
/.pydevproject
|
||||
/.pydevproject.bak
|
||||
@@ -84,3 +100,12 @@ tutorial/game/tutorial_director.rpy
|
||||
launcher/theme
|
||||
module/emscripten-static/
|
||||
web/
|
||||
|
||||
cubism
|
||||
glexperiment
|
||||
live2d
|
||||
rapt2
|
||||
rapt3
|
||||
renios2
|
||||
renios3
|
||||
notarized
|
||||
|
||||
+12
-5
@@ -52,7 +52,7 @@ the command::
|
||||
apt-get install virtualenvwrapper python-dev libavcodec-dev libavformat-dev \
|
||||
libavresample-dev libswresample-dev libswscale-dev libfreetype6-dev libglew1.6-dev \
|
||||
libfribidi-dev libsdl2-dev libsdl2-image-dev libsdl2-gfx-dev \
|
||||
libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-turbo8-dev
|
||||
libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
|
||||
|
||||
We strongly suggest installing the Ren'Py modules into a Python
|
||||
virtualenv. To create a new virtualenv, open a new terminal and run::
|
||||
@@ -63,9 +63,9 @@ To return to this virtualenv later, run::
|
||||
|
||||
workon renpy
|
||||
|
||||
After activating the virtualenv, install cython::
|
||||
After activating the virtualenv, install cython, future, and six::
|
||||
|
||||
pip install -U cython
|
||||
pip install -U cython future six
|
||||
|
||||
Then, install pygame_sdl2 by running the following commands::
|
||||
|
||||
@@ -80,7 +80,7 @@ Next, set RENPY_DEPS_INSTALL To a \:-separated (\;-separated on Windows)
|
||||
list of paths containing the dependencies, and RENPY_CYTHON to the name
|
||||
of the cython command::
|
||||
|
||||
export RENPY_DEPS_INSTALL="/usr:/usr/lib/x86_64-linux-gnu/"
|
||||
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(uname -m)-linux-gnu/"
|
||||
export RENPY_CYTHON=cython
|
||||
|
||||
Finally, use setup.py in the Ren'Py ``module`` directory to compile and
|
||||
@@ -104,7 +104,7 @@ Building
|
||||
|
||||
Building the documentation requires Ren'Py to work. You'll either need to
|
||||
link in a nightly build, or compile the modules as described above. You'll
|
||||
also need the `Sphinx <http://sphinx-doc.org/>`_ documentation generator.
|
||||
also need the `Sphinx <https://www.sphinx-doc.org>`_ documentation generator.
|
||||
If you have pip working, install Sphinx using::
|
||||
|
||||
pip install -U sphinx
|
||||
@@ -164,3 +164,10 @@ Contributing
|
||||
For bug fixes, documentation improvements, and simple changes, just
|
||||
make a pull request. For more complex changes, it might make sense
|
||||
to file an issue first so we can discuss the design.
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
For the complete licensing terms, please read:
|
||||
|
||||
https://www.renpy.org/doc/html/license.html
|
||||
|
||||
@@ -6,13 +6,11 @@ import os
|
||||
import subprocess
|
||||
import sys
|
||||
|
||||
from renpy import version_tuple # @UnresolvedImport
|
||||
from renpy import version_tuple # @UnresolvedImport
|
||||
|
||||
SOURCE = [
|
||||
"/home/tom/ab/renpy",
|
||||
"/home/tom/ab/android/",
|
||||
"/home/tom/ab/ripe/renios",
|
||||
"/home/tom/ab/renpy-deps",
|
||||
"/home/tom/ab/renpy-build",
|
||||
"/home/tom/ab/pygame_sdl2",
|
||||
"/home/tom/ab/renpyweb",
|
||||
]
|
||||
@@ -95,7 +93,6 @@ if tag:
|
||||
|
||||
subprocess.check_call([ "git", "tag", "-a", tag, "-m", "Tagging Ren'Py + " + version + " release." ])
|
||||
|
||||
|
||||
os.chdir("/home/tom/ab/renpy/dl")
|
||||
|
||||
for i in links:
|
||||
@@ -103,11 +100,9 @@ for i in links:
|
||||
os.unlink(i)
|
||||
os.symlink(short_version, i)
|
||||
|
||||
|
||||
os.chdir("/home/tom/ab/website")
|
||||
subprocess.check_call("./upload.sh")
|
||||
|
||||
|
||||
os.chdir("/home/tom/ab/renpy/sphinx")
|
||||
if args.release:
|
||||
subprocess.check_call("./upload.sh")
|
||||
|
||||
@@ -12,4 +12,5 @@ if [ "$1" != "" ]; then
|
||||
ln -s "$1/lib" "$ROOT/lib"
|
||||
ln -s "$1/renpy.app" "$ROOT"
|
||||
ln -s "$1/renpy.exe" "$ROOT"
|
||||
ln -s "$1/renpy.sh" "$ROOT"
|
||||
fi
|
||||
|
||||
+15
-14
@@ -11,6 +11,12 @@ import subprocess
|
||||
import argparse
|
||||
import time
|
||||
|
||||
try:
|
||||
# reload is built-in in Python 2, in importlib in Python 3
|
||||
reload
|
||||
except NameError:
|
||||
from importlib import reload
|
||||
|
||||
if not sys.flags.optimize:
|
||||
raise Exception("Optimization disabled.")
|
||||
|
||||
@@ -23,23 +29,18 @@ def copy_tutorial_file(src, dest):
|
||||
"# end-tutorial-only" comments are omitted from the copy.
|
||||
"""
|
||||
|
||||
sf = open(src, "rb")
|
||||
df = open(dest, "wb")
|
||||
|
||||
# True if we want to copy the line.
|
||||
copy = True
|
||||
|
||||
for l in sf:
|
||||
if "# tutorial-only" in l:
|
||||
copy = False
|
||||
elif "# end-tutorial-only" in l:
|
||||
copy = True
|
||||
else:
|
||||
if copy:
|
||||
df.write(l)
|
||||
|
||||
sf.close()
|
||||
df.close()
|
||||
with open(src, "rb") as sf, open(dest, "wb") as df:
|
||||
for l in sf:
|
||||
if "# tutorial-only" in l:
|
||||
copy = False
|
||||
elif "# end-tutorial-only" in l:
|
||||
copy = True
|
||||
else:
|
||||
if copy:
|
||||
df.write(l)
|
||||
|
||||
|
||||
def main():
|
||||
|
||||
+2
-2
@@ -435,8 +435,8 @@ init python:
|
||||
## Adjust the location of the textbox.
|
||||
gui.textbox_height = gui.scale(240)
|
||||
gui.name_xpos = gui.scale(80)
|
||||
gui.text_xpos = gui.scale(90)
|
||||
gui.text_width = gui.scale(1100)
|
||||
gui.dialogue_xpos = gui.scale(90)
|
||||
gui.dialogue_width = gui.scale(1100)
|
||||
|
||||
## Change the size and spacing of various things.
|
||||
gui.slider_size = gui.scale(36)
|
||||
|
||||
@@ -566,10 +566,6 @@ screen about():
|
||||
text _("Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]")
|
||||
|
||||
|
||||
## This is redefined in options.rpy to add text to the about screen.
|
||||
define gui.about = ""
|
||||
|
||||
|
||||
style about_label is gui_label
|
||||
style about_label_text is gui_label_text
|
||||
style about_text is gui_text
|
||||
@@ -923,7 +919,7 @@ screen history():
|
||||
## This determines what tags are allowed to be displayed on the history
|
||||
## screen.
|
||||
|
||||
define gui.history_allow_tags = set()
|
||||
define gui.history_allow_tags = { "alt", "noalt" }
|
||||
|
||||
|
||||
style history_window is empty
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -162,7 +162,7 @@ init python:
|
||||
|
||||
filename = os.path.join(p.path, ".android.json")
|
||||
|
||||
with open(filename, "r") as f:
|
||||
with open(filename, "rb") as f:
|
||||
android_json = json.load(f)
|
||||
|
||||
old_android_json = dict(android_json)
|
||||
@@ -183,7 +183,7 @@ init python:
|
||||
|
||||
if android_json != old_android_json:
|
||||
|
||||
with open(filename, "w") as f:
|
||||
with open(filename, "wb") as f:
|
||||
json.dump(android_json, f)
|
||||
|
||||
|
||||
|
||||
@@ -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.
|
||||
@@ -44,7 +44,7 @@ init python hide:
|
||||
__("No. Size limit of 100 MB on Google Play, but can be distributed through other stores and sideloaded.")
|
||||
__("Yes. 2 GB size limit, but won't work outside of Google Play. (Read the documentation to get this to work.)")
|
||||
__("Do you want to allow the app to access the Internet?")
|
||||
__("Do you want to automatically update the generated project?")
|
||||
__("Do you want to automatically update the Java source code?")
|
||||
__("Yes. This is the best choice for most projects.")
|
||||
__("No. This may require manual updates when Ren'Py or the project configuration changes.")
|
||||
__("Unknown configuration variable: {}")
|
||||
@@ -64,7 +64,7 @@ init python hide:
|
||||
__("You set the keystore yourself, so I'll assume it's how you want it.")
|
||||
__("You've already created an Android keystore, so I won't create a new one for you.")
|
||||
__("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?")
|
||||
__("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?")
|
||||
__("I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?")
|
||||
__("Please enter your name or the name of your organization.")
|
||||
__("Could not create android.keystore. Is keytool in your path?")
|
||||
__("I've finished creating android.keystore. Please back it up, and keep it in a safe place.")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -28,8 +28,9 @@ init python in archiver:
|
||||
import sys
|
||||
import random
|
||||
import glob
|
||||
import zlib
|
||||
|
||||
from cPickle import dumps, HIGHEST_PROTOCOL
|
||||
from pickle import dumps, HIGHEST_PROTOCOL
|
||||
|
||||
|
||||
class Archive(object):
|
||||
@@ -76,7 +77,7 @@ init python in archiver:
|
||||
|
||||
indexoff = self.f.tell()
|
||||
|
||||
self.f.write(dumps(self.index, HIGHEST_PROTOCOL).encode("zlib"))
|
||||
self.f.write(zlib.compress(dumps(self.index, HIGHEST_PROTOCOL)))
|
||||
|
||||
self.f.seek(0)
|
||||
self.f.write(b"RPA-3.0 %016x %08x\n" % (indexoff, self.key))
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -19,7 +19,6 @@
|
||||
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
# http://www.csn.ul.ie/~caolan/publink/winresdump/winresdump/doc/pefile.html
|
||||
# Contains a reasonable description of the format.
|
||||
|
||||
@@ -28,7 +27,7 @@ from __future__ import print_function
|
||||
import struct
|
||||
import sys
|
||||
import array
|
||||
import pefile # @UnresolvedImport
|
||||
import pefile # @UnresolvedImport
|
||||
|
||||
# This class performs various operations on memory-loaded binary files,
|
||||
# including modifications.
|
||||
@@ -37,24 +36,24 @@ import pefile # @UnresolvedImport
|
||||
class BinFile(object):
|
||||
|
||||
def set_u32(self, addr, value):
|
||||
self.a[addr+0] = (value >> 0) & 0xff
|
||||
self.a[addr+1] = (value >> 8) & 0xff
|
||||
self.a[addr+2] = (value >> 16) & 0xff
|
||||
self.a[addr+3] = (value >> 24) & 0xff
|
||||
self.a[addr + 0] = (value >> 0) & 0xff
|
||||
self.a[addr + 1] = (value >> 8) & 0xff
|
||||
self.a[addr + 2] = (value >> 16) & 0xff
|
||||
self.a[addr + 3] = (value >> 24) & 0xff
|
||||
|
||||
def u32(self):
|
||||
addr = self.addr
|
||||
rv = self.a[addr]
|
||||
rv |= self.a[addr+1] << 8
|
||||
rv |= self.a[addr+2] << 16
|
||||
rv |= self.a[addr+3] << 24
|
||||
rv |= self.a[addr + 1] << 8
|
||||
rv |= self.a[addr + 2] << 16
|
||||
rv |= self.a[addr + 3] << 24
|
||||
self.addr += 4
|
||||
return rv
|
||||
|
||||
def u16(self):
|
||||
addr = self.addr
|
||||
rv = self.a[addr]
|
||||
rv |= self.a[addr+1] << 8
|
||||
rv |= self.a[addr + 1] << 8
|
||||
self.addr += 2
|
||||
return rv
|
||||
|
||||
@@ -78,8 +77,8 @@ class BinFile(object):
|
||||
def tostring(self):
|
||||
return self.a.tostring()
|
||||
|
||||
def substring(self, start, len): # @ReservedAssignment
|
||||
return self.a[start:start+len].tostring()
|
||||
def substring(self, start, len): # @ReservedAssignment
|
||||
return self.a[start:start + len].tostring()
|
||||
|
||||
def __init__(self, data):
|
||||
self.a = array.array(b'B')
|
||||
@@ -89,6 +88,7 @@ class BinFile(object):
|
||||
# These functions parse data out of the file. In these functions, offset is
|
||||
# relative to the start of the file.
|
||||
|
||||
|
||||
# The virtual address of the resource segment.
|
||||
resource_virtual = 0
|
||||
|
||||
@@ -116,10 +116,10 @@ def parse_data(bf, offset):
|
||||
def parse_directory(bf, offset):
|
||||
|
||||
bf.seek(offset)
|
||||
char = bf.u32() # @UnusedVariable
|
||||
timedate = bf.u32() # @UnusedVariable
|
||||
major = bf.u16() # @UnusedVariable
|
||||
minor = bf.u16() # @UnusedVariable
|
||||
char = bf.u32() # @UnusedVariable
|
||||
timedate = bf.u32() # @UnusedVariable
|
||||
major = bf.u16() # @UnusedVariable
|
||||
minor = bf.u16() # @UnusedVariable
|
||||
n_named = bf.u16()
|
||||
n_id = bf.u16()
|
||||
|
||||
@@ -241,7 +241,7 @@ class Packer(object):
|
||||
|
||||
|
||||
def load_icon(fn):
|
||||
f = BinFile(file(fn, "rb").read())
|
||||
f = BinFile(open(fn, "rb").read())
|
||||
|
||||
f.seek(0)
|
||||
f.u16()
|
||||
@@ -301,9 +301,10 @@ def change_icons(oldexe, icofn):
|
||||
physize = rsrc_section.SizeOfRawData
|
||||
virsize = rsrc_section.Misc_VirtualSize
|
||||
|
||||
f = file(oldexe, "rb")
|
||||
f.seek(base)
|
||||
f = open(oldexe, "rb")
|
||||
basedata = f.read(base)
|
||||
data = f.read(physize)
|
||||
|
||||
f.close()
|
||||
|
||||
bf = BinFile(data)
|
||||
@@ -315,44 +316,46 @@ def change_icons(oldexe, icofn):
|
||||
|
||||
rsrc = Packer().pack(resources)
|
||||
|
||||
alignment = pe.OPTIONAL_HEADER.SectionAlignment
|
||||
|
||||
# print("Alignment is", alignment)
|
||||
|
||||
if len(rsrc) % alignment:
|
||||
pad = alignment - (len(rsrc) % alignment)
|
||||
padding = b"RENPYVNE" * (pad / 8 + 1)
|
||||
padding = padding[:pad]
|
||||
rsrc += padding
|
||||
|
||||
newsize = len(rsrc)
|
||||
|
||||
rsrc_section.Misc_VirtualSize += newsize - virsize
|
||||
rsrc_section.Misc_PhysicalAddress += newsize - virsize
|
||||
rsrc_section.Misc += newsize - virsize
|
||||
rsrc_section.SizeOfRawData += newsize - physize
|
||||
if newsize < physize:
|
||||
|
||||
pe.OPTIONAL_HEADER.SizeOfInitializedData += newsize - physize
|
||||
rsrc += b"\0" * (physize - newsize)
|
||||
|
||||
# Resource size.
|
||||
pe.OPTIONAL_HEADER.DATA_DIRECTORY[2].Size += newsize - virsize
|
||||
return basedata + rsrc
|
||||
|
||||
# Compute the total size of the image.
|
||||
total_size = 0
|
||||
else:
|
||||
|
||||
for i in pe.sections:
|
||||
alignment = pe.OPTIONAL_HEADER.SectionAlignment
|
||||
|
||||
sec_size = i.Misc_VirtualSize
|
||||
sec_size = sec_size - (sec_size % alignment) + alignment
|
||||
# print("Alignment is", alignment)
|
||||
|
||||
total_size += sec_size
|
||||
if len(rsrc) % alignment:
|
||||
pad = alignment - (len(rsrc) % alignment)
|
||||
padding = b"\0" * (pad / 8 + 1)
|
||||
padding = padding[:pad]
|
||||
rsrc += padding
|
||||
|
||||
pe.OPTIONAL_HEADER.SizeOfImage = total_size
|
||||
newsize = len(rsrc)
|
||||
delta = newsize - physize
|
||||
|
||||
rsrc_section.Misc_VirtualSize += delta
|
||||
rsrc_section.Misc_PhysicalAddress += delta
|
||||
rsrc_section.Misc += delta
|
||||
rsrc_section.SizeOfRawData += delta
|
||||
|
||||
pe.OPTIONAL_HEADER.SizeOfInitializedData += delta
|
||||
|
||||
# Resource size.
|
||||
pe.OPTIONAL_HEADER.DATA_DIRECTORY[2].Size += delta
|
||||
|
||||
pe.OPTIONAL_HEADER.SizeOfImage += delta
|
||||
|
||||
return pe.write()[:base] + rsrc
|
||||
|
||||
return pe.write()[:base] + rsrc
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
f = file(sys.argv[3], "wb")
|
||||
f = open(sys.argv[3], "wb")
|
||||
f.write(change_icons(sys.argv[1], sys.argv[2]))
|
||||
f.close()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -71,7 +71,12 @@ init python:
|
||||
|
||||
try:
|
||||
|
||||
cmd = [ "/usr/bin/python", os.path.join(config.gamedir, "tkaskdir.py"), renpy.fsencode(default_path) ]
|
||||
if os.path.exists("/usr/bin/python3"):
|
||||
system_python = "/usr/bin/python3"
|
||||
else:
|
||||
system_python = "/usr/bin/python"
|
||||
|
||||
cmd = [ system_python, os.path.join(config.gamedir, "tkaskdir.py"), renpy.fsencode(default_path) ]
|
||||
|
||||
p = subprocess.Popen(cmd, stdout=subprocess.PIPE)
|
||||
choice = p.stdout.read()
|
||||
@@ -85,10 +90,10 @@ init python:
|
||||
choice = ""
|
||||
path = None
|
||||
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."), label=None)
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the directory. Please install the python3-tk or tkinter package."), label=None)
|
||||
|
||||
if code:
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."), label=None)
|
||||
interface.error(_("Ren'Py was unable to run python with tkinter to choose the directory. Please install the python3-tk or tkinter package."), label=None)
|
||||
|
||||
elif choice:
|
||||
path = choice.decode("utf-8")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -24,6 +24,7 @@ init python:
|
||||
import codecs
|
||||
import re
|
||||
import sys
|
||||
import future.utils
|
||||
|
||||
def theme_names():
|
||||
"""
|
||||
@@ -97,7 +98,7 @@ init python:
|
||||
return
|
||||
|
||||
renpy.style.restore(style_backup)
|
||||
exec theme_data.THEME[theme][scheme] in globals()
|
||||
future.utils.exec_(theme_data.THEME[theme][scheme], globals(), globals())
|
||||
|
||||
# Rebuild the style cache.
|
||||
renpy.style.rebuild(False)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -74,11 +74,13 @@ init python:
|
||||
self.f.close()
|
||||
os.chmod(self.fn, 0o755)
|
||||
|
||||
command = renpy.fsencode('"{}"'.format(self.fn.replace("\"", "\\\"")))
|
||||
|
||||
if renpy.windows:
|
||||
subprocess.Popen([ renpy.fsencode(self.fn) ], shell=True)
|
||||
subprocess.Popen([ command ], shell=True)
|
||||
elif renpy.macintosh:
|
||||
subprocess.Popen([ "open", "-a", "Terminal", renpy.fsencode(self.fn) ])
|
||||
subprocess.Popen([ "open", "-a", "Terminal", command ])
|
||||
else:
|
||||
subprocess.Popen([ "x-terminal-emulator", "-e", renpy.fsencode(self.fn) ])
|
||||
subprocess.Popen([ "x-terminal-emulator", "-e", command ])
|
||||
|
||||
interface.interaction(_("INFORMATION"), _("The command is being run in a new operating system console window."), pause=2.5)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -308,23 +308,19 @@ init python in distribute:
|
||||
|
||||
def mac_lib_transform(self, app, duplicate):
|
||||
"""
|
||||
Moves the mac lib into position. If duplicate is set, the
|
||||
|
||||
Creates a new file list that has lib/darwin-x86_64 and lib/pythonlib2.7
|
||||
copied into the mac app, the latter iff it's not duplicated elsewhere.
|
||||
copied into the mac app, the latter iff it's not duplicated elsewhere or
|
||||
duplicate is set.
|
||||
"""
|
||||
|
||||
for f in list(self):
|
||||
|
||||
if f.name.startswith("lib/darwin-x86_64/lib/python2.7"):
|
||||
name = app + "/Contents/MacOS/lib/darwin-x86_64/Lib" + f.name[31:]
|
||||
|
||||
elif f.name.startswith("lib/pythonlib2.7") and (not duplicate):
|
||||
name = app + "/Contents/MacOS/lib/darwin-x86_64/Lib" + f.name[16:]
|
||||
|
||||
elif f.name.startswith("lib/darwin-x86_64"):
|
||||
if f.name.startswith("lib/python2.7") and (not duplicate):
|
||||
name = app + "/Contents/MacOS/" + f.name
|
||||
|
||||
elif f.name.startswith("lib/mac-x86_64"):
|
||||
name = app + "/Contents/MacOS/" + f.name[15:]
|
||||
|
||||
else:
|
||||
continue
|
||||
|
||||
@@ -493,6 +489,7 @@ init python in distribute:
|
||||
# The various executables, which change names based on self.executable_name.
|
||||
self.app = self.executable_name + ".app"
|
||||
self.exe = self.executable_name + ".exe"
|
||||
self.exe32 = self.executable_name + "-32.exe"
|
||||
self.sh = self.executable_name + ".sh"
|
||||
self.py = self.executable_name + ".py"
|
||||
|
||||
@@ -618,12 +615,12 @@ init python in distribute:
|
||||
if match(match_name, pattern):
|
||||
break
|
||||
else:
|
||||
print(match_name.encode("utf-8"), "doesn't match anything.", file=self.log)
|
||||
print(str(match_name), "doesn't match anything.", file=self.log)
|
||||
|
||||
pattern = None
|
||||
file_list = None
|
||||
|
||||
print(match_name.encode("utf-8"), "matches", pattern, "(" + str(file_list) + ").", file=self.log)
|
||||
print(str(match_name), "matches", str(pattern), "(" + str(file_list) + ").", file=self.log)
|
||||
|
||||
if file_list is None:
|
||||
return
|
||||
@@ -793,7 +790,7 @@ init python in distribute:
|
||||
script_version_txt = self.temp_filename("script_version.txt")
|
||||
|
||||
with open(script_version_txt, "w") as f:
|
||||
f.write(repr(renpy.renpy.version_tuple[:-1]))
|
||||
f.write(unicode(repr(renpy.renpy.version_tuple[:-1])))
|
||||
|
||||
self.add_file("all", "game/script_version.txt", script_version_txt)
|
||||
|
||||
@@ -804,7 +801,7 @@ init python in distribute:
|
||||
|
||||
tfn = self.temp_filename(list_name + "_hash.txt")
|
||||
|
||||
with open(tfn, "w") as tf:
|
||||
with open(tfn, "wb") as tf:
|
||||
tf.write(self.file_lists[list_name].hash(self))
|
||||
|
||||
self.add_file("binary", "launcher/game/" + list_name + "_hash.txt", tfn)
|
||||
@@ -825,7 +822,7 @@ init python in distribute:
|
||||
data = f.read()
|
||||
|
||||
with open(tmp_fn, "wb") as f:
|
||||
f.write("#!/usr/bin/env python2\n")
|
||||
f.write(b"#!/usr/bin/env python2\n")
|
||||
f.write(data)
|
||||
|
||||
self.add_file("source_only", "renpy.py", tmp_fn, True)
|
||||
@@ -846,7 +843,7 @@ init python in distribute:
|
||||
CFBundleName=display_name,
|
||||
CFBundlePackageType="APPL",
|
||||
CFBundleShortVersionString=version,
|
||||
CFBundleVersion="1.0.{0}".format(int(time.time())),
|
||||
CFBundleVersion=time.strftime("%Y.%m%d.%H%M%S"),
|
||||
LSApplicationCategoryType="public.app-category.simulation-games",
|
||||
CFBundleDocumentTypes = [
|
||||
{
|
||||
@@ -867,6 +864,8 @@ init python in distribute:
|
||||
if self.build.get('allow_integrated_gpu', False):
|
||||
plist["NSSupportsAutomaticGraphicsSwitching"] = True
|
||||
|
||||
plist.update(self.build.get("mac_info_plist", { }))
|
||||
|
||||
rv = self.temp_filename("Info.plist")
|
||||
plistlib.writePlist(plist, rv)
|
||||
return rv
|
||||
@@ -887,16 +886,16 @@ init python in distribute:
|
||||
self.add_file(
|
||||
linux,
|
||||
"lib/linux-i686/" + self.executable_name,
|
||||
os.path.join(config.renpy_base, "lib/linux-i686/pythonw"),
|
||||
os.path.join(config.renpy_base, "lib/linux-i686/renpy"),
|
||||
True)
|
||||
|
||||
self.add_file(
|
||||
linux,
|
||||
"lib/linux-x86_64/" + self.executable_name,
|
||||
os.path.join(config.renpy_base, "lib/linux-x86_64/pythonw"),
|
||||
os.path.join(config.renpy_base, "lib/linux-x86_64/renpy"),
|
||||
True)
|
||||
|
||||
armfn = os.path.join(config.renpy_base, "lib/linux-armv7l/pythonw")
|
||||
armfn = os.path.join(config.renpy_base, "lib/linux-armv7l/renpy")
|
||||
|
||||
if os.path.exists(armfn):
|
||||
|
||||
@@ -909,14 +908,10 @@ init python in distribute:
|
||||
|
||||
self.add_file(
|
||||
mac,
|
||||
"lib/darwin-x86_64/" + self.executable_name,
|
||||
os.path.join(config.renpy_base, "lib/darwin-x86_64/pythonw"),
|
||||
"lib/mac-x86_64/" + self.executable_name,
|
||||
os.path.join(config.renpy_base, "lib/mac-x86_64/renpy"),
|
||||
True)
|
||||
|
||||
# self.add_file(
|
||||
# windows,
|
||||
# "lib/windows-i686/" + self.executable_name + ".exe",
|
||||
# os.path.join(config.renpy_base, "lib/windows-i686/renpy.exe"))
|
||||
|
||||
def add_mac_files(self):
|
||||
"""
|
||||
@@ -936,7 +931,9 @@ init python in distribute:
|
||||
|
||||
plist_fn = self.write_plist()
|
||||
self.add_file(filelist, contents + "/Info.plist", plist_fn)
|
||||
self.add_file(filelist, contents + "/MacOS/" + self.executable_name, os.path.join(config.renpy_base, "renpy.sh"))
|
||||
self.add_file(filelist,
|
||||
contents + "/MacOS/" + self.executable_name,
|
||||
os.path.join(config.renpy_base, "lib/mac-x86_64/renpy"))
|
||||
|
||||
custom_fn = os.path.join(self.project.path, "icon.icns")
|
||||
default_fn = os.path.join(config.renpy_base, "launcher/icon.icns")
|
||||
@@ -951,16 +948,10 @@ init python in distribute:
|
||||
self.add_directory(filelist, resources)
|
||||
self.add_file(filelist, resources + "/icon.icns", icon_fn)
|
||||
|
||||
self.add_directory(filelist, contents + "/MacOS/lib")
|
||||
self.add_directory(filelist, contents + "/MacOS/lib/darwin-x86_64")
|
||||
self.add_directory(filelist, contents + "/MacOS/lib/darwin-x86_64/Lib")
|
||||
self.add_directory(filelist, contents + "/MacOS/lib/darwin-x86_64/Modules")
|
||||
|
||||
sfn = self.temp_filename("Setup")
|
||||
with open(sfn, "wb") as f:
|
||||
pass
|
||||
|
||||
self.add_file(filelist, contents + "/MacOS/lib/darwin-x86_64/Modules/Setup", sfn)
|
||||
if not self.build['renpy']:
|
||||
self.add_directory(filelist, contents + "/MacOS/lib")
|
||||
self.add_directory(filelist, contents + "/MacOS/lib/mac-x86_64")
|
||||
self.add_directory(filelist, contents + "/MacOS/lib/python2.7")
|
||||
|
||||
self.file_lists[filelist].mac_lib_transform(self.app, self.build['renpy'])
|
||||
|
||||
@@ -974,27 +965,35 @@ init python in distribute:
|
||||
else:
|
||||
windows = 'windows'
|
||||
|
||||
|
||||
icon_fn = os.path.join(self.project.path, "icon.ico")
|
||||
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) and os.path.exists(old_exe_fn):
|
||||
exe_fn = self.temp_filename("renpy.exe")
|
||||
main_fn = self.temp_filename("main.exe")
|
||||
|
||||
with open(exe_fn, "wb") as f:
|
||||
f.write(change_icons(old_exe_fn, icon_fn))
|
||||
def write_exe(src, dst, tmp):
|
||||
"""
|
||||
Write the exe found at `src` (taken as relative to renpy-base)
|
||||
as `dst` (in the distribution). `tmp` is the name of a tempfile
|
||||
that is written if one is needed.
|
||||
"""
|
||||
|
||||
with open(main_fn, "wb") as f:
|
||||
f.write(change_icons(old_main_fn, icon_fn))
|
||||
src = os.path.join(config.renpy_base, src)
|
||||
tmp = self.temp_filename(tmp)
|
||||
|
||||
else:
|
||||
exe_fn = old_exe_fn
|
||||
main_fn = old_main_fn
|
||||
if os.path.exists(icon_fn) and os.path.exists(src):
|
||||
|
||||
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)
|
||||
with open(tmp, "wb") as f:
|
||||
f.write(change_icons(src, icon_fn))
|
||||
|
||||
else:
|
||||
tmp = src
|
||||
|
||||
if os.path.exists(tmp):
|
||||
self.add_file(windows, dst, tmp)
|
||||
|
||||
write_exe("lib/windows-i686/renpy.exe", self.exe32, self.exe32)
|
||||
write_exe("lib/windows-i686/pythonw.exe", "lib/windows-i686/pythonw.exe", "pythonw-32.exe")
|
||||
write_exe("lib/windows-x86_64/renpy.exe", self.exe, self.exe)
|
||||
write_exe("lib/windows-x86_64/pythonw.exe", "lib/windows-x86_64/pythonw.exe", "pythonw-64.exe")
|
||||
|
||||
def add_main_py(self):
|
||||
if self.build['renpy']:
|
||||
@@ -1142,6 +1141,31 @@ init python in distribute:
|
||||
dmg=dmg,
|
||||
)
|
||||
|
||||
def workaround_mac_notarization(self, fl):
|
||||
"""
|
||||
This works around mac notarization by compressing the unsigned,
|
||||
un-notarized, binaries in lib/mac-x86_64.
|
||||
"""
|
||||
|
||||
fl = fl.copy()
|
||||
|
||||
for f in fl:
|
||||
if "/lib/mac-x86_64/" in f.name:
|
||||
with open(f.path, "rb") as inf:
|
||||
data = inf.read()
|
||||
|
||||
tempfile = self.temp_filename(os.path.basename(f.name) + ".macho")
|
||||
|
||||
with open(tempfile, "wb") as outf:
|
||||
outf.write(b"RENPY" + data)
|
||||
|
||||
f.name += ".macho"
|
||||
f.path = tempfile
|
||||
|
||||
print(repr(f))
|
||||
|
||||
return fl
|
||||
|
||||
def prepare_file_list(self, format, file_lists):
|
||||
"""
|
||||
Prepares a master list of files, given the format and file lists.
|
||||
@@ -1319,6 +1343,9 @@ init python in distribute:
|
||||
shutil.rmtree(path)
|
||||
|
||||
pkg = DMGPackage(path, make_dmg)
|
||||
|
||||
fl = self.workaround_mac_notarization(fl)
|
||||
|
||||
elif directory:
|
||||
pkg = DirectoryPackage(path)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -21,11 +21,27 @@
|
||||
|
||||
init python:
|
||||
|
||||
import urllib2
|
||||
import urllib.request
|
||||
import os
|
||||
import threading
|
||||
import time
|
||||
|
||||
ssl_context_cache = None
|
||||
|
||||
def ssl_context():
|
||||
"""
|
||||
Returns the SSL context.
|
||||
"""
|
||||
|
||||
global ssl_context_cache
|
||||
|
||||
if ssl_context_cache is None:
|
||||
import ssl
|
||||
import certifi
|
||||
ssl_context_cache = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile=certifi.where())
|
||||
|
||||
return ssl_context_cache
|
||||
|
||||
class Downloader(object):
|
||||
|
||||
def __init__(self, url, dest):
|
||||
@@ -57,9 +73,7 @@ init python:
|
||||
try:
|
||||
# Open the URL.
|
||||
|
||||
import ssl
|
||||
context = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH, cafile=renpy.loader.transfn("cacert.pem"))
|
||||
self.urlfile = urllib2.urlopen(url, context=context)
|
||||
self.urlfile = urllib.request.urlopen(url, context=ssl_context())
|
||||
|
||||
t = threading.Thread(target=self.thread)
|
||||
t.daemon = True
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -173,39 +173,6 @@ init 1 python in editor:
|
||||
|
||||
fei.append(e)
|
||||
|
||||
|
||||
# Editra.
|
||||
ED = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input.")
|
||||
EDL = _("A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython.")
|
||||
|
||||
if renpy.windows:
|
||||
dlc = "editra-windows"
|
||||
installed = os.path.exists(os.path.join(config.basedir, "editra/editra.exe"))
|
||||
description = ED
|
||||
error_message = None
|
||||
elif renpy.macintosh:
|
||||
dlc = "editra-mac"
|
||||
installed = os.path.exists(os.path.join(config.basedir, "editra/Editra-mac.app"))
|
||||
description = ED
|
||||
error_message = None
|
||||
else:
|
||||
dlc = "editra-linux"
|
||||
installed = os.path.exists(os.path.join(config.basedir, "editra/Editra"))
|
||||
description = EDL
|
||||
error_message = _("This may have occured because wxPython is not installed on this system.")
|
||||
|
||||
e = FancyEditorInfo(
|
||||
1,
|
||||
"Editra",
|
||||
description,
|
||||
dlc,
|
||||
_("Up to 22 MB download required."),
|
||||
error_message)
|
||||
|
||||
e.installed = e.installed and installed
|
||||
|
||||
fei.append(e)
|
||||
|
||||
# jEdit
|
||||
fei.append(FancyEditorInfo(
|
||||
2,
|
||||
@@ -223,7 +190,7 @@ init 1 python in editor:
|
||||
None))
|
||||
|
||||
for k in editors:
|
||||
if k in [ "Atom", "Editra", "jEdit", "System Editor", "None" ]:
|
||||
if k in [ "Atom", "jEdit", "System Editor", "None" ]:
|
||||
continue
|
||||
|
||||
fei.append(FancyEditorInfo(
|
||||
@@ -266,13 +233,13 @@ init 1 python in editor:
|
||||
if i.name == persistent.editor:
|
||||
if i.installed and i.name in editors:
|
||||
ei = editors[i.name]
|
||||
os.environ[b"RENPY_EDIT_PY"] = renpy.fsencode(os.path.abspath(ei.filename))
|
||||
os.environ["RENPY_EDIT_PY"] = renpy.fsencode(os.path.abspath(ei.filename))
|
||||
error_message = i.error_message
|
||||
break
|
||||
|
||||
else:
|
||||
persistent.editor = None
|
||||
os.environ.pop(b"RENPY_EDIT_PY", None)
|
||||
os.environ.pop("RENPY_EDIT_PY", None)
|
||||
|
||||
renpy.editor.init()
|
||||
|
||||
@@ -382,7 +349,7 @@ init 1 python in editor:
|
||||
e.open(fn, line=self.line)
|
||||
e.end()
|
||||
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
@@ -428,7 +395,7 @@ init 1 python in editor:
|
||||
e.open(self.filename, line=self.line)
|
||||
e.end()
|
||||
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
@@ -466,7 +433,7 @@ init 1 python in editor:
|
||||
|
||||
e.end()
|
||||
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
@@ -489,7 +456,7 @@ init 1 python in editor:
|
||||
e.open_project(project.current.path)
|
||||
e.end()
|
||||
|
||||
except Exception, e:
|
||||
except Exception as e:
|
||||
exception = traceback.format_exception_only(type(e), e)[-1][:-1]
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occured while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>com.apple.security.cs.allow-unsigned-executable-memory</key>
|
||||
<true/>
|
||||
</dict>
|
||||
</plist>
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,91 +0,0 @@
|
||||
네이버 나눔글꼴의 지적 재산권은 NHN에 있습니다.
|
||||
네이버 나눔글꼴은 개인 및 기업 사용자를 포함한 모든 사용자에게 무료로 제공되며
|
||||
자유롭게 수정하고 재배포하실 수 있습니다.
|
||||
단, 글꼴 자체를 유료로 판매하는 것은 금지하며, 네이버 나눔글꼴 라이선스 전문을 포함하기만 한다면
|
||||
자유롭게 다른 소프트웨어에 번들하여 유료로 판매하거나 또는 재 배포하실 수도 있습니다.
|
||||
|
||||
네이버 나눔글꼴 라이선스 전문을 포함하기 어려울 경우,
|
||||
나눔글꼴의 출처 표기를 부탁 드립니다. 예) 이 페이지에는 네이버에서 제공한 나눔글꼴이 적용되어 있습니다
|
||||
|
||||
네이버 나눔글꼴을 사용한 인쇄물, 광고물(온라인 포함)의 이미지는 나눔글꼴 프로모션을 위해 활용될 수 있습니다.
|
||||
이를 원치 않는 사용자는 언제든지 당사에 요청하실 수 있습니다.
|
||||
|
||||
정확한 사용 조건은 아래 네이버 나눔글꼴 라이선스 전문을 참고하시기 바랍니다.
|
||||
|
||||
|
||||
Copyright (c) 2010, NHN Corporation (http://www.nhncorp.com),
|
||||
with Reserved Font Name Nanum, Naver Nanum, NanumGothic, Naver NanumGothic, NanumMyeongjo,
|
||||
Naver NanumMyeongjo, NanumBrush, Naver NanumBrush, NanumPen, Naver NanumPen
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
|
||||
This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL
|
||||
|
||||
SIL OPEN FONT LICENSE
|
||||
Version 1.1 - 26 February 2007
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects,
|
||||
to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework
|
||||
in which fonts may be shared and improved in partnership with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold
|
||||
by themselves.
|
||||
The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided
|
||||
that any reserved names are not used by derivative works.
|
||||
The fonts and derivatives, however, cannot be released under any other type of license.
|
||||
The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives.
|
||||
|
||||
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such.
|
||||
This may include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting, or substituting ? in part or in whole ?
|
||||
any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software.
|
||||
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge,
|
||||
embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,in Original or Modified Versions,
|
||||
may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software,
|
||||
provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files,
|
||||
human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields
|
||||
can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written
|
||||
permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented
|
||||
to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise
|
||||
any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit
|
||||
written permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed
|
||||
under any other license. The requirement for fonts to remain under this license does not apply to any document created using
|
||||
the Font Software.
|
||||
|
||||
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are not met.
|
||||
|
||||
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT.
|
||||
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE
|
||||
OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
Binary file not shown.
Binary file not shown.
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -195,8 +195,8 @@ screen front_page_project:
|
||||
textbutton _("game") action OpenDirectory("game")
|
||||
textbutton _("base") action OpenDirectory(".")
|
||||
textbutton _("images") action OpenDirectory("game/images")
|
||||
textbutton _("audio") action OpenDirectory("game/audio")
|
||||
textbutton _("gui") action OpenDirectory("game/gui")
|
||||
# textbutton _("save") action None style "l_list"
|
||||
|
||||
vbox:
|
||||
if persistent.show_edit_funcs:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -36,10 +36,12 @@ def generate_gui(p):
|
||||
CodeGenerator(p).copy_script("script.rpy")
|
||||
CodeGenerator(p).copy_files()
|
||||
|
||||
images = os.path.join(p.prefix, "images")
|
||||
for dn in [ "images", "audio" ]:
|
||||
|
||||
if not os.path.exists(images):
|
||||
os.mkdir(images)
|
||||
fulldn = os.path.join(p.prefix, dn)
|
||||
|
||||
if not os.path.exists(fulldn):
|
||||
os.mkdir(fulldn)
|
||||
|
||||
|
||||
def generate_gui_command():
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -280,8 +280,8 @@ class CodeGenerator(object):
|
||||
|
||||
for l in self.lines:
|
||||
|
||||
l = re.sub(ur'_\((\".*?\")\)', replace, l)
|
||||
l = re.sub(ur'_\((\'.*?\')\)', replace, l)
|
||||
l = re.sub(r'_\((\".*?\")\)', replace, l)
|
||||
l = re.sub(r'_\((\'.*?\')\)', replace, l)
|
||||
|
||||
lines.append(l)
|
||||
|
||||
@@ -372,7 +372,7 @@ class CodeGenerator(object):
|
||||
if os.path.exists(dst):
|
||||
return
|
||||
|
||||
language = renpy.store._preferences.language # @UndefinedVariable
|
||||
language = renpy.store._preferences.language # @UndefinedVariable
|
||||
|
||||
if language is None:
|
||||
language = "None"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
|
||||
@@ -0,0 +1,153 @@
|
||||
# Copyright 2004-2020 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 python:
|
||||
import fnmatch
|
||||
import re
|
||||
import zipfile
|
||||
|
||||
def install_from_zip(name, zipglob, patterns):
|
||||
|
||||
# Determine the filename matching the zipglob, and put it into filename.
|
||||
filenames = [ i for i in os.listdir(config.renpy_base) if fnmatch.fnmatch(i.lower(), zipglob.lower()) ]
|
||||
|
||||
if not filenames:
|
||||
interface.error(
|
||||
_("Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."),
|
||||
label="install",
|
||||
name=name,
|
||||
zipglob=zipglob,
|
||||
)
|
||||
|
||||
filenames.sort(key=lambda a : a.lower())
|
||||
filename = filenames[-1]
|
||||
|
||||
# The zipfile.
|
||||
zf = zipfile.ZipFile(os.path.join(config.renpy_base, filename))
|
||||
|
||||
for fn in zf.namelist():
|
||||
matchfn = fn.replace("\\", "/")
|
||||
dstfn = None
|
||||
|
||||
renpy.write_log(fn)
|
||||
|
||||
for src, dst in patterns:
|
||||
if re.match(src, matchfn):
|
||||
dstfn = re.sub(src, dst, matchfn)
|
||||
break
|
||||
|
||||
if not dstfn:
|
||||
continue
|
||||
|
||||
dstfn = os.path.join(config.renpy_base, dstfn)
|
||||
|
||||
if not os.path.exists(os.path.dirname(dstfn)):
|
||||
continue
|
||||
|
||||
renpy.write_log(fn + " -> " + dstfn)
|
||||
|
||||
data = zf.read(fn)
|
||||
with open(dstfn, "wb") as f:
|
||||
f.write(data)
|
||||
|
||||
try:
|
||||
os.chmod(dstfn, 0o755)
|
||||
except:
|
||||
pass
|
||||
|
||||
interface.info(_("Successfully installed [name!t]."), name=name)
|
||||
|
||||
|
||||
label install_live2d:
|
||||
python hide:
|
||||
|
||||
patterns = [
|
||||
(r".*/Core/dll/linux/x86_64/(libLive2DCubismCore.so)", r"lib/linux-x86_64/\1"),
|
||||
(r".*/Core/dll/windows/x86_64/(Live2DCubismCore.dll)", r"lib/windows-x86_64/\1"),
|
||||
(r".*/Core/dll/windows/x86/(Live2DCubismCore.dll)", r"lib/windows-i686/\1"),
|
||||
(r".*/Core/dll/macos/(libLive2DCubismCore.dylib)", r"lib/mac-x86_64/\1"),
|
||||
(r".*/Core/dll/experimental/rpi/(libLive2DCubismCore.so)", r"lib/linux-armv7l/\1"),
|
||||
|
||||
(r".*/Core/dll/android/(armeabi-v7a/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
|
||||
(r".*/Core/dll/android/(arm64-v8a/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
|
||||
|
||||
# This doesn't exist yet.
|
||||
# (r".*/Core/dll/android/(x86_64/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
|
||||
]
|
||||
|
||||
install_from_zip("Live2D Cubism SDK for Native", "CubismSdkForNative-4-*.zip", patterns)
|
||||
|
||||
jump front_page
|
||||
|
||||
screen install():
|
||||
|
||||
frame:
|
||||
style_group "l"
|
||||
style "l_root"
|
||||
|
||||
window:
|
||||
|
||||
has vbox
|
||||
|
||||
label _("Install Libraries")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
hbox:
|
||||
frame:
|
||||
style "l_indent"
|
||||
xfill True
|
||||
|
||||
viewport:
|
||||
scrollbars "vertical"
|
||||
mousewheel True
|
||||
|
||||
has vbox
|
||||
|
||||
text _("This screen allows you to install libraries that can't be distributed with Ren'Py. Some of these libraries may require you to agree to a third-party license before being used or distributed.")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
add SPACER
|
||||
|
||||
textbutton "Install Live2D Cubism SDK for Native":
|
||||
action Jump("install_live2d")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
has vbox
|
||||
|
||||
text _("The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc.")
|
||||
|
||||
add SPACER
|
||||
|
||||
text _("Live2D in Ren'Py doesn't support the Web, Android x86_64 (including emulators and Chrome OS), and must be added to iOS projects manually. Live2D must be reinstalled after upgrading Ren'Py or installing Android support.")
|
||||
|
||||
textbutton _("Cancel") action Return(False) style "l_left_button"
|
||||
textbutton _("Open Ren'Py SDK Directory") action OpenDirectory(config.renpy_base, absolute=True) style "l_right_button"
|
||||
|
||||
timer 2.0 action renpy.restart_interaction repeat True
|
||||
|
||||
label install:
|
||||
call screen install
|
||||
jump preferences
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -399,9 +399,9 @@ init python in interface:
|
||||
|
||||
import string
|
||||
DIGITS_LETTERS = string.digits
|
||||
PROJECT_LETTERS = DIGITS_LETTERS + string.ascii_letters + " _"
|
||||
PROJECT_LETTERS = string.digits + string.ascii_letters + " _"
|
||||
FILENAME_LETTERS = PROJECT_LETTERS + "\\/"
|
||||
TRANSLATE_LETTERS = string.ascii_letters + "_"
|
||||
TRANSLATE_LETTERS = string.ascii_letters + string.digits + "_"
|
||||
|
||||
def input(title, message, filename=False, sanitize=True, cancel=None, allow=None, default=""):
|
||||
"""
|
||||
|
||||
+56
-14
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -105,12 +105,15 @@ init python:
|
||||
xcode_name_cache[s] = s
|
||||
return s
|
||||
|
||||
def xcode_project(p=None):
|
||||
def xcode_project(p=None, target=None):
|
||||
"""
|
||||
Return the path to the Xcode project corresponding to `p`, or the current
|
||||
project if `p` is None
|
||||
"""
|
||||
|
||||
if target is not None:
|
||||
return target
|
||||
|
||||
if p is None:
|
||||
p = project.current
|
||||
|
||||
@@ -119,16 +122,22 @@ 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)
|
||||
def ios_create(p=None, gui=True, target=None):
|
||||
project.current.update_dump(force=True, gui=gui)
|
||||
|
||||
name = project.current.dump.get("name", None)
|
||||
version = project.current.dump.get("version", None)
|
||||
|
||||
dest = xcode_project(p)
|
||||
dest = xcode_project(p, target)
|
||||
|
||||
if gui:
|
||||
iface = MobileInterface("ios")
|
||||
else:
|
||||
iface = rapt.interface.Interface()
|
||||
|
||||
if os.path.exists(dest):
|
||||
interface.yesno(_("The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"), no=Jump("ios"))
|
||||
if not iface.yesno(_("The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?")):
|
||||
return
|
||||
|
||||
i = 0
|
||||
while True:
|
||||
@@ -139,12 +148,11 @@ init python:
|
||||
|
||||
os.rename(dest, backup)
|
||||
|
||||
iface = MobileInterface("ios")
|
||||
renios.create.create_project(iface, dest, name, version)
|
||||
|
||||
ios_populate(p, gui=gui)
|
||||
ios_populate(p, gui=gui, target=target)
|
||||
|
||||
def ios_populate(p=None, gui=True):
|
||||
def ios_populate(p=None, gui=True, target=None):
|
||||
"""
|
||||
This actually builds the package.
|
||||
"""
|
||||
@@ -154,7 +162,7 @@ init python:
|
||||
if p is None:
|
||||
p = project.current
|
||||
|
||||
dist = os.path.join(xcode_project(p), "base")
|
||||
dist = os.path.join(xcode_project(p, target), "base")
|
||||
|
||||
if os.path.exists(dist):
|
||||
shutil.rmtree(dist)
|
||||
@@ -192,12 +200,12 @@ 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)
|
||||
ios_image(p, "ios-icon.png", "Media.xcassets/AppIcon.appiconset", True, target)
|
||||
# ios_image(p, "ios-launchimage.png", "Media.xcassets/LaunchImage.launchimage", False, target)
|
||||
|
||||
def ios_image(p, source, destination, scale):
|
||||
def ios_image(p, source, destination, scale, target):
|
||||
source = os.path.join(p.path, source)
|
||||
destination = os.path.join(xcode_project(p), destination)
|
||||
destination = os.path.join(xcode_project(p, target), destination)
|
||||
|
||||
renios.image.generate(source, destination, scale)
|
||||
|
||||
@@ -386,3 +394,37 @@ label update_xcode_project:
|
||||
$ ios_populate(None, True)
|
||||
|
||||
jump ios
|
||||
|
||||
init python:
|
||||
|
||||
def ios_create_command():
|
||||
ap = renpy.arguments.ArgumentParser()
|
||||
ap.add_argument("project", help="The path to the Ren'Py project.")
|
||||
ap.add_argument("destination", help="The path the iOS project that will be created.")
|
||||
|
||||
args = ap.parse_args()
|
||||
|
||||
p = project.Project(args.project)
|
||||
|
||||
ios_create(p, False, args.destination)
|
||||
|
||||
return False
|
||||
|
||||
renpy.arguments.register_command("ios_create", ios_create_command)
|
||||
|
||||
|
||||
def ios_populate_command():
|
||||
ap = renpy.arguments.ArgumentParser()
|
||||
ap.add_argument("project", help="The path to the Ren'Py project.")
|
||||
ap.add_argument("destination", help="The path the iOS project that will be created.")
|
||||
|
||||
args = ap.parse_args()
|
||||
|
||||
p = project.Project(args.project)
|
||||
|
||||
ios_populate(p, False, args.destination)
|
||||
|
||||
return False
|
||||
|
||||
renpy.arguments.register_command("ios_populate", ios_populate_command)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -48,11 +48,11 @@ init python:
|
||||
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)
|
||||
url = "https://broth.itch.ovh/butler/{}/LATEST/archive/default".format(platform)
|
||||
req = urllib2.Request(url, headers={'User-Agent' : "Renpy"})
|
||||
response = urllib2.urlopen(req, context=ssl_context())
|
||||
|
||||
with open(zip, "wb") as f:
|
||||
while True:
|
||||
|
||||
@@ -0,0 +1,55 @@
|
||||
# Copyright 2004-2020 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 python hide:
|
||||
import os
|
||||
|
||||
macapp = os.path.join(config.renpy_base, "renpy.app/Contents/MacOS")
|
||||
maclib = os.path.join(config.renpy_base, "lib/mac-x86_64")
|
||||
|
||||
if os.path.exists(maclib):
|
||||
|
||||
for fn in os.listdir(maclib):
|
||||
try:
|
||||
|
||||
fn = os.path.join(maclib, fn)
|
||||
|
||||
if fn.endswith(".macho"):
|
||||
nfn = fn.rpartition(".")[0]
|
||||
|
||||
with open(fn, "rb") as f:
|
||||
f.read(5)
|
||||
data = f.read()
|
||||
|
||||
with open(nfn, "wb") as f:
|
||||
f.write(data)
|
||||
|
||||
os.chmod(nfn, 0o755)
|
||||
os.unlink(fn)
|
||||
|
||||
except:
|
||||
pass
|
||||
|
||||
|
||||
macpython = os.path.join(maclib, "python")
|
||||
|
||||
if sys.executable.startswith(macapp) and os.path.exists(macpython):
|
||||
sys.executable = macpython
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -91,7 +91,7 @@ init -1 python:
|
||||
def log(self, msg):
|
||||
with open(self.filename, "a") as f:
|
||||
f.write("\n")
|
||||
f.write(msg)
|
||||
f.write(unicode(msg))
|
||||
f.write("\n")
|
||||
|
||||
def info(self, prompt):
|
||||
@@ -170,7 +170,7 @@ init -1 python:
|
||||
|
||||
self.cmd = cmd
|
||||
|
||||
f = open(self.filename, "a")
|
||||
f = open(self.filename, "ab")
|
||||
|
||||
f.write("\n\n\n")
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -183,9 +183,7 @@ init -1 python hide:
|
||||
|
||||
config.sound = False
|
||||
config.quit_action = Quit(confirm=False)
|
||||
config.gl_resize = False
|
||||
config.window_icon = "images/logo.png"
|
||||
config.windows_icon = "images/logo32.png"
|
||||
config.has_autosave = False
|
||||
config.log_enable = False
|
||||
config.mouse_hide_time = None
|
||||
@@ -285,6 +283,7 @@ init python:
|
||||
except:
|
||||
pass
|
||||
|
||||
build.classify_renpy("rapt/**/libLive2DCubismCore.so", None)
|
||||
build.classify_renpy("rapt/**", "rapt")
|
||||
build.executable("rapt/prototype/gradlew")
|
||||
|
||||
@@ -374,9 +373,8 @@ init python:
|
||||
|
||||
# all-platforms binary.
|
||||
build.classify_renpy("lib/**/_renpysteam*", None)
|
||||
build.classify_renpy("lib/**/*Live2D*", None)
|
||||
build.classify_renpy("lib/**/*steam_api*", None)
|
||||
build.classify_renpy("lib/*/renpy", None)
|
||||
build.classify_renpy("lib/*/renpy.exe", None)
|
||||
build.classify_renpy("lib/linux-armv7l/", "raspi")
|
||||
build.classify_renpy("lib/linux-armv7l/**", "raspi")
|
||||
build.classify_renpy("lib/**", "binary")
|
||||
@@ -386,16 +384,6 @@ init python:
|
||||
# jedit rules.
|
||||
build.classify_renpy("jedit/**", "jedit")
|
||||
|
||||
# editra rules.
|
||||
build.classify_renpy("editra/", "editra-all")
|
||||
build.classify_renpy("editra/Editra.edit.py", "editra-all")
|
||||
build.classify_renpy("editra/Editra/**", "editra-linux editra-windows")
|
||||
build.classify_renpy("editra/Editra-mac.app/**", "editra-mac")
|
||||
build.classify_renpy("editra/lib/**", "editra-windows")
|
||||
build.classify_renpy("editra/editra.exe", "editra-windows")
|
||||
build.executable("editra/Editra/Editra")
|
||||
|
||||
|
||||
# Packages.
|
||||
build.packages = [ ]
|
||||
|
||||
@@ -405,10 +393,6 @@ init python:
|
||||
|
||||
build.package("jedit", "zip", "jedit", dlc=True)
|
||||
|
||||
build.package("editra-linux", "tar.bz2", "editra-all editra-linux", dlc=True)
|
||||
build.package("editra-mac", "zip", "editra-all editra-mac", dlc=True)
|
||||
build.package("editra-windows", "zip", "editra-all editra-windows", dlc=True)
|
||||
|
||||
build.package("atom-linux", "tar.bz2", "atom-all atom-linux", dlc=True)
|
||||
build.package("atom-mac", "zip", "atom-all atom-mac", dlc=True)
|
||||
build.package("atom-windows", "zip", "atom-all atom-windows", dlc=True)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -28,10 +28,17 @@ init python in distribute:
|
||||
import struct
|
||||
import stat
|
||||
import shutil
|
||||
import sys
|
||||
import threading
|
||||
|
||||
from renpy import six
|
||||
from zipfile import crc32
|
||||
|
||||
|
||||
# Since the long type doesn't exist on py3, define it here
|
||||
if six.PY3:
|
||||
long = int
|
||||
|
||||
zlib.Z_DEFAULT_COMPRESSION = 5
|
||||
|
||||
class ZipFile(zipfile.ZipFile):
|
||||
@@ -156,9 +163,9 @@ init python in distribute:
|
||||
zi.create_system = 3
|
||||
|
||||
if xbit:
|
||||
zi.external_attr = long(0100755) << 16
|
||||
zi.external_attr = long(0o100755) << 16
|
||||
else:
|
||||
zi.external_attr = long(0100644) << 16
|
||||
zi.external_attr = long(0o100644) << 16
|
||||
|
||||
self.zipfile.write_with_info(zi, path)
|
||||
|
||||
@@ -170,7 +177,7 @@ init python in distribute:
|
||||
zi.date_time = self.get_date_time(path)
|
||||
zi.compress_type = zipfile.ZIP_STORED
|
||||
zi.create_system = 3
|
||||
zi.external_attr = (long(0040755) << 16) | 0x10
|
||||
zi.external_attr = (long(0o040755) << 16) | 0x10
|
||||
|
||||
self.zipfile.write_with_info(zi, path)
|
||||
|
||||
@@ -201,9 +208,9 @@ init python in distribute:
|
||||
info.type = tarfile.DIRTYPE
|
||||
|
||||
if xbit:
|
||||
info.mode = 0755
|
||||
info.mode = 0o755
|
||||
else:
|
||||
info.mode = 0644
|
||||
info.mode = 0o644
|
||||
|
||||
info.uid = 1000
|
||||
info.gid = 1000
|
||||
@@ -267,10 +274,14 @@ init python in distribute:
|
||||
|
||||
def mkdir(self, path):
|
||||
if not os.path.isdir(path):
|
||||
os.makedirs(path, 0755)
|
||||
os.makedirs(path, 0o755)
|
||||
|
||||
def __init__(self, path):
|
||||
self.path = path
|
||||
|
||||
if os.path.isdir(path):
|
||||
shutil.rmtree(path)
|
||||
|
||||
self.mkdir(path)
|
||||
|
||||
def add_file(self, name, path, xbit):
|
||||
@@ -282,9 +293,9 @@ init python in distribute:
|
||||
shutil.copy2(path, fn)
|
||||
|
||||
if xbit:
|
||||
os.chmod(fn, 0755)
|
||||
os.chmod(fn, 0o755)
|
||||
else:
|
||||
os.chmod(fn, 0644)
|
||||
os.chmod(fn, 0o644)
|
||||
|
||||
def add_directory(self, name, path):
|
||||
fn = os.path.join(self.path, name)
|
||||
@@ -389,14 +400,10 @@ init python in distribute:
|
||||
break
|
||||
|
||||
t += 1
|
||||
print(t, " ".join(sorted([ i.what for i in alive ])))
|
||||
print("\r " + str(t) + " " + " ".join(sorted([ i.what for i in alive ])))
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
for i in parallel_threads:
|
||||
if i.done:
|
||||
i.done()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
+710
-876
File diff suppressed because it is too large
Load Diff
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -20,11 +20,6 @@
|
||||
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
init python:
|
||||
if persistent.gl_enable is None:
|
||||
persistent.gl_enable = True
|
||||
|
||||
config.gl_enable = persistent.gl_enable
|
||||
|
||||
if persistent.show_edit_funcs is None:
|
||||
persistent.show_edit_funcs = True
|
||||
|
||||
@@ -129,6 +124,22 @@ screen preferences:
|
||||
|
||||
add SPACER
|
||||
|
||||
add SEPARATOR2
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
yminimum 75
|
||||
has vbox
|
||||
|
||||
text _("Actions:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
textbutton _("Install libraries") style "l_nonbox" action Jump("install")
|
||||
textbutton _("Open launcher project") style "l_nonbox" action [ project.Select("launcher"), Jump("front_page") ]
|
||||
textbutton _("Reset window size") style "l_nonbox" action Preference("display", 1.0)
|
||||
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
xmaximum ONETHIRD
|
||||
@@ -161,7 +172,6 @@ screen preferences:
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
textbutton _("Hardware rendering") style "l_checkbox" action ToggleField(persistent, "gl_enable")
|
||||
textbutton _("Show edit file section") style "l_checkbox" action ToggleField(persistent, "show_edit_funcs")
|
||||
textbutton _("Large fonts") style "l_checkbox" action [ ToggleField(persistent, "large_print"), renpy.utter_restart ]
|
||||
|
||||
@@ -181,30 +191,16 @@ screen preferences:
|
||||
|
||||
textbutton _("Sponsor message") style "l_checkbox" action ToggleField(persistent, "sponsor_message")
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
xmaximum ONETHIRD
|
||||
xfill True
|
||||
|
||||
has vbox
|
||||
|
||||
add SEPARATOR2
|
||||
if translations:
|
||||
|
||||
frame:
|
||||
style "l_indent"
|
||||
yminimum 75
|
||||
xmaximum ONETHIRD
|
||||
xfill True
|
||||
|
||||
has vbox
|
||||
|
||||
text _("Actions:")
|
||||
|
||||
add HALF_SPACER
|
||||
|
||||
textbutton _("Open launcher project") style "l_nonbox" action [ project.Select("launcher"), Jump("front_page") ]
|
||||
|
||||
if translations:
|
||||
|
||||
add SPACER
|
||||
|
||||
# Text editor selection.
|
||||
add SEPARATOR2
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -104,15 +104,13 @@ init python in project:
|
||||
|
||||
def load_data(self):
|
||||
try:
|
||||
f = open(os.path.join(self.path, "project.json"), "rb")
|
||||
self.data = json.load(f)
|
||||
f.close()
|
||||
with open(os.path.join(self.path, "project.json"), "rb") as f:
|
||||
self.data = json.load(f)
|
||||
except:
|
||||
self.data = { }
|
||||
|
||||
self.update_data()
|
||||
|
||||
|
||||
def save_data(self):
|
||||
"""
|
||||
Saves the project data.
|
||||
@@ -337,12 +335,14 @@ init python in project:
|
||||
for l, line in enumerate(data):
|
||||
l += 1
|
||||
|
||||
line = line[:1024]
|
||||
|
||||
try:
|
||||
line = line.decode("utf-8")
|
||||
except:
|
||||
continue
|
||||
|
||||
m = re.search(ur".*#\s*TODO(\s*:\s*|\s+)(.*)", line, re.I)
|
||||
m = re.search(r"#\s*TODO(\s*:\s*|\s+)(.*)", line, re.I)
|
||||
|
||||
if m is None:
|
||||
continue
|
||||
@@ -792,8 +792,6 @@ init python:
|
||||
ap = renpy.arguments.ArgumentParser()
|
||||
args = ap.parse_args()
|
||||
|
||||
print renpy.fsencode(persistent.projects_directory)
|
||||
|
||||
return False
|
||||
|
||||
renpy.arguments.register_command("get_projects_directory", get_projects_directory_command)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -534,7 +534,7 @@ init python in theme_data:
|
||||
THEME_FUNCTIONS.add(function)
|
||||
THEME_SCREEN_OPERATIONS[theme] = roundrect_screen_ops
|
||||
|
||||
for scheme, colors in ROUNDRECT_SCHEMES.iteritems():
|
||||
for scheme, colors in ROUNDRECT_SCHEMES.items():
|
||||
subs = dict(colors)
|
||||
subs["function"] = function
|
||||
subs["theme"] = theme
|
||||
@@ -587,7 +587,7 @@ init python in theme_data:
|
||||
THEME_SCREEN_OPERATIONS["A White Tulip"] = awt_screen_ops
|
||||
|
||||
|
||||
for scheme, colors in ROUNDRECT_SCHEMES.iteritems():
|
||||
for scheme, colors in ROUNDRECT_SCHEMES.items():
|
||||
subs = dict(colors)
|
||||
subs["scheme"] = scheme
|
||||
|
||||
|
||||
+38
-19
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -26,29 +26,48 @@
|
||||
|
||||
import sys
|
||||
|
||||
# Python3 and Python2-style imports.
|
||||
try:
|
||||
from tkinter import Tk
|
||||
from tkinter.filedialog import askdirectory
|
||||
except ImportError:
|
||||
from Tkinter import Tk
|
||||
from tkFileDialog import askdirectory
|
||||
|
||||
# Binary mode stdout for python3.
|
||||
try:
|
||||
sys.stdout = sys.stdout.buffer
|
||||
except:
|
||||
pass
|
||||
# Gtk generally has better support than TKinter on various Linux distributions
|
||||
def gtk_select_directory(title):
|
||||
dialog = Gtk.FileChooserNative(title=title,
|
||||
action=Gtk.FileChooserAction.SELECT_FOLDER)
|
||||
|
||||
# Create the TK canvas.
|
||||
dialog.run()
|
||||
|
||||
if __name__ == "__main__":
|
||||
return dialog.get_filename()
|
||||
|
||||
|
||||
# Fall back to TKinter if Gtk isn't available
|
||||
def tk_select_directory(initialdir, title):
|
||||
root = Tk()
|
||||
root.withdraw()
|
||||
|
||||
result = askdirectory(initialdir=sys.argv[1], parent=root, title="Select Ren'Py Projects Directory")
|
||||
return askdirectory(initialdir=initialdir, parent=root, title=title)
|
||||
|
||||
if result == ():
|
||||
result = ""
|
||||
|
||||
sys.stdout.write(result.encode("utf8"))
|
||||
try:
|
||||
import gi
|
||||
gi.require_version('Gtk', '3.0')
|
||||
from gi.repository import Gtk
|
||||
|
||||
def select_directory(title):
|
||||
result = gtk_select_directory(title)
|
||||
|
||||
return result if result else ''
|
||||
|
||||
except:
|
||||
# Python3 and Python2-style imports.
|
||||
try:
|
||||
from tkinter import Tk
|
||||
from tkinter.filedialog import askdirectory
|
||||
except ImportError:
|
||||
from Tkinter import Tk
|
||||
from tkFileDialog import askdirectory
|
||||
|
||||
def select_directory(title):
|
||||
return tk_select_directory(title, sys.argv[1])
|
||||
|
||||
if __name__ == '__main__':
|
||||
directory = select_directory('Select Ren\'Py Projects Directory')
|
||||
|
||||
sys.stdout.write(directory)
|
||||
|
||||
@@ -819,7 +819,7 @@ translate french strings:
|
||||
|
||||
# navigation.rpy:249
|
||||
old "No TODO comments found.\n\nTo create one, include \"# TODO\" in your script."
|
||||
new "Aucun commentaire «TODO» trouvé.\n\nPour en créer un, écrivez \"# TODO\" dans le script."
|
||||
new "Aucun commentaire « TODO » trouvé.\n\nPour en créer un, écrivez \"# TODO\" dans le script."
|
||||
|
||||
# navigation.rpy:256
|
||||
old "The list of names is empty."
|
||||
@@ -919,7 +919,7 @@ translate french strings:
|
||||
|
||||
# preferences.rpy:173
|
||||
old "Show templates"
|
||||
new "Afficher les modèles"
|
||||
new "Afficher les modèles"
|
||||
|
||||
# preferences.rpy:174
|
||||
old "Show edit file section"
|
||||
@@ -1115,7 +1115,7 @@ translate french strings:
|
||||
|
||||
# updater.rpy:108
|
||||
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
|
||||
new "Un aperçu de la prochaine version de Ren’Py qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalités, mais par pour créer de nouveaux jeux."
|
||||
new "Un aperçu de la prochaine version de Ren’Py qui peut être utilisée pour faire des tests et profiter de toutes nouvelles fonctionnalités, mais pas pour créer de nouveaux jeux."
|
||||
|
||||
# updater.rpy:114
|
||||
old "Experimental"
|
||||
|
||||
@@ -742,6 +742,10 @@ translate japanese strings:
|
||||
old "Debug"
|
||||
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 "このメニューのオプションはアクセス性を改善するためのものです。すべてのゲームで動作するわけではなく、特定の組合せではゲームを正常にレンダリングしないでしょう。これはゲームやエンジンの問題ではありません。フォント変更時に最良の結果を得るには、テキストサイズをオリジナルのままにしてください。"
|
||||
|
||||
# renpy/common/00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "フォント変換"
|
||||
@@ -774,3 +778,15 @@ translate japanese strings:
|
||||
old "Show deleted"
|
||||
new "消去済みを表示する"
|
||||
|
||||
# TODO: Translation updated at 2020-11-03 09:43
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:193
|
||||
old "Self-Voicing Volume Drop"
|
||||
new "自己発話音量"
|
||||
|
||||
# renpy/common/00preferences.rpy:384
|
||||
old "self voicing volume drop"
|
||||
new "セルフボイシングボリュームを下げる"
|
||||
|
||||
|
||||
@@ -185,3 +185,19 @@ translate japanese strings:
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: コンソール上のオブジェクトを全て表現する"
|
||||
|
||||
# TODO: Translation updated at 2020-11-03 09:43
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00console.rpy:814
|
||||
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
|
||||
new "watch <expression>: python式をウォッチ\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
|
||||
|
||||
# renpy/common/00console.rpy:925
|
||||
old "escape: Enables escaping of unicode symbols in unicode strings."
|
||||
new "escape: ユニコード文字列中でのユニコードシンボルのエスケープを有効化"
|
||||
|
||||
# renpy/common/00console.rpy:929
|
||||
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
|
||||
new "unescape: ユニコード文字列中でのユニコードシンボルのエスケープを無効化し (default) として表示"
|
||||
|
||||
|
||||
@@ -259,3 +259,43 @@ translate japanese strings:
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "クリップボードに errors.txt を Discord に適した Markdown 形式でコピーする。"
|
||||
|
||||
# TODO: Translation updated at 2020-11-03 09:43
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:100
|
||||
old "Force GL Renderer"
|
||||
new "GLレンダリングを強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:105
|
||||
old "Force ANGLE Renderer"
|
||||
new "ANGLEレンダリングを強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:110
|
||||
old "Force GLES Renderer"
|
||||
new "GLESレンダリングを強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:116
|
||||
old "Force GL2 Renderer"
|
||||
new "GL2レンダリングを強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:121
|
||||
old "Force ANGLE2 Renderer"
|
||||
new "ANGLE2レンダリングを強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:126
|
||||
old "Force GLES2 Renderer"
|
||||
new "GLES2レンダリングを強制"
|
||||
|
||||
# renpy/common/00gltest.rpy:245
|
||||
old "This game requires use of GL2 that can't be initialised."
|
||||
new "このゲームはGL2を必要としますが初期化できません。"
|
||||
|
||||
# renpy/common/00gltest.rpy:256
|
||||
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
|
||||
new "詳しい修正方法は{a=[url]}documentation{/a}を参照してください。"
|
||||
|
||||
# renpy/common/00gltest.rpy:273
|
||||
old "Change render options"
|
||||
new "レンダリング設定を変更"
|
||||
|
||||
|
||||
+466
-466
@@ -1,466 +1,466 @@
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# gui.rpy:2
|
||||
old "## Initialization"
|
||||
new "## 初期化"
|
||||
|
||||
# gui.rpy:5
|
||||
old "## The init offset statement causes the init code in this file to run before init code in any other file."
|
||||
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset ステートメントは、このファイルの init コードを他のファイルよりも先に実行しています。"
|
||||
|
||||
# gui.rpy:9
|
||||
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## まず最初に gui.init を実行して、スタイルを扱いやすい初期値にリセットし、ゲームの横幅と縦幅を設定します。"
|
||||
|
||||
# gui.rpy:17
|
||||
old "## GUI Configuration Variables"
|
||||
new "## GUI 設定変数"
|
||||
|
||||
# gui.rpy:21
|
||||
old "## Colors"
|
||||
new "## カラー"
|
||||
|
||||
# gui.rpy:23
|
||||
old "## The colors of text in the interface."
|
||||
new "## インターフェースのテキストのカラー。"
|
||||
|
||||
# gui.rpy:25
|
||||
old "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## アクセントカラー。タイトル・ラベル・ハイライトされたテキスト・ボタンの背景・スライダーのつまみ等、インターフェイスの様々な場所で使います。"
|
||||
|
||||
# gui.rpy:29
|
||||
old "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## selected(選択中)でも hover(フォーカス中)でもない状態のテキストボタンのカラー。"
|
||||
|
||||
# gui.rpy:32
|
||||
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
new "## スモールカラー。クイックメニューなどの、明るさを調節する必要のある小さなテキストボタンに使います。"
|
||||
|
||||
# gui.rpy:36
|
||||
old "## The color that is used for buttons and bars that are hovered."
|
||||
new "## hover(フォーカス中)のテキストボタンのカラー。また、バーの充足部分(左側)やスライダーのつまみ等の画像を再生成するときにも使われます。"
|
||||
|
||||
# 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 "## selected(選択中)のテキストボタンのカラー。ボタンが現在のスクリーンであったり、環境設定の値と一致したりすると、ボタンは選択中になります。"
|
||||
|
||||
# gui.rpy:43
|
||||
old "## The color used for a text button when it cannot be selected."
|
||||
new "## insensitive (選択不可能)なテキストボタンのカラー。"
|
||||
|
||||
# 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 "## バーの非充足部分(右側)やスライダーの背景部分のカラー。バーやスライダーのカラーは直接使われず、 GUI を変更・更新した場合の画像生成に使われます。"
|
||||
|
||||
# gui.rpy:51
|
||||
old "## The colors used for dialogue and menu choice text."
|
||||
new "## text_color は台詞や選択肢のテキストのカラーです。interface_text_color はヒストリーやヘルプなどそれ以外のテキストのカラーです。"
|
||||
|
||||
# gui.rpy:56
|
||||
old "## Fonts and Font Sizes"
|
||||
new "## フォントとフォントサイズ"
|
||||
|
||||
# gui.rpy:58
|
||||
old "## The font used for in-game text."
|
||||
new "## ゲーム内の台詞や選択肢に使われるフォント。"
|
||||
|
||||
# gui.rpy:61
|
||||
old "## The font used for character names."
|
||||
new "## キャラクターの名前に使われるフォント。"
|
||||
|
||||
# gui.rpy:64
|
||||
old "## The font used for out-of-game text."
|
||||
new "## ゲームメニューなどのインターフェースに使われるテキストのフォント。"
|
||||
|
||||
# gui.rpy:67
|
||||
old "## The size of normal dialogue text."
|
||||
new "## 一般的な台詞のテキストサイズ。"
|
||||
|
||||
# gui.rpy:70
|
||||
old "## The size of character names."
|
||||
new "## キャラクターの名前のテキストサイズ。"
|
||||
|
||||
# gui.rpy:73
|
||||
old "## The size of text in the game's user interface."
|
||||
new "## インターフェースのテキストサイズ。"
|
||||
|
||||
# gui.rpy:76
|
||||
old "## The size of labels in the game's user interface."
|
||||
new "## インターフェースのラベル(見出し)のテキストサイズ。"
|
||||
|
||||
# gui.rpy:79
|
||||
old "## The size of text on the notify screen."
|
||||
new "## notify(通知)スクリーンのテキストサイズ。"
|
||||
|
||||
# gui.rpy:82
|
||||
old "## The size of the game's title."
|
||||
new "## ゲームタイトルのテキストサイズ。"
|
||||
|
||||
# gui.rpy:86
|
||||
old "## Main and Game Menus"
|
||||
new "## メインメニューとゲームメニュー"
|
||||
|
||||
# gui.rpy:88
|
||||
old "## The images used for the main and game menus."
|
||||
new "## メインメニューとゲームメニューの背景画像。メインメニューはゲーム起動時に最初に表示されるメニュー、ゲームメニューはゲーム中右クリックで呼び出せるメニューです。画像を変えたい場合は gui ディレクトリーにある該当の画像を入れ替えてください。"
|
||||
|
||||
# gui.rpy:92
|
||||
old "## Should we show the name and version of the game?"
|
||||
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じ文を消去しないと反映されません)"
|
||||
|
||||
# gui.rpy:96
|
||||
old "## Dialogue"
|
||||
new "## ダイアローグ(台詞)"
|
||||
|
||||
# gui.rpy:98
|
||||
old "## These variables control how dialogue is displayed on the screen one line at a time."
|
||||
new "## 以下の変数は、一度に表示される台詞とキャラクターの名前を、どのようにスクリーンに表示するか制御します。"
|
||||
|
||||
# gui.rpy:101
|
||||
old "## The height of the textbox containing dialogue."
|
||||
new "## 台詞を表示するテキストボックスの高さ。テキストボックスの画像を変えたい場合は gui/textbox.png の画像を入れ替えます。"
|
||||
|
||||
# gui.rpy:104
|
||||
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
|
||||
new "## 画面に対する、テキストボックスの垂直方向の位置。 0.0 は上端、0.5 は中央、 1.0 は下端になります。"
|
||||
|
||||
# gui.rpy:109
|
||||
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## テキストボックスに対する、キャラクター名の位置。左上からのピクセル数で指定するか 0.0 から 1.0 までの小数で指定します。 0.5 は中央に表示。"
|
||||
|
||||
# gui.rpy:114
|
||||
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## キャラクター名の文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。0.0 以外にした場合、キャラクター名の位置の調整も必要になります。"
|
||||
|
||||
# gui.rpy:118
|
||||
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
|
||||
new "## キャラクター名を表示するネームボックスのサイズ。None にすると、自動的に決定されます。画像を変えたい場合は gui/textbox.png の画像を入れ替えます(デフォルト画像は透明なので表示されません)。"
|
||||
|
||||
# gui.rpy:123
|
||||
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## ネームボックスのボーダーのサイズ。左、上、右、下の順で指定します。ボックスのサイズは、その中に表示されるキャラクター名のサイズから更にボーダー分拡張したサイズになります。"
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## True に設定すると、ネームボックスの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
new "## テキストボックスに対する、台詞の位置。左上からのピクセル数で指定するか 0.0 から 1.0 までの小数で指定します。 0.5 だと中央に表示。"
|
||||
|
||||
# gui.rpy:138
|
||||
old "## The maximum width of dialogue text, in pixels."
|
||||
new "## 台詞の最大ピクセル幅。このピクセル幅以上の台詞は折り返して表示されます。"
|
||||
|
||||
# gui.rpy:141
|
||||
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## 台詞の文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。0.0 以外にした場合、台詞の位置の調整も必要になります。"
|
||||
|
||||
# gui.rpy:146
|
||||
old "## Buttons"
|
||||
new "## ボタン"
|
||||
|
||||
# gui.rpy:148
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## 以下の変数は、ボタンをどのように表示するか制御します。画像を変えたい場合は gui/button ディレクトリーにある各 background.png の画像を入れ替えます(デフォルト画像は透明なので表示されません)。ボタンの状態に合わせて画像を変えたい場合は、ファイル名に idle_、hover_、selected_、selected_hover_ の接頭辞を付けます。"
|
||||
|
||||
# gui.rpy:151
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## ボタンの縦幅と横幅。None にすると自動的に計算されます。"
|
||||
|
||||
# gui.rpy:155
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## ボタンのボーダーのサイズ。左、上、右、下の順で指定します。ボタンのサイズは、その中のテキストやオブジェクトのサイズから更にボーダー分拡張したサイズになります。"
|
||||
|
||||
# gui.rpy:158
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## True に設定すると、ボタンの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:162
|
||||
old "## The font used by the button."
|
||||
new "## ボタンのテキストに使用するフォント。"
|
||||
|
||||
# gui.rpy:165
|
||||
old "## The size of the text used by the button."
|
||||
new "## ボタンのテキストのサイズ。"
|
||||
|
||||
# gui.rpy:168
|
||||
old "## The color of button text in various states."
|
||||
new "## 状態別のボタンのテキストのカラー。idle は選択可能、hover はフォーカス中、selected は選択中、insensitive は選択不可能な状態です。"
|
||||
|
||||
# gui.rpy:174
|
||||
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
|
||||
new "## ボタンのフレームに対する、テキストの文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。"
|
||||
|
||||
# gui.rpy:179
|
||||
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## 以下の変数は、様々なボタンの種類ごとにボタンの基本設定を上書きします。詳細は gui ドキュメンテーションを参考にしてください。"
|
||||
|
||||
# gui.rpy:183
|
||||
old "## These customizations are used by the default interface:"
|
||||
new "## デフォルトのインターフェースには、radio、check、confirm、page、quick、navigation、choice、slot、test、help、nvl のボタンが用意されています。\
|
||||
radio と check は環境設定の各項目のボタン(デフォルトでは同じ画像)。confirm は確認画面の選択肢、page は セーブ・ロード画面のページ切り替え、quick はクイックメニュー、 navigation はゲームメニューのメニュー切り替えに使うボタンです。"
|
||||
|
||||
# gui.rpy:198
|
||||
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## 上記以外にも、接頭辞と接尾辞を適切に組み合わせた変数名を追加すれば、様々なカスタマイズが可能になります。例えば、次の行をアンコメントすると navigation(メニュー切り替え)ボタンの横幅を指定することができます。"
|
||||
|
||||
# gui.rpy:205
|
||||
old "## Choice Buttons"
|
||||
new "## Choice(選択)ボタン"
|
||||
|
||||
# gui.rpy:207
|
||||
old "## Choice buttons are used in the in-game menus."
|
||||
new "## Choice ボタンは、ゲーム内の選択肢に使うボタンです。"
|
||||
|
||||
# gui.rpy:220
|
||||
old "## File Slot Buttons"
|
||||
new "## File Slot(ファイルスロット)ボタン"
|
||||
|
||||
# gui.rpy:222
|
||||
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## File slot は特別なボタンで、セーブデータのサムネイル画像と詳細情報を含んでいます。他のボタンと同じように gui/button ディレクトリーにある slot_ の接頭辞が付いた背景画像を使います。"
|
||||
|
||||
# gui.rpy:226
|
||||
old "## The save slot button."
|
||||
new "## File slot ボタンの設定。"
|
||||
|
||||
# gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## File slot に使われるサムネイル画像の横幅と縦幅。"
|
||||
|
||||
# gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## 1ページあたりの File slot の列数(cols)と行数(rows)。"
|
||||
|
||||
# gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
new "## 配置と間隔"
|
||||
|
||||
# gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## 以下の変数は、インターフェースの様々な要素の位置と間隔を制御します。"
|
||||
|
||||
# gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## 画面左端からの navigation(メニュー切り替え)ボタンの位置。"
|
||||
|
||||
# gui.rpy:252
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## 画面上端からの skip indicator(スキップ表示)スクリーンの位置。"
|
||||
|
||||
# gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## 画面上端からの notify(通知)スクリーンの位置。"
|
||||
|
||||
# gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## ゲーム中の choice(選択)ボタンの間隔。"
|
||||
|
||||
# gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## メインメニューやゲームメニューの navigation(メニュー切り替え)ボタンの間隔。"
|
||||
|
||||
# gui.rpy:264
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## 環境設定の各項目の間隔。"
|
||||
|
||||
# gui.rpy:267
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## 環境設定の各項目にある、各ボタンの間隔。"
|
||||
|
||||
# gui.rpy:270
|
||||
old "## The spacing between file page buttons."
|
||||
new "## セーブ・ロード画面の file page(ページ切り替え)ボタンの間隔。"
|
||||
|
||||
# gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## セーブ・ロード画面の file slot(ファイルスロット)ボタン間隔。"
|
||||
|
||||
# gui.rpy:277
|
||||
old "## Frames"
|
||||
new "## フレーム"
|
||||
|
||||
# gui.rpy:279
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## 以下の変数は、インターフェースのコンポーネントを収納するフレームを制御します。フレームは、ウィンドウやオーバーレイが用意されていない場面で使われます。"
|
||||
|
||||
# gui.rpy:282
|
||||
old "## Generic frames that are introduced by player code."
|
||||
new "## 一般的なフレーム。デフォルトのインターフェースでは使われず、開発者の書いたコードでのみ使用します。画像は gui/frame.png。"
|
||||
|
||||
# gui.rpy:285
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## confirm(確認)スクリーンに使用するフレーム。画像は gui/overlay/confirm.png。"
|
||||
|
||||
# gui.rpy:288
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## skip indicator(スキップ表示)スクリーンに使用するフレーム。画像は gui/skip.png。"
|
||||
|
||||
# gui.rpy:291
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## notify(通知)スクリーンに使用するフレーム。画像は gui/notify.png。"
|
||||
|
||||
# gui.rpy:294
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## True に設定すると、フレームの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:298
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## バー・スクロールバー・スライダー"
|
||||
|
||||
# gui.rpy:300
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## 以下の変数は、バー・スライダー・スクロールバーの外見を制御します。"
|
||||
|
||||
# gui.rpy:302
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
|
||||
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したコードでのみ使われます。"
|
||||
|
||||
# gui.rpy:305
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## バー・スクロールバー・スライダーの各々の太さ(水平バーでは縦幅、垂直バーでは横幅)。"
|
||||
|
||||
# gui.rpy:311
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## True に設定すると、バーの背景をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:316
|
||||
old "## Horizontal borders."
|
||||
new "## 水平バーのボーダー。画像はそれぞれ、 gui/bar/left.png 及び right.png、gui/slider/horizontal_**.png、gui/scrollbar/horizontal_**.png。"
|
||||
|
||||
# gui.rpy:321
|
||||
old "## Vertical borders."
|
||||
new "## 垂直バーのボーダー。画像はそれぞれ、gui/bar/bottom.png 及び top.png、gui/slider/vertical_**.png、gui/scrollbar/vartical_**.png。"
|
||||
|
||||
# gui.rpy:326
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## スクロール不可能なスクロールバーをどう扱うか。 \"hide\" なら非表示、None なら表示します。"
|
||||
|
||||
# gui.rpy:331
|
||||
old "## History"
|
||||
new "## ヒストリー"
|
||||
|
||||
# gui.rpy:333
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## History(履歴)スクリーンは、プレイヤーが見終わった台詞を表示します。"
|
||||
|
||||
# gui.rpy:335
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## ヒストリーのエントリー(1台詞)を最大いくつまで保持するか。"
|
||||
|
||||
# gui.rpy:338
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## History スクリーンにおける、エントリーの高さ。None にすると可変になりますが、パフォーマンスが低下します。"
|
||||
|
||||
# gui.rpy:342
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## キャラクター名の縦座標・横座標・横幅・文字揃え。"
|
||||
|
||||
# gui.rpy:349
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## 台詞の縦座標・横座標・横幅・文字揃え。"
|
||||
|
||||
# gui.rpy:356
|
||||
old "## NVL-Mode"
|
||||
new "## NVL モード"
|
||||
|
||||
# gui.rpy:358
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## NVL(ノベル)スクリーンは、 NVL モード(全画面方式)のキャラクターの台詞を表示するスクリーンです。"
|
||||
|
||||
# gui.rpy:360
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## NVL モードに使用する背景のボーダー。画像は gui/nvl.png。"
|
||||
|
||||
# gui.rpy:363
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## NVL モードにおける、エントリー(1台詞)の高さ。None にすると可変になります。"
|
||||
|
||||
# gui.rpy:367
|
||||
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## NVL モードにおいて、gui.nvl_height を None に設定した場合の各エントリーの間隔。また、台詞と選択肢との間隔にも使われます。"
|
||||
|
||||
# gui.rpy:384
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## nvl_thought(モノローグ)の縦座標・横座標・横幅・文字揃え。"
|
||||
|
||||
# gui.rpy:391
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## NVL モードにおける、選択肢の横座標と文字揃え。"
|
||||
|
||||
# gui.rpy:398
|
||||
old "## Mobile devices"
|
||||
new "## モバイルデバイス"
|
||||
|
||||
# gui.rpy:403
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## タブレットやスマートフォンでタッチしやすいように、 quick ボタンのサイズを大きくします。"
|
||||
|
||||
# gui.rpy:409
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## スマートフォンで見やすいように、GUI の各要素のサイズと間隔を変更します。"
|
||||
|
||||
# gui.rpy:413
|
||||
old "## Font sizes."
|
||||
new "## フォントサイズ。"
|
||||
|
||||
# gui.rpy:421
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## テキストボックスの位置を調整。"
|
||||
|
||||
# gui.rpy:427
|
||||
old "## Change the size and spacing of items in the game menu."
|
||||
new "## ゲームメニューの各項目のサイズと間隔を変更。"
|
||||
|
||||
# gui.rpy:436
|
||||
old "## File button layout."
|
||||
new "## ファイルスロットの配置。"
|
||||
|
||||
# gui.rpy:440
|
||||
old "## NVL-mode."
|
||||
new "## NVL モード。"
|
||||
|
||||
# gui.rpy:456
|
||||
old "## Quick buttons."
|
||||
new "## Quick ボタン。"
|
||||
|
||||
# gui.rpy:395
|
||||
old "## Localization"
|
||||
new "## 多言語対応"
|
||||
|
||||
# gui.rpy:397
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## 次の変数は改行・禁則処理を制御します。デフォルトの値が推奨です。他の値は https://www.renpy.org/doc/html/style_properties.html#style-property-language を参照してください。"
|
||||
|
||||
# gui.rpy:276
|
||||
old "## The position of the main menu text."
|
||||
new "## メインメニューのテキストの文字揃え。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# gui.rpy:434
|
||||
old "## Change the size and spacing of various things."
|
||||
new "## 様々なサイズとスペーシングを変更。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# gui.rpy:5
|
||||
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
|
||||
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset ステートメントにより、このファイルの init 文は他のファイルの init 文よりも先に実行されます。"
|
||||
|
||||
# gui.rpy:282
|
||||
old "## Generic frames."
|
||||
new "## 一般的なフレーム。デフォルトのインターフェースでは未使用です。画像は gui/frame.png。"
|
||||
|
||||
# gui.rpy:302
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したスクリーンでのみ使われます。"
|
||||
|
||||
# gui.rpy:363
|
||||
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# gui.rpy:2
|
||||
old "## Initialization"
|
||||
new "## 初期化"
|
||||
|
||||
# gui.rpy:5
|
||||
old "## The init offset statement causes the init code in this file to run before init code in any other file."
|
||||
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset ステートメントは、このファイルの init コードを他のファイルよりも先に実行しています。"
|
||||
|
||||
# gui.rpy:9
|
||||
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## まず最初に gui.init を実行して、スタイルを扱いやすい初期値にリセットし、ゲームの横幅と縦幅を設定します。"
|
||||
|
||||
# gui.rpy:17
|
||||
old "## GUI Configuration Variables"
|
||||
new "## GUI 設定変数"
|
||||
|
||||
# gui.rpy:21
|
||||
old "## Colors"
|
||||
new "## カラー"
|
||||
|
||||
# gui.rpy:23
|
||||
old "## The colors of text in the interface."
|
||||
new "## インターフェースのテキストのカラー。"
|
||||
|
||||
# gui.rpy:25
|
||||
old "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## アクセントカラー。タイトル・ラベル・ハイライトされたテキスト・ボタンの背景・スライダーのつまみ等、インターフェイスの様々な場所で使います。"
|
||||
|
||||
# gui.rpy:29
|
||||
old "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## selected(選択中)でも hover(フォーカス中)でもない状態のテキストボタンのカラー。"
|
||||
|
||||
# gui.rpy:32
|
||||
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
new "## スモールカラー。クイックメニューなどの、明るさを調節する必要のある小さなテキストボタンに使います。"
|
||||
|
||||
# gui.rpy:36
|
||||
old "## The color that is used for buttons and bars that are hovered."
|
||||
new "## hover(フォーカス中)のテキストボタンのカラー。また、バーの充足部分(左側)やスライダーのつまみ等の画像を再生成するときにも使われます。"
|
||||
|
||||
# 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 "## selected(選択中)のテキストボタンのカラー。ボタンが現在のスクリーンであったり、環境設定の値と一致したりすると、ボタンは選択中になります。"
|
||||
|
||||
# gui.rpy:43
|
||||
old "## The color used for a text button when it cannot be selected."
|
||||
new "## insensitive (選択不可能)なテキストボタンのカラー。"
|
||||
|
||||
# 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 "## バーの非充足部分(右側)やスライダーの背景部分のカラー。バーやスライダーのカラーは直接使われず、 GUI を変更・更新した場合の画像生成に使われます。"
|
||||
|
||||
# gui.rpy:51
|
||||
old "## The colors used for dialogue and menu choice text."
|
||||
new "## text_color は台詞や選択肢のテキストのカラーです。interface_text_color はヒストリーやヘルプなどそれ以外のテキストのカラーです。"
|
||||
|
||||
# gui.rpy:56
|
||||
old "## Fonts and Font Sizes"
|
||||
new "## フォントとフォントサイズ"
|
||||
|
||||
# gui.rpy:58
|
||||
old "## The font used for in-game text."
|
||||
new "## ゲーム内の台詞や選択肢に使われるフォント。"
|
||||
|
||||
# gui.rpy:61
|
||||
old "## The font used for character names."
|
||||
new "## キャラクターの名前に使われるフォント。"
|
||||
|
||||
# gui.rpy:64
|
||||
old "## The font used for out-of-game text."
|
||||
new "## ゲームメニューなどのインターフェースに使われるテキストのフォント。"
|
||||
|
||||
# gui.rpy:67
|
||||
old "## The size of normal dialogue text."
|
||||
new "## 一般的な台詞のテキストサイズ。"
|
||||
|
||||
# gui.rpy:70
|
||||
old "## The size of character names."
|
||||
new "## キャラクターの名前のテキストサイズ。"
|
||||
|
||||
# gui.rpy:73
|
||||
old "## The size of text in the game's user interface."
|
||||
new "## インターフェースのテキストサイズ。"
|
||||
|
||||
# gui.rpy:76
|
||||
old "## The size of labels in the game's user interface."
|
||||
new "## インターフェースのラベル(見出し)のテキストサイズ。"
|
||||
|
||||
# gui.rpy:79
|
||||
old "## The size of text on the notify screen."
|
||||
new "## notify(通知)スクリーンのテキストサイズ。"
|
||||
|
||||
# gui.rpy:82
|
||||
old "## The size of the game's title."
|
||||
new "## ゲームタイトルのテキストサイズ。"
|
||||
|
||||
# gui.rpy:86
|
||||
old "## Main and Game Menus"
|
||||
new "## メインメニューとゲームメニュー"
|
||||
|
||||
# gui.rpy:88
|
||||
old "## The images used for the main and game menus."
|
||||
new "## メインメニューとゲームメニューの背景画像。メインメニューはゲーム起動時に最初に表示されるメニュー、ゲームメニューはゲーム中右クリックで呼び出せるメニューです。画像を変えたい場合は gui ディレクトリーにある該当の画像を入れ替えてください。"
|
||||
|
||||
# gui.rpy:92
|
||||
old "## Should we show the name and version of the game?"
|
||||
new "## メインメニューにゲームタイトルとそのバージョンを表示するかどうか。True なら表示します。(この変数は options.rpy で再定義されるため、options.rpy の同じ文を消去しないと反映されません)"
|
||||
|
||||
# gui.rpy:96
|
||||
old "## Dialogue"
|
||||
new "## ダイアローグ(台詞)"
|
||||
|
||||
# gui.rpy:98
|
||||
old "## These variables control how dialogue is displayed on the screen one line at a time."
|
||||
new "## 以下の変数は、一度に表示される台詞とキャラクターの名前を、どのようにスクリーンに表示するか制御します。"
|
||||
|
||||
# gui.rpy:101
|
||||
old "## The height of the textbox containing dialogue."
|
||||
new "## 台詞を表示するテキストボックスの高さ。テキストボックスの画像を変えたい場合は gui/textbox.png の画像を入れ替えます。"
|
||||
|
||||
# gui.rpy:104
|
||||
old "## The placement of the textbox vertically on the screen. 0.0 is the top, 0.5 is center, and 1.0 is the bottom."
|
||||
new "## 画面に対する、テキストボックスの垂直方向の位置。 0.0 は上端、0.5 は中央、 1.0 は下端になります。"
|
||||
|
||||
# gui.rpy:109
|
||||
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## テキストボックスに対する、キャラクター名の位置。左上からのピクセル数で指定するか 0.0 から 1.0 までの小数で指定します。 0.5 は中央に表示。"
|
||||
|
||||
# gui.rpy:114
|
||||
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## キャラクター名の文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。0.0 以外にした場合、キャラクター名の位置の調整も必要になります。"
|
||||
|
||||
# gui.rpy:118
|
||||
old "## The width, height, and borders of the box containing the character's name, or None to automatically size it."
|
||||
new "## キャラクター名を表示するネームボックスのサイズ。None にすると、自動的に決定されます。画像を変えたい場合は gui/textbox.png の画像を入れ替えます(デフォルト画像は透明なので表示されません)。"
|
||||
|
||||
# gui.rpy:123
|
||||
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## ネームボックスのボーダーのサイズ。左、上、右、下の順で指定します。ボックスのサイズは、その中に表示されるキャラクター名のサイズから更にボーダー分拡張したサイズになります。"
|
||||
|
||||
# gui.rpy:127
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## True に設定すると、ネームボックスの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:132
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
new "## テキストボックスに対する、台詞の位置。左上からのピクセル数で指定するか 0.0 から 1.0 までの小数で指定します。 0.5 だと中央に表示。"
|
||||
|
||||
# gui.rpy:138
|
||||
old "## The maximum width of dialogue text, in pixels."
|
||||
new "## 台詞の最大ピクセル幅。このピクセル幅以上の台詞は折り返して表示されます。"
|
||||
|
||||
# gui.rpy:141
|
||||
old "## The horizontal alignment of the dialogue text. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
new "## 台詞の文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。0.0 以外にした場合、台詞の位置の調整も必要になります。"
|
||||
|
||||
# gui.rpy:146
|
||||
old "## Buttons"
|
||||
new "## ボタン"
|
||||
|
||||
# gui.rpy:148
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## 以下の変数は、ボタンをどのように表示するか制御します。画像を変えたい場合は gui/button ディレクトリーにある各 background.png の画像を入れ替えます(デフォルト画像は透明なので表示されません)。ボタンの状態に合わせて画像を変えたい場合は、ファイル名に idle_、hover_、selected_、selected_hover_ の接頭辞を付けます。"
|
||||
|
||||
# gui.rpy:151
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## ボタンの縦幅と横幅。None にすると自動的に計算されます。"
|
||||
|
||||
# gui.rpy:155
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## ボタンのボーダーのサイズ。左、上、右、下の順で指定します。ボタンのサイズは、その中のテキストやオブジェクトのサイズから更にボーダー分拡張したサイズになります。"
|
||||
|
||||
# gui.rpy:158
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## True に設定すると、ボタンの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:162
|
||||
old "## The font used by the button."
|
||||
new "## ボタンのテキストに使用するフォント。"
|
||||
|
||||
# gui.rpy:165
|
||||
old "## The size of the text used by the button."
|
||||
new "## ボタンのテキストのサイズ。"
|
||||
|
||||
# gui.rpy:168
|
||||
old "## The color of button text in various states."
|
||||
new "## 状態別のボタンのテキストのカラー。idle は選択可能、hover はフォーカス中、selected は選択中、insensitive は選択不可能な状態です。"
|
||||
|
||||
# gui.rpy:174
|
||||
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
|
||||
new "## ボタンのフレームに対する、テキストの文字揃え。 0.0 は左揃え、0.5 は中央揃え、 1.0 は右揃えになります。"
|
||||
|
||||
# gui.rpy:179
|
||||
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## 以下の変数は、様々なボタンの種類ごとにボタンの基本設定を上書きします。詳細は gui ドキュメンテーションを参考にしてください。"
|
||||
|
||||
# gui.rpy:183
|
||||
old "## These customizations are used by the default interface:"
|
||||
new "## デフォルトのインターフェースには、radio、check、confirm、page、quick、navigation、choice、slot、test、help、nvl のボタンが用意されています。\
|
||||
radio と check は環境設定の各項目のボタン(デフォルトでは同じ画像)。confirm は確認画面の選択肢、page は セーブ・ロード画面のページ切り替え、quick はクイックメニュー、 navigation はゲームメニューのメニュー切り替えに使うボタンです。"
|
||||
|
||||
# gui.rpy:198
|
||||
old "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## 上記以外にも、接頭辞と接尾辞を適切に組み合わせた変数名を追加すれば、様々なカスタマイズが可能になります。例えば、次の行をアンコメントすると navigation(メニュー切り替え)ボタンの横幅を指定することができます。"
|
||||
|
||||
# gui.rpy:205
|
||||
old "## Choice Buttons"
|
||||
new "## Choice(選択)ボタン"
|
||||
|
||||
# gui.rpy:207
|
||||
old "## Choice buttons are used in the in-game menus."
|
||||
new "## Choice ボタンは、ゲーム内の選択肢に使うボタンです。"
|
||||
|
||||
# gui.rpy:220
|
||||
old "## File Slot Buttons"
|
||||
new "## File Slot(ファイルスロット)ボタン"
|
||||
|
||||
# gui.rpy:222
|
||||
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## File slot は特別なボタンで、セーブデータのサムネイル画像と詳細情報を含んでいます。他のボタンと同じように gui/button ディレクトリーにある slot_ の接頭辞が付いた背景画像を使います。"
|
||||
|
||||
# gui.rpy:226
|
||||
old "## The save slot button."
|
||||
new "## File slot ボタンの設定。"
|
||||
|
||||
# gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## File slot に使われるサムネイル画像の横幅と縦幅。"
|
||||
|
||||
# gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## 1ページあたりの File slot の列数(cols)と行数(rows)。"
|
||||
|
||||
# gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
new "## 配置と間隔"
|
||||
|
||||
# gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## 以下の変数は、インターフェースの様々な要素の位置と間隔を制御します。"
|
||||
|
||||
# gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## 画面左端からの navigation(メニュー切り替え)ボタンの位置。"
|
||||
|
||||
# gui.rpy:252
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## 画面上端からの skip indicator(スキップ表示)スクリーンの位置。"
|
||||
|
||||
# gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## 画面上端からの notify(通知)スクリーンの位置。"
|
||||
|
||||
# gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## ゲーム中の choice(選択)ボタンの間隔。"
|
||||
|
||||
# gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## メインメニューやゲームメニューの navigation(メニュー切り替え)ボタンの間隔。"
|
||||
|
||||
# gui.rpy:264
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## 環境設定の各項目の間隔。"
|
||||
|
||||
# gui.rpy:267
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## 環境設定の各項目にある、各ボタンの間隔。"
|
||||
|
||||
# gui.rpy:270
|
||||
old "## The spacing between file page buttons."
|
||||
new "## セーブ・ロード画面の file page(ページ切り替え)ボタンの間隔。"
|
||||
|
||||
# gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## セーブ・ロード画面の file slot(ファイルスロット)ボタン間隔。"
|
||||
|
||||
# gui.rpy:277
|
||||
old "## Frames"
|
||||
new "## フレーム"
|
||||
|
||||
# gui.rpy:279
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## 以下の変数は、インターフェースのコンポーネントを収納するフレームを制御します。フレームは、ウィンドウやオーバーレイが用意されていない場面で使われます。"
|
||||
|
||||
# gui.rpy:282
|
||||
old "## Generic frames that are introduced by player code."
|
||||
new "## 一般的なフレーム。デフォルトのインターフェースでは使われず、開発者の書いたコードでのみ使用します。画像は gui/frame.png。"
|
||||
|
||||
# gui.rpy:285
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## confirm(確認)スクリーンに使用するフレーム。画像は gui/overlay/confirm.png。"
|
||||
|
||||
# gui.rpy:288
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## skip indicator(スキップ表示)スクリーンに使用するフレーム。画像は gui/skip.png。"
|
||||
|
||||
# gui.rpy:291
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## notify(通知)スクリーンに使用するフレーム。画像は gui/notify.png。"
|
||||
|
||||
# gui.rpy:294
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## True に設定すると、フレームの背景画像をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:298
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## バー・スクロールバー・スライダー"
|
||||
|
||||
# gui.rpy:300
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## 以下の変数は、バー・スライダー・スクロールバーの外見を制御します。"
|
||||
|
||||
# gui.rpy:302
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written code."
|
||||
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したコードでのみ使われます。"
|
||||
|
||||
# gui.rpy:305
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## バー・スクロールバー・スライダーの各々の太さ(水平バーでは縦幅、垂直バーでは横幅)。"
|
||||
|
||||
# gui.rpy:311
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## True に設定すると、バーの背景をスケーリングではなくタイリングで表示します。"
|
||||
|
||||
# gui.rpy:316
|
||||
old "## Horizontal borders."
|
||||
new "## 水平バーのボーダー。画像はそれぞれ、 gui/bar/left.png 及び right.png、gui/slider/horizontal_**.png、gui/scrollbar/horizontal_**.png。"
|
||||
|
||||
# gui.rpy:321
|
||||
old "## Vertical borders."
|
||||
new "## 垂直バーのボーダー。画像はそれぞれ、gui/bar/bottom.png 及び top.png、gui/slider/vertical_**.png、gui/scrollbar/vartical_**.png。"
|
||||
|
||||
# gui.rpy:326
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## スクロール不可能なスクロールバーをどう扱うか。 \"hide\" なら非表示、None なら表示します。"
|
||||
|
||||
# gui.rpy:331
|
||||
old "## History"
|
||||
new "## ヒストリー"
|
||||
|
||||
# gui.rpy:333
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## History(履歴)スクリーンは、プレイヤーが見終わった台詞を表示します。"
|
||||
|
||||
# gui.rpy:335
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## ヒストリーのエントリー(1台詞)を最大いくつまで保持するか。"
|
||||
|
||||
# gui.rpy:338
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## History スクリーンにおける、エントリーの高さ。None にすると可変になりますが、パフォーマンスが低下します。"
|
||||
|
||||
# gui.rpy:342
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## キャラクター名の縦座標・横座標・横幅・文字揃え。"
|
||||
|
||||
# gui.rpy:349
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## 台詞の縦座標・横座標・横幅・文字揃え。"
|
||||
|
||||
# gui.rpy:356
|
||||
old "## NVL-Mode"
|
||||
new "## NVL モード"
|
||||
|
||||
# gui.rpy:358
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## NVL(ノベル)スクリーンは、 NVL モード(全画面方式)のキャラクターの台詞を表示するスクリーンです。"
|
||||
|
||||
# gui.rpy:360
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## NVL モードに使用する背景のボーダー。画像は gui/nvl.png。"
|
||||
|
||||
# gui.rpy:363
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## NVL モードにおける、エントリー(1台詞)の高さ。None にすると可変になります。"
|
||||
|
||||
# gui.rpy:367
|
||||
old "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## NVL モードにおいて、gui.nvl_height を None に設定した場合の各エントリーの間隔。また、台詞と選択肢との間隔にも使われます。"
|
||||
|
||||
# gui.rpy:384
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## nvl_thought(モノローグ)の縦座標・横座標・横幅・文字揃え。"
|
||||
|
||||
# gui.rpy:391
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## NVL モードにおける、選択肢の横座標と文字揃え。"
|
||||
|
||||
# gui.rpy:398
|
||||
old "## Mobile devices"
|
||||
new "## モバイルデバイス"
|
||||
|
||||
# gui.rpy:403
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## タブレットやスマートフォンでタッチしやすいように、 quick ボタンのサイズを大きくします。"
|
||||
|
||||
# gui.rpy:409
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## スマートフォンで見やすいように、GUI の各要素のサイズと間隔を変更します。"
|
||||
|
||||
# gui.rpy:413
|
||||
old "## Font sizes."
|
||||
new "## フォントサイズ。"
|
||||
|
||||
# gui.rpy:421
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## テキストボックスの位置を調整。"
|
||||
|
||||
# gui.rpy:427
|
||||
old "## Change the size and spacing of items in the game menu."
|
||||
new "## ゲームメニューの各項目のサイズと間隔を変更。"
|
||||
|
||||
# gui.rpy:436
|
||||
old "## File button layout."
|
||||
new "## ファイルスロットの配置。"
|
||||
|
||||
# gui.rpy:440
|
||||
old "## NVL-mode."
|
||||
new "## NVL モード。"
|
||||
|
||||
# gui.rpy:456
|
||||
old "## Quick buttons."
|
||||
new "## Quick ボタン。"
|
||||
|
||||
# gui.rpy:395
|
||||
old "## Localization"
|
||||
new "## 多言語対応"
|
||||
|
||||
# gui.rpy:397
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## 次の変数は改行・禁則処理を制御します。デフォルトの値が推奨です。他の値は https://www.renpy.org/doc/html/style_properties.html#style-property-language を参照してください。"
|
||||
|
||||
# gui.rpy:276
|
||||
old "## The position of the main menu text."
|
||||
new "## メインメニューのテキストの文字揃え。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# gui.rpy:434
|
||||
old "## Change the size and spacing of various things."
|
||||
new "## 様々なサイズとスペーシングを変更。"
|
||||
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# gui.rpy:5
|
||||
old "## The init offset statement causes the initialization statements in this file to run before init statements in any other file."
|
||||
new "## このファイルは GUI をカスタマイズする基本的なオプションを記載しています。次の init offset ステートメントにより、このファイルの init 文は他のファイルの init 文よりも先に実行されます。"
|
||||
|
||||
# gui.rpy:282
|
||||
old "## Generic frames."
|
||||
new "## 一般的なフレーム。デフォルトのインターフェースでは未使用です。画像は gui/frame.png。"
|
||||
|
||||
# gui.rpy:302
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## デフォルトの GUI はスライダーと垂直スクロールバーだけを使用します。他のバーは開発者が追加したスクリーンでのみ使われます。"
|
||||
|
||||
# gui.rpy:363
|
||||
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
new "## NVL モードにおける、一度に表示されるエントリー(1台詞)の最大数。この値以上のエントリーを表示しようとすると、一番古いエントリーが取り除かれます。"
|
||||
|
||||
|
||||
@@ -1011,7 +1011,7 @@ translate japanese strings:
|
||||
|
||||
# translations.rpy:170
|
||||
old "Merge String Translations"
|
||||
new "文字列の翻訳を併合"
|
||||
new "文字列の翻訳を統合"
|
||||
|
||||
# translations.rpy:175
|
||||
old "Replace existing translations"
|
||||
@@ -1027,7 +1027,7 @@ translate japanese strings:
|
||||
|
||||
# translations.rpy:200
|
||||
old "The extract command allows you to extract string translations from an existing project into a temporary file.\n\nThe merge command merges extracted translations into another project."
|
||||
new "抽出コマンドは、既存のプロジェクトから文字列の翻訳(台詞以外の翻訳)を一時ファイルとして抽出します。\n\n併合コマンドは、抽出した翻訳を他のプロジェクトに併合します。"
|
||||
new "抽出コマンドは、このプロジェクトから文字列の翻訳(台詞以外の翻訳)を一時ファイルとして抽出します。\n\n統合コマンドは、抽出した翻訳をこのプロジェクトに統合します。"
|
||||
|
||||
# translations.rpy:224
|
||||
old "Ren'Py is generating translations...."
|
||||
@@ -1047,11 +1047,11 @@ translate japanese strings:
|
||||
|
||||
# translations.rpy:271
|
||||
old "Ren'Py is merging string translations..."
|
||||
new "Ren'Py は文字列の翻訳を併合しています…"
|
||||
new "Ren'Py は文字列の翻訳を統合しています…"
|
||||
|
||||
# translations.rpy:274
|
||||
old "Ren'Py has finished merging [language] string translations."
|
||||
new "Ren'Py は [language] の文字列の翻訳を併合しました。"
|
||||
new "Ren'Py は [language] の文字列の翻訳を統合しました。"
|
||||
|
||||
# translations.rpy:282
|
||||
old "Updating default interface translations..."
|
||||
@@ -1582,7 +1582,7 @@ translate japanese strings:
|
||||
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?"
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "android.keystore ファイルを作成します。\n\nこのファイルはバックアップしてください。もし失くした場合はアプリをアップグレードすることが出来なくなります。\n\nまた、このファイルは安全な場所に保管してください。このファイルが悪意のある人間の手に渡ると、アプリのフェイクバージョンを作られたり、ユーザーデータを盗まれる恐れがあります。\n\nandroid.keystore のバックアップを作成し、安全な場所に保存しますか?"
|
||||
|
||||
# game/androidstrings.rpy:68
|
||||
@@ -1613,6 +1613,10 @@ translate japanese strings:
|
||||
old "(Beta)"
|
||||
new "(Beta)"
|
||||
|
||||
# game/front_page.rpy:198
|
||||
old "audio"
|
||||
new "audio"
|
||||
|
||||
# game/gui7.rpy:429
|
||||
old "creating a new project"
|
||||
new "新しいプロジェクトを作成しています。"
|
||||
@@ -1697,3 +1701,55 @@ translate japanese strings:
|
||||
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 をダウンロードしますか?"
|
||||
|
||||
# TODO: Translation updated at 2020-11-03 09:43
|
||||
|
||||
translate japanese strings:
|
||||
|
||||
# game/androidstrings.rpy:47
|
||||
old "Do you want to automatically update the Java source code?"
|
||||
new "Javaのソースコードを自動的に更新したいですか?"
|
||||
|
||||
# game/choose_directory.rpy:93
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python3-tk or tkinter package."
|
||||
new "Ren'Pyはpythonでtkinterkを実行してディレクトリを選択できません。python3-tkまたはtkinterパッケージをインストールしてください。"
|
||||
|
||||
# game/install.rpy:33
|
||||
old "Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."
|
||||
new "Ren'Py SDKディレクトリに[zipglob]にマッチするファイルが見つからなかったため、[name!t]をインストールできませんでした。"
|
||||
|
||||
# game/install.rpy:76
|
||||
old "Successfully installed [name!t]."
|
||||
new "[name!t]のインストールに成功しました。"
|
||||
|
||||
# game/install.rpy:104
|
||||
old "Install Libraries"
|
||||
new "ライブラリのインストール"
|
||||
|
||||
# game/install.rpy:119
|
||||
old "This screen allows you to install libraries that can't be distributed with Ren'Py. Some of these libraries may require you to agree to a third-party license before being used or distributed."
|
||||
new "この画面ではRen'pyと共に配布できないライブラリをダウンロードします。これらのライブラリの一部は使用や配布前にサードパーティーのライセンスに同意が必要です。"
|
||||
|
||||
# game/install.rpy:134
|
||||
old "The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc."
|
||||
new "{a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Custom SDK for Native {/a}はLive2Dモデルの表示サポートを追加します。Ren'Py SDK ディレクトリにCubismSdkForNative-4-{i}version{/i}.zipを置き、クリックしてインストールしてください。Live2Dと共にゲームを配布するには Live2D Inc.のライセンスに同意が必要です。"
|
||||
|
||||
# game/install.rpy:138
|
||||
old "Open Ren'Py SDK Directory"
|
||||
new "Ren'Py SDKディレクトリを開く"
|
||||
|
||||
# game/preferences.rpy:138
|
||||
old "Install libraries"
|
||||
new "ライブラリのインストール"
|
||||
|
||||
# game/preferences.rpy:140
|
||||
old "Reset window size"
|
||||
new "ウィンドウサイズリセット"
|
||||
|
||||
# game/web.rpy:242
|
||||
old "Preparing progressive download"
|
||||
new "プログレッシブダウンロードの準備"
|
||||
|
||||
# game/web.rpy:341
|
||||
old "Images and musics can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior."
|
||||
new "画像と音声がプレイ中にダウンロード可能です。 'progressive_download.txt' ファイルが作成されるのでこれを編集して振舞を設定できます。"
|
||||
|
||||
|
||||
@@ -694,3 +694,7 @@ translate japanese strings:
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
|
||||
# gui/game/screens.rpy:333
|
||||
old "## The quit button is banned on iOS and unnecessary on Android and Web."
|
||||
new "## 終了ボタンはiOSでは使用できません。また、AndroidやWebでは必要ありません。"
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
init python:
|
||||
translate_font("japanese", "MTLc3m.ttf")
|
||||
translate_font("japanese", "SourceHanSansLite.ttf")
|
||||
translate_define("japanese", "gui.language", "'japanese-normal'")
|
||||
|
||||
translate japanese python:
|
||||
|
||||
@@ -173,14 +173,18 @@
|
||||
new "무시"
|
||||
|
||||
# _errorhandling.rpym:591
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "예외를 무시하고 게임을 계속합니다."
|
||||
|
||||
# _errorhandling.rpym:593
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "예외를 무시하고 게임을 계속합니다. 간혹 오류가 추가 발생할 수 있습니다."
|
||||
|
||||
# _errorhandling.rpym:593
|
||||
# _errorhandling.rpym:597
|
||||
old "Reload"
|
||||
new "다시 불러오기"
|
||||
|
||||
# _errorhandling.rpym:597
|
||||
# _errorhandling.rpym:599
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "현재 상태를 저장한 뒤 복원하여 게임을 디스크에서 다시 불러옵니다."
|
||||
|
||||
|
||||
@@ -30,11 +30,11 @@
|
||||
|
||||
# android.rpy:30
|
||||
old "To build Android packages, please download RAPT, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
|
||||
new "안드로이드 패키지를 만드려면, RAPT 파일을 내려받은 뒤에 렌파이 디렉토리에 압축 해제하세요. 그 다음 렌파이 런처를 재시작하세요."
|
||||
new "안드로이드 패키지를 만드려면, RAPT 파일을 내려받고 렌파이 디렉터리 안에 압축 해제하세요. 그다음 렌파이를 재시작하세요."
|
||||
|
||||
# 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비트 JDK가 필요합니다. JDK는 JRE와 다르므로 PC에 JDK가 없는 자바가 설치되어 있을 수 있습니다.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK를 내려받아 설치한 뒤{/a}, 렌파이 런처를 재시작해주세요."
|
||||
new "윈도우에서 안드로이드 패키지를 만드려면 64비트 JDK가 필요합니다. JDK는 JRE와 다르므로 PC에 JDK가 없는 자바가 설치되어 있을 수 있습니다.\n\n{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}JDK를 내려받아 설치한 뒤{/a}, 렌파이를 재시작해주세요."
|
||||
|
||||
# android.rpy:32
|
||||
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
|
||||
@@ -174,7 +174,7 @@
|
||||
|
||||
# androidstrings.rpy:7
|
||||
old "{} is not a directory."
|
||||
new "{}는 디렉토리가 아닙니다."
|
||||
new "{}는 디렉터리가 아닙니다."
|
||||
|
||||
# androidstrings.rpy:8
|
||||
old "{} does not contain a Ren'Py game."
|
||||
@@ -194,7 +194,7 @@
|
||||
|
||||
# androidstrings.rpy:12
|
||||
old "Creating assets directory."
|
||||
new "assets 디렉토리를 생성합니다."
|
||||
new "assets 디렉터리를 생성합니다."
|
||||
|
||||
# androidstrings.rpy:13
|
||||
old "Creating expansion file."
|
||||
@@ -413,8 +413,8 @@
|
||||
new "애플리케이션 서명 키를 만들 수 있습니다. 이 키를 사용하여 애플리케이션에 서명하면 안드로이드 상점 및 기타 앱 스토어에 배포할 수 있습니다.\n\n키를 만드시겠습니까?"
|
||||
|
||||
# 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또한 키를 안전한 곳에 보과해야 합니다."
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "android.keystore 파일에 키를 생성할 것입니다.\n\n애플리케이션의 업그레이드에 필요하기 때문에 파일을 반드시 백업하시기 바랍니다.\n\n또한 키는 안전한 곳에 보관해야 합니다.\n\nandroid.keystore를 백업하고 안전한 장소에 보관하시겠습니까?"
|
||||
|
||||
# androidstrings.rpy:68
|
||||
old "Please enter your name or the name of your organization."
|
||||
@@ -438,7 +438,7 @@
|
||||
|
||||
# choose_directory.rpy:104
|
||||
old "The selected projects directory is not writable."
|
||||
new "선택한 프로젝트 디렉토리에 쓸 수 없습니다."
|
||||
new "선택한 프로젝트 디렉터리에 쓸 수 없습니다."
|
||||
|
||||
# choose_theme.rpy:303
|
||||
old "Could not change the theme. Perhaps options.rpy was changed too much."
|
||||
@@ -446,7 +446,7 @@
|
||||
|
||||
# choose_theme.rpy:370
|
||||
old "Planetarium"
|
||||
new "Planetarium"
|
||||
new "천체망원경"
|
||||
|
||||
# choose_theme.rpy:425
|
||||
old "Choose Theme"
|
||||
@@ -530,7 +530,7 @@
|
||||
|
||||
# distribute_gui.rpy:176
|
||||
old "Directory Name:"
|
||||
new "디렉토리 이름:"
|
||||
new "디렉터리 이름:"
|
||||
|
||||
# distribute_gui.rpy:180
|
||||
old "Executable Name:"
|
||||
@@ -798,7 +798,7 @@
|
||||
|
||||
# gui7.rpy:311
|
||||
old "{b}Warning{/b}\nContinuing will overwrite customized bar, button, save slot, scrollbar, and slider images.\n\nWhat would you like to do?"
|
||||
new "{b}경고g{/b}\n계속하면 사용자 지정된 막대, 버튼, 저장 슬롯, 스크롤바, 그리고 슬라이더 이미지들을 덮어씌웁니다.\n\n무엇을 하고 싶으세요?"
|
||||
new "{b}경고{/b}\n계속하면 사용자 지정된 막대, 버튼, 저장 슬롯, 스크롤바, 그리고 슬라이더 이미지들을 덮어씌웁니다.\n\n무엇을 하고 싶으세요?"
|
||||
|
||||
# gui7.rpy:311
|
||||
old "Choose new colors, then regenerate image files."
|
||||
@@ -834,7 +834,7 @@
|
||||
|
||||
# gui7.rpy:358
|
||||
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
|
||||
new "사용자 정의. GUI는 종회비 16:9로 최적화되어 있습니다."
|
||||
new "사용자 정의. GUI는 종횡비 16:9로 최적화되어 있습니다."
|
||||
|
||||
# gui7.rpy:373
|
||||
old "WIDTH"
|
||||
@@ -898,7 +898,7 @@
|
||||
|
||||
# interface.rpy:258
|
||||
old "Due to package format limitations, non-ASCII file and directory names are not allowed."
|
||||
new "패키지 형식에 제한이 있으므로 ASCII가 아닌 문자가 입력된 파일 이름이나 디렉토리 이름은 사용할 수 없습니다."
|
||||
new "패키지 형식에 제한이 있으므로 ASCII가 아닌 문자가 입력된 파일 이름이나 디렉터리 이름은 사용할 수 없습니다."
|
||||
|
||||
# interface.rpy:354
|
||||
old "ERROR"
|
||||
@@ -910,11 +910,11 @@
|
||||
|
||||
# interface.rpy:405
|
||||
old "File and directory names may not contain / or \\."
|
||||
new "파일 및 디렉토리 이름에는 / 나 \\가 없어야 합니다."
|
||||
new "파일 및 디렉터리 이름에는 / 나 \\가 없어야 합니다."
|
||||
|
||||
# interface.rpy:411
|
||||
old "File and directory names must consist of ASCII characters."
|
||||
new "파일이나 디렉토리 이름은 ASCII 문자로 지어야 합니다."
|
||||
new "파일이나 디렉터리 이름은 ASCII 문자로 지어야 합니다."
|
||||
|
||||
# interface.rpy:479
|
||||
old "PROCESSING"
|
||||
@@ -930,7 +930,7 @@
|
||||
|
||||
# ios.rpy:28
|
||||
old "To build iOS packages, please download renios, unzip it, and place it into the Ren'Py directory. Then restart the Ren'Py launcher."
|
||||
new "iOS 배포판을 만드려면 renios 패키지를 다운받은 후, 렌'파이 디렉터리에 압축을 해제하세요. 그 다음, 렌'파이를 재시작하세요."
|
||||
new "iOS 배포판을 만드려면 renios 패키지를 다운받은 후, 렌파이 디렉터리 안에 압축을 해제하세요. 그다음, 렌파이를 재시작하세요."
|
||||
|
||||
# ios.rpy:29
|
||||
old "The directory in where Xcode projects will be placed has not been selected. Choose 'Select Directory' to select it."
|
||||
@@ -938,7 +938,7 @@
|
||||
|
||||
# ios.rpy:30
|
||||
old "There is no Xcode project corresponding to the current Ren'Py project. Choose 'Create Xcode Project' to create one."
|
||||
new "현재 렌'파이 프로젝트에 대응하는 Xcode 프로젝트가 없습니다. 'Xcode 프로젝트 만들기'를 눌러 프로젝트를 만드세요."
|
||||
new "현재 렌파이 프로젝트에 대응하는 Xcode 프로젝트가 없습니다. 'Xcode 프로젝트 만들기'를 눌러 프로젝트를 만드세요."
|
||||
|
||||
# ios.rpy:31
|
||||
old "An Xcode project exists. Choose 'Update Xcode Project' to update it with the latest game files, or use Xcode to build and install it."
|
||||
@@ -1022,7 +1022,7 @@
|
||||
|
||||
# ios.rpy:359
|
||||
old "Ren'Py has set the Xcode Projects Directory to:"
|
||||
new "렌'파이가 Xcode 프로젝트 경로를 다음과 같이 설정했습니다:"
|
||||
new "렌파이가 Xcode 프로젝트 경로를 다음과 같이 설정했습니다:"
|
||||
|
||||
# itch.rpy:60
|
||||
old "The built distributions could not be found. Please choose 'Build' and try again."
|
||||
@@ -1394,7 +1394,7 @@
|
||||
|
||||
# translations.rpy:414
|
||||
old "Ren'Py has finished extracting dialogue. The extracted dialogue can be found in dialogue.[persistent.dialogue_format] in the base directory."
|
||||
new "대사 추출을 완료했습니다. 추출된 대사는 기본 디렉토리의 dialogue.[persistent.dialogue_format]에서 찾을 수 있습니다."
|
||||
new "대사 추출을 완료했습니다. 추출된 대사는 기본 디렉터리의 dialogue.[persistent.dialogue_format]에서 찾을 수 있습니다."
|
||||
|
||||
# updater.rpy:63
|
||||
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
|
||||
@@ -1406,7 +1406,7 @@
|
||||
|
||||
# updater.rpy:66
|
||||
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
|
||||
new "렌파이의 다음 버전을 테스트하거나 새로운 기능을 미리 이용할 수 있으나 게임을 최종적으로 배포하기에는 적합하지 않은 선배포 버전. "
|
||||
new "렌파이의 다음 버전을 시험하거나 새로운 기능을 미리 이용할 수 있으나 게임을 최종적으로 배포하기에는 적합하지 않은 선배포 버전. "
|
||||
|
||||
# updater.rpy:68
|
||||
old "Experimental"
|
||||
@@ -1530,7 +1530,7 @@
|
||||
|
||||
# web.rpy:151
|
||||
old "Open build directory"
|
||||
new "빌드 디렉토리 열기"
|
||||
new "빌드 디렉터리 열기"
|
||||
|
||||
# web.rpy:154
|
||||
old "Support:"
|
||||
|
||||
@@ -210,7 +210,7 @@
|
||||
|
||||
# screens.rpy:558
|
||||
old "Version [config.version!t]\n"
|
||||
new "버젼 [config.version!t]\n"
|
||||
new "버전 [config.version!t]\n"
|
||||
|
||||
# screens.rpy:560
|
||||
old "## gui.about is usually set in options.rpy."
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
init python:
|
||||
translate_font("korean", "NanumGothic.ttf")
|
||||
translate_font("korean", "SourceHanSansLite.ttf")
|
||||
|
||||
translate korean python:
|
||||
gui.REGULAR_BOLD = True
|
||||
|
||||
@@ -73,31 +73,35 @@ translate piglatin strings:
|
||||
old "Reset"
|
||||
new "Esetray"
|
||||
|
||||
# renpy/common/00accessibility.rpy:157
|
||||
# renpy/common/00accessibility.rpy:158
|
||||
old "Line Spacing Scaling"
|
||||
new "Inelay Pacingsay Calingsay"
|
||||
|
||||
# renpy/common/00accessibility.rpy:169
|
||||
# renpy/common/00accessibility.rpy:171
|
||||
old "Self-Voicing"
|
||||
new "Elfsay-Oicingvay"
|
||||
|
||||
# renpy/common/00accessibility.rpy:173
|
||||
# renpy/common/00accessibility.rpy:175
|
||||
old "Off"
|
||||
new "Ffoay"
|
||||
|
||||
# renpy/common/00accessibility.rpy:177
|
||||
# renpy/common/00accessibility.rpy:179
|
||||
old "Text-to-speech"
|
||||
new "Exttay-otay-peechsay"
|
||||
|
||||
# renpy/common/00accessibility.rpy:181
|
||||
# renpy/common/00accessibility.rpy:183
|
||||
old "Clipboard"
|
||||
new "Lipboardcay"
|
||||
|
||||
# renpy/common/00accessibility.rpy:185
|
||||
# renpy/common/00accessibility.rpy:187
|
||||
old "Debug"
|
||||
new "Ebugday"
|
||||
|
||||
# renpy/common/00accessibility.rpy:191
|
||||
# renpy/common/00accessibility.rpy:193
|
||||
old "Self-Voicing Volume Drop"
|
||||
new "Elfsay-Oicingvay Olumevay Ropday"
|
||||
|
||||
# renpy/common/00accessibility.rpy:202
|
||||
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 "Hetay optionsay onay histay enumay areay intendeday otay improveay accessibilityay. Heytay aymay otnay orkway ithway allay amesgay, anday omesay ombinationscay ofay optionsay aymay enderray hetay amegay unplayableay. Histay isay otnay anay issueay ithway hetay amegay oray engineay. Orfay hetay estbay esultsray henway angingchay ontsfay, ytray otay eepkay hetay exttay izesay hetay amesay asay itay originallyay asway."
|
||||
|
||||
@@ -301,7 +305,7 @@ translate piglatin strings:
|
||||
old "Quick load."
|
||||
new "Uickqay oadlay."
|
||||
|
||||
# renpy/common/00action_other.rpy:355
|
||||
# renpy/common/00action_other.rpy:375
|
||||
old "Language [text]"
|
||||
new "Anguagelay [text]"
|
||||
|
||||
@@ -397,51 +401,51 @@ translate piglatin strings:
|
||||
old "Audio Filename:"
|
||||
new "Udioaay Ilenamefay:"
|
||||
|
||||
# renpy/common/00gui.rpy:371
|
||||
# renpy/common/00gui.rpy:374
|
||||
old "Are you sure?"
|
||||
new "Reaay ouyay uresay?"
|
||||
|
||||
# renpy/common/00gui.rpy:372
|
||||
# renpy/common/00gui.rpy:375
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "Reaay ouyay uresay ouyay antway otay eleteday histay avesay?"
|
||||
|
||||
# renpy/common/00gui.rpy:373
|
||||
# renpy/common/00gui.rpy:376
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "Reaay ouyay uresay ouyay antway otay overwriteay ouryay avesay?"
|
||||
|
||||
# renpy/common/00gui.rpy:374
|
||||
# renpy/common/00gui.rpy:377
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "Oadinglay illway oselay unsaveday rogresspay.\nReaay ouyay uresay ouyay antway otay oday histay?"
|
||||
|
||||
# renpy/common/00gui.rpy:375
|
||||
# renpy/common/00gui.rpy:378
|
||||
old "Are you sure you want to quit?"
|
||||
new "Reaay ouyay uresay ouyay antway otay uitqay?"
|
||||
|
||||
# renpy/common/00gui.rpy:376
|
||||
# renpy/common/00gui.rpy:379
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Reaay ouyay uresay ouyay antway otay eturnray otay hetay ainmay enumay?\nHistay illway oselay unsaveday rogresspay."
|
||||
|
||||
# renpy/common/00gui.rpy:377
|
||||
# renpy/common/00gui.rpy:380
|
||||
old "Are you sure you want to end the replay?"
|
||||
new "Reaay ouyay uresay ouyay antway otay enday hetay eplayray?"
|
||||
|
||||
# renpy/common/00gui.rpy:378
|
||||
# renpy/common/00gui.rpy:381
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "Reaay ouyay uresay ouyay antway otay eginbay kippingsay?"
|
||||
|
||||
# renpy/common/00gui.rpy:379
|
||||
# renpy/common/00gui.rpy:382
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "Reaay ouyay uresay ouyay antway otay kipsay otay hetay extnay oicechay?"
|
||||
|
||||
# renpy/common/00gui.rpy:380
|
||||
# renpy/common/00gui.rpy:383
|
||||
old "Are you sure you want to skip unseen dialogue to the next choice?"
|
||||
new "Reaay ouyay uresay ouyay antway otay kipsay unseenay ialogueday otay hetay extnay oicechay?"
|
||||
|
||||
# renpy/common/00keymap.rpy:267
|
||||
# renpy/common/00keymap.rpy:274
|
||||
old "Failed to save screenshot as %s."
|
||||
new "Ailedfay otay avesay creenshotsay asay %say."
|
||||
|
||||
# renpy/common/00keymap.rpy:279
|
||||
# renpy/common/00keymap.rpy:286
|
||||
old "Saved screenshot as %s."
|
||||
new "Avedsay creenshotsay asay %say."
|
||||
|
||||
@@ -453,267 +457,271 @@ translate piglatin strings:
|
||||
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
|
||||
new "Histay rogrampay ontainscay eefray oftwaresay underay aay umbernay ofay icenseslay, includingay hetay Itmay Icenselay anday Nugay Esserlay Eneralgay Ublicpay Icenselay. Aay ompletecay istlay ofay oftwaresay, includingay inkslay otay ullfay ourcesay odecay, ancay ebay oundfay {a=https://www.renpy.org/l/license}erehay{/a}."
|
||||
|
||||
# renpy/common/00preferences.rpy:233
|
||||
# renpy/common/00preferences.rpy:236
|
||||
old "display"
|
||||
new "isplayday"
|
||||
|
||||
# renpy/common/00preferences.rpy:245
|
||||
# renpy/common/00preferences.rpy:248
|
||||
old "transitions"
|
||||
new "ansitionstray"
|
||||
|
||||
# renpy/common/00preferences.rpy:254
|
||||
# renpy/common/00preferences.rpy:257
|
||||
old "skip transitions"
|
||||
new "kipsay ansitionstray"
|
||||
|
||||
# renpy/common/00preferences.rpy:256
|
||||
# renpy/common/00preferences.rpy:259
|
||||
old "video sprites"
|
||||
new "ideovay pritessay"
|
||||
|
||||
# renpy/common/00preferences.rpy:265
|
||||
# renpy/common/00preferences.rpy:268
|
||||
old "show empty window"
|
||||
new "owshay emptyay indowway"
|
||||
|
||||
# renpy/common/00preferences.rpy:274
|
||||
# renpy/common/00preferences.rpy:277
|
||||
old "text speed"
|
||||
new "exttay peedsay"
|
||||
|
||||
# renpy/common/00preferences.rpy:282
|
||||
# renpy/common/00preferences.rpy:285
|
||||
old "joystick"
|
||||
new "oystickjay"
|
||||
|
||||
# renpy/common/00preferences.rpy:282
|
||||
# renpy/common/00preferences.rpy:285
|
||||
old "joystick..."
|
||||
new "oystickjay..."
|
||||
|
||||
# renpy/common/00preferences.rpy:289
|
||||
# renpy/common/00preferences.rpy:292
|
||||
old "skip"
|
||||
new "kipsay"
|
||||
|
||||
# renpy/common/00preferences.rpy:292
|
||||
# renpy/common/00preferences.rpy:295
|
||||
old "skip unseen [text]"
|
||||
new "kipsay unseenay [text]"
|
||||
|
||||
# renpy/common/00preferences.rpy:297
|
||||
# renpy/common/00preferences.rpy:300
|
||||
old "skip unseen text"
|
||||
new "kipsay unseenay exttay"
|
||||
|
||||
# renpy/common/00preferences.rpy:299
|
||||
# renpy/common/00preferences.rpy:302
|
||||
old "begin skipping"
|
||||
new "eginbay kippingsay"
|
||||
|
||||
# renpy/common/00preferences.rpy:303
|
||||
# renpy/common/00preferences.rpy:306
|
||||
old "after choices"
|
||||
new "afteray oiceschay"
|
||||
|
||||
# renpy/common/00preferences.rpy:310
|
||||
# renpy/common/00preferences.rpy:313
|
||||
old "skip after choices"
|
||||
new "kipsay afteray oiceschay"
|
||||
|
||||
# renpy/common/00preferences.rpy:312
|
||||
# renpy/common/00preferences.rpy:315
|
||||
old "auto-forward time"
|
||||
new "autoay-orwardfay imetay"
|
||||
|
||||
# renpy/common/00preferences.rpy:326
|
||||
# renpy/common/00preferences.rpy:329
|
||||
old "auto-forward"
|
||||
new "autoay-orwardfay"
|
||||
|
||||
# renpy/common/00preferences.rpy:333
|
||||
# renpy/common/00preferences.rpy:336
|
||||
old "Auto forward"
|
||||
new "Utoaay orwardfay"
|
||||
|
||||
# renpy/common/00preferences.rpy:336
|
||||
# renpy/common/00preferences.rpy:339
|
||||
old "auto-forward after click"
|
||||
new "autoay-orwardfay afteray ickclay"
|
||||
|
||||
# renpy/common/00preferences.rpy:345
|
||||
# renpy/common/00preferences.rpy:348
|
||||
old "automatic move"
|
||||
new "automaticay ovemay"
|
||||
|
||||
# renpy/common/00preferences.rpy:354
|
||||
# renpy/common/00preferences.rpy:357
|
||||
old "wait for voice"
|
||||
new "aitway orfay oicevay"
|
||||
|
||||
# renpy/common/00preferences.rpy:363
|
||||
# renpy/common/00preferences.rpy:366
|
||||
old "voice sustain"
|
||||
new "oicevay ustainsay"
|
||||
|
||||
# renpy/common/00preferences.rpy:372
|
||||
# renpy/common/00preferences.rpy:375
|
||||
old "self voicing"
|
||||
new "elfsay oicingvay"
|
||||
|
||||
# renpy/common/00preferences.rpy:381
|
||||
# renpy/common/00preferences.rpy:384
|
||||
old "self voicing volume drop"
|
||||
new "elfsay oicingvay olumevay ropday"
|
||||
|
||||
# renpy/common/00preferences.rpy:392
|
||||
old "clipboard voicing"
|
||||
new "ipboardclay oicingvay"
|
||||
|
||||
# renpy/common/00preferences.rpy:390
|
||||
# renpy/common/00preferences.rpy:401
|
||||
old "debug voicing"
|
||||
new "ebugday oicingvay"
|
||||
|
||||
# renpy/common/00preferences.rpy:399
|
||||
# renpy/common/00preferences.rpy:410
|
||||
old "emphasize audio"
|
||||
new "emphasizeay audioay"
|
||||
|
||||
# renpy/common/00preferences.rpy:408
|
||||
# renpy/common/00preferences.rpy:419
|
||||
old "rollback side"
|
||||
new "ollbackray idesay"
|
||||
|
||||
# renpy/common/00preferences.rpy:418
|
||||
# renpy/common/00preferences.rpy:429
|
||||
old "gl powersave"
|
||||
new "glay owersavepay"
|
||||
|
||||
# renpy/common/00preferences.rpy:424
|
||||
# renpy/common/00preferences.rpy:435
|
||||
old "gl framerate"
|
||||
new "glay ameratefray"
|
||||
|
||||
# renpy/common/00preferences.rpy:427
|
||||
# renpy/common/00preferences.rpy:438
|
||||
old "gl tearing"
|
||||
new "glay earingtay"
|
||||
|
||||
# renpy/common/00preferences.rpy:430
|
||||
# renpy/common/00preferences.rpy:441
|
||||
old "font transform"
|
||||
new "ontfay ansformtray"
|
||||
|
||||
# renpy/common/00preferences.rpy:433
|
||||
# renpy/common/00preferences.rpy:444
|
||||
old "font size"
|
||||
new "ontfay izesay"
|
||||
|
||||
# renpy/common/00preferences.rpy:441
|
||||
# renpy/common/00preferences.rpy:452
|
||||
old "font line spacing"
|
||||
new "ontfay inelay pacingsay"
|
||||
|
||||
# renpy/common/00preferences.rpy:460
|
||||
# renpy/common/00preferences.rpy:471
|
||||
old "music volume"
|
||||
new "usicmay olumevay"
|
||||
|
||||
# renpy/common/00preferences.rpy:461
|
||||
# renpy/common/00preferences.rpy:472
|
||||
old "sound volume"
|
||||
new "oundsay olumevay"
|
||||
|
||||
# renpy/common/00preferences.rpy:462
|
||||
# renpy/common/00preferences.rpy:473
|
||||
old "voice volume"
|
||||
new "oicevay olumevay"
|
||||
|
||||
# renpy/common/00preferences.rpy:463
|
||||
# renpy/common/00preferences.rpy:474
|
||||
old "mute music"
|
||||
new "utemay usicmay"
|
||||
|
||||
# renpy/common/00preferences.rpy:464
|
||||
# renpy/common/00preferences.rpy:475
|
||||
old "mute sound"
|
||||
new "utemay oundsay"
|
||||
|
||||
# renpy/common/00preferences.rpy:465
|
||||
# renpy/common/00preferences.rpy:476
|
||||
old "mute voice"
|
||||
new "utemay oicevay"
|
||||
|
||||
# renpy/common/00preferences.rpy:466
|
||||
# renpy/common/00preferences.rpy:477
|
||||
old "mute all"
|
||||
new "utemay allay"
|
||||
|
||||
# renpy/common/00preferences.rpy:547
|
||||
# renpy/common/00preferences.rpy:558
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "Lipboardcay oicingvay enableday. Resspay 'iftshay+Cay' otay isableday."
|
||||
|
||||
# renpy/common/00preferences.rpy:549
|
||||
# renpy/common/00preferences.rpy:560
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "Elfsay-oicingvay ouldway aysay \"[renpy.display.tts.last]\". Resspay 'altay+iftshay+Vay' otay isableday."
|
||||
|
||||
# renpy/common/00preferences.rpy:551
|
||||
# renpy/common/00preferences.rpy:562
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Elfsay-oicingvay enableday. Resspay 'vay' otay isableday."
|
||||
|
||||
# renpy/common/00iap.rpy:217
|
||||
# renpy/common/00iap.rpy:219
|
||||
old "Contacting App Store\nPlease Wait..."
|
||||
new "Ontactingcay Ppaay Toresay\nLeasepay Aitway..."
|
||||
|
||||
# renpy/common/00updater.rpy:375
|
||||
# renpy/common/00updater.rpy:376
|
||||
old "The Ren'Py Updater is not supported on mobile devices."
|
||||
new "Hetay Enray'Ypay Pdateruay isay otnay upportedsay onay obilemay evicesday."
|
||||
|
||||
# renpy/common/00updater.rpy:494
|
||||
# renpy/common/00updater.rpy:495
|
||||
old "An error is being simulated."
|
||||
new "Naay erroray isay eingbay imulatedsay."
|
||||
|
||||
# renpy/common/00updater.rpy:678
|
||||
# renpy/common/00updater.rpy:679
|
||||
old "Either this project does not support updating, or the update status file was deleted."
|
||||
new "Ithereay histay rojectpay oesday otnay upportsay updatingay, oray hetay updateay atusstay ilefay asway eletedday."
|
||||
|
||||
# renpy/common/00updater.rpy:692
|
||||
# renpy/common/00updater.rpy:693
|
||||
old "This account does not have permission to perform an update."
|
||||
new "Histay accountay oesday otnay avehay ermissionpay otay erformpay anay updateay."
|
||||
|
||||
# renpy/common/00updater.rpy:695
|
||||
# renpy/common/00updater.rpy:696
|
||||
old "This account does not have permission to write the update log."
|
||||
new "Histay accountay oesday otnay avehay ermissionpay otay riteway hetay updateay oglay."
|
||||
|
||||
# renpy/common/00updater.rpy:722
|
||||
# renpy/common/00updater.rpy:723
|
||||
old "Could not verify update signature."
|
||||
new "Ouldcay otnay erifyvay updateay ignaturesay."
|
||||
|
||||
# renpy/common/00updater.rpy:997
|
||||
# renpy/common/00updater.rpy:998
|
||||
old "The update file was not downloaded."
|
||||
new "Hetay updateay ilefay asway otnay ownloadedday."
|
||||
|
||||
# renpy/common/00updater.rpy:1015
|
||||
# renpy/common/00updater.rpy:1016
|
||||
old "The update file does not have the correct digest - it may have been corrupted."
|
||||
new "Hetay updateay ilefay oesday otnay avehay hetay orrectcay igestday - itay aymay avehay eenbay orruptedcay."
|
||||
|
||||
# renpy/common/00updater.rpy:1071
|
||||
# renpy/common/00updater.rpy:1072
|
||||
old "While unpacking {}, unknown type {}."
|
||||
new "Hileway unpackingay {}, unknownay ypetay {}."
|
||||
|
||||
# renpy/common/00updater.rpy:1439
|
||||
# renpy/common/00updater.rpy:1440
|
||||
old "Updater"
|
||||
new "Pdateruay"
|
||||
|
||||
# renpy/common/00updater.rpy:1450
|
||||
# renpy/common/00updater.rpy:1451
|
||||
old "This program is up to date."
|
||||
new "Histay rogrampay isay upay otay ateday."
|
||||
|
||||
# renpy/common/00updater.rpy:1452
|
||||
# renpy/common/00updater.rpy:1453
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] isay availableay. Oday ouyay antway otay installay itay?"
|
||||
|
||||
# renpy/common/00updater.rpy:1454
|
||||
# renpy/common/00updater.rpy:1455
|
||||
old "Preparing to download the updates."
|
||||
new "Reparingpay otay ownloadday hetay updatesay."
|
||||
|
||||
# renpy/common/00updater.rpy:1456
|
||||
# renpy/common/00updater.rpy:1457
|
||||
old "Downloading the updates."
|
||||
new "Ownloadingday hetay updatesay."
|
||||
|
||||
# renpy/common/00updater.rpy:1458
|
||||
# renpy/common/00updater.rpy:1459
|
||||
old "Unpacking the updates."
|
||||
new "Npackinguay hetay updatesay."
|
||||
|
||||
# renpy/common/00updater.rpy:1462
|
||||
# renpy/common/00updater.rpy:1463
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "Hetay updatesay avehay eenbay installeday. Hetay rogrampay illway estartray."
|
||||
|
||||
# renpy/common/00updater.rpy:1464
|
||||
# renpy/common/00updater.rpy:1465
|
||||
old "The updates have been installed."
|
||||
new "Hetay updatesay avehay eenbay installeday."
|
||||
|
||||
# renpy/common/00updater.rpy:1466
|
||||
# renpy/common/00updater.rpy:1467
|
||||
old "The updates were cancelled."
|
||||
new "Hetay updatesay ereway ancelledcay."
|
||||
|
||||
# renpy/common/00gallery.rpy:592
|
||||
# renpy/common/00gallery.rpy:590
|
||||
old "Image [index] of [count] locked."
|
||||
new "Mageiay [index] ofay [count] ockedlay."
|
||||
|
||||
# renpy/common/00gallery.rpy:612
|
||||
# renpy/common/00gallery.rpy:610
|
||||
old "prev"
|
||||
new "revpay"
|
||||
|
||||
# renpy/common/00gallery.rpy:613
|
||||
# renpy/common/00gallery.rpy:611
|
||||
old "next"
|
||||
new "extnay"
|
||||
|
||||
# renpy/common/00gallery.rpy:614
|
||||
# renpy/common/00gallery.rpy:612
|
||||
old "slideshow"
|
||||
new "ideshowslay"
|
||||
|
||||
# renpy/common/00gallery.rpy:615
|
||||
# renpy/common/00gallery.rpy:613
|
||||
old "return"
|
||||
new "eturnray"
|
||||
|
||||
|
||||
@@ -85,27 +85,27 @@ translate piglatin strings:
|
||||
old "Position copied to clipboard."
|
||||
new "Ositionpay opiedcay otay ipboardclay."
|
||||
|
||||
# renpy/common/_developer/developer.rpym:507
|
||||
# renpy/common/_developer/developer.rpym:506
|
||||
old "Type to filter: "
|
||||
new "Ypetay otay ilterfay: "
|
||||
|
||||
# renpy/common/_developer/developer.rpym:635
|
||||
# renpy/common/_developer/developer.rpym:634
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Exturestay: [tex_count] ([tex_size_mb:.1f] Bmay)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:639
|
||||
# renpy/common/_developer/developer.rpym:638
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "Mageiay achecay: [cache_pct:.1f]% ([cache_size_mb:.1f] Bmay)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:649
|
||||
# renpy/common/_developer/developer.rpym:648
|
||||
old "✔ "
|
||||
new "✔ "
|
||||
|
||||
# renpy/common/_developer/developer.rpym:652
|
||||
# renpy/common/_developer/developer.rpym:651
|
||||
old "✘ "
|
||||
new "✘ "
|
||||
|
||||
# renpy/common/_developer/developer.rpym:657
|
||||
# renpy/common/_developer/developer.rpym:656
|
||||
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}"
|
||||
|
||||
@@ -145,75 +145,83 @@ translate piglatin strings:
|
||||
old "<repr() failed>"
|
||||
new "<eprray() ailedfay>"
|
||||
|
||||
# renpy/common/00console.rpy:273
|
||||
# renpy/common/00console.rpy:463
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "Resspay <escay> otay exitay onsolecay. Ypetay elphay orfay elphay.\n"
|
||||
|
||||
# renpy/common/00console.rpy:277
|
||||
# renpy/common/00console.rpy:467
|
||||
old "Ren'Py script enabled."
|
||||
new "Enray'Ypay criptsay enableday."
|
||||
|
||||
# renpy/common/00console.rpy:279
|
||||
# renpy/common/00console.rpy:469
|
||||
old "Ren'Py script disabled."
|
||||
new "Enray'Ypay criptsay isabledday."
|
||||
|
||||
# renpy/common/00console.rpy:526
|
||||
# renpy/common/00console.rpy:716
|
||||
old "help: show this help"
|
||||
new "elphay: owshay histay elphay"
|
||||
|
||||
# renpy/common/00console.rpy:531
|
||||
# renpy/common/00console.rpy:721
|
||||
old "commands:\n"
|
||||
new "ommandscay:\n"
|
||||
|
||||
# renpy/common/00console.rpy:541
|
||||
# renpy/common/00console.rpy:731
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <enpyray criptsay atementstay>: unray hetay atementstay\n"
|
||||
|
||||
# renpy/common/00console.rpy:543
|
||||
# renpy/common/00console.rpy:733
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <ythonpay expressionay oray atementstay>: unray hetay expressionay oray atementstay"
|
||||
|
||||
# renpy/common/00console.rpy:551
|
||||
# renpy/common/00console.rpy:741
|
||||
old "clear: clear the console history"
|
||||
new "earclay: earclay hetay onsolecay istoryhay"
|
||||
|
||||
# renpy/common/00console.rpy:555
|
||||
# renpy/common/00console.rpy:745
|
||||
old "exit: exit the console"
|
||||
new "exitay: exitay hetay onsolecay"
|
||||
|
||||
# renpy/common/00console.rpy:563
|
||||
# renpy/common/00console.rpy:753
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "oadlay <otslay>: oadslay hetay amegay omfray otslay"
|
||||
|
||||
# renpy/common/00console.rpy:576
|
||||
# renpy/common/00console.rpy:766
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "avesay <otslay>: avessay hetay amegay inay otslay"
|
||||
|
||||
# renpy/common/00console.rpy:587
|
||||
# renpy/common/00console.rpy:777
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "eloadray: eloadsray hetay amegay, efreshingray hetay criptssay"
|
||||
|
||||
# renpy/common/00console.rpy:595
|
||||
# renpy/common/00console.rpy:785
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "atchway <expressionay>: atchway aay ythonpay expressionay"
|
||||
|
||||
# renpy/common/00console.rpy:621
|
||||
# renpy/common/00console.rpy:811
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatchay <expressionay>: opstay atchingway anay expressionay"
|
||||
|
||||
# renpy/common/00console.rpy:652
|
||||
# renpy/common/00console.rpy:842
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchallay: opstay atchingway allay expressionsay"
|
||||
|
||||
# renpy/common/00console.rpy:669
|
||||
# renpy/common/00console.rpy:859
|
||||
old "jump <label>: jumps to label"
|
||||
new "umpjay <abellay>: umpsjay otay abellay"
|
||||
|
||||
# renpy/common/00console.rpy:685
|
||||
# renpy/common/00console.rpy:875
|
||||
old "short: Shorten the representation of objects on the console (default)."
|
||||
new "ortshay: Hortensay hetay epresentationray ofay objectsay onay hetay onsolecay (efaultday)."
|
||||
|
||||
# renpy/common/00console.rpy:690
|
||||
# renpy/common/00console.rpy:879
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "onglay: Rintpay hetay ullfay epresentationray ofay objectsay onay hetay onsolecay."
|
||||
|
||||
# renpy/common/00console.rpy:883
|
||||
old "escape: Enables escaping of unicode symbols in unicode strings."
|
||||
new "escapeay: Nableseay escapingay ofay unicodeay ymbolssay inay unicodeay ringsstay."
|
||||
|
||||
# renpy/common/00console.rpy:887
|
||||
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
|
||||
new "unescapeay: Isablesday escapingay ofay unicodeay ymbolssay inay unicodeay ringsstay anday rintpay itay asay isay (efaultday)."
|
||||
|
||||
|
||||
@@ -1,122 +1,94 @@
|
||||
|
||||
translate piglatin strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:70
|
||||
# renpy/common/00gltest.rpy:66
|
||||
old "Renderer"
|
||||
new "Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:74
|
||||
# renpy/common/00gltest.rpy:70
|
||||
old "Automatically Choose"
|
||||
new "Utomaticallyaay Hoosecay"
|
||||
|
||||
# renpy/common/00gltest.rpy:79
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "Orcefay Ngleaay/Irectxday Endererray"
|
||||
# renpy/common/00gltest.rpy:77
|
||||
old "Force ANGLE Renderer"
|
||||
new "Orcefay Ngleaay Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:83
|
||||
old "Force OpenGL Renderer"
|
||||
new "Orcefay Pengloay Endererray"
|
||||
# renpy/common/00gltest.rpy:81
|
||||
old "Force GL Renderer"
|
||||
new "Orcefay Lgay Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:87
|
||||
old "Force Software Renderer"
|
||||
new "Orcefay Oftwaresay Endererray"
|
||||
# renpy/common/00gltest.rpy:85
|
||||
old "Force GLES Renderer"
|
||||
new "Orcefay Lesgay Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:93
|
||||
old "NPOT"
|
||||
new "Potnay"
|
||||
# renpy/common/00gltest.rpy:90
|
||||
old "Force ANGLE2 Renderer"
|
||||
new "Orcefay Ngle2aay Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:97
|
||||
# renpy/common/00gltest.rpy:94
|
||||
old "Force GL2 Renderer"
|
||||
new "Orcefay L2gay Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:98
|
||||
old "Force GLES2 Renderer"
|
||||
new "Orcefay Les2gay Endererray"
|
||||
|
||||
# renpy/common/00gltest.rpy:109
|
||||
old "Enable"
|
||||
new "Nableeay"
|
||||
|
||||
# renpy/common/00gltest.rpy:131
|
||||
# renpy/common/00gltest.rpy:128
|
||||
old "Powersave"
|
||||
new "Owersavepay"
|
||||
|
||||
# renpy/common/00gltest.rpy:145
|
||||
# renpy/common/00gltest.rpy:142
|
||||
old "Framerate"
|
||||
new "Rameratefay"
|
||||
|
||||
# renpy/common/00gltest.rpy:149
|
||||
# renpy/common/00gltest.rpy:146
|
||||
old "Screen"
|
||||
new "Creensay"
|
||||
|
||||
# renpy/common/00gltest.rpy:153
|
||||
# renpy/common/00gltest.rpy:150
|
||||
old "60"
|
||||
new "06ay"
|
||||
|
||||
# renpy/common/00gltest.rpy:157
|
||||
# renpy/common/00gltest.rpy:154
|
||||
old "30"
|
||||
new "03ay"
|
||||
|
||||
# renpy/common/00gltest.rpy:163
|
||||
# renpy/common/00gltest.rpy:160
|
||||
old "Tearing"
|
||||
new "Earingtay"
|
||||
|
||||
# renpy/common/00gltest.rpy:179
|
||||
# renpy/common/00gltest.rpy:176
|
||||
old "Changes will take effect the next time this program is run."
|
||||
new "Hangescay illway aketay effectay hetay extnay imetay histay rogrampay isay unray."
|
||||
|
||||
# renpy/common/00gltest.rpy:213
|
||||
# renpy/common/00gltest.rpy:208
|
||||
old "Performance Warning"
|
||||
new "Erformancepay Arningway"
|
||||
|
||||
# renpy/common/00gltest.rpy:218
|
||||
# renpy/common/00gltest.rpy:213
|
||||
old "This computer is using software rendering."
|
||||
new "Histay omputercay isay usingay oftwaresay enderingray."
|
||||
|
||||
# renpy/common/00gltest.rpy:220
|
||||
old "This computer is not using shaders."
|
||||
new "Histay omputercay isay otnay usingay adersshay."
|
||||
|
||||
# renpy/common/00gltest.rpy:222
|
||||
old "This computer is displaying graphics slowly."
|
||||
new "Histay omputercay isay isplayingday aphicsgray owlyslay."
|
||||
|
||||
# renpy/common/00gltest.rpy:224
|
||||
# renpy/common/00gltest.rpy:215
|
||||
old "This computer has a problem displaying graphics: [problem]."
|
||||
new "Histay omputercay ashay aay roblempay isplayingday aphicsgray: [problem]."
|
||||
|
||||
# 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."
|
||||
|
||||
# renpy/common/00gltest.rpy:231
|
||||
# renpy/common/00gltest.rpy:219
|
||||
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."
|
||||
|
||||
# renpy/common/00gltest.rpy:236
|
||||
old "Update DirectX"
|
||||
new "Pdateuay Irectxday"
|
||||
|
||||
# renpy/common/00gltest.rpy:242
|
||||
# renpy/common/00gltest.rpy:223
|
||||
old "Continue, Show this warning again"
|
||||
new "Ontinuecay, Howsay histay arningway againay"
|
||||
|
||||
# renpy/common/00gltest.rpy:246
|
||||
# renpy/common/00gltest.rpy:227
|
||||
old "Continue, Don't show warning again"
|
||||
new "Ontinuecay, Onday'tay owshay arningway againay"
|
||||
|
||||
# renpy/common/00gltest.rpy:264
|
||||
old "Updating DirectX."
|
||||
new "Pdatinguay Irectxday."
|
||||
|
||||
# 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."
|
||||
|
||||
# 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."
|
||||
|
||||
# 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."
|
||||
|
||||
# renpy/common/00gltest.rpy:278
|
||||
old "Restart"
|
||||
new "Estartray"
|
||||
|
||||
# renpy/common/00gamepad.rpy:32
|
||||
old "Select Gamepad to Calibrate"
|
||||
new "Electsay Amepadgay otay Alibratecay"
|
||||
@@ -141,87 +113,87 @@ translate piglatin strings:
|
||||
old "Back (B)"
|
||||
new "Ackbay (Bay)"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:538
|
||||
# renpy/common/_errorhandling.rpym:540
|
||||
old "Open"
|
||||
new "Penoay"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:540
|
||||
# renpy/common/_errorhandling.rpym:542
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "Pensoay hetay acebacktray.xttay ilefay inay aay exttay editoray."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:542
|
||||
# renpy/common/_errorhandling.rpym:544
|
||||
old "Copy BBCode"
|
||||
new "Opycay Bcodebay"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:544
|
||||
# renpy/common/_errorhandling.rpym:546
|
||||
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/."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:546
|
||||
# renpy/common/_errorhandling.rpym:548
|
||||
old "Copy Markdown"
|
||||
new "Opycay Arkdownmay"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:548
|
||||
# renpy/common/_errorhandling.rpym:550
|
||||
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."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:577
|
||||
# renpy/common/_errorhandling.rpym:579
|
||||
old "An exception has occurred."
|
||||
new "Naay exceptionay ashay occurreday."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:597
|
||||
# renpy/common/_errorhandling.rpym:602
|
||||
old "Rollback"
|
||||
new "Ollbackray"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:599
|
||||
# renpy/common/_errorhandling.rpym:604
|
||||
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."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:602
|
||||
# renpy/common/_errorhandling.rpym:607
|
||||
old "Ignore"
|
||||
new "Gnoreiay"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:606
|
||||
# renpy/common/_errorhandling.rpym:611
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "Gnoresiay hetay exceptionay, allowingay ouyay otay ontinuecay."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:608
|
||||
# renpy/common/_errorhandling.rpym:613
|
||||
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."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:612
|
||||
# renpy/common/_errorhandling.rpym:617
|
||||
old "Reload"
|
||||
new "Eloadray"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:614
|
||||
# renpy/common/_errorhandling.rpym:619
|
||||
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."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:617
|
||||
# renpy/common/_errorhandling.rpym:622
|
||||
old "Console"
|
||||
new "Onsolecay"
|
||||
|
||||
# renpy/common/_errorhandling.rpym:619
|
||||
# renpy/common/_errorhandling.rpym:624
|
||||
old "Opens a console to allow debugging the problem."
|
||||
new "Pensoay aay onsolecay otay alloway ebuggingday hetay roblempay."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:629
|
||||
# renpy/common/_errorhandling.rpym:637
|
||||
old "Quits the game."
|
||||
new "Uitsqay hetay amegay."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:653
|
||||
# renpy/common/_errorhandling.rpym:658
|
||||
old "Parsing the script failed."
|
||||
new "Arsingpay hetay criptsay ailedfay."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:679
|
||||
# renpy/common/_errorhandling.rpym:684
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "Pensoay hetay errorsay.xttay ilefay inay aay exttay editoray."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:683
|
||||
# renpy/common/_errorhandling.rpym:688
|
||||
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/."
|
||||
|
||||
# renpy/common/_errorhandling.rpym:687
|
||||
# renpy/common/_errorhandling.rpym:692
|
||||
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."
|
||||
|
||||
|
||||
@@ -334,8 +334,8 @@ translate piglatin strings:
|
||||
new "Oday ouyay antway otay alloway hetay appay otay accessay hetay Nternetiay?"
|
||||
|
||||
# game/androidstrings.rpy:47
|
||||
old "Do you want to automatically update the generated project?"
|
||||
new "Oday ouyay antway otay automaticallyay updateay hetay eneratedgay rojectpay?"
|
||||
old "Do you want to automatically update the Java source code?"
|
||||
new "Oday ouyay antway otay automaticallyay updateay hetay Avajay ourcesay odecay?"
|
||||
|
||||
# game/androidstrings.rpy:48
|
||||
old "Yes. This is the best choice for most projects."
|
||||
@@ -414,8 +414,8 @@ translate piglatin strings:
|
||||
new "Iay ancay reatecay anay applicationay igningsay eykay orfay ouyay. Igningsay anay applicationay ithway histay eykay allowsay itay otay ebay acedplay inay hetay Ndroidaay Arketmay anday otheray appay oresstay.\n\nOday ouyay antway otay reatecay aay eykay?"
|
||||
|
||||
# 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 "Iay illway reatecay hetay eykay inay hetay androiday.eystorekay ilefay.\n\nOuyay eednay otay ackbay histay ilefay upay. Fiay ouyay oselay itay, ouyay illway otnay ebay ableay otay upgradeay ouryay applicationay.\n\n\\Ouyay alsoay eednay otay eepkay hetay eykay afesay. Fiay evilay eoplepay etgay histay ilefay, heytay ouldcay akemay akefay ersionsvay ofay ouryay applicationay, anday otentiallypay ealstay ouryay usersay' ataday.\n\nIllway ouyay akemay aay ackupbay ofay androiday.eystorekay, anday eepkay itay inay aay afesay aceplay?"
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "Iay illway reatecay hetay eykay inay hetay androiday.eystorekay ilefay.\n\nOuyay eednay otay ackbay histay ilefay upay. Fiay ouyay oselay itay, ouyay illway otnay ebay ableay otay upgradeay ouryay applicationay.\n\nOuyay alsoay eednay otay eepkay hetay eykay afesay. Fiay evilay eoplepay etgay histay ilefay, heytay ouldcay akemay akefay ersionsvay ofay ouryay applicationay, anday otentiallypay ealstay ouryay usersay' ataday.\n\nIllway ouyay akemay aay ackupbay ofay androiday.eystorekay, anday eepkay itay inay aay afesay aceplay?"
|
||||
|
||||
# game/androidstrings.rpy:68
|
||||
old "Please enter your name or the name of your organization."
|
||||
@@ -433,99 +433,99 @@ translate piglatin strings:
|
||||
old "It looks like you're ready to start packaging games."
|
||||
new "Tiay ookslay ikelay ouyay'eray eadyray otay artstay ackagingpay amesgay."
|
||||
|
||||
# game/choose_directory.rpy:88
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
|
||||
new "Enray'Ypay asway unableay otay unray ythonpay ithway kintertay otay oosechay hetay irectoryday. Leasepay installay hetay ythonpay-ktay oray kintertay ackagepay."
|
||||
# game/choose_directory.rpy:93
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python3-tk or tkinter package."
|
||||
new "Enray'Ypay asway unableay otay unray ythonpay ithway kintertay otay oosechay hetay irectoryday. Leasepay installay hetay ython3pay-ktay oray kintertay ackagepay."
|
||||
|
||||
# game/choose_directory.rpy:106
|
||||
# game/choose_directory.rpy:111
|
||||
old "The selected projects directory is not writable."
|
||||
new "Hetay electedsay rojectspay irectoryday isay otnay ritableway."
|
||||
|
||||
# game/choose_theme.rpy:303
|
||||
# game/choose_theme.rpy:304
|
||||
old "Could not change the theme. Perhaps options.rpy was changed too much."
|
||||
new "Ouldcay otnay angechay hetay hemetay. Erhapspay optionsay.pyray asway angedchay ootay uchmay."
|
||||
|
||||
# game/choose_theme.rpy:370
|
||||
# game/choose_theme.rpy:371
|
||||
old "Planetarium"
|
||||
new "Lanetariumpay"
|
||||
|
||||
# game/choose_theme.rpy:425
|
||||
# game/choose_theme.rpy:426
|
||||
old "Choose Theme"
|
||||
new "Hoosecay Hemetay"
|
||||
|
||||
# game/choose_theme.rpy:438
|
||||
# game/choose_theme.rpy:439
|
||||
old "Theme"
|
||||
new "Hemetay"
|
||||
|
||||
# game/choose_theme.rpy:463
|
||||
# game/choose_theme.rpy:464
|
||||
old "Color Scheme"
|
||||
new "Olorcay Chemesay"
|
||||
|
||||
# game/choose_theme.rpy:495
|
||||
# game/choose_theme.rpy:496
|
||||
old "Continue"
|
||||
new "Ontinuecay"
|
||||
|
||||
# game/choose_theme.rpy:507
|
||||
# game/choose_theme.rpy:508
|
||||
old "changing the theme"
|
||||
new "angingchay hetay hemetay"
|
||||
|
||||
# game/consolecommand.rpy:84
|
||||
# game/consolecommand.rpy:86
|
||||
old "INFORMATION"
|
||||
new "Nformationiay"
|
||||
|
||||
# game/consolecommand.rpy:84
|
||||
# game/consolecommand.rpy:86
|
||||
old "The command is being run in a new operating system console window."
|
||||
new "Hetay ommandcay isay eingbay unray inay aay ewnay operatingay ystemsay onsolecay indowway."
|
||||
|
||||
# game/distribute.rpy:445
|
||||
# game/distribute.rpy:448
|
||||
old "Scanning project files..."
|
||||
new "Canningsay rojectpay ilesfay..."
|
||||
|
||||
# game/distribute.rpy:461
|
||||
# game/distribute.rpy:464
|
||||
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
|
||||
new "Uildingbay istributionsday ailedfay:\n\nHetay uildbay.irectory_nameday ariablevay aymay otnay includeay hetay pacesay, oloncay, oray emicolonsay aracterschay."
|
||||
|
||||
# game/distribute.rpy:506
|
||||
# game/distribute.rpy:509
|
||||
old "No packages are selected, so there's nothing to do."
|
||||
new "Onay ackagespay areay electedsay, osay heretay'say othingnay otay oday."
|
||||
|
||||
# game/distribute.rpy:518
|
||||
# game/distribute.rpy:521
|
||||
old "Scanning Ren'Py files..."
|
||||
new "Canningsay Enray'Ypay ilesfay..."
|
||||
|
||||
# game/distribute.rpy:577
|
||||
# game/distribute.rpy:580
|
||||
old "All packages have been built.\n\nDue to the presence of permission information, unpacking and repacking the Linux and Macintosh distributions on Windows is not supported."
|
||||
new "Llaay ackagespay avehay eenbay uiltbay.\n\nUeday otay hetay resencepay ofay ermissionpay informationay, unpackingay anday epackingray hetay Inuxlay anday Acintoshmay istributionsday onay Indowsway isay otnay upportedsay."
|
||||
|
||||
# game/distribute.rpy:760
|
||||
# game/distribute.rpy:763
|
||||
old "Archiving files..."
|
||||
new "Rchivingaay ilesfay..."
|
||||
|
||||
# game/distribute.rpy:1082
|
||||
# game/distribute.rpy:1089
|
||||
old "Unpacking the Macintosh application for signing..."
|
||||
new "Npackinguay hetay Acintoshmay applicationay orfay igningsay..."
|
||||
|
||||
# game/distribute.rpy:1092
|
||||
# game/distribute.rpy:1099
|
||||
old "Signing the Macintosh application...\n(This may take a long time.)"
|
||||
new "Igningsay hetay Acintoshmay applicationay...\n(Histay aymay aketay aay onglay imetay.)"
|
||||
|
||||
# game/distribute.rpy:1114
|
||||
# game/distribute.rpy:1122
|
||||
old "Creating the Macintosh DMG..."
|
||||
new "Reatingcay hetay Acintoshmay Mgday..."
|
||||
|
||||
# game/distribute.rpy:1123
|
||||
# game/distribute.rpy:1133
|
||||
old "Signing the Macintosh DMG..."
|
||||
new "Igningsay hetay Acintoshmay Mgday..."
|
||||
|
||||
# game/distribute.rpy:1318
|
||||
# game/distribute.rpy:1356
|
||||
old "Writing the [variant] [format] package."
|
||||
new "Ritingway hetay [variant] [format] ackagepay."
|
||||
|
||||
# game/distribute.rpy:1331
|
||||
# game/distribute.rpy:1369
|
||||
old "Making the [variant] update zsync file."
|
||||
new "Akingmay hetay [variant] updateay synczay ilefay."
|
||||
|
||||
# game/distribute.rpy:1441
|
||||
# game/distribute.rpy:1479
|
||||
old "Processed {b}[complete]{/b} of {b}[total]{/b} files."
|
||||
new "Rocessedpay {b}[complete]{/b} ofay {b}[total]{/b} ilesfay."
|
||||
|
||||
@@ -613,63 +613,47 @@ translate piglatin strings:
|
||||
old "Up to 150 MB download required."
|
||||
new "Puay otay 501ay Bmay ownloadday equiredray."
|
||||
|
||||
# game/editor.rpy:178
|
||||
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input."
|
||||
new "Aay aturemay editoray. Ditraeay ackslay hetay Meiay upportsay equiredray orfay Hinesecay, Apanesejay, anday Oreankay exttay inputay."
|
||||
|
||||
# game/editor.rpy:179
|
||||
old "A mature editor. Editra lacks the IME support required for Chinese, Japanese, and Korean text input. On Linux, Editra requires wxPython."
|
||||
new "Aay aturemay editoray. Ditraeay ackslay hetay Meiay upportsay equiredray orfay Hinesecay, Apanesejay, anday Oreankay exttay inputay. Noay Inuxlay, Ditraeay equiresray xPythonway."
|
||||
|
||||
# game/editor.rpy:195
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
new "Histay aymay avehay occureday ecausebay xPythonway isay otnay installeday onay histay ystemsay."
|
||||
|
||||
# game/editor.rpy:197
|
||||
old "Up to 22 MB download required."
|
||||
new "Puay otay 22ay Bmay ownloadday equiredray."
|
||||
|
||||
# game/editor.rpy:210
|
||||
# game/editor.rpy:177
|
||||
old "A mature editor that requires Java."
|
||||
new "Aay aturemay editoray hattay equiresray Avajay."
|
||||
|
||||
# game/editor.rpy:210
|
||||
# game/editor.rpy:177
|
||||
old "1.8 MB download required."
|
||||
new "1ay.8ay Bmay ownloadday equiredray."
|
||||
|
||||
# game/editor.rpy:210
|
||||
# game/editor.rpy:177
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
new "Histay aymay avehay occureday ecausebay Avajay isay otnay installeday onay histay ystemsay."
|
||||
|
||||
# game/editor.rpy:219
|
||||
# game/editor.rpy:186
|
||||
old "System Editor"
|
||||
new "Ystemsay Ditoreay"
|
||||
|
||||
# game/editor.rpy:219
|
||||
# game/editor.rpy:186
|
||||
old "Invokes the editor your operating system has associated with .rpy files."
|
||||
new "Nvokesiay hetay editoray ouryay operatingay ystemsay ashay associateday ithway .pyray ilesfay."
|
||||
|
||||
# game/editor.rpy:235
|
||||
# game/editor.rpy:202
|
||||
old "None"
|
||||
new "Onenay"
|
||||
|
||||
# game/editor.rpy:235
|
||||
# game/editor.rpy:202
|
||||
old "Prevents Ren'Py from opening a text editor."
|
||||
new "Reventspay Enray'Ypay omfray openingay aay exttay editoray."
|
||||
|
||||
# game/editor.rpy:338
|
||||
# game/editor.rpy:305
|
||||
old "Edit [text]."
|
||||
new "Diteay [text]."
|
||||
|
||||
# game/editor.rpy:387
|
||||
# game/editor.rpy:354
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
new "Naay exceptionay occureday hileway aunchinglay hetay exttay editoray:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:519
|
||||
# game/editor.rpy:486
|
||||
old "Select Editor"
|
||||
new "Electsay Ditoreay"
|
||||
|
||||
# game/editor.rpy:534
|
||||
# game/editor.rpy:501
|
||||
old "A text editor is the program you'll use to edit Ren'Py script files. Here, you can select the editor Ren'Py will use. If not already present, the editor will be automatically downloaded and installed."
|
||||
new "Aay exttay editoray isay hetay rogrampay ouyay'llay useay otay editay Enray'Ypay criptsay ilesfay. Erehay, ouyay ancay electsay hetay editoray Enray'Ypay illway useay. Fiay otnay alreadyay resentpay, hetay editoray illway ebay automaticallyay ownloadedday anday installeday."
|
||||
|
||||
@@ -730,6 +714,10 @@ translate piglatin strings:
|
||||
new "imagesay"
|
||||
|
||||
# game/front_page.rpy:198
|
||||
old "audio"
|
||||
new "audioay"
|
||||
|
||||
# game/front_page.rpy:199
|
||||
old "gui"
|
||||
new "uigay"
|
||||
|
||||
@@ -877,6 +865,30 @@ translate piglatin strings:
|
||||
old "activating the new project"
|
||||
new "activatingay hetay ewnay rojectpay"
|
||||
|
||||
# game/install.rpy:33
|
||||
old "Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."
|
||||
new "Ouldcay otnay installay [name!t], asay aay ilefay atchingmay [zipglob] asway otnay oundfay inay hetay Enray'Ypay Dksay irectoryday."
|
||||
|
||||
# game/install.rpy:76
|
||||
old "Successfully installed [name!t]."
|
||||
new "Uccessfullysay installeday [name!t]."
|
||||
|
||||
# game/install.rpy:104
|
||||
old "Install Libraries"
|
||||
new "Nstalliay Ibrarieslay"
|
||||
|
||||
# game/install.rpy:119
|
||||
old "This screen allows you to install libraries that can't be distributed with Ren'Py. Some of these libraries may require you to agree to a third-party license before being used or distributed."
|
||||
new "Histay creensay allowsay ouyay otay installay ibrarieslay hattay ancay'tay ebay istributedday ithway Enray'Ypay. Omesay ofay hesetay ibrarieslay aymay equireray ouyay otay agreeay otay aay hirdtay-artypay icenselay eforebay eingbay useday oray istributedday."
|
||||
|
||||
# game/install.rpy:134
|
||||
old "The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc."
|
||||
new "Hetay {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Ubismcay Dksay orfay Ativenay{/a} addsay upportsay orfay isplayingday Ive2dlay odelsmay. Lacepay Ubismsdkfornativecay-4ay-{i}ersionvay{/i}.ipzay inay hetay Enray'Ypay Dksay irectoryday, anday hentay ickclay Nstalliay. Istributingday aay amegay ithway Ive2dlay equiresray ouyay otay acceptay aay icenselay omfray Ive2dlay, Nciay."
|
||||
|
||||
# game/install.rpy:138
|
||||
old "Open Ren'Py SDK Directory"
|
||||
new "Penoay Enray'Ypay Dksay Irectoryday"
|
||||
|
||||
# game/interface.rpy:119
|
||||
old "Documentation"
|
||||
new "Ocumentationday"
|
||||
@@ -993,55 +1005,55 @@ translate piglatin strings:
|
||||
old "Opens the directory containing Xcode projects."
|
||||
new "Pensoay hetay irectoryday ontainingcay Codexay rojectspay."
|
||||
|
||||
# game/ios.rpy:131
|
||||
# game/ios.rpy:139
|
||||
old "The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"
|
||||
new "Hetay Codexay rojectpay alreadyay existsay. Ouldway ouyay ikelay otay enameray hetay olday rojectpay, anday eplaceray itay ithway aay ewnay oneay?"
|
||||
|
||||
# game/ios.rpy:225
|
||||
# game/ios.rpy:233
|
||||
old "iOS: [project.current.display_name!q]"
|
||||
new "iOSay: [project.current.display_name!q]"
|
||||
|
||||
# game/ios.rpy:254
|
||||
# game/ios.rpy:262
|
||||
old "iPhone"
|
||||
new "iPhoneay"
|
||||
|
||||
# game/ios.rpy:258
|
||||
# game/ios.rpy:266
|
||||
old "iPad"
|
||||
new "iPaday"
|
||||
|
||||
# game/ios.rpy:278
|
||||
# game/ios.rpy:286
|
||||
old "Select Xcode Projects Directory"
|
||||
new "Electsay Codexay Rojectspay Irectoryday"
|
||||
|
||||
# game/ios.rpy:282
|
||||
# game/ios.rpy:290
|
||||
old "Create Xcode Project"
|
||||
new "Reatecay Codexay Rojectpay"
|
||||
|
||||
# game/ios.rpy:286
|
||||
# game/ios.rpy:294
|
||||
old "Update Xcode Project"
|
||||
new "Pdateuay Codexay Rojectpay"
|
||||
|
||||
# game/ios.rpy:291
|
||||
# game/ios.rpy:299
|
||||
old "Launch Xcode"
|
||||
new "Aunchlay Codexay"
|
||||
|
||||
# game/ios.rpy:326
|
||||
# game/ios.rpy:334
|
||||
old "Open Xcode Projects Directory"
|
||||
new "Penoay Codexay Rojectspay Irectoryday"
|
||||
|
||||
# game/ios.rpy:359
|
||||
# game/ios.rpy:367
|
||||
old "Before packaging iOS apps, you'll need to download renios, Ren'Py's iOS support. Would you like to download renios now?"
|
||||
new "Eforebay ackagingpay iOSay appsay, ouyay'llay eednay otay ownloadday eniosray, Enray'Ypay'say iOSay upportsay. Ouldway ouyay ikelay otay ownloadday eniosray ownay?"
|
||||
|
||||
# game/ios.rpy:368
|
||||
# game/ios.rpy:376
|
||||
old "XCODE PROJECTS DIRECTORY"
|
||||
new "Codexay Rojectspay Irectoryday"
|
||||
|
||||
# game/ios.rpy:368
|
||||
# game/ios.rpy:376
|
||||
old "Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "Leasepay oosechay hetay Codexay Rojectspay Irectoryday usingay hetay irectoryday ooserchay.\n{b}Hetay irectoryday ooserchay aymay avehay openeday ehindbay histay indowway.{/b}"
|
||||
|
||||
# game/ios.rpy:373
|
||||
# game/ios.rpy:381
|
||||
old "Ren'Py has set the Xcode Projects Directory to:"
|
||||
new "Enray'Ypay ashay etsay hetay Codexay Rojectspay Irectoryday otay:"
|
||||
|
||||
@@ -1205,87 +1217,91 @@ translate piglatin strings:
|
||||
old "Please select a template to use for your new project. The template sets the default font and the user interface language. If your language is not supported, choose 'english'."
|
||||
new "Leasepay electsay aay emplatetay otay useay orfay ouryay ewnay rojectpay. Hetay emplatetay etssay hetay efaultday ontfay anday hetay useray interfaceay anguagelay. Fiay ouryay anguagelay isay otnay upportedsay, oosechay 'englishay'."
|
||||
|
||||
# game/preferences.rpy:73
|
||||
# game/preferences.rpy:68
|
||||
old "Launcher Preferences"
|
||||
new "Auncherlay Referencespay"
|
||||
|
||||
# game/preferences.rpy:94
|
||||
# game/preferences.rpy:89
|
||||
old "Projects Directory:"
|
||||
new "Rojectspay Irectoryday:"
|
||||
|
||||
# game/preferences.rpy:101
|
||||
# game/preferences.rpy:96
|
||||
old "[persistent.projects_directory!q]"
|
||||
new "[persistent.projects_directory!q]"
|
||||
|
||||
# game/preferences.rpy:103
|
||||
# game/preferences.rpy:98
|
||||
old "Projects directory: [text]"
|
||||
new "Rojectspay irectoryday: [text]"
|
||||
|
||||
# game/preferences.rpy:105
|
||||
# game/preferences.rpy:100
|
||||
old "Not Set"
|
||||
new "Otnay Etsay"
|
||||
|
||||
# game/preferences.rpy:120
|
||||
# game/preferences.rpy:115
|
||||
old "Text Editor:"
|
||||
new "Exttay Ditoreay:"
|
||||
|
||||
# game/preferences.rpy:126
|
||||
# game/preferences.rpy:121
|
||||
old "Text editor: [text]"
|
||||
new "Exttay editoray: [text]"
|
||||
|
||||
# game/preferences.rpy:145
|
||||
old "Navigation Options:"
|
||||
new "Avigationnay Ptionsoay:"
|
||||
# game/preferences.rpy:138
|
||||
old "Install libraries"
|
||||
new "Nstalliay ibrarieslay"
|
||||
|
||||
# game/preferences.rpy:149
|
||||
old "Include private names"
|
||||
new "Ncludeiay rivatepay amesnay"
|
||||
|
||||
# game/preferences.rpy:150
|
||||
old "Include library names"
|
||||
new "Ncludeiay ibrarylay amesnay"
|
||||
|
||||
# game/preferences.rpy:160
|
||||
old "Launcher Options:"
|
||||
new "Auncherlay Ptionsoay:"
|
||||
|
||||
# game/preferences.rpy:164
|
||||
old "Hardware rendering"
|
||||
new "Ardwarehay enderingray"
|
||||
|
||||
# game/preferences.rpy:165
|
||||
old "Show edit file section"
|
||||
new "Howsay editay ilefay ectionsay"
|
||||
|
||||
# game/preferences.rpy:166
|
||||
old "Large fonts"
|
||||
new "Argelay ontsfay"
|
||||
|
||||
# game/preferences.rpy:169
|
||||
old "Console output"
|
||||
new "Onsolecay outputay"
|
||||
|
||||
# game/preferences.rpy:173
|
||||
old "Force new tutorial"
|
||||
new "Orcefay ewnay utorialtay"
|
||||
|
||||
# game/preferences.rpy:177
|
||||
old "Legacy options"
|
||||
new "Egacylay optionsay"
|
||||
|
||||
# game/preferences.rpy:180
|
||||
old "Show templates"
|
||||
new "Howsay emplatestay"
|
||||
|
||||
# game/preferences.rpy:182
|
||||
old "Sponsor message"
|
||||
new "Ponsorsay essagemay"
|
||||
|
||||
# game/preferences.rpy:202
|
||||
# game/preferences.rpy:139
|
||||
old "Open launcher project"
|
||||
new "Penoay auncherlay rojectpay"
|
||||
|
||||
# game/preferences.rpy:216
|
||||
# game/preferences.rpy:140
|
||||
old "Reset window size"
|
||||
new "Esetray indowway izesay"
|
||||
|
||||
# game/preferences.rpy:156
|
||||
old "Navigation Options:"
|
||||
new "Avigationnay Ptionsoay:"
|
||||
|
||||
# game/preferences.rpy:160
|
||||
old "Include private names"
|
||||
new "Ncludeiay rivatepay amesnay"
|
||||
|
||||
# game/preferences.rpy:161
|
||||
old "Include library names"
|
||||
new "Ncludeiay ibrarylay amesnay"
|
||||
|
||||
# game/preferences.rpy:171
|
||||
old "Launcher Options:"
|
||||
new "Auncherlay Ptionsoay:"
|
||||
|
||||
# game/preferences.rpy:175
|
||||
old "Show edit file section"
|
||||
new "Howsay editay ilefay ectionsay"
|
||||
|
||||
# game/preferences.rpy:176
|
||||
old "Large fonts"
|
||||
new "Argelay ontsfay"
|
||||
|
||||
# game/preferences.rpy:179
|
||||
old "Console output"
|
||||
new "Onsolecay outputay"
|
||||
|
||||
# game/preferences.rpy:183
|
||||
old "Force new tutorial"
|
||||
new "Orcefay ewnay utorialtay"
|
||||
|
||||
# game/preferences.rpy:187
|
||||
old "Legacy options"
|
||||
new "Egacylay optionsay"
|
||||
|
||||
# game/preferences.rpy:190
|
||||
old "Show templates"
|
||||
new "Howsay emplatestay"
|
||||
|
||||
# game/preferences.rpy:192
|
||||
old "Sponsor message"
|
||||
new "Ponsorsay essagemay"
|
||||
|
||||
# game/preferences.rpy:212
|
||||
old "Language:"
|
||||
new "Anguagelay:"
|
||||
|
||||
@@ -1317,23 +1333,23 @@ translate piglatin strings:
|
||||
old "Ren'Py is scanning the project..."
|
||||
new "Enray'Ypay isay canningsay hetay rojectpay..."
|
||||
|
||||
# game/project.rpy:729
|
||||
# game/project.rpy:731
|
||||
old "Launching"
|
||||
new "Aunchinglay"
|
||||
|
||||
# game/project.rpy:763
|
||||
# game/project.rpy:765
|
||||
old "PROJECTS DIRECTORY"
|
||||
new "Rojectspay Irectoryday"
|
||||
|
||||
# game/project.rpy:763
|
||||
# game/project.rpy:765
|
||||
old "Please choose the projects directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "Leasepay oosechay hetay rojectspay irectoryday usingay hetay irectoryday ooserchay.\n{b}Hetay irectoryday ooserchay aymay avehay openeday ehindbay histay indowway.{/b}"
|
||||
|
||||
# game/project.rpy:763
|
||||
# game/project.rpy:765
|
||||
old "This launcher will scan for projects in this directory, will create new projects in this directory, and will place built projects into this directory."
|
||||
new "Histay auncherlay illway cansay orfay rojectspay inay histay irectoryday, illway reatecay ewnay rojectspay inay histay irectoryday, anday illway aceplay uiltbay rojectspay intoay histay irectoryday."
|
||||
|
||||
# game/project.rpy:768
|
||||
# game/project.rpy:770
|
||||
old "Ren'Py has set the projects directory to:"
|
||||
new "Enray'Ypay ashay etsay hetay rojectspay irectoryday otay:"
|
||||
|
||||
@@ -1549,47 +1565,51 @@ translate piglatin strings:
|
||||
old "parsing the list of update channels"
|
||||
new "arsingpay hetay istlay ofay updateay annelschay"
|
||||
|
||||
# game/web.rpy:118
|
||||
# game/web.rpy:242
|
||||
old "Preparing progressive download"
|
||||
new "Reparingpay rogressivepay ownloadday"
|
||||
|
||||
# game/web.rpy:277
|
||||
old "Web: [project.current.display_name!q]"
|
||||
new "Ebway: [project.current.display_name!q]"
|
||||
|
||||
# game/web.rpy:148
|
||||
# game/web.rpy:307
|
||||
old "Build Web Application"
|
||||
new "Uildbay Ebway Pplicationaay"
|
||||
|
||||
# game/web.rpy:149
|
||||
# game/web.rpy:308
|
||||
old "Build and Open in Browser"
|
||||
new "Uildbay anday Penoay inay Rowserbay"
|
||||
|
||||
# game/web.rpy:150
|
||||
# game/web.rpy:309
|
||||
old "Open in Browser"
|
||||
new "Penoay inay Rowserbay"
|
||||
|
||||
# game/web.rpy:151
|
||||
# game/web.rpy:310
|
||||
old "Open build directory"
|
||||
new "Penoay uildbay irectoryday"
|
||||
|
||||
# game/web.rpy:155
|
||||
# game/web.rpy:314
|
||||
old "Support:"
|
||||
new "Upportsay:"
|
||||
|
||||
# game/web.rpy:163
|
||||
# game/web.rpy:322
|
||||
old "RenPyWeb Home"
|
||||
new "Enpywebray Omehay"
|
||||
|
||||
# game/web.rpy:164
|
||||
# game/web.rpy:323
|
||||
old "Beuc's Patreon"
|
||||
new "Eucbay'say Atreonpay"
|
||||
|
||||
# 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 "Enray'Ypay ebway applicationsay equireray hetay entireay amegay otay ebay ownloadedday otay hetay ayerplay'say omputercay eforebay itay ancay artstay."
|
||||
# game/web.rpy:341
|
||||
old "Images and musics can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior."
|
||||
new "Magesiay anday usicsmay ancay ebay ownloadedday hileway ayingplay. Aay 'rogressive_downloadpay.xttay' ilefay illway ebay reatedcay osay ouyay ancay onfigurecay histay ehaviorbay."
|
||||
|
||||
# game/web.rpy:186
|
||||
# game/web.rpy:345
|
||||
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 "Urrentcay imitationslay inay hetay ebway atformplay eanmay hattay oadinglay argelay imagesay, audioay ilesfay, oray oviesmay aymay ausecay audioay oray ameratefray itchesglay, anday owerlay erformancepay inay eneralgay."
|
||||
|
||||
# game/web.rpy:195
|
||||
# game/web.rpy:354
|
||||
old "Before packaging web apps, you'll need to download RenPyWeb, Ren'Py's web support. Would you like to download RenPyWeb now?"
|
||||
new "Eforebay ackagingpay ebway appsay, ouyay'llay eednay otay ownloadday Enpywebray, Enray'Ypay'say ebway upportsay. Ouldway ouyay ikelay otay ownloadday Enpywebray ownay?"
|
||||
|
||||
|
||||
@@ -189,15 +189,11 @@ translate piglatin strings:
|
||||
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."
|
||||
|
||||
# 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."
|
||||
|
||||
# gui/game/options.rpy:209
|
||||
# gui/game/options.rpy:203
|
||||
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## 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."
|
||||
|
||||
# gui/game/options.rpy:216
|
||||
# gui/game/options.rpy:210
|
||||
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."
|
||||
|
||||
|
||||
@@ -157,519 +157,519 @@ translate piglatin strings:
|
||||
old "Help"
|
||||
new "Elphay"
|
||||
|
||||
# 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."
|
||||
# gui/game/screens.rpy:333
|
||||
old "## The quit button is banned on iOS and unnecessary on Android and Web."
|
||||
new "## Hetay uitqay uttonbay isay annedbay onay iOSay anday unnecessaryay onay Ndroidaay anday Ebway."
|
||||
|
||||
# gui/game/screens.rpy:332
|
||||
# gui/game/screens.rpy:334
|
||||
old "Quit"
|
||||
new "Uitqay"
|
||||
|
||||
# gui/game/screens.rpy:346
|
||||
# gui/game/screens.rpy:348
|
||||
old "## Main Menu screen"
|
||||
new "## Ainmay Enumay creensay"
|
||||
|
||||
# gui/game/screens.rpy:348
|
||||
# gui/game/screens.rpy:350
|
||||
old "## Used to display the main menu when Ren'Py starts."
|
||||
new "## Seduay otay isplayday hetay ainmay enumay henway Enray'Ypay artsstay."
|
||||
|
||||
# gui/game/screens.rpy:350
|
||||
# gui/game/screens.rpy:352
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#ainmay-enumay"
|
||||
|
||||
# gui/game/screens.rpy:354
|
||||
# gui/game/screens.rpy:356
|
||||
old "## This ensures that any other menu screen is replaced."
|
||||
new "## Histay ensuresay hattay anyay otheray enumay creensay isay eplacedray."
|
||||
|
||||
# gui/game/screens.rpy:361
|
||||
# gui/game/screens.rpy:363
|
||||
old "## This empty frame darkens the main menu."
|
||||
new "## Histay emptyay amefray arkensday hetay ainmay enumay."
|
||||
|
||||
# gui/game/screens.rpy:365
|
||||
# gui/game/screens.rpy:367
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:408
|
||||
# gui/game/screens.rpy:410
|
||||
old "## Game Menu screen"
|
||||
new "## Amegay Enumay creensay"
|
||||
|
||||
# gui/game/screens.rpy:410
|
||||
# gui/game/screens.rpy:412
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:413
|
||||
# gui/game/screens.rpy:415
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:431
|
||||
# gui/game/screens.rpy:433
|
||||
old "## Reserve space for the navigation section."
|
||||
new "## Eserveray pacesay orfay hetay avigationnay ectionsay."
|
||||
|
||||
# gui/game/screens.rpy:473
|
||||
# gui/game/screens.rpy:475
|
||||
old "Return"
|
||||
new "Eturnray"
|
||||
|
||||
# gui/game/screens.rpy:536
|
||||
# gui/game/screens.rpy:538
|
||||
old "## About screen"
|
||||
new "## Boutaay creensay"
|
||||
|
||||
# gui/game/screens.rpy:538
|
||||
# gui/game/screens.rpy:540
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:541
|
||||
# gui/game/screens.rpy:543
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:548
|
||||
# gui/game/screens.rpy:550
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:558
|
||||
# gui/game/screens.rpy:560
|
||||
old "Version [config.version!t]\n"
|
||||
new "Ersionvay [config.version!t]\n"
|
||||
|
||||
# gui/game/screens.rpy:560
|
||||
# gui/game/screens.rpy:562
|
||||
old "## gui.about is usually set in options.rpy."
|
||||
new "## uigay.aboutay isay usuallyay etsay inay optionsay.pyray."
|
||||
|
||||
# gui/game/screens.rpy:564
|
||||
# gui/game/screens.rpy:566
|
||||
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]"
|
||||
|
||||
# gui/game/screens.rpy:567
|
||||
# gui/game/screens.rpy:569
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:579
|
||||
# gui/game/screens.rpy:581
|
||||
old "## Load and Save screens"
|
||||
new "## Oadlay anday Avesay creenssay"
|
||||
|
||||
# gui/game/screens.rpy:581
|
||||
# gui/game/screens.rpy:583
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:585
|
||||
# gui/game/screens.rpy:587
|
||||
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"
|
||||
|
||||
# gui/game/screens.rpy:604
|
||||
# gui/game/screens.rpy:606
|
||||
old "Page {}"
|
||||
new "Agepay {}"
|
||||
|
||||
# gui/game/screens.rpy:604
|
||||
# gui/game/screens.rpy:606
|
||||
old "Automatic saves"
|
||||
new "Utomaticaay avessay"
|
||||
|
||||
# gui/game/screens.rpy:604
|
||||
# gui/game/screens.rpy:606
|
||||
old "Quick saves"
|
||||
new "Uickqay avessay"
|
||||
|
||||
# gui/game/screens.rpy:610
|
||||
# gui/game/screens.rpy:612
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:614
|
||||
# gui/game/screens.rpy:616
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:626
|
||||
# gui/game/screens.rpy:628
|
||||
old "## The grid of file slots."
|
||||
new "## Hetay idgray ofay ilefay otsslay."
|
||||
|
||||
# gui/game/screens.rpy:646
|
||||
# gui/game/screens.rpy:648
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%Aay, %Bay %day %Yay, %Hay:%May"
|
||||
|
||||
# gui/game/screens.rpy:646
|
||||
# gui/game/screens.rpy:648
|
||||
old "empty slot"
|
||||
new "emptyay otslay"
|
||||
|
||||
# gui/game/screens.rpy:654
|
||||
# gui/game/screens.rpy:656
|
||||
old "## Buttons to access other pages."
|
||||
new "## Uttonsbay otay accessay otheray agespay."
|
||||
|
||||
# gui/game/screens.rpy:663
|
||||
# gui/game/screens.rpy:665
|
||||
old "<"
|
||||
new "<"
|
||||
|
||||
# gui/game/screens.rpy:666
|
||||
# gui/game/screens.rpy:668
|
||||
old "{#auto_page}A"
|
||||
new "{#auto_page}Aay"
|
||||
|
||||
# gui/game/screens.rpy:669
|
||||
# gui/game/screens.rpy:671
|
||||
old "{#quick_page}Q"
|
||||
new "{#quick_page}Qay"
|
||||
|
||||
# gui/game/screens.rpy:671
|
||||
# gui/game/screens.rpy:673
|
||||
old "## range(1, 10) gives the numbers from 1 to 9."
|
||||
new "## angeray(1ay, 01ay) ivesgay hetay umbersnay omfray 1ay otay 9ay."
|
||||
|
||||
# gui/game/screens.rpy:675
|
||||
# gui/game/screens.rpy:677
|
||||
old ">"
|
||||
new ">"
|
||||
|
||||
# gui/game/screens.rpy:710
|
||||
# gui/game/screens.rpy:712
|
||||
old "## Preferences screen"
|
||||
new "## Referencespay creensay"
|
||||
|
||||
# gui/game/screens.rpy:712
|
||||
# gui/game/screens.rpy:714
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:715
|
||||
# gui/game/screens.rpy:717
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#referencespay"
|
||||
|
||||
# gui/game/screens.rpy:732
|
||||
# gui/game/screens.rpy:734
|
||||
old "Display"
|
||||
new "Isplayday"
|
||||
|
||||
# gui/game/screens.rpy:733
|
||||
# gui/game/screens.rpy:735
|
||||
old "Window"
|
||||
new "Indowway"
|
||||
|
||||
# gui/game/screens.rpy:734
|
||||
# gui/game/screens.rpy:736
|
||||
old "Fullscreen"
|
||||
new "Ullscreenfay"
|
||||
|
||||
# gui/game/screens.rpy:738
|
||||
# gui/game/screens.rpy:740
|
||||
old "Rollback Side"
|
||||
new "Ollbackray Idesay"
|
||||
|
||||
# gui/game/screens.rpy:739
|
||||
# gui/game/screens.rpy:741
|
||||
old "Disable"
|
||||
new "Isableday"
|
||||
|
||||
# gui/game/screens.rpy:740
|
||||
# gui/game/screens.rpy:742
|
||||
old "Left"
|
||||
new "Eftlay"
|
||||
|
||||
# gui/game/screens.rpy:741
|
||||
# gui/game/screens.rpy:743
|
||||
old "Right"
|
||||
new "Ightray"
|
||||
|
||||
# gui/game/screens.rpy:746
|
||||
# gui/game/screens.rpy:748
|
||||
old "Unseen Text"
|
||||
new "Nseenuay Exttay"
|
||||
|
||||
# gui/game/screens.rpy:747
|
||||
# gui/game/screens.rpy:749
|
||||
old "After Choices"
|
||||
new "Fteraay Hoicescay"
|
||||
|
||||
# gui/game/screens.rpy:748
|
||||
# gui/game/screens.rpy:750
|
||||
old "Transitions"
|
||||
new "Ransitionstay"
|
||||
|
||||
# gui/game/screens.rpy:750
|
||||
# gui/game/screens.rpy:752
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:761
|
||||
# gui/game/screens.rpy:763
|
||||
old "Text Speed"
|
||||
new "Exttay Peedsay"
|
||||
|
||||
# gui/game/screens.rpy:765
|
||||
# gui/game/screens.rpy:767
|
||||
old "Auto-Forward Time"
|
||||
new "Utoaay-Orwardfay Imetay"
|
||||
|
||||
# gui/game/screens.rpy:772
|
||||
# gui/game/screens.rpy:774
|
||||
old "Music Volume"
|
||||
new "Usicmay Olumevay"
|
||||
|
||||
# gui/game/screens.rpy:779
|
||||
# gui/game/screens.rpy:781
|
||||
old "Sound Volume"
|
||||
new "Oundsay Olumevay"
|
||||
|
||||
# gui/game/screens.rpy:785
|
||||
# gui/game/screens.rpy:787
|
||||
old "Test"
|
||||
new "Esttay"
|
||||
|
||||
# gui/game/screens.rpy:789
|
||||
# gui/game/screens.rpy:791
|
||||
old "Voice Volume"
|
||||
new "Oicevay Olumevay"
|
||||
|
||||
# gui/game/screens.rpy:800
|
||||
# gui/game/screens.rpy:802
|
||||
old "Mute All"
|
||||
new "Utemay Llaay"
|
||||
|
||||
# gui/game/screens.rpy:876
|
||||
# gui/game/screens.rpy:878
|
||||
old "## History screen"
|
||||
new "## Istoryhay creensay"
|
||||
|
||||
# gui/game/screens.rpy:878
|
||||
# gui/game/screens.rpy:880
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:882
|
||||
# gui/game/screens.rpy:884
|
||||
old "## https://www.renpy.org/doc/html/history.html"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/istoryhay.tmlhay"
|
||||
|
||||
# gui/game/screens.rpy:888
|
||||
# gui/game/screens.rpy:890
|
||||
old "## Avoid predicting this screen, as it can be very large."
|
||||
new "## Voidaay redictingpay histay creensay, asay itay ancay ebay eryvay argelay."
|
||||
|
||||
# gui/game/screens.rpy:899
|
||||
# gui/game/screens.rpy:901
|
||||
old "## This lays things out properly if history_height is None."
|
||||
new "## Histay ayslay hingstay outay roperlypay ifay istory_heighthay isay Onenay."
|
||||
|
||||
# gui/game/screens.rpy:909
|
||||
# gui/game/screens.rpy:911
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:918
|
||||
# gui/game/screens.rpy:920
|
||||
old "The dialogue history is empty."
|
||||
new "Hetay ialogueday istoryhay isay emptyay."
|
||||
|
||||
# gui/game/screens.rpy:921
|
||||
# gui/game/screens.rpy:923
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:968
|
||||
# gui/game/screens.rpy:970
|
||||
old "## Help screen"
|
||||
new "## Elphay creensay"
|
||||
|
||||
# gui/game/screens.rpy:970
|
||||
# gui/game/screens.rpy:972
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:989
|
||||
# gui/game/screens.rpy:991
|
||||
old "Keyboard"
|
||||
new "Eyboardkay"
|
||||
|
||||
# gui/game/screens.rpy:990
|
||||
# gui/game/screens.rpy:992
|
||||
old "Mouse"
|
||||
new "Ousemay"
|
||||
|
||||
# gui/game/screens.rpy:993
|
||||
# gui/game/screens.rpy:995
|
||||
old "Gamepad"
|
||||
new "Amepadgay"
|
||||
|
||||
# gui/game/screens.rpy:1006
|
||||
# gui/game/screens.rpy:1008
|
||||
old "Enter"
|
||||
new "Ntereay"
|
||||
|
||||
# gui/game/screens.rpy:1007
|
||||
# gui/game/screens.rpy:1009
|
||||
old "Advances dialogue and activates the interface."
|
||||
new "Dvancesaay ialogueday anday activatesay hetay interfaceay."
|
||||
|
||||
# gui/game/screens.rpy:1010
|
||||
# gui/game/screens.rpy:1012
|
||||
old "Space"
|
||||
new "Pacesay"
|
||||
|
||||
# gui/game/screens.rpy:1011
|
||||
# gui/game/screens.rpy:1013
|
||||
old "Advances dialogue without selecting choices."
|
||||
new "Dvancesaay ialogueday ithoutway electingsay oiceschay."
|
||||
|
||||
# gui/game/screens.rpy:1014
|
||||
# gui/game/screens.rpy:1016
|
||||
old "Arrow Keys"
|
||||
new "Rrowaay Eyskay"
|
||||
|
||||
# gui/game/screens.rpy:1015
|
||||
# gui/game/screens.rpy:1017
|
||||
old "Navigate the interface."
|
||||
new "Avigatenay hetay interfaceay."
|
||||
|
||||
# gui/game/screens.rpy:1018
|
||||
# gui/game/screens.rpy:1020
|
||||
old "Escape"
|
||||
new "Scapeeay"
|
||||
|
||||
# gui/game/screens.rpy:1019
|
||||
# gui/game/screens.rpy:1021
|
||||
old "Accesses the game menu."
|
||||
new "Ccessesaay hetay amegay enumay."
|
||||
|
||||
# gui/game/screens.rpy:1022
|
||||
# gui/game/screens.rpy:1024
|
||||
old "Ctrl"
|
||||
new "Trlcay"
|
||||
|
||||
# gui/game/screens.rpy:1023
|
||||
# gui/game/screens.rpy:1025
|
||||
old "Skips dialogue while held down."
|
||||
new "Kipssay ialogueday hileway eldhay ownday."
|
||||
|
||||
# gui/game/screens.rpy:1026
|
||||
# gui/game/screens.rpy:1028
|
||||
old "Tab"
|
||||
new "Abtay"
|
||||
|
||||
# gui/game/screens.rpy:1027
|
||||
# gui/game/screens.rpy:1029
|
||||
old "Toggles dialogue skipping."
|
||||
new "Ogglestay ialogueday kippingsay."
|
||||
|
||||
# gui/game/screens.rpy:1030
|
||||
# gui/game/screens.rpy:1032
|
||||
old "Page Up"
|
||||
new "Agepay Puay"
|
||||
|
||||
# gui/game/screens.rpy:1031
|
||||
# gui/game/screens.rpy:1033
|
||||
old "Rolls back to earlier dialogue."
|
||||
new "Ollsray ackbay otay earlieray ialogueday."
|
||||
|
||||
# gui/game/screens.rpy:1034
|
||||
# gui/game/screens.rpy:1036
|
||||
old "Page Down"
|
||||
new "Agepay Ownday"
|
||||
|
||||
# gui/game/screens.rpy:1035
|
||||
# gui/game/screens.rpy:1037
|
||||
old "Rolls forward to later dialogue."
|
||||
new "Ollsray orwardfay otay aterlay ialogueday."
|
||||
|
||||
# gui/game/screens.rpy:1039
|
||||
# gui/game/screens.rpy:1041
|
||||
old "Hides the user interface."
|
||||
new "Ideshay hetay useray interfaceay."
|
||||
|
||||
# gui/game/screens.rpy:1043
|
||||
# gui/game/screens.rpy:1045
|
||||
old "Takes a screenshot."
|
||||
new "Akestay aay creenshotsay."
|
||||
|
||||
# gui/game/screens.rpy:1047
|
||||
# gui/game/screens.rpy:1049
|
||||
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}."
|
||||
|
||||
# gui/game/screens.rpy:1053
|
||||
# gui/game/screens.rpy:1055
|
||||
old "Left Click"
|
||||
new "Eftlay Lickcay"
|
||||
|
||||
# gui/game/screens.rpy:1057
|
||||
# gui/game/screens.rpy:1059
|
||||
old "Middle Click"
|
||||
new "Iddlemay Lickcay"
|
||||
|
||||
# gui/game/screens.rpy:1061
|
||||
# gui/game/screens.rpy:1063
|
||||
old "Right Click"
|
||||
new "Ightray Lickcay"
|
||||
|
||||
# gui/game/screens.rpy:1065
|
||||
# gui/game/screens.rpy:1067
|
||||
old "Mouse Wheel Up\nClick Rollback Side"
|
||||
new "Ousemay Heelway Puay\nLickcay Ollbackray Idesay"
|
||||
|
||||
# gui/game/screens.rpy:1069
|
||||
# gui/game/screens.rpy:1071
|
||||
old "Mouse Wheel Down"
|
||||
new "Ousemay Heelway Ownday"
|
||||
|
||||
# gui/game/screens.rpy:1076
|
||||
# gui/game/screens.rpy:1078
|
||||
old "Right Trigger\nA/Bottom Button"
|
||||
new "Ightray Riggertay\nAay/Ottombay Uttonbay"
|
||||
|
||||
# gui/game/screens.rpy:1080
|
||||
# gui/game/screens.rpy:1082
|
||||
old "Left Trigger\nLeft Shoulder"
|
||||
new "Eftlay Riggertay\nEftlay Houldersay"
|
||||
|
||||
# gui/game/screens.rpy:1084
|
||||
# gui/game/screens.rpy:1086
|
||||
old "Right Shoulder"
|
||||
new "Ightray Houldersay"
|
||||
|
||||
# gui/game/screens.rpy:1089
|
||||
# gui/game/screens.rpy:1091
|
||||
old "D-Pad, Sticks"
|
||||
new "Day-Adpay, Tickssay"
|
||||
|
||||
# gui/game/screens.rpy:1093
|
||||
# gui/game/screens.rpy:1095
|
||||
old "Start, Guide"
|
||||
new "Tartsay, Uidegay"
|
||||
|
||||
# gui/game/screens.rpy:1097
|
||||
# gui/game/screens.rpy:1099
|
||||
old "Y/Top Button"
|
||||
new "Yay/Optay Uttonbay"
|
||||
|
||||
# gui/game/screens.rpy:1100
|
||||
# gui/game/screens.rpy:1102
|
||||
old "Calibrate"
|
||||
new "Alibratecay"
|
||||
|
||||
# gui/game/screens.rpy:1128
|
||||
# gui/game/screens.rpy:1130
|
||||
old "## Additional screens"
|
||||
new "## Dditionalaay creenssay"
|
||||
|
||||
# gui/game/screens.rpy:1132
|
||||
# gui/game/screens.rpy:1134
|
||||
old "## Confirm screen"
|
||||
new "## Onfirmcay creensay"
|
||||
|
||||
# gui/game/screens.rpy:1134
|
||||
# gui/game/screens.rpy:1136
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:1137
|
||||
# gui/game/screens.rpy:1139
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#onfirmcay"
|
||||
|
||||
# gui/game/screens.rpy:1141
|
||||
# gui/game/screens.rpy:1143
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:1165
|
||||
# gui/game/screens.rpy:1167
|
||||
old "Yes"
|
||||
new "Esyay"
|
||||
|
||||
# gui/game/screens.rpy:1166
|
||||
# gui/game/screens.rpy:1168
|
||||
old "No"
|
||||
new "Onay"
|
||||
|
||||
# gui/game/screens.rpy:1168
|
||||
# gui/game/screens.rpy:1170
|
||||
old "## Right-click and escape answer \"no\"."
|
||||
new "## Ightray-ickclay anday escapeay answeray \"onay\"."
|
||||
|
||||
# gui/game/screens.rpy:1195
|
||||
# gui/game/screens.rpy:1197
|
||||
old "## Skip indicator screen"
|
||||
new "## Kipsay indicatoray creensay"
|
||||
|
||||
# gui/game/screens.rpy:1197
|
||||
# gui/game/screens.rpy:1199
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:1200
|
||||
# gui/game/screens.rpy:1202
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#kipsay-indicatoray"
|
||||
|
||||
# gui/game/screens.rpy:1212
|
||||
# gui/game/screens.rpy:1214
|
||||
old "Skipping"
|
||||
new "Kippingsay"
|
||||
|
||||
# gui/game/screens.rpy:1219
|
||||
# gui/game/screens.rpy:1221
|
||||
old "## This transform is used to blink the arrows one after another."
|
||||
new "## Histay ansformtray isay useday otay inkblay hetay arrowsay oneay afteray anotheray."
|
||||
|
||||
# gui/game/screens.rpy:1246
|
||||
# gui/game/screens.rpy:1248
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:1251
|
||||
# gui/game/screens.rpy:1253
|
||||
old "## Notify screen"
|
||||
new "## Otifynay creensay"
|
||||
|
||||
# gui/game/screens.rpy:1253
|
||||
# gui/game/screens.rpy:1255
|
||||
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.)"
|
||||
|
||||
# gui/game/screens.rpy:1256
|
||||
# gui/game/screens.rpy:1258
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#otifynay-creensay"
|
||||
|
||||
# gui/game/screens.rpy:1290
|
||||
# gui/game/screens.rpy:1292
|
||||
old "## NVL screen"
|
||||
new "## Vlnay creensay"
|
||||
|
||||
# gui/game/screens.rpy:1292
|
||||
# gui/game/screens.rpy:1294
|
||||
old "## This screen is used for NVL-mode dialogue and menus."
|
||||
new "## Histay creensay isay useday orfay Vlnay-odemay ialogueday anday enusmay."
|
||||
|
||||
# gui/game/screens.rpy:1294
|
||||
# gui/game/screens.rpy:1296
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
new "## ttpshay://wwway.enpyray.orgay/ocday/tmlhay/creen_specialsay.tmlhay#vlnay"
|
||||
|
||||
# gui/game/screens.rpy:1305
|
||||
# gui/game/screens.rpy:1307
|
||||
old "## Displays dialogue in either a vpgrid or the vbox."
|
||||
new "## Isplaysday ialogueday inay eitheray aay pgridvay oray hetay boxvay."
|
||||
|
||||
# gui/game/screens.rpy:1318
|
||||
# gui/game/screens.rpy:1320
|
||||
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True, 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."
|
||||
|
||||
# gui/game/screens.rpy:1348
|
||||
# gui/game/screens.rpy:1350
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:1410
|
||||
# gui/game/screens.rpy:1412
|
||||
old "## Mobile Variants"
|
||||
new "## Obilemay Ariantsvay"
|
||||
|
||||
# gui/game/screens.rpy:1417
|
||||
# gui/game/screens.rpy:1419
|
||||
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."
|
||||
|
||||
# gui/game/screens.rpy:1435
|
||||
# gui/game/screens.rpy:1437
|
||||
old "Menu"
|
||||
new "Enumay"
|
||||
|
||||
|
||||
@@ -880,3 +880,11 @@ translate russian strings:
|
||||
# renpy/common/00accessibility.rpy:191
|
||||
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
|
||||
new "Параметры этого меню предназначены для увеличения доступности. Они могут работать не со всеми играми, а некоторые комбинации опций могут сделать игру отображаемой некорректно. Это не проблема с игрой или движком. Для достижения наилучших результатов при изменении шрифтов старайтесь сохранять размер текста таким, каким он был изначально."
|
||||
|
||||
# renpy/common/00accessibility.rpy:193
|
||||
old "Self-Voicing Volume Drop"
|
||||
new "Уменьшение громкости при озвучке через синтезатор речи"
|
||||
|
||||
# renpy/common/00preferences.rpy:384
|
||||
old "self voicing volume drop"
|
||||
new "уменьшение громкости при озвучке через синтезатор речи"
|
||||
|
||||
@@ -72,3 +72,15 @@ translate russian strings:
|
||||
# 00console.rpy:690
|
||||
old "long: Print the full representation of objects on the console."
|
||||
new "long: Выводить полное представление обектов (repr) в консоли."
|
||||
|
||||
# renpy/common/00console.rpy:814
|
||||
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
|
||||
new "watch <выражение>: наблюдать за выражением python\n watch short: укорачивает отображение отслеживаемых выражений (по умолчанию)\n watch long: делает отображение отслеживаемых выражений как есть"
|
||||
|
||||
# renpy/common/00console.rpy:925
|
||||
old "escape: Enables escaping of unicode symbols in unicode strings."
|
||||
new "escape: Включает экранирование Unicode символов в строках unicode."
|
||||
|
||||
# renpy/common/00console.rpy:929
|
||||
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
|
||||
new "unescape: Выключает экранирование Unicode символов в строках unicode и выводит их как есть (по умолчанию)."
|
||||
|
||||
@@ -236,3 +236,39 @@ translate russian strings:
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "Копирует файл errors.txt в буфер обмена как Markdown для Дискорда."
|
||||
|
||||
# renpy/common/00gltest.rpy:100
|
||||
old "Force GL Renderer"
|
||||
new "Принудительный GL рендеринг"
|
||||
|
||||
# renpy/common/00gltest.rpy:105
|
||||
old "Force ANGLE Renderer"
|
||||
new "Принудительный ANGLE рендеринг"
|
||||
|
||||
# renpy/common/00gltest.rpy:110
|
||||
old "Force GLES Renderer"
|
||||
new "Принудительный GLES рендеринг"
|
||||
|
||||
# renpy/common/00gltest.rpy:116
|
||||
old "Force GL2 Renderer"
|
||||
new "Принудительный GL2 рендеринг"
|
||||
|
||||
# renpy/common/00gltest.rpy:121
|
||||
old "Force ANGLE2 Renderer"
|
||||
new "Принудительный ANGLE2 рендеринг"
|
||||
|
||||
# renpy/common/00gltest.rpy:126
|
||||
old "Force GLES2 Renderer"
|
||||
new "Принудительный GLES2 рендеринг"
|
||||
|
||||
# renpy/common/00gltest.rpy:245
|
||||
old "This game requires use of GL2 that can't be initialised."
|
||||
new "Эта игра требует использование GL2 который не может быть инициализирован."
|
||||
|
||||
# renpy/common/00gltest.rpy:256
|
||||
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
|
||||
new "Больше информации о том как это может быть исправлено смотрите в {a=[url]}документации{/a}."
|
||||
|
||||
# renpy/common/00gltest.rpy:273
|
||||
old "Change render options"
|
||||
new "Изменить настройки рендеринга"
|
||||
|
||||
@@ -418,8 +418,8 @@ translate russian strings:
|
||||
new "Я могу создать для вас ключ для подписи приложения. Подпись приложения этим ключом позволит разместить его в Android Market и других магазинах приложений.\n\nХотите создать ключ?"
|
||||
|
||||
# androidstrings.rpy:66
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\n\\You also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "Я создам ключ в файле android.keystore.\n\nВам нужно сохранить этот файл. Если вы его потеряете, то не сможете обновлять ваше приложение. n.\n\n\\Также вам нужно держать ваш ключ в безопасность. Если злоумышленникам удастся получить его, они потенциально могут создать вредоносную версию приложения и красть данные ваших пользователей.\n\nБудете ли вы хранить android.keystore и держать его в надёжном месте?"
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "Я создам ключ в файле android.keystore.\n\nВам нужно сохранить этот файл. Если вы его потеряете, то не сможете обновлять ваше приложение.\n\nТакже вам нужно держать ваш ключ в безопасность. Если злоумышленникам удастся получить его, они потенциально могут создать вредоносную версию приложения и красть данные ваших пользователей.\n\nБудете ли вы хранить android.keystore и держать его в надёжном месте?"
|
||||
|
||||
# androidstrings.rpy:67
|
||||
old "Please enter your name or the name of your organization."
|
||||
@@ -1604,3 +1604,55 @@ translate russian strings:
|
||||
# game/web.rpy:151
|
||||
old "Open build directory"
|
||||
new "Открыть папку сборки"
|
||||
|
||||
# game/androidstrings.rpy:47
|
||||
old "Do you want to automatically update the Java source code?"
|
||||
new "Вы хотите автоматически обновлять исходный код Java?"
|
||||
|
||||
# game/choose_directory.rpy:93
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python3-tk or tkinter package."
|
||||
new "Ren'Py не смог запустить python с tkinter для выбора каталога. Пожалуйста, установите модуль python3-tk или tkinter."
|
||||
|
||||
# game/front_page.rpy:198
|
||||
old "audio"
|
||||
new "звук"
|
||||
|
||||
# game/install.rpy:33
|
||||
old "Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."
|
||||
new "Установка [name!t] провалилась, так как файл, соответствующий [zipglob] не был найден в папке Ren'Py SDK."
|
||||
|
||||
# game/install.rpy:76
|
||||
old "Successfully installed [name!t]."
|
||||
new "Успешно установлен [name!t]."
|
||||
|
||||
# game/install.rpy:104
|
||||
old "Install Libraries"
|
||||
new "Установка библиотек"
|
||||
|
||||
# game/install.rpy:119
|
||||
old "This screen allows you to install libraries that can't be distributed with Ren'Py. Some of these libraries may require you to agree to a third-party license before being used or distributed."
|
||||
new "Этот экран позволяет установить библиотеки, которые не могут распространяться вместе с Ren'Py. Некоторые из этих библиотек могут потребовать от вас принятия сторонней лицензии для использования или распространения."
|
||||
|
||||
# game/install.rpy:134
|
||||
old "The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc."
|
||||
new "{a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} добавляет поддержку отображения моделей Live2D. Поместите CubismSdkForNative-4-{i}версия{/i}.zip в папку Ren'Py SDK, а затем нажмите кнопку Установить. Для распространения игры с Live2D необходимо принять лицензию от Live2D, Inc."
|
||||
|
||||
# game/install.rpy:138
|
||||
old "Open Ren'Py SDK Directory"
|
||||
new "Открыть папку Ren'Py SDK"
|
||||
|
||||
# game/preferences.rpy:138
|
||||
old "Install libraries"
|
||||
new "Установить библиотеки"
|
||||
|
||||
# game/preferences.rpy:140
|
||||
old "Reset window size"
|
||||
new "Сбросить размер окна"
|
||||
|
||||
# game/web.rpy:242
|
||||
old "Preparing progressive download"
|
||||
new "Подготовка прогрессивной загрузки"
|
||||
|
||||
# game/web.rpy:341
|
||||
old "Images and musics can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior."
|
||||
new "Изображения и музыка могут загружаться во время игры. Будет создан файл 'progressive_download.txt', чтобы вы могли настроить такое поведение."
|
||||
|
||||
@@ -1,6 +1,110 @@
|
||||
|
||||
|
||||
translate simplified_chinese strings:
|
||||
|
||||
# 00accessibility.rpy:28
|
||||
old "Self-voicing disabled."
|
||||
new "自动朗读已关闭。"
|
||||
|
||||
# 00accessibility.rpy:29
|
||||
old "Clipboard voicing enabled. "
|
||||
new "剪贴板朗读已开启。"
|
||||
|
||||
# 00accessibility.rpy:30
|
||||
old "Self-voicing enabled. "
|
||||
new "自动朗读已开启。"
|
||||
|
||||
# 00accessibility.rpy:32
|
||||
old "bar"
|
||||
new "bar"
|
||||
|
||||
# 00accessibility.rpy:33
|
||||
old "selected"
|
||||
new "selected"
|
||||
|
||||
# 00accessibility.rpy:34
|
||||
old "viewport"
|
||||
new "viewport"
|
||||
|
||||
# 00accessibility.rpy:35
|
||||
old "horizontal scroll"
|
||||
new "horizontal scroll"
|
||||
|
||||
# 00accessibility.rpy:36
|
||||
old "vertical scroll"
|
||||
new "vertical scroll"
|
||||
|
||||
# 00accessibility.rpy:37
|
||||
old "activate"
|
||||
new "activate"
|
||||
|
||||
# 00accessibility.rpy:38
|
||||
old "deactivate"
|
||||
new "deactivate"
|
||||
|
||||
# 00accessibility.rpy:39
|
||||
old "increase"
|
||||
new "increase"
|
||||
|
||||
# 00accessibility.rpy:40
|
||||
old "decrease"
|
||||
new "decrease"
|
||||
|
||||
# 00accessibility.rpy:128
|
||||
old "Font Override"
|
||||
new "字体替代"
|
||||
|
||||
# 00accessibility.rpy:132
|
||||
old "Default"
|
||||
new "默认"
|
||||
|
||||
# 00accessibility.rpy:136
|
||||
old "DejaVu Sans"
|
||||
new "DejaVu Sans"
|
||||
|
||||
# 00accessibility.rpy:140
|
||||
old "Opendyslexic"
|
||||
new "Opendyslexic"
|
||||
|
||||
# 00accessibility.rpy:146
|
||||
old "Text Size Scaling"
|
||||
new "字号缩放"
|
||||
|
||||
# 00accessibility.rpy:152
|
||||
old "Reset"
|
||||
new "重置"
|
||||
|
||||
# 00accessibility.rpy:157
|
||||
old "Line Spacing Scaling"
|
||||
new "行距缩放"
|
||||
|
||||
# 00accessibility.rpy:169
|
||||
old "Self-Voicing"
|
||||
new "自动朗读"
|
||||
|
||||
# 00accessibility.rpy:173
|
||||
old "Off"
|
||||
new "关闭"
|
||||
|
||||
# 00accessibility.rpy:177
|
||||
old "Text-to-speech"
|
||||
new "文字转语音"
|
||||
|
||||
# 00accessibility.rpy:181
|
||||
old "Clipboard"
|
||||
new "剪贴板"
|
||||
|
||||
# 00accessibility.rpy:185
|
||||
old "Debug"
|
||||
new "调试"
|
||||
|
||||
# 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 "此菜单上的选项旨在改善辅助功能。这些选项可能不适用于所有游戏,并且某些选项组合可能会导致游戏无法游玩。这不是游戏或引擎的问题。为了在更改字体时获得最佳效果,请尝试保持文字大小与原始大小相同。"
|
||||
|
||||
# 00accessibility.rpy:193
|
||||
old "Self-Voicing Volume Drop"
|
||||
new "自动朗读音量下降"
|
||||
|
||||
# 00action_file.rpy:26
|
||||
old "{#weekday}Monday"
|
||||
new "{#weekday}星期一"
|
||||
@@ -155,7 +259,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# 00action_file.rpy:240
|
||||
old "%b %d, %H:%M"
|
||||
new "%m月%d日,%H:%M"
|
||||
new "%m-%d %H:%M"
|
||||
|
||||
# 00action_file.rpy:353
|
||||
old "Save slot %s: [text]"
|
||||
@@ -181,27 +285,27 @@ translate simplified_chinese strings:
|
||||
old "File page [text]"
|
||||
new "第 [text] 存档页"
|
||||
|
||||
# 00action_file.rpy:763
|
||||
# 00action_file.rpy:772
|
||||
old "Next file page."
|
||||
new "下一存档页。"
|
||||
|
||||
# 00action_file.rpy:827
|
||||
# 00action_file.rpy:845
|
||||
old "Previous file page."
|
||||
new "上一存档页。"
|
||||
|
||||
# 00action_file.rpy:889
|
||||
# 00action_file.rpy:906
|
||||
old "Quick save complete."
|
||||
new "快速保存完成。"
|
||||
|
||||
# 00action_file.rpy:907
|
||||
# 00action_file.rpy:924
|
||||
old "Quick save."
|
||||
new "快速保存。"
|
||||
|
||||
# 00action_file.rpy:926
|
||||
# 00action_file.rpy:943
|
||||
old "Quick load."
|
||||
new "快速读取。"
|
||||
|
||||
# 00action_other.rpy:355
|
||||
# 00action_other.rpy:375
|
||||
old "Language [text]"
|
||||
new "语言 [text]"
|
||||
|
||||
@@ -297,433 +401,409 @@ translate simplified_chinese strings:
|
||||
old "Audio Filename:"
|
||||
new "音频文件:"
|
||||
|
||||
# 00gui.rpy:370
|
||||
# 00gui.rpy:374
|
||||
old "Are you sure?"
|
||||
new "您确定吗?"
|
||||
|
||||
# 00gui.rpy:371
|
||||
# 00gui.rpy:375
|
||||
old "Are you sure you want to delete this save?"
|
||||
new "您确定要删除此存档吗?"
|
||||
|
||||
# 00gui.rpy:372
|
||||
# 00gui.rpy:376
|
||||
old "Are you sure you want to overwrite your save?"
|
||||
new "您确定要覆盖此存档吗?"
|
||||
|
||||
# 00gui.rpy:373
|
||||
# 00gui.rpy:377
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "读取存档将会使未保存的进度丢失。\n您确定要继续吗?"
|
||||
|
||||
# 00gui.rpy:374
|
||||
# 00gui.rpy:378
|
||||
old "Are you sure you want to quit?"
|
||||
new "您确定要退出吗?"
|
||||
|
||||
# 00gui.rpy:375
|
||||
# 00gui.rpy:379
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "您确定要返回到标题画面吗?\n此操作将会使未保存的进度丢失。"
|
||||
new "您确定要返回到标题界面吗?\n此操作将会使未保存的进度丢失。"
|
||||
|
||||
# 00gui.rpy:376
|
||||
# 00gui.rpy:380
|
||||
old "Are you sure you want to end the replay?"
|
||||
new "您确定要结束回放吗?"
|
||||
|
||||
# 00gui.rpy:377
|
||||
# 00gui.rpy:381
|
||||
old "Are you sure you want to begin skipping?"
|
||||
new "您确定要开始快进吗?"
|
||||
|
||||
# 00gui.rpy:378
|
||||
# 00gui.rpy:382
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "您确定要直接快进到下个选项吗?"
|
||||
|
||||
# 00gui.rpy:379
|
||||
# 00gui.rpy:383
|
||||
old "Are you sure you want to skip unseen dialogue to the next choice?"
|
||||
new "您确定要跳过未读对话,直接快进到下个选项吗?"
|
||||
|
||||
# 00keymap.rpy:258
|
||||
# 00keymap.rpy:267
|
||||
old "Failed to save screenshot as %s."
|
||||
new "截图保存到以下位置时失败:%s"
|
||||
|
||||
# 00keymap.rpy:270
|
||||
# 00keymap.rpy:279
|
||||
old "Saved screenshot as %s."
|
||||
new "截图已保存到以下位置:%s"
|
||||
|
||||
# 00library.rpy:146
|
||||
old "Self-voicing disabled."
|
||||
new "自动朗读已关闭。"
|
||||
|
||||
# 00library.rpy:147
|
||||
old "Clipboard voicing enabled. "
|
||||
new "剪贴板朗读已开启。"
|
||||
|
||||
# 00library.rpy:148
|
||||
old "Self-voicing enabled. "
|
||||
new "自动朗读已开启。"
|
||||
|
||||
# 00library.rpy:150
|
||||
old "bar"
|
||||
new "bar"
|
||||
|
||||
# 00library.rpy:151
|
||||
old "selected"
|
||||
new "selected"
|
||||
|
||||
# 00library.rpy:152
|
||||
old "viewport"
|
||||
new "viewport"
|
||||
|
||||
# 00library.rpy:153
|
||||
old "horizontal scroll"
|
||||
new "horizontal scroll"
|
||||
|
||||
# 00library.rpy:154
|
||||
old "vertical scroll"
|
||||
new "vertical scroll"
|
||||
|
||||
# 00library.rpy:155
|
||||
old "activate"
|
||||
new "activate"
|
||||
|
||||
# 00library.rpy:156
|
||||
old "deactivate"
|
||||
new "deactivate"
|
||||
|
||||
# 00library.rpy:157
|
||||
old "increase"
|
||||
new "increase"
|
||||
|
||||
# 00library.rpy:158
|
||||
old "decrease"
|
||||
new "decrease"
|
||||
|
||||
# 00library.rpy:193
|
||||
# 00library.rpy:195
|
||||
old "Skip Mode"
|
||||
new "快进"
|
||||
|
||||
# 00library.rpy:279
|
||||
# 00library.rpy:281
|
||||
old "This program contains free software under a number of licenses, including the MIT License and GNU Lesser General Public License. A complete list of software, including links to full source code, can be found {a=https://www.renpy.org/l/license}here{/a}."
|
||||
new "本程序包含了由数个许可证授权的免费软件,包括 MIT 许可证和 GNU 宽松通用公共许可证。完整软件列表及源代码链接,请{a=https://www.renpy.org/l/license}访问此处{/a}。"
|
||||
|
||||
# 00preferences.rpy:207
|
||||
# 00preferences.rpy:233
|
||||
old "display"
|
||||
new "display"
|
||||
|
||||
# 00preferences.rpy:219
|
||||
# 00preferences.rpy:245
|
||||
old "transitions"
|
||||
new "transitions"
|
||||
|
||||
# 00preferences.rpy:228
|
||||
# 00preferences.rpy:254
|
||||
old "skip transitions"
|
||||
new "skip transitions"
|
||||
|
||||
# 00preferences.rpy:230
|
||||
# 00preferences.rpy:256
|
||||
old "video sprites"
|
||||
new "video sprites"
|
||||
|
||||
# 00preferences.rpy:239
|
||||
# 00preferences.rpy:265
|
||||
old "show empty window"
|
||||
new "show empty window"
|
||||
|
||||
# 00preferences.rpy:248
|
||||
# 00preferences.rpy:274
|
||||
old "text speed"
|
||||
new "text speed"
|
||||
|
||||
# 00preferences.rpy:256
|
||||
# 00preferences.rpy:282
|
||||
old "joystick"
|
||||
new "joystick"
|
||||
|
||||
# 00preferences.rpy:256
|
||||
# 00preferences.rpy:282
|
||||
old "joystick..."
|
||||
new "joystick..."
|
||||
|
||||
# 00preferences.rpy:263
|
||||
# 00preferences.rpy:289
|
||||
old "skip"
|
||||
new "skip"
|
||||
|
||||
# 00preferences.rpy:266
|
||||
# 00preferences.rpy:292
|
||||
old "skip unseen [text]"
|
||||
new "skip unseen [text]"
|
||||
|
||||
# 00preferences.rpy:271
|
||||
# 00preferences.rpy:297
|
||||
old "skip unseen text"
|
||||
new "skip unseen text"
|
||||
|
||||
# 00preferences.rpy:273
|
||||
# 00preferences.rpy:299
|
||||
old "begin skipping"
|
||||
new "begin skipping"
|
||||
|
||||
# 00preferences.rpy:277
|
||||
# 00preferences.rpy:303
|
||||
old "after choices"
|
||||
new "after choices"
|
||||
|
||||
# 00preferences.rpy:284
|
||||
# 00preferences.rpy:310
|
||||
old "skip after choices"
|
||||
new "skip after choices"
|
||||
|
||||
# 00preferences.rpy:286
|
||||
# 00preferences.rpy:312
|
||||
old "auto-forward time"
|
||||
new "auto-forward time"
|
||||
|
||||
# 00preferences.rpy:300
|
||||
# 00preferences.rpy:326
|
||||
old "auto-forward"
|
||||
new "auto-forward"
|
||||
|
||||
# 00preferences.rpy:307
|
||||
# 00preferences.rpy:333
|
||||
old "Auto forward"
|
||||
new "自动前进"
|
||||
|
||||
# 00preferences.rpy:310
|
||||
# 00preferences.rpy:336
|
||||
old "auto-forward after click"
|
||||
new "auto-forward after click"
|
||||
|
||||
# 00preferences.rpy:319
|
||||
# 00preferences.rpy:345
|
||||
old "automatic move"
|
||||
new "automatic move"
|
||||
|
||||
# 00preferences.rpy:328
|
||||
# 00preferences.rpy:354
|
||||
old "wait for voice"
|
||||
new "wait for voice"
|
||||
|
||||
# 00preferences.rpy:337
|
||||
# 00preferences.rpy:363
|
||||
old "voice sustain"
|
||||
new "voice sustain"
|
||||
|
||||
# 00preferences.rpy:346
|
||||
# 00preferences.rpy:372
|
||||
old "self voicing"
|
||||
new "self voicing"
|
||||
|
||||
# 00preferences.rpy:355
|
||||
# 00preferences.rpy:381
|
||||
old "clipboard voicing"
|
||||
new "clipboard voicing"
|
||||
|
||||
# 00preferences.rpy:364
|
||||
# 00preferences.rpy:384
|
||||
old "self voicing volume drop"
|
||||
new "self voicing volume drop"
|
||||
|
||||
# 00preferences.rpy:390
|
||||
old "debug voicing"
|
||||
new "debug voicing"
|
||||
|
||||
# 00preferences.rpy:373
|
||||
# 00preferences.rpy:399
|
||||
old "emphasize audio"
|
||||
new "emphasize audio"
|
||||
|
||||
# 00preferences.rpy:382
|
||||
# 00preferences.rpy:408
|
||||
old "rollback side"
|
||||
new "rollback side"
|
||||
|
||||
# 00preferences.rpy:392
|
||||
# 00preferences.rpy:418
|
||||
old "gl powersave"
|
||||
new "gl powersave"
|
||||
|
||||
# 00preferences.rpy:398
|
||||
# 00preferences.rpy:424
|
||||
old "gl framerate"
|
||||
new "gl framerate"
|
||||
|
||||
# 00preferences.rpy:401
|
||||
# 00preferences.rpy:427
|
||||
old "gl tearing"
|
||||
new "gl tearing"
|
||||
|
||||
# 00preferences.rpy:413
|
||||
# 00preferences.rpy:430
|
||||
old "font transform"
|
||||
new "font transform"
|
||||
|
||||
# 00preferences.rpy:433
|
||||
old "font size"
|
||||
new "font size"
|
||||
|
||||
# 00preferences.rpy:441
|
||||
old "font line spacing"
|
||||
new "font line spacing"
|
||||
|
||||
# 00preferences.rpy:460
|
||||
old "music volume"
|
||||
new "music volume"
|
||||
|
||||
# 00preferences.rpy:414
|
||||
# 00preferences.rpy:461
|
||||
old "sound volume"
|
||||
new "sound volume"
|
||||
|
||||
# 00preferences.rpy:415
|
||||
# 00preferences.rpy:462
|
||||
old "voice volume"
|
||||
new "voice volume"
|
||||
|
||||
# 00preferences.rpy:416
|
||||
# 00preferences.rpy:463
|
||||
old "mute music"
|
||||
new "mute music"
|
||||
|
||||
# 00preferences.rpy:417
|
||||
# 00preferences.rpy:464
|
||||
old "mute sound"
|
||||
new "mute sound"
|
||||
|
||||
# 00preferences.rpy:418
|
||||
# 00preferences.rpy:465
|
||||
old "mute voice"
|
||||
new "mute voice"
|
||||
|
||||
# 00preferences.rpy:419
|
||||
# 00preferences.rpy:466
|
||||
old "mute all"
|
||||
new "mute all"
|
||||
|
||||
# 00preferences.rpy:500
|
||||
# 00preferences.rpy:547
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "剪贴板朗读已开启。按 Shift+C 来关闭。"
|
||||
|
||||
# 00preferences.rpy:502
|
||||
# 00preferences.rpy:549
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "自动朗读将开始朗读“[renpy.display.tts.last]”。按 Alt+Shift+V 来关闭。"
|
||||
|
||||
# 00preferences.rpy:504
|
||||
# 00preferences.rpy:551
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "自动朗读已开启。按 V 来关闭。"
|
||||
|
||||
# _compat\gamemenu.rpym:198
|
||||
# _compat/gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
new "空存档位。"
|
||||
|
||||
# _compat\gamemenu.rpym:355
|
||||
# _compat/gamemenu.rpym:355
|
||||
old "Previous"
|
||||
new "上一页"
|
||||
|
||||
# _compat\gamemenu.rpym:362
|
||||
# _compat/gamemenu.rpym:362
|
||||
old "Next"
|
||||
new "下一页"
|
||||
|
||||
# _compat\preferences.rpym:428
|
||||
# _compat/preferences.rpym:428
|
||||
old "Joystick Mapping"
|
||||
new "手柄映射"
|
||||
|
||||
# _developer\developer.rpym:38
|
||||
# _developer/developer.rpym:38
|
||||
old "Developer Menu"
|
||||
new "开发者菜单"
|
||||
|
||||
# _developer\developer.rpym:43
|
||||
# _developer/developer.rpym:43
|
||||
old "Interactive Director (D)"
|
||||
new "互动导演 (D)"
|
||||
|
||||
# _developer\developer.rpym:45
|
||||
# _developer/developer.rpym:45
|
||||
old "Reload Game (Shift+R)"
|
||||
new "重新加载游戏 (Shift+R)"
|
||||
|
||||
# _developer\developer.rpym:47
|
||||
# _developer/developer.rpym:47
|
||||
old "Console (Shift+O)"
|
||||
new "控制台 (Shift+O)"
|
||||
|
||||
# _developer\developer.rpym:49
|
||||
# _developer/developer.rpym:49
|
||||
old "Variable Viewer"
|
||||
new "变量查看器"
|
||||
|
||||
# _developer\developer.rpym:51
|
||||
# _developer/developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "图像坐标提取器"
|
||||
|
||||
# _developer\developer.rpym:53
|
||||
# _developer/developer.rpym:53
|
||||
old "Filename List"
|
||||
new "文件列表"
|
||||
|
||||
# _developer\developer.rpym:57
|
||||
# _developer/developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "显示图像加载日志 (F4)"
|
||||
|
||||
# _developer\developer.rpym:60
|
||||
# _developer/developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "隐藏图像加载日志 (F4)"
|
||||
|
||||
# _developer\developer.rpym:63
|
||||
# _developer/developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "图像属性"
|
||||
|
||||
# _developer\developer.rpym:90
|
||||
# _developer/developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
new "[name] [attributes](隐藏)"
|
||||
|
||||
# _developer\developer.rpym:94
|
||||
# _developer/developer.rpym:94
|
||||
old "[name] [attributes]"
|
||||
new "[name] [attributes]"
|
||||
|
||||
# _developer\developer.rpym:137
|
||||
# _developer/developer.rpym:143
|
||||
old "Nothing to inspect."
|
||||
new "无对象可查验。"
|
||||
|
||||
# _developer\developer.rpym:265
|
||||
# _developer/developer.rpym:154
|
||||
old "Hide deleted"
|
||||
new "隐藏已删除项"
|
||||
|
||||
# _developer/developer.rpym:154
|
||||
old "Show deleted"
|
||||
new "显示已删除项"
|
||||
|
||||
# _developer/developer.rpym:278
|
||||
old "Return to the developer menu"
|
||||
new "返回到开发者菜单"
|
||||
|
||||
# _developer\developer.rpym:425
|
||||
# _developer/developer.rpym:443
|
||||
old "Rectangle: %r"
|
||||
new "矩形参数:%r"
|
||||
|
||||
# _developer\developer.rpym:430
|
||||
# _developer/developer.rpym:448
|
||||
old "Mouse position: %r"
|
||||
new "鼠标坐标:%r"
|
||||
|
||||
# _developer\developer.rpym:435
|
||||
# _developer/developer.rpym:453
|
||||
old "Right-click or escape to quit."
|
||||
new "右键点击或按下 Esc 键来退出。"
|
||||
|
||||
# _developer\developer.rpym:467
|
||||
# _developer/developer.rpym:485
|
||||
old "Rectangle copied to clipboard."
|
||||
new "矩形参数已复制到剪贴板。"
|
||||
|
||||
# _developer\developer.rpym:470
|
||||
# _developer/developer.rpym:488
|
||||
old "Position copied to clipboard."
|
||||
new "坐标已复制到剪贴板。"
|
||||
|
||||
# _developer\developer.rpym:489
|
||||
# _developer/developer.rpym:507
|
||||
old "Type to filter: "
|
||||
new "输入关键字过滤:"
|
||||
|
||||
# _developer\developer.rpym:617
|
||||
# _developer/developer.rpym:635
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "贴图:[tex_count] ([tex_size_mb:.1f] MB)"
|
||||
|
||||
# _developer\developer.rpym:621
|
||||
# _developer/developer.rpym:639
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "图像缓存:[cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
|
||||
# _developer\developer.rpym:631
|
||||
# _developer/developer.rpym:649
|
||||
old "✔ "
|
||||
new "✔ "
|
||||
|
||||
# _developer\developer.rpym:634
|
||||
# _developer/developer.rpym:652
|
||||
old "✘ "
|
||||
new "✘ "
|
||||
|
||||
# _developer\developer.rpym:639
|
||||
# _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}✔ 已预载图像(良好){/color}\n{color=#fcc}✘ 未预载图像(糟糕){/color}\n{color=#fff}拖动来移动位置。{/color}"
|
||||
|
||||
# _developer\inspector.rpym:38
|
||||
# _developer/inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
new "可视组件查验器"
|
||||
|
||||
# _developer\inspector.rpym:61
|
||||
# _developer/inspector.rpym:61
|
||||
old "Size"
|
||||
new "大小"
|
||||
|
||||
# _developer\inspector.rpym:65
|
||||
# _developer/inspector.rpym:65
|
||||
old "Style"
|
||||
new "样式"
|
||||
|
||||
# _developer\inspector.rpym:71
|
||||
# _developer/inspector.rpym:71
|
||||
old "Location"
|
||||
new "坐标"
|
||||
|
||||
# _developer\inspector.rpym:122
|
||||
# _developer/inspector.rpym:122
|
||||
old "Inspecting Styles of [displayable_name!q]"
|
||||
new "正在查验 [displayable_name!q] 的样式"
|
||||
|
||||
# _developer\inspector.rpym:139
|
||||
# _developer/inspector.rpym:139
|
||||
old "displayable:"
|
||||
new "displayable:"
|
||||
|
||||
# _developer\inspector.rpym:145
|
||||
# _developer/inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (可视组件尚无属性关联)"
|
||||
|
||||
# _developer\inspector.rpym:147
|
||||
# _developer/inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
new " (已省略默认属性)"
|
||||
|
||||
# _developer\inspector.rpym:185
|
||||
# _developer/inspector.rpym:185
|
||||
old "<repr() failed>"
|
||||
new "<repr() failed>"
|
||||
|
||||
# _layout\classic_load_save.rpym:170
|
||||
# _layout/classic_load_save.rpym:170
|
||||
old "a"
|
||||
new "a"
|
||||
|
||||
# _layout\classic_load_save.rpym:179
|
||||
# _layout/classic_load_save.rpym:179
|
||||
old "q"
|
||||
new "q"
|
||||
|
||||
# 00iap.rpy:217
|
||||
old "Contacting App Store\nPlease Wait..."
|
||||
new "正在联系 App Store\n请稍后……"
|
||||
new "正在连线 App Store\n请稍后……"
|
||||
|
||||
# 00updater.rpy:375
|
||||
old "The Ren'Py Updater is not supported on mobile devices."
|
||||
new "Py 更新器尚不支持移动设备。"
|
||||
new "Ren'Py 尚不支持在移动设备上执行更新。"
|
||||
|
||||
# 00updater.rpy:494
|
||||
old "An error is being simulated."
|
||||
@@ -759,7 +839,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# 00updater.rpy:1439
|
||||
old "Updater"
|
||||
new "更新器"
|
||||
new "更新程序"
|
||||
|
||||
# 00updater.rpy:1450
|
||||
old "This program is up to date."
|
||||
@@ -793,22 +873,22 @@ translate simplified_chinese strings:
|
||||
old "The updates were cancelled."
|
||||
new "更新已取消。"
|
||||
|
||||
# 00gallery.rpy:585
|
||||
# 00gallery.rpy:592
|
||||
old "Image [index] of [count] locked."
|
||||
new "图片 [count] / [index] 尚未解锁。"
|
||||
|
||||
# 00gallery.rpy:605
|
||||
# 00gallery.rpy:612
|
||||
old "prev"
|
||||
new "上一页"
|
||||
|
||||
# 00gallery.rpy:606
|
||||
# 00gallery.rpy:613
|
||||
old "next"
|
||||
new "下一页"
|
||||
|
||||
# 00gallery.rpy:607
|
||||
# 00gallery.rpy:614
|
||||
old "slideshow"
|
||||
new "幻灯片"
|
||||
|
||||
# 00gallery.rpy:608
|
||||
# 00gallery.rpy:615
|
||||
old "return"
|
||||
new "返回"
|
||||
|
||||
@@ -1,66 +1,82 @@
|
||||
|
||||
|
||||
translate simplified_chinese strings:
|
||||
|
||||
# 00console.rpy:255
|
||||
# 00console.rpy:273
|
||||
old "Press <esc> to exit console. Type help for help.\n"
|
||||
new "按 Esc 来退出控制台。输入 help 来查看帮助。\n"
|
||||
|
||||
# 00console.rpy:259
|
||||
# 00console.rpy:277
|
||||
old "Ren'Py script enabled."
|
||||
new "Ren'Py 脚本已开启。"
|
||||
|
||||
# 00console.rpy:261
|
||||
# 00console.rpy:279
|
||||
old "Ren'Py script disabled."
|
||||
new "Ren'Py 脚本已关闭。"
|
||||
|
||||
# 00console.rpy:496
|
||||
# 00console.rpy:526
|
||||
old "help: show this help"
|
||||
new "help:显示此帮助信息"
|
||||
|
||||
# 00console.rpy:501
|
||||
# 00console.rpy:531
|
||||
old "commands:\n"
|
||||
new "命令:\n"
|
||||
|
||||
# 00console.rpy:511
|
||||
# 00console.rpy:541
|
||||
old " <renpy script statement>: run the statement\n"
|
||||
new " <renpy 脚本语句>:运行此语句\n"
|
||||
|
||||
# 00console.rpy:513
|
||||
# 00console.rpy:543
|
||||
old " <python expression or statement>: run the expression or statement"
|
||||
new " <python 表达式或语句>:运行此表达式或语句"
|
||||
|
||||
# 00console.rpy:521
|
||||
# 00console.rpy:551
|
||||
old "clear: clear the console history"
|
||||
new "clear:清除控制台历史记录"
|
||||
|
||||
# 00console.rpy:525
|
||||
# 00console.rpy:555
|
||||
old "exit: exit the console"
|
||||
new "exit:退出控制台"
|
||||
|
||||
# 00console.rpy:533
|
||||
# 00console.rpy:563
|
||||
old "load <slot>: loads the game from slot"
|
||||
new "load <档位>:读取该档位的存档"
|
||||
|
||||
# 00console.rpy:546
|
||||
# 00console.rpy:576
|
||||
old "save <slot>: saves the game in slot"
|
||||
new "save <档位>:存储存档到该档位"
|
||||
|
||||
# 00console.rpy:557
|
||||
# 00console.rpy:587
|
||||
old "reload: reloads the game, refreshing the scripts"
|
||||
new "reload:重新加载游戏,并重新整理脚本"
|
||||
|
||||
# 00console.rpy:565
|
||||
old "watch <expression>: watch a python expression"
|
||||
new "watch <表达式>:监视该 python 表达式"
|
||||
# 00console.rpy:595
|
||||
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
|
||||
new "watch <表达式>:监视该 python 表达式\n watch short:简短表征所跟踪的表达式(默认)\n watch long:按原样表征所跟踪的表达式"
|
||||
|
||||
# 00console.rpy:591
|
||||
# 00console.rpy:621
|
||||
old "unwatch <expression>: stop watching an expression"
|
||||
new "unwatch <表达式>:停止监视该表达式"
|
||||
|
||||
# 00console.rpy:622
|
||||
# 00console.rpy:652
|
||||
old "unwatchall: stop watching all expressions"
|
||||
new "unwatchall:停止监视所有表达式"
|
||||
|
||||
# 00console.rpy:639
|
||||
# 00console.rpy:669
|
||||
old "jump <label>: jumps to label"
|
||||
new "jump <标签>:跳转到此标签"
|
||||
|
||||
# 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:在控制台中打印出对象的完整表征。"
|
||||
|
||||
# 00console.rpy:883
|
||||
old "escape: Enables escaping of unicode symbols in unicode strings."
|
||||
new "escape:启用转义 Unicode 字符串中的 Unicode 符号。"
|
||||
|
||||
# 00console.rpy:887
|
||||
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
|
||||
new "unescape:禁止转义 Unicode 字符串中的 Unicode 符号,并按原样显示(默认)。"
|
||||
|
||||
@@ -9,21 +9,29 @@ translate simplified_chinese strings:
|
||||
old "Automatically Choose"
|
||||
new "自动选择"
|
||||
|
||||
# 00gltest.rpy:79
|
||||
old "Force Angle/DirectX Renderer"
|
||||
new "强制 Angle/DirectX 渲染"
|
||||
# 00gltest.rpy:77
|
||||
old "Force ANGLE Renderer"
|
||||
new "强制 ANGLE 渲染"
|
||||
|
||||
# 00gltest.rpy:83
|
||||
old "Force OpenGL Renderer"
|
||||
new "强制 OpenGL 渲染"
|
||||
# 00gltest.rpy:81
|
||||
old "Force GL Renderer"
|
||||
new "强制 GL 渲染"
|
||||
|
||||
# 00gltest.rpy:87
|
||||
old "Force Software Renderer"
|
||||
new "强制软件渲染"
|
||||
# 00gltest.rpy:85
|
||||
old "Force GLES Renderer"
|
||||
new "强制 GLES 渲染"
|
||||
|
||||
# 00gltest.rpy:93
|
||||
old "NPOT"
|
||||
new "NPOT"
|
||||
# 00gltest.rpy:90
|
||||
old "Force ANGLE2 Renderer"
|
||||
new "强制 ANGLE2 渲染"
|
||||
|
||||
# 00gltest.rpy:94
|
||||
old "Force GL2 Renderer"
|
||||
new "强制 GL2 渲染"
|
||||
|
||||
# 00gltest.rpy:98
|
||||
old "Force GLES2 Renderer"
|
||||
new "强制 GLES2 渲染"
|
||||
|
||||
# 00gltest.rpy:97
|
||||
old "Enable"
|
||||
@@ -51,7 +59,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# 00gltest.rpy:163
|
||||
old "Tearing"
|
||||
new "画面割裂"
|
||||
new "画面撕裂"
|
||||
|
||||
# 00gltest.rpy:179
|
||||
old "Changes will take effect the next time this program is run."
|
||||
@@ -65,6 +73,10 @@ translate simplified_chinese strings:
|
||||
old "This computer is using software rendering."
|
||||
new "此计算机正在使用软件渲染。"
|
||||
|
||||
# 00gltest.rpy:245
|
||||
old "This game requires use of GL2 that can't be initialised."
|
||||
new "此游戏需要使用 GL2,但其无法初始化。"
|
||||
|
||||
# 00gltest.rpy:220
|
||||
old "This computer is not using shaders."
|
||||
new "此计算机没有使用着色器。"
|
||||
@@ -89,6 +101,10 @@ translate simplified_chinese strings:
|
||||
old "Update DirectX"
|
||||
new "更新 DirectX"
|
||||
|
||||
# 00gltest.rpy:256
|
||||
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
|
||||
new "关于如何解决该问题的更多详情可以在{a=[url]}文档{/a}中找到。"
|
||||
|
||||
# 00gltest.rpy:242
|
||||
old "Continue, Show this warning again"
|
||||
new "继续,下次继续显示该警告"
|
||||
@@ -97,6 +113,10 @@ translate simplified_chinese strings:
|
||||
old "Continue, Don't show warning again"
|
||||
new "继续,不再显示该警告"
|
||||
|
||||
# 00gltest.rpy:273
|
||||
old "Change render options"
|
||||
new "更改渲染选项"
|
||||
|
||||
# 00gltest.rpy:264
|
||||
old "Updating DirectX."
|
||||
new "正在更新 DirectX。"
|
||||
@@ -141,74 +161,86 @@ translate simplified_chinese strings:
|
||||
old "Back (B)"
|
||||
new "返回(B)"
|
||||
|
||||
# _errorhandling.rpym:529
|
||||
# _errorhandling.rpym:538
|
||||
old "Open"
|
||||
new "打开"
|
||||
|
||||
# _errorhandling.rpym:531
|
||||
# _errorhandling.rpym:540
|
||||
old "Opens the traceback.txt file in a text editor."
|
||||
new "在文本编辑器中打开追溯报告(traceback.txt)。"
|
||||
|
||||
# _errorhandling.rpym:533
|
||||
old "Copy"
|
||||
new "复制"
|
||||
# _errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
new "复制 BBCode"
|
||||
|
||||
# _errorhandling.rpym:535
|
||||
old "Copies the traceback.txt file to the clipboard."
|
||||
new "复制追溯报告(traceback.txt)的内容到剪贴板。"
|
||||
# _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。"
|
||||
|
||||
# _errorhandling.rpym:562
|
||||
# _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)的内容到剪贴板,作为 Discord 的 Markdown。"
|
||||
|
||||
# _errorhandling.rpym:577
|
||||
old "An exception has occurred."
|
||||
new "发生异常。"
|
||||
|
||||
# _errorhandling.rpym:582
|
||||
# _errorhandling.rpym:597
|
||||
old "Rollback"
|
||||
new "回滚"
|
||||
|
||||
# _errorhandling.rpym:584
|
||||
# _errorhandling.rpym:599
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "尝试回滚到先前的状态,使您可以存档或者选择不同选项。"
|
||||
|
||||
# _errorhandling.rpym:587
|
||||
# _errorhandling.rpym:602
|
||||
old "Ignore"
|
||||
new "忽略"
|
||||
|
||||
# _errorhandling.rpym:591
|
||||
# _errorhandling.rpym:606
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "忽略异常,让您可以继续。"
|
||||
|
||||
# _errorhandling.rpym:593
|
||||
# _errorhandling.rpym:608
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "忽略异常,让您可以继续。但这通常会引起更多错误。"
|
||||
|
||||
# _errorhandling.rpym:597
|
||||
# _errorhandling.rpym:612
|
||||
old "Reload"
|
||||
new "重新加载"
|
||||
|
||||
# _errorhandling.rpym:599
|
||||
# _errorhandling.rpym:614
|
||||
old "Reloads the game from disk, saving and restoring game state if possible."
|
||||
new "从硬盘重新加载游戏,尝试保存和恢复游戏状态。"
|
||||
|
||||
# _errorhandling.rpym:602
|
||||
# _errorhandling.rpym:617
|
||||
old "Console"
|
||||
new "控制台"
|
||||
|
||||
# _errorhandling.rpym:604
|
||||
# _errorhandling.rpym:619
|
||||
old "Opens a console to allow debugging the problem."
|
||||
new "打开控制台,允许您对问题进行调试。"
|
||||
|
||||
# _errorhandling.rpym:614
|
||||
# _errorhandling.rpym:629
|
||||
old "Quits the game."
|
||||
new "退出游戏。"
|
||||
|
||||
# _errorhandling.rpym:638
|
||||
# _errorhandling.rpym:653
|
||||
old "Parsing the script failed."
|
||||
new "解析脚本失败。"
|
||||
|
||||
# _errorhandling.rpym:664
|
||||
# _errorhandling.rpym:679
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
new "在文本编辑器中打开解析错误文件(errors.txt)。"
|
||||
new "在文本编辑器中打开追溯报告(traceback.txt)。"
|
||||
|
||||
# _errorhandling.rpym:668
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "复制解析错误文件(errors.txt)到剪贴板。"
|
||||
# _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。"
|
||||
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "复制解析错误文件(errors.txt)到剪贴板,作为 Discord 的 Markdown。"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate simplified_chinese strings:
|
||||
|
||||
# gui.rpy:2
|
||||
@@ -159,19 +159,19 @@ translate simplified_chinese strings:
|
||||
|
||||
# gui.rpy:145
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## 这些变量以及 gui/button 中的图像文件控制着按钮显示方式。"
|
||||
|
||||
# gui.rpy:148
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## 按钮的宽度和高度像素数。如果为 None,则 Ren'Py 将计算大小。"
|
||||
|
||||
# gui.rpy:152
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
new "## 按钮两侧的边框,按左、上、右、下的顺序排列。"
|
||||
|
||||
# gui.rpy:155
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## 若为 True,则平铺背景图像。若为False,则背景图像将线性缩放。"
|
||||
|
||||
# gui.rpy:159
|
||||
old "## The font used by the button."
|
||||
@@ -183,23 +183,23 @@ translate simplified_chinese strings:
|
||||
|
||||
# gui.rpy:165
|
||||
old "## The color of button text in various states."
|
||||
new "## The color of button text in various states."
|
||||
new "## 按钮文本在各种状态下的颜色。"
|
||||
|
||||
# gui.rpy:171
|
||||
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
|
||||
new "## 按钮文本的水平对齐方式。(0.0 为左对齐,0.5 为居中显示,1.0 为右对齐)。"
|
||||
new "## 按钮文本的水平对齐方式。(0.0 为左侧对齐,0.5 为居中对齐,而 1.0 为右侧对齐)。"
|
||||
|
||||
# gui.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 "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## 这些变量将覆盖不同类型按钮的设置。请参阅 gui 文档,了解可用的按钮种类以及每个按钮的用途。"
|
||||
|
||||
# gui.rpy:180
|
||||
old "## These customizations are used by the default interface:"
|
||||
new "## These customizations are used by the default interface:"
|
||||
new "## 这些定制由默认界面使用:"
|
||||
|
||||
# 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 "## You can also add your own customizations, by adding properly-named variables. For example, you can uncomment the following line to set the width of a navigation button."
|
||||
new "## 您还可以通过添加正确命名的变量来添加自己的自定义项。例如,您可以将以下几行取消注释来设置导航按钮的宽度。"
|
||||
|
||||
# gui.rpy:202
|
||||
old "## Choice Buttons"
|
||||
@@ -209,226 +209,226 @@ translate simplified_chinese strings:
|
||||
old "## Choice buttons are used in the in-game menus."
|
||||
new "## 用于游戏内菜单的选项按钮。"
|
||||
|
||||
# gui.rpy:217
|
||||
# gui.rpy:218
|
||||
old "## File Slot Buttons"
|
||||
new "## 存档按钮"
|
||||
|
||||
# gui.rpy:219
|
||||
# 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 "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## 存档按钮是一种特殊的按钮。它包含一个缩略图和描述该存档内容的文本。存档使用 gui/button 中的图像文件,就像其他类型的按钮一样。"
|
||||
|
||||
# gui.rpy:223
|
||||
# gui.rpy:224
|
||||
old "## The save slot button."
|
||||
new "## 存档位按钮。"
|
||||
|
||||
# gui.rpy:233
|
||||
# gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## The width and height of thumbnails used by the save slots."
|
||||
new "## 存档所用缩略图的宽度和高度。"
|
||||
|
||||
# gui.rpy:237
|
||||
# gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## The number of columns and rows in the grid of save slots."
|
||||
new "## 存档网格中的列数和行数。"
|
||||
|
||||
# gui.rpy:242
|
||||
# gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
new "## Positioning and Spacing"
|
||||
new "## 定位和间距"
|
||||
|
||||
# gui.rpy:244
|
||||
# gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## 这些变量控制各种用户界面元素的位置和间距。"
|
||||
|
||||
# gui.rpy:247
|
||||
# gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
new "## 导航按钮左侧相对于屏幕左侧的位置。"
|
||||
|
||||
# gui.rpy:251
|
||||
# gui.rpy:252
|
||||
old "## The vertical position of the skip indicator."
|
||||
new "## The vertical position of the skip indicator."
|
||||
new "## 快进指示器的垂直位置。"
|
||||
|
||||
# gui.rpy:254
|
||||
# gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## The vertical position of the notify screen."
|
||||
new "## 通知界面的垂直位置。"
|
||||
|
||||
# gui.rpy:257
|
||||
# gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## The spacing between menu choices."
|
||||
new "## 菜单选项之间的间距。"
|
||||
|
||||
# gui.rpy:260
|
||||
# gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
new "## Buttons in the navigation section of the main and game menus."
|
||||
new "## 标题菜单和游戏菜单的导航部分中的按钮。"
|
||||
|
||||
# gui.rpy:263
|
||||
# gui.rpy:264
|
||||
old "## Controls the amount of spacing between preferences."
|
||||
new "## Controls the amount of spacing between preferences."
|
||||
new "## 控制设置项目之间的间隔量。"
|
||||
|
||||
# gui.rpy:266
|
||||
# gui.rpy:267
|
||||
old "## Controls the amount of spacing between preference buttons."
|
||||
new "## Controls the amount of spacing between preference buttons."
|
||||
new "## 控制设置按钮之间的间距。"
|
||||
|
||||
# gui.rpy:269
|
||||
# gui.rpy:270
|
||||
old "## The spacing between file page buttons."
|
||||
new "## The spacing between file page buttons."
|
||||
new "## 存档页面按钮之间的间距。"
|
||||
|
||||
# gui.rpy:272
|
||||
# gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## The spacing between file slots."
|
||||
new "## 存档按钮之间的间距。"
|
||||
|
||||
# gui.rpy:275
|
||||
# gui.rpy:276
|
||||
old "## The position of the main menu text."
|
||||
new "## 标题菜单文本的位置。"
|
||||
|
||||
# gui.rpy:279
|
||||
# gui.rpy:280
|
||||
old "## Frames"
|
||||
new "## Frames"
|
||||
new "## 框架"
|
||||
|
||||
# gui.rpy:281
|
||||
# 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 "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## 这些变量控制在不存在覆盖层或窗口时可以包含用户界面组件的框架的外观。"
|
||||
|
||||
# gui.rpy:284
|
||||
# gui.rpy:285
|
||||
old "## Generic frames."
|
||||
new "## Generic frames."
|
||||
new "## 通用框架。"
|
||||
|
||||
# gui.rpy:287
|
||||
# gui.rpy:288
|
||||
old "## The frame that is used as part of the confirm screen."
|
||||
new "## The frame that is used as part of the confirm screen."
|
||||
new "## 用作确认界面部分的框架。"
|
||||
|
||||
# gui.rpy:290
|
||||
# gui.rpy:291
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## The frame that is used as part of the skip screen."
|
||||
new "## 用作快进界面部分的框架。"
|
||||
|
||||
# gui.rpy:293
|
||||
# gui.rpy:294
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
new "## The frame that is used as part of the notify screen."
|
||||
new "## 用作通知界面部分的框架。"
|
||||
|
||||
# gui.rpy:296
|
||||
# gui.rpy:297
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## Should frame backgrounds be tiled?"
|
||||
new "## 框架背景是否应平铺?"
|
||||
|
||||
# gui.rpy:300
|
||||
# gui.rpy:301
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
new "## Bars, Scrollbars, and Sliders"
|
||||
new "## 条,滚动条和滑块"
|
||||
|
||||
# gui.rpy:302
|
||||
# gui.rpy:303
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## 这些语句控制条,滚动条和滑块的外观和大小。"
|
||||
|
||||
# gui.rpy:304
|
||||
# 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 "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## 默认的GUI仅使用滑块和垂直滚动条。所有其他栏仅在创建者编写的屏幕中使用。"
|
||||
|
||||
# gui.rpy:307
|
||||
# gui.rpy:308
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
new "## 水平条,滚动条和滑块的高度。垂直条,滚动条和滑块的宽度。"
|
||||
|
||||
# gui.rpy:313
|
||||
# gui.rpy:314
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## 如果条图应平铺,则为 True。 如果应该线性缩放,则为 False。"
|
||||
|
||||
# gui.rpy:318
|
||||
# gui.rpy:319
|
||||
old "## Horizontal borders."
|
||||
new "## Horizontal borders."
|
||||
new "## 水平边框。"
|
||||
|
||||
# gui.rpy:323
|
||||
# gui.rpy:324
|
||||
old "## Vertical borders."
|
||||
new "## Vertical borders."
|
||||
new "## 垂直边框。"
|
||||
|
||||
# gui.rpy:328
|
||||
# gui.rpy:329
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## 如何处理 GUI 中不可滚动的滚动条。“hide”隐藏,“None”显示。"
|
||||
|
||||
# gui.rpy:333
|
||||
# gui.rpy:334
|
||||
old "## History"
|
||||
new "## 历史"
|
||||
|
||||
# gui.rpy:335
|
||||
# gui.rpy:336
|
||||
old "## The history screen displays dialogue that the player has already dismissed."
|
||||
new "## 历史记录屏幕显示玩家已经阅读过的对话。"
|
||||
|
||||
# gui.rpy:337
|
||||
# gui.rpy:338
|
||||
old "## The number of blocks of dialogue history Ren'Py will keep."
|
||||
new "## Ren'Py 将保留的对话历史块数。"
|
||||
|
||||
# gui.rpy:340
|
||||
# gui.rpy:341
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## 历史屏幕条目的高度,或设置为“None”以使高度变量自适应。"
|
||||
|
||||
# gui.rpy:344
|
||||
# gui.rpy:345
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## 所指定叙述角色的标签的坐标、宽度和对齐方式。"
|
||||
|
||||
# gui.rpy:351
|
||||
# gui.rpy:352
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## 对话文本的坐标、宽度和对齐方式。"
|
||||
|
||||
# gui.rpy:358
|
||||
# gui.rpy:359
|
||||
old "## NVL-Mode"
|
||||
new "## NVL 模式"
|
||||
|
||||
# gui.rpy:360
|
||||
# gui.rpy:361
|
||||
old "## The NVL-mode screen displays the dialogue spoken by NVL-mode characters."
|
||||
new "## NVL 模式屏幕显示 NVL 模式的角色所产生的对话。"
|
||||
|
||||
# gui.rpy:362
|
||||
# gui.rpy:363
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## The borders of the background of the NVL-mode background window."
|
||||
new "## NVL 模式背景窗口的背景边框。"
|
||||
|
||||
# gui.rpy:365
|
||||
# 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 "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
new "## Ren'Py 所显示的 NVL 模式条目的最大数量。如果要显示更多条目,则最早的条目将被删除。"
|
||||
|
||||
# gui.rpy:369
|
||||
# gui.rpy:370
|
||||
old "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## The height of an NVL-mode entry. Set this to None to have the entries dynamically adjust height."
|
||||
new "## NVL 模式条目的高度。将此设置为 None 可使条目动态调整高度。"
|
||||
|
||||
# gui.rpy:373
|
||||
# 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 "## The spacing between NVL-mode entries when gui.nvl_height is None, and between NVL-mode entries and an NVL-mode menu."
|
||||
new "## 当 gui.nvl_height 为 None 时,NVL 模式条目之间的间距,以及 NVL 模式条目和 NVL 模式菜单之间的间距。"
|
||||
|
||||
# gui.rpy:390
|
||||
# gui.rpy:391
|
||||
old "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## The position, width, and alignment of nvl_thought text (the text said by the nvl_narrator character.)"
|
||||
new "## nvl_thought 文本(由 nvl_narrator 字符表示的文本)的位置,宽度和对齐方式。"
|
||||
|
||||
# gui.rpy:397
|
||||
# gui.rpy:398
|
||||
old "## The position of nvl menu_buttons."
|
||||
new "## The position of nvl menu_buttons."
|
||||
new "## NVL menu_buttons 的位置。"
|
||||
|
||||
# gui.rpy:401
|
||||
# gui.rpy:402
|
||||
old "## Localization"
|
||||
new "## 本地化"
|
||||
|
||||
# gui.rpy:403
|
||||
# gui.rpy:404
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## 该变量控制允许在何时换行。默认值适用于大多数语言。可用的值请参见 https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
|
||||
# gui.rpy:411
|
||||
# gui.rpy:412
|
||||
old "## Mobile devices"
|
||||
new "## 移动设备"
|
||||
|
||||
# gui.rpy:416
|
||||
# gui.rpy:417
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## 该变量增加快捷菜单按钮的尺寸来使它们在平板和手机上更容易按到。"
|
||||
|
||||
# gui.rpy:422
|
||||
# gui.rpy:423
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## 该变量更改各个 GUI 元素的尺寸和间距来确保它们在手机上更容易识别。"
|
||||
|
||||
# gui.rpy:426
|
||||
# gui.rpy:427
|
||||
old "## Font sizes."
|
||||
new "## 字体大小。"
|
||||
|
||||
# gui.rpy:434
|
||||
# gui.rpy:435
|
||||
old "## Adjust the location of the textbox."
|
||||
new "## 调整对话框的位置。"
|
||||
|
||||
# gui.rpy:440
|
||||
# gui.rpy:441
|
||||
old "## Change the size and spacing of various things."
|
||||
new "## 更改各元素的尺寸和间距。"
|
||||
|
||||
# gui.rpy:453
|
||||
# gui.rpy:454
|
||||
old "## File button layout."
|
||||
new "## 文件按钮布局。"
|
||||
|
||||
# gui.rpy:457
|
||||
# gui.rpy:458
|
||||
old "## NVL-mode."
|
||||
new "## NVL 模式。"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate simplified_chinese strings:
|
||||
|
||||
# about.rpy:39
|
||||
@@ -17,15 +17,19 @@ translate simplified_chinese strings:
|
||||
old "Enter the name of the script file to create."
|
||||
new "请输入文件名来创建脚本文件。"
|
||||
|
||||
# add_file.rpy:31
|
||||
# add_file.rpy:37
|
||||
old "The file name may not be empty."
|
||||
new "文件名不能为空。"
|
||||
|
||||
# add_file.rpy:41
|
||||
old "The filename must have the .rpy extension."
|
||||
new "文件必须以 .rpy 为扩展名。"
|
||||
|
||||
# add_file.rpy:39
|
||||
# add_file.rpy:50
|
||||
old "The file already exists."
|
||||
new "文件已存在。"
|
||||
|
||||
# add_file.rpy:42
|
||||
# add_file.rpy:61
|
||||
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"
|
||||
new "# Ren'Py 自动加载所有扩展名为 .rpy 的脚本。要使用此\n# 文件,请先从其他文件中定义一个标签并跳转过来。\n"
|
||||
|
||||
@@ -34,8 +38,8 @@ translate simplified_chinese strings:
|
||||
new "要生成安卓应用包,请下载 RAPT,并解压到 Ren'Py 目录中。之后重启 Ren'Py。"
|
||||
|
||||
# android.rpy:31
|
||||
old "A Java 8 Development Kit is required to build Android packages on Windows. The JDK is different from the JRE, so it's possible you have Java without having the JDK.\n\nPlease {a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}download and install the JDK{/a}, then restart the Ren'Py launcher."
|
||||
new "要在 Windows 中创建安卓应用包,您需要 Java 8 开发套件(JDK)。JDK 不同于 JRE,所以您可能已安装过 Java 但尚未安装 JDK。\n\n请{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}下载并安装 JDK{/a},然后重启 Ren'Py。"
|
||||
old "A 64-bit/x64 Java 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 "要在 Windows 中创建安卓应用包,您需要 64 位/x64 Java 8 开发套件(JDK)。JDK 不同于 JRE,所以您可能已安装过 Java 但尚未安装 JDK。\n\n请{a=http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html}下载并安装 JDK{/a},然后重启 Ren'Py。"
|
||||
|
||||
# android.rpy:32
|
||||
old "RAPT has been installed, but you'll need to install the Android SDK before you can build Android packages. Choose Install SDK to do this."
|
||||
@@ -129,10 +133,6 @@ translate simplified_chinese strings:
|
||||
old "Build:"
|
||||
new "生成:"
|
||||
|
||||
# android.rpy:373
|
||||
old "Debug"
|
||||
new "调试版"
|
||||
|
||||
# android.rpy:377
|
||||
old "Release"
|
||||
new "发布版"
|
||||
@@ -167,7 +167,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# android.rpy:452
|
||||
old "Before packaging Android apps, you'll need to download RAPT, the Ren'Py Android Packaging Tool. Would you like to download RAPT now?"
|
||||
new "在为安卓应用打包之前,您需要先下载 RAPT,即 Ren'Py 安卓打包工具。您希望现在就开始下载 RAPT 吗?"
|
||||
new "在打包安卓应用之前,您需要先下载 RAPT,即 Ren'Py 安卓打包工具。您希望现在就开始下载 RAPT 吗?"
|
||||
|
||||
# android.rpy:505
|
||||
old "Retrieving logcat information from device."
|
||||
@@ -226,8 +226,8 @@ translate simplified_chinese strings:
|
||||
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 版用于模拟器和 Chromebook。"
|
||||
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 版用于模拟器和 Chromebook。"
|
||||
|
||||
# androidstrings.rpy:21
|
||||
old "What is the full name of your application? This name will appear in the list of installed applications."
|
||||
@@ -334,8 +334,8 @@ translate simplified_chinese strings:
|
||||
new "您是否允许该应用访问互联网?"
|
||||
|
||||
# androidstrings.rpy:47
|
||||
old "Do you want to automatically update the generated project?"
|
||||
new "您希望自动更新已生成的工程吗?"
|
||||
old "Do you want to automatically update the Java source code?"
|
||||
new "您希望自动更新 Java 源代码吗?"
|
||||
|
||||
# androidstrings.rpy:48
|
||||
old "Yes. This is the best choice for most projects."
|
||||
@@ -358,12 +358,12 @@ translate simplified_chinese strings:
|
||||
new "无法使用 javac 编译测试文件。如果您尚未安装 Java 开发套件(JDK)。如果您尚未安装 JDK,请从以下地址安装:\n\nhttp://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html\n\nJDK 不同于 JRE,所以您可能已安装过 Java 但尚未安装 JDK。若缺乏可用的 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 "您计算机上的 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:54
|
||||
old "The JDK is present and working. Good!"
|
||||
new "JDK 存在并正在工作。不错!"
|
||||
new "JDK 存在并正在工作。太棒了!"
|
||||
|
||||
# androidstrings.rpy:55
|
||||
old "The Android SDK has already been unpacked."
|
||||
@@ -414,8 +414,8 @@ translate simplified_chinese strings:
|
||||
new "Ren'Py 可以为您创建应用程序签名密钥。使用此密钥签名应用将允许其上传到安卓市场和其他应用商店中。\n\n您要创建密钥吗?"
|
||||
|
||||
# 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\n您是否会备份 android.keystore 并将其置于安全的位置?"
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "即将在 android.keystore 文件中创建密钥。\n\n您需要备份此文件。如果该文件丢失,您将无法更新您的应用。\n\n您还需要将密钥文件放置到安全的位置。若攻击者获取此文件,就可以假冒您的应用,并窃取用户数据。\n\n您是否会备份 android.keystore 并将其置于安全的位置?"
|
||||
|
||||
# androidstrings.rpy:68
|
||||
old "Please enter your name or the name of your organization."
|
||||
@@ -423,7 +423,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# androidstrings.rpy:69
|
||||
old "Could not create android.keystore. Is keytool in your path?"
|
||||
new "无法创建 android.keystore。您是否将 keytool 放置在了相同的目录?"
|
||||
new "无法创建 android.keystore。您是否将 Keytool 放置在了相同的目录?"
|
||||
|
||||
# androidstrings.rpy:70
|
||||
old "I've finished creating android.keystore. Please back it up, and keep it in a safe place."
|
||||
@@ -433,11 +433,11 @@ translate simplified_chinese strings:
|
||||
old "It looks like you're ready to start packaging games."
|
||||
new "看起来您已准备好开始打包游戏了。"
|
||||
|
||||
# choose_directory.rpy:87
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python-tk or tkinter package."
|
||||
new "Ren'Py 无法使用 Python 的 Tkinter 来选择目录。请安装 Python-tk 或 Tkinter 支持包。"
|
||||
# choose_directory.rpy:88
|
||||
old "Ren'Py was unable to run python with tkinter to choose the directory. Please install the python3-tk or tkinter package."
|
||||
new "Ren'Py 无法使用 Python 的 Tkinter 来选择目录。请安装 Python3-tk 或 Tkinter 包。"
|
||||
|
||||
# choose_directory.rpy:104
|
||||
# choose_directory.rpy:106
|
||||
old "The selected projects directory is not writable."
|
||||
new "所选的工程目录无法执行写操作。"
|
||||
|
||||
@@ -465,131 +465,135 @@ translate simplified_chinese strings:
|
||||
old "Continue"
|
||||
new "继续"
|
||||
|
||||
# choose_theme.rpy:507 此处与 While 连用
|
||||
old "changing the theme"
|
||||
new "更改主题"
|
||||
|
||||
# consolecommand.rpy:84
|
||||
old "INFORMATION"
|
||||
new "信息"
|
||||
|
||||
# consolecommand.rpy:84
|
||||
old "The command is being run in a new operating system console window."
|
||||
new "此命令正在一个新打开的系统控制台中运行。"
|
||||
new "此命令正在新的操作系统控制台窗口中运行。"
|
||||
|
||||
# distribute.rpy:444
|
||||
# distribute.rpy:452
|
||||
old "Scanning project files..."
|
||||
new "正在扫描工程文件……"
|
||||
|
||||
# distribute.rpy:460
|
||||
# distribute.rpy:468
|
||||
old "Building distributions failed:\n\nThe build.directory_name variable may not include the space, colon, or semicolon characters."
|
||||
new "生成分发版失败:\n\n参数 build.directory_name 不能包含空格、冒号和分号。"
|
||||
new "生成分发版失败:\n\n变量 build.directory_name 不能包含空格、冒号和分号。"
|
||||
|
||||
# distribute.rpy:505
|
||||
# distribute.rpy:513
|
||||
old "No packages are selected, so there's nothing to do."
|
||||
new "因未选择任何打包平台,故未执行任何操作。"
|
||||
|
||||
# distribute.rpy:517
|
||||
# distribute.rpy:525
|
||||
old "Scanning Ren'Py files..."
|
||||
new "正在扫描 Ren'Py 文件……"
|
||||
|
||||
# distribute.rpy:572
|
||||
# distribute.rpy:584
|
||||
old "All packages have been built.\n\nDue to the presence of permission information, unpacking and repacking the Linux and Macintosh distributions on Windows is not supported."
|
||||
new "所有的分发包已生成。\n\n由于包内写入了权限信息,因此不支持在 Windows 上解包并重新打包 Linux 和 Macintosh 分发版。"
|
||||
new "已生成所有的分发包。\n\n由于包内写入了权限信息,因此不支持在 Windows 上解包并重新打包 Linux 和 Macintosh 分发版。"
|
||||
|
||||
# distribute.rpy:755
|
||||
# distribute.rpy:767
|
||||
old "Archiving files..."
|
||||
new "正在封装文件……"
|
||||
|
||||
# distribute.rpy:1068
|
||||
# distribute.rpy:1092
|
||||
old "Unpacking the Macintosh application for signing..."
|
||||
new "正在解包 Macintosh 应用并签名……"
|
||||
|
||||
# distribute.rpy:1078
|
||||
# distribute.rpy:1102
|
||||
old "Signing the Macintosh application...\n(This may take a long time.)"
|
||||
new "正在签名 Macintosh 应用……\n(可能需要很长时间。)"
|
||||
|
||||
# distribute.rpy:1100
|
||||
# distribute.rpy:1125
|
||||
old "Creating the Macintosh DMG..."
|
||||
new "正在创建 Macintosh DMG……"
|
||||
|
||||
# distribute.rpy:1109
|
||||
# distribute.rpy:1136
|
||||
old "Signing the Macintosh DMG..."
|
||||
new "正在签名 Macintosh DMG……"
|
||||
|
||||
# distribute.rpy:1304
|
||||
# distribute.rpy:1331
|
||||
old "Writing the [variant] [format] package."
|
||||
new "正在写入 [variant] 版 [format] 包。"
|
||||
|
||||
# distribute.rpy:1317
|
||||
# distribute.rpy:1344
|
||||
old "Making the [variant] update zsync file."
|
||||
new "正在制作 [variant] 版更新同步文件。"
|
||||
|
||||
# distribute.rpy:1427
|
||||
# distribute.rpy:1454
|
||||
old "Processed {b}[complete]{/b} of {b}[total]{/b} files."
|
||||
new "已处理 {b}[complete]{/b} / {b}[total]{/b} 个文件。"
|
||||
|
||||
# distribute_gui.rpy:162
|
||||
# distribute_gui.rpy:160
|
||||
old "Build Distributions: [project.current.display_name!q]"
|
||||
new "生成分发版:[project.current.display_name!q]"
|
||||
|
||||
# distribute_gui.rpy:176
|
||||
# distribute_gui.rpy:174
|
||||
old "Directory Name:"
|
||||
new "目录名:"
|
||||
|
||||
# distribute_gui.rpy:180
|
||||
# distribute_gui.rpy:178
|
||||
old "Executable Name:"
|
||||
new "可执行程序名:"
|
||||
|
||||
# distribute_gui.rpy:190
|
||||
# distribute_gui.rpy:188
|
||||
old "Actions:"
|
||||
new "操作:"
|
||||
|
||||
# distribute_gui.rpy:198
|
||||
# distribute_gui.rpy:196
|
||||
old "Edit options.rpy"
|
||||
new "编辑 options.rpy"
|
||||
|
||||
# distribute_gui.rpy:199
|
||||
# distribute_gui.rpy:197
|
||||
old "Add from clauses to calls, once"
|
||||
new "向 call 语句添加 from 从句,执行一次"
|
||||
|
||||
# distribute_gui.rpy:200
|
||||
# distribute_gui.rpy:198
|
||||
old "Refresh"
|
||||
new "刷新"
|
||||
|
||||
# distribute_gui.rpy:204
|
||||
# distribute_gui.rpy:202
|
||||
old "Upload to itch.io"
|
||||
new "上传到 itch.io"
|
||||
|
||||
# distribute_gui.rpy:220
|
||||
# distribute_gui.rpy:218
|
||||
old "Build Packages:"
|
||||
new "生成分发包:"
|
||||
|
||||
# distribute_gui.rpy:239
|
||||
# distribute_gui.rpy:237
|
||||
old "Options:"
|
||||
new "选项:"
|
||||
|
||||
# distribute_gui.rpy:244
|
||||
# distribute_gui.rpy:242
|
||||
old "Build Updates"
|
||||
new "生成更新"
|
||||
|
||||
# distribute_gui.rpy:246
|
||||
# distribute_gui.rpy:244
|
||||
old "Add from clauses to calls"
|
||||
new "向 call 语句添加 from 从句"
|
||||
|
||||
# distribute_gui.rpy:247
|
||||
# distribute_gui.rpy:245
|
||||
old "Force Recompile"
|
||||
new "强制重新编译"
|
||||
|
||||
# distribute_gui.rpy:270
|
||||
# distribute_gui.rpy:265
|
||||
old "Build"
|
||||
new "生成"
|
||||
|
||||
# distribute_gui.rpy:274
|
||||
# distribute_gui.rpy:269
|
||||
old "Adding from clauses to call statements that do not have them."
|
||||
new "正在向 call 语句添加缺失的 from 从句。"
|
||||
|
||||
# distribute_gui.rpy:295
|
||||
# distribute_gui.rpy:290
|
||||
old "Errors were detected when running the project. Please ensure the project runs without errors before building distributions."
|
||||
new "运行工程时检测到错误。请在生成分发版之前确保工程能够正常运行。"
|
||||
|
||||
# distribute_gui.rpy:312
|
||||
# distribute_gui.rpy:307
|
||||
old "Your project does not contain build information. Would you like to add build information to the end of options.rpy?"
|
||||
new "您的工程尚未包含生成信息。您希望在 options.rpy 末端添加生成信息吗?"
|
||||
|
||||
@@ -726,6 +730,10 @@ translate simplified_chinese strings:
|
||||
new "images"
|
||||
|
||||
# front_page.rpy:198
|
||||
old "audio"
|
||||
new "audio"
|
||||
|
||||
# front_page.rpy:199
|
||||
old "gui"
|
||||
new "gui"
|
||||
|
||||
@@ -778,22 +786,30 @@ translate simplified_chinese strings:
|
||||
new "iOS"
|
||||
|
||||
# front_page.rpy:252
|
||||
old "Web"
|
||||
new "网页"
|
||||
|
||||
# front_page.rpy:252
|
||||
old "(Beta)"
|
||||
new "(测试版)"
|
||||
|
||||
# front_page.rpy:253
|
||||
old "Generate Translations"
|
||||
new "生成翻译文件"
|
||||
|
||||
# front_page.rpy:253
|
||||
# front_page.rpy:254
|
||||
old "Extract Dialogue"
|
||||
new "导出对话"
|
||||
|
||||
# front_page.rpy:270
|
||||
# front_page.rpy:271
|
||||
old "Checking script for potential problems..."
|
||||
new "正在检查脚本中的潜在问题……"
|
||||
|
||||
# front_page.rpy:285
|
||||
# front_page.rpy:286
|
||||
old "Deleting persistent data..."
|
||||
new "正在删除持久化数据……"
|
||||
|
||||
# front_page.rpy:293
|
||||
# front_page.rpy:294
|
||||
old "Recompiling all rpy files into rpyc files..."
|
||||
new "正在将全部的 rpy 文件重新编译为 rpyc 文件……"
|
||||
|
||||
@@ -815,68 +831,80 @@ translate simplified_chinese strings:
|
||||
|
||||
# gui7.rpy:311
|
||||
old "Regenerate the image files using the colors in gui.rpy."
|
||||
new "使用 gui.rpy 中的配色重新生成图像文件。"
|
||||
|
||||
# gui7.rpy:331
|
||||
old "PROJECT NAME"
|
||||
new "工程名称"
|
||||
|
||||
# gui7.rpy:331
|
||||
old "Please enter the name of your project:"
|
||||
new "请输入新工程的名称:"
|
||||
new ""
|
||||
|
||||
# gui7.rpy:339
|
||||
old "The project name may not be empty."
|
||||
new "工程名不能为空。"
|
||||
|
||||
# gui7.rpy:344
|
||||
old "[project_name!q] already exists. Please choose a different project name."
|
||||
new "[project_name!q] 已存在。请指定一个不同的工程名称。"
|
||||
|
||||
# gui7.rpy:347
|
||||
old "[project_dir!q] already exists. Please choose a different project name."
|
||||
new "[project_dir!q] 已存在。请指定一个不同的工程名称。"
|
||||
|
||||
# gui7.rpy:358
|
||||
old "What resolution should the project use? Although Ren'Py can scale the window up and down, this is the initial size of the window, the size at which assets should be drawn, and the size at which the assets will be at their sharpest.\n\nThe default of 1280x720 is a reasonable compromise."
|
||||
new "您希望该工程使用哪种基础分辨率?虽然 Ren'Py 可以向上或向下缩放窗口,此分辨率将是窗口的初始化尺寸、资源绘制的基础分辨率以及资源显示最清晰的分辨率。\n\n默认的 1280x720 是折中方案。"
|
||||
|
||||
# gui7.rpy:358
|
||||
# gui7.rpy:339
|
||||
old "Custom. The GUI is optimized for a 16:9 aspect ratio."
|
||||
new "自定义。GUI 在 16:9 的情况下是最优的。"
|
||||
|
||||
# gui7.rpy:373
|
||||
# gui7.rpy:355
|
||||
old "WIDTH"
|
||||
new "宽度"
|
||||
|
||||
# gui7.rpy:373
|
||||
# gui7.rpy:355
|
||||
old "Please enter the width of your game, in pixels."
|
||||
new "请输入游戏宽度的像素数。"
|
||||
|
||||
# gui7.rpy:378
|
||||
# gui7.rpy:365
|
||||
old "The width must be a number."
|
||||
new "宽度必须是数字。"
|
||||
|
||||
# gui7.rpy:380
|
||||
# gui7.rpy:371
|
||||
old "HEIGHT"
|
||||
new "高度"
|
||||
|
||||
# gui7.rpy:380
|
||||
# gui7.rpy:371
|
||||
old "Please enter the height of your game, in pixels."
|
||||
new "请输入游戏高度的像素数。"
|
||||
|
||||
# gui7.rpy:385
|
||||
# gui7.rpy:381
|
||||
old "The height must be a number."
|
||||
new "高度必须是数字。"
|
||||
|
||||
# gui7.rpy:427
|
||||
# gui7.rpy:425
|
||||
old "Creating the new project..."
|
||||
new "正在创建新工程……"
|
||||
|
||||
# gui7.rpy:429
|
||||
# gui7.rpy:427
|
||||
old "Updating the project..."
|
||||
new "正在更新工程……"
|
||||
|
||||
# gui7.rpy:429 此处与 While 连用
|
||||
old "creating a new project"
|
||||
new "创建新工程"
|
||||
|
||||
# gui7.rpy:433 此处与 While 连用
|
||||
old "activating the new project"
|
||||
new "激活新工程"
|
||||
|
||||
# install.rpy:33
|
||||
old "Could not install [name!t], as a file matching [zipglob] was not found in the Ren'Py SDK directory."
|
||||
new "无法安装 [name!t],因为在 Ren'Py SDK 目录中找不到与 [zipglob] 匹配的文件。"
|
||||
|
||||
# install.rpy:73
|
||||
old "Successfully installed [name!t]."
|
||||
new "已成功安装 [name!t]。"
|
||||
|
||||
# install.rpy:101
|
||||
old "Install Libraries"
|
||||
new "安装库"
|
||||
|
||||
# install.rpy:116
|
||||
old "This screen allows you to install libraries that can't be distributed with Ren'Py. Some of these libraries may require you to agree to a third-party license before being used or distributed."
|
||||
new "本界面将引导您安装 Ren'Py 无法分发的库。其中一些库可能会要求您在使用或分发之前同意第三方许可证。"
|
||||
|
||||
# install.rpy:131
|
||||
old "The {a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} adds support for displaying Live2D models. Place CubismSdkForNative-4-{i}version{/i}.zip in the Ren'Py SDK directory, and then click Install. Distributing a game with Live2D requires you to accept a license from Live2D, Inc."
|
||||
new "{a=https://www.live2d.com/en/download/cubism-sdk/download-native/}Cubism SDK for Native{/a} 增加了对显示 Live2D 模型的支持。将 CubismSdkForNative-4-{i}version{/i}.zip 放在 Ren'Py SDK 目录中,然后单击“安装”。使用 Live2D 分发游戏需要您接受 Live2D 公司的许可。"
|
||||
|
||||
# install.rpy:135
|
||||
old "Open Ren'Py SDK Directory"
|
||||
new "打开 Ren'Py SDK 目录"
|
||||
|
||||
# interface.rpy:119
|
||||
old "Documentation"
|
||||
new "说明文档"
|
||||
@@ -905,35 +933,47 @@ translate simplified_chinese strings:
|
||||
old "Ren'Py Sponsor Information"
|
||||
new "Ren'Py 赞助者信息"
|
||||
|
||||
# interface.rpy:258
|
||||
# interface.rpy:264
|
||||
old "Due to package format limitations, non-ASCII file and directory names are not allowed."
|
||||
new "由于包格式限制,无法使用非 ASCII 文件名和目录名。"
|
||||
|
||||
# interface.rpy:354
|
||||
# interface.rpy:360
|
||||
old "ERROR"
|
||||
new "错误"
|
||||
|
||||
# interface.rpy:400
|
||||
# interface.rpy:372 此处与 While 连用
|
||||
old "opening the log file"
|
||||
new "打开日志文件"
|
||||
|
||||
# interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
new "[what!qt]时出错:"
|
||||
|
||||
# interface.rpy:394
|
||||
old "[exception!q]"
|
||||
new "[exception!q]"
|
||||
|
||||
# interface.rpy:427
|
||||
old "Text input may not contain the {{ or [[ characters."
|
||||
new "文本输入不能包含 {{ 或 [[ 字符。"
|
||||
|
||||
# interface.rpy:405
|
||||
# interface.rpy:432
|
||||
old "File and directory names may not contain / or \\."
|
||||
new "文件名或目录名不能包含 / 或 \\。"
|
||||
|
||||
# interface.rpy:411
|
||||
# interface.rpy:438
|
||||
old "File and directory names must consist of ASCII characters."
|
||||
new "文件名或目录名必须仅由 ASCII 字符组成,不能包含中文。"
|
||||
|
||||
# interface.rpy:479
|
||||
# interface.rpy:506
|
||||
old "PROCESSING"
|
||||
new "正在处理"
|
||||
|
||||
# interface.rpy:496
|
||||
# interface.rpy:523
|
||||
old "QUESTION"
|
||||
new "问题"
|
||||
|
||||
# interface.rpy:509
|
||||
# interface.rpy:536
|
||||
old "CHOICE"
|
||||
new "选择"
|
||||
|
||||
@@ -981,81 +1021,85 @@ translate simplified_chinese strings:
|
||||
old "Opens the directory containing Xcode projects."
|
||||
new "打开包含 Xcode 工程的目录。"
|
||||
|
||||
# ios.rpy:126
|
||||
# ios.rpy:131
|
||||
old "The Xcode project already exists. Would you like to rename the old project, and replace it with a new one?"
|
||||
new "Xcode 工程已经存在。您希望重命名旧工程,并用新工程将其替换吗?"
|
||||
|
||||
# ios.rpy:211
|
||||
# ios.rpy:225
|
||||
old "iOS: [project.current.display_name!q]"
|
||||
new "iOS:[project.current.display_name!q]"
|
||||
|
||||
# ios.rpy:240
|
||||
# ios.rpy:254
|
||||
old "iPhone"
|
||||
new "iPhone"
|
||||
|
||||
# ios.rpy:244
|
||||
# ios.rpy:258
|
||||
old "iPad"
|
||||
new "iPad"
|
||||
|
||||
# ios.rpy:264
|
||||
# ios.rpy:278
|
||||
old "Select Xcode Projects Directory"
|
||||
new "指定 Xcode 工程目录"
|
||||
|
||||
# ios.rpy:268
|
||||
# ios.rpy:282
|
||||
old "Create Xcode Project"
|
||||
new "创建 Xcode 工程"
|
||||
|
||||
# ios.rpy:272
|
||||
# ios.rpy:286
|
||||
old "Update Xcode Project"
|
||||
new "更新 Xcode 工程"
|
||||
|
||||
# ios.rpy:277
|
||||
# ios.rpy:291
|
||||
old "Launch Xcode"
|
||||
new "启动 Xcode"
|
||||
|
||||
# ios.rpy:312
|
||||
# ios.rpy:326
|
||||
old "Open Xcode Projects Directory"
|
||||
new "打开 Xcode 工程目录"
|
||||
|
||||
# ios.rpy:345
|
||||
# ios.rpy:359
|
||||
old "Before packaging iOS apps, you'll need to download renios, Ren'Py's iOS support. Would you like to download renios now?"
|
||||
new "在为 iOS 应用打包之前,您需要先下载 renios,即 Ren'Py iOS 支持套件。您希望现在就开始下载 renios 吗?"
|
||||
new "在打包 iOS 应用之前,您需要先下载 renios,即 Ren'Py iOS 支持包。您希望现在就开始下载 renios 吗?"
|
||||
|
||||
# ios.rpy:354
|
||||
# ios.rpy:368
|
||||
old "XCODE PROJECTS DIRECTORY"
|
||||
new "XCODE 工程目录"
|
||||
|
||||
# ios.rpy:354
|
||||
# ios.rpy:368
|
||||
old "Please choose the Xcode Projects Directory using the directory chooser.\n{b}The directory chooser may have opened behind this window.{/b}"
|
||||
new "请使用弹出的目录选择窗口来指定 Xcode 工程目录。\n{b}目录选择窗口可能会被本窗口覆盖。{/b}"
|
||||
|
||||
# ios.rpy:359
|
||||
# ios.rpy:373
|
||||
old "Ren'Py has set the Xcode Projects Directory to:"
|
||||
new "Ren'Py 已将 Xcode 工程目录设置为:"
|
||||
|
||||
# itch.rpy:60
|
||||
# itch.rpy:43
|
||||
old "Downloading the itch.io butler."
|
||||
new "正在下载 itch.io 工具 Butler。"
|
||||
|
||||
# itch.rpy:96
|
||||
old "The built distributions could not be found. Please choose 'Build' and try again."
|
||||
new "未找到已生成的分发版。请使用“生成”重试。"
|
||||
new "未找到已生成的分发版。请点击“生成”重试。"
|
||||
|
||||
# itch.rpy:98
|
||||
# itch.rpy:134
|
||||
old "No uploadable files were found. Please choose 'Build' and try again."
|
||||
new "未找到可上传的文件。请使用“生成”重试。"
|
||||
new "未找到可上传的文件。请点击“生成”重试。"
|
||||
|
||||
# itch.rpy:106
|
||||
# itch.rpy:140
|
||||
old "The butler program was not found."
|
||||
new "未找到管理程序。"
|
||||
new "未找到 Butler 工具。"
|
||||
|
||||
# itch.rpy:106
|
||||
# itch.rpy:140
|
||||
old "Please install the itch.io app, which includes butler, and try again."
|
||||
new "itch.io 应用中包含管理程序。请安装 itch.io 应用并重试。"
|
||||
new "itch.io 应用中包含 Butler 工具。请安装 itch.io 应用并重试。"
|
||||
|
||||
# itch.rpy:115
|
||||
# itch.rpy:149
|
||||
old "The name of the itch project has not been set."
|
||||
new "Itch 工程名尚未设置。"
|
||||
new "尚未设置 itch 工程名。"
|
||||
|
||||
# itch.rpy:115
|
||||
# itch.rpy:151
|
||||
old "Please {a=https://itch.io/game/new}create your project{/a}, then add a line like \n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} to options.rpy."
|
||||
new "请{a=https://itch.io/game/new}创建您的工程{/a},并在 options.rpy 里新增诸如\n{vspace=5}define build.itch_project = \"user-name/game-name\"\n{vspace=5} 的内容。"
|
||||
new "请{a=https://itch.io/game/new}创建您的工程{/a},并在 options.rpy 里添加诸如以下内容的语句:\n{vspace=5}define build.itch_project = \"user-name/game-name\""
|
||||
|
||||
# mobilebuild.rpy:110
|
||||
old "{a=%s}%s{/a}"
|
||||
@@ -1149,23 +1193,43 @@ translate simplified_chinese strings:
|
||||
old "The projects directory could not be set. Giving up."
|
||||
new "工程目录无法设定。操作取消。"
|
||||
|
||||
# new_project.rpy:71
|
||||
old "You will be creating an [new_project_language] language project. Change the launcher language in preferences to create a project in another language."
|
||||
new "您将创建一个 [new_project_language] 语言的工程。要创建其他语言的工程,请在设置里更改启动器语言。"
|
||||
|
||||
# new_project.rpy:79
|
||||
# new_project.rpy:70
|
||||
old "Which interface would you like to use? The new GUI has a modern look, supports wide screens and mobile devices, and is easier to customize. Legacy themes might be necessary to work with older example code.\n\n[language_support!t]\n\nIf in doubt, choose the new GUI, then click Continue on the bottom-right."
|
||||
new "您希望使用哪种界面?新 GUI 具有更现代的设计,可支持宽屏和移动设备,定制起来也更容易。对于较早的示范代码,传统主题可能是必须的。\n\n[language_support!t]\n\n如有疑问,请选择新 GUI,并点击右下角的“继续”。"
|
||||
|
||||
# new_project.rpy:79
|
||||
# new_project.rpy:70
|
||||
old "Legacy Theme Interface"
|
||||
new "传统主题界面"
|
||||
|
||||
# new_project.rpy:100
|
||||
# new_project.rpy:81
|
||||
old "You will be creating an [new_project_language]{#this substitution may be localized} language project. Change the launcher language in preferences to create a project in another language."
|
||||
new "即将创建 [new_project_language]{#this substitution may be localized} 语言的工程。要创建其他语言的工程,请在设置中更改启动器语言。"
|
||||
|
||||
# new_project.rpy:86
|
||||
old "PROJECT NAME"
|
||||
new "工程名称"
|
||||
|
||||
# new_project.rpy:86
|
||||
old "Please enter the name of your project:"
|
||||
new "请输入新工程的名称:"
|
||||
|
||||
# new_project.rpy:96
|
||||
old "The project name may not be empty."
|
||||
new "工程名不能为空。"
|
||||
|
||||
# new_project.rpy:102
|
||||
old "[project_name!q] already exists. Please choose a different project name."
|
||||
new "[project_name!q] 已经存在。请指定一个不同的工程名称。"
|
||||
|
||||
# new_project.rpy:106
|
||||
old "[project_dir!q] already exists. Please choose a different project name."
|
||||
new "[project_dir!q] 已经存在。请指定一个不同的工程名称。"
|
||||
|
||||
# new_project.rpy:124
|
||||
old "Choose Project Template"
|
||||
new "指定工程模板"
|
||||
|
||||
# new_project.rpy:118
|
||||
# new_project.rpy:142
|
||||
old "Please select a template to use for your new project. The template sets the default font and the user interface language. If your language is not supported, choose 'english'."
|
||||
new "请指定一个新工程要使用的模板。模板已预先设置了默认字体和用户界面语言。如果您的语言暂未支持,请选择“英语”。"
|
||||
|
||||
@@ -1197,6 +1261,14 @@ translate simplified_chinese strings:
|
||||
old "Text editor: [text]"
|
||||
new "文本编辑器:[text]"
|
||||
|
||||
# preferences.rpy:143
|
||||
old "Install libraries"
|
||||
new "安装库"
|
||||
|
||||
# preferences.rpy:140
|
||||
old "Reset window size"
|
||||
new "重置窗口大小"
|
||||
|
||||
# preferences.rpy:145
|
||||
old "Navigation Options:"
|
||||
new "定位选项:"
|
||||
@@ -1347,7 +1419,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# translations.rpy:263
|
||||
old "Ren'Py has finished generating [language] translations."
|
||||
new "Ren'Py 已完成 [language] 翻译文件的生成。"
|
||||
new "Ren'Py 已生成 [language] 翻译文件。"
|
||||
|
||||
# translations.rpy:276
|
||||
old "Ren'Py is extracting string translations..."
|
||||
@@ -1355,7 +1427,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# translations.rpy:279
|
||||
old "Ren'Py has finished extracting [language] string translations."
|
||||
new "Ren'Py 已完成 [language] 字串翻译的导出。"
|
||||
new "Ren'Py 已导出 [language] 字串翻译。"
|
||||
|
||||
# translations.rpy:299
|
||||
old "Ren'Py is merging string translations..."
|
||||
@@ -1363,7 +1435,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# translations.rpy:302
|
||||
old "Ren'Py has finished merging [language] string translations."
|
||||
new "Ren'Py 已完成 [language] 字串翻译的合并。"
|
||||
new "Ren'Py 已合并 [language] 字串翻译。"
|
||||
|
||||
# translations.rpy:313
|
||||
old "Updating default interface translations..."
|
||||
@@ -1407,7 +1479,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# updater.rpy:63
|
||||
old "{b}Recommended.{/b} The version of Ren'Py that should be used in all newly-released games."
|
||||
new "{b}建议使用。{/b}此版本的 Ren'Py 应当用于全部新发布的游戏。"
|
||||
new "{b}建议使用。{/b}此版本的 Ren'Py 应当用于全体新发布的游戏。"
|
||||
|
||||
# updater.rpy:65
|
||||
old "Prerelease"
|
||||
@@ -1415,7 +1487,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# updater.rpy:66
|
||||
old "A preview of the next version of Ren'Py that can be used for testing and taking advantage of new features, but not for final releases of games."
|
||||
new "Ren'Py 下个版本的预览版,可以用来测试和体验新功能,但不应该作为游戏的最终发布版本。"
|
||||
new "Ren'Py 下个版本的预览版,可以用来测试和体验新功能,但不应当用于游戏的最终发布版本。"
|
||||
|
||||
# updater.rpy:68
|
||||
old "Experimental"
|
||||
@@ -1423,7 +1495,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# updater.rpy:69
|
||||
old "Experimental versions of Ren'Py. You shouldn't select this channel unless asked by a Ren'Py developer."
|
||||
new "Ren'Py 的试验版。除非应 Ren'Py 开发者的要求,否则您不应选择这个通道。"
|
||||
new "Ren'Py 试验版。除非应 Ren'Py 开发者的特别要求,否则您不应选择该通道版本。"
|
||||
|
||||
# updater.rpy:71
|
||||
old "Nightly"
|
||||
@@ -1431,7 +1503,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# updater.rpy:72
|
||||
old "The bleeding edge of Ren'Py development. This may have the latest features, or might not run at all."
|
||||
new "Ren'Py 的尖端开发版。此版本可能包含最新的功能,也可能甚至根本无法运行。"
|
||||
new "Ren'Py 的尖端开发版。此版本也许包含了最新的功能,但也可能根本无法运行。"
|
||||
|
||||
# updater.rpy:90
|
||||
old "Select Update Channel"
|
||||
@@ -1439,11 +1511,11 @@ translate simplified_chinese strings:
|
||||
|
||||
# updater.rpy:101
|
||||
old "The update channel controls the version of Ren'Py the updater will download."
|
||||
new "更新通道用于控制更新器所下载的 Ren'Py 版本。"
|
||||
new "更新通道决定了更新程序所下载的 Ren'Py 版本。"
|
||||
|
||||
# updater.rpy:110
|
||||
old "• This version is installed and up-to-date."
|
||||
new "• 该版本已安装并已更新至最新。"
|
||||
new "• 该版本已安装并且是最新的。"
|
||||
|
||||
# updater.rpy:118
|
||||
old "%B %d, %Y"
|
||||
@@ -1504,3 +1576,66 @@ translate simplified_chinese strings:
|
||||
# updater.rpy:188
|
||||
old "Fetching the list of update channels"
|
||||
new "正在获取更新通道列表"
|
||||
|
||||
# updater.rpy:194 此处与 While 连用
|
||||
old "downloading the list of update channels"
|
||||
new "下载更新通道列表"
|
||||
|
||||
# updater.rpy:198 此处与 While 连用
|
||||
old "parsing the list of update channels"
|
||||
new "解析更新通道列表"
|
||||
|
||||
# web.rpy:119
|
||||
old "Web: [project.current.display_name!q]"
|
||||
new "网页:[project.current.display_name!q]"
|
||||
|
||||
# web.rpy:149
|
||||
old "Build Web Application"
|
||||
new "生成网页应用"
|
||||
|
||||
# web.rpy:150
|
||||
old "Build and Open in Browser"
|
||||
new "生成应用并在浏览器中打开"
|
||||
|
||||
# web.rpy:151
|
||||
old "Open in Browser"
|
||||
new "在浏览器中打开"
|
||||
|
||||
# web.rpy:152
|
||||
old "Open build directory"
|
||||
new "打开生成目录"
|
||||
|
||||
# web.rpy:156
|
||||
old "Support:"
|
||||
new "支持:"
|
||||
|
||||
# web.rpy:164
|
||||
old "RenPyWeb Home"
|
||||
new "RenPyWeb 主页"
|
||||
|
||||
# web.rpy:165
|
||||
old "Beuc's Patreon"
|
||||
new "Beuc 的 Patreon"
|
||||
|
||||
# web.rpy:183
|
||||
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:187
|
||||
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:196
|
||||
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 吗?"
|
||||
|
||||
# web.rpy:242
|
||||
old "Preparing progressive download"
|
||||
new "正在准备渐进式下载"
|
||||
|
||||
# web.rpy:341
|
||||
old "Images and musics can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior."
|
||||
new "图像和音乐可以在进行游戏时下载。引擎将创建“progressive_download.txt”的文件,以便您配置此行为。"
|
||||
|
||||
old "Web (Beta)"
|
||||
new "网页(测试版)"
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
translate simplified_chinese strings:
|
||||
|
||||
translate simplified_chinese strings:
|
||||
|
||||
# options.rpy:1
|
||||
old "## This file contains options that can be changed to customize your game."
|
||||
@@ -26,7 +27,7 @@
|
||||
|
||||
# options.rpy:20
|
||||
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
|
||||
new "## 决定上面给出的标题是否显示在主界面屏幕。设置为 False 来隐藏标题。"
|
||||
new "## 决定上面给出的标题是否显示在标题界面屏幕。设置为 False 来隐藏标题。"
|
||||
|
||||
# options.rpy:26
|
||||
old "## The version of the game."
|
||||
@@ -54,7 +55,7 @@
|
||||
|
||||
# options.rpy:63
|
||||
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
|
||||
new "## 将以下语句取消注释就可以设置主界面播放的背景音乐文件。此文件将在整个游戏中持续播放,直至音乐停止或其他文件开始播放。"
|
||||
new "## 将以下语句取消注释就可以设置标题界面播放的背景音乐文件。此文件将在整个游戏中持续播放,直至音乐停止或其他文件开始播放。"
|
||||
|
||||
# options.rpy:70
|
||||
old "## Transitions"
|
||||
@@ -186,16 +187,12 @@
|
||||
|
||||
# options.rpy:196
|
||||
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
|
||||
new "## 匹配为文档模式的文件,将在 Mac 应用的生成中复制,因此它们同时存在于 app 和 zip 文件中。"
|
||||
new "## 匹配为文档模式的文件会在 Mac 应用生成中重复出现,所以它们同时出现在 app 和 zip 文件中。"
|
||||
|
||||
# options.rpy:202
|
||||
old "## Set this to a string containing your Apple Developer ID Application to enable codesigning on the Mac. Be sure to change it to your own Apple-issued ID."
|
||||
new "## 在 Mac 上将此设置为包含有您 Apple Developer ID Application 的字符串来启用代码签名。确保将其更改为您自己的,由苹果签发的 ID。"
|
||||
|
||||
# options.rpy:209
|
||||
# options.rpy:203
|
||||
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## 需要一个 Google Play 授权密钥来下载扩展文件并执行应用内购。授权密钥可以在 Google Play 开发者控制台的“服务和 API”页面找到。"
|
||||
|
||||
# options.rpy:216
|
||||
# options.rpy:210
|
||||
old "## The username and project name associated with an itch.io project, separated by a slash."
|
||||
new "## 与 itch.io 工程关联的用户名和工程名,以斜杠分隔。"
|
||||
|
||||
@@ -7,27 +7,27 @@ translate simplified_chinese strings:
|
||||
|
||||
# screens.rpy:81
|
||||
old "## In-game screens"
|
||||
new "## 游戏内屏幕"
|
||||
new "## 游戏内界面"
|
||||
|
||||
# screens.rpy:85
|
||||
old "## Say screen"
|
||||
new "## Say 屏幕"
|
||||
new "## 对话界面"
|
||||
|
||||
# screens.rpy:87
|
||||
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
|
||||
new "## Say 屏幕用于向玩家显示对话。它需要两个参数,“who”和“what”,分别是叙述人的名称和所叙述的内容。(如果没有名称,参数“who”可以是“None”。)"
|
||||
new "## 对话界面用于向玩家显示对话。它需要两个参数,“who”和“what”,分别是叙述人的名称和所叙述的内容。(如果没有名称,参数“who”可以是“None”。)"
|
||||
|
||||
# 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 "## 此屏幕必须创建一个 id 为“what”的文本可视控件,因为 Ren'Py 使用它来管理文本显示。它还可以创建 id 为“who”和 id 为“window”的可视控件来应用样式属性。"
|
||||
new "## 此界面必须创建一个 id 为“what”的文本可视控件,因为 Ren'Py 使用它来管理文本显示。它还可以创建 id 为“who”和 id 为“window”的可视控件来应用样式属性。"
|
||||
|
||||
# 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"
|
||||
new "## https://www.renpy.cn/doc/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 "## 如果有侧边图像,会将其显示在文本之上。请不要在手机界面下显示这个,因为没有空间。"
|
||||
new "## 如果有对话框头像,会将其显示在文本之上。请不要在手机界面下显示这个,因为没有空间。"
|
||||
|
||||
# screens.rpy:120
|
||||
old "## Make the namebox available for styling through the Character object."
|
||||
@@ -35,39 +35,39 @@ translate simplified_chinese strings:
|
||||
|
||||
# screens.rpy:164
|
||||
old "## Input screen"
|
||||
new "## 输入屏幕"
|
||||
new "## 输入界面"
|
||||
|
||||
# screens.rpy:166
|
||||
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
|
||||
new "## 此屏幕用于显示 renpy.input。“prompt”参数用于传递文本提示。"
|
||||
new "## 此界面用于显示 renpy.input。“prompt”参数用于传递文本提示。"
|
||||
|
||||
# screens.rpy:169
|
||||
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
|
||||
new "## 此屏幕必须创建一个 id 为“input”的输入可视控件来接受各种输入参数。"
|
||||
new "## 此界面必须创建一个 id 为“input”的输入可视控件来接受各种输入参数。"
|
||||
|
||||
# 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"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#input"
|
||||
|
||||
# screens.rpy:199
|
||||
old "## Choice screen"
|
||||
new "## 选择屏幕"
|
||||
new "## 选择界面"
|
||||
|
||||
# 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 "## 此屏幕用于显示由“menu”语句生成的游戏内选项。参数“items”是一个对象列表,每个对象都有标题和操作字段。"
|
||||
new "## 此界面用于显示由“menu”语句生成的游戏内选项。参数“items”是一个对象列表,每个对象都有标题和操作字段。"
|
||||
|
||||
# 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"
|
||||
new "## https://www.renpy.cn/doc/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 "## 若为True,菜单内的叙述会使用旁白 (narrator) 角色。否则,叙述会显示为菜单内的文字说明。"
|
||||
new "## 若为 True,菜单内的叙述会使用旁白角色。若为 False,叙述会显示为菜单内的文字说明。"
|
||||
|
||||
# screens.rpy:238
|
||||
old "## Quick Menu screen"
|
||||
new "## 快捷菜单屏幕"
|
||||
new "## 快捷菜单界面"
|
||||
|
||||
# screens.rpy:240
|
||||
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
|
||||
@@ -75,7 +75,7 @@ translate simplified_chinese strings:
|
||||
|
||||
# screens.rpy:245
|
||||
old "## Ensure this appears on top of other screens."
|
||||
new "## 确保该菜单出现在其他屏幕之上,"
|
||||
new "## 确保该菜单出现在其他界面之上,"
|
||||
|
||||
# screens.rpy:256
|
||||
old "Back"
|
||||
@@ -111,19 +111,19 @@ translate simplified_chinese strings:
|
||||
|
||||
# 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 "## 此代码确保只要玩家没有明确隐藏界面,就会在游戏中显示“quick_menu”屏幕。"
|
||||
new "## 此语句确保只要玩家没有明确隐藏界面,就会在游戏中显示“quick_menu”界面。"
|
||||
|
||||
# screens.rpy:284
|
||||
old "## Main and Game Menu Screens"
|
||||
new "## 标题和游戏菜单屏幕"
|
||||
new "## 标题和游戏菜单界面"
|
||||
|
||||
# screens.rpy:287
|
||||
old "## Navigation screen"
|
||||
new "## 导航屏幕"
|
||||
new "## 导航界面"
|
||||
|
||||
# screens.rpy:289
|
||||
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
|
||||
new "## 该屏幕包含在标题菜单和游戏菜单中,并提供导航到其他菜单,以及启动游戏。"
|
||||
new "## 该界面包含在标题菜单和游戏菜单中,并提供导航到其他菜单,以及启动游戏。"
|
||||
|
||||
# screens.rpy:304
|
||||
old "Start"
|
||||
@@ -151,524 +151,524 @@ translate simplified_chinese strings:
|
||||
|
||||
# screens.rpy:328
|
||||
old "## Help isn't necessary or relevant to mobile devices."
|
||||
new "## “帮助”对移动设备来说并非必须或相关。"
|
||||
new "## “帮助”对移动设备来说并非必需或相关。"
|
||||
|
||||
# screens.rpy:329
|
||||
old "Help"
|
||||
new "帮助"
|
||||
|
||||
# screens.rpy:331
|
||||
old "## The quit button is banned on iOS and unnecessary on Android."
|
||||
new "## “退出”按钮在 iOS 上被禁止使用,在安卓上也不是必需的。"
|
||||
# screens.rpy:333
|
||||
old "## The quit button is banned on iOS and unnecessary on Android and Web."
|
||||
new "## “退出”按钮在 iOS 上被禁止设置,在安卓和网页上也不是必需的。"
|
||||
|
||||
# screens.rpy:332
|
||||
# screens.rpy:334
|
||||
old "Quit"
|
||||
new "退出"
|
||||
|
||||
# screens.rpy:346
|
||||
old "## Main Menu screen"
|
||||
new "## 标题菜单屏幕"
|
||||
|
||||
# screens.rpy:348
|
||||
old "## Main Menu screen"
|
||||
new "## 标题菜单界面"
|
||||
|
||||
# screens.rpy:350
|
||||
old "## Used to display the main menu when Ren'Py starts."
|
||||
new "## 用于在 Ren'Py 启动时显示标题菜单。"
|
||||
|
||||
# screens.rpy:350
|
||||
# screens.rpy:352
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#main-menu"
|
||||
|
||||
# screens.rpy:354
|
||||
# screens.rpy:356
|
||||
old "## This ensures that any other menu screen is replaced."
|
||||
new "## 此代码可确保替换掉任何其他菜单屏幕。"
|
||||
new "## 此语句可确保替换掉任何其他菜单界面。"
|
||||
|
||||
# screens.rpy:361
|
||||
# screens.rpy:363
|
||||
old "## This empty frame darkens the main menu."
|
||||
new "## 此空框可使标题菜单变暗。"
|
||||
|
||||
# screens.rpy:365
|
||||
# screens.rpy:367
|
||||
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
|
||||
new "## “use”语句将其他的屏幕包含进此屏幕。标题屏幕的实际内容在导航屏幕中。"
|
||||
|
||||
# screens.rpy:408
|
||||
old "## Game Menu screen"
|
||||
new "## 游戏菜单屏幕"
|
||||
new "## “use”语句将其他的界面包含进此界面。标题界面的实际内容在导航界面中。"
|
||||
|
||||
# screens.rpy:410
|
||||
old "## Game Menu screen"
|
||||
new "## 游戏菜单界面"
|
||||
|
||||
# screens.rpy:412
|
||||
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 "## 此屏幕列出了游戏菜单的基本共同结构。此屏幕需使用屏幕标题(title)调用,并显示背景、标题和导航菜单。"
|
||||
new "## 此界面列出了游戏菜单的基本共同结构。可使用界面标题调用,并显示背景、标题和导航菜单。"
|
||||
|
||||
# screens.rpy:413
|
||||
# screens.rpy:415
|
||||
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 "## “scroll”参数可以是“None”,也可以是“viewport”或“vpgrid”。当此屏幕与一个或多个子菜单同时使用时,这些子菜单将被转移(放置)在其中。"
|
||||
new "## “scroll”参数可以是“None”,也可以是“viewport”或“vpgrid”。当此界面与一个或多个子菜单同时使用时,这些子菜单将被转移(放置)在其中。"
|
||||
|
||||
# screens.rpy:431
|
||||
# screens.rpy:433
|
||||
old "## Reserve space for the navigation section."
|
||||
new "## 导航部分的预留空间。"
|
||||
|
||||
# screens.rpy:473
|
||||
# screens.rpy:475
|
||||
old "Return"
|
||||
new "返回"
|
||||
|
||||
# screens.rpy:536
|
||||
old "## About screen"
|
||||
new "## 关于屏幕"
|
||||
|
||||
# screens.rpy:538
|
||||
old "## About screen"
|
||||
new "## 关于界面"
|
||||
|
||||
# screens.rpy:540
|
||||
old "## This screen gives credit and copyright information about the game and Ren'Py."
|
||||
new "## 此屏幕提供有关游戏和 Ren'Py 的制作人员和版权信息。"
|
||||
new "## 此界面提供有关游戏和 Ren'Py 的制作人员和版权信息。"
|
||||
|
||||
# screens.rpy:541
|
||||
# screens.rpy:543
|
||||
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
|
||||
new "## 这个屏幕没有什么特别之处,因此它也是如何制作自定义屏幕的一个例子。"
|
||||
new "## 此界面没有什么特别之处,因此它也是如何制作自定义界面的一个例子。"
|
||||
|
||||
# screens.rpy:548
|
||||
# screens.rpy:550
|
||||
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 "## 此“use”语句将包含“game_menu”屏幕到此处。子级“vbox”将包含在“game_menu”屏幕的“viewport”内。"
|
||||
new "## 此“use”语句将包含“game_menu”界面到此处。子级“vbox”将包含在“game_menu”界面的“viewport”内。"
|
||||
|
||||
# screens.rpy:558
|
||||
# screens.rpy:560
|
||||
old "Version [config.version!t]\n"
|
||||
new "版本 [config.version!t]\n"
|
||||
|
||||
# screens.rpy:560
|
||||
# screens.rpy:562
|
||||
old "## gui.about is usually set in options.rpy."
|
||||
new "## “gui.about”通常在 options.rpy 中设置。"
|
||||
|
||||
# screens.rpy:564
|
||||
# screens.rpy:566
|
||||
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]"
|
||||
new "引擎:{a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only]\n\n[renpy.license!t]"
|
||||
|
||||
# screens.rpy:567
|
||||
# screens.rpy:569
|
||||
old "## This is redefined in options.rpy to add text to the about screen."
|
||||
new "## 此变量在 options.rpy 中重新定义,来添加文本到关于屏幕。"
|
||||
|
||||
# screens.rpy:579
|
||||
old "## Load and Save screens"
|
||||
new "## 读取和保存屏幕"
|
||||
new "## 此变量在 options.rpy 中重新定义,来添加文本到关于界面。"
|
||||
|
||||
# screens.rpy:581
|
||||
old "## Load and Save screens"
|
||||
new "## 读取和保存界面"
|
||||
|
||||
# screens.rpy:583
|
||||
old "## These screens are responsible for letting the player save the game and load it again. Since they share nearly everything in common, both are implemented in terms of a third screen, file_slots."
|
||||
new "## 这些屏幕负责允许玩家保存游戏并将其重新读取。由于它们几乎完全一样,因此它们都是以第三方屏幕“file_slots”来实现的。"
|
||||
new "## 这些界面负责让玩家保存游戏并能够再次读取。由于它们几乎完全一样,因此它们都是以第三方界面“file_slots”来实现的。"
|
||||
|
||||
# screens.rpy:585
|
||||
# screens.rpy:587
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#save https://www.renpy.org/doc/html/screen_special.html#load"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#save https://www.renpy.cn/doc/screen_special.html#load"
|
||||
|
||||
# screens.rpy:604
|
||||
# screens.rpy:606
|
||||
old "Page {}"
|
||||
new "第 {} 页"
|
||||
|
||||
# screens.rpy:604
|
||||
# screens.rpy:606
|
||||
old "Automatic saves"
|
||||
new "自动存档"
|
||||
|
||||
# screens.rpy:604
|
||||
# screens.rpy:606
|
||||
old "Quick saves"
|
||||
new "快速存档"
|
||||
|
||||
# screens.rpy:610
|
||||
# screens.rpy:612
|
||||
old "## This ensures the input will get the enter event before any of the buttons do."
|
||||
new "## 此代码确保输入控件在任意按钮执行前可以获取“enter”事件。"
|
||||
new "## 此语句确保输入控件在任意按钮执行前可以获取“enter”事件。"
|
||||
|
||||
# screens.rpy:614
|
||||
# screens.rpy:616
|
||||
old "## The page name, which can be edited by clicking on a button."
|
||||
new "## 页面名称,可以通过单击按钮进行编辑。"
|
||||
|
||||
# screens.rpy:626
|
||||
# screens.rpy:628
|
||||
old "## The grid of file slots."
|
||||
new "## 存档位网格。"
|
||||
|
||||
# screens.rpy:646
|
||||
# screens.rpy:648
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%Y-%m-%d %H:%M"
|
||||
|
||||
# screens.rpy:646
|
||||
# screens.rpy:648
|
||||
old "empty slot"
|
||||
new "空存档位"
|
||||
|
||||
# screens.rpy:654
|
||||
# screens.rpy:656
|
||||
old "## Buttons to access other pages."
|
||||
new "## 用于访问其他页面的按钮。"
|
||||
|
||||
# screens.rpy:663
|
||||
# screens.rpy:665
|
||||
old "<"
|
||||
new "<"
|
||||
|
||||
# screens.rpy:666
|
||||
# screens.rpy:668
|
||||
old "{#auto_page}A"
|
||||
new "{#auto_page}A"
|
||||
|
||||
# screens.rpy:669
|
||||
# screens.rpy:671
|
||||
old "{#quick_page}Q"
|
||||
new "{#quick_page}Q"
|
||||
|
||||
# screens.rpy:671
|
||||
# screens.rpy:673
|
||||
old "## range(1, 10) gives the numbers from 1 to 9."
|
||||
new "## “range(1, 10)”给出1到9之间的数字。"
|
||||
new "## “range(1, 10)”给出 1 到 9 之间的数字。"
|
||||
|
||||
# screens.rpy:675
|
||||
# screens.rpy:677
|
||||
old ">"
|
||||
new ">"
|
||||
|
||||
# screens.rpy:710
|
||||
old "## Preferences screen"
|
||||
new "## 设置屏幕"
|
||||
|
||||
# screens.rpy:712
|
||||
old "## Preferences screen"
|
||||
new "## 设置界面"
|
||||
|
||||
# screens.rpy:714
|
||||
old "## The preferences screen allows the player to configure the game to better suit themselves."
|
||||
new "## 设置屏幕允许玩家配置游戏以更好地适应自己。"
|
||||
new "## 设置界面允许玩家配置游戏以更好地适应自己的习惯。"
|
||||
|
||||
# screens.rpy:715
|
||||
# screens.rpy:717
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#preferences"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#preferences"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#preferences"
|
||||
|
||||
# screens.rpy:732
|
||||
# screens.rpy:734
|
||||
old "Display"
|
||||
new "显示"
|
||||
|
||||
# screens.rpy:733
|
||||
# screens.rpy:735
|
||||
old "Window"
|
||||
new "窗口"
|
||||
|
||||
# screens.rpy:734
|
||||
# screens.rpy:736
|
||||
old "Fullscreen"
|
||||
new "全屏"
|
||||
|
||||
# screens.rpy:738
|
||||
# screens.rpy:740
|
||||
old "Rollback Side"
|
||||
new "回退控制区"
|
||||
new "回退操作区"
|
||||
|
||||
# screens.rpy:739
|
||||
# screens.rpy:741
|
||||
old "Disable"
|
||||
new "禁用"
|
||||
|
||||
# screens.rpy:740
|
||||
# screens.rpy:742
|
||||
old "Left"
|
||||
new "左侧"
|
||||
new "屏幕左侧"
|
||||
|
||||
# screens.rpy:741
|
||||
# screens.rpy:743
|
||||
old "Right"
|
||||
new "右侧"
|
||||
new "屏幕右侧"
|
||||
|
||||
# screens.rpy:746
|
||||
# screens.rpy:748
|
||||
old "Unseen Text"
|
||||
new "未读文本"
|
||||
|
||||
# screens.rpy:747
|
||||
# screens.rpy:749
|
||||
old "After Choices"
|
||||
new "选项后继续"
|
||||
|
||||
# screens.rpy:748
|
||||
# screens.rpy:750
|
||||
old "Transitions"
|
||||
new "忽略转场"
|
||||
|
||||
# screens.rpy:750
|
||||
# screens.rpy:752
|
||||
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
|
||||
new "## 可以在此处添加类型为“radio_pref”或“check_pref”的其他“vbox”,以添加其他创建者定义的首选项设置。"
|
||||
|
||||
# screens.rpy:761
|
||||
# screens.rpy:763
|
||||
old "Text Speed"
|
||||
new "文字速度"
|
||||
|
||||
# screens.rpy:765
|
||||
# screens.rpy:767
|
||||
old "Auto-Forward Time"
|
||||
new "自动前进时间"
|
||||
|
||||
# screens.rpy:772
|
||||
# screens.rpy:774
|
||||
old "Music Volume"
|
||||
new "音乐音量"
|
||||
|
||||
# screens.rpy:779
|
||||
# screens.rpy:781
|
||||
old "Sound Volume"
|
||||
new "音效音量"
|
||||
|
||||
# screens.rpy:785
|
||||
# screens.rpy:787
|
||||
old "Test"
|
||||
new "测试"
|
||||
|
||||
# screens.rpy:789
|
||||
# screens.rpy:791
|
||||
old "Voice Volume"
|
||||
new "语音音量"
|
||||
|
||||
# screens.rpy:800
|
||||
# screens.rpy:802
|
||||
old "Mute All"
|
||||
new "全部静音"
|
||||
|
||||
# screens.rpy:876
|
||||
old "## History screen"
|
||||
new "## 历史屏幕"
|
||||
|
||||
# screens.rpy:878
|
||||
old "## History screen"
|
||||
new "## 历史界面"
|
||||
|
||||
# screens.rpy:880
|
||||
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
|
||||
new "## 这是一个向玩家显示对话历史的屏幕。虽然此屏幕没有任何特殊之处,但它必须访问储存在“_history_list”中的对话历史记录。"
|
||||
new "## 这是一个向玩家显示对话历史的界面。虽然此界面没有任何特殊之处,但它必须访问储存在“_history_list”中的对话历史记录。"
|
||||
|
||||
# screens.rpy:882
|
||||
# screens.rpy:884
|
||||
old "## https://www.renpy.org/doc/html/history.html"
|
||||
new "## https://www.renpy.org/doc/html/history.html"
|
||||
new "## https://www.renpy.cn/doc/history.html"
|
||||
|
||||
# screens.rpy:888
|
||||
# screens.rpy:890
|
||||
old "## Avoid predicting this screen, as it can be very large."
|
||||
new "## 避免预缓存此屏幕,因为它可能非常大。"
|
||||
new "## 避免预缓存此界面,因为它可能非常大。"
|
||||
|
||||
# screens.rpy:899
|
||||
# screens.rpy:901
|
||||
old "## This lays things out properly if history_height is None."
|
||||
new "## 此代码可确保如果“history_height”为“None”的话仍可正常显示条目。"
|
||||
new "## 此语句可确保如果“history_height”为“None”的话仍可正常显示条目。"
|
||||
|
||||
# screens.rpy:909
|
||||
# screens.rpy:911
|
||||
old "## Take the color of the who text from the Character, if set."
|
||||
new "## 若角色颜色已设置,则从“Character”对象中读取颜色到叙述人文本中。"
|
||||
|
||||
# screens.rpy:918
|
||||
# screens.rpy:920
|
||||
old "The dialogue history is empty."
|
||||
new "对话历史记录为空。"
|
||||
new "尚无对话历史记录。"
|
||||
|
||||
# screens.rpy:921
|
||||
# screens.rpy:923
|
||||
old "## This determines what tags are allowed to be displayed on the history screen."
|
||||
new "## 此代码决定了允许在历史记录屏幕上显示哪些标签。"
|
||||
|
||||
# screens.rpy:968
|
||||
old "## Help screen"
|
||||
new "## 帮助屏幕"
|
||||
new "## 此语句决定了允许在历史记录界面上显示哪些标签。"
|
||||
|
||||
# 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 "## 提供有关键盘和鼠标映射信息的屏幕。它使用其它屏幕(“keyboard_help”,“mouse_help“和”gamepad_help“)来显示实际的帮助内容。"
|
||||
old "## Help screen"
|
||||
new "## 帮助界面"
|
||||
|
||||
# screens.rpy:989
|
||||
# screens.rpy:972
|
||||
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
|
||||
new "## 提供有关键盘和鼠标映射信息的界面。它使用其它界面(“keyboard_help”,“mouse_help“和”gamepad_help“)来显示实际的帮助内容。"
|
||||
|
||||
# screens.rpy:991
|
||||
old "Keyboard"
|
||||
new "键盘"
|
||||
|
||||
# screens.rpy:990
|
||||
# screens.rpy:992
|
||||
old "Mouse"
|
||||
new "鼠标"
|
||||
|
||||
# screens.rpy:993
|
||||
# screens.rpy:995
|
||||
old "Gamepad"
|
||||
new "手柄"
|
||||
|
||||
# screens.rpy:1006
|
||||
# screens.rpy:1008
|
||||
old "Enter"
|
||||
new "回车"
|
||||
|
||||
# screens.rpy:1007
|
||||
# screens.rpy:1009
|
||||
old "Advances dialogue and activates the interface."
|
||||
new "推进对话并激活界面。"
|
||||
|
||||
# screens.rpy:1010
|
||||
# screens.rpy:1012
|
||||
old "Space"
|
||||
new "空格"
|
||||
|
||||
# screens.rpy:1011
|
||||
# screens.rpy:1013
|
||||
old "Advances dialogue without selecting choices."
|
||||
new "推进对话但不选择选项。"
|
||||
new "推进对话但不激活选项。"
|
||||
|
||||
# screens.rpy:1014
|
||||
# screens.rpy:1016
|
||||
old "Arrow Keys"
|
||||
new "方向键"
|
||||
|
||||
# screens.rpy:1015
|
||||
# screens.rpy:1017
|
||||
old "Navigate the interface."
|
||||
new "导航界面。"
|
||||
|
||||
# screens.rpy:1018
|
||||
# screens.rpy:1020
|
||||
old "Escape"
|
||||
new "Esc"
|
||||
|
||||
# screens.rpy:1019
|
||||
# screens.rpy:1021
|
||||
old "Accesses the game menu."
|
||||
new "访问游戏菜单。"
|
||||
|
||||
# screens.rpy:1022
|
||||
# screens.rpy:1024
|
||||
old "Ctrl"
|
||||
new "Ctrl"
|
||||
|
||||
# screens.rpy:1023
|
||||
# screens.rpy:1025
|
||||
old "Skips dialogue while held down."
|
||||
new "按住时快进对话。"
|
||||
|
||||
# screens.rpy:1026
|
||||
# screens.rpy:1028
|
||||
old "Tab"
|
||||
new "Tab"
|
||||
|
||||
# screens.rpy:1027
|
||||
# screens.rpy:1029
|
||||
old "Toggles dialogue skipping."
|
||||
new "切换对话快进。"
|
||||
|
||||
# screens.rpy:1030
|
||||
# screens.rpy:1032
|
||||
old "Page Up"
|
||||
new "Page Up"
|
||||
|
||||
# screens.rpy:1031
|
||||
# screens.rpy:1033
|
||||
old "Rolls back to earlier dialogue."
|
||||
new "回退至先前的对话。"
|
||||
|
||||
# screens.rpy:1034
|
||||
# screens.rpy:1036
|
||||
old "Page Down"
|
||||
new "Page Down"
|
||||
|
||||
# screens.rpy:1035
|
||||
# screens.rpy:1037
|
||||
old "Rolls forward to later dialogue."
|
||||
new "向前至之后的对话。"
|
||||
|
||||
# screens.rpy:1039
|
||||
# screens.rpy:1041
|
||||
old "Hides the user interface."
|
||||
new "隐藏用户界面。"
|
||||
|
||||
# screens.rpy:1043
|
||||
# screens.rpy:1045
|
||||
old "Takes a screenshot."
|
||||
new "截图。"
|
||||
|
||||
# screens.rpy:1047
|
||||
# screens.rpy:1049
|
||||
old "Toggles assistive {a=https://www.renpy.org/l/voicing}self-voicing{/a}."
|
||||
new "切换辅助{a=https://www.renpy.org/l/voicing}自动朗读{/a}。"
|
||||
|
||||
# screens.rpy:1053
|
||||
# screens.rpy:1055
|
||||
old "Left Click"
|
||||
new "左键点击"
|
||||
|
||||
# screens.rpy:1057
|
||||
# screens.rpy:1059
|
||||
old "Middle Click"
|
||||
new "中键点击"
|
||||
|
||||
# screens.rpy:1061
|
||||
# screens.rpy:1063
|
||||
old "Right Click"
|
||||
new "右键点击"
|
||||
|
||||
# screens.rpy:1065
|
||||
# screens.rpy:1067
|
||||
old "Mouse Wheel Up\nClick Rollback Side"
|
||||
new "鼠标滚轮上\n点击回退控制区"
|
||||
new "鼠标滚轮上\n点击回退操作区"
|
||||
|
||||
# screens.rpy:1069
|
||||
# screens.rpy:1071
|
||||
old "Mouse Wheel Down"
|
||||
new "鼠标滚轮下"
|
||||
|
||||
# screens.rpy:1076
|
||||
# screens.rpy:1078
|
||||
old "Right Trigger\nA/Bottom Button"
|
||||
new "右扳机键\nA/底键"
|
||||
|
||||
# screens.rpy:1080
|
||||
# screens.rpy:1082
|
||||
old "Left Trigger\nLeft Shoulder"
|
||||
new "左扳机键\n左肩键"
|
||||
|
||||
# screens.rpy:1084
|
||||
# screens.rpy:1086
|
||||
old "Right Shoulder"
|
||||
new "右肩键"
|
||||
|
||||
# screens.rpy:1089
|
||||
# screens.rpy:1091
|
||||
old "D-Pad, Sticks"
|
||||
new "十字键,摇杆"
|
||||
|
||||
# screens.rpy:1093
|
||||
# screens.rpy:1095
|
||||
old "Start, Guide"
|
||||
new "开始,向导"
|
||||
|
||||
# screens.rpy:1097
|
||||
# screens.rpy:1099
|
||||
old "Y/Top Button"
|
||||
new "Y/顶键"
|
||||
|
||||
# screens.rpy:1100
|
||||
# screens.rpy:1102
|
||||
old "Calibrate"
|
||||
new "校准"
|
||||
|
||||
# screens.rpy:1128
|
||||
# screens.rpy:1130
|
||||
old "## Additional screens"
|
||||
new "## 其他屏幕"
|
||||
|
||||
# screens.rpy:1132
|
||||
old "## Confirm screen"
|
||||
new "## 确认屏幕"
|
||||
new "## 其他界面"
|
||||
|
||||
# screens.rpy:1134
|
||||
old "## Confirm screen"
|
||||
new "## 确认界面"
|
||||
|
||||
# screens.rpy:1136
|
||||
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
|
||||
new "## 当 Ren'Py 需要询问玩家是非问题时,会调用确认屏幕。"
|
||||
new "## 当 Ren'Py 需要询问玩家有关确定或取消的问题时,会调用确认界面。"
|
||||
|
||||
# screens.rpy:1137
|
||||
# screens.rpy:1139
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#confirm"
|
||||
|
||||
# screens.rpy:1141
|
||||
# screens.rpy:1143
|
||||
old "## Ensure other screens do not get input while this screen is displayed."
|
||||
new "## 显示此屏幕时,确保其他屏幕无法输入。"
|
||||
new "## 显示此界面时,确保其他界面无法输入。"
|
||||
|
||||
# screens.rpy:1165
|
||||
# screens.rpy:1167
|
||||
old "Yes"
|
||||
new "确定"
|
||||
|
||||
# screens.rpy:1166
|
||||
# screens.rpy:1168
|
||||
old "No"
|
||||
new "取消"
|
||||
|
||||
# screens.rpy:1168
|
||||
# screens.rpy:1170
|
||||
old "## Right-click and escape answer \"no\"."
|
||||
new "## 右键点击退出并答复“no”(取消)。"
|
||||
|
||||
# screens.rpy:1195
|
||||
old "## Skip indicator screen"
|
||||
new "## 快进指示屏幕"
|
||||
|
||||
# screens.rpy:1197
|
||||
old "## Skip indicator screen"
|
||||
new "## 快进指示界面"
|
||||
|
||||
# screens.rpy:1199
|
||||
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
|
||||
new "## “skip_indicator”屏幕用于指示快进正在进行中。"
|
||||
new "## “skip_indicator”界面用于指示快进正在进行中。"
|
||||
|
||||
# screens.rpy:1200
|
||||
# screens.rpy:1202
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
new "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#skip-indicator"
|
||||
|
||||
# screens.rpy:1212
|
||||
# screens.rpy:1214
|
||||
old "Skipping"
|
||||
new "正在快进"
|
||||
|
||||
# screens.rpy:1219
|
||||
# screens.rpy:1221
|
||||
old "## This transform is used to blink the arrows one after another."
|
||||
new "## 此变换用于一个接一个地闪烁箭头。"
|
||||
|
||||
# screens.rpy:1246
|
||||
# screens.rpy:1248
|
||||
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
|
||||
new "## 我们必须使用包含“BLACK RIGHT-POINTING SMALL TRIANGLE”字形的字体。"
|
||||
|
||||
# screens.rpy:1251
|
||||
old "## Notify screen"
|
||||
new "## 通知屏幕"
|
||||
|
||||
# screens.rpy:1253
|
||||
old "## Notify screen"
|
||||
new "## 通知界面"
|
||||
|
||||
# screens.rpy:1255
|
||||
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
|
||||
new "## 通知屏幕用于向玩家显示消息。(例如,当游戏快速保存或已截屏时。)"
|
||||
new "## 通知界面用于向玩家显示消息。(例如,当游戏快速保存或已截屏时。)"
|
||||
|
||||
# screens.rpy:1256
|
||||
# screens.rpy:1258
|
||||
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 模式屏幕"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#notify-screen"
|
||||
|
||||
# screens.rpy:1292
|
||||
old "## This screen is used for NVL-mode dialogue and menus."
|
||||
new "## 此屏幕用于 NVL 模式的对话和菜单。"
|
||||
old "## NVL screen"
|
||||
new "## NVL 模式界面"
|
||||
|
||||
# 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"
|
||||
old "## This screen is used for NVL-mode dialogue and menus."
|
||||
new "## 此界面用于 NVL 模式的对话和菜单。"
|
||||
|
||||
# screens.rpy:1305
|
||||
# screens.rpy:1296
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#nvl"
|
||||
new "## https://www.renpy.cn/doc/screen_special.html#nvl"
|
||||
|
||||
# screens.rpy:1307
|
||||
old "## Displays dialogue in either a vpgrid or the vbox."
|
||||
new "## 在“vpgrid”或“vbox”中显示对话框。"
|
||||
|
||||
# screens.rpy:1318
|
||||
# screens.rpy:1320
|
||||
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 "## 如果给定,则显示“menu”。 如果“config.narrator_menu”设置为“True”,则“menu”可能显示不正确,如前述。"
|
||||
|
||||
# screens.rpy:1348
|
||||
# screens.rpy:1350
|
||||
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
|
||||
new "## 此代码控制一次可以显示的最大 NVL 模式条目数。"
|
||||
new "## 此语句控制一次可以显示的 NVL 模式条目的最大数量。"
|
||||
|
||||
# screens.rpy:1410
|
||||
# screens.rpy:1412
|
||||
old "## Mobile Variants"
|
||||
new "## 移动设备界面"
|
||||
|
||||
# screens.rpy:1417
|
||||
# screens.rpy:1419
|
||||
old "## Since a mouse may not be present, we replace the quick menu with a version that uses fewer and bigger buttons that are easier to touch."
|
||||
new "## 由于鼠标可能不存在,我们将快捷菜单替换为更容易触摸且按钮更少更大的版本。"
|
||||
|
||||
# screens.rpy:1433
|
||||
# screens.rpy:1437
|
||||
old "Menu"
|
||||
new "菜单"
|
||||
|
||||
@@ -1,5 +1,2 @@
|
||||
init python:
|
||||
translate_font("simplified_chinese", "SourceHanSans-Light-Lite.ttf")
|
||||
|
||||
translate simplified_chinese python:
|
||||
gui.FONT_SCALE = .9
|
||||
translate_font("simplified_chinese", "SourceHanSansLite.ttf")
|
||||
|
||||
@@ -736,5 +736,12 @@ translate spanish strings:
|
||||
|
||||
# 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."
|
||||
|
||||
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."
|
||||
|
||||
# renpy/common/00accessibility.rpy:193
|
||||
old "Self-Voicing Volume Drop"
|
||||
new "Caída de Volumen de Voz Automática"
|
||||
|
||||
# renpy/common/00preferences.rpy:384
|
||||
old "self voicing volume drop"
|
||||
new "caída de volumen de voz automática"
|
||||
|
||||
@@ -194,5 +194,16 @@
|
||||
|
||||
# 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."
|
||||
|
||||
new "long: imprime la representación completa de los objetos en la consola."
|
||||
|
||||
# renpy/common/00console.rpy:814
|
||||
old "watch <expression>: watch a python expression\n watch short: makes the representation of traced expressions short (default)\n watch long: makes the representation of traced expressions as is"
|
||||
new "watch <expression>: observa una expresión de Python\n watch short: hace que la representación de las expresiones rastreadas sea corta (predeterminado)\n watch long: hace que la representación de las expresiones rastreadas sea corta"
|
||||
|
||||
# renpy/common/00console.rpy:925
|
||||
old "escape: Enables escaping of unicode symbols in unicode strings."
|
||||
new "escape: habilita el escape de símbolos Unicode en cadenas Unicode."
|
||||
|
||||
# renpy/common/00console.rpy:929
|
||||
old "unescape: Disables escaping of unicode symbols in unicode strings and print it as is (default)."
|
||||
new "unescape: Desactiva el escape de símbolos Unicode en cadenas Unicode y lo imprime como está (predeterminado)."
|
||||
|
||||
@@ -234,5 +234,40 @@
|
||||
|
||||
# _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."
|
||||
|
||||
new "Copia el archivo errors.txt al portapapeles como Markdown para Discord."
|
||||
|
||||
# renpy/common/00gltest.rpy:77
|
||||
old "Force ANGLE Renderer"
|
||||
new "Force renderizador ANGLE"
|
||||
|
||||
# renpy/common/00gltest.rpy:81
|
||||
old "Force GL Renderer"
|
||||
new "Force renderizador GL"
|
||||
|
||||
# renpy/common/00gltest.rpy:85
|
||||
old "Force GLES Renderer"
|
||||
new "Force renderizador GLES"
|
||||
|
||||
# renpy/common/00gltest.rpy:90
|
||||
old "Force ANGLE2 Renderer"
|
||||
new "Force renderizador ANGLE2"
|
||||
|
||||
# renpy/common/00gltest.rpy:94
|
||||
old "Force GL2 Renderer"
|
||||
new "Force renderizador GL2"
|
||||
|
||||
# renpy/common/00gltest.rpy:98
|
||||
old "Force GLES2 Renderer"
|
||||
new "Force renderizador GLES2"
|
||||
|
||||
# renpy/common/00gltest.rpy:218
|
||||
old "This game requires use of GL2 that can't be initialised."
|
||||
new "Este juego requiere el uso de GL2 que no se puede inicializar."
|
||||
|
||||
# renpy/common/00gltest.rpy:229
|
||||
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
|
||||
new "Puede encontrar más detalles sobre cómo solucionar este problema en la {a=[url]} documentación {/a}."
|
||||
|
||||
# renpy/common/00gltest.rpy:246
|
||||
old "Change render options"
|
||||
new "Cambiar las opciones de renderizado"
|
||||
|
||||
+1708
-1652
File diff suppressed because it is too large
Load Diff
@@ -459,7 +459,7 @@ translate spanish strings:
|
||||
|
||||
# screens.rpy:1009
|
||||
old "Advances dialogue without selecting choices."
|
||||
new "Avanza el dilogo sin seleccionar opciones."
|
||||
new "Avanza el diálogo sin seleccionar opciones."
|
||||
|
||||
# screens.rpy:1012
|
||||
old "Arrow Keys"
|
||||
@@ -672,3 +672,8 @@ translate spanish strings:
|
||||
# screens.rpy:1431
|
||||
old "Menu"
|
||||
new "Menú"
|
||||
|
||||
# gui/game/screens.rpy:333
|
||||
old "## The quit button is banned on iOS and unnecessary on Android and Web."
|
||||
new "## El botón de salida está prohibido en iOS y no es necesario en Android y Web."
|
||||
|
||||
|
||||
@@ -1,5 +1,2 @@
|
||||
init python:
|
||||
translate_font("traditional_chinese", "SourceHanSans-Light-Lite.ttf")
|
||||
|
||||
translate traditional_chinese python:
|
||||
gui.FONT_SCALE = .9
|
||||
translate_font("traditional_chinese", "SourceHanSansLite.ttf")
|
||||
|
||||
@@ -414,8 +414,8 @@ translate turkish strings:
|
||||
new "Sizin için bir uygulama imzalama anahtarı yaratabilirim. Bir uygulamayı bu anahtarla imzalamak, uygulamanın Android Market ve diğer mağazalara yerleştirilebilmesini sağlar.\n\nAnahtar yaratmak ister misiniz?"
|
||||
|
||||
# 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 "Anahtarı android.keystore dosyasında yaratacağım.\n\nBu dosyayı yedeklemeniz gerekecek. Eğer onu kaybederseniz, uygulamanızı güncelleyemeyeceksiniz.\n\n\\Anahtarı da güvenli tutmanız gerekiyor. Eğer kötü niyetli insanların eline geçerse uygulamanızın sahte versiyonlarını yapabilir ve kullanıcılarınızın bilgilerini çalabilirler.\n\nandroid.keystore dosyasını yedekleyip güvenli tutacak mısınız?"
|
||||
old "I will create the key in the android.keystore file.\n\nYou need to back this file up. If you lose it, you will not be able to upgrade your application.\n\nYou also need to keep the key safe. If evil people get this file, they could make fake versions of your application, and potentially steal your users' data.\n\nWill you make a backup of android.keystore, and keep it in a safe place?"
|
||||
new "Anahtarı android.keystore dosyasında yaratacağım.\n\nBu dosyayı yedeklemeniz gerekecek. Eğer onu kaybederseniz, uygulamanızı güncelleyemeyeceksiniz.\n\nAnahtarı da güvenli tutmanız gerekiyor. Eğer kötü niyetli insanların eline geçerse uygulamanızın sahte versiyonlarını yapabilir ve kullanıcılarınızın bilgilerini çalabilirler.\n\nandroid.keystore dosyasını yedekleyip güvenli tutacak mısınız?"
|
||||
|
||||
# androidstrings.rpy:68
|
||||
old "Please enter your name or the name of your organization."
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -189,11 +189,9 @@ label update:
|
||||
|
||||
import urllib2
|
||||
import json
|
||||
import ssl
|
||||
|
||||
with interface.error_handling(_("downloading the list of update channels")):
|
||||
context = ssl._create_unverified_context()
|
||||
channel_data = urllib2.urlopen(CHANNELS_URL, context=context)
|
||||
channel_data = urllib2.urlopen(CHANNELS_URL, context=ssl_context())
|
||||
|
||||
with interface.error_handling(_("parsing the list of update channels")):
|
||||
channels = json.load(channel_data)["releases"]
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -34,7 +34,7 @@ init -1 python in util:
|
||||
if not os.path.isdir(d):
|
||||
return [ ]
|
||||
|
||||
return [ i for i in os.listdir(d) if isinstance(i, unicode) ]
|
||||
return [ i for i in os.listdir(d) if isinstance(i, str) ]
|
||||
|
||||
except:
|
||||
return [ ]
|
||||
|
||||
+161
-3
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -28,6 +28,10 @@ init python:
|
||||
import shutil
|
||||
import webserver
|
||||
import io
|
||||
import tempfile
|
||||
import time
|
||||
import pygame_sdl2
|
||||
import zipfile
|
||||
|
||||
WEB_PATH = None
|
||||
|
||||
@@ -61,6 +65,157 @@ init python:
|
||||
|
||||
return destination
|
||||
|
||||
def generate_image_placeholder(surface, tmpdir):
|
||||
"""
|
||||
Creates size-efficient 1/32 thumbnail for use as download preview.
|
||||
Pixellate first for better graphic results.
|
||||
Will be stretched back when playing.
|
||||
"""
|
||||
|
||||
if surface.get_width() > 32 and surface.get_height() > 32:
|
||||
renpy.display.module.pixellate(surface,surface,32,32,32,32)
|
||||
thumbnail = renpy.display.pgrender.transform_scale(surface,
|
||||
(surface.get_width()/32, surface.get_height()/32))
|
||||
else:
|
||||
# avoid unsupported 0-width or 0-height picture
|
||||
thumbnail = surface
|
||||
|
||||
save_as_png = os.path.join(tmpdir, 'use_png_format.png')
|
||||
best_compression = 9
|
||||
pygame_sdl2.image.save(thumbnail, save_as_png, best_compression)
|
||||
|
||||
return save_as_png
|
||||
|
||||
def load_filters(p, path_filters):
|
||||
"""
|
||||
Type- and path-based filtering, following
|
||||
progressive_download.txt rules (created with default rules if
|
||||
not there already). Assumes prior filtering based on
|
||||
hard-coded list of file extensions.
|
||||
"""
|
||||
|
||||
rules_path = os.path.join(p.path,'progressive_download.txt')
|
||||
if not os.path.exists(rules_path):
|
||||
open(rules_path, 'w').write(
|
||||
"# RenPyWeb progressive download rules - first match applies\n"
|
||||
+ "# '+' = progressive download, '-' = keep in game.zip (default)\n"
|
||||
+ "# See https://www.renpy.org/doc/html/build.html#classifying-and-ignoring-files for matching\n"
|
||||
+ "#\n"
|
||||
+ "# +/- type path\n"
|
||||
+ '- image game/gui/**\n'
|
||||
+ '+ image game/**\n'
|
||||
+ '+ music game/music/**\n'
|
||||
+ '+ voice game/voice/**\n'
|
||||
)
|
||||
|
||||
# Parse rules
|
||||
line_no = 0
|
||||
for line in open(rules_path, 'r').readlines():
|
||||
line_no += 1
|
||||
|
||||
if line.startswith('#') or line.strip() == '':
|
||||
continue
|
||||
|
||||
try:
|
||||
(f_rule, f_type, f_pattern) = line.rstrip("\r\n").split(' ', 3-1)
|
||||
except ValueError:
|
||||
raise RuntimeError("Missing element at progressive_download.txt:%d" % line_no)
|
||||
|
||||
try:
|
||||
f_rule = {'+': True, '-': False}[f_rule]
|
||||
except KeyError:
|
||||
raise RuntimeError("Invalid rule '%s' at progressive_download.txt:%d" % (f_rule, line_no))
|
||||
|
||||
if f_type not in ('image', 'music', 'voice'):
|
||||
raise RuntimeError("Invalid type '%s' at progressive_download.txt:%d" % (f_type, line_no))
|
||||
|
||||
path_filters.append((f_rule, f_type, f_pattern))
|
||||
|
||||
def filters_match(path_filters, path, path_type):
|
||||
"""
|
||||
Returns whether path matches a progressive download rule
|
||||
"""
|
||||
for (f_rule, f_type, f_pattern) in path_filters:
|
||||
if path_type == f_type and distribute.match(path, f_pattern):
|
||||
return f_rule
|
||||
return False
|
||||
|
||||
def repack_for_progressive_download(p):
|
||||
"""
|
||||
Filter out downloadable resources and generate placeholders
|
||||
"""
|
||||
|
||||
destination = get_web_destination(p)
|
||||
|
||||
path_filters = []
|
||||
load_filters(p, path_filters)
|
||||
|
||||
shutil.move(
|
||||
os.path.join(destination, 'game.zip'),
|
||||
os.path.join(destination, 'game-old.zip'))
|
||||
zin = zipfile.ZipFile(os.path.join(destination, 'game-old.zip'))
|
||||
zout = zipfile.ZipFile(os.path.join(destination, 'game.zip'), 'w')
|
||||
remote_files = {}
|
||||
tmpdir = tempfile.mkdtemp()
|
||||
|
||||
for m in zin.infolist():
|
||||
|
||||
base, ext = os.path.splitext(m.filename)
|
||||
|
||||
# Images
|
||||
if (ext.lower() in ('.jpg', '.jpeg', '.png', '.webp')
|
||||
and filters_match(path_filters, m.filename, 'image')):
|
||||
|
||||
zin.extract(m, path=destination)
|
||||
surface = pygame_sdl2.image.load(os.path.join(destination,m.filename))
|
||||
(w,h) = (surface.get_width(),surface.get_height())
|
||||
|
||||
remote_files[m.filename[len('game/'):]] = 'image {},{}'.format(w,h)
|
||||
|
||||
tmpfile = generate_image_placeholder(surface, tmpdir)
|
||||
placeholder_relpath = os.path.join('_placeholders', m.filename[len('game/'):])
|
||||
zout.write(tmpfile, placeholder_relpath)
|
||||
|
||||
# Musics (but not SFX - no placeholders for short, non-looping sounds)
|
||||
elif (ext.lower() in ('.wav', '.mp2', '.mp3', '.ogg', '.opus')
|
||||
and filters_match(path_filters, m.filename, 'music')):
|
||||
zin.extract(m, path=destination)
|
||||
remote_files[m.filename[len('game/'):]] = 'music -'
|
||||
|
||||
# Voices
|
||||
elif (ext.lower() in ('.wav', '.mp2', '.mp3', '.ogg', '.opus')
|
||||
and filters_match(path_filters, m.filename, 'voice')):
|
||||
zin.extract(m, path=destination)
|
||||
remote_files[m.filename[len('game/'):]] = 'voice -'
|
||||
|
||||
# Videos are currently not supported, strip them if not already
|
||||
elif (ext.lower() in ('.ogv', '.webm', '.mp4', '.mkv', '.avi')):
|
||||
pass
|
||||
|
||||
# Default: keep (extract & recompress to new .zip)
|
||||
else:
|
||||
# Not using zout.writestr(m, zin.read(m)) to avoid MemoryError
|
||||
tmpfile = zin.extract(m, tmpdir)
|
||||
date_time = time.mktime(m.date_time+(0,0,0))
|
||||
os.utime(tmpfile, (date_time,date_time))
|
||||
zout.write(tmpfile, m.filename, m.compress_type)
|
||||
|
||||
# Prepare a list of remote files for renpy.loader
|
||||
remote_files_str = ''
|
||||
for f in sorted(remote_files):
|
||||
remote_files_str += f + "\n"
|
||||
remote_files_str += remote_files[f] + "\n"
|
||||
zout.writestr('game/renpyweb_remote_files.txt',
|
||||
remote_files_str,
|
||||
zipfile.ZIP_DEFLATED)
|
||||
|
||||
# Clean-up
|
||||
shutil.rmtree(tmpdir)
|
||||
zout.close()
|
||||
zin.close()
|
||||
os.unlink(os.path.join(destination, 'game-old.zip'))
|
||||
|
||||
|
||||
def build_web(p, gui=True):
|
||||
|
||||
# Figure out the reporter to use.
|
||||
@@ -75,7 +230,7 @@ init python:
|
||||
destination = get_web_destination(p)
|
||||
display_name = p.dump['build']['display_name']
|
||||
|
||||
# Clean the folder, then remale it.
|
||||
# Clean the folder, then remake it.
|
||||
if os.path.exists(destination):
|
||||
shutil.rmtree(destination)
|
||||
|
||||
@@ -84,6 +239,9 @@ init python:
|
||||
# Use the distributor to make game.zip.
|
||||
distribute.Distributor(p, packages=[ "web" ], packagedest=os.path.join(destination, "game"), reporter=reporter, noarchive=True, scan=False)
|
||||
|
||||
reporter.info(_("Preparing progressive download"))
|
||||
repack_for_progressive_download(p)
|
||||
|
||||
# Copy the files from WEB_PATH to destination.
|
||||
for fn in os.listdir(WEB_PATH):
|
||||
if fn in { "game.zip", "hash.txt", "index.html" }:
|
||||
@@ -180,7 +338,7 @@ screen web():
|
||||
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.")
|
||||
text _("Images and musics can be downloaded while playing. A 'progressive_download.txt' file will be created so you can configure this behavior.")
|
||||
|
||||
add SPACER
|
||||
|
||||
|
||||
+13
-21
@@ -1,23 +1,15 @@
|
||||
import BaseHTTPServer
|
||||
import threading
|
||||
from __future__ import print_function
|
||||
|
||||
import threading
|
||||
import posixpath
|
||||
import urllib
|
||||
import os
|
||||
import os
|
||||
import posixpath
|
||||
import BaseHTTPServer
|
||||
import urllib
|
||||
import urlparse
|
||||
import http.server
|
||||
import urllib.parse
|
||||
import cgi
|
||||
import sys
|
||||
import shutil
|
||||
import mimetypes
|
||||
|
||||
try:
|
||||
from cStringIO import StringIO
|
||||
except ImportError:
|
||||
from StringIO import StringIO
|
||||
import io
|
||||
|
||||
# The path to the root of the web server.
|
||||
root = ""
|
||||
@@ -25,7 +17,7 @@ root = ""
|
||||
import renpy
|
||||
|
||||
|
||||
class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
class WebHandler(http.server.BaseHTTPRequestHandler):
|
||||
|
||||
"""Simple HTTP request handler with GET and HEAD commands.
|
||||
|
||||
@@ -38,7 +30,7 @@ class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
|
||||
"""
|
||||
|
||||
server_version = "Ren'Py/" + renpy.version_only # @UndefinedVariable
|
||||
server_version = "Ren'Py/" + renpy.version_only # @UndefinedVariable
|
||||
|
||||
def do_GET(self):
|
||||
"""Serve a GET request."""
|
||||
@@ -125,8 +117,8 @@ class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
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 = io.StringIO()
|
||||
displaypath = cgi.escape(urllib.parse.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)
|
||||
@@ -142,7 +134,7 @@ class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
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)))
|
||||
% (urllib.parse.quote(linkname), cgi.escape(displayname)))
|
||||
f.write("</ul>\n<hr>\n</body>\n</html>\n")
|
||||
length = f.tell()
|
||||
f.seek(0)
|
||||
@@ -166,7 +158,7 @@ class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
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))
|
||||
path = posixpath.normpath(urllib.parse.unquote(path))
|
||||
words = path.split('/')
|
||||
words = filter(None, words)
|
||||
|
||||
@@ -223,7 +215,7 @@ class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
return self.extensions_map['']
|
||||
|
||||
extensions_map = {
|
||||
'': 'application/octet-stream', # Default
|
||||
'': 'application/octet-stream', # Default
|
||||
'.gz': 'application/gzip',
|
||||
'.htm': 'text/html',
|
||||
'.html': 'text/html',
|
||||
@@ -232,7 +224,7 @@ class WebHandler(BaseHTTPServer.BaseHTTPRequestHandler):
|
||||
|
||||
|
||||
def run():
|
||||
server = BaseHTTPServer.HTTPServer(("127.0.0.1", 8042), WebHandler)
|
||||
server = http.server.HTTPServer(("127.0.0.1", 8042), WebHandler)
|
||||
server.serve_forever()
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,42 @@
|
||||
_renpy gen/_renpy.c IMG_savepng.c core.c
|
||||
_renpybidi gen/_renpybidi.c renpybidicore.c
|
||||
renpy.audio.renpysound gen/renpy.audio.renpysound.c renpysound_core.c ffmedia.c
|
||||
renpy.parsersupport gen/renpy.parsersupport.c
|
||||
renpy.pydict gen/renpy.pydict.c
|
||||
renpy.style gen/renpy.style.c
|
||||
renpy.compat.dictviews gen/renpy.compat.dictviews.c
|
||||
renpy.styledata.styleclass gen/renpy.styledata.styleclass.c
|
||||
renpy.styledata.stylesets gen/renpy.styledata.stylesets.c
|
||||
renpy.styledata.style_selected_hover_functions gen/renpy.styledata.style_selected_hover_functions.c
|
||||
renpy.styledata.style_selected_idle_functions gen/renpy.styledata.style_selected_idle_functions.c
|
||||
renpy.styledata.style_selected_insensitive_functions gen/renpy.styledata.style_selected_insensitive_functions.c
|
||||
renpy.styledata.style_selected_functions gen/renpy.styledata.style_selected_functions.c
|
||||
renpy.styledata.style_hover_functions gen/renpy.styledata.style_hover_functions.c
|
||||
renpy.styledata.style_idle_functions gen/renpy.styledata.style_idle_functions.c
|
||||
renpy.styledata.style_insensitive_functions gen/renpy.styledata.style_insensitive_functions.c
|
||||
renpy.styledata.style_functions gen/renpy.styledata.style_functions.c
|
||||
renpy.styledata.style_activate_functions gen/renpy.styledata.style_activate_functions.c
|
||||
renpy.styledata.style_selected_activate_functions gen/renpy.styledata.style_selected_activate_functions.c
|
||||
renpy.display.matrix gen/renpy.display.matrix.c
|
||||
renpy.display.render gen/renpy.display.render.c
|
||||
renpy.display.accelerator gen/renpy.display.accelerator.c
|
||||
renpy.uguu.gl gen/renpy.uguu.gl.c
|
||||
renpy.uguu.uguu gen/renpy.uguu.uguu.c
|
||||
renpy.uguu.angle gen/renpy.uguu.angle.c
|
||||
renpy.gl.gldraw gen/renpy.gl.gldraw.c
|
||||
renpy.gl.gltexture gen/renpy.gl.gltexture.c
|
||||
renpy.gl.glenviron_shader gen/renpy.gl.glenviron_shader.c
|
||||
renpy.gl.glrtt_copy gen/renpy.gl.glrtt_copy.c
|
||||
renpy.gl.glrtt_fbo gen/renpy.gl.glrtt_fbo.c
|
||||
renpy.gl2.gl2mesh gen/renpy.gl2.gl2mesh.c
|
||||
renpy.gl2.gl2mesh2 gen/renpy.gl2.gl2mesh2.c
|
||||
renpy.gl2.gl2mesh3 gen/renpy.gl2.gl2mesh3.c
|
||||
renpy.gl2.gl2polygon gen/renpy.gl2.gl2polygon.c
|
||||
renpy.gl2.gl2model gen/renpy.gl2.gl2model.c
|
||||
renpy.gl2.gl2draw gen/renpy.gl2.gl2draw.c
|
||||
renpy.gl2.gl2texture gen/renpy.gl2.gl2texture.c
|
||||
renpy.gl2.gl2shader gen/renpy.gl2.gl2shader.c
|
||||
renpy.gl2.live2dmodel gen/renpy.gl2.live2dmodel.c
|
||||
renpy.text.textsupport gen/renpy.text.textsupport.c
|
||||
renpy.text.texwrap gen/renpy.text.texwrap.c
|
||||
renpy.text.ftfont gen/renpy.text.ftfont.c ftsupport.c ttgsubtable.c
|
||||
+3
-12
@@ -1,5 +1,5 @@
|
||||
# -*- python -*-
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
@@ -27,11 +27,11 @@ def version():
|
||||
|
||||
from sdl2 cimport *
|
||||
from pygame_sdl2 cimport *
|
||||
from pygame_sdl2 import Surface
|
||||
|
||||
cdef extern from "renpy.h":
|
||||
|
||||
void core_init()
|
||||
void subpixel_init()
|
||||
|
||||
void save_png_core(object, SDL_RWops *, int)
|
||||
|
||||
@@ -94,14 +94,10 @@ cdef extern from "renpy.h":
|
||||
void staticgray_core(object, object,
|
||||
int, int, int, int, int, char *)
|
||||
|
||||
int subpixel32(object, object, float, float, int)
|
||||
|
||||
void PyErr_Clear()
|
||||
|
||||
|
||||
import pygame
|
||||
|
||||
PygameSurface = pygame.Surface
|
||||
from pygame_sdl2 import Surface as PygameSurface
|
||||
|
||||
def save_png(surf, file, compress=-1):
|
||||
|
||||
@@ -459,10 +455,6 @@ def staticgray(pysrc, pydst, rmul, gmul, bmul, amul, shift, vmap):
|
||||
|
||||
|
||||
def subpixel(pysrc, pydst, xoffset, yoffset, shift):
|
||||
|
||||
if subpixel32(pysrc, pydst, xoffset, yoffset, shift):
|
||||
return
|
||||
|
||||
pydst.blit(pysrc, (int(xoffset), int(yoffset)))
|
||||
|
||||
|
||||
@@ -470,4 +462,3 @@ def subpixel(pysrc, pydst, xoffset, yoffset, shift):
|
||||
|
||||
import_pygame_sdl2()
|
||||
core_init()
|
||||
subpixel_init()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2019 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2020 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
|
||||
|
||||
-460
@@ -5,16 +5,6 @@
|
||||
#include <stdio.h>
|
||||
#include <math.h>
|
||||
|
||||
#if defined(__GNUC__) && (defined(__i386__) || defined(__x86_64__))
|
||||
#define GCC_MMX 1
|
||||
#include "mmx.h"
|
||||
#endif
|
||||
|
||||
/* Work around a compiler bug with transforms on 32-bit linux. */
|
||||
#if defined(__linux__) && defined(__i386__)
|
||||
#undef GCC_MMX
|
||||
#endif
|
||||
|
||||
// Shows how to do this.
|
||||
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
|
||||
#endif
|
||||
@@ -1404,255 +1394,6 @@ int transform32_std(PyObject *pysrc, PyObject *pydst,
|
||||
|
||||
|
||||
|
||||
#ifdef GCC_MMX
|
||||
|
||||
/****************************************************************************/
|
||||
/* A similar concept to rotozoom, but implemented differently, so we
|
||||
can limit the target area. */
|
||||
int transform32_mmx(PyObject *pysrc, PyObject *pydst,
|
||||
float corner_x, float corner_y,
|
||||
float xdx, float ydx,
|
||||
float xdy, float ydy,
|
||||
int ashift,
|
||||
float a,
|
||||
int precise
|
||||
) {
|
||||
|
||||
SDL_Surface *src;
|
||||
SDL_Surface *dst;
|
||||
|
||||
int y;
|
||||
int srcpitch, dstpitch;
|
||||
int srcw, srch;
|
||||
int dstw, dsth;
|
||||
|
||||
// The x and y source pixel coordinates, times 65536. And their
|
||||
// delta-per-dest-x-pixel.
|
||||
int sxi = 0, syi = 0, dsxi = 0, dsyi = 0;
|
||||
|
||||
unsigned char *srcpixels;
|
||||
unsigned char *dstpixels;
|
||||
|
||||
src = PySurface_AsSurface(pysrc);
|
||||
dst = PySurface_AsSurface(pydst);
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
||||
srcpixels = (unsigned char *) src->pixels;
|
||||
dstpixels = (unsigned char *) dst->pixels;
|
||||
srcpitch = src->pitch;
|
||||
dstpitch = dst->pitch;
|
||||
srcw = src->w;
|
||||
dstw = dst->w;
|
||||
srch = src->h;
|
||||
dsth = dst->h;
|
||||
|
||||
// Due to mmx.
|
||||
ashift *= 2;
|
||||
|
||||
// Compute the coloring multiplier.
|
||||
unsigned int amul = (unsigned int) (a * 256);
|
||||
|
||||
// Compute the maximum x and y coordinates.
|
||||
double maxsx = srcw;
|
||||
double maxsy = srch;
|
||||
|
||||
// Deal with pre-6.10.1 versions of Ren'Py, which didn't give us
|
||||
// that 1px border that allows us to be precise.
|
||||
if (! precise) {
|
||||
maxsx -= EPSILON;
|
||||
maxsy -= EPSILON;
|
||||
|
||||
// If a delta is too even, subtract epsilon (towards 0) from it.
|
||||
if (xdx && fabs(fmodf(1.0 / xdx, 1)) < EPSILON) {
|
||||
xdx -= (xdx / fabs(xdx)) * EPSILON;
|
||||
}
|
||||
if (xdy && fabs(fmodf(1.0 / xdy, 1)) < EPSILON) {
|
||||
xdy -= (xdy / fabs(xdy)) * EPSILON;
|
||||
}
|
||||
if (ydx && fabs(fmodf(1.0 / ydx, 1)) < EPSILON) {
|
||||
ydx -= (ydx / fabs(ydx)) * EPSILON;
|
||||
}
|
||||
if (ydy && fabs(fmodf(1.0 / ydy, 1)) < EPSILON) {
|
||||
ydy -= (ydy / fabs(ydy)) * EPSILON;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Loop through every line.
|
||||
for (y = 0; y < dsth; y++) {
|
||||
|
||||
// The source coordinates of the leftmost pixel in the line.
|
||||
double leftsx = corner_x + y * xdy;
|
||||
double leftsy = corner_y + y * ydy;
|
||||
|
||||
// Min and max x-extent to draw on the current line.
|
||||
double minx = 0;
|
||||
double maxx = dstw - 1;
|
||||
|
||||
// Figure out the x-extent based on xdx.
|
||||
if (xdx) {
|
||||
double x1 = (0.0 - leftsx) / xdx;
|
||||
double x2 = (maxsx - leftsx) / xdx;
|
||||
|
||||
if (x1 < x2) {
|
||||
minx = fmax(x1, minx);
|
||||
maxx = fmin(x2, maxx);
|
||||
} else {
|
||||
minx = fmax(x2, minx);
|
||||
maxx = fmin(x1, maxx);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (leftsx < 0 || leftsx > maxsx) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
// Figure out the x-extent based on ydx.
|
||||
if (ydx) {
|
||||
double x1 = (0.0 - leftsy) / ydx;
|
||||
double x2 = (maxsy - leftsy) / ydx;
|
||||
|
||||
if (x1 < x2) {
|
||||
minx = fmax(x1, minx);
|
||||
maxx = fmin(x2, maxx);
|
||||
} else {
|
||||
minx = fmax(x2, minx);
|
||||
maxx = fmin(x1, maxx);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (leftsy < 0 || leftsy > maxsy) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
minx = ceil(minx);
|
||||
maxx = floor(maxx);
|
||||
|
||||
if (minx >= maxx) {
|
||||
continue;
|
||||
}
|
||||
|
||||
// The start and end of line pointers.
|
||||
unsigned char *d = dstpixels + dstpitch * y;
|
||||
unsigned char *dend = d + 4 * (int) maxx;
|
||||
|
||||
// Advance start of line by 4.
|
||||
d += 4 * (int) minx;
|
||||
|
||||
// Starting coordinates and deltas.
|
||||
sxi = (int) ((leftsx + minx * xdx) * 65536);
|
||||
syi = (int) ((leftsy + minx * ydx) * 65536);
|
||||
dsxi = (int) (xdx * 65536);
|
||||
dsyi = (int) (ydx * 65536);
|
||||
|
||||
// No floating point allowed between here and the end of the
|
||||
// while loop.
|
||||
|
||||
// 0 -> mm7
|
||||
pxor_r2r(mm7, mm7);
|
||||
|
||||
// ashift -> mm0
|
||||
movd_m2r(ashift, mm0);
|
||||
|
||||
// amul -> mm4
|
||||
movd_m2r(amul, mm4);
|
||||
|
||||
while (d <= dend) {
|
||||
|
||||
int px = sxi >> 16;
|
||||
int py = syi >> 16;
|
||||
|
||||
unsigned char *sp = srcpixels + py * srcpitch + px * 4;
|
||||
|
||||
unsigned int yfrac = (syi >> 8) & 0xff; // ((short) sy) & 0xff;
|
||||
unsigned int xfrac = (sxi >> 8) & 0xff; // ((short) sx) & 0xff;
|
||||
|
||||
// Put xfrac in mm5, yfrac in m6
|
||||
pxor_r2r(mm5, mm5);
|
||||
pxor_r2r(mm6, mm6);
|
||||
movd_m2r(xfrac, mm5);
|
||||
movd_m2r(yfrac, mm6);
|
||||
punpcklwd_r2r(mm5, mm5);
|
||||
punpcklwd_r2r(mm6, mm6);
|
||||
punpckldq_r2r(mm5, mm5); /* 0X0X0X0X -> mm5 */
|
||||
punpckldq_r2r(mm6, mm6); /* 0Y0Y0Y0Y -> mm6 */
|
||||
|
||||
// Load in the 4 bytes.
|
||||
movd_m2r(*(unsigned int *) sp, mm1);
|
||||
movd_m2r(*(unsigned int *) (sp + 4), mm2);
|
||||
punpcklbw_r2r(mm7, mm1);
|
||||
punpcklbw_r2r(mm7, mm2);
|
||||
|
||||
// Interpolate between a and b.
|
||||
psubw_r2r(mm1, mm2);
|
||||
pmullw_r2r(mm5, mm2);
|
||||
psrlw_i2r(8, mm2);
|
||||
paddb_r2r(mm2, mm1); /* mm1 contains I(a, b, xfrac); */
|
||||
|
||||
sp += srcpitch;
|
||||
movd_m2r(*(unsigned int *) sp, mm3);
|
||||
movd_m2r(*(unsigned int *) (sp + 4), mm2);
|
||||
|
||||
punpcklbw_r2r(mm7, mm3);
|
||||
punpcklbw_r2r(mm7, mm2);
|
||||
|
||||
// Interpolate between c and d.
|
||||
psubw_r2r(mm3, mm2);
|
||||
pmullw_r2r(mm5, mm2);
|
||||
psrlw_i2r(8, mm2);
|
||||
paddb_r2r(mm2, mm3); /* mm3 contains I(c, d, xfrac); */
|
||||
|
||||
// Interpolate between ab and cd.
|
||||
psubw_r2r(mm1, mm3);
|
||||
pmullw_r2r(mm6, mm3);
|
||||
psrlw_i2r(8, mm3);
|
||||
paddb_r2r(mm3, mm1); /* mm1 contains I(ab, cd, yfrac) */
|
||||
|
||||
|
||||
// Store the result.
|
||||
// packuswb_r2r(mm7, mm1);
|
||||
// movd_r2m(mm1, *(unsigned int *)d);
|
||||
|
||||
// Alpha blend with dest.
|
||||
movq_r2r(mm1, mm3);
|
||||
psrlq_r2r(mm0, mm3); /* 000000AA -> m3 */
|
||||
|
||||
pmullw_r2r(mm4, mm3); // Alpha adjustment.
|
||||
psrlw_i2r(8, mm3);
|
||||
|
||||
punpcklwd_r2r(mm3, mm3); /* 0000AAAA -> m3 */
|
||||
movd_m2r(*(unsigned int *)d, mm2);
|
||||
punpcklwd_r2r(mm3, mm3); /* AAAAAAAA -> m3 */
|
||||
punpcklbw_r2r(mm7, mm2); /* a -> m2 */
|
||||
psubw_r2r(mm2, mm1); /* b - a -> m1 */
|
||||
pmullw_r2r(mm3, mm1);
|
||||
psrlw_i2r(8, mm1); /* alpha * (b-a) -> m1 */
|
||||
paddb_r2r(mm2, mm1); /* a + alpha*(b-a) -> mm1 */
|
||||
|
||||
// Store the result.
|
||||
packuswb_r2r(mm7, mm1);
|
||||
movd_r2m(mm1, *(unsigned int *)d);
|
||||
|
||||
d += 4;
|
||||
sxi += dsxi;
|
||||
syi += dsyi;
|
||||
}
|
||||
|
||||
emms();
|
||||
}
|
||||
|
||||
Py_END_ALLOW_THREADS;
|
||||
|
||||
|
||||
// This is bogus, and only serves to ensure that the FPU
|
||||
// computes these variables at the right times.
|
||||
return sxi + syi + dsxi + dsyi;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void transform32_core(PyObject *pysrc, PyObject *pydst,
|
||||
float corner_x, float corner_y,
|
||||
@@ -1663,24 +1404,6 @@ void transform32_core(PyObject *pysrc, PyObject *pydst,
|
||||
int precise
|
||||
) {
|
||||
|
||||
#ifdef GCC_MMX
|
||||
static int checked_mmx = 0;
|
||||
static int has_mmx = 0;
|
||||
|
||||
|
||||
|
||||
if (! checked_mmx) {
|
||||
has_mmx = SDL_HasMMX();
|
||||
checked_mmx = 1;
|
||||
}
|
||||
|
||||
if (has_mmx) {
|
||||
transform32_mmx(pysrc, pydst, corner_x, corner_y,
|
||||
xdx, ydx, xdy, ydy, ashift, a, precise);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
transform32_std(pysrc, pydst, corner_x, corner_y,
|
||||
xdx, ydx, xdy, ydy, ashift, a, precise);
|
||||
@@ -1746,97 +1469,9 @@ void blend32_core_std(PyObject *pysrca, PyObject *pysrcb, PyObject *pydst,
|
||||
|
||||
}
|
||||
|
||||
#ifdef GCC_MMX
|
||||
|
||||
void blend32_core_mmx(PyObject *pysrca, PyObject *pysrcb, PyObject *pydst,
|
||||
int alpha) {
|
||||
|
||||
SDL_Surface *srca;
|
||||
SDL_Surface *srcb;
|
||||
SDL_Surface *dst;
|
||||
|
||||
int srcapitch, srcbpitch, dstpitch;
|
||||
unsigned short dstw, dsth;
|
||||
unsigned short y;
|
||||
|
||||
unsigned char *srcapixels;
|
||||
unsigned char *srcbpixels;
|
||||
unsigned char *dstpixels;
|
||||
|
||||
srca = PySurface_AsSurface(pysrca);
|
||||
srcb = PySurface_AsSurface(pysrcb);
|
||||
dst = PySurface_AsSurface(pydst);
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
||||
srcapixels = (unsigned char *) srca->pixels;
|
||||
srcbpixels = (unsigned char *) srcb->pixels;
|
||||
dstpixels = (unsigned char *) dst->pixels;
|
||||
srcapitch = srca->pitch;
|
||||
srcbpitch = srcb->pitch;
|
||||
dstpitch = dst->pitch;
|
||||
dstw = dst->w;
|
||||
dsth = dst->h;
|
||||
|
||||
/* This code is a slightly modified version of that found in
|
||||
* SDL_blit_A.c */
|
||||
|
||||
pxor_r2r(mm5, mm5); /* 0 -> mm5 */
|
||||
/* form the alpha mult */
|
||||
movd_m2r(alpha, mm4); /* 0000000A -> mm4 */
|
||||
punpcklwd_r2r(mm4, mm4); /* 00000A0A -> mm4 */
|
||||
punpckldq_r2r(mm4, mm4); /* 0A0A0A0A -> mm4 */
|
||||
|
||||
for (y = 0; y < dsth; y++) {
|
||||
|
||||
unsigned int *dp = (unsigned int *)(dstpixels + dstpitch * y);
|
||||
unsigned int *dpe = dp + dstw;
|
||||
|
||||
unsigned int *sap = (unsigned int *)(srcapixels + srcapitch * y);
|
||||
unsigned int *sbp = (unsigned int *)(srcbpixels + srcbpitch * y);
|
||||
|
||||
while (dp < dpe) {
|
||||
|
||||
movd_m2r((*sbp++), mm1);
|
||||
movd_m2r((*sap++), mm2);
|
||||
punpcklbw_r2r(mm5, mm1); /* 0A0R0G0B -> mm1(b) */
|
||||
punpcklbw_r2r(mm5, mm2); /* 0A0R0G0B -> mm2(a) */
|
||||
psubw_r2r(mm2, mm1);/* a - b -> mm1 */
|
||||
pmullw_r2r(mm4, mm1); /* mm1 * alpha -> mm1 */
|
||||
psrlw_i2r(8, mm1); /* mm1 >> 8 -> mm1 */
|
||||
paddb_r2r(mm1, mm2); /* mm1 + mm2(a) -> mm2 */
|
||||
packuswb_r2r(mm5, mm2); /* ARGBARGB -> mm2 */
|
||||
movd_r2m(mm2, *dp++);
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
emms();
|
||||
Py_END_ALLOW_THREADS
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void blend32_core(PyObject *pysrca, PyObject *pysrcb, PyObject *pydst,
|
||||
int alpha) {
|
||||
|
||||
#ifdef GCC_MMX
|
||||
static int checked_mmx = 0;
|
||||
static int has_mmx = 0;
|
||||
|
||||
if (! checked_mmx) {
|
||||
has_mmx = SDL_HasMMX();
|
||||
checked_mmx = 1;
|
||||
}
|
||||
|
||||
if (has_mmx) {
|
||||
blend32_core_mmx(pysrca, pysrcb, pydst, alpha);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
blend32_core_std(pysrca, pysrcb, pydst, alpha);
|
||||
}
|
||||
|
||||
@@ -1909,106 +1544,11 @@ void imageblend32_core_std(PyObject *pysrca, PyObject *pysrcb,
|
||||
Py_END_ALLOW_THREADS
|
||||
}
|
||||
|
||||
#ifdef GCC_MMX
|
||||
|
||||
void imageblend32_core_mmx(PyObject *pysrca, PyObject *pysrcb,
|
||||
PyObject *pydst, PyObject *pyimg,
|
||||
int alpha_off, char *amap) {
|
||||
|
||||
SDL_Surface *srca;
|
||||
SDL_Surface *srcb;
|
||||
SDL_Surface *dst;
|
||||
SDL_Surface *img;
|
||||
|
||||
int srcapitch, srcbpitch, dstpitch, imgpitch;
|
||||
unsigned short dstw, dsth;
|
||||
unsigned short y;
|
||||
|
||||
unsigned char *srcapixels;
|
||||
unsigned char *srcbpixels;
|
||||
unsigned char *dstpixels;
|
||||
unsigned char *imgpixels;
|
||||
|
||||
srca = PySurface_AsSurface(pysrca);
|
||||
srcb = PySurface_AsSurface(pysrcb);
|
||||
dst = PySurface_AsSurface(pydst);
|
||||
img = PySurface_AsSurface(pyimg);
|
||||
|
||||
Py_BEGIN_ALLOW_THREADS
|
||||
|
||||
srcapixels = (unsigned char *) srca->pixels;
|
||||
srcbpixels = (unsigned char *) srcb->pixels;
|
||||
dstpixels = (unsigned char *) dst->pixels;
|
||||
imgpixels = (unsigned char *) img->pixels;
|
||||
srcapitch = srca->pitch;
|
||||
srcbpitch = srcb->pitch;
|
||||
dstpitch = dst->pitch;
|
||||
imgpitch = img->pitch;
|
||||
|
||||
dstw = dst->w;
|
||||
dsth = dst->h;
|
||||
|
||||
pxor_r2r(mm5, mm5); /* 0 -> mm5 */
|
||||
|
||||
for (y = 0; y < dsth; y++) {
|
||||
|
||||
unsigned int *dp = (unsigned int *)(dstpixels + dstpitch * y);
|
||||
unsigned int *dpe = dp + dstw;
|
||||
|
||||
unsigned int *sap = (unsigned int *)(srcapixels + srcapitch * y);
|
||||
unsigned int *sbp = (unsigned int *)(srcbpixels + srcbpitch * y);
|
||||
|
||||
unsigned char *ip = (unsigned char *)(imgpixels + imgpitch * y);
|
||||
ip += alpha_off;
|
||||
|
||||
while (dp < dpe) {
|
||||
unsigned int alpha = (unsigned char) amap[*ip];
|
||||
ip += 4;
|
||||
|
||||
/* form the alpha mult */
|
||||
movd_m2r(alpha, mm4); /* 0000000A -> mm4 */
|
||||
punpcklwd_r2r(mm4, mm4); /* 00000A0A -> mm4 */
|
||||
punpckldq_r2r(mm4, mm4); /* 0A0A0A0A -> mm4 */
|
||||
|
||||
movd_m2r((*sbp++), mm1);
|
||||
movd_m2r((*sap++), mm2);
|
||||
punpcklbw_r2r(mm5, mm1); /* 0A0R0G0B -> mm1(b) */
|
||||
punpcklbw_r2r(mm5, mm2); /* 0A0R0G0B -> mm2(a) */
|
||||
psubw_r2r(mm2, mm1);/* a - b -> mm1 */
|
||||
pmullw_r2r(mm4, mm1); /* mm1 * alpha -> mm1 */
|
||||
psrlw_i2r(8, mm1); /* mm1 >> 8 -> mm1 */
|
||||
paddb_r2r(mm1, mm2); /* mm1 + mm2(a) -> mm2 */
|
||||
packuswb_r2r(mm5, mm2); /* ARGBARGB -> mm2 */
|
||||
movd_r2m(mm2, *dp++);
|
||||
}
|
||||
}
|
||||
|
||||
emms();
|
||||
Py_END_ALLOW_THREADS
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
void imageblend32_core(PyObject *pysrca, PyObject *pysrcb,
|
||||
PyObject *pydst, PyObject *pyimg,
|
||||
int aoff, char *amap) {
|
||||
|
||||
#ifdef GCC_MMX
|
||||
static int checked_mmx = 0;
|
||||
static int has_mmx = 0;
|
||||
|
||||
if (! checked_mmx) {
|
||||
has_mmx = SDL_HasMMX();
|
||||
checked_mmx = 1;
|
||||
}
|
||||
|
||||
if (has_mmx) {
|
||||
imageblend32_core_mmx(pysrca, pysrcb, pydst, pyimg, aoff, amap);
|
||||
return;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
imageblend32_core_std(pysrca, pysrcb, pydst, pyimg, aoff, amap);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,122 +0,0 @@
|
||||
#include <stdio.h>
|
||||
#include <SDL.h>
|
||||
#include <SDL_syswm.h>
|
||||
#include "pygame_sdl2/pygame_sdl2.h"
|
||||
#include "EGL/egl.h"
|
||||
#include "GLES2/gl2.h"
|
||||
|
||||
#include "eglsupport.h"
|
||||
|
||||
HWND window;
|
||||
|
||||
EGLDisplay display;
|
||||
EGLSurface surface;
|
||||
EGLConfig config;
|
||||
EGLContext context;
|
||||
|
||||
int imported_pygame = 0;
|
||||
int initialized = 0;
|
||||
|
||||
char error_message[100];
|
||||
|
||||
int egl_available() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
// Checks for an EGL error. Returns an error string if there is one,
|
||||
// or NULL otherwise.
|
||||
char *egl_error(char *where) {
|
||||
EGLint error;
|
||||
|
||||
error = eglGetError();
|
||||
|
||||
if (error == EGL_SUCCESS) {
|
||||
return NULL;
|
||||
}
|
||||
|
||||
snprintf(error_message, 100, "Error %s (egl error 0x%x)", where, error);
|
||||
return error_message;
|
||||
}
|
||||
|
||||
#define egl_check(where) { char *rv = egl_error(where); if (rv) return rv; }
|
||||
|
||||
/* Sets up an OpenGL ES 2 context. Returns NULL if it succeeds, or
|
||||
* an error message on failure.
|
||||
*/
|
||||
char *egl_init(SDL_Window *sdl_window, int interval) {
|
||||
SDL_SysWMinfo wminfo;
|
||||
EGLint major, minor;
|
||||
EGLint num_config;
|
||||
HWND new_window;
|
||||
|
||||
const EGLint attrs[] = {
|
||||
EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
|
||||
EGL_ALPHA_SIZE, 8,
|
||||
EGL_NONE
|
||||
};
|
||||
|
||||
const EGLint context_attrs[] = {
|
||||
EGL_CONTEXT_CLIENT_VERSION, 2,
|
||||
EGL_NONE
|
||||
};
|
||||
|
||||
if (!imported_pygame) {
|
||||
import_pygame_sdl2();
|
||||
imported_pygame = 1;
|
||||
}
|
||||
|
||||
SDL_VERSION(&wminfo.version);
|
||||
SDL_GetWindowWMInfo(sdl_window, &wminfo);
|
||||
|
||||
new_window = wminfo.info.win.window;
|
||||
|
||||
if (! initialized) {
|
||||
|
||||
display = eglGetDisplay(GetDC(new_window));
|
||||
egl_check("getting display");
|
||||
|
||||
eglInitialize(display, &major, &minor);
|
||||
egl_check("initializing EGL");
|
||||
|
||||
eglBindAPI(EGL_OPENGL_ES_API);
|
||||
egl_check("binding OpenGL ES");
|
||||
|
||||
eglChooseConfig(display, attrs, &config, 1, &num_config);
|
||||
egl_check("choosing EGL config");
|
||||
|
||||
context = eglCreateContext(display, config, EGL_NO_CONTEXT, context_attrs);
|
||||
egl_check("creating EGL context");
|
||||
|
||||
surface = eglCreateWindowSurface(display, config, new_window, NULL);
|
||||
egl_check("creating EGL surface");
|
||||
|
||||
|
||||
} else if (window != wminfo.info.win.window) {
|
||||
|
||||
eglDestroySurface(display, surface);
|
||||
egl_check("destroying existing EGL surface")
|
||||
|
||||
surface = eglCreateWindowSurface(display, config, new_window, NULL);
|
||||
egl_check("creating EGL surface");
|
||||
|
||||
}
|
||||
|
||||
eglMakeCurrent(display, surface, surface, context);
|
||||
egl_check("making EGL context current");
|
||||
|
||||
eglSwapInterval(display, interval);
|
||||
egl_check("setting swap interval")
|
||||
|
||||
initialized = 1;
|
||||
window = new_window;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void egl_swap() {
|
||||
eglSwapBuffers(display, surface);
|
||||
}
|
||||
|
||||
void egl_quit() {
|
||||
// Does nothing at the moment.
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user