Compare commits
807 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7f303a5fbf | |||
| 388cf6aac7 | |||
| c7db343855 | |||
| 7a45ec3e0a | |||
| 976aeebf0b | |||
| 98e85f83be | |||
| 9273c41437 | |||
| a590472f55 | |||
| 06e884ac70 | |||
| fd5f97289b | |||
| 8e2f926bc3 | |||
| 916a4b0f56 | |||
| 3191754e79 | |||
| 0770876b14 | |||
| b4783374a8 | |||
| 5c401c0406 | |||
| 4b39d4d0c4 | |||
| 3860fc7d8d | |||
| 50c70a8615 | |||
| 70f0362b4a | |||
| bd418d9541 | |||
| 95e764b411 | |||
| b173b7252d | |||
| 16fbd10e6f | |||
| feb9cd85ed | |||
| 362f9d6c33 | |||
| f2def9c148 | |||
| 1d994fa126 | |||
| 16685b6b9f | |||
| fd5841d2d2 | |||
| 753776973e | |||
| e546ac6c73 | |||
| e67c91d176 | |||
| 6252945a47 | |||
| 819d3386d7 | |||
| 430d01aa13 | |||
| ef8917e044 | |||
| 4d1be9e610 | |||
| e1b8de8512 | |||
| e55856d177 | |||
| fbe7cab9c6 | |||
| d6e3b4f492 | |||
| 7aac6fffb6 | |||
| 4e09103b09 | |||
| 3605298777 | |||
| 6b467eca81 | |||
| 9e966702ac | |||
| cc2486fa82 | |||
| 74cadd2b03 | |||
| caad552141 | |||
| 3202e0eab2 | |||
| 58434e2553 | |||
| 78ff61dd08 | |||
| 65edc55eb0 | |||
| 5bf35c8c4f | |||
| ef5777d6b6 | |||
| 033574e235 | |||
| 8a21aa55dc | |||
| 6c948bf046 | |||
| 95074ff55d | |||
| d836316e90 | |||
| 4804b04dcc | |||
| 6d08132e58 | |||
| dfb6c7beb1 | |||
| d2755faa5c | |||
| ef40de899c | |||
| d81f8264ff | |||
| 3b60afe8dc | |||
| 6783f22f3b | |||
| 3c59cac254 | |||
| 8de2bda1e6 | |||
| 57f9a1e508 | |||
| e0ca2992ed | |||
| 731cb8c53c | |||
| 37d7d71d2b | |||
| a672a6840a | |||
| 8603ca2cf1 | |||
| 6793d7e5fa | |||
| 24a8135657 | |||
| 1a945d9663 | |||
| 0196e6aa69 | |||
| dbee728716 | |||
| 86bb2b83c0 | |||
| 9586b0f685 | |||
| 6aa0ee45bf | |||
| 54e567160c | |||
| 6c40f39930 | |||
| 9eefa84bf2 | |||
| 9d1f34995a | |||
| 0883e74935 | |||
| f257dc1c41 | |||
| 1b079ef358 | |||
| 07b853f77f | |||
| 8db8651eb0 | |||
| 3568c02c42 | |||
| 5e3b209ba2 | |||
| 4a097934de | |||
| 159f6a94ce | |||
| c726573089 | |||
| b2499105ec | |||
| 315b0a9118 | |||
| cb6101eab4 | |||
| 8773f1b0ed | |||
| ecf19de428 | |||
| c182a7cc72 | |||
| 3b5be04369 | |||
| 38b91afaa1 | |||
| cb382804c3 | |||
| 364eef9392 | |||
| 773b428996 | |||
| 043a7c142e | |||
| a312a6f77e | |||
| ccc502e8a6 | |||
| b2af375e0a | |||
| 14c191cf7f | |||
| 3a47bea97f | |||
| 373235c179 | |||
| b0765aaf3a | |||
| 8b7b17c5ac | |||
| 82d2384b09 | |||
| 37647ecfea | |||
| 3dd9bff6ea | |||
| 8e5445c6bf | |||
| a6142487c8 | |||
| 2acbd61df4 | |||
| 2e45c3e609 | |||
| 87cc2c334d | |||
| 8c7a3b13bf | |||
| 83c75d1a0f | |||
| ac83e934a1 | |||
| 9ce1334039 | |||
| e8ece0a442 | |||
| 4a0738f2aa | |||
| 899eb6616f | |||
| 8cdc759126 | |||
| d1af90f096 | |||
| e88db2678b | |||
| 125f3b81d1 | |||
| dc4541553e | |||
| 6c4e86ac13 | |||
| a96174950f | |||
| 536fce4a22 | |||
| 4957280f4c | |||
| e9a0fdbbc7 | |||
| 9c86961cd1 | |||
| f3e1b12e61 | |||
| 805308d78a | |||
| d0fdf85658 | |||
| ebfcd1b153 | |||
| 52ae19a185 | |||
| 97f4b95969 | |||
| 9af6d13c08 | |||
| b4bbf4bd80 | |||
| 698d391033 | |||
| d9ecde9a62 | |||
| ca9e2dfe47 | |||
| 321434e95e | |||
| 33e633c1aa | |||
| 41b6e689d3 | |||
| cddda04e20 | |||
| 1a8eed69ac | |||
| 3bcc9c72b2 | |||
| 4f1ee9e601 | |||
| 732ef3af11 | |||
| 0c3b419dad | |||
| adf545a199 | |||
| 1a952fd87e | |||
| 96825cb518 | |||
| 7958f5445a | |||
| efd4cc6b5e | |||
| c57b7748f5 | |||
| acf1f8ae38 | |||
| 35c4ba4a41 | |||
| 13df1dc000 | |||
| 5361a8e9a5 | |||
| ba76f970c5 | |||
| a9b529b9fd | |||
| a4f4d49259 | |||
| 7d8d05107b | |||
| dfb31d28f9 | |||
| 181eb8adab | |||
| f0feb9b33e | |||
| 2639028ce7 | |||
| 85e055a3dc | |||
| cbc6986ae6 | |||
| c329714093 | |||
| abdf045277 | |||
| 8df7c8605d | |||
| 919e22059b | |||
| 10d04c1faf | |||
| 0a1e694e02 | |||
| 0f6379a797 | |||
| 9226d27605 | |||
| c2baefb2a1 | |||
| 7aeef3bae9 | |||
| 8d5dbe4f73 | |||
| 04cd9fe223 | |||
| beedbc0a22 | |||
| 36c00a5e19 | |||
| cedcc36418 | |||
| 6a828f6ade | |||
| 3df4aabba0 | |||
| ae20ebead0 | |||
| fc5ccc2f7b | |||
| 9c31ee66bb | |||
| 627c6c6a48 | |||
| 407f3ad859 | |||
| 2b63ccf21e | |||
| 2993629f22 | |||
| 77aaeaa514 | |||
| 7baac98ecb | |||
| ed155c4b43 | |||
| bfae063c3c | |||
| 2ee62542bb | |||
| 20f988a175 | |||
| 26c440f7a5 | |||
| b0e250d11e | |||
| 74157a4ad6 | |||
| 25b4a17d1a | |||
| a2f0747294 | |||
| 7c8f6fc6b7 | |||
| 6951397e17 | |||
| e46ba6c0db | |||
| 8737c5f2a7 | |||
| 16855d59a8 | |||
| cba492a109 | |||
| 2d0c3a3929 | |||
| 66fd602018 | |||
| 85eb29e25d | |||
| cfa27c3295 | |||
| 3bd1fe0d0c | |||
| ad68443ce9 | |||
| 29867c25da | |||
| 5aae0b2a4c | |||
| 02dee6d384 | |||
| bed1de4001 | |||
| 6fdb82a211 | |||
| 4e97001e47 | |||
| 389eac79fe | |||
| 18558cca21 | |||
| 0e9198ae0f | |||
| eee91e5f9c | |||
| 750fc33438 | |||
| 545f4200e4 | |||
| fe02e12192 | |||
| 57b2ce638e | |||
| 05d0bff24e | |||
| ee1a3cf44a | |||
| 5013b1f98f | |||
| 850a9f9b37 | |||
| 0b61e59d7f | |||
| b01928453c | |||
| 3af05dadf6 | |||
| 2508785591 | |||
| b8769d9800 | |||
| 1febfd4306 | |||
| 260cf63292 | |||
| d95d734912 | |||
| c35dc9a02a | |||
| f99c8acd62 | |||
| fbf533a003 | |||
| 03c31da5f0 | |||
| a794ee3b00 | |||
| c1afced29c | |||
| 02156e6e47 | |||
| 07b9a6da78 | |||
| a77170508e | |||
| 03cdfd091d | |||
| 2caf0adabb | |||
| 423f544dc9 | |||
| e207fdc435 | |||
| bfbc9b8b1f | |||
| ae04573e90 | |||
| 6c2baa1474 | |||
| ceb7dea7cc | |||
| 2da5f4ae6a | |||
| 8bbb827d25 | |||
| a535365da0 | |||
| 2450dcbfa8 | |||
| 439921baea | |||
| ac450c8b1f | |||
| 4163c1396c | |||
| d6ab06dd1f | |||
| 3db515db3c | |||
| 99cb4c0975 | |||
| b120ea6303 | |||
| cc654ebfeb | |||
| a8342ba40b | |||
| 72535d881a | |||
| 41458e274e | |||
| 5f8382a9aa | |||
| f389c13b29 | |||
| c57dbe7a9d | |||
| fba051737f | |||
| 83c87011ad | |||
| 9e9e9061e0 | |||
| 3bef0a10b0 | |||
| cedf98910f | |||
| ae08ac55c5 | |||
| e35fcb2e86 | |||
| 6c8030ad99 | |||
| 820bd815ca | |||
| 38b505ba36 | |||
| 9de620953d | |||
| c5f54a6d72 | |||
| 9968387f89 | |||
| 680fe45ec8 | |||
| 5c2258b970 | |||
| 4d976330ec | |||
| d8096effe4 | |||
| f04a303af0 | |||
| 2fdcd690a9 | |||
| 52e309aa1b | |||
| 293f0f5e5d | |||
| f132d49157 | |||
| 73333d16fc | |||
| 6cf5e23f6a | |||
| e6b92d5a27 | |||
| f2d3e0d20e | |||
| e41a4f85e9 | |||
| 6b4e61f3b2 | |||
| adfb70038b | |||
| 5146b83125 | |||
| 5bc46900f6 | |||
| b23a0df6e8 | |||
| 86dbd0d299 | |||
| 13919e7f94 | |||
| 63155fbc7e | |||
| ba0bc218c2 | |||
| 8a4a811a4c | |||
| 643fd38510 | |||
| 8ea6482788 | |||
| 97331e2464 | |||
| 2ba27b5549 | |||
| 8c26b986a3 | |||
| 8d38a6ae4d | |||
| bac6dbdba7 | |||
| 346b34d5a0 | |||
| 7d2a131995 | |||
| fd6eb01e5e | |||
| 81653b0daf | |||
| c97f8acadd | |||
| e3c4993487 | |||
| 62810b94ab | |||
| d0270729c1 | |||
| 3bc3bf3e19 | |||
| 831fb59d49 | |||
| 5db210473c | |||
| 0686c2621d | |||
| 3fcf634c8b | |||
| 9caf81c129 | |||
| f5555d6f1a | |||
| e7eb0e135b | |||
| 9d4fd5aef1 | |||
| 92514e4c1f | |||
| 40078a18f3 | |||
| 22153cb191 | |||
| bf9de85f75 | |||
| 6470a37b40 | |||
| b6aa7e7139 | |||
| 99a5ac89db | |||
| d594f15b23 | |||
| e46073b059 | |||
| 88ddee9d5e | |||
| d8283c958c | |||
| 31025cdadb | |||
| e66a9b8c6d | |||
| 2b5b9835b7 | |||
| 43441524cd | |||
| 3f667e3ef1 | |||
| f8cc239df6 | |||
| 3ece5ec173 | |||
| 823e235a1c | |||
| 2e2020be4a | |||
| 6666a285a7 | |||
| 1df2c15b07 | |||
| 4087f8de87 | |||
| cde2db2ebf | |||
| c1f85b21d5 | |||
| 2552c35581 | |||
| 86294e34f2 | |||
| 5c5252a516 | |||
| 70bb4208bc | |||
| 2e1c09dbbd | |||
| fc5f8e0d3e | |||
| 81198df4c5 | |||
| 9deaddbbd4 | |||
| 4dbddc88ed | |||
| 17e574866b | |||
| c59e787262 | |||
| 5f77306cba | |||
| 28ae4a7c0c | |||
| ec5738c6e0 | |||
| 2da8beecd7 | |||
| e0062cbebc | |||
| 9b290e07f5 | |||
| c0051f49b3 | |||
| f64c74ac78 | |||
| 5d217f6527 | |||
| e63efb05de | |||
| 48ef5c89b3 | |||
| 2145516173 | |||
| 864feaba02 | |||
| 76b068c6dc | |||
| ebc6e66433 | |||
| 9ee1562ff3 | |||
| f25dcea3cb | |||
| 78899cfef3 | |||
| 442c4fdc7a | |||
| 339c7357dc | |||
| 4a1182cdd5 | |||
| 9ff3bb67e8 | |||
| a84543fb99 | |||
| bb3d8254b1 | |||
| f7a5e874ea | |||
| 97f05000b5 | |||
| e7297b78f8 | |||
| 6f2bc54e1b | |||
| 07dc391c59 | |||
| ec758301ac | |||
| 83cada0b34 | |||
| 2fe65592db | |||
| 48bd8358d2 | |||
| 19122e45c8 | |||
| 89d5858d2b | |||
| 75ef4e4f7e | |||
| e6e72e3d94 | |||
| d5b1da1052 | |||
| cb10f2a21a | |||
| 089675bafa | |||
| 5a65eea075 | |||
| 4e5dd16606 | |||
| f746a61a1c | |||
| 28a35bfcea | |||
| dd61e71beb | |||
| 74b4674439 | |||
| 1a8dbd84fb | |||
| 358502391f | |||
| c3246406c2 | |||
| 70f30147df | |||
| bdd07c41ee | |||
| 55bc71c810 | |||
| 423e54de9f | |||
| b097fcf3de | |||
| fa84f0c61e | |||
| 74339b0432 | |||
| f6f4b3bce3 | |||
| 5dbd50159a | |||
| 1e85fd051a | |||
| 88185556c6 | |||
| dc65afd6f1 | |||
| 4cf058d823 | |||
| e3222ec11d | |||
| 37c78dccda | |||
| 1a7f0ca8c3 | |||
| 098b29a15c | |||
| 0ea39d7637 | |||
| 173e4ebef4 | |||
| f2badd8cc9 | |||
| be8831b4b2 | |||
| fc87c053c3 | |||
| 10cc039460 | |||
| fd027dbdbd | |||
| 15eb9a9c13 | |||
| 2ded06bc5d | |||
| 06f6c73e41 | |||
| bebf063872 | |||
| 8c759f7760 | |||
| 7fd921b1a0 | |||
| 54fb00100e | |||
| b87b105387 | |||
| bf142b2ba8 | |||
| 13285fe264 | |||
| a9159c5f71 | |||
| c5cdd0038e | |||
| 8bac98c29a | |||
| 421d8cc37d | |||
| c097434036 | |||
| e3cc4be1b8 | |||
| 2137eab4cb | |||
| 15f498516a | |||
| b5711f7e11 | |||
| 8f2649e3a7 | |||
| ab42c0f6e1 | |||
| 01eacd2932 | |||
| c25f22fe4f | |||
| e1ca5b3d8a | |||
| 03b6addae0 | |||
| bc31530843 | |||
| ad49dcae3c | |||
| fe3b800cab | |||
| ccde74bdb8 | |||
| 1817191f8f | |||
| ab6f469811 | |||
| f92b70d38c | |||
| e89338342a | |||
| 60db4ee41a | |||
| 62ca262aec | |||
| eb5a84d420 | |||
| 3280bcc5ff | |||
| 2155bb02ae | |||
| 5c5f72659c | |||
| bc6e2a63d0 | |||
| 204ca35321 | |||
| b9789ae25c | |||
| 899307d791 | |||
| 0bf4ab51d6 | |||
| 88d3870d5c | |||
| db7d998c38 | |||
| 58e56cff88 | |||
| b1623451e8 | |||
| 4b532ac11e | |||
| a7f16eee3f | |||
| af7314a8a1 | |||
| a8567d0811 | |||
| 74a6660ae1 | |||
| fff2558083 | |||
| 944b7d0e9c | |||
| 797e37678a | |||
| c4528cf6ad | |||
| 1417e58963 | |||
| 7022001dbe | |||
| 0ab9444676 | |||
| 65440785e5 | |||
| 0795565e07 | |||
| 3cf31edae2 | |||
| 8b356090d9 | |||
| c8a2c7036f | |||
| c512985741 | |||
| a2d6911b4e | |||
| 9f3be6e604 | |||
| d59029d66c | |||
| 0e6522f867 | |||
| 3cbe6fa1d8 | |||
| a9ecae1a59 | |||
| bb5588f182 | |||
| 45a6a08559 | |||
| 3bf1b78250 | |||
| 2eda0dc2e9 | |||
| 7084ee4b46 | |||
| 93d760c9fa | |||
| e1cb42f253 | |||
| dde19b8716 | |||
| 01f74075b8 | |||
| 906788fe88 | |||
| 69b019f03c | |||
| 51f523b3c3 | |||
| 9de1c93ef9 | |||
| faf1e15710 | |||
| ef4c0bd1d9 | |||
| 339300d2a0 | |||
| 51f6b0d756 | |||
| c4f478160b | |||
| f547ea3ed1 | |||
| 054535f0c8 | |||
| 8911825d46 | |||
| 16b9c2be67 | |||
| ddc3f67539 | |||
| 4a591d552b | |||
| 99915a3ed3 | |||
| 576a1138d3 | |||
| 50ef339f16 | |||
| 21774019a7 | |||
| 33fbe01388 | |||
| 0385bbcb9b | |||
| 82dd5968e3 | |||
| 43c6f83aff | |||
| e6fc6e3c26 | |||
| 7fe14c09c9 | |||
| 588824cf3f | |||
| ddf7b35160 | |||
| d85879b1fd | |||
| adfbb4970b | |||
| bbf2cff58f | |||
| a1a0b78cb4 | |||
| 4cd14e18b5 | |||
| 20a5d6cd69 | |||
| e70011862a | |||
| 34a1f57e50 | |||
| 5245fbb38e | |||
| 916c6cc9e9 | |||
| 937c91f314 | |||
| f1e2d074c6 | |||
| 6e83ae9bd1 | |||
| d3506085c8 | |||
| d90f1cdc30 | |||
| 02d7a3305a | |||
| 8c82667ae1 | |||
| 3085c15caf | |||
| 2e37df7103 | |||
| 9a75b6628b | |||
| cd590d78eb | |||
| 405d8d4399 | |||
| 0ed2c16ee9 | |||
| 56dda5590b | |||
| fc429eb984 | |||
| 623c5f6d1f | |||
| b430ca2243 | |||
| 86046383a8 | |||
| 8e21bcbc00 | |||
| f907fe119a | |||
| 14ced3377a | |||
| ad690d8a16 | |||
| 31ff6d3e95 | |||
| 6aadfe4d15 | |||
| 435fec2be6 | |||
| 6b507d5a57 | |||
| 1c830a0be1 | |||
| 25b0068b1d | |||
| b1a3171a40 | |||
| 30af1dfb70 | |||
| ee89717b47 | |||
| 6cfef151da | |||
| fca89d813e | |||
| 9050a9d5a5 | |||
| d257b9dc70 | |||
| 89c79e55fe | |||
| d7f194072e | |||
| 60ca4cd5ae | |||
| 20c1f572d7 | |||
| a73e20288c | |||
| 16fe7290fa | |||
| 8d2a6d2596 | |||
| f225453ff1 | |||
| ff04b3ea56 | |||
| 209eb580cf | |||
| 3103cff7f7 | |||
| 903e971395 | |||
| 138884b545 | |||
| 45e942de05 | |||
| 24a699ba12 | |||
| f5ed3d7947 | |||
| 1489a4e748 | |||
| 1a7fb9c008 | |||
| c761ba4c75 | |||
| 79fbc7718e | |||
| 7d4f7d17f9 | |||
| 439bcf73f3 | |||
| 6506a3a45e | |||
| dc81a5edeb | |||
| 331a4f0211 | |||
| 69f1a2bb0b | |||
| cd90dfa789 | |||
| d20d9f2aa7 | |||
| fb1d40db3c | |||
| 4f835f1250 | |||
| 0843e46e91 | |||
| a0963c18ee | |||
| f0dfe18bbf | |||
| 9c6cc41ec3 | |||
| 41e13911e3 | |||
| 35f6794db2 | |||
| 699c2a1679 | |||
| cad9dc37c2 | |||
| deb959a1e7 | |||
| 3913ca9c0c | |||
| 93c4c4e8df | |||
| c634ff91d2 | |||
| 4e03602bd6 | |||
| 5b0f4cf5a7 | |||
| ddd0896840 | |||
| a175edde26 | |||
| a2e08864c4 | |||
| 14563943ed | |||
| 4ebedb6a20 | |||
| d3c827fc55 | |||
| fc9744192d | |||
| 72602ab6ab | |||
| b78f1d1b41 | |||
| 5e91783620 | |||
| e8bbfde5b1 | |||
| cde01cf27b | |||
| 79bda8a568 | |||
| 1fefbeba52 | |||
| 1336b5cfb8 | |||
| 6d0b674c30 | |||
| 935a25490a | |||
| 5f73d6f1b2 | |||
| e42c774cd4 | |||
| 595e4d45bd | |||
| b46eabc2af | |||
| c42667b197 | |||
| 2c6e08247f | |||
| 32ab62f5dd | |||
| 003ac717d8 | |||
| e4089d2dce | |||
| 4076bc8ae9 | |||
| 00750cb5d5 | |||
| 13831d4c39 | |||
| 33552beb80 | |||
| 0da702db49 | |||
| 9d8329c766 | |||
| efc671e647 | |||
| 5f42c6bff9 | |||
| b2456f5a16 | |||
| 2ad7cebd7a | |||
| e6e11dab9f | |||
| 6351d60213 | |||
| 2928e5495c | |||
| 72a6d5d347 | |||
| 0b5a35a208 | |||
| ffd5eddaf9 | |||
| c34b2da03b | |||
| bd943f16a1 | |||
| 27b4c46013 | |||
| 26046d3b15 | |||
| 9ebe782866 | |||
| 327f6a32d5 | |||
| c8da44781d | |||
| a78af4ad86 | |||
| acf2347930 | |||
| 495d980277 | |||
| 07ab2c9e52 | |||
| c48e102658 | |||
| a40d302500 | |||
| 53f2d81f88 | |||
| 14ed5f4f76 | |||
| a53b06834d | |||
| e5d8581a7e | |||
| 325a349092 | |||
| bb0a201e2a | |||
| 8ad44080ae | |||
| c41b740ae6 | |||
| 67e508c979 | |||
| ba48755589 | |||
| d6cf8b37ab | |||
| a7e9d39c1d | |||
| 0e0ae03baa | |||
| 921ddb07f7 | |||
| 5d59d32634 | |||
| 06366a8f8f | |||
| b2b222f23e | |||
| be8f94443f | |||
| 61e1e025ce | |||
| 3837df39be | |||
| 850fc555e2 | |||
| af202584db | |||
| dacbf5515e | |||
| 147e46dbee | |||
| 1ce2f2b2ce | |||
| 4242ff838e | |||
| 4133172fab | |||
| f69768bad9 | |||
| f39d53cbac | |||
| d38dbc79b2 | |||
| c275244741 | |||
| 3b1161c2a4 | |||
| 5573b3c2dc | |||
| d6ca5e6992 | |||
| 15c6fdf8c1 | |||
| 5e02e88ec0 | |||
| 3337049968 | |||
| 2565157a5a | |||
| 952e29e737 | |||
| 276e4b1808 | |||
| 4f4dcc1927 | |||
| 0fecd1f70a | |||
| 46c80bfae6 | |||
| 5d5954b150 | |||
| 7e1643b734 | |||
| bf9d78ce17 | |||
| b07b4db4cc | |||
| d104db85a0 | |||
| fcadb205db | |||
| 961277a751 | |||
| c4e6cb8a06 | |||
| 83e05fca2e | |||
| b2b80bbfc3 | |||
| 52fba62616 | |||
| 269c7e6ed5 | |||
| 3075ae4108 | |||
| 2114dfe3a7 | |||
| 644e683c91 | |||
| 43eefe49b1 | |||
| 9c5c424bc0 | |||
| a86cc5582b | |||
| 1296a95140 | |||
| 279c35a80a | |||
| 7058707f7c | |||
| 5ae359984f | |||
| 5f74557df3 | |||
| 17935743bb | |||
| 118c66a694 | |||
| 152025b402 | |||
| da575dfd5c | |||
| 2974263792 | |||
| 252221f16f | |||
| 65eb26ae91 | |||
| 65de4dafdd | |||
| 5aa423f6dd | |||
| d2eaf0f2e3 | |||
| 67fd54215f | |||
| c2e1d5b6af | |||
| ea3c2f32ff | |||
| 487fc1c9f2 | |||
| 0081d80c44 | |||
| 6561f50908 | |||
| 720a57bad0 | |||
| 3090a97550 | |||
| 53fcb11869 | |||
| 5b0cd0bce7 | |||
| 2901314d05 | |||
| 9ec1cd3c4f | |||
| b120f82f98 | |||
| c213d17436 | |||
| 451fc492b3 | |||
| 1a182d529c |
+41
-1
@@ -13,7 +13,6 @@ ehthumbs_vista.db
|
||||
# Python related files.
|
||||
*.pyc
|
||||
*.pyo
|
||||
*.pyi
|
||||
*.egg-info
|
||||
|
||||
# Editor/tool files.
|
||||
@@ -134,3 +133,44 @@ CubismSdkForNative-4-*.zip
|
||||
/cg
|
||||
/.vscode/launch.json
|
||||
/.vscode/tasks.json
|
||||
|
||||
|
||||
# Pyi Files (generated by scripts/generate_pyi.py)
|
||||
renpy/audio/filter.pyi
|
||||
renpy/audio/renpysound.pyi
|
||||
renpy/display/accelerator.pyi
|
||||
renpy/display/matrix.pyi
|
||||
renpy/display/quaternion.pyi
|
||||
renpy/display/render.pyi
|
||||
renpy/encryption.pyi
|
||||
renpy/gl2/gl2draw.pyi
|
||||
renpy/gl2/gl2mesh.pyi
|
||||
renpy/gl2/gl2mesh2.pyi
|
||||
renpy/gl2/gl2mesh3.pyi
|
||||
renpy/gl2/gl2model.pyi
|
||||
renpy/gl2/gl2polygon.pyi
|
||||
renpy/gl2/gl2shader.pyi
|
||||
renpy/gl2/gl2texture.pyi
|
||||
renpy/gl2/live2dmodel.pyi
|
||||
renpy/lexersupport.pyi
|
||||
renpy/pydict.pyi
|
||||
renpy/style.pyi
|
||||
renpy/style.pyi
|
||||
renpy/styledata/style_activate_functions.pyi
|
||||
renpy/styledata/style_functions.pyi
|
||||
renpy/styledata/style_hover_functions.pyi
|
||||
renpy/styledata/style_idle_functions.pyi
|
||||
renpy/styledata/style_insensitive_functions.pyi
|
||||
renpy/styledata/style_selected_activate_functions.pyi
|
||||
renpy/styledata/style_selected_functions.pyi
|
||||
renpy/styledata/style_selected_hover_functions.pyi
|
||||
renpy/styledata/style_selected_idle_functions.pyi
|
||||
renpy/styledata/style_selected_insensitive_functions.pyi
|
||||
renpy/styledata/styleclass.pyi
|
||||
renpy/styledata/stylesets.pyi
|
||||
renpy/text/ftfont.pyi
|
||||
renpy/text/hbfont.pyi
|
||||
renpy/text/textsupport.pyi
|
||||
renpy/text/texwrap.pyi
|
||||
renpy/uguu/gl.pyi
|
||||
renpy/uguu/uguu.pyi
|
||||
|
||||
Vendored
+57
-16
@@ -1,23 +1,22 @@
|
||||
{
|
||||
"files.watcherExclude": {
|
||||
"**/renpy/0old/**" : true,
|
||||
"**/renpy/atom/**" : true,
|
||||
"**/renpy/cubism/**" : true,
|
||||
"**/renpy/dists/**" : true,
|
||||
"**/renpy/dl/**" : true,
|
||||
"**/renpy/doc/**" : true,
|
||||
"**/renpy/doc-web/**" : true,
|
||||
"**/renpy/jedit/**" : true,
|
||||
"**/renpy/renpy*.app/**" : true,
|
||||
"**/renpy/tmp/**" : true,
|
||||
"**/renpy/web/**" : true,
|
||||
"**/renpy/0old/**": true,
|
||||
"**/renpy/atom/**": true,
|
||||
"**/renpy/cubism/**": true,
|
||||
"**/renpy/dists/**": true,
|
||||
"**/renpy/dl/**": true,
|
||||
"**/renpy/doc/**": true,
|
||||
"**/renpy/doc-web/**": true,
|
||||
"**/renpy/jedit/**": true,
|
||||
"**/renpy/renpy*.app/**": true,
|
||||
"**/renpy/tmp/**": true,
|
||||
"**/renpy/web/**": true
|
||||
},
|
||||
"files.exclude": {
|
||||
"0old": true,
|
||||
"**-dists": true,
|
||||
"**/*.pyc": true,
|
||||
"**/*.pyo": true,
|
||||
"renpy/**/*.pyi": true,
|
||||
"**/*.rpmc": true,
|
||||
"**/*.rpyc": true,
|
||||
"**/__pycache__": true,
|
||||
@@ -42,9 +41,45 @@
|
||||
"web3": true,
|
||||
"**/*.rpa": true,
|
||||
"**/*.rpymc": true,
|
||||
"**/cache/": true
|
||||
"**/cache/": true,
|
||||
"renpy/audio/filter.pyi": true,
|
||||
"renpy/audio/renpysound.pyi": true,
|
||||
"renpy/display/accelerator.pyi": true,
|
||||
"renpy/display/matrix.pyi": true,
|
||||
"renpy/display/quaternion.pyi": true,
|
||||
"renpy/display/render.pyi": true,
|
||||
"renpy/encryption.pyi": true,
|
||||
"renpy/gl2/gl2draw.pyi": true,
|
||||
"renpy/gl2/gl2mesh.pyi": true,
|
||||
"renpy/gl2/gl2mesh2.pyi": true,
|
||||
"renpy/gl2/gl2mesh3.pyi": true,
|
||||
"renpy/gl2/gl2model.pyi": true,
|
||||
"renpy/gl2/gl2polygon.pyi": true,
|
||||
"renpy/gl2/gl2shader.pyi": true,
|
||||
"renpy/gl2/gl2texture.pyi": true,
|
||||
"renpy/gl2/live2dmodel.pyi": true,
|
||||
"renpy/lexersupport.pyi": true,
|
||||
"renpy/pydict.pyi": true,
|
||||
"renpy/style.pyi": true,
|
||||
"renpy/styledata/style_activate_functions.pyi": true,
|
||||
"renpy/styledata/style_functions.pyi": true,
|
||||
"renpy/styledata/style_hover_functions.pyi": true,
|
||||
"renpy/styledata/style_idle_functions.pyi": true,
|
||||
"renpy/styledata/style_insensitive_functions.pyi": true,
|
||||
"renpy/styledata/style_selected_activate_functions.pyi": true,
|
||||
"renpy/styledata/style_selected_functions.pyi": true,
|
||||
"renpy/styledata/style_selected_hover_functions.pyi": true,
|
||||
"renpy/styledata/style_selected_idle_functions.pyi": true,
|
||||
"renpy/styledata/style_selected_insensitive_functions.pyi": true,
|
||||
"renpy/styledata/styleclass.pyi": true,
|
||||
"renpy/styledata/stylesets.pyi": true,
|
||||
"renpy/text/ftfont.pyi": true,
|
||||
"renpy/text/hbfont.pyi": true,
|
||||
"renpy/text/textsupport.pyi": true,
|
||||
"renpy/text/texwrap.pyi": true,
|
||||
"renpy/uguu/gl.pyi": true,
|
||||
"renpy/uguu/uguu.pyi": true
|
||||
},
|
||||
|
||||
"python.languageServer": "Pylance",
|
||||
"python.analysis.typeCheckingMode": "basic",
|
||||
"python.analysis.diagnosticMode": "workspace",
|
||||
@@ -186,6 +221,12 @@
|
||||
"foreground": "#ffffff"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "renpy.meta.color.#f00",
|
||||
"settings": {
|
||||
"foreground": "#f00"
|
||||
}
|
||||
},
|
||||
{
|
||||
"scope": "text.notes.info",
|
||||
"settings": {
|
||||
@@ -239,5 +280,5 @@
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
}
|
||||
}
|
||||
}
|
||||
+43
-18
@@ -4,8 +4,29 @@ The Ren'Py Visual Novel Engine
|
||||
|
||||
https://www.renpy.org
|
||||
|
||||
Ren'Py development takes place on the ``master`` branch, and occasionally
|
||||
on feature branches.
|
||||
|
||||
Branches
|
||||
========
|
||||
|
||||
The following branches are the most interesting.
|
||||
|
||||
``fix``
|
||||
The fix branch is used for fixes to the current version of Ren'Py that do
|
||||
not require dangerous changes. The fix branch is also the source of the
|
||||
documentation on https://www.renpy.org/. This branch is automatically
|
||||
merged into master on a regular basis.
|
||||
|
||||
Pull requests that contain fixes or documentation improvements should be
|
||||
made to the fix branch. When a release is made, the master branch is
|
||||
copied to the fix branch.
|
||||
|
||||
``master``
|
||||
The master branch is where the main focus of development is. This branch
|
||||
will eventually become the next release of Ren'Py.
|
||||
|
||||
Pull requests that contain new features, that require incompatible changes,
|
||||
or major changes to Ren'Py's internals should be targeted at the master
|
||||
branch.
|
||||
|
||||
|
||||
Getting Started
|
||||
@@ -37,7 +58,7 @@ renpy.app, or renpy.exe, as appropriate for your platform.
|
||||
|
||||
If the current nightly build doesn't work, please wait 24 hours for a new
|
||||
build to occur. If that build still doesn't work, contact Tom (`pytom at bishoujo.us`,
|
||||
or @renpytom on twitter) to find out what's wrong.
|
||||
or @renpytom on Twitter/X) to find out what's wrong.
|
||||
|
||||
The ``doc`` symlink will dangle until documentation is built, as described
|
||||
below.
|
||||
@@ -49,9 +70,9 @@ Building the modules requires you have the many dependencies installed on
|
||||
your system. On Ubuntu and Debian, these dependencies can be installed with
|
||||
the command::
|
||||
|
||||
sudo apt install virtualenvwrapper python3-dev libavcodec-dev libavformat-dev \
|
||||
sudo apt install virtualenvwrapper python3-dev libassimp-dev libavcodec-dev libavformat-dev \
|
||||
libswresample-dev libswscale-dev libharfbuzz-dev libfreetype6-dev libfribidi-dev libsdl2-dev \
|
||||
libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev
|
||||
libsdl2-image-dev libsdl2-gfx-dev libsdl2-mixer-dev libsdl2-ttf-dev libjpeg-dev pkg-config
|
||||
|
||||
Ren'Py requires SDL_image 2.6 or greater. If your distribution doesn't include
|
||||
that version, you'll need to download it from:
|
||||
@@ -71,29 +92,18 @@ To return to this virtualenv later, run::
|
||||
|
||||
After activating the virtualenv, install additional dependencies::
|
||||
|
||||
pip install -U cython future six typing pefile requests ecdsa
|
||||
pip install -U setuptools cython future six typing pefile requests ecdsa
|
||||
|
||||
Then, install pygame_sdl2 by running the following commands::
|
||||
|
||||
git clone https://www.github.com/renpy/pygame_sdl2
|
||||
pushd pygame_sdl2
|
||||
python setup.py install
|
||||
python setup.py install_headers
|
||||
popd
|
||||
|
||||
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::
|
||||
Finally, use setup.py to compile extension modules that support Ren'Py::
|
||||
|
||||
export RENPY_DEPS_INSTALL="/usr:/usr/lib/$(gcc -dumpmachine)/"
|
||||
export RENPY_CYTHON=cython
|
||||
|
||||
Finally, use setup.py in the Ren'Py ``module`` directory to compile and
|
||||
install the modules that support Ren'Py::
|
||||
|
||||
pushd module
|
||||
python setup.py install
|
||||
popd
|
||||
|
||||
Ren'Py will be installed into the activated virtualenv. It can then be run
|
||||
using the command::
|
||||
@@ -101,6 +111,21 @@ using the command::
|
||||
python renpy.py
|
||||
|
||||
|
||||
Other Platforms
|
||||
---------------
|
||||
|
||||
Where supported, Ren'Py will attempt to find include directories and library paths
|
||||
using pkg-config. If pkg-config is not present, include and library paths can be
|
||||
specified using CFLAGS and LDFLAGS.
|
||||
|
||||
If RENPY_CFLAGS is present in the environment and CFLAGS is not, setup.py
|
||||
will set CFLAGS to RENPY_CFLAGS. The same is true for RENPY_LDFLAGS,
|
||||
RENPY_CC, RENPY_CXX, and RENPY_LD.
|
||||
|
||||
Setup.py does not support cross-compiling. See https://github.com/renpy/renpy-build
|
||||
for software that cross-compiles Ren'Py for many platforms.
|
||||
|
||||
|
||||
Documentation
|
||||
=============
|
||||
|
||||
|
||||
+9
-1
@@ -53,4 +53,12 @@ The quality is not perfect, but it should make sense to any developer
|
||||
fluent in Finnish but not English. Adjustments will be made if better
|
||||
translations are suggested.
|
||||
|
||||
* Lari Liuhamo (Diapolo10) <lari.liuhamo+github116504@gmail.com>
|
||||
* Lari Liuhamo (Diapolo10) <lari.liuhamo+github116504@gmail.com>
|
||||
|
||||
Ukrainian
|
||||
---------
|
||||
|
||||
Translation to Ukrainian language. Most of translations provided by Veydzher.
|
||||
Feel free to report me any mistakes, fixes or improvements.
|
||||
|
||||
* Veydzher <veydzherdgswift008@gmail.com>
|
||||
|
||||
@@ -8,13 +8,15 @@ import sys
|
||||
|
||||
from renpy import version_tuple # @UnresolvedImport
|
||||
|
||||
branch = os.popen("git branch --show-current").read().strip()
|
||||
|
||||
SOURCE = [
|
||||
"/home/tom/ab/renpy",
|
||||
"/home/tom/ab/renpy-build",
|
||||
"/home/tom/ab/renpy-build-" + branch,
|
||||
"/home/tom/ab/pygame_sdl2",
|
||||
"/home/tom/ab/renpy-build/renpyweb",
|
||||
]
|
||||
|
||||
|
||||
from renpy.versions import generate_vc_version
|
||||
|
||||
version = generate_vc_version()["version"]
|
||||
@@ -22,6 +24,9 @@ short_version = version.rpartition(".")[0]
|
||||
major = version.partition(".")[0]
|
||||
print("Version", version)
|
||||
|
||||
if major == '7':
|
||||
SOURCE.append("/home/tom/ab/renpy-build-fix/renpyweb")
|
||||
|
||||
ap = argparse.ArgumentParser()
|
||||
|
||||
ap.add_argument("--release", action="store_true")
|
||||
|
||||
+1
-1
@@ -252,7 +252,7 @@ def main():
|
||||
"-q",
|
||||
"egg_info",
|
||||
"--tag-build",
|
||||
"+renpy" + args.version,
|
||||
"+renpy" + args.version.replace("+", "-"),
|
||||
"sdist",
|
||||
"-d",
|
||||
os.path.abspath(destination)
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
*.c
|
||||
*.so
|
||||
*.egg-info
|
||||
*.html
|
||||
build
|
||||
Symlink
+1
@@ -0,0 +1 @@
|
||||
../../renpy/cslots.pyx
|
||||
@@ -0,0 +1,8 @@
|
||||
from setuptools import setup, Extension
|
||||
|
||||
setup(
|
||||
name="cslots",
|
||||
version="1.0.0",
|
||||
ext_modules=[
|
||||
Extension("cslots", [ "cslots.pyx" ]),
|
||||
])
|
||||
Executable
+7
@@ -0,0 +1,7 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
cython -a cslots.pyx
|
||||
pip install -e .
|
||||
python3 -m pytest
|
||||
@@ -0,0 +1,262 @@
|
||||
import sys
|
||||
import pickle
|
||||
|
||||
from cslots import Object, Slot, IntegerSlot
|
||||
|
||||
class C1(Object):
|
||||
str1 : str|None = None
|
||||
int1 : int = 0
|
||||
|
||||
def __init__(self, str1=None, int1=1):
|
||||
self.str1 = str1
|
||||
self.int1 = int1
|
||||
|
||||
class C2(C1):
|
||||
str2 : str|None = None
|
||||
int2 : int = 0
|
||||
|
||||
def __init__(self, str1=None, int1=0, str2=None, int2=0):
|
||||
self.str1 = str1
|
||||
self.int1 = int1
|
||||
self.str2 = str2
|
||||
self.int2 = int2
|
||||
|
||||
|
||||
def test_slot_count():
|
||||
assert C1._cslot_count == 2
|
||||
assert C2._cslot_count == 4
|
||||
|
||||
def test_slots():
|
||||
|
||||
o = C2()
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
|
||||
o.str1 = "hello"
|
||||
o.int1 = 42
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 42
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
|
||||
o.str1 = None
|
||||
o.int1 = 0
|
||||
o.str2 = None
|
||||
o.int2 = 0
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
|
||||
|
||||
def test_compress():
|
||||
|
||||
def expect_size(o, values, indexes):
|
||||
assert sys.getsizeof(o) == 32 + 8 * values + indexes
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str1 = "hello"
|
||||
o.int1 = 42
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
expect_size(o, 4, 4)
|
||||
|
||||
o._compress()
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 42
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
expect_size(o, 4, 4)
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o._compress()
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
expect_size(o, 2, 4)
|
||||
|
||||
o = C2()
|
||||
o.str1 = "hello"
|
||||
|
||||
o._compress()
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
expect_size(o, 1, 1)
|
||||
|
||||
|
||||
def test_decompress():
|
||||
|
||||
def expect_size(o, values, indexes):
|
||||
assert sys.getsizeof(o) == 32 + 8 * values + indexes
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str1 = "hello"
|
||||
o.int1 = 42
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
expect_size(o, 4, 4)
|
||||
|
||||
o._compress()
|
||||
o._decompress()
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 42
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
expect_size(o, 4, 4)
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o._compress()
|
||||
o._decompress()
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
expect_size(o, 4, 4)
|
||||
|
||||
o = C2()
|
||||
o.str1 = "hello"
|
||||
|
||||
o._compress()
|
||||
o._decompress()
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
expect_size(o, 4, 4)
|
||||
|
||||
|
||||
def test_kill():
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str1 = "hello"
|
||||
o.int1 = 42
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o._kill()
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o._compress()
|
||||
o._kill()
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
|
||||
|
||||
def test_pickle():
|
||||
o = C2()
|
||||
|
||||
o.str1 = "hello"
|
||||
o.int1 = 42
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o = pickle.loads(pickle.dumps(o))
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 42
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o = pickle.loads(pickle.dumps(o))
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
|
||||
o = C2()
|
||||
o.str1 = "hello"
|
||||
|
||||
o = pickle.loads(pickle.dumps(o))
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
|
||||
|
||||
|
||||
def test_pickle_compressed():
|
||||
o = C2()
|
||||
|
||||
o.str1 = "hello"
|
||||
o.int1 = 42
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o._compress()
|
||||
|
||||
o = pickle.loads(pickle.dumps(o))
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 42
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
|
||||
o = C2()
|
||||
|
||||
o.str2 = "world"
|
||||
o.int2 = 43
|
||||
|
||||
o._compress()
|
||||
o = pickle.loads(pickle.dumps(o))
|
||||
|
||||
assert o.str1 is None
|
||||
assert o.int1 == 0
|
||||
assert o.str2 == "world"
|
||||
assert o.int2 == 43
|
||||
|
||||
o = C2()
|
||||
o.str1 = "hello"
|
||||
|
||||
o._compress()
|
||||
o = pickle.loads(pickle.dumps(o))
|
||||
|
||||
assert o.str1 == "hello"
|
||||
assert o.int1 == 0
|
||||
assert o.str2 is None
|
||||
assert o.int2 == 0
|
||||
+1
-1
@@ -328,7 +328,7 @@ define gui.vbar_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.
|
||||
define gui.vscrollbar_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
|
||||
define gui.vslider_borders = Borders(gui.scale(4), gui.scale(4), gui.scale(4), gui.scale(4))
|
||||
|
||||
## What to do with unscrollable scrollbars in the gui. "hide" hides them, while
|
||||
## What to do with unscrollable scrollbars in the game menu. "hide" hides them, while
|
||||
## None shows them.
|
||||
define gui.unscrollable = "hide"
|
||||
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
## When this file exists, Ren'Py will load files in game/libs before other files in game.
|
||||
@@ -96,7 +96,6 @@ style frame:
|
||||
## https://www.renpy.org/doc/html/screen_special.html#say
|
||||
|
||||
screen say(who, what):
|
||||
style_prefix "say"
|
||||
|
||||
window:
|
||||
id "window"
|
||||
@@ -245,9 +244,7 @@ screen quick_menu():
|
||||
|
||||
hbox:
|
||||
style_prefix "quick"
|
||||
|
||||
xalign 0.5
|
||||
yalign 1.0
|
||||
style "quick_menu"
|
||||
|
||||
textbutton _("Back") action Rollback()
|
||||
textbutton _("History") action ShowMenu('history')
|
||||
@@ -266,9 +263,14 @@ init python:
|
||||
|
||||
default quick_menu = True
|
||||
|
||||
style quick_menu is hbox
|
||||
style quick_button is default
|
||||
style quick_button_text is button_text
|
||||
|
||||
style quick_menu:
|
||||
xalign 0.5
|
||||
yalign 1.0
|
||||
|
||||
style quick_button:
|
||||
properties gui.button_properties("quick_button")
|
||||
|
||||
@@ -701,6 +703,7 @@ style slot_name_text is slot_button_text
|
||||
style page_label:
|
||||
xpadding gui.scale(50)
|
||||
ypadding gui.scale(3)
|
||||
xalign 0.5
|
||||
|
||||
style page_label_text:
|
||||
textalign 0.5
|
||||
@@ -1520,11 +1523,9 @@ screen quick_menu():
|
||||
if quick_menu:
|
||||
|
||||
hbox:
|
||||
style "quick_menu"
|
||||
style_prefix "quick"
|
||||
|
||||
xalign 0.5
|
||||
yalign 1.0
|
||||
|
||||
textbutton _("Back") action Rollback()
|
||||
textbutton _("Skip") action Skip() alternate Skip(fast=True, confirm=True)
|
||||
textbutton _("Auto") action Preference("auto-forward", "toggle")
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -76,24 +76,14 @@ class BinFile(object):
|
||||
self.addr = addr
|
||||
|
||||
def tostring(self):
|
||||
if PY2:
|
||||
return self.a.tostring() # type: ignore
|
||||
else:
|
||||
return self.a.tobytes()
|
||||
return self.a.tobytes()
|
||||
|
||||
def substring(self, start, len): # @ReservedAssignment
|
||||
if PY2:
|
||||
return self.a[start:start + len].tostring() # type: ignore
|
||||
else:
|
||||
return self.a[start:start + len].tobytes()
|
||||
return self.a[start:start + len].tobytes()
|
||||
|
||||
def __init__(self, data):
|
||||
self.a = array.array('B')
|
||||
|
||||
if PY2:
|
||||
self.a.fromstring(data) # type: ignore
|
||||
else:
|
||||
self.a.frombytes(data)
|
||||
self.a.frombytes(data)
|
||||
|
||||
##############################################################################
|
||||
# These functions parse data out of the file. In these functions, offset is
|
||||
@@ -396,7 +386,7 @@ def change_icons(oldexe, icofn):
|
||||
|
||||
|
||||
#Image size is the memory size of all sections + all headers, padded to memory alignment.
|
||||
#There's alread a header size, and this isn't changing headers, so just add.
|
||||
#There's already a header size, and this isn't changing headers, so just add.
|
||||
#imageSize = pe.OPTIONAL_HEADER.ImageBase + pe.OPTIONAL_HEADER.SizeOfHeaders
|
||||
imageSize = pe.OPTIONAL_HEADER.SizeOfHeaders
|
||||
for s in pe.sections:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -24,7 +24,6 @@ init python:
|
||||
import codecs
|
||||
import re
|
||||
import sys
|
||||
import future.utils
|
||||
|
||||
def theme_names():
|
||||
"""
|
||||
@@ -98,7 +97,7 @@ init python:
|
||||
return
|
||||
|
||||
renpy.style.restore(style_backup)
|
||||
future.utils.exec_(theme_data.THEME[theme][scheme], globals(), globals())
|
||||
exec(theme_data.THEME[theme][scheme], globals(), globals())
|
||||
|
||||
# Rebuild the style cache.
|
||||
renpy.style.rebuild(False)
|
||||
@@ -168,8 +167,8 @@ init python:
|
||||
|
||||
def list_logical_lines(filename):
|
||||
"""
|
||||
This reads in filename, and turns it into a list of logical
|
||||
lines.
|
||||
This reads in filename, and turns it into a list of logical
|
||||
lines.
|
||||
"""
|
||||
|
||||
f = codecs.open(filename, "rb", "utf-8")
|
||||
@@ -188,7 +187,7 @@ init python:
|
||||
# The line that we're building up.
|
||||
line = ""
|
||||
|
||||
# The number of open parenthesis there are right now.
|
||||
# The number of open parenthesis there are right now.
|
||||
parendepth = 0
|
||||
|
||||
# Looping over the characters in a single logical line.
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -432,10 +432,7 @@ fix_dlc("renios", "renios")
|
||||
for f in sorted(self, key=lambda a : a.name):
|
||||
f.hash(sha, distributor)
|
||||
|
||||
if PY2:
|
||||
return sha.hexdigest().decode("utf-8")
|
||||
else:
|
||||
return sha.hexdigest()
|
||||
return sha.hexdigest()
|
||||
|
||||
def split_by_prefix(self, prefix):
|
||||
"""
|
||||
@@ -661,7 +658,6 @@ fix_dlc("renios", "renios")
|
||||
# Build the mac app and windows exes.
|
||||
self.add_mac_files()
|
||||
self.add_windows_files()
|
||||
self.add_main_py()
|
||||
|
||||
# Add the main.py.
|
||||
self.add_main_py()
|
||||
@@ -898,7 +894,7 @@ fix_dlc("renios", "renios")
|
||||
if not os.path.exists(path):
|
||||
raise Exception("{} does not exist.".format(path))
|
||||
|
||||
if isinstance(file_list, basestring):
|
||||
if isinstance(file_list, str):
|
||||
file_list = file_list.split()
|
||||
|
||||
f = File(name, path, False, executable)
|
||||
@@ -911,7 +907,7 @@ fix_dlc("renios", "renios")
|
||||
Adds an empty directory to the file lists.
|
||||
"""
|
||||
|
||||
if isinstance(file_list, basestring):
|
||||
if isinstance(file_list, str):
|
||||
file_list = file_list.split()
|
||||
|
||||
f = File(name, None, True, False)
|
||||
@@ -947,6 +943,15 @@ fix_dlc("renios", "renios")
|
||||
arcfn = arcname + ".rpa"
|
||||
arcpath = self.temp_filename(arcfn)
|
||||
|
||||
# Create new directories leading to the new archive file relative to the tmp root
|
||||
# if the archive's name indicates it should be in a subdirectory
|
||||
arc_relpath = os.path.relpath(arcpath, self.project.tmp)
|
||||
arc_subdir = os.path.dirname(arc_relpath)
|
||||
|
||||
if arc_subdir:
|
||||
abs_subdir = os.path.join(self.project.tmp, arc_subdir)
|
||||
os.makedirs(abs_subdir, exist_ok=True)
|
||||
|
||||
af = archiver.Archive(arcpath)
|
||||
|
||||
fll = len(self.file_lists[arcname])
|
||||
@@ -985,7 +990,7 @@ fix_dlc("renios", "renios")
|
||||
script_version_txt = self.temp_filename("script_version.txt")
|
||||
|
||||
with open(script_version_txt, "w") as f:
|
||||
f.write(unicode(repr(renpy.renpy.version_tuple[:-1])))
|
||||
f.write(repr(renpy.renpy.version_tuple[:-1]))
|
||||
|
||||
self.add_file("all", "game/script_version.txt", script_version_txt)
|
||||
|
||||
@@ -1075,11 +1080,8 @@ fix_dlc("renios", "renios")
|
||||
|
||||
rv = self.temp_filename("Info.plist")
|
||||
|
||||
if PY2:
|
||||
plistlib.writePlist(plist, rv)
|
||||
else:
|
||||
with open(rv, "wb") as f:
|
||||
plistlib.dump(plist, f)
|
||||
with open(rv, "wb") as f:
|
||||
plistlib.dump(plist, f)
|
||||
|
||||
return rv
|
||||
|
||||
@@ -1100,12 +1102,14 @@ fix_dlc("renios", "renios")
|
||||
|
||||
prefix = py("lib/py{major}-")
|
||||
|
||||
if os.path.exists(linux_i686):
|
||||
i686fn = os.path.join(config.renpy_base, prefix + "linux-i686/renpy")
|
||||
|
||||
if os.path.exists(i686fn):
|
||||
|
||||
self.add_file(
|
||||
linux_i686,
|
||||
prefix + "linux-i686/" + self.executable_name,
|
||||
os.path.join(config.renpy_base, prefix + "linux-i686/renpy"),
|
||||
i686fn,
|
||||
True)
|
||||
|
||||
self.add_file(
|
||||
@@ -1114,16 +1118,6 @@ fix_dlc("renios", "renios")
|
||||
os.path.join(config.renpy_base, prefix + "linux-x86_64/renpy"),
|
||||
True)
|
||||
|
||||
armfn = os.path.join(config.renpy_base, prefix + "linux-armv7l/renpy")
|
||||
|
||||
if os.path.exists(armfn):
|
||||
|
||||
self.add_file(
|
||||
raspi,
|
||||
prefix + "linux-armv7l/" + self.executable_name,
|
||||
armfn,
|
||||
True)
|
||||
|
||||
aarch64fn = os.path.join(config.renpy_base, prefix + "linux-aarch64/renpy")
|
||||
|
||||
if os.path.exists(aarch64fn):
|
||||
@@ -1226,19 +1220,8 @@ fix_dlc("renios", "renios")
|
||||
if os.path.exists(tmp):
|
||||
self.add_file(fl, dst, tmp)
|
||||
|
||||
if PY2:
|
||||
|
||||
if self.build["include_i686"]:
|
||||
write_exe("lib/py2-windows-i686/renpy.exe", self.exe32, self.exe32, windows_i686)
|
||||
write_exe("lib/py2-windows-i686/pythonw.exe", "lib/py2-windows-i686/pythonw.exe", "pythonw-32.exe", windows_i686)
|
||||
|
||||
write_exe("lib/py2-windows-x86_64/renpy.exe", self.exe, self.exe, windows)
|
||||
write_exe("lib/py2-windows-x86_64/pythonw.exe", "lib/py2-windows-x86_64/pythonw.exe", "pythonw-64.exe", windows)
|
||||
|
||||
else:
|
||||
|
||||
write_exe("lib/py3-windows-x86_64/renpy.exe", self.exe, self.exe, windows)
|
||||
write_exe("lib/py3-windows-x86_64/pythonw.exe", "lib/py3-windows-x86_64/pythonw.exe", "pythonw-64.exe", windows)
|
||||
write_exe("lib/py3-windows-x86_64/renpy.exe", self.exe, self.exe, windows)
|
||||
write_exe("lib/py3-windows-x86_64/pythonw.exe", "lib/py3-windows-x86_64/pythonw.exe", "pythonw-64.exe", windows)
|
||||
|
||||
|
||||
def add_main_py(self):
|
||||
@@ -1531,11 +1514,12 @@ fix_dlc("renios", "renios")
|
||||
|
||||
update = { variant : { "version" : self.update_versions[variant], "base_name" : self.base_name, "files" : update_files, "directories" : update_directories, "xbit" : update_xbit } }
|
||||
|
||||
update_fn = os.path.join(self.destination, filename + ".update.json")
|
||||
update_fn = self.temp_filename(filename + ".update.json")
|
||||
|
||||
|
||||
if self.include_update and not format.startswith("app-"):
|
||||
|
||||
with open(update_fn, "wb" if PY2 else "w") as f:
|
||||
with open(update_fn, "w") as f:
|
||||
json.dump(update, f, indent=2)
|
||||
|
||||
if (not dlc) or (format == "update"):
|
||||
@@ -1565,14 +1549,11 @@ fix_dlc("renios", "renios")
|
||||
in this thread or a background thread.
|
||||
"""
|
||||
|
||||
if self.include_update and not self.build_update and not dlc:
|
||||
if os.path.exists(update_fn):
|
||||
os.unlink(update_fn)
|
||||
final_update_fn = os.path.join(self.destination, filename + ".update.json")
|
||||
|
||||
if not directory:
|
||||
file_hash = hash_file(path)
|
||||
else:
|
||||
file_hash = ""
|
||||
if self.build_update or dlc:
|
||||
if os.path.exists(update_fn):
|
||||
shutil.copy(update_fn, final_update_fn)
|
||||
|
||||
if format == "tar.bz2" or format == "bare-tar.bz2":
|
||||
pkg = TarPackage(path, "w:bz2")
|
||||
@@ -1806,8 +1787,9 @@ fix_dlc("renios", "renios")
|
||||
reporter.info(_("Recompiling all rpy files into rpyc files..."))
|
||||
project.launch([ "compile", "--keep-orphan-rpyc" ], wait=True)
|
||||
|
||||
files = [fn + "c" for fn in project.script_files()
|
||||
if fn.startswith("game/") and project.exists(fn + "c")]
|
||||
files = [
|
||||
fn + "c" for fn in project.script_files()
|
||||
if fn.startswith("game/") and project.exists(fn + "c")]
|
||||
len_files = len(files)
|
||||
|
||||
if not files:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -52,7 +52,7 @@ init python:
|
||||
# This is set to true by cancel() to indicate the download should be cancelled.
|
||||
self.cancelled = False
|
||||
|
||||
# Set on succes or failure.
|
||||
# Set on success or failure.
|
||||
self.success = False
|
||||
self.failure = None
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -225,7 +225,7 @@ init 1 python in editor:
|
||||
_("JEdit is deprecated, using another editor is recommended."),
|
||||
"jedit",
|
||||
_("1.8 MB download required."),
|
||||
_("This may have occured because Java is not installed on this system."),
|
||||
_("This may have occurred because Java is not installed on this system."),
|
||||
deprecated=True,
|
||||
)
|
||||
|
||||
@@ -411,7 +411,7 @@ init 1 python in editor:
|
||||
|
||||
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)
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
class EditAbsolute(Action):
|
||||
def __init__(self, filename, line=None, check=False):
|
||||
@@ -457,7 +457,7 @@ init 1 python in editor:
|
||||
|
||||
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)
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
|
||||
class EditAll(Action):
|
||||
@@ -495,7 +495,7 @@ init 1 python in editor:
|
||||
|
||||
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)
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
|
||||
class EditProject(Action):
|
||||
@@ -518,7 +518,7 @@ init 1 python in editor:
|
||||
|
||||
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)
|
||||
renpy.invoke_in_new_context(interface.error, _("An exception occurred while launching the text editor:\n[exception!q]"), error_message, exception=exception)
|
||||
|
||||
|
||||
def CanEditProject():
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -157,13 +157,11 @@ screen front_page_project:
|
||||
label _("Open Directory") style "l_label_small"
|
||||
|
||||
frame style "l_indent":
|
||||
has vbox
|
||||
has grid 2 max(5, (len(p.get_renpy_launcher()["open_directory"]) + 1) // 2):
|
||||
transpose True xfill True
|
||||
|
||||
textbutton "game" action OpenDirectory(os.path.join(p.path, "game"), absolute=True)
|
||||
textbutton "base" action OpenDirectory(os.path.join(p.path, "."), absolute=True)
|
||||
textbutton "images" action OpenDirectory(os.path.join(p.path, "game/images"), absolute=True)
|
||||
textbutton "audio" action OpenDirectory(os.path.join(p.path, "game/audio"), absolute=True)
|
||||
textbutton "gui" action OpenDirectory(os.path.join(p.path, "game/gui"), absolute=True)
|
||||
for button_name, path in p.get_renpy_launcher()["open_directory"].items():
|
||||
textbutton button_name action OpenDirectory(os.path.join(p.path, path), absolute=True)
|
||||
|
||||
vbox:
|
||||
if persistent.show_edit_funcs:
|
||||
@@ -173,10 +171,8 @@ screen front_page_project:
|
||||
frame style "l_indent":
|
||||
has vbox
|
||||
|
||||
textbutton "script.rpy" action editor.Edit("game/script.rpy", check=True)
|
||||
textbutton "options.rpy" action editor.Edit("game/options.rpy", check=True)
|
||||
textbutton "gui.rpy" action editor.Edit("game/gui.rpy", check=True)
|
||||
textbutton "screens.rpy" action editor.Edit("game/screens.rpy", check=True)
|
||||
for button_name, path in p.get_renpy_launcher()["edit_file"].items():
|
||||
textbutton button_name action editor.Edit(path, check=True)
|
||||
|
||||
if editor.CanEditProject():
|
||||
textbutton _("Open project") action editor.EditProject()
|
||||
@@ -216,7 +212,7 @@ screen front_page_project:
|
||||
|
||||
textbutton _("Android") action Jump("android")
|
||||
textbutton _("iOS") action Jump("ios")
|
||||
textbutton _("Web") + " " + _("(Beta)") action Jump("web")
|
||||
textbutton _("Web") action Jump("web")
|
||||
textbutton _("Generate Translations") action Jump("translate")
|
||||
textbutton _("Extract Dialogue") action Jump("extract_dialogue")
|
||||
|
||||
|
||||
+10
-1
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -26,6 +26,15 @@ define gui.asian = False
|
||||
# and provides the full path to the template project.
|
||||
default gui_template_path = None
|
||||
|
||||
define LIBS_TXT = _("""\
|
||||
The game/libs/ directory is meant for third-party libraries that ask to be
|
||||
put in game/libs.
|
||||
|
||||
When this file (game/libs/libs.txt) is present, Ren'Py will load all files
|
||||
in libs before any other file in game/, and will not consider directory names
|
||||
when loading these files.
|
||||
""")
|
||||
|
||||
init -1 python:
|
||||
|
||||
import gui7
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -28,15 +28,19 @@ import os
|
||||
import shutil
|
||||
|
||||
|
||||
|
||||
def finish(p):
|
||||
|
||||
for dn in [ "images", "audio" ]:
|
||||
for dn in [ "images", "audio", "libs" ]:
|
||||
|
||||
fulldn = os.path.join(p.prefix, dn)
|
||||
|
||||
if not os.path.exists(fulldn):
|
||||
os.mkdir(fulldn)
|
||||
|
||||
with open(os.path.join(p.prefix, "libs", "libs.txt"), "w") as f:
|
||||
f.write(renpy.translation.translate_string(renpy.store.LIBS_TXT, language=p.language))
|
||||
|
||||
def generate_gui(p):
|
||||
|
||||
ImageGenerator(p).generate_all()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -172,7 +172,7 @@ class CodeGenerator(object):
|
||||
|
||||
for l in self.lines:
|
||||
|
||||
m = re.match('^(\s*)define (.*?) =', l)
|
||||
m = re.match(r'^(\s*)define (.*?) =', l)
|
||||
|
||||
if m:
|
||||
indent = m.group(1)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 160 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 71 KiB |
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -81,10 +81,7 @@ init python:
|
||||
|
||||
label install_live2d:
|
||||
python hide:
|
||||
if PY2:
|
||||
_prefix = r"lib/py2-"
|
||||
else:
|
||||
_prefix = r"lib/py3-"
|
||||
_prefix = r"lib/py3-"
|
||||
|
||||
patterns = [
|
||||
(r".*/Core/dll/linux/x86_64/(libLive2DCubismCore.so)", _prefix + r"linux-x86_64/\1"),
|
||||
@@ -97,11 +94,6 @@ label install_live2d:
|
||||
(r".*/Core/dll/android/(x86_64/libLive2DCubismCore.so)", r"rapt/prototype/renpyandroid/src/main/jniLibs/\1"),
|
||||
]
|
||||
|
||||
if PY2:
|
||||
patterns.extend([
|
||||
(r".*/Core/dll/windows/x86/(Live2DCubismCore.dll)", _prefix + r"windows-i686/\1"),
|
||||
])
|
||||
|
||||
install_from_zip("Live2D Cubism SDK for Native", "CubismSdkForNative-[45]-*.zip", patterns)
|
||||
|
||||
jump front_page
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -169,7 +169,7 @@ def _check_hash(filename, hashj):
|
||||
download_file = ""
|
||||
download_url = ""
|
||||
|
||||
def download(url, filename, hash=None):
|
||||
def download(url, filename, hash=None, headers=None, requests_kwargs={}):
|
||||
"""
|
||||
Downloads `url` to `filename`, a tempfile.
|
||||
"""
|
||||
@@ -188,9 +188,13 @@ def download(url, filename, hash=None):
|
||||
|
||||
progress_time = time.time()
|
||||
|
||||
all_headers = {"User-Agent": 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/102.0.0.0 Safari/537.36 renpy/8'}
|
||||
if headers:
|
||||
all_headers.update(headers)
|
||||
|
||||
try:
|
||||
|
||||
response = requests.get(url, stream=True, proxies=renpy.exports.proxies, timeout=15)
|
||||
response = requests.get(url, stream=True, proxies=renpy.exports.proxies, timeout=15, headers=all_headers, **requests_kwargs)
|
||||
response.raise_for_status()
|
||||
|
||||
total_size = int(response.headers.get('content-length', 1))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -33,6 +33,10 @@ init python in interface:
|
||||
DOC_URL = "http://www.renpy.org/doc/html/"
|
||||
DOC_LOCAL_URL = "file:///" + DOC_PATH
|
||||
|
||||
# If true, the launcher should not link back to renpy.org.
|
||||
NO_LAUNCHER_LINKS = os.path.exists(os.path.join(config.renpy_base, "no_launcher_links.txt"))
|
||||
|
||||
|
||||
local_doc_exists = os.path.exists(DOC_PATH)
|
||||
|
||||
def get_doc_url(page):
|
||||
@@ -40,7 +44,7 @@ init python in interface:
|
||||
Returns the URL to the documentation page.
|
||||
"""
|
||||
|
||||
if local_doc_exists and not persistent.use_web_doc:
|
||||
if local_doc_exists and (NO_LAUNCHER_LINKS or not persistent.use_web_doc):
|
||||
from urllib.parse import urljoin
|
||||
from urllib.request import pathname2url
|
||||
|
||||
@@ -117,7 +121,10 @@ screen bottom_info:
|
||||
hbox:
|
||||
spacing INDENT
|
||||
textbutton _("Documentation") style "l_link" action interface.OpenDocumentation()
|
||||
textbutton _("Ren'Py Website") style "l_link" action OpenURL(interface.RENPY_URL)
|
||||
|
||||
if not interface.NO_LAUNCHER_LINKS:
|
||||
textbutton _("Ren'Py Website") style "l_link" action OpenURL(interface.RENPY_URL)
|
||||
|
||||
textbutton _("[interface.version]") style "l_link" action Jump("about")
|
||||
|
||||
hbox:
|
||||
@@ -133,7 +140,7 @@ screen bottom_info:
|
||||
textbutton _("preferences") style "l_link" action Jump("preferences")
|
||||
textbutton _("quit") style "l_link" action Quit(confirm=False)
|
||||
|
||||
if persistent.sponsor_message:
|
||||
if persistent.sponsor_message and not interface.NO_LAUNCHER_LINKS:
|
||||
|
||||
textbutton _("Ren'Py Sponsor Information"):
|
||||
style "l_link"
|
||||
@@ -345,7 +352,7 @@ init python in interface:
|
||||
|
||||
def error(message, submessage=None, label="front_page", **kwargs):
|
||||
"""
|
||||
Indicates to the user that an error has occured.
|
||||
Indicates to the user that an error has occurred.
|
||||
|
||||
`message`
|
||||
The message to display.
|
||||
@@ -401,7 +408,7 @@ init python in interface:
|
||||
except Exception as e:
|
||||
renpy.renpy.error.report_exception(e, editor=False)
|
||||
|
||||
error(_("While [what!qt], an error occured:"),
|
||||
error(_("While [what!qt], an error occurred:"),
|
||||
_("[exception!q]"),
|
||||
what=what,
|
||||
label=label,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -164,9 +164,6 @@ init python:
|
||||
|
||||
print("Eliminating __pycache__...")
|
||||
|
||||
if PY2:
|
||||
return
|
||||
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -50,7 +50,7 @@ init python:
|
||||
pass
|
||||
|
||||
with interface.error_handling(_("Downloading the itch.io butler.")):
|
||||
url = "https://broth.itch.ovh/butler/{}/LATEST/archive/default".format(platform)
|
||||
url = "https://broth.itch.zone/butler/{}/LATEST/archive/default".format(platform)
|
||||
|
||||
response = requests.get(url, headers={'User-Agent' : "Renpy"}, proxies=renpy.proxies)
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -32,7 +32,7 @@ init -1 python:
|
||||
if not renpy.loadable(fn1):
|
||||
return True
|
||||
|
||||
hash1 = renpy.file(fn1).read().decode("utf-8")
|
||||
hash1 = renpy.open_file(fn1, encoding="utf-8").read()
|
||||
|
||||
if not os.path.exists(fn2):
|
||||
return False
|
||||
@@ -91,7 +91,7 @@ init -1 python:
|
||||
def log(self, msg):
|
||||
with open(self.filename, "a") as f:
|
||||
f.write("\n")
|
||||
f.write(unicode(msg))
|
||||
f.write(msg)
|
||||
f.write("\n")
|
||||
|
||||
def info(self, prompt):
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -34,9 +34,6 @@ label new_project:
|
||||
if persistent.projects_directory is None:
|
||||
$ interface.error(_("The projects directory could not be set. Giving up."))
|
||||
|
||||
if PY2:
|
||||
$ interface.info(_("Warning : you are using Ren'Py 7. It is recommended to start new projects using Ren'Py 8 instead."))
|
||||
|
||||
python:
|
||||
new_project_language = __("{#language name and font}")
|
||||
gui_kind = "new_gui_project"
|
||||
|
||||
+33
-31
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -189,7 +189,12 @@ init -1 python hide:
|
||||
config.has_voice = False
|
||||
config.force_sound = False
|
||||
config.quit_action = Quit(confirm=False)
|
||||
config.window_icon = "images/logo.png"
|
||||
|
||||
if renpy.macintosh:
|
||||
config.window_icon = "images/window-icon-mac.png"
|
||||
else:
|
||||
config.window_icon = "images/window-icon.png"
|
||||
|
||||
config.has_autosave = False
|
||||
config.log_enable = False
|
||||
config.mouse_hide_time = None
|
||||
@@ -296,6 +301,8 @@ init python:
|
||||
build.classify_renpy("**.new", None)
|
||||
build.classify_renpy("**.bak", None)
|
||||
|
||||
build.classify_renpy("**.keystore", None)
|
||||
|
||||
build.classify_renpy("**/log.txt", None)
|
||||
build.classify_renpy("**/traceback.txt", None)
|
||||
build.classify_renpy("**/errors.txt", None)
|
||||
@@ -315,7 +322,7 @@ init python:
|
||||
"""
|
||||
|
||||
if py is True:
|
||||
py = 'pyo' if PY2 else 'pycache'
|
||||
py = 'pycache'
|
||||
|
||||
if py == 'pycache':
|
||||
build.classify_renpy(pattern + "/**__pycache__/", binary)
|
||||
@@ -339,6 +346,8 @@ init python:
|
||||
build.classify_renpy(pattern + "/**.pyo", None)
|
||||
|
||||
build.classify_renpy(pattern + "/**.pyi", None)
|
||||
build.classify_renpy(pattern + "/**.pyx", "source_only")
|
||||
build.classify_renpy(pattern + "/**.pxd", "source_only")
|
||||
|
||||
build.classify_renpy(pattern + "/**.rpyc", binary)
|
||||
build.classify_renpy(pattern + "/**.rpymc", binary)
|
||||
@@ -350,6 +359,7 @@ init python:
|
||||
|
||||
build.classify_renpy(pattern + "/**", source)
|
||||
|
||||
build.classify_renpy("renpy/gl/", None)
|
||||
|
||||
build.classify_renpy("renpy.py", "binary")
|
||||
source_and_binary("renpy")
|
||||
@@ -385,39 +395,31 @@ init python:
|
||||
build.classify_renpy("sphinx/source/inc/", None)
|
||||
build.classify_renpy("sphinx/source/**", "source_only")
|
||||
|
||||
|
||||
# module.
|
||||
build.classify_renpy("module/", "source")
|
||||
build.classify_renpy("module/*.c", "source")
|
||||
build.classify_renpy("module/gen/", None)
|
||||
build.classify_renpy("module/*.h", "source")
|
||||
build.classify_renpy("module/*.py*", "source")
|
||||
build.classify_renpy("module/include/", "source")
|
||||
build.classify_renpy("module/include/*.pxd", "source")
|
||||
build.classify_renpy("module/include/*.pxi", "source")
|
||||
build.classify_renpy("module/pysdlsound/", "source")
|
||||
build.classify_renpy("module/pysdlsound/*.py", "source")
|
||||
build.classify_renpy("module/pysdlsound/*.pyx", "source")
|
||||
build.classify_renpy("module/fribidi-src/**", "source")
|
||||
build.classify_renpy("module/tinyfiledialogs/**", "source")
|
||||
build.classify_renpy("module/libhydrogen/**", "source")
|
||||
# Build System.
|
||||
build.classify_renpy("setup.py", "source_only")
|
||||
build.classify_renpy("src/**", "source_only")
|
||||
build.classify_renpy("scripts/", "source_only")
|
||||
build.classify_renpy("scripts/setuplib.py", "source_only")
|
||||
build.classify_renpy("scripts/generate_styles.py", "source_only")
|
||||
|
||||
# all-platforms binary.
|
||||
build.classify_renpy("lib/**/libpython{}.{}.dll".format(sys.version_info.major, sys.version_info.minor), "binary")
|
||||
build.classify_renpy("lib/**/libpython*.dll", None)
|
||||
|
||||
build.classify_renpy("lib/**/*steam_api*", "steam")
|
||||
build.classify_renpy("lib/**/*Live2D*", None)
|
||||
|
||||
if PY2:
|
||||
build.classify_renpy("lib/py2-linux-armv7l/**", "linux_arm")
|
||||
build.classify_renpy("lib/py2-linux-aarch64/**", "linux_arm")
|
||||
source_and_binary("lib/py2-**", "binary", "binary")
|
||||
source_and_binary("lib/python2**", "binary", "binary")
|
||||
build.classify_renpy("renpy2.sh", "binary")
|
||||
else:
|
||||
build.classify_renpy("lib/py3-linux-armv7l/**", "linux_arm")
|
||||
build.classify_renpy("lib/py3-linux-aarch64/**", "linux_arm")
|
||||
source_and_binary("lib/py3-**", "binary", "binary")
|
||||
source_and_binary("lib/python3**", "binary", "binary", py='pyc')
|
||||
build.classify_renpy("renpy3.sh", "binary")
|
||||
build.classify_renpy("lib/py3-linux-armv7l", None)
|
||||
build.classify_renpy("lib/py3-linux-aarch64/**", "linux_arm")
|
||||
source_and_binary("lib/py3-**", "binary", "binary")
|
||||
|
||||
libpython = "lib/python{}.{}".format(sys.version_info.major, sys.version_info.minor)
|
||||
source_and_binary(libpython, "binary", "binary", py='pyc')
|
||||
|
||||
build.classify_renpy("lib/python**", None)
|
||||
build.classify_renpy("lib/py2-**", None)
|
||||
|
||||
build.classify_renpy("renpy3.sh", "binary")
|
||||
|
||||
build.classify_renpy("lib/", "binary")
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -34,106 +34,21 @@ init python in distribute:
|
||||
from zipfile import crc32
|
||||
|
||||
# Since the long type doesn't exist on py3, define it here
|
||||
if not PY2:
|
||||
long = int
|
||||
long = int
|
||||
|
||||
zlib.Z_DEFAULT_COMPRESSION = 5
|
||||
|
||||
if PY2:
|
||||
class ZipFile(zipfile.ZipFile):
|
||||
|
||||
class ZipFile(zipfile.ZipFile):
|
||||
def write_with_info(self, zinfo, filename):
|
||||
|
||||
def write_with_info(self, zinfo, filename):
|
||||
"""Put the bytes from filename into the archive under the name
|
||||
arcname."""
|
||||
if not self.fp:
|
||||
raise RuntimeError(
|
||||
"Attempt to write to ZIP archive that was already closed")
|
||||
if zinfo.filename.endswith("/"):
|
||||
data = b''
|
||||
else:
|
||||
with open(filename, "rb") as f:
|
||||
data = f.read()
|
||||
|
||||
st = os.stat(filename)
|
||||
isdir = stat.S_ISDIR(st.st_mode)
|
||||
|
||||
zinfo.file_size = st.st_size
|
||||
zinfo.flag_bits = 0x00
|
||||
zinfo.header_offset = self.fp.tell() # Start of header bytes
|
||||
|
||||
self._writecheck(zinfo)
|
||||
self._didModify = True
|
||||
|
||||
if isdir:
|
||||
zinfo.file_size = 0
|
||||
zinfo.compress_size = 0
|
||||
zinfo.CRC = 0
|
||||
self.filelist.append(zinfo)
|
||||
self.NameToInfo[zinfo.filename] = zinfo
|
||||
self.fp.write(zinfo.FileHeader())
|
||||
return
|
||||
|
||||
with open(filename, "rb") as fp:
|
||||
# Must overwrite CRC and sizes with correct data later
|
||||
zinfo.CRC = CRC = 0
|
||||
zinfo.compress_size = compress_size = 0
|
||||
file_size = 0
|
||||
|
||||
zip64 = self._allowZip64 and \
|
||||
zinfo.file_size * 1.05 > zipfile.ZIP64_LIMIT
|
||||
|
||||
self.fp.write(zinfo.FileHeader(zip64))
|
||||
|
||||
if zinfo.compress_type == zipfile.ZIP_DEFLATED:
|
||||
cmpr = zlib.compressobj(zlib.Z_DEFAULT_COMPRESSION,
|
||||
zlib.DEFLATED, -15)
|
||||
else:
|
||||
cmpr = None
|
||||
while 1:
|
||||
buf = fp.read(1024 * 1024)
|
||||
if not buf:
|
||||
break
|
||||
file_size = file_size + len(buf)
|
||||
CRC = crc32(buf, CRC) & 0xffffffff
|
||||
if cmpr:
|
||||
buf = cmpr.compress(buf)
|
||||
compress_size = compress_size + len(buf)
|
||||
self.fp.write(buf)
|
||||
if cmpr:
|
||||
buf = cmpr.flush()
|
||||
compress_size = compress_size + len(buf)
|
||||
self.fp.write(buf)
|
||||
zinfo.compress_size = compress_size
|
||||
else:
|
||||
zinfo.compress_size = file_size
|
||||
zinfo.CRC = CRC
|
||||
zinfo.file_size = file_size
|
||||
|
||||
if not zip64 and self._allowZip64:
|
||||
if file_size > zipfile.ZIP64_LIMIT:
|
||||
raise RuntimeError('File size has increased during compressing')
|
||||
if compress_size > zipfile.ZIP64_LIMIT:
|
||||
raise RuntimeError('Compressed size larger than uncompressed size')
|
||||
|
||||
# Seek backwards and write CRC and file sizes
|
||||
position = self.fp.tell() # Preserve current position in file
|
||||
self.fp.seek(zinfo.header_offset, 0)
|
||||
|
||||
self.fp.write(zinfo.FileHeader(zip64))
|
||||
|
||||
self.fp.seek(position, 0)
|
||||
self.filelist.append(zinfo)
|
||||
self.NameToInfo[zinfo.filename] = zinfo
|
||||
|
||||
else:
|
||||
|
||||
class ZipFile(zipfile.ZipFile):
|
||||
|
||||
def write_with_info(self, zinfo, filename):
|
||||
|
||||
if zinfo.filename.endswith("/"):
|
||||
data = b''
|
||||
else:
|
||||
with open(filename, "rb") as f:
|
||||
data = f.read()
|
||||
|
||||
self.writestr(zinfo, data)
|
||||
self.writestr(zinfo, data)
|
||||
|
||||
|
||||
class ZipPackage(object):
|
||||
@@ -469,3 +384,5 @@ init python in distribute:
|
||||
for i in parallel_threads:
|
||||
if i.done:
|
||||
i.done()
|
||||
|
||||
parallel_threads.clear()
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
+45
-10
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -92,6 +92,10 @@ init python in project:
|
||||
# The mtime of the last dump file loaded.
|
||||
self.dump_mtime = 0
|
||||
|
||||
# A processed version of data['renpy_launcher'] with missing files
|
||||
# and directories removed.
|
||||
self.renpy_launcher = None
|
||||
|
||||
def get_dump_filename(self):
|
||||
|
||||
if os.path.exists(os.path.join(self.gamedir, "saves")):
|
||||
@@ -116,7 +120,7 @@ init python in project:
|
||||
|
||||
try:
|
||||
with open(os.path.join(self.path, "project.json"), "w") as f:
|
||||
json.dump(self.data, f)
|
||||
json.dump(self.data, f, indent=2)
|
||||
except Exception:
|
||||
self.load_data()
|
||||
|
||||
@@ -156,6 +160,43 @@ init python in project:
|
||||
data["renamed_steam"] = True
|
||||
|
||||
|
||||
def get_renpy_launcher(self):
|
||||
|
||||
if self.renpy_launcher is not None:
|
||||
return self.renpy_launcher
|
||||
|
||||
rv = { }
|
||||
|
||||
default_values = {
|
||||
"open_directory":
|
||||
{
|
||||
"game": "game",
|
||||
"base": ".",
|
||||
"images": "game/images",
|
||||
"audio": "game/audio",
|
||||
"gui": "game/gui",
|
||||
"libs": "game/libs",
|
||||
"mods": "game/mods",
|
||||
},
|
||||
"edit_file":
|
||||
{
|
||||
"script.rpy": "game/script.rpy",
|
||||
"options.rpy": "game/options.rpy",
|
||||
"gui.rpy": "game/gui.rpy",
|
||||
"screens.rpy": "game/screens.rpy"
|
||||
}
|
||||
}
|
||||
|
||||
for k, default_d in default_values.items():
|
||||
d = self.data.get("renpy_launcher", {}).get(k, default_d)
|
||||
rv[k] = { name : path for name, path in d.items() if os.path.exists(os.path.join(self.path, path)) }
|
||||
|
||||
self.renpy_launcher = rv
|
||||
|
||||
return rv
|
||||
|
||||
|
||||
|
||||
def make_tmp(self):
|
||||
"""
|
||||
Makes the project's temporary directory, if it doesn't exist
|
||||
@@ -352,12 +393,6 @@ init python in project:
|
||||
|
||||
line = line[:1024]
|
||||
|
||||
if PY2:
|
||||
try:
|
||||
line = line.decode("utf-8")
|
||||
except Exception:
|
||||
continue
|
||||
|
||||
m = re.search(r"#\s*TODO(\s*:\s*|\s+)(.*)", line, re.I)
|
||||
|
||||
if m is None:
|
||||
@@ -672,7 +707,7 @@ init python in project:
|
||||
The label to jump to when clicked.
|
||||
"""
|
||||
|
||||
if isinstance(p, basestring):
|
||||
if isinstance(p, str):
|
||||
p = manager.get(p)
|
||||
|
||||
self.project = p
|
||||
@@ -760,7 +795,7 @@ init python in project:
|
||||
def __init__(self, p=None):
|
||||
if p is None:
|
||||
self.project = current
|
||||
elif isinstance(p, basestring):
|
||||
elif isinstance(p, str):
|
||||
self.project = manager.get(p)
|
||||
else:
|
||||
self.project = p
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
new "{b}نقترح.{/b} محرر نص له واجهة سهلة الاستعمال ويعين على كتابة النصوص البرمجية يفضل برنامج يحتوي على مدقق لغوي. Editraحالياً لا يدعم اللغات الأجنبية مثل اللغه الكورية و الصينية و اليابانية. على نظام لينوكس, Editra يحتاج wxPython."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "قد يكون سبب ذلك ان wxPython غير موجود في نظام التشغيل لديك"
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -380,7 +380,7 @@
|
||||
new "مطلوب تحميل ملف بحجم 1.8 ميغا بايت."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "قد يكون السبب ان الجافا غير موجوده على هذا الجهاز."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -392,7 +392,7 @@
|
||||
new "يمنع رينباي من فتح اي محرر نصوص"
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "حصل استثناء اثناء فتح المحرر: \n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -608,7 +608,7 @@
|
||||
new "خطأ"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "حصل خطأ أثناء [what!qt]"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1136,7 +1136,7 @@
|
||||
new "أحدث نسخة طازجة من رينباي التجريبي, قد يحتوي على آخر مستجدات رينباي و قد لا يعمل مطلقاً"
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "حصل خطأ:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -929,7 +929,7 @@
|
||||
new "Spildataene er blevet hentet."
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "En fejl opstod under forsøg på hentning af spildata:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
|
||||
@@ -749,7 +749,7 @@
|
||||
new "Hentning af 1.8 MB påkrævet."
|
||||
|
||||
# game/editor.rpy:211
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Dette er muligvis opstået, fordi Java ikke er installeret på dette system."
|
||||
|
||||
# game/editor.rpy:220
|
||||
@@ -781,7 +781,7 @@
|
||||
new "Rediger [text]."
|
||||
|
||||
# game/editor.rpy:401
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "En undtagelse opstod under opstart af tekstbehandleren:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:533
|
||||
@@ -1073,7 +1073,7 @@
|
||||
new "åbner logfilen"
|
||||
|
||||
# game/interface.rpy:407
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "En fejl opstod under [what!qt]:"
|
||||
|
||||
# game/interface.rpy:407
|
||||
@@ -1753,7 +1753,7 @@
|
||||
new "%d. %B, %Y"
|
||||
|
||||
# game/updater.rpy:163
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "En fejl er opstået:"
|
||||
|
||||
# game/updater.rpy:165
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
new "{b}Suositeltu.{/b} Helppokäyttöinen beta-asteella oleva tekstieditori, joka sisältää kehitystä helpottavia toimintoja. Toistaiseksi Editrasta puuttuu täysin kiinalaisen, japanilaisen ja korealaisen tekstin kannatus."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Tämä saattoi tapahtua, koska wxPythonia ei ole asennettu järjestelmään."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -380,7 +380,7 @@
|
||||
new "1.8 MB lataus vaaditaan."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Tämä saattoi tapahtua, koska Javaa ei ole asennettu."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -392,7 +392,7 @@
|
||||
new "Estää Ren'Py-ohjelmaa avaamasta tekstieditoria."
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Virhe käynnistäessä tekstieditoria:\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -610,7 +610,7 @@
|
||||
new "VIRHE"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Kun [what!qt], tapahtui virhe:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1138,7 +1138,7 @@
|
||||
new "Upouudet Ren'Py-kehitysjulkaisut. Voi sisältää uusimmat toiminnot, tai ei ehkä toimi lainkaan."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "On tapahtunut virhe:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
new "{b}Recommandé.{/b} Un éditeur en version beta avec une interface simple et des fonctionnalités d’assistance au développement. Editra manque pour le moment du support pour les textes en chinois, japonais et coréen. Sur GNU-Linux, Editra nécessite wxPython."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Cela est sans doute dû au fait que wxPython n’est pas installé sur votre système."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -381,7 +381,7 @@
|
||||
new "1.8 Mo de téléchargement requis."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Cela est sans doute produit parce que Java n’est pas installé sur ce système."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -393,7 +393,7 @@
|
||||
new "Empêcher Ren’Py d’ouvrir un éditeur de texte."
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Une exception est survenue lors du lancement de l’éditeur de texte :\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -609,7 +609,7 @@
|
||||
new "ERREUR"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Pendant que [what!qt], une erreur est survenue :"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1177,7 +1177,7 @@
|
||||
new "Une version journalière qui corrige les bugs de la dernière version stable."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Une erreur est survenue :"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -376,7 +376,7 @@
|
||||
new "{b}Empfohlen.{/b} Ein Betaeditor mit einer leichten Benutzeroberfläche und Funktionen, die bei der Entwicklung helfen, wie eine Rechtschreibprüfung. Editra fehlt derzeit die Eingabemethode, die für Chinesisch, Japanisch und Koreanisch benötigt wird. Unter Linux benötigt Editra wxPython."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Dies ist vermutlich passiert, weil wxPython nicht auf Deinem System installiert ist."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -392,7 +392,7 @@
|
||||
new "1,8 MB benötigt."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Dies ist vermutlich passiert, weil Java nicht auf Deinem System installiert ist."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -404,7 +404,7 @@
|
||||
new "Verhindert, dass Ren'Py einen Texteditor öffnet."
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Ein Fehler ist beim Starten des Texteditors aufgetreten:\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -631,7 +631,7 @@
|
||||
new "FEHLER"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Während [what!qt] ist ein Fehler aufgetreten:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1193,7 +1193,7 @@
|
||||
new "Die allerneuste Ren'Py Version. Diese enthält die neusten Funktionen, könnte aber auch überhaupt nicht funktionieren."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Ein Fehler ist aufgetreten:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
|
||||
|
||||
translate german strings:
|
||||
|
||||
# screens.rpy:9
|
||||
|
||||
@@ -370,7 +370,7 @@
|
||||
new "{b}Συνιστάται.{/b} Ένας επεξεργαστής κειμένου σε έκδοση beta, με εύκολο περιβάλλον εργασίας και χαραχτηριστικά που σας βοηθούν, όπως π.χ. ορθογραφικό έλεγχο. Ο Editra προς το παρόν δεν υποστηρίζει IME για είσοδο κειμένου σε Κινέζικα, Ιαπωνέζικα και Κορεάτικα. Σε Linux ο Editra απαιτεί το wxPython."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Αυτό πιθανώς να συνέβη, διότι το wxPython δεν έχει εγκατασταθεί σε αυτό το σύστημα."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -386,7 +386,7 @@
|
||||
new "1.8 MB απαιτείται να κατέβει."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Αυτό πιθανώς να συνέβη, διότι η Java δεν έχει εγκατασταθεί σε αυτό το σύστημα."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -398,7 +398,7 @@
|
||||
new "Εμποδίζει τη Ren'Py να ανοίξει επεξεργαστή κειμένου."
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Μια προγραμματιστική εξαίρεση συνέβει κατά την εκκίνηση του επεξεργαστή κειμένου:\n[exception!q] "
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -624,7 +624,7 @@
|
||||
new "ΣΦΑΛΜΑ"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Ενόσω [what!qt], συνέβη ένα σφάλμα:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1179,7 +1179,7 @@
|
||||
new "Η απόλυτη νεώτερη έκδοση της Ren'Py. Μπορεί να έχει τα πιο νέα χαρακτηριστικά, αλλά να μη μπορέι καν να φορτώσει."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Ένα σφάλμα συνέβη:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -366,7 +366,7 @@
|
||||
new "{b}Di Rekomendasikan.{/b} Editor dengan interface yang mudah untuk di gunakan dan fitur yang sesuai dengan development . Saat ini Editra belum mendukung text input IME yang di butuhkan untuk bahasa Cina,Jepang Dan Korea. Pada Linux, Editra memerlikan wxPython."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Ini mungkin terjadi karena wxPython tidak terpasang di sistem ini."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -382,7 +382,7 @@
|
||||
new "1.8 MB download di butuhkan."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Ini mungkin terjadi karena Java tidak terpasang di sistem ini."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -394,7 +394,7 @@
|
||||
new "Larang Ren''Py untuk membuka editor text."
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Kesalahan terjadi ketika menjalankan editor text: \n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -612,7 +612,7 @@
|
||||
new "KESALAHAN"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Kesalahan terjadi ketika : [what!qt] adalah :"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1146,7 +1146,7 @@
|
||||
new "Update terbaru dari pengembangan Ren'Py. Ini mungikin mempunyai fitur terbaru. Bahkan tidak jalan sama sekali."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Kesalahan telah terjadi:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -365,7 +365,7 @@
|
||||
new "{b}Raccomandato.{/b} Un editor in fase Beta con un'interfaccia facile da usare e funzionalità adatte allo sviluppo come il controllo ortografico. Editra al momento non offre il supporto IMO richiesto per Cinese, Giapponese e Coreano e richiede wxPython su Linux."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Potrebbe essersi verificato per via dell'assenza di wxPython su questo sistema."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -381,7 +381,7 @@
|
||||
new "Verranno scaricati 1.8 MB."
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Potrebbe essersi verificato per l'assenza di Java su questo sistema."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -393,7 +393,7 @@
|
||||
new "Impedisce a Ren'Py di aprire un editor di testo."
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Si è verificata un'eccezione durante il lancio dell'editor:\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -609,7 +609,7 @@
|
||||
new "ERRORE"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Durante [what!qt], si è verificato un errore:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1141,7 +1141,7 @@
|
||||
new "La versione più recente di Ren'Py. Potrebbe avere maggiori funzionalità come anche non funzionare affatto."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Si è verificato un errore:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -969,7 +969,7 @@ translate japanese strings:
|
||||
new "ゲームデータがダウンロードされました"
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "ゲームデータダウンロード中にエラーが発生しました:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
new "{b}推奨{/b} 使いやすいインターフェースと、スペルチュックのような開発を補助する機能を持つベータエディターです。Editra は現在、中国、韓国、日本語の入力に必要な IME のサポートに欠陥があります。Linux では Editra は wxpython を必要とします。"
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "このエラーは wxPython がこのシステムにインストールされていないため発生したと思われます。"
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -380,7 +380,7 @@
|
||||
new "1.8 MB のダウンロードが必要です。"
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "このエラーは Java がこのシステムにインストールされていないため発生しましたと思われます。"
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -392,7 +392,7 @@
|
||||
new "Ren'Py のテキストエディターの実行を停止します。"
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "テキストエディターの選択中にエラーが発生しました:\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -608,7 +608,7 @@
|
||||
new "エラー"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "[what!qt] 中にエラーが発生しました:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1136,7 +1136,7 @@
|
||||
new "Ren'Py の開発版で極めて不安定です。このバージョンには最新の機能が含まれていますが、全く動かないかもしれません。"
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "エラーが発生しました。"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -624,7 +624,7 @@
|
||||
new "에디트라(Editra)는 현재 중국어, 일본어, 한국어 텍스트를 입력할 때 필요한 IME를 지원하지 않습니다. 리눅스에서, 에디트라는 wxPython이 필요합니다."
|
||||
|
||||
# game/editor.rpy:195
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "wxPython이 설치되지 않아 문제가 발생했을 가능성이 있습니다."
|
||||
|
||||
# game/editor.rpy:197
|
||||
@@ -640,7 +640,7 @@
|
||||
new "1.8MB 내려받기 필요."
|
||||
|
||||
# game/editor.rpy:210
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "자바(Java)가 설치되지 않아 문제가 발생했을 수도 있습니다."
|
||||
|
||||
# game/editor.rpy:219
|
||||
@@ -664,7 +664,7 @@
|
||||
new "[text] 편집."
|
||||
|
||||
# game/editor.rpy:387
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "스크립트 에디터를 실행하던 도중 예외가 발생했습니다:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:519
|
||||
@@ -1480,7 +1480,7 @@
|
||||
new "%Y년 %m월 %d일"
|
||||
|
||||
# game/updater.rpy:140
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "오류가 발생했습니다:"
|
||||
|
||||
# game/updater.rpy:142
|
||||
@@ -1532,7 +1532,7 @@
|
||||
new "다음으로"
|
||||
|
||||
# game/interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "[what!qt]에 오류가 발생했습니다:"
|
||||
|
||||
# game/interface.rpy:394
|
||||
|
||||
@@ -384,7 +384,7 @@
|
||||
new "Penyunting matang. Editra tiada sokongan IME yang diperlukan untuk input tulisan bahasa Cina, Jepun, dan Korea. Di Linux, Editra memerlukan wxPython."
|
||||
|
||||
# editor.rpy:195
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Ini mungkin berlaku kerana wxPython tidak dipasangkan di sistem ini."
|
||||
|
||||
# editor.rpy:197
|
||||
@@ -400,7 +400,7 @@
|
||||
new "1.8 MB muat turun diperlukan."
|
||||
|
||||
# editor.rpy:210
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Ini munhkin berlaku kerana Java tidak dipasangkan di sistem ini."
|
||||
|
||||
# editor.rpy:219
|
||||
@@ -424,7 +424,7 @@
|
||||
new "Sunting [text]"
|
||||
|
||||
# editor.rpy:387
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Telah berlakunya pengecualian ralat ketika melancarkan penyunting tulisan:\n[exception!q]"
|
||||
|
||||
# editor.rpy:519
|
||||
@@ -1216,7 +1216,7 @@
|
||||
new "Penjujuhan pinggir pembangunan Ren'Py. Ini mungkin ada ciri-ciri paling baru, atau mungkin tak boleh dijalankan langsung."
|
||||
|
||||
# updater.rpy:158
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Telah berlakunya ralat:"
|
||||
|
||||
# updater.rpy:160
|
||||
|
||||
@@ -942,7 +942,7 @@ translate piglatin strings:
|
||||
new "Hetay amegay ataday ashay eenbay ownloadedday."
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "Naay erroray occureday henway yingtray otay ownloadday amegay ataday:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
|
||||
@@ -730,7 +730,7 @@ translate piglatin strings:
|
||||
new "1.8 Bmay ownloadday equiredray."
|
||||
|
||||
# game/editor.rpy:214
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Histay aymay avehay occureday ecausebay Avajay isay otnay installeday onay histay ystemsay."
|
||||
|
||||
# game/editor.rpy:228
|
||||
@@ -762,7 +762,7 @@ translate piglatin strings:
|
||||
new "Diteay [text]."
|
||||
|
||||
# game/editor.rpy:409
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Naay exceptionay occureday hileway aunchinglay hetay exttay editoray:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:541
|
||||
@@ -1070,7 +1070,7 @@ translate piglatin strings:
|
||||
new "openingay hetay oglay ilefay"
|
||||
|
||||
# game/interface.rpy:407
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Hileway [what!qt], anay erroray occureday:"
|
||||
|
||||
# game/interface.rpy:407
|
||||
@@ -1778,7 +1778,7 @@ translate piglatin strings:
|
||||
new "%Bay %day, %Yay"
|
||||
|
||||
# game/updater.rpy:162
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Naay erroray ashay occureday:"
|
||||
|
||||
# game/updater.rpy:164
|
||||
|
||||
@@ -632,7 +632,7 @@
|
||||
new "Wymagane pobieranie 1,8 MB."
|
||||
|
||||
# game/editor.rpy:177
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Problem powstał prawdopodobnie przez brak zainstalowanego oprogramowania Java na tym systemie."
|
||||
|
||||
# game/editor.rpy:186
|
||||
@@ -656,7 +656,7 @@
|
||||
new "Edytuj [text]."
|
||||
|
||||
# game/editor.rpy:354
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Wystąpił wyjątek podczas uruchamiania edytora tekstu:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:486
|
||||
@@ -965,7 +965,7 @@
|
||||
new "Otwieranie pliku dziennika"
|
||||
|
||||
# game/interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Podczas [what!qt], wystąpił błąd:"
|
||||
|
||||
# game/interface.rpy:394
|
||||
@@ -1553,7 +1553,7 @@
|
||||
new "%B %d, %Y"
|
||||
|
||||
# game/updater.rpy:140
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Wystąpił błąd:"
|
||||
|
||||
# game/updater.rpy:142
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
new "{b}Recomendado.{/b} Um editor beta com uma interface fácil para uso e características que ajudam no desenvolvimento, como correção ortográfica. Editra atualmente carece do suporte IME necessário para textos em Chinês, Japonês e Coreano. No Linux, Editra necessita do wxPython."
|
||||
|
||||
# game/editor.rpy:137
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Isto pode ter ocorrido porque wxPython não está instalado neste sistema."
|
||||
|
||||
# game/editor.rpy:144
|
||||
@@ -28,7 +28,7 @@
|
||||
new "Downlod de 1.8 MB é necessário."
|
||||
|
||||
# game/editor.rpy:158
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Isto pode ter ocorrido porque Java não está instalado neste sistema"
|
||||
|
||||
# option: "System Editor"
|
||||
@@ -52,8 +52,8 @@
|
||||
new "Evita que Ren'Py abra um editor de texto."
|
||||
|
||||
# game/editor.rpy:327
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
new "Ocorreu uma exceção ao executar o editor de texto:\[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Ocorreu uma exceção ao executar o editor de texto:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:423
|
||||
old "Select Editor"
|
||||
|
||||
@@ -62,7 +62,7 @@
|
||||
new "ERRO"
|
||||
|
||||
# game/interface.rpy:328
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Enquanto [what!qt], ocorreu um erro:"
|
||||
|
||||
# game/interface.rpy:329
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
new "Última versão, ainda instavél, do Ren'Py. Pode ter as últimas características ou pode não funcionar de vez."
|
||||
|
||||
# game/updater.rpy:119
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Um erro ocorreu:"
|
||||
|
||||
# game/updater.rpy:121
|
||||
|
||||
@@ -1144,7 +1144,7 @@ translate russian strings:
|
||||
new "Данные игры загружены."
|
||||
|
||||
# renpy/common/00updater.rpy:2077
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "При попытке загрузить данные игры произошла ошибка:"
|
||||
|
||||
# renpy/common/00updater.rpy:2082
|
||||
|
||||
@@ -624,7 +624,7 @@
|
||||
new "Старый, проверенный бета-редактор. Editra на данный момент не поддерживает IME, необходимые для ввода Китайского, Японского и Корейского текстов. На Linux, Editra требует wxPython."
|
||||
|
||||
# editor.rpy:195
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Это могло случиться из-за того, что wxPython не установлен на этой системе."
|
||||
|
||||
# editor.rpy:197
|
||||
@@ -640,7 +640,7 @@
|
||||
new "Требуется скачать 1.8 МБ."
|
||||
|
||||
# editor.rpy:210
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Это могло случиться из-за того, что Java не установлена в данной системе."
|
||||
|
||||
# editor.rpy:219
|
||||
@@ -664,7 +664,7 @@
|
||||
new "Редактировать [text]"
|
||||
|
||||
# editor.rpy:387
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Возникла ошибка при запуске текстового редактора:\n[exception!q]"
|
||||
|
||||
# editor.rpy:519
|
||||
@@ -1457,7 +1457,7 @@
|
||||
new "%d %B %Y года"
|
||||
|
||||
# updater.rpy:140
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Возникла ошибка:"
|
||||
|
||||
# updater.rpy:142
|
||||
@@ -1525,7 +1525,7 @@
|
||||
new "(Бета)"
|
||||
|
||||
# interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "В процессе выполнения \"[what!qt]\" произошла ошибка:"
|
||||
|
||||
# interface.rpy:394
|
||||
@@ -1874,7 +1874,7 @@
|
||||
|
||||
# game/androidstrings.rpy:43
|
||||
old "I was unable to use javac to compile a test file. If you haven't installed the Java Development Kit yet, please download it from:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nThe JDK is different from the JRE, so it's possible you have Java without having the JDK. Please make sure you installed the 'JavaSoft (Oracle) registry keys'.\n\nWithout a working JDK, I can't continue."
|
||||
new "Не удалось использовать javac для компиляции тестового файла. Если вы еще не установили Java Development Kit, загрузите его с:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\JDK отличается от JRE, поэтому возможно, что у вас есть Java без JDK. Пожалуйста, убедитесь, что вы установили 'переменные окружения JavaSoft (Oracle)'.\n\nБез работающего JDK я не могу продолжать."
|
||||
new "Не удалось использовать javac для компиляции тестового файла. Если вы еще не установили Java Development Kit, загрузите его с:\n\n{a=https://adoptium.net/?variant=openjdk8}https://adoptium.net/?variant=openjdk8{/a}\n\nJDK отличается от JRE, поэтому возможно, что у вас есть Java без JDK. Пожалуйста, убедитесь, что вы установили 'переменные окружения JavaSoft (Oracle)'.\n\nБез работающего JDK я не могу продолжать."
|
||||
|
||||
# game/androidstrings.rpy:64
|
||||
old "I've opened the directory containing android.keystore and bundle.keystore. Please back them up, and keep them in a safe place."
|
||||
|
||||
@@ -1129,7 +1129,7 @@
|
||||
new "游戏数据已下载"
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "尝试下载游戏数据时发生错误:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
|
||||
@@ -697,7 +697,7 @@
|
||||
new "需要下载 1.8 MB 的文件。"
|
||||
|
||||
# game/editor.rpy:200
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "这可能是由于您的系统中尚未安装 Java 造成的。"
|
||||
|
||||
# game/editor.rpy:209
|
||||
@@ -729,7 +729,7 @@
|
||||
new "编辑 [text]。"
|
||||
|
||||
# game/editor.rpy:390
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "启动编辑器时发生异常:\n[exception!q]"
|
||||
|
||||
# game/editor.rpy:522
|
||||
@@ -1037,7 +1037,7 @@
|
||||
new "打开日志文件"
|
||||
|
||||
# game/interface.rpy:399
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "[what!qt]时出错:"
|
||||
|
||||
# game/interface.rpy:399
|
||||
@@ -1697,7 +1697,7 @@
|
||||
new "%Y-%m-%d"
|
||||
|
||||
# game/updater.rpy:157
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "发生错误:"
|
||||
|
||||
# game/updater.rpy:159
|
||||
|
||||
@@ -884,7 +884,7 @@ translate spanish strings:
|
||||
|
||||
# renpy/common/00sync.rpy:593
|
||||
old "You can use this ID to download your save on another device.\nThis sync will expire in an hour.\nRen'Py Sync is supported by {a=https://www.renpy.org/sponsors.html}Ren'Py's Sponsors{/a}."
|
||||
new "Puede usar esta ID para descargar su guardado en otro dispositivo.\nEsta sincronización caducará en una hora.\RenPy Sync está para {a=https://www.renpy.org/sponsors.html}los patrocinadores de Ren'Py{/a}."
|
||||
new "Puede usar esta ID para descargar su guardado en otro dispositivo.\nEsta sincronización caducará en una hora.\nRenPy Sync está para {a=https://www.renpy.org/sponsors.html}los patrocinadores de Ren'Py{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:619
|
||||
old "Sync Error"
|
||||
@@ -943,7 +943,7 @@ translate spanish strings:
|
||||
new "Descarga de los datos del juego."
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "Se ha producido un error al intentar descargar los datos del juego:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
|
||||
@@ -384,7 +384,7 @@
|
||||
new "Un editor maduro. Editra carece de soporte IME, necesario para el texto en chino, japonés y coreano. En Linux, Editra necesita wxPython."
|
||||
|
||||
# editor.rpy:195
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Esto puede haber ocurrido porque wxPython no está instalado en este sistema."
|
||||
|
||||
# editor.rpy:197
|
||||
@@ -400,7 +400,7 @@
|
||||
new "Requiere descargar 1.8 MB."
|
||||
|
||||
# editor.rpy:210
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Esto puede haber ocurrido porque Java no está instalado en este sistema"
|
||||
|
||||
# editor.rpy:219
|
||||
@@ -424,7 +424,7 @@
|
||||
new "Editar [text]."
|
||||
|
||||
# editor.rpy:387
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Ha ocurrido una excepción mientras se ejecutaba el editor de texto:\\[exception!q]"
|
||||
|
||||
# editor.rpy:519
|
||||
@@ -1216,7 +1216,7 @@
|
||||
new "Versión de desarrollo de Ren'Py. Puede tener las últimas características o puede no funcionar."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Ha sucedido un error:"
|
||||
|
||||
# updater.rpy:154
|
||||
@@ -1568,7 +1568,7 @@
|
||||
new "abriendo el archivo de registro"
|
||||
|
||||
# game/interface.rpy:394
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Mientras que [what!qt], ocurrió un error:"
|
||||
|
||||
# game/interface.rpy:394
|
||||
|
||||
@@ -738,7 +738,7 @@ translate tchinese strings:
|
||||
new "遊戲資料已下載。"
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occured when trying to download game data:"
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "嘗試下載遊戲資料時發生錯誤:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
new "{b}推薦{/b} 一個有簡單易用的介面和功能的測試版編輯器能夠幫助開發,例如拼字的校對功能。Editra 現在沒有中文,日文,韓文的輸入功能。在 linux 中 Editra 需要 wxPython(模組支援)。"
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "這可能是因為 wxPython 沒有被安裝在當前系統中而發生的。"
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -380,7 +380,7 @@
|
||||
new "1.8 MB 需要下載。"
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "這可能是因為 Java 沒有被安裝在當前系統中而發生的。"
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -392,7 +392,7 @@
|
||||
new "防止 Ren'Py 開啟文字編輯器。"
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "啟動以下編輯器出現異常:\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -608,7 +608,7 @@
|
||||
new "錯誤"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "[what!qt] 時,出現錯誤:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1136,7 +1136,7 @@
|
||||
new "Ren'Py 最新的開發版本。這可能會擁有最新的功能,或可能根本無法運作。"
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "一個錯誤發生:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -620,7 +620,7 @@
|
||||
new "Gelişmiş bir düzenleyici. Editra; Çince, Japonca ve Korece metin girişi için gerekli olan IME desteğinden yoksundur. Linux'ta Editra wxPython gerektirir."
|
||||
|
||||
# editor.rpy:195
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Bu sistemde wxPython kurulu olmadığı için olabilir."
|
||||
|
||||
# editor.rpy:197
|
||||
@@ -636,7 +636,7 @@
|
||||
new "1.8 MB indirme gerekir."
|
||||
|
||||
# editor.rpy:210
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Bunun sebebi sistemde Java kurulu olmaması olabilir."
|
||||
|
||||
# editor.rpy:219
|
||||
@@ -660,7 +660,7 @@
|
||||
new "Düzenle [text]."
|
||||
|
||||
# editor.rpy:387
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Metin düzenleyicisini başlatırken bir hata oluştu:\n[exception!q]"
|
||||
|
||||
# editor.rpy:519
|
||||
@@ -896,7 +896,7 @@
|
||||
new "HATA"
|
||||
|
||||
# interface.rpy:394
|
||||
old "While [what!q], an error occured:"
|
||||
old "While [what!q], an error occurred:"
|
||||
new "[what!q] sırasında bir hata meydana geldi:"
|
||||
|
||||
# interface.rpy:394
|
||||
@@ -1465,7 +1465,7 @@
|
||||
new "B %d, %Y"
|
||||
|
||||
# updater.rpy:140
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Bir hata meydana geldi:"
|
||||
|
||||
# updater.rpy:142
|
||||
@@ -1913,7 +1913,7 @@ translate turkish strings:
|
||||
new "günlük dosyasının açılması"
|
||||
|
||||
# game/interface.rpy:407
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
# Automatic translation.
|
||||
new "[what!qt] adresindeyken bir hata oluştu:"
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00action_file.rpy:240
|
||||
old "%b %d, %H:%M"
|
||||
new "%b %d, %H:%M"
|
||||
new "%d %b, %H:%M"
|
||||
|
||||
# 00action_file.rpy:353
|
||||
old "Save slot %s: [text]"
|
||||
@@ -207,7 +207,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:708
|
||||
old "The interactive director is not enabled here."
|
||||
new "Інтерактивний режисер тут не ввімкнений."
|
||||
new "Інтерактивний режисер тут не ввімкнено."
|
||||
|
||||
# 00director.rpy:1481
|
||||
old "⬆"
|
||||
@@ -223,7 +223,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:1561
|
||||
old "(statement)"
|
||||
new "(функція)"
|
||||
new "(оператор)"
|
||||
|
||||
# 00director.rpy:1562
|
||||
old "(tag)"
|
||||
@@ -235,7 +235,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:1564
|
||||
old "(transform)"
|
||||
new "(трансформація)"
|
||||
new "(перетворення)"
|
||||
|
||||
# 00director.rpy:1589
|
||||
old "(transition)"
|
||||
@@ -247,7 +247,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:1602
|
||||
old "(filename)"
|
||||
new "(ім’я файла)"
|
||||
new "(назва файлу)"
|
||||
|
||||
# 00director.rpy:1631
|
||||
old "Change"
|
||||
@@ -267,7 +267,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:1674
|
||||
old "Statement:"
|
||||
new "Функція:"
|
||||
new "Оператор:"
|
||||
|
||||
# 00director.rpy:1695
|
||||
old "Tag:"
|
||||
@@ -279,7 +279,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:1729
|
||||
old "Transforms:"
|
||||
new "Трансформації:"
|
||||
new "Перетворення:"
|
||||
|
||||
# 00director.rpy:1748
|
||||
old "Behind:"
|
||||
@@ -295,7 +295,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00director.rpy:1803
|
||||
old "Audio Filename:"
|
||||
new "Ім’я аудіофайлу::"
|
||||
new "Назва аудіофайлу:"
|
||||
|
||||
# 00gui.rpy:370
|
||||
old "Are you sure?"
|
||||
@@ -311,7 +311,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00gui.rpy:373
|
||||
old "Loading will lose unsaved progress.\nAre you sure you want to do this?"
|
||||
new "Завантаження гри приведе до втрати незбереженого прогресу.\nВи дійсно бажаєте це зробити?"
|
||||
new "Завантаження призведе до втрати незбереженого поступу.\nВи дійсно бажаєте продовжити?"
|
||||
|
||||
# 00gui.rpy:374
|
||||
old "Are you sure you want to quit?"
|
||||
@@ -319,7 +319,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00gui.rpy:375
|
||||
old "Are you sure you want to return to the main menu?\nThis will lose unsaved progress."
|
||||
new "Ви дійсно бажаєте повернутися до головного меню?\nЦе призведе до втрати незбереженого прогресу."
|
||||
new "Ви дійсно бажаєте повернутися до головного меню?\nЦя дія призведе до втрати незбереженого поступу."
|
||||
|
||||
# 00gui.rpy:376
|
||||
old "Are you sure you want to end the replay?"
|
||||
@@ -331,7 +331,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00gui.rpy:378
|
||||
old "Are you sure you want to skip to the next choice?"
|
||||
new "Ви дійсно бажаєте пропустити все до наступного вибору?"
|
||||
new "Ви дійсно бажаєте пропускати до наступного вибору?"
|
||||
|
||||
# 00gui.rpy:379
|
||||
old "Are you sure you want to skip unseen dialogue to the next choice?"
|
||||
@@ -351,7 +351,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00library.rpy:147
|
||||
old "Clipboard voicing enabled. "
|
||||
new "Озвучення буфера обміну увімкнено."
|
||||
new "Озвучення буфера обміну ввімкнено."
|
||||
|
||||
# 00library.rpy:148
|
||||
old "Self-voicing enabled. "
|
||||
@@ -371,11 +371,11 @@ translate ukrainian strings:
|
||||
|
||||
# 00library.rpy:153
|
||||
old "horizontal scroll"
|
||||
new "горизонтальне прокручування"
|
||||
new "горизонтальна прокрутка"
|
||||
|
||||
# 00library.rpy:154
|
||||
old "vertical scroll"
|
||||
new "вертикальне прокручування"
|
||||
new "вертикальна прокрутка"
|
||||
|
||||
# 00library.rpy:155
|
||||
old "activate"
|
||||
@@ -411,7 +411,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:228
|
||||
old "skip transitions"
|
||||
new "пропустити переходи"
|
||||
new "пропускати переходи"
|
||||
|
||||
# 00preferences.rpy:230
|
||||
old "video sprites"
|
||||
@@ -423,7 +423,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:248
|
||||
old "text speed"
|
||||
new "швидкість тексту"
|
||||
new "швидкість друку тексту"
|
||||
|
||||
# 00preferences.rpy:256
|
||||
old "joystick"
|
||||
@@ -435,19 +435,19 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:263
|
||||
old "skip"
|
||||
new "пропустити"
|
||||
new "пропускати"
|
||||
|
||||
# 00preferences.rpy:266
|
||||
old "skip unseen [text]"
|
||||
new "пропустити весь [text]"
|
||||
new "пропускати весь [text]"
|
||||
|
||||
# 00preferences.rpy:271
|
||||
old "skip unseen text"
|
||||
new "пропускати увесь текст"
|
||||
new "пропускати весь текст"
|
||||
|
||||
# 00preferences.rpy:273
|
||||
old "begin skipping"
|
||||
new "почати пропускати"
|
||||
new "почати пропуск"
|
||||
|
||||
# 00preferences.rpy:277
|
||||
old "after choices"
|
||||
@@ -471,7 +471,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:310
|
||||
old "auto-forward after click"
|
||||
new "перемотка після дотику"
|
||||
new "перемотка після клацу"
|
||||
|
||||
# 00preferences.rpy:319
|
||||
old "automatic move"
|
||||
@@ -479,7 +479,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:328
|
||||
old "wait for voice"
|
||||
new "чекати голос"
|
||||
new "чекати на голос"
|
||||
|
||||
# 00preferences.rpy:337
|
||||
old "voice sustain"
|
||||
@@ -495,7 +495,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:364
|
||||
old "debug voicing"
|
||||
new "режим налагодження синтезу мови"
|
||||
new "налагоджувальне озвучення"
|
||||
|
||||
# 00preferences.rpy:373
|
||||
old "emphasize audio"
|
||||
@@ -507,7 +507,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:392
|
||||
old "gl powersave"
|
||||
new "економія енергії"
|
||||
new "енергозбереження"
|
||||
|
||||
# 00preferences.rpy:398
|
||||
old "gl framerate"
|
||||
@@ -523,7 +523,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:414
|
||||
old "sound volume"
|
||||
new "гучність звук. ефектів"
|
||||
new "гучність звукових ефектів"
|
||||
|
||||
# 00preferences.rpy:415
|
||||
old "voice volume"
|
||||
@@ -535,7 +535,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:417
|
||||
old "mute sound"
|
||||
new "без звук. ефектів"
|
||||
new "без звукових ефектів"
|
||||
|
||||
# 00preferences.rpy:418
|
||||
old "mute voice"
|
||||
@@ -547,19 +547,19 @@ translate ukrainian strings:
|
||||
|
||||
# 00preferences.rpy:500
|
||||
old "Clipboard voicing enabled. Press 'shift+C' to disable."
|
||||
new "Озвучення буфера обміну увімкнено. Натисніть 'shift+C', щоб вимкнути."
|
||||
new "Озвучення буфера обміну ввімкнено. Натисніть «Shift+C», щоб вимкнути."
|
||||
|
||||
# 00preferences.rpy:502
|
||||
old "Self-voicing would say \"[renpy.display.tts.last]\". Press 'alt+shift+V' to disable."
|
||||
new "Синтез мовлення має сказати \"[renpy.display.tts.last]\". Натисніть 'alt+shift+V', щоб вимкнути."
|
||||
new "Синтез мовлення сказав би «[renpy.display.tts.last]». Натисніть «Alt+Shift+V», щоб вимкнути."
|
||||
|
||||
# 00preferences.rpy:504
|
||||
old "Self-voicing enabled. Press 'v' to disable."
|
||||
new "Синтез мовлення увімкнено. Натисніть 'v', щоб вимкнути його."
|
||||
new "Синтез мовлення увімкнено. Натисніть «V», щоб вимкнути."
|
||||
|
||||
# _compat\gamemenu.rpym:198
|
||||
old "Empty Slot."
|
||||
new "Порожній комірка."
|
||||
new "Порожня комірка."
|
||||
|
||||
# _compat\gamemenu.rpym:355
|
||||
old "Previous"
|
||||
@@ -595,7 +595,7 @@ translate ukrainian strings:
|
||||
|
||||
# _developer\developer.rpym:51
|
||||
old "Image Location Picker"
|
||||
new "Вибір розташування зображень"
|
||||
new "Вибирач розташування зображень"
|
||||
|
||||
# _developer\developer.rpym:53
|
||||
old "Filename List"
|
||||
@@ -603,15 +603,15 @@ translate ukrainian strings:
|
||||
|
||||
# _developer\developer.rpym:57
|
||||
old "Show Image Load Log (F4)"
|
||||
new "Показати журнал завант. зображень (F4)"
|
||||
new "Показати панель завантаження зображень (F4)"
|
||||
|
||||
# _developer\developer.rpym:60
|
||||
old "Hide Image Load Log (F4)"
|
||||
new "Сховати журнал завант. зображень (F4)"
|
||||
new "Сховати панель завантаження зображень (F4)"
|
||||
|
||||
# _developer\developer.rpym:63
|
||||
old "Image Attributes"
|
||||
new "Атрибути зображення"
|
||||
new "Атрибути зображень"
|
||||
|
||||
# _developer\developer.rpym:90
|
||||
old "[name] [attributes] (hidden)"
|
||||
@@ -639,7 +639,7 @@ translate ukrainian strings:
|
||||
|
||||
# _developer\developer.rpym:435
|
||||
old "Right-click or escape to quit."
|
||||
new "Натисніть ПКМ або Escape, щоб вийти."
|
||||
new "Натисніть ПКМ або ESC, щоб вийти."
|
||||
|
||||
# _developer\developer.rpym:467
|
||||
old "Rectangle copied to clipboard."
|
||||
@@ -655,11 +655,11 @@ translate ukrainian strings:
|
||||
|
||||
# _developer\developer.rpym:617
|
||||
old "Textures: [tex_count] ([tex_size_mb:.1f] MB)"
|
||||
new "Текстури: [tex_count] ([tex_size_mb:.1f] Мб)"
|
||||
new "Текстури: [tex_count] ([tex_size_mb:.1f] МБ)"
|
||||
|
||||
# _developer\developer.rpym:621
|
||||
old "Image cache: [cache_pct:.1f]% ([cache_size_mb:.1f] MB)"
|
||||
new "Кеш зображень: [cache_pct:.1f]% ([cache_size_mb:.1f] Мб)"
|
||||
new "Кеш зображень: [cache_pct:.1f]% ([cache_size_mb:.1f] МБ)"
|
||||
|
||||
# _developer\developer.rpym:631
|
||||
old "✔ "
|
||||
@@ -671,7 +671,7 @@ translate ukrainian strings:
|
||||
|
||||
# _developer\developer.rpym:639
|
||||
old "\n{color=#cfc}✔ predicted image (good){/color}\n{color=#fcc}✘ unpredicted image (bad){/color}\n{color=#fff}Drag to move.{/color}"
|
||||
new "\n{color=#cfc}✔ передбачене зображення (добре){/color}\n{color=#fcc}✘ раптове зображення (погано){/color}\n{color=#fff}Перетягніть, щоб перемістити.{/color}"
|
||||
new "\n{color=#cfc}✔ передбачене зображення (добре){/color}\n{color=#fcc}✘ непередбачене зображення (погано){/color}\n{color=#fff}Перетягніть для пересування.{/color}"
|
||||
|
||||
# _developer\inspector.rpym:38
|
||||
old "Displayable Inspector"
|
||||
@@ -699,7 +699,7 @@ translate ukrainian strings:
|
||||
|
||||
# _developer\inspector.rpym:145
|
||||
old " (no properties affect the displayable)"
|
||||
new " (на об’єкт не впливають жодні параметри)"
|
||||
new " (на об’єкт не впливають жодні властивості)"
|
||||
|
||||
# _developer\inspector.rpym:147
|
||||
old " (default properties omitted)"
|
||||
@@ -767,7 +767,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00updater.rpy:1452
|
||||
old "[u.version] is available. Do you want to install it?"
|
||||
new "[u.version] доступно. Бажаєте її встановити?"
|
||||
new "[u.version] доступно. Бажаєте її установити?"
|
||||
|
||||
# 00updater.rpy:1454
|
||||
old "Preparing to download the updates."
|
||||
@@ -783,7 +783,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00updater.rpy:1462
|
||||
old "The updates have been installed. The program will restart."
|
||||
new "Оновлення встановлено. Програма буде перезапущена."
|
||||
new "Оновлення було встановлено. Програму буде перезапущено."
|
||||
|
||||
# 00updater.rpy:1464
|
||||
old "The updates have been installed."
|
||||
@@ -823,11 +823,11 @@ translate ukrainian strings:
|
||||
|
||||
# 00accessibility.rpy:76
|
||||
old "Font Override"
|
||||
new "Замінити шрифт"
|
||||
new "Перевизначення шрифту"
|
||||
|
||||
# 00accessibility.rpy:80
|
||||
old "Default"
|
||||
new "Стандратний"
|
||||
new "Стандартний"
|
||||
|
||||
# 00accessibility.rpy:84
|
||||
old "DejaVu Sans"
|
||||
@@ -859,7 +859,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00accessibility.rpy:125
|
||||
old "Text-to-speech"
|
||||
new "Перетворення тексту в мовлення"
|
||||
new "Текст-у-мовлення"
|
||||
|
||||
# 00accessibility.rpy:129
|
||||
old "Clipboard"
|
||||
@@ -879,7 +879,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:191
|
||||
old "The options on this menu are intended to improve accessibility. They may not work with all games, and some combinations of options may render the game unplayable. This is not an issue with the game or engine. For the best results when changing fonts, try to keep the text size the same as it originally was."
|
||||
new "Параметри цього меню призначені для покращення доступності. Вони можуть працювати не з усіма іграми, а деякі комбінації параметрів можуть зробити гру неможливою для гри. Це не є проблемою гри або рушія. Для досягнення найкращих результатів при зміні шрифтів намагайтеся зберігати розмір тексту таким, яким він був спочатку."
|
||||
new "Параметри цього меню призначені для покращення доступності. Вони можуть працювати не з усіма іграми, а деякі комбінації параметрів можуть зробити гру неможливою для гри. Це не є проблемою гри або рушія. Для отримання кращих результатів при зміні шрифтів намагайтеся зберігати розмір тексту таким, яким він був спочатку."
|
||||
|
||||
# renpy/common/00accessibility.rpy:193
|
||||
old "Self-Voicing Volume Drop"
|
||||
@@ -919,7 +919,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00preferences.rpy:535
|
||||
old "mute main"
|
||||
new "без основи"
|
||||
new "без основної гучності"
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
@@ -941,11 +941,11 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00director.rpy:1768
|
||||
old "Click to set transform, right click to add to transform list."
|
||||
new "Натисніть, щоб встановити трансформацію, натисніть ПКМ, щоб додати до списку трансформацій."
|
||||
new "Натисніть, щоб установити перетворення, клацніть ПКМ, щоб додати до списку перетворень."
|
||||
|
||||
# renpy/common/00director.rpy:1789
|
||||
old "Click to set, right click to add to behind list."
|
||||
new "Натисніть, щоб встановити, натисніть ПКМ, щоб додати до списку."
|
||||
new "Натисніть, щоб установити, клацніть ПКМ, щоб додати до списку."
|
||||
|
||||
# renpy/common/00gui.rpy:456
|
||||
old "This save was created on a different device. Maliciously constructed save files can harm your computer. Do you trust this save's creator and everyone who could have changed the file?"
|
||||
@@ -953,7 +953,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00gui.rpy:457
|
||||
old "Do you trust the device the save was created on? You should only choose yes if you are the device's sole user."
|
||||
new "Чи довіряєте ви пристрою, на якому було створено збереження? Ви повинні вибрати «Так», тільки якщо ви є єдиним користувачем пристрою."
|
||||
new "Чи довіряєте ви пристрою, на якому було створено збереження? Ви повинні натиснути «Так», лише якщо ви є єдиним користувачем пристрою."
|
||||
|
||||
# renpy/common/00preferences.rpy:528
|
||||
old "audio when unfocused"
|
||||
@@ -961,7 +961,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00preferences.rpy:537
|
||||
old "web cache preload"
|
||||
new "попер. завантаження вебкешу"
|
||||
new "попереднє завантаження вебкешу"
|
||||
|
||||
# renpy/common/00preferences.rpy:552
|
||||
old "voice after game menu"
|
||||
@@ -973,7 +973,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00speechbubble.rpy:349
|
||||
old "(hide)"
|
||||
new "(приховати)"
|
||||
new "(сховати)"
|
||||
|
||||
# renpy/common/00sync.rpy:70
|
||||
old "Sync downloaded."
|
||||
@@ -985,7 +985,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00sync.rpy:192
|
||||
old "The Ren'Py Sync server timed out."
|
||||
new "Сервер Ren'Py Sync вийшов з ладу."
|
||||
new "Час під’єднання до Ren'Py Sync закінчився."
|
||||
|
||||
# renpy/common/00sync.rpy:194
|
||||
old "An unknown error occurred while connecting to the Ren'Py Sync server."
|
||||
@@ -993,11 +993,11 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00sync.rpy:267
|
||||
old "The Ren'Py Sync server does not have a copy of this sync. The sync ID may be invalid, or it may have timed out."
|
||||
new "Сервер Ren'Py Sync не має копії цієї синхронізації. Ідентифікатор синхронізації може бути недійсним або його термін дії закінчився."
|
||||
new "Сервер Ren'Py Sync не має копії цієї синхронізації. Ідентифікатор синхронізації може бути недійсним або термін його дії закінчився."
|
||||
|
||||
# renpy/common/00sync.rpy:409
|
||||
old "Please enter the sync ID you generated.\nNever enter a sync ID you didn't create yourself."
|
||||
new "Будь ласка, введіть згенерований вами ідентифікатор синхронізації.\nНіколи не вводьте ідентифікатор синхронізації, який ви не створювали."
|
||||
new "Введіть згенерований вами ідентифікатор синхронізації.\nНіколи не вводьте не створений вами ідентифікатор синхронізації."
|
||||
|
||||
# renpy/common/00sync.rpy:428
|
||||
old "The sync ID is not in the correct format."
|
||||
@@ -1013,19 +1013,19 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00sync.rpy:476
|
||||
old "The sync contains a file with an invalid name."
|
||||
new "Синхронізація містить файл з невірною назвою."
|
||||
new "Синхронізація містить файл з недійсною назвою."
|
||||
|
||||
# renpy/common/00sync.rpy:529
|
||||
old "This will upload your saves to the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}.\nDo you want to continue?"
|
||||
new "Це завантажить ваші збереження на {a=https://sync.renpy.org}сервер Ren'Py Sync{/a}.\nБажаєте продовжити?"
|
||||
new "Ця дія вивантажить ваші збереження на {a=https://sync.renpy.org}сервер Ren'Py Sync{/a}.\nБажаєте продовжити?"
|
||||
|
||||
# renpy/common/00sync.rpy:558
|
||||
old "Enter Sync ID"
|
||||
new "Уведіть ідентифікатор синхронізації"
|
||||
new "Введіть ідентифікатор синхронізації"
|
||||
|
||||
# renpy/common/00sync.rpy:569
|
||||
old "This will contact the {a=https://sync.renpy.org}Ren'Py Sync Server{/a}."
|
||||
new "Зв’язок зі {a=https://sync.renpy.org}сервером Ren'Py Sync{/a}."
|
||||
new "Ця дія зв’яжеться зі {a=https://sync.renpy.org}сервером Ren'Py Sync{/a}."
|
||||
|
||||
# renpy/common/00sync.rpy:596
|
||||
old "Sync Success"
|
||||
@@ -1043,3 +1043,114 @@ translate ukrainian strings:
|
||||
old "Sync Error"
|
||||
new "Помилка синхронізації"
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# renpy/common/00accessibility.rpy:120
|
||||
old "Accessibility Menu. Use up and down arrows to navigate, and enter to activate buttons and bars."
|
||||
new "Меню доступності. Використовуйте стрілки вгору та вниз для навігації, а клавішу Enter для взаємодії між кнопками та смуг."
|
||||
|
||||
# renpy/common/00accessibility.rpy:197
|
||||
old "Self-voicing support is limited when using a touch screen."
|
||||
new "Підтримка синтезу мовлення обмежена при використанні сенсорного екрана."
|
||||
|
||||
# renpy/common/00director.rpy:1776
|
||||
old "Customize director.transforms to add more transforms."
|
||||
new "Налаштуйте «director.transforms», щоб додати більше перетворень."
|
||||
|
||||
# renpy/common/00director.rpy:1821
|
||||
old "Click to set."
|
||||
new "Клацніть, щоб установити."
|
||||
|
||||
# renpy/common/00director.rpy:1822
|
||||
old "Customize director.transitions to add more transitions."
|
||||
new "Налаштуйте «director.transitions», щоб додати більше переходів."
|
||||
|
||||
# renpy/common/00director.rpy:1845
|
||||
old "Customize director.audio_channels to add more channels."
|
||||
new "Налаштуйте «director.audio_channels», щоб додати більше каналів."
|
||||
|
||||
# renpy/common/00gui.rpy:454
|
||||
old "Are you sure you want to continue where you left off?"
|
||||
new "Ви дійсно бажаєте продовжити з того місця, на якому зупинилися?"
|
||||
|
||||
# renpy/common/00preferences.rpy:438
|
||||
old "self voicing enable"
|
||||
new "увімкнути синтез мовлення"
|
||||
|
||||
# renpy/common/00preferences.rpy:440
|
||||
old "self voicing disable"
|
||||
new "вимкнути синтез мовлення"
|
||||
|
||||
# renpy/common/00preferences.rpy:455
|
||||
old "clipboard voicing enable"
|
||||
new "увімкнути озвучення буфера обміну"
|
||||
|
||||
# renpy/common/00preferences.rpy:457
|
||||
old "clipboard voicing disable"
|
||||
new "вимкнути озвучення буфера обміну"
|
||||
|
||||
# renpy/common/00preferences.rpy:464
|
||||
old "debug voicing enable"
|
||||
new "увімкнути налагоджувальне озвучення"
|
||||
|
||||
# renpy/common/00preferences.rpy:466
|
||||
old "debug voicing disable"
|
||||
new "вимкнути налагоджувальне озвучення"
|
||||
|
||||
# renpy/common/00preferences.rpy:586
|
||||
old "restore window position"
|
||||
new "відновити положення вікна"
|
||||
|
||||
# renpy/common/00preferences.rpy:595
|
||||
old "reset"
|
||||
new "скинути"
|
||||
|
||||
# renpy/common/00speechbubble.rpy:408
|
||||
old "(clear retained bubbles)"
|
||||
new "(очистити залишкові бульбашки)"
|
||||
|
||||
# renpy/common/00updater.rpy:505
|
||||
old "No update methods found."
|
||||
new "Методів оновлення не знайдено."
|
||||
|
||||
# renpy/common/00updater.rpy:552
|
||||
old "Could not download file list: "
|
||||
new "Не вдалося завантажити список файлів: "
|
||||
|
||||
# renpy/common/00updater.rpy:555
|
||||
old "File list digest does not match."
|
||||
new "Дайджест списку файлів не збігається."
|
||||
|
||||
# renpy/common/00updater.rpy:2072
|
||||
old "Preparing to download the game data."
|
||||
new "Підготовка до завантаження даних гри."
|
||||
|
||||
# renpy/common/00updater.rpy:2074
|
||||
old "Downloading the game data."
|
||||
new "Завантаження даних гри."
|
||||
|
||||
# renpy/common/00updater.rpy:2076
|
||||
old "The game data has been downloaded."
|
||||
new "Дані гри було завантажено."
|
||||
|
||||
# renpy/common/00updater.rpy:2078
|
||||
old "An error occurred when trying to download game data:"
|
||||
new "Виникла помилка при спробі завантажити дані гри:"
|
||||
|
||||
# renpy/common/00updater.rpy:2083
|
||||
old "This game cannot be run until the game data has been downloaded."
|
||||
new "Цю гру не можна буде запустити, доки не будуть завантажені дані гри."
|
||||
|
||||
# renpy/common/00updater.rpy:2090
|
||||
old "Retry"
|
||||
new "Повторити"
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# renpy/common/00translation.rpy:63
|
||||
old "Translation identifier: [identifier]"
|
||||
new "Ідентифікатор перекладу: [identifier]"
|
||||
|
||||
# renpy/common/00translation.rpy:84
|
||||
old " translates [tl.filename]:[tl.linenumber]"
|
||||
new " перекладає [tl.filename]:[tl.linenumber]"
|
||||
|
||||
@@ -89,8 +89,6 @@ translate ukrainian strings:
|
||||
old "stack: print the return stack"
|
||||
new "stack: вивести стек повернення"
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# renpy/common/_developer/developer.rpym:51
|
||||
old "Persistent Viewer"
|
||||
new "Переглядач даних"
|
||||
@@ -99,11 +97,73 @@ translate ukrainian strings:
|
||||
old "Speech Bubble Editor (Shift+B)"
|
||||
new "Редактор мовних бульбашок (Shift+B)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:70
|
||||
old "Show Translation Info"
|
||||
new "Показати відомості про переклад"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:73
|
||||
old "Hide Translation Info"
|
||||
new "Сховати відомості про переклад"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:69
|
||||
old "Show Translation Identifiers"
|
||||
new "Показати ідентифікатори перекладу"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:72
|
||||
old "Hide Translation Identifiers"
|
||||
new "Сховати ідентифікатори перекладу"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:81
|
||||
old "Show Filename and Line"
|
||||
new "Показати назву файлу та рядок"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:84
|
||||
old "Hide Filename and Line"
|
||||
new "Сховати назву файлу та рядок"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:127
|
||||
old "Layer [l]:"
|
||||
new "Шар [l]:"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:131
|
||||
old " [name] [attributes] (hidden)"
|
||||
new " [name] [attributes] (приховано)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:135
|
||||
old " [name] [attributes]"
|
||||
new " [name] [attributes]"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:606
|
||||
old "\n{color=#fff}Copied to clipboard.{/color}"
|
||||
new "\n{color=#fff}Скопійовано до буфера обміну.{/color}"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:612
|
||||
old "\n{color=#fff}Click to copy.\nDrag to move.{/color}"
|
||||
new "\n{color=#fff}Клацніть для копіювання.\nПеретягніть для пересування.{/color}"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:657
|
||||
old "Click to open in editor."
|
||||
new "Клацніть, щоб відкрити в редакторі."
|
||||
|
||||
# renpy/common/00console.rpy:725
|
||||
old "The console is using short representations. To disable this, type 'long', and to re-enable, type 'short'"
|
||||
new "Консоль використовує короткі представлення. Щоб вимкнути це, введіть 'long', а щоб увімкнути, введіть 'short'"
|
||||
|
||||
# renpy/common/00console.rpy:789
|
||||
old "help: show this help\n help <expr>: show signature and documentation of <expr>"
|
||||
new "help: показує цю довідку\n help <вираз>: показує підпис та документацію <виразу>"
|
||||
|
||||
# renpy/common/00console.rpy:813
|
||||
old "Help may display undocumented functions. Please check that the function or\nclass you want to use is documented.\n\n"
|
||||
new "У довідці можуть відображатися недокументовані функції. Будь ласка, перевірте, чи функцію або\nклас, який бажаєте використати, задокументовано.\n\n"
|
||||
new "У довідці можуть бути недокументовані функції. Будь ласка, перевірте, чи бажана функція або\nклас задокументовано.\n\n"
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# renpy/common/_developer/developer.rpym:133
|
||||
old " [name!q] [attributes!q] (hidden)"
|
||||
new " [name!q] [attributes!q] (приховано)"
|
||||
|
||||
# renpy/common/_developer/developer.rpym:137
|
||||
old " [name!q] [attributes!q]"
|
||||
new " [name!q] [attributes!q]"
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00gltest.rpy:213
|
||||
old "Performance Warning"
|
||||
new "Попередження про продуктивність"
|
||||
new "Попередження про швидкодію"
|
||||
|
||||
# 00gltest.rpy:218
|
||||
old "This computer is using software rendering."
|
||||
@@ -67,7 +67,7 @@ translate ukrainian strings:
|
||||
|
||||
# 00gltest.rpy:220
|
||||
old "This computer is not using shaders."
|
||||
new "Цей пристрій не використовує шейдерів."
|
||||
new "Цей пристрій не використовує шейдери."
|
||||
|
||||
# 00gltest.rpy:222
|
||||
old "This computer is displaying graphics slowly."
|
||||
@@ -103,15 +103,15 @@ translate ukrainian strings:
|
||||
|
||||
# 00gltest.rpy:268
|
||||
old "DirectX web setup has been started. It may start minimized in the taskbar. Please follow the prompts to install DirectX."
|
||||
new "Запущено вебналаштування DirectX. Вона може згорнутися на панелі завдань. Будь ласка, дотримуйтесь підказок для встановлення DirectX."
|
||||
new "Запущено вебналаштування DirectX. Вона може згорнутися на панелі завдань. Будь ласка, дотримуйтесь вказівок для встановлення DirectX."
|
||||
|
||||
# 00gltest.rpy:272
|
||||
old "{b}Note:{/b} Microsoft's DirectX web setup program will, by default, install the Bing toolbar. If you do not want this toolbar, uncheck the appropriate box."
|
||||
new "{b}Нотатка:{/b} Програма вебналаштування DirectX від Microsoft за стандартом встановлює панель інструментів Bing. Якщо вам не потрібна ця панель, зніміть позначку у відповідному полі."
|
||||
new "{b}Примітка:{/b} застосунок вебналаштування DirectX від Microsoft за стандартом установлює панель інструментів Bing. Якщо вам не потрібна вона, зніміть позначку у відповідному полі."
|
||||
|
||||
# 00gltest.rpy:276
|
||||
old "When setup finishes, please click below to restart this program."
|
||||
new "Після завершення налаштування, натисніть нижче, щоб перезапустити програму."
|
||||
new "Після завершення установлення, натисніть нижче для перезапуску програми."
|
||||
|
||||
# 00gltest.rpy:278
|
||||
old "Restart"
|
||||
@@ -155,7 +155,7 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:535
|
||||
old "Copies the traceback.txt file to the clipboard."
|
||||
new "Копіює файл traceback.txt у буфер обміну."
|
||||
new "Копіює вміст файлу traceback.txt у буфер обміну."
|
||||
|
||||
# _errorhandling.rpym:562
|
||||
old "An exception has occurred."
|
||||
@@ -167,7 +167,7 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:584
|
||||
old "Attempts a roll back to a prior time, allowing you to save or choose a different choice."
|
||||
new "Спроба відкату до попереднього часу, що дозволяє зберегти або вибрати інший варіант."
|
||||
new "Спробує відкатити до попереднього часу, дозволяючи вам зберегтися або вибрати інший варіант."
|
||||
|
||||
# _errorhandling.rpym:587
|
||||
old "Ignore"
|
||||
@@ -175,11 +175,11 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:591
|
||||
old "Ignores the exception, allowing you to continue."
|
||||
new "Ігнорує цей виняток, дозволяючи вам продовжити."
|
||||
new "Ігнорує виняток, дозволяючи вам продовжити."
|
||||
|
||||
# _errorhandling.rpym:593
|
||||
old "Ignores the exception, allowing you to continue. This often leads to additional errors."
|
||||
new "Ігнорує цей виняток, дозволяючи вам продовжити. Найчастіше це призводить до додаткових помилок."
|
||||
new "Ігнорує виняток, дозволяючи вам продовжити. Найчастіше призводить до додаткових помилок."
|
||||
|
||||
# _errorhandling.rpym:597
|
||||
old "Reload"
|
||||
@@ -199,11 +199,11 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:614
|
||||
old "Quits the game."
|
||||
new "Виходить із гри."
|
||||
new "Виходить з гри."
|
||||
|
||||
# _errorhandling.rpym:638
|
||||
old "Parsing the script failed."
|
||||
new "Розбір скрипта не вдався."
|
||||
new "Помилка розбіру скрипта."
|
||||
|
||||
# _errorhandling.rpym:664
|
||||
old "Opens the errors.txt file in a text editor."
|
||||
@@ -211,7 +211,7 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:668
|
||||
old "Copies the errors.txt file to the clipboard."
|
||||
new "Копіює файл errors.txt у буфер обміну."
|
||||
new "Копіює вміст файлу errors.txt у буфер обміну."
|
||||
|
||||
# _errorhandling.rpym:542
|
||||
old "Copy BBCode"
|
||||
@@ -219,7 +219,7 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:544
|
||||
old "Copies the traceback.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Копіює файл traceback.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
|
||||
new "Копіює вміст файлу traceback.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
|
||||
|
||||
# _errorhandling.rpym:546
|
||||
old "Copy Markdown"
|
||||
@@ -227,15 +227,15 @@ translate ukrainian strings:
|
||||
|
||||
# _errorhandling.rpym:548
|
||||
old "Copies the traceback.txt file to the clipboard as Markdown for Discord."
|
||||
new "Копіює файл traceback.txt у буфер обміну як Markdown для Discord."
|
||||
new "Копіює вміст файлу traceback.txt у буфер обміну як Markdown для Discord."
|
||||
|
||||
# _errorhandling.rpym:683
|
||||
old "Copies the errors.txt file to the clipboard as BBcode for forums like https://lemmasoft.renai.us/."
|
||||
new "Копіює файл errors.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
|
||||
new "Копіює вміст файлу errors.txt у буфер обміну як BBCode для форумів як https://lemmasoft.renai.us/."
|
||||
|
||||
# _errorhandling.rpym:687
|
||||
old "Copies the errors.txt file to the clipboard as Markdown for Discord."
|
||||
new "Копіює файл errors.txt у буфер обміну як Markdown для Discord."
|
||||
new "Копіює вміст файлу errors.txt у буфер обміну як Markdown для Discord."
|
||||
|
||||
# renpy/common/00gltest.rpy:100
|
||||
old "Force GL Renderer"
|
||||
@@ -267,11 +267,11 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:256
|
||||
old "More details on how to fix this can be found in the {a=[url]}documentation{/a}."
|
||||
new "Більше інформації про те, як це може бути виправлено, дивіться в {a=[url]}документації{/a}."
|
||||
new "Детальніше про те, як це можна виправити, дивіться у {a=[url]}документації{/a}."
|
||||
|
||||
# renpy/common/00gltest.rpy:273
|
||||
old "Change render options"
|
||||
new "Змінити параметри візцалізації"
|
||||
new "Змінити параметри візуалізації"
|
||||
|
||||
# renpy/common/00gamepad.rpy:58
|
||||
old "Press or move the '[control!s]' [kind]."
|
||||
@@ -279,7 +279,7 @@ translate ukrainian strings:
|
||||
|
||||
# renpy/common/00gltest.rpy:136
|
||||
old "Enable (No Blocklist)"
|
||||
new "Увімкнути (без списку блокування)"
|
||||
new "Увімкнути (без списку блоку)"
|
||||
|
||||
# renpy/common/00gltest.rpy:259
|
||||
old "The {a=edit:1:log.txt}log.txt{/a} file may contain information to help you determine what is wrong with your computer."
|
||||
|
||||
@@ -13,6 +13,10 @@ translate ukrainian strings:
|
||||
old "## Calling gui.init resets the styles to sensible default values, and sets the width and height of the game."
|
||||
new "## Виклик gui.init скидає стилі до розумних значень за замовчуванням і встановлює ширину та висоту гри."
|
||||
|
||||
# gui/game/gui.rpy:14
|
||||
old "## Enable checks for invalid or unstable properties in screens or transforms"
|
||||
new "## Увімкнути перевірку недійсних або нестабільних властивостей в екранах або перетвореннях"
|
||||
|
||||
# gui/game/gui.rpy:17
|
||||
old "## GUI Configuration Variables"
|
||||
new "## Змінні конфігурації GUI"
|
||||
@@ -27,11 +31,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:25
|
||||
old "## An accent color used throughout the interface to label and highlight text."
|
||||
new "## Колір акценту, який використовується в інтерфейсі для позначення та виділення тексту."
|
||||
new "## Акцентований колір, який використовується в інтерфейсі для позначення та виділення тексту."
|
||||
|
||||
# gui/game/gui.rpy:29
|
||||
old "## The color used for a text button when it is neither selected nor hovered."
|
||||
new "## Колір, який використовується для текстової кнопки, коли вона не вибрана і не наведена."
|
||||
new "## Колір, який використовується для кнопки з текстом, коли її не вибрано або не наведено вказівником."
|
||||
|
||||
# gui/game/gui.rpy:32
|
||||
old "## The small color is used for small text, which needs to be brighter/darker to achieve the same effect."
|
||||
@@ -39,23 +43,23 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:36
|
||||
old "## The color that is used for buttons and bars that are hovered."
|
||||
new "## Колір, який використовується для кнопок і смуг, на які наводяться."
|
||||
new "## Колір, який використовується для кнопок і смуг, на які наводяться вказівником."
|
||||
|
||||
# gui/game/gui.rpy:39
|
||||
old "## The color used for a text button when it is selected but not focused. A button is selected if it is the current screen or preference value."
|
||||
new "## Колір, який використовується для текстової кнопки, коли вона вибрана, але не в фокусі. Кнопку вибрано, якщо це поточний екран або значення параметра."
|
||||
new "## Колір, який використовується для кнопки з текстом, коли її вибрано, але користувач не в програмі. Кнопку вибрано, якщо це поточний екран або значення параметра."
|
||||
|
||||
# gui/game/gui.rpy:43
|
||||
old "## The color used for a text button when it cannot be selected."
|
||||
new "## Колір текстової кнопки, якщо її неможливо вибрати."
|
||||
new "## Колір кнопки з текстом, коли її неможливо вибрати."
|
||||
|
||||
# gui/game/gui.rpy:46
|
||||
old "## Colors used for the portions of bars that are not filled in. These are not used directly, but are used when re-generating bar image files."
|
||||
new "## Кольори, що використовуються для незаповнених частин стовпчиків. Вони не використовуються безпосередньо, а використовуються під час повторного створення файлів зображень стовпчика."
|
||||
new "## Кольори, що використовуються для незаповнених частин смуг. Вони не використовуються безпосередньо, а використовуються під час повторного створення файлів зображень смуги."
|
||||
|
||||
# gui/game/gui.rpy:51
|
||||
old "## The colors used for dialogue and menu choice text."
|
||||
new "## Кольори, які використовуються для тексту діалогу та вибору меню."
|
||||
new "## Кольори, які використовуються для тексту діалогу та меню вибору."
|
||||
|
||||
# gui/game/gui.rpy:56
|
||||
old "## Fonts and Font Sizes"
|
||||
@@ -67,7 +71,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:61
|
||||
old "## The font used for character names."
|
||||
new "## Шрифт, який використовується для імен символів."
|
||||
new "## Шрифт, який використовується для імен персонажів."
|
||||
|
||||
# gui/game/gui.rpy:64
|
||||
old "## The font used for out-of-game text."
|
||||
@@ -83,11 +87,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:73
|
||||
old "## The size of text in the game's user interface."
|
||||
new "## Розмір тексту в інтерфейсі користувача гри."
|
||||
new "## Розмір тексту в інтерфейсі гри."
|
||||
|
||||
# gui/game/gui.rpy:76
|
||||
old "## The size of labels in the game's user interface."
|
||||
new "## Розмір міток в інтерфейсі користувача гри."
|
||||
new "## Розмір міток в інтерфейсі гри."
|
||||
|
||||
# gui/game/gui.rpy:79
|
||||
old "## The size of text on the notify screen."
|
||||
@@ -123,7 +127,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:106
|
||||
old "## The placement of the speaking character's name, relative to the textbox. These can be a whole number of pixels from the left or top, or 0.5 to center."
|
||||
new "## Розташування імені персонажа, що говорить, відносно текстового поля. Це може бути ціла кількість пікселів зліва чи зверху або 0,5 до центру."
|
||||
new "## Розташування імені персонажа, відносно текстового поля. Це може бути ціла кількість пікселів зліва чи зверху або 0,5 до центру."
|
||||
|
||||
# gui/game/gui.rpy:111
|
||||
old "## The horizontal alignment of the character's name. This can be 0.0 for left-aligned, 0.5 for centered, and 1.0 for right-aligned."
|
||||
@@ -135,11 +139,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:120
|
||||
old "## The borders of the box containing the character's name, in left, top, right, bottom order."
|
||||
new "## Межі поля, що містять ім'я персонажа, у порядку зліва, зверху, справа, знизу."
|
||||
new "## Межі поля, що містять імʼя персонажа, у порядку зліва, зверху, справа, знизу."
|
||||
|
||||
# gui/game/gui.rpy:124
|
||||
old "## If True, the background of the namebox will be tiled, if False, the background of the namebox will be scaled."
|
||||
new "## Якщо True, фон поля імен буде мозаїкою, якщо False, фон вікна імен буде масштабовано."
|
||||
new "## Якщо встановлено «True», тло поля імен буде мозаїкою, якщо «False», тло поля імен буде масштабовано."
|
||||
|
||||
# gui/game/gui.rpy:129
|
||||
old "## The placement of dialogue relative to the textbox. These can be a whole number of pixels relative to the left or top side of the textbox, or 0.5 to center."
|
||||
@@ -159,11 +163,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:145
|
||||
old "## These variables, along with the image files in gui/button, control aspects of how buttons are displayed."
|
||||
new "## Ці змінні разом із файлами зображень у gui/button контролюють аспекти відображення кнопок."
|
||||
new "## Ці змінні разом із файлами зображень у gui/button контролюють аспекти показу кнопок."
|
||||
|
||||
# gui/game/gui.rpy:148
|
||||
old "## The width and height of a button, in pixels. If None, Ren'Py computes a size."
|
||||
new "## Ширина та висота кнопки в пікселях. Якщо немає, Ren'Py обчислює розмір."
|
||||
new "## Ширина та висота кнопки в пікселях. Якщо встановлено «None», Ren'Py обчислить розмір."
|
||||
|
||||
# gui/game/gui.rpy:152
|
||||
old "## The borders on each side of the button, in left, top, right, bottom order."
|
||||
@@ -171,7 +175,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:155
|
||||
old "## If True, the background image will be tiled. If False, the background image will be linearly scaled."
|
||||
new "## Якщо True, фонове зображення буде мозаїчно. Якщо False, фонове зображення буде лінійно масштабовано."
|
||||
new "## Якщо встановлено «True», зображення тла буде мозаїчно. Якщо «False», зображення тла буде лінійно масштабовано."
|
||||
|
||||
# gui/game/gui.rpy:159
|
||||
old "## The font used by the button."
|
||||
@@ -187,11 +191,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:171
|
||||
old "## The horizontal alignment of the button text. (0.0 is left, 0.5 is center, 1.0 is right)."
|
||||
new "## Горизонтальне вирівнювання тексту кнопки. (0,0 ліворуч, 0,5 центр, 1,0 праворуч)."
|
||||
new "## Горизонтальне вирівнювання тексту кнопки. (0,0 — ліворуч, 0,5 — центр, 1,0 — праворуч)."
|
||||
|
||||
# gui/game/gui.rpy:176
|
||||
old "## These variables override settings for different kinds of buttons. Please see the gui documentation for the kinds of buttons available, and what each is used for."
|
||||
new "## Ці змінні перекривають налаштування для різних типів кнопок. Перегляньте документацію gui, щоб дізнатися про типи доступних кнопок і для чого кожна з них використовується."
|
||||
new "## Ці змінні перевизначають налаштування для різних типів кнопок. Перегляньте документацію про GUI, щоб дізнатися про типи доступних кнопок і для чого кожна з них використовується."
|
||||
|
||||
# gui/game/gui.rpy:180
|
||||
old "## These customizations are used by the default interface:"
|
||||
@@ -211,23 +215,23 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:218
|
||||
old "## File Slot Buttons"
|
||||
new "## Кнопки слотів файлів"
|
||||
new "## Кнопки комірок збережень"
|
||||
|
||||
# gui/game/gui.rpy:220
|
||||
old "## A file slot button is a special kind of button. It contains a thumbnail image, and text describing the contents of the save slot. A save slot uses image files in gui/button, like the other kinds of buttons."
|
||||
new "## Кнопка слота файлів — це особливий вид кнопки. Він містить ескіз зображення та текст, що описує вміст гнізда збереження. Слот збереження використовує файли зображень у gui/button, як і інші типи кнопок."
|
||||
new "## Кнопка комірки збереження — це особливий вид кнопки. Він містить мале зображення та текст, що описує вміст комірки збереження. Комірка збереження використовує файли зображень у gui/button, як і інші типи кнопок."
|
||||
|
||||
# gui/game/gui.rpy:224
|
||||
old "## The save slot button."
|
||||
new "## Кнопка збереження слота."
|
||||
new "## Кнопка комірки збереження."
|
||||
|
||||
# gui/game/gui.rpy:234
|
||||
old "## The width and height of thumbnails used by the save slots."
|
||||
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу користувача."
|
||||
new "## Ширина та висота малих зображень, що використовуються комірками збереження."
|
||||
|
||||
# gui/game/gui.rpy:238
|
||||
old "## The number of columns and rows in the grid of save slots."
|
||||
new "## Ширина та висота мініатюр, що використовуються слотами для збереження."
|
||||
new "## Кількість стовпців і рядків у сітці комірок збереження."
|
||||
|
||||
# gui/game/gui.rpy:243
|
||||
old "## Positioning and Spacing"
|
||||
@@ -235,7 +239,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:245
|
||||
old "## These variables control the positioning and spacing of various user interface elements."
|
||||
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу користувача."
|
||||
new "## Ці змінні керують розташуванням і відстанню між різними елементами інтерфейсу."
|
||||
|
||||
# gui/game/gui.rpy:248
|
||||
old "## The position of the left side of the navigation buttons, relative to the left side of the screen."
|
||||
@@ -247,11 +251,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:255
|
||||
old "## The vertical position of the notify screen."
|
||||
new "## Вертикальне положення екрана сповіщень."
|
||||
new "## Вертикальна позиція екрана сповіщень."
|
||||
|
||||
# gui/game/gui.rpy:258
|
||||
old "## The spacing between menu choices."
|
||||
new "## Інтервал між пунктами меню."
|
||||
new "## Інтервал між елементами у меню вибору."
|
||||
|
||||
# gui/game/gui.rpy:261
|
||||
old "## Buttons in the navigation section of the main and game menus."
|
||||
@@ -271,7 +275,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:273
|
||||
old "## The spacing between file slots."
|
||||
new "## Відстань між слотами файлів."
|
||||
new "## Відстань між комірками збережень."
|
||||
|
||||
# gui/game/gui.rpy:276
|
||||
old "## The position of the main menu text."
|
||||
@@ -283,7 +287,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:282
|
||||
old "## These variables control the look of frames that can contain user interface components when an overlay or window is not present."
|
||||
new "## Ці змінні керують виглядом рамок, що можуть містити компоненти інтерфейсу користувача, коли накладання або вікно відсутні."
|
||||
new "## Ці змінні керують виглядом рамок, що можуть містити компоненти інтерфейсу, коли накладання або вікно відсутні."
|
||||
|
||||
# gui/game/gui.rpy:285
|
||||
old "## Generic frames."
|
||||
@@ -295,7 +299,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:291
|
||||
old "## The frame that is used as part of the skip screen."
|
||||
new "## Рамка, який використовується як частина екрана пропуску."
|
||||
new "## Рамка, яка використовується як частина екрана пропуску."
|
||||
|
||||
# gui/game/gui.rpy:294
|
||||
old "## The frame that is used as part of the notify screen."
|
||||
@@ -303,7 +307,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:297
|
||||
old "## Should frame backgrounds be tiled?"
|
||||
new "## Чи слід фонові рамки розміщувати плиткою?"
|
||||
new "## Чи слід фонові рамки розміщувати мозаїчно?"
|
||||
|
||||
# gui/game/gui.rpy:301
|
||||
old "## Bars, Scrollbars, and Sliders"
|
||||
@@ -311,11 +315,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:303
|
||||
old "## These control the look and size of bars, scrollbars, and sliders."
|
||||
new "## Це керує виглядом і розміром смуг, смуг прокрутки та повзунків."
|
||||
new "## Ці керують виглядом і розміром панель, смуг прокрутки та повзунків."
|
||||
|
||||
# gui/game/gui.rpy:305
|
||||
old "## The default GUI only uses sliders and vertical scrollbars. All of the other bars are only used in creator-written screens."
|
||||
new "## GUI за замовчуванням використовує лише повзунки та вертикальні смуги прокручування. Усі інші смужки використовуються лише на екранах, написаних автором."
|
||||
new "## Стандартний інтерфейс використовує лише повзунки та вертикальні смуги прокрутки. Усі інші смуги використовуються лише на екранах, написаних автором."
|
||||
|
||||
# gui/game/gui.rpy:308
|
||||
old "## The height of horizontal bars, scrollbars, and sliders. The width of vertical bars, scrollbars, and sliders."
|
||||
@@ -323,7 +327,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:314
|
||||
old "## True if bar images should be tiled. False if they should be linearly scaled."
|
||||
new "## True якщо зображення панелей мають бути мозаїками. False, якщо вони повинні бути лінійно масштабовані."
|
||||
new "## True якщо зображення панелей мають бути мозаїчно. False, якщо вони повинні бути лінійно масштабовані."
|
||||
|
||||
# gui/game/gui.rpy:319
|
||||
old "## Horizontal borders."
|
||||
@@ -335,7 +339,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:329
|
||||
old "## What to do with unscrollable scrollbars in the gui. \"hide\" hides them, while None shows them."
|
||||
new "## Що робити з непрокручуваними смугами прокручування в gui. \"hide\" приховує їх, а «Нічого» показує їх."
|
||||
new "## Що робити з непрокручуваними смугами прокрутки в інтерфейсі. Значення «hide» приховує їх, а «None» показує їх."
|
||||
|
||||
# gui/game/gui.rpy:334
|
||||
old "## History"
|
||||
@@ -351,12 +355,16 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:341
|
||||
old "## The height of a history screen entry, or None to make the height variable at the cost of performance."
|
||||
new "## Висота запису на екрані історії або «Нічого», щоб зробити висоту змінною за рахунок продуктивності."
|
||||
new "## Висота запису на екрані історії або «None», щоб зробити висоту змінною шляхом швидкодії."
|
||||
|
||||
# gui/game/gui.rpy:345
|
||||
old "## The position, width, and alignment of the label giving the name of the speaking character."
|
||||
new "## Положення, ширина та вирівнювання мітки, що вказує ім’я персонажа, що говорить."
|
||||
|
||||
# gui/game/gui.rpy:347
|
||||
old "## Additional space to add between history screen entries."
|
||||
new "## Додатковий простір для додавання між записами на екрані «Історія»."
|
||||
|
||||
# gui/game/gui.rpy:352
|
||||
old "## The position, width, and alignment of the dialogue text."
|
||||
new "## Позиція, ширина та вирівнювання тексту діалогу."
|
||||
@@ -371,7 +379,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:363
|
||||
old "## The borders of the background of the NVL-mode background window."
|
||||
new "## Межі фону заднього плану режиму NVL."
|
||||
new "## Межі тла вікна заднього плану режиму NVL."
|
||||
|
||||
# gui/game/gui.rpy:366
|
||||
old "## The maximum number of NVL-mode entries Ren'Py will display. When more entries than this are to be show, the oldest entry will be removed."
|
||||
@@ -399,7 +407,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:404
|
||||
old "## This controls where a line break is permitted. The default is suitable for most languages. A list of available values can be found at https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## Це визначає, де дозволений розрив рядка. Стандартне значення підходить для більшості мов. Список доступних значень можна знайти за адресою https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
new "## Це визначає, де дозволений розрив рядка. Стандартне значення підходить для більшості мов. Список доступних значень можна знайти на https://www.renpy.org/doc/html/style_properties.html#style-property-language"
|
||||
|
||||
# gui/game/gui.rpy:412
|
||||
old "## Mobile devices"
|
||||
@@ -407,15 +415,15 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:417
|
||||
old "## This increases the size of the quick buttons to make them easier to touch on tablets and phones."
|
||||
new "## Це збільшує розмір швидких кнопок, щоб їх було легше торкатися на планшетах і телефонах."
|
||||
new "## Це збільшує розмір кнопок швидкої панелі доступу, щоб їх було легше торкатися на планшетах і телефонах."
|
||||
|
||||
# gui/game/gui.rpy:424
|
||||
old "## This changes the size and spacing of various GUI elements to ensure they are easily visible on phones."
|
||||
new "## Це змінює розмір і відстань між різними елементами gui, щоб вони були видимими на телефонах."
|
||||
new "## Це змінює розмір і відстань між різними елементами інтерфейсу, щоб вони були видимими на телефонах."
|
||||
|
||||
# gui/game/gui.rpy:429
|
||||
old "## Font sizes."
|
||||
new "## Розміри шрифту"
|
||||
new "## Розміри шрифтів"
|
||||
|
||||
# gui/game/gui.rpy:437
|
||||
old "## Adjust the location of the textbox."
|
||||
@@ -427,7 +435,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:457
|
||||
old "## File button layout."
|
||||
new "## Макет кнопки файлу."
|
||||
new "## Макет кнопки збереження."
|
||||
|
||||
# gui/game/gui.rpy:461
|
||||
old "## NVL-mode."
|
||||
@@ -435,7 +443,7 @@ translate ukrainian strings:
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# gui/game/gui.rpy:14
|
||||
old "## Enable checks for invalid or unstable properties in screens or transforms"
|
||||
new "## Увімкнути перевірку недійсних або нестабільних властивостей у екранах або перетвореннях"
|
||||
# gui/game/gui.rpy:331
|
||||
old "## What to do with unscrollable scrollbars in the game menu. \"hide\" hides them, while None shows them."
|
||||
new "## Що робити з не прокручуваними смугами прокрутки у меню гри. Параметр «hide» приховує їх, а «None» показує їх."
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:4
|
||||
old "## Lines beginning with two '#' marks are comments, and you shouldn't uncomment them. Lines beginning with a single '#' mark are commented-out code, and you may want to uncomment them when appropriate."
|
||||
new "## Рядки, що починаються з двох позначок «#», є коментарями, і ви не повинні розкоментувати їх. Рядки, що починаються з одного знака «#», є закоментованим кодом, і ви можете за потреби розкоментувати їх."
|
||||
new "## Рядки, що починаються з двох решіток «##» є коментарями і вам не потрібно розкоментовувати їх. Рядки, що починаються з однієї решітки «#» є закоментованим кодом, і ви можете за потреби розкоментувати їх."
|
||||
|
||||
# gui/game/options.rpy:10
|
||||
old "## Basics"
|
||||
@@ -15,7 +15,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:12
|
||||
old "## A human-readable name of the game. This is used to set the default window title, and shows up in the interface and error reports."
|
||||
new "## Зрозуміла назва гри. Це використовується для встановлення заголовка вікна за замовчуванням і відображається в інтерфейсі та звітах про помилки."
|
||||
new "## Зрозуміла назва гри. Використовується для задання заголовка вікна за стандартом і показується в інтерфейсі та звітах про помилки."
|
||||
|
||||
# gui/game/options.rpy:15
|
||||
old "## The _() surrounding the string marks it as eligible for translation."
|
||||
@@ -23,11 +23,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:17
|
||||
old "Ren'Py 7 Default GUI"
|
||||
new "Графічний інтерфейс Ren'Py 7 за замовчуванням"
|
||||
new "Стандартний GUI Ren'Py 7"
|
||||
|
||||
# gui/game/options.rpy:20
|
||||
old "## Determines if the title given above is shown on the main menu screen. Set this to False to hide the title."
|
||||
new "## Визначає, чи заголовок, наведений вище, відображається на екрані головного меню. Встановіть значення False, щоб приховати назву."
|
||||
new "## Визначає, чи наведений вище заголовок показано на екрані головного меню. Установіть значення «False» для приховання заголовка."
|
||||
|
||||
# gui/game/options.rpy:26
|
||||
old "## The version of the game."
|
||||
@@ -35,27 +35,27 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:31
|
||||
old "## Text that is placed on the game's about screen. Place the text between the triple-quotes, and leave a blank line between paragraphs."
|
||||
new "## Текст, який розміщується на екрані інформації про гру. Поставте текст між потрійними лапками, а між абзацами залиште порожній рядок."
|
||||
new "## Текст, який розміщено на екрані «Про гру». Поставте текст між потрійними лапками, а між абзацами залиште порожній рядок."
|
||||
|
||||
# gui/game/options.rpy:38
|
||||
old "## A short name for the game used for executables and directories in the built distribution. This must be ASCII-only, and must not contain spaces, colons, or semicolons."
|
||||
new "## Коротка назва гри, яка використовується для виконуваних файлів і тек у вбудованому дистрибутиві. Це має бути лише ASCII і не повинно містити пробілів, двокрапки чи крапки з комою."
|
||||
new "## Коротка назва гри, яка використовується для виконуваних файлів і тек у вбудованому дистрибутиві. Дозволено лише символи ASCII та не повинно містити пробілів, двокрапок чи крапок з комою."
|
||||
|
||||
# gui/game/options.rpy:45
|
||||
old "## Sounds and music"
|
||||
new "## Звуки і музика"
|
||||
new "## Звуки й музика"
|
||||
|
||||
# gui/game/options.rpy:47
|
||||
old "## These three variables control, among other things, which mixers are shown to the player by default. Setting one of these to False will hide the appropriate mixer."
|
||||
new "## Ці три змінні керують, серед іншого, тим, які міксери відображаються гравцеві за замовчуванням. Встановлення для одного з них значення False приховає відповідний мікшер."
|
||||
new "## Ці три змінні визначають, серед іншого, які мікшери показуватимуться гравцеві за стандартом. Установивши значення «False» одній з них, відповідний мікшер буде приховано."
|
||||
|
||||
# gui/game/options.rpy:56
|
||||
old "## To allow the user to play a test sound on the sound or voice channel, uncomment a line below and use it to set a sample sound to play."
|
||||
new "## Щоб дозволити користувачеві відтворювати тестовий звук на звуковому або голосовому каналі, розкоментуйте рядок нижче та використовуйте його, щоб встановити зразок звуку для відтворення."
|
||||
new "## Щоб дозволити користувачеві відтворювати тестовий звук на звуковому або голосовому каналі, розкоментуйте рядок нижче та скористайтеся ним, щоб задати зразок звуку для відтворення."
|
||||
|
||||
# gui/game/options.rpy:63
|
||||
old "## Uncomment the following line to set an audio file that will be played while the player is at the main menu. This file will continue playing into the game, until it is stopped or another file is played."
|
||||
new "## Розкоментуйте наступний рядок, щоб налаштувати аудіофайл, який відтворюватиметься, коли плеєр перебуває в головному меню. Цей файл продовжуватиме відтворюватися в грі, доки його не буде зупинено або не буде відтворено інший файл."
|
||||
new "## Розкоментуйте наступний рядок, щоб налаштувати аудіофайл, який відтворюватиметься, коли гравець у головному меню. Цей файл продовжуватиме відтворюватися у грі, доки його не буде зупинено або не буде відтворено інший файл."
|
||||
|
||||
# gui/game/options.rpy:70
|
||||
old "## Transitions"
|
||||
@@ -63,7 +63,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:72
|
||||
old "## These variables set transitions that are used when certain events occur. Each variable should be set to a transition, or None to indicate that no transition should be used."
|
||||
new "## Ці змінні встановлюють переходи, які використовуються, коли відбуваються певні події. Кожна змінна має бути встановлена на перехід або None, щоб вказати, що перехід не слід використовувати."
|
||||
new "## Ці змінні встановлюють переходи, які використовуються, коли відбуваються певні події. Кожна змінна має бути встановлена на певний перехід або «None», щоб вказати, що перехід не слід використовувати."
|
||||
|
||||
# gui/game/options.rpy:76
|
||||
old "## Entering or exiting the game menu."
|
||||
@@ -83,7 +83,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:97
|
||||
old "## A variable to set the transition used when the game starts does not exist. Instead, use a with statement after showing the initial scene."
|
||||
new "## Змінна для встановлення переходу, який використовується під час запуску гри, не існує. Замість цього використовуйте оператор with після показу початкової сцени."
|
||||
new "## Змінна для встановлення переходу, який використовується під час запуску гри, не існує. Замість цього використовуйте оператор «with» після показу початкової сцени."
|
||||
|
||||
# gui/game/options.rpy:102
|
||||
old "## Window management"
|
||||
@@ -91,11 +91,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:104
|
||||
old "## This controls when the dialogue window is displayed. If \"show\", it is always displayed. If \"hide\", it is only displayed when dialogue is present. If \"auto\", the window is hidden before scene statements and shown again once dialogue is displayed."
|
||||
new "## Цей параметр визначає час відображення діалогового вікна. Якщо \"show\", він завжди відображається. Якщо \"hide\", воно відображається лише за наявності діалогу. Якщо \"auto\", вікно буде приховано перед операторами сцени та показано знову, коли відобразиться діалог."
|
||||
new "## Цей параметр визначає час показу діалогового вікна. Якщо задано «show», воно завжди показуватиметься. Якщо задано «hide», воно показуватиметься лише за наявності діалогу. Якщо задано «auto», вікно буде приховано перед операторами сцени та показано знову, коли відобразиться діалог."
|
||||
|
||||
# gui/game/options.rpy:109
|
||||
old "## After the game has started, this can be changed with the \"window show\", \"window hide\", and \"window auto\" statements."
|
||||
new "## Після початку гри це можна змінити за допомогою операторів \"window show\", \"window hide\" і \"window auto\"."
|
||||
new "## Після початку гри це можна змінити через оператори «window show», «window hide» та «window auto»."
|
||||
|
||||
# gui/game/options.rpy:115
|
||||
old "## Transitions used to show and hide the dialogue window"
|
||||
@@ -103,23 +103,23 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:121
|
||||
old "## Preference defaults"
|
||||
new "## Параметри за замовчуванням"
|
||||
new "## Стандартні налаштування"
|
||||
|
||||
# gui/game/options.rpy:123
|
||||
old "## Controls the default text speed. The default, 0, is infinite, while any other number is the number of characters per second to type out."
|
||||
new "## Керує швидкістю тексту за замовчуванням. За замовчуванням, 0, є нескінченним, тоді як будь-яке інше число означає кількість символів за секунду, які потрібно ввести."
|
||||
new "## Керує стандартною швидкістю друку тексту. Стандартне значення, 0, означає різку появу тексту, а будь-яке інше число означатиме кількість символів за секунду для друку."
|
||||
|
||||
# gui/game/options.rpy:129
|
||||
old "## The default auto-forward delay. Larger numbers lead to longer waits, with 0 to 30 being the valid range."
|
||||
new "## Затримка автоматичного пересилання за замовчуванням. Більші числа призводять до довшого очікування, при цьому допустимим діапазоном є від 0 до 30."
|
||||
new "## Затримка автоматичного перемотування за стандартом. Більші значення призводять до довшого очікування, допустимий діапазон від 0 до 30."
|
||||
|
||||
# gui/game/options.rpy:135
|
||||
old "## Save directory"
|
||||
new "## Зберегти теку"
|
||||
new "## Тека збережень"
|
||||
|
||||
# gui/game/options.rpy:137
|
||||
old "## Controls the platform-specific place Ren'Py will place the save files for this game. The save files will be placed in:"
|
||||
new "## Контролює місце, де Ren'Py буде розміщувати файли збереження для цієї гри. Файли збереження будуть розміщені в:"
|
||||
new "## Дозволяє вказати місце на платформі, куди Ren'Py зберігатиме файли збережень для цієї гри. Місце розміщення файлів збереження:"
|
||||
|
||||
# gui/game/options.rpy:140
|
||||
old "## Windows: %APPDATA\\RenPy\\<config.save_directory>"
|
||||
@@ -135,7 +135,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:146
|
||||
old "## This generally should not be changed, and if it is, should always be a literal string, not an expression."
|
||||
new "## Як правило, це не слід змінювати, і якщо це так, завжди має бути літеральний рядок, а не вираз."
|
||||
new "## Як правило, його не слід змінювати, а якщо змінювати, то це завжди має бути буквальний рядок, а не вираз."
|
||||
|
||||
# gui/game/options.rpy:152
|
||||
old "## Icon"
|
||||
@@ -143,19 +143,19 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:154
|
||||
old "## The icon displayed on the taskbar or dock."
|
||||
new "## Значок, що відображається на панелі завдань або док-станції."
|
||||
new "## Значок, що показується на панелі завдань або док-станції."
|
||||
|
||||
# gui/game/options.rpy:159
|
||||
old "## Build configuration"
|
||||
new "## Створити конфігурацію"
|
||||
new "## Конфігурація збірки"
|
||||
|
||||
# gui/game/options.rpy:161
|
||||
old "## This section controls how Ren'Py turns your project into distribution files."
|
||||
new "## Цей розділ керує тим, як Ren'Py перетворює ваш проєкт у файли розповсюдження."
|
||||
new "## Цей розділ керує тим, як Ren'Py перетворює ваш проєкт на файли для розповсюдження."
|
||||
|
||||
# gui/game/options.rpy:166
|
||||
old "## The following functions take file patterns. File patterns are case- insensitive, and matched against the path relative to the base directory, with and without a leading /. If multiple patterns match, the first is used."
|
||||
new "## Наступні функції приймають шаблони файлів. Шаблони файлів не чутливі до регістру та зіставляються зі шляхом відносно основної теки, з / без нього на початку. Якщо збігається декілька шаблонів, використовується перший."
|
||||
new "## Наступні функції приймають шаблони файлів. Шаблони файлів не залежать від регістру і збігаються за шляхом відносно основної теки, з та без скісної риски «/» на початку. Якщо збігається декілька шаблонів, використовується перший."
|
||||
|
||||
# gui/game/options.rpy:171
|
||||
old "## In a pattern:"
|
||||
@@ -163,44 +163,42 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:173
|
||||
old "## / is the directory separator."
|
||||
new "## / є роздільником теки."
|
||||
new "## / є роздільником тек."
|
||||
|
||||
# gui/game/options.rpy:175
|
||||
old "## * matches all characters, except the directory separator."
|
||||
new "## * відповідає всім символам, крім роздільника теки."
|
||||
new "## * збігається з усіма символами, окрім роздільника тек."
|
||||
|
||||
# gui/game/options.rpy:177
|
||||
old "## ** matches all characters, including the directory separator."
|
||||
new "## ** відповідає всім символам, включаючи роздільник теки."
|
||||
new "## ** збігаються з усіма символами, включаючи роздільника тек."
|
||||
|
||||
# gui/game/options.rpy:179
|
||||
old "## For example, \"*.txt\" matches txt files in the base directory, \"game/**.ogg\" matches ogg files in the game directory or any of its subdirectories, and \"**.psd\" matches psd files anywhere in the project."
|
||||
new "## Наприклад, \"*.txt\" відповідає файлам txt у базовому каталозі, \"game/**.ogg\" відповідає файлам ogg у каталозі гри або будь-якому з його під-тек, а \"**.psd \" відповідає файлам psd будь-де в проєкті."
|
||||
new "## Наприклад, «*.txt» збігається з файламм txt у базовій теці, «game/**.ogg» збігається з файлами ogg у теці «game» або будь-якій з її підтек, а «**.psd» збігається з файлами psd будь-де в проєкті."
|
||||
|
||||
# gui/game/options.rpy:183
|
||||
old "## Classify files as None to exclude them from the built distributions."
|
||||
new "## Класифікуйте файли як None, щоб виключити їх із вбудованих дистрибутивів."
|
||||
new "## Для виключення файлів із збірки файлів розповсюдження, класифікуйте їх як «None»."
|
||||
|
||||
# gui/game/options.rpy:191
|
||||
old "## To archive files, classify them as 'archive'."
|
||||
new "## Щоб архівувати файли, класифікуйте їх як 'archive'."
|
||||
new "## Для архівації файлів, класифікуйте їх як «archive»."
|
||||
|
||||
# gui/game/options.rpy:196
|
||||
old "## Files matching documentation patterns are duplicated in a mac app build, so they appear in both the app and the zip file."
|
||||
new "## Файли, що відповідають шаблонам документації, дублюються у створенні програми Mac, тому вони з’являються як у програмі, так і в zip-файлі."
|
||||
new "## Файли, що відповідають шаблонам документації, дублюються у збірці застосунку для Mac, тому вони зʼявляються як застосунок, так і zip-файл."
|
||||
|
||||
# gui/game/options.rpy:203
|
||||
old "## A Google Play license key is required to download expansion files and perform in-app purchases. It can be found on the \"Services & APIs\" page of the Google Play developer console."
|
||||
new "## Для завантаження файлів розширення та здійснення покупок у програмі потрібен ліцензійний ключ Google Play. Його можна знайти на сторінці \"Services & APIs\" консолі розробника Google Play."
|
||||
new "## Для завантаження файлів розширення та здійснення покупок у застосунку потрібен ліцензійний ключ Google Play. Його можна знайти на сторінці «Сервіси та API» в консолі розробника Google Play."
|
||||
|
||||
# gui/game/options.rpy:210
|
||||
old "## The username and project name associated with an itch.io project, separated by a slash."
|
||||
new "## Ім’я користувача та назва проєкту, пов’язані з проєктом itch.io, розділені скісною рискою."
|
||||
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# gui/game/options.rpy:203
|
||||
old "## A Google Play license key is required to perform in-app purchases. It can be found in the Google Play developer console, under \"Monetize\" > \"Monetization Setup\" > \"Licensing\"."
|
||||
new "## Для здійснення покупок у додатку потрібен ліцензійний ключ Google Play. Його можна знайти в консолі розробника Google Play у розділі \"Монетизація\" > \"Налаштування монетизації\" > \"Ліцензування\"."
|
||||
|
||||
new "## Для здійснення внутрішньоігрового придбання потрібен ліцензійний ключ Google Play. Його можна знайти в консолі розробника Google Play у розділі «Монетизація» > «Налаштування монетизації» > «Ліцензування»."
|
||||
|
||||
@@ -11,15 +11,15 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:85
|
||||
old "## Say screen"
|
||||
new "## Екран Say"
|
||||
new "## Екран промови"
|
||||
|
||||
# gui/game/screens.rpy:87
|
||||
old "## The say screen is used to display dialogue to the player. It takes two parameters, who and what, which are the name of the speaking character and the text to be displayed, respectively. (The who parameter can be None if no name is given.)"
|
||||
new "## Екран Say використовується для відображення діалогу гравцеві. Він приймає два параметри, who і what, ім’я персонажа, що говорить, і текст, який буде відображатися відповідно. (Параметр who може мати значення None, якщо ім’я не вказано.)"
|
||||
new "## Екран промови використовується для показу діалогу гравцеві. Він приймає два параметри, «who» та «what», ім’я персонажа й текст, який буде показано відповідно. (Параметр «who» може мати значення «None», якщо ім’я не вказано.)"
|
||||
|
||||
# gui/game/screens.rpy:92
|
||||
old "## This screen must create a text displayable with id \"what\", as Ren'Py uses this to manage text display. It can also create displayables with id \"who\" and id \"window\" to apply style properties."
|
||||
new "## Цей екран має створювати текст, який можна відображати з ідентифікатором «what», оскільки Ren'Py використовує це для керування відображенням тексту. Він також може створювати відображувані елементи з ідентифікаторами «who» та «window» для застосування властивостей стилю."
|
||||
new "## Цей екран має створювати текст з ідентифікатором «what», оскільки Ren'Py використовує його для керування показу тексту. Він також може створювати елементи з ідентифікаторами «who» та «window» для застосування властивостей стилю."
|
||||
|
||||
# gui/game/screens.rpy:96
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#say"
|
||||
@@ -39,11 +39,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:167
|
||||
old "## This screen is used to display renpy.input. The prompt parameter is used to pass a text prompt in."
|
||||
new "## Цей екран використовується для відображення renpy.input. Параметр prompt використовується для передачі текстової підказки."
|
||||
new "## Цей екран використовується для показу «renpy.input». Параметр «prompt» використовується для передачі текстової підказки."
|
||||
|
||||
# gui/game/screens.rpy:170
|
||||
old "## This screen must create an input displayable with id \"input\" to accept the various input parameters."
|
||||
new "## Цей екран має створити відображуваний вхід з ідентифікатором «input» для прийняття різних вхідних параметрів."
|
||||
new "## Цей екран має створити введення з ідентифікатором «input» для прийняття різних параметрів введення."
|
||||
|
||||
# gui/game/screens.rpy:173
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#input"
|
||||
@@ -55,7 +55,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:202
|
||||
old "## This screen is used to display the in-game choices presented by the menu statement. The one parameter, items, is a list of objects, each with caption and action fields."
|
||||
new "## Цей екран використовується для відображення вибору в грі, представленого командою 'menu'. Один параметр, 'items' — це список об’єктів, кожен із полями заголовка та дії."
|
||||
new "## Цей екран використовується для показу ігрових варіантів вибору, представлених оператором «menu». Один параметр, «items», являє собою список об’єктів, кожен з яких має підпис і поле дії."
|
||||
|
||||
# gui/game/screens.rpy:206
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#choice"
|
||||
@@ -67,11 +67,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:236
|
||||
old "## The quick menu is displayed in-game to provide easy access to the out-of-game menus."
|
||||
new "## Швидке меню відображається в грі, щоб забезпечити легкий доступ до меню поза грою."
|
||||
new "## Швидке меню показується у грі, щоб забезпечити легкий доступ до меню поза грою."
|
||||
|
||||
# gui/game/screens.rpy:241
|
||||
old "## Ensure this appears on top of other screens."
|
||||
new "## Переконайтеся, що це відображається поверх інших екранів."
|
||||
new "## Переконайтеся, що воно показується поверх інших екранів."
|
||||
|
||||
# gui/game/screens.rpy:252
|
||||
old "Back"
|
||||
@@ -83,7 +83,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:254
|
||||
old "Skip"
|
||||
new "Пропустити"
|
||||
new "Пропускати"
|
||||
|
||||
# gui/game/screens.rpy:255
|
||||
old "Auto"
|
||||
@@ -107,7 +107,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:262
|
||||
old "## This code ensures that the quick_menu screen is displayed in-game, whenever the player has not explicitly hidden the interface."
|
||||
new "## Цей код гарантує, що екран quick_menu відображається в грі, якщо гравець явно не приховав інтерфейс."
|
||||
new "## Цей код гарантує, що екран «quick_menu» показується у грі, якщо гравець не приховав інтерфейс явно."
|
||||
|
||||
# gui/game/screens.rpy:280
|
||||
old "## Main and Game Menu Screens"
|
||||
@@ -119,7 +119,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:285
|
||||
old "## This screen is included in the main and game menus, and provides navigation to other menus, and to start the game."
|
||||
new "## Цей екран включено в головне та ігрове меню та забезпечує навігацію до інших меню та початок гри."
|
||||
new "## Цей екран включено в головне та ігрове меню і забезпечує навігацію до інших меню та початку гри."
|
||||
|
||||
# gui/game/screens.rpy:300
|
||||
old "Start"
|
||||
@@ -147,7 +147,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:324
|
||||
old "## Help isn't necessary or relevant to mobile devices."
|
||||
new "## Допомога не є необхідною або актуальною для мобільних пристроїв."
|
||||
new "## Довідка не є необхідною або доречною для мобільних пристроїв."
|
||||
|
||||
# gui/game/screens.rpy:325
|
||||
old "Help"
|
||||
@@ -155,7 +155,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:329
|
||||
old "## The quit button is banned on iOS and unnecessary on Android and Web."
|
||||
new "## Кнопка виходу заборонена на iOS і непотрібна на Android і в Web."
|
||||
new "## Кнопка виходу заборонена на iOS й непотрібна на Android та Web."
|
||||
|
||||
# gui/game/screens.rpy:330
|
||||
old "Quit"
|
||||
@@ -167,7 +167,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:346
|
||||
old "## Used to display the main menu when Ren'Py starts."
|
||||
new "## Використовується для відображення головного меню під час запуску Ren'Py."
|
||||
new "## Використовується для показу головного меню під час запуску Ren'Py."
|
||||
|
||||
# gui/game/screens.rpy:348
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#main-menu"
|
||||
@@ -183,19 +183,19 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:361
|
||||
old "## The use statement includes another screen inside this one. The actual contents of the main menu are in the navigation screen."
|
||||
new "## Інструкція використання включає інший екран всередині цього. Фактичний вміст головного меню знаходиться на екрані навігації."
|
||||
new "## Оператор «use» включає інший екран усередині цього. Фактичний вміст головного меню знаходиться на екрані навігації."
|
||||
|
||||
# gui/game/screens.rpy:406
|
||||
old "## Game Menu screen"
|
||||
new "## Екран меню гри"
|
||||
new "## Екран ігрового меню"
|
||||
|
||||
# gui/game/screens.rpy:408
|
||||
old "## This lays out the basic common structure of a game menu screen. It's called with the screen title, and displays the background, title, and navigation."
|
||||
new "## Це описує базову структуру екрана меню гри. Він викликається за допомогою заголовка екрана та відображає тло, заголовок і навігацію."
|
||||
new "## Тут викладено основну загальну структуру екрана ігрового меню. Він викликається заголовком екрана і показує тло, заголовок і навігацію."
|
||||
|
||||
# gui/game/screens.rpy:411
|
||||
old "## The scroll parameter can be None, or one of \"viewport\" or \"vpgrid\". This screen is intended to be used with one or more children, which are transcluded (placed) inside it."
|
||||
new "## Параметр прокручування може бути None або одним із «viewport» чи «vpgrid». Цей екран призначений для використання з одним або декількома об’єктами, які включені (розміщені) всередині нього."
|
||||
new "## Параметр «scroll» може мати значення «None» або один з «viewport» чи «vpgrid». Цей екран призначений для використання з одним або декількома об’єктами, які включені (розміщені) всередині нього."
|
||||
|
||||
# gui/game/screens.rpy:429
|
||||
old "## Reserve space for the navigation section."
|
||||
@@ -211,7 +211,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:536
|
||||
old "## This screen gives credit and copyright information about the game and Ren'Py."
|
||||
new "## Цей екран містить інформацію про авторство та авторські права щодо гри та Ren'Py."
|
||||
new "## Цей екран містить інформацію про авторів та авторські права щодо гри та Ren'Py."
|
||||
|
||||
# gui/game/screens.rpy:539
|
||||
old "## There's nothing special about this screen, and hence it also serves as an example of how to make a custom screen."
|
||||
@@ -219,7 +219,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:546
|
||||
old "## This use statement includes the game_menu screen inside this one. The vbox child is then included inside the viewport inside the game_menu screen."
|
||||
new "## Цей оператор використання включає екран «game_menu» всередині цього. Потім дочірній елемент «vbox» включається в область перегляду всередині екрана «game_menu»."
|
||||
new "## Цей оператор «use» включає екран «game_menu» всередині цього. Потім дочірній елемент «vbox» буде включено до «viewport» всередині екрана «game_menu»."
|
||||
|
||||
# gui/game/screens.rpy:556
|
||||
old "Version [config.version!t]\n"
|
||||
@@ -227,7 +227,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:558
|
||||
old "## gui.about is usually set in options.rpy."
|
||||
new "## «gui.about» зазвичай встановлюється в «options.rpy»."
|
||||
new "## Значення «gui.about» зазвичай задається у файлі «options.rpy»."
|
||||
|
||||
# gui/game/screens.rpy:562
|
||||
old "Made with {a=https://www.renpy.org/}Ren'Py{/a} [renpy.version_only].\n\n[renpy.license!t]"
|
||||
@@ -259,7 +259,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:604
|
||||
old "## This ensures the input will get the enter event before any of the buttons do."
|
||||
new "## Це гарантує, що введення отримає подію «enter» раніше, ніж будь-яка кнопка."
|
||||
new "## Це гарантує, що введення отримає подію входу раніше, ніж будь-яка кнопка."
|
||||
|
||||
# gui/game/screens.rpy:608
|
||||
old "## The page name, which can be edited by clicking on a button."
|
||||
@@ -267,11 +267,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:620
|
||||
old "## The grid of file slots."
|
||||
new "## Сітка комірок для файлів."
|
||||
new "## Сітка комірок збережень."
|
||||
|
||||
# gui/game/screens.rpy:640
|
||||
old "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%A, %B %d %Y, %H:%M"
|
||||
new "{#file_time}%A, %d %B %Y, %H:%M"
|
||||
|
||||
# gui/game/screens.rpy:640
|
||||
old "empty slot"
|
||||
@@ -279,7 +279,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:648
|
||||
old "## Buttons to access other pages."
|
||||
new "## Кнопки для доступу до інших сторінок."
|
||||
new "## Кнопки для відкриття інших сторінок."
|
||||
|
||||
# gui/game/screens.rpy:657
|
||||
old "<"
|
||||
@@ -295,7 +295,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:665
|
||||
old "## range(1, 10) gives the numbers from 1 to 9."
|
||||
new "## range(1, 10) дає числа від 1 до 9."
|
||||
new "## range(1, 10) повертає числа від 1 до 9."
|
||||
|
||||
# gui/game/screens.rpy:669
|
||||
old ">"
|
||||
@@ -339,11 +339,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:737
|
||||
old "## Additional vboxes of type \"radio_pref\" or \"check_pref\" can be added here, to add additional creator-defined preferences."
|
||||
new "## Сюди можна долучити додаткові вікна vbox типу «radio_pref» або «check_pref», щоб долучити додаткові параметри, визначені творцем."
|
||||
new "## Сюди можна додати додаткові vbox'и типу «radio_pref» або «check_pref», щоб додати додаткові налаштування, визначені автором."
|
||||
|
||||
# gui/game/screens.rpy:748
|
||||
old "Text Speed"
|
||||
new "Швидкість тексту"
|
||||
new "Швидкість друку тексту"
|
||||
|
||||
# gui/game/screens.rpy:752
|
||||
old "Auto-Forward Time"
|
||||
@@ -355,7 +355,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:766
|
||||
old "Sound Volume"
|
||||
new "Гучність звук. ефектів"
|
||||
new "Гучність звукових ефектів"
|
||||
|
||||
# gui/game/screens.rpy:772
|
||||
old "Test"
|
||||
@@ -375,7 +375,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:865
|
||||
old "## This is a screen that displays the dialogue history to the player. While there isn't anything special about this screen, it does have to access the dialogue history stored in _history_list."
|
||||
new "## Це екран, на якому гравцеві відображається історія діалогів. Хоча в цьому екрані немає нічого особливого, він має доступ до історії діалогів, що зберігається в _history_list."
|
||||
new "## Це екран, на якому гравцеві буде показано історію діалогів. Хоч й в цьому екрані немає нічого особливого, він має мати доступ до історії діалогів, що зберігається в «_history_list»."
|
||||
|
||||
# gui/game/screens.rpy:869
|
||||
old "## https://www.renpy.org/doc/html/history.html"
|
||||
@@ -383,15 +383,15 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:875
|
||||
old "## Avoid predicting this screen, as it can be very large."
|
||||
new "## Не намагайтеся передбачити цей екран, оскільки він може бути дуже великим."
|
||||
new "## Уникайте виклику цього екрану, оскільки він може бути дуже великим."
|
||||
|
||||
# gui/game/screens.rpy:886
|
||||
old "## This lays things out properly if history_height is None."
|
||||
new "## Тут все буде правильно, якщо history_height дорівнює None."
|
||||
new "## Тут усе буде показано правильно, якщо «history_height» дорівнює «None»."
|
||||
|
||||
# gui/game/screens.rpy:896
|
||||
old "## Take the color of the who text from the Character, if set."
|
||||
new "## Бере колір тексту who з Character, якщо він заданий."
|
||||
new "## Бере колір тексту «who» з «Character», якщо він заданий."
|
||||
|
||||
# gui/game/screens.rpy:905
|
||||
old "The dialogue history is empty."
|
||||
@@ -399,7 +399,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:908
|
||||
old "## This determines what tags are allowed to be displayed on the history screen."
|
||||
new "## Це визначає теги, які можна відображати на екрані історії."
|
||||
new "## Визначає, які теги дозволено показувати на екрані історії."
|
||||
|
||||
# gui/game/screens.rpy:953
|
||||
old "## Help screen"
|
||||
@@ -407,7 +407,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:955
|
||||
old "## A screen that gives information about key and mouse bindings. It uses other screens (keyboard_help, mouse_help, and gamepad_help) to display the actual help."
|
||||
new "## Екран, що надає інформацію про прив’язку клавіш і миші. Він використовує інші екрани (keyboard_help, mouse_help і gamepad_help), щоб відобразити фактичну довідку."
|
||||
new "## Екран, що надає інформацію про призначення клавіш і миші. Він використовує інші екрани (keyboard_help, mouse_help та gamepad_help), щоб показати саму довідку."
|
||||
|
||||
# gui/game/screens.rpy:974
|
||||
old "Keyboard"
|
||||
@@ -439,7 +439,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:999
|
||||
old "Arrow Keys"
|
||||
new "Клавіші зі стрілками"
|
||||
new "Клавіші стрілок"
|
||||
|
||||
# gui/game/screens.rpy:1000
|
||||
old "Navigate the interface."
|
||||
@@ -451,7 +451,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1004
|
||||
old "Accesses the game menu."
|
||||
new "Доступ до меню гри."
|
||||
new "Відкриває ігрове меню."
|
||||
|
||||
# gui/game/screens.rpy:1007
|
||||
old "Ctrl"
|
||||
@@ -467,7 +467,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1012
|
||||
old "Toggles dialogue skipping."
|
||||
new "Вмикає пропуск діалогу."
|
||||
new "Перемикає пропуск діалогу."
|
||||
|
||||
# gui/game/screens.rpy:1015
|
||||
old "Page Up"
|
||||
@@ -475,7 +475,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1016
|
||||
old "Rolls back to earlier dialogue."
|
||||
new "Відкат до попереднього діалогу."
|
||||
new "Відкатує до попереднього діалогу."
|
||||
|
||||
# gui/game/screens.rpy:1019
|
||||
old "Page Down"
|
||||
@@ -483,7 +483,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1020
|
||||
old "Rolls forward to later dialogue."
|
||||
new "Перехід до наступного діалогу."
|
||||
new "Переходить до наступного діалогу."
|
||||
|
||||
# gui/game/screens.rpy:1024
|
||||
old "Hides the user interface."
|
||||
@@ -503,15 +503,15 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1042
|
||||
old "Left Click"
|
||||
new "ЛКМ"
|
||||
new "Ліва кнопка миші"
|
||||
|
||||
# gui/game/screens.rpy:1046
|
||||
old "Middle Click"
|
||||
new "СКМ"
|
||||
new "Середня кнопка миші"
|
||||
|
||||
# gui/game/screens.rpy:1050
|
||||
old "Right Click"
|
||||
new "ПКМ"
|
||||
new "Права кнопка миші"
|
||||
|
||||
# gui/game/screens.rpy:1054
|
||||
old "Mouse Wheel Up"
|
||||
@@ -523,7 +523,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1065
|
||||
old "Right Trigger\nA/Bottom Button"
|
||||
new "Правий тригер\nA/Нижня кнопка"
|
||||
new "Правий тригер\nКнопка A/Униз"
|
||||
|
||||
# gui/game/screens.rpy:1069
|
||||
old "Left Trigger\nLeft Shoulder"
|
||||
@@ -535,7 +535,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1078
|
||||
old "D-Pad, Sticks"
|
||||
new "Хрестовина, Стики"
|
||||
new "Хрестовина, стики"
|
||||
|
||||
# gui/game/screens.rpy:1082
|
||||
old "Start, Guide"
|
||||
@@ -543,12 +543,16 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1086
|
||||
old "Y/Top Button"
|
||||
new "Y/Верхня кнопка"
|
||||
new "Кнопка Y/Угору"
|
||||
|
||||
# gui/game/screens.rpy:1089
|
||||
old "Calibrate"
|
||||
new "Відкалібрувати"
|
||||
|
||||
# gui/game/screens.rpy:1098
|
||||
old "Start, Guide, B/Right Button"
|
||||
new "Start, Guide, Кнопка B/Управо"
|
||||
|
||||
# gui/game/screens.rpy:1117
|
||||
old "## Additional screens"
|
||||
new "## Додаткові екрани"
|
||||
@@ -559,7 +563,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1123
|
||||
old "## The confirm screen is called when Ren'Py wants to ask the player a yes or no question."
|
||||
new "## Екран підтвердження викликається, коли Ren'Py хоче поставити гравцеві запитання «Так» або «Ні»."
|
||||
new "## Екран підтвердження викликається, коли Ren'Py хоче поставити гравцеві запитання з відповіддю «Так» або «Ні»."
|
||||
|
||||
# gui/game/screens.rpy:1126
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#confirm"
|
||||
@@ -567,7 +571,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1130
|
||||
old "## Ensure other screens do not get input while this screen is displayed."
|
||||
new "## Переконайтеся, що інші екрани не отримують введення, поки відображається цей екран."
|
||||
new "## Переконайтеся, що на інші екранах не отримується введення під час показу цього екрана."
|
||||
|
||||
# gui/game/screens.rpy:1154
|
||||
old "Yes"
|
||||
@@ -579,7 +583,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1157
|
||||
old "## Right-click and escape answer \"no\"."
|
||||
new "## Клацніть ПКМ та вийдіть із відповіді «Ні»."
|
||||
new "## Клацніть ПКМ й оберіть відповідь «Ні»."
|
||||
|
||||
# gui/game/screens.rpy:1184
|
||||
old "## Skip indicator screen"
|
||||
@@ -587,7 +591,7 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1186
|
||||
old "## The skip_indicator screen is displayed to indicate that skipping is in progress."
|
||||
new "## Екран skip_indicator відображається, щоб вказати, що триває пропуск."
|
||||
new "## Екран «skip_indicator» показується, що вказати на те, що виконується пропуск."
|
||||
|
||||
# gui/game/screens.rpy:1189
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#skip-indicator"
|
||||
@@ -599,19 +603,19 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1208
|
||||
old "## This transform is used to blink the arrows one after another."
|
||||
new "## Це перетворення використовується для миготіння стрілок одна за одною."
|
||||
new "## Це перетворення використовується для блимання стрілок одна за одною."
|
||||
|
||||
# gui/game/screens.rpy:1235
|
||||
old "## We have to use a font that has the BLACK RIGHT-POINTING SMALL TRIANGLE glyph in it."
|
||||
new "## Ми повинні використовувати шрифт із гліфом МАЛЕНЬКИЙ ЧОРНИЙ ТРИКУТНИК ВПРАВО."
|
||||
new "## Ми маємо використовувати шрифт, в якому є гліф «BLACK RIGHT-POINTING SMALL TRIANGLE»."
|
||||
|
||||
# gui/game/screens.rpy:1240
|
||||
old "## Notify screen"
|
||||
new "## Екран сповіщень"
|
||||
new "## Екран оповіщення"
|
||||
|
||||
# gui/game/screens.rpy:1242
|
||||
old "## The notify screen is used to show the player a message. (For example, when the game is quicksaved or a screenshot has been taken.)"
|
||||
new "## Екран сповіщень використовується, щоб показати гравцеві повідомлення. (Наприклад, коли гра швидко збережена або зроблено знімок екрана.)"
|
||||
new "## Екран оповіщення використовується, щоб показати гравцеві повідомлення. (Наприклад, коли гру збережено або зроблено знімок екрана)."
|
||||
|
||||
# gui/game/screens.rpy:1245
|
||||
old "## https://www.renpy.org/doc/html/screen_special.html#notify-screen"
|
||||
@@ -631,15 +635,15 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1294
|
||||
old "## Displays dialogue in either a vpgrid or the vbox."
|
||||
new "## Відображає діалог у vpgrid або vbox."
|
||||
new "## Показує діалог у типі «vpgrid» або «vbox»."
|
||||
|
||||
# gui/game/screens.rpy:1307
|
||||
old "## Displays the menu, if given. The menu may be displayed incorrectly if config.narrator_menu is set to True."
|
||||
new "## Відображає меню, якщо є. Меню може відображатися неправильно, якщо для config.narrator_menu задано значення True."
|
||||
new "## Показує меню, якщо його задано. Меню може показуватися некоректно, якщо «config.narrator_menu» має значення «True»."
|
||||
|
||||
# gui/game/screens.rpy:1337
|
||||
old "## This controls the maximum number of NVL-mode entries that can be displayed at once."
|
||||
new "## Це визначає максимальну кількість записів у режимі NVL, які можуть бути відображені одночасно."
|
||||
new "## Цей параметр контролює максимальну кількість реплік у режимі NVL, які можуть бути показані одночасно."
|
||||
|
||||
# gui/game/screens.rpy:1399
|
||||
old "## Mobile Variants"
|
||||
@@ -653,7 +657,6 @@ translate ukrainian strings:
|
||||
old "Menu"
|
||||
new "Меню"
|
||||
|
||||
|
||||
translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:676
|
||||
@@ -666,11 +669,11 @@ translate ukrainian strings:
|
||||
|
||||
# gui/game/screens.rpy:1410
|
||||
old "## Bubble screen"
|
||||
new "## Екран з бульбашками"
|
||||
new "## Екран бульбашок"
|
||||
|
||||
# gui/game/screens.rpy:1412
|
||||
old "## The bubble screen is used to display dialogue to the player when using speech bubbles. The bubble screen takes the same parameters as the say screen, must create a displayable with the id of \"what\", and can create displayables with the \"namebox\", \"who\", and \"window\" ids."
|
||||
new "## Екран бульбашок використовується для показу діалогу гравцеві під час використання мовних бульбашок. Екран бульбашок має ті самі параметри, що й екран слів, має створювати елемент відображення з ідентифікатором «what», а також може створювати елементи відображення з ідентифікаторами «namebox», «who» і «window»."
|
||||
new "## Екран бульбашок використовується для показу діалогу гравцеві під час використання мовних бульбашок. Екран бульбашок має ті самі параметри, що й екран промови, має створювати об’єкт з ідентифікатором «what», а також може створювати об’єкти з ідентифікаторами «namebox», «who» і «window»."
|
||||
|
||||
# gui/game/screens.rpy:1417
|
||||
old "## https://www.renpy.org/doc/html/bubble.html#bubble-screen"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# У цьому файлі міститься скрипт гри.
|
||||
# У цьому файлі міститься сценарій гри.
|
||||
|
||||
# Оголошення персонажів, які використовуються в цій грі. Колірний аргумент розфарбовує
|
||||
# ім’я персонажа.
|
||||
# Визначення персонажів для гри.
|
||||
# Аргумент color змінює колір ім’я персонажа.
|
||||
|
||||
define e = Character("Ейлін")
|
||||
|
||||
@@ -10,23 +10,23 @@ define e = Character("Ейлін")
|
||||
|
||||
label start:
|
||||
|
||||
# Це показує тло. За стандратом використовується заповнювач, але ви можете
|
||||
# Показ тла. Типово використовується заповнювач, але ви можете
|
||||
# додати файл (з назвою «bg room.png» або «bg room.jpg») до
|
||||
# теки images, щоб показати його.
|
||||
|
||||
scene bg room
|
||||
|
||||
# Це показує спрайт персонажа. Використовується заповнювач, але ви можете
|
||||
# замінити його, додавши до зображень файл із назвою «eileen happy.png».
|
||||
# до теки.
|
||||
# Наступний рядок показує спрайт персонажа. Тут використано заповнювач,
|
||||
# але ви можете замінити його, додавши файл з назвою «eileen happy.png»,
|
||||
# до теки images.
|
||||
|
||||
show eileen happy
|
||||
|
||||
# Це репліки діалогу.
|
||||
# Ці рядки показують репліки діалогу.
|
||||
|
||||
e "Ви створили нову гру Ren'Py."
|
||||
|
||||
e "Додавши історію, зображення та музику, ви можете оприлюднити це світові!"
|
||||
e "Додавши сюжет, зображення та музику, ви зможете оприлюднити її світові!"
|
||||
|
||||
# На цьому гра закінчується.
|
||||
|
||||
|
||||
@@ -364,7 +364,7 @@
|
||||
new "{b}Khuyến khích{/b} Một trình biên tập có giao diện thân thiện và chức năng hỗ trợ phát triển, chẳng hạn như kiểm tra lỗi chính tả. Editra hiện đang thiếu sự hỗ trợ IME cần thiết để nhập văn bản Trung Quốc, Nhật Bản, và Hàn Quốc. Với Linux Editra cần thêm wxPython."
|
||||
|
||||
# editor.rpy:167
|
||||
old "This may have occured because wxPython is not installed on this system."
|
||||
old "This may have occurred because wxPython is not installed on this system."
|
||||
new "Lỗi xảy ra có thể là do wxPython chưa được cài đặt vào hệ thống."
|
||||
|
||||
# editor.rpy:169
|
||||
@@ -380,7 +380,7 @@
|
||||
new "Cần tải về 1.8 MB tập tin"
|
||||
|
||||
# editor.rpy:182
|
||||
old "This may have occured because Java is not installed on this system."
|
||||
old "This may have occurred because Java is not installed on this system."
|
||||
new "Lỗi xảy ra có thể là do Java chưa được cài đặt vào hệ thống."
|
||||
|
||||
# editor.rpy:191
|
||||
@@ -392,7 +392,7 @@
|
||||
new "Chặn Ren'py mở một trình biên tập văn bản"
|
||||
|
||||
# editor.rpy:359
|
||||
old "An exception occured while launching the text editor:\n[exception!q]"
|
||||
old "An exception occurred while launching the text editor:\n[exception!q]"
|
||||
new "Một lỗi xuất hiện khi đang mở trình biên tập văn bản:\n[exception!q]"
|
||||
|
||||
# editor.rpy:457
|
||||
@@ -608,7 +608,7 @@
|
||||
new "LỖI"
|
||||
|
||||
# interface.rpy:356
|
||||
old "While [what!qt], an error occured:"
|
||||
old "While [what!qt], an error occurred:"
|
||||
new "Trong khi [what!qt], một lỗi xảy ra:"
|
||||
|
||||
# interface.rpy:356
|
||||
@@ -1136,7 +1136,7 @@
|
||||
new "Rìa gần nhất tới sự phát triển của Ren'Py. Nó có thể chứa các tính năng mới nhất hoặc chẳng chạy được luôn."
|
||||
|
||||
# updater.rpy:152
|
||||
old "An error has occured:"
|
||||
old "An error has occurred:"
|
||||
new "Một lỗi đã xảy ra:"
|
||||
|
||||
# updater.rpy:154
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -159,7 +159,7 @@ screen updater:
|
||||
has vbox
|
||||
|
||||
if u.state == u.ERROR:
|
||||
text _("An error has occured:")
|
||||
text _("An error has occurred:")
|
||||
elif u.state == u.CHECKING:
|
||||
text _("Checking for updates.")
|
||||
elif u.state == u.UPDATE_NOT_AVAILABLE:
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -55,7 +55,7 @@ init -1 python in util:
|
||||
|
||||
for subdir, directories, files in os.walk(directory):
|
||||
for fn in directories:
|
||||
if not isinstance(fn, unicode):
|
||||
if not isinstance(fn, str):
|
||||
continue
|
||||
|
||||
fullfn = os.path.join(subdir, fn)
|
||||
@@ -66,7 +66,7 @@ init -1 python in util:
|
||||
yield relfn, True
|
||||
|
||||
for fn in files:
|
||||
if not isinstance(fn, unicode):
|
||||
if not isinstance(fn, str):
|
||||
continue
|
||||
|
||||
fullfn = os.path.join(subdir, fn)
|
||||
|
||||
+11
-16
@@ -1,4 +1,4 @@
|
||||
# Copyright 2004-2024 Tom Rothamel <pytom@bishoujo.us>
|
||||
# Copyright 2004-2025 Tom Rothamel <pytom@bishoujo.us>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person
|
||||
# obtaining a copy of this software and associated documentation files
|
||||
@@ -440,13 +440,12 @@ init python:
|
||||
# Find the presplash and copy it over.
|
||||
presplash = None
|
||||
|
||||
if not PY2:
|
||||
for fn in [ "web-presplash.png", "web-presplash.jpg", "web-presplash.webp" ]:
|
||||
fullfn = os.path.join(project.current.path, fn)
|
||||
for fn in [ "web-presplash.png", "web-presplash.jpg", "web-presplash.webp" ]:
|
||||
fullfn = os.path.join(project.current.path, fn)
|
||||
|
||||
if os.path.exists(fullfn):
|
||||
presplash = fn
|
||||
break
|
||||
if os.path.exists(fullfn):
|
||||
presplash = fn
|
||||
break
|
||||
|
||||
if presplash:
|
||||
os.unlink(os.path.join(destination, "web-presplash.jpg"))
|
||||
@@ -456,20 +455,16 @@ init python:
|
||||
with io.open(os.path.join(WEB_PATH, "index.html"), encoding='utf-8') as f:
|
||||
html = f.read()
|
||||
|
||||
if PY2:
|
||||
html = html.replace("%%TITLE%%", display_name)
|
||||
else:
|
||||
html = html.replace("Ren'Py Web Game", display_name)
|
||||
html = html.replace("Ren'Py Web Game", display_name)
|
||||
|
||||
if presplash:
|
||||
html = html.replace("web-presplash.jpg", presplash)
|
||||
if presplash:
|
||||
html = html.replace("web-presplash.jpg", presplash)
|
||||
|
||||
with io.open(os.path.join(destination, "index.html"), "w", encoding='utf-8') as f:
|
||||
f.write(html)
|
||||
|
||||
if not PY2:
|
||||
generate_web_icons(p, destination)
|
||||
prepare_pwa_files(p, destination)
|
||||
generate_web_icons(p, destination)
|
||||
prepare_pwa_files(p, destination)
|
||||
|
||||
# Zip up the game.
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ root = ""
|
||||
|
||||
import renpy
|
||||
|
||||
class BannedException(Exception):
|
||||
pass
|
||||
|
||||
class WebHandler(http.server.BaseHTTPRequestHandler):
|
||||
|
||||
@@ -59,7 +61,13 @@ class WebHandler(http.server.BaseHTTPRequestHandler):
|
||||
None, in which case the caller has nothing further to do.
|
||||
|
||||
"""
|
||||
path = self.translate_path(self.path)
|
||||
|
||||
try:
|
||||
path = self.translate_path(self.path)
|
||||
except BannedException:
|
||||
self.send_error(403, "File not found")
|
||||
return None
|
||||
|
||||
f = None
|
||||
if os.path.isdir(path):
|
||||
parts = urllib.parse.urlsplit(self.path)
|
||||
@@ -192,6 +200,9 @@ class WebHandler(http.server.BaseHTTPRequestHandler):
|
||||
path = root
|
||||
|
||||
for word in words:
|
||||
if word.startswith("."):
|
||||
raise BannedException("Invalid path.")
|
||||
|
||||
if os.path.dirname(word) or word in (os.curdir, os.pardir):
|
||||
# Ignore components that are not a simple file/directory name
|
||||
continue
|
||||
|
||||
Binary file not shown.
@@ -1,45 +0,0 @@
|
||||
_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.audio.filter gen/renpy.audio.filter.c
|
||||
renpy.lexersupport gen/renpy.lexersupport.c
|
||||
renpy.pydict gen/renpy.pydict.c
|
||||
renpy.style gen/renpy.style.c
|
||||
renpy.encryption gen/renpy.encryption.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.display.quaternion gen/renpy.display.quaternion.c
|
||||
renpy.uguu.gl gen/renpy.uguu.gl.c
|
||||
renpy.uguu.uguu gen/renpy.uguu.uguu.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
|
||||
renpy.text.hbfont gen/renpy.text.hbfont.c
|
||||
@@ -1 +0,0 @@
|
||||
_renpytfd gen/_renpytfd.c tinyfiledialogs/tinyfiledialogs.c
|
||||
-219
@@ -1,219 +0,0 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
# Copyright 2004-2024 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.
|
||||
|
||||
from __future__ import print_function
|
||||
|
||||
import platform
|
||||
import sys
|
||||
import os
|
||||
import subprocess
|
||||
|
||||
import future
|
||||
|
||||
# Change to the directory containing this file.
|
||||
BASE = os.path.abspath(os.path.dirname(sys.argv[0]))
|
||||
os.chdir(BASE)
|
||||
|
||||
# Create the gen directory if it doesn't exist.
|
||||
try:
|
||||
os.makedirs("gen")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
# Generate styles.
|
||||
import generate_styles
|
||||
generate_styles.generate()
|
||||
|
||||
# If RENPY_CC or RENPY_LD are in the environment, and CC or LD are not, use them.
|
||||
def setup_env(name):
|
||||
renpy_name = "RENPY_" + name
|
||||
if (renpy_name in os.environ) and (name not in os.environ):
|
||||
os.environ[name] = os.environ[renpy_name]
|
||||
|
||||
|
||||
setup_env("CC")
|
||||
setup_env("LD")
|
||||
setup_env("CXX")
|
||||
|
||||
import setuplib
|
||||
from setuplib import android, ios, emscripten, raspi, include, library, cython, cmodule, copyfile, find_unnecessary_gen, generate_all_cython, PY2
|
||||
|
||||
# These control the level of optimization versus debugging.
|
||||
setuplib.extra_compile_args = [ "-Wno-unused-function" ]
|
||||
setuplib.extra_link_args = [ ]
|
||||
|
||||
# Detect win32.
|
||||
if platform.win32_ver()[0]:
|
||||
windows = True
|
||||
setuplib.extra_compile_args.append("-fno-strict-aliasing")
|
||||
tfd_libs = [ "comdlg32", "ole32" ]
|
||||
|
||||
else:
|
||||
windows = False
|
||||
tfd_libs = [ ]
|
||||
|
||||
if raspi:
|
||||
setuplib.extra_compile_args.append("-DRASPBERRY_PI")
|
||||
|
||||
include("zlib.h")
|
||||
include("png.h")
|
||||
include("SDL.h", directory="SDL2")
|
||||
include("ft2build.h")
|
||||
include("freetype/freetype.h", directory="freetype2", optional=True) or include("freetype.h", directory="freetype2") # type: ignore
|
||||
include("libavutil/avstring.h", directory="ffmpeg", optional=True) or include("libavutil/avstring.h") # type: ignore
|
||||
include("libavformat/avformat.h", directory="ffmpeg", optional=True) or include("libavformat/avformat.h") # type: ignore
|
||||
include("libavcodec/avcodec.h", directory="ffmpeg", optional=True) or include("libavcodec/avcodec.h") # type: ignore
|
||||
include("libswscale/swscale.h", directory="ffmpeg", optional=True) or include("libswscale/swscale.h") # type: ignore
|
||||
include("GL/glew.h")
|
||||
include("pygame_sdl2/pygame_sdl2.h", directory="python{}.{}".format(sys.version_info.major, sys.version_info.minor))
|
||||
include("hb.h", directory="harfbuzz")
|
||||
|
||||
library("SDL2")
|
||||
library("png")
|
||||
library("avformat")
|
||||
library("avcodec")
|
||||
library("avutil")
|
||||
has_avresample = library("avresample", optional=True)
|
||||
has_swresample = library("swresample", optional=True)
|
||||
has_swscale = library("swscale", optional=True)
|
||||
library("freetype")
|
||||
library("z")
|
||||
has_libglew = library("GLEW", optional=True)
|
||||
has_libglew32 = library("glew32", optional=True)
|
||||
|
||||
if android:
|
||||
sdl = [ 'SDL2', 'GLESv2', 'log' ]
|
||||
png = 'png16'
|
||||
else:
|
||||
sdl = [ 'SDL2' ]
|
||||
png = 'png'
|
||||
|
||||
cubism = os.environ.get("CUBISM", None)
|
||||
if cubism:
|
||||
setuplib.include_dirs.append("{}/Core/include".format(cubism))
|
||||
|
||||
# Modules directory.
|
||||
cython(
|
||||
"_renpy",
|
||||
[ "IMG_savepng.c", "core.c" ],
|
||||
sdl + [ png, 'z', 'm' ])
|
||||
|
||||
cython("_renpybidi", [ "renpybidicore.c" ], [ "fribidi" ])
|
||||
|
||||
if not (android or ios or emscripten):
|
||||
cython("_renpytfd", [ "tinyfiledialogs/tinyfiledialogs.c" ], libs=tfd_libs)
|
||||
|
||||
# Sound.
|
||||
|
||||
sound = [ "avformat", "avcodec", "avutil", "z" ]
|
||||
macros = [ ]
|
||||
|
||||
if has_swresample:
|
||||
sound.insert(3, "swresample")
|
||||
|
||||
if has_avresample:
|
||||
sound.insert(0, "avresample")
|
||||
macros.append(("HAS_RESAMPLE", 1))
|
||||
|
||||
if has_swscale:
|
||||
sound.insert(0, "swscale")
|
||||
|
||||
cython(
|
||||
"renpy.audio.renpysound",
|
||||
[ "renpysound_core.c", "ffmedia.c" ],
|
||||
libs=sdl + sound,
|
||||
define_macros=macros,
|
||||
compile_args=[ "-Wno-deprecated-declarations" ] if ("RENPY_FFMPEG_NO_DEPRECATED_DECLARATIONS" in os.environ) else [ ])
|
||||
|
||||
cython("renpy.audio.filter")
|
||||
|
||||
# renpy
|
||||
cython("renpy.lexersupport")
|
||||
cython("renpy.pydict")
|
||||
cython("renpy.style")
|
||||
|
||||
cython("renpy.encryption")
|
||||
|
||||
# renpy.compat
|
||||
if PY2:
|
||||
cython("renpy.compat.dictviews")
|
||||
|
||||
# renpy.styledata
|
||||
cython("renpy.styledata.styleclass")
|
||||
cython("renpy.styledata.stylesets")
|
||||
|
||||
for p in generate_styles.prefixes:
|
||||
cython("renpy.styledata.style_{}functions".format(p), pyx=setuplib.gen + "/style_{}functions.pyx".format(p))
|
||||
|
||||
# renpy.display
|
||||
cython("renpy.display.matrix")
|
||||
cython("renpy.display.render", libs=[ 'z', 'm' ])
|
||||
cython("renpy.display.accelerator", libs=sdl + [ 'z', 'm' ])
|
||||
cython("renpy.display.quaternion", libs=[ 'm' ])
|
||||
|
||||
cython("renpy.uguu.gl", libs=sdl)
|
||||
cython("renpy.uguu.uguu", libs=sdl)
|
||||
|
||||
cython("renpy.gl.gldraw", libs=sdl)
|
||||
cython("renpy.gl.gltexture", libs=sdl)
|
||||
cython("renpy.gl.glenviron_shader", libs=sdl)
|
||||
cython("renpy.gl.glrtt_copy", libs=sdl)
|
||||
cython("renpy.gl.glrtt_fbo", libs=sdl)
|
||||
|
||||
cython("renpy.gl2.gl2mesh")
|
||||
cython("renpy.gl2.gl2mesh2")
|
||||
cython("renpy.gl2.gl2mesh3")
|
||||
cython("renpy.gl2.gl2polygon")
|
||||
cython("renpy.gl2.gl2model")
|
||||
cython("renpy.gl2.gl2draw", libs=sdl)
|
||||
cython("renpy.gl2.gl2texture", libs=sdl)
|
||||
cython("renpy.gl2.gl2shader", libs=sdl)
|
||||
|
||||
if cubism:
|
||||
cython("renpy.gl2.live2dmodel", libs=sdl)
|
||||
|
||||
# renpy.text
|
||||
cython("renpy.text.textsupport")
|
||||
cython("renpy.text.texwrap")
|
||||
|
||||
cython(
|
||||
"renpy.text.ftfont",
|
||||
[ "ftsupport.c", "ttgsubtable.c" ],
|
||||
libs=sdl + [ 'freetype', 'z', 'm' ])
|
||||
|
||||
if not (PY2 and emscripten):
|
||||
|
||||
cython(
|
||||
"renpy.text.hbfont",
|
||||
[ "ftsupport.c" ],
|
||||
libs=sdl + [ 'harfbuzz', 'freetype', 'z', 'm' ])
|
||||
|
||||
generate_all_cython()
|
||||
find_unnecessary_gen()
|
||||
|
||||
# Figure out the version, and call setup.
|
||||
sys.path.insert(0, '..')
|
||||
|
||||
import renpy
|
||||
|
||||
setuplib.setup("Ren'Py", renpy.version[7:].rstrip('un')) # @UndefinedVariable
|
||||
+29
-4
@@ -1,9 +1,9 @@
|
||||
[tool.pyright]
|
||||
|
||||
include = [
|
||||
"*.py",
|
||||
"renpy/",
|
||||
"module/"
|
||||
include = [
|
||||
"*.py",
|
||||
"renpy/",
|
||||
"src/"
|
||||
]
|
||||
|
||||
exclude = [
|
||||
@@ -21,3 +21,28 @@ reportOptionalIterable = false
|
||||
reportOptionalContextManager = false
|
||||
reportOptionalOperand = false
|
||||
reportMissingModuleSource = false
|
||||
|
||||
|
||||
[tool.cyright]
|
||||
include = [
|
||||
"*.py",
|
||||
"renpy/",
|
||||
"src/"
|
||||
]
|
||||
|
||||
exclude = [
|
||||
"module/build/",
|
||||
]
|
||||
|
||||
ignore = [
|
||||
"renpycoverage.py"
|
||||
]
|
||||
|
||||
reportGeneralTypeIssues = false
|
||||
reportOptionalSubscript = false
|
||||
reportOptionalMemberAccess = false
|
||||
reportOptionalCall = false
|
||||
reportOptionalIterable = false
|
||||
reportOptionalContextManager = false
|
||||
reportOptionalOperand = false
|
||||
reportMissingModuleSource = false
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user