1
0
Fork 0
mirror of https://github.com/Orama-Interactive/Pixelorama.git synced 2025-01-18 17:19:50 +00:00

Compare commits

...

260 commits

Author SHA1 Message Date
Emmanouil Papadeas be3c04611f
Merge 6d27ad3167 into f91bb18fb2 2024-12-05 02:12:51 +00:00
Emmanouil Papadeas 6d27ad3167 New translations translations.pot (Ancient Greek) 2024-12-05 04:12:50 +02:00
Emmanouil Papadeas 6ca2b104db New translations translations.pot (Norwegian Bokmal) 2024-12-05 04:12:49 +02:00
Emmanouil Papadeas d5412f2e35 New translations translations.pot (Swahili) 2024-12-05 04:12:48 +02:00
Emmanouil Papadeas 1a54fcd3eb New translations translations.pot (Sinhala) 2024-12-05 04:12:47 +02:00
Emmanouil Papadeas ecdd675027 New translations translations.pot (Latin) 2024-12-05 04:12:45 +02:00
Emmanouil Papadeas 04bb8e2596 New translations translations.pot (Malayalam) 2024-12-05 04:12:44 +02:00
Emmanouil Papadeas f017e230c0 New translations translations.pot (Filipino) 2024-12-05 04:12:43 +02:00
Emmanouil Papadeas 190441f5b0 New translations translations.pot (Esperanto) 2024-12-05 04:12:42 +02:00
Emmanouil Papadeas e991619ded New translations translations.pot (Pirate English) 2024-12-05 04:12:40 +02:00
Emmanouil Papadeas 5e295a7e88 New translations translations.pot (Klingon) 2024-12-05 04:12:39 +02:00
Emmanouil Papadeas 897dba7d53 New translations translations.pot (Welsh) 2024-12-05 04:12:38 +02:00
Emmanouil Papadeas 9dd9a99bd3 New translations translations.pot (Maori) 2024-12-05 04:12:37 +02:00
Emmanouil Papadeas 6927b2340b New translations translations.pot (Malay) 2024-12-05 04:12:35 +02:00
Emmanouil Papadeas f4ab2b72c8 New translations translations.pot (Hindi) 2024-12-05 04:12:34 +02:00
Emmanouil Papadeas 94f6385ac4 New translations translations.pot (Latvian) 2024-12-05 04:12:33 +02:00
Emmanouil Papadeas ddc2b0cb27 New translations translations.pot (Estonian) 2024-12-05 04:12:31 +02:00
Emmanouil Papadeas 7dfd01b723 New translations translations.pot (Kazakh) 2024-12-05 04:12:30 +02:00
Emmanouil Papadeas e4afaf06f5 New translations translations.pot (Croatian) 2024-12-05 04:12:29 +02:00
Emmanouil Papadeas 61af3506b2 New translations translations.pot (Thai) 2024-12-05 04:12:28 +02:00
Emmanouil Papadeas 25ce487a36 New translations translations.pot (Marathi) 2024-12-05 04:12:26 +02:00
Emmanouil Papadeas 3253d2d65b New translations translations.pot (Tamil) 2024-12-05 04:12:25 +02:00
Emmanouil Papadeas 4d0cb62956 New translations translations.pot (Indonesian) 2024-12-05 04:12:24 +02:00
Emmanouil Papadeas 96d1f78c69 New translations translations.pot (Portuguese, Brazilian) 2024-12-05 04:12:23 +02:00
Emmanouil Papadeas f49710f3fd New translations translations.pot (Icelandic) 2024-12-05 04:12:21 +02:00
Emmanouil Papadeas 48d30db10e New translations translations.pot (Vietnamese) 2024-12-05 04:12:20 +02:00
Emmanouil Papadeas 0265fc1af1 New translations translations.pot (Chinese Traditional) 2024-12-05 04:12:19 +02:00
Emmanouil Papadeas d98f6cbec4 New translations translations.pot (Ukrainian) 2024-12-05 04:12:18 +02:00
Emmanouil Papadeas b02c66d853 New translations translations.pot (Turkish) 2024-12-05 04:12:16 +02:00
Emmanouil Papadeas c3951af990 New translations translations.pot (Swedish) 2024-12-05 04:12:15 +02:00
Emmanouil Papadeas 14cbab9164 New translations translations.pot (Serbian (Cyrillic)) 2024-12-05 04:12:14 +02:00
Emmanouil Papadeas ca062ec3b8 New translations translations.pot (Albanian) 2024-12-05 04:12:12 +02:00
Emmanouil Papadeas e7fe137eb1 New translations translations.pot (Slovenian) 2024-12-05 04:12:11 +02:00
Emmanouil Papadeas fa50d7afe2 New translations translations.pot (Slovak) 2024-12-05 04:12:10 +02:00
Emmanouil Papadeas f03358b443 New translations translations.pot (Russian) 2024-12-05 04:12:08 +02:00
Emmanouil Papadeas d94a797fa9 New translations translations.pot (Portuguese) 2024-12-05 04:12:07 +02:00
Emmanouil Papadeas 7f85d33da5 New translations translations.pot (Dutch) 2024-12-05 04:12:05 +02:00
Emmanouil Papadeas 8d6a0fcf99 New translations translations.pot (Macedonian) 2024-12-05 04:12:04 +02:00
Emmanouil Papadeas 30967c3b0d New translations translations.pot (Lithuanian) 2024-12-05 04:12:03 +02:00
Emmanouil Papadeas 1e80bceb41 New translations translations.pot (Korean) 2024-12-05 04:12:01 +02:00
Emmanouil Papadeas 8c855b64ed New translations translations.pot (Japanese) 2024-12-05 04:12:00 +02:00
Emmanouil Papadeas 3507aeecb5 New translations translations.pot (Hungarian) 2024-12-05 04:11:59 +02:00
Emmanouil Papadeas 66078899aa New translations translations.pot (Hebrew) 2024-12-05 04:11:57 +02:00
Emmanouil Papadeas 1b9453d255 New translations translations.pot (Irish) 2024-12-05 04:11:56 +02:00
Emmanouil Papadeas 019afc0528 New translations translations.pot (Finnish) 2024-12-05 04:11:55 +02:00
Emmanouil Papadeas fd88f4dae8 New translations translations.pot (German) 2024-12-05 04:11:54 +02:00
Emmanouil Papadeas c671904099 New translations translations.pot (Danish) 2024-12-05 04:11:52 +02:00
Emmanouil Papadeas 44d80fffbe New translations translations.pot (Czech) 2024-12-05 04:11:51 +02:00
Emmanouil Papadeas ada3ea11c9 New translations translations.pot (Catalan) 2024-12-05 04:11:50 +02:00
Emmanouil Papadeas 336255e23c New translations translations.pot (Bulgarian) 2024-12-05 04:11:49 +02:00
Emmanouil Papadeas 9d6f77e600 New translations translations.pot (Belarusian) 2024-12-05 04:11:47 +02:00
Emmanouil Papadeas 4f838b8cfa New translations translations.pot (Arabic) 2024-12-05 04:11:46 +02:00
Emmanouil Papadeas dc1709eeca New translations translations.pot (Afrikaans) 2024-12-05 04:11:45 +02:00
Emmanouil Papadeas 4e271311e9 New translations translations.pot (French) 2024-12-05 04:11:43 +02:00
Emmanouil Papadeas 589c80c07d New translations translations.pot (Chinese Simplified) 2024-12-05 04:11:42 +02:00
Emmanouil Papadeas 0755c72698 New translations translations.pot (Polish) 2024-12-05 04:11:41 +02:00
Emmanouil Papadeas 72aeafbe02 New translations translations.pot (Italian) 2024-12-05 04:11:40 +02:00
Emmanouil Papadeas 3b5d3a49e1 New translations translations.pot (Greek) 2024-12-05 04:11:39 +02:00
Emmanouil Papadeas 0e49cdfcf6 New translations translations.pot (Spanish) 2024-12-05 04:11:35 +02:00
Emmanouil Papadeas 64cc58b2e8 New translations translations.pot (Romanian) 2024-12-05 04:11:33 +02:00
Emmanouil Papadeas f91bb18fb2
Implement tilemap layers (#1146) 2024-12-05 03:57:44 +02:00
Emmanouil Papadeas b48bb4a094 Fix moving selections with arrow keys moving two pixels instead of one 2024-12-04 01:19:45 +02:00
Variable ff5713ae91
When picking color, ensure that the correct index is selected in palette (#1144)
* When picking color, ensure that the correct index is selected

* if drawing over same color in index mode, check and update index as well

* revert an optimization (croping indices image before display)

* typo
2024-12-02 19:44:52 +02:00
Emmanouil Papadeas d9a56146fc New translations translations.pot (Greek) 2024-11-29 21:14:19 +02:00
Emmanouil Papadeas 62f58ec46b New translations translations.pot (Chinese Simplified) 2024-11-24 11:24:58 +02:00
Emmanouil Papadeas dd7c7d24a9 New translations translations.pot (Polish) 2024-11-24 11:24:57 +02:00
Emmanouil Papadeas 70a6438de5 New translations translations.pot (Spanish) 2024-11-23 19:57:25 +02:00
Emmanouil Papadeas 5cb406f4d8 New translations translations.pot (Italian) 2024-11-22 14:35:56 +02:00
Emmanouil Papadeas 2d0cccc3a5 New translations translations.pot (Romanian) 2024-11-21 09:44:20 +02:00
Emmanouil Papadeas 39e0680200 New translations translations.pot (Indonesian) 2024-11-20 16:24:59 +02:00
Emmanouil Papadeas 1119481659 New translations translations.pot (Turkish) 2024-11-20 16:24:58 +02:00
Emmanouil Papadeas 04134de9d7 New translations translations.pot (Japanese) 2024-11-20 16:24:57 +02:00
Emmanouil Papadeas ca6ae3bcee New translations translations.pot (Maori) 2024-11-20 14:59:30 +02:00
Emmanouil Papadeas 64e8841010 New translations translations.pot (Kazakh) 2024-11-20 14:59:29 +02:00
Emmanouil Papadeas ac507d8c2a New translations translations.pot (Ancient Greek) 2024-11-20 14:59:28 +02:00
Emmanouil Papadeas f3aa4c40dd New translations translations.pot (Norwegian Bokmal) 2024-11-20 14:59:26 +02:00
Emmanouil Papadeas 4d5b0d959f New translations translations.pot (Swahili) 2024-11-20 14:59:25 +02:00
Emmanouil Papadeas 39cd26fca1 New translations translations.pot (Sinhala) 2024-11-20 14:59:24 +02:00
Emmanouil Papadeas 25ca4f843b New translations translations.pot (Latin) 2024-11-20 14:59:22 +02:00
Emmanouil Papadeas 05eb0692e4 New translations translations.pot (Malayalam) 2024-11-20 14:59:21 +02:00
Emmanouil Papadeas ae0c122628 New translations translations.pot (Filipino) 2024-11-20 14:59:20 +02:00
Emmanouil Papadeas 6ed5d136cc New translations translations.pot (Esperanto) 2024-11-20 14:59:18 +02:00
Emmanouil Papadeas d25992130f New translations translations.pot (Pirate English) 2024-11-20 14:59:17 +02:00
Emmanouil Papadeas 3276316796 New translations translations.pot (Klingon) 2024-11-20 14:59:16 +02:00
Emmanouil Papadeas a740234401 New translations translations.pot (Welsh) 2024-11-20 14:59:15 +02:00
Emmanouil Papadeas 4cb97552fc New translations translations.pot (Malay) 2024-11-20 14:59:13 +02:00
Emmanouil Papadeas 54630152e1 New translations translations.pot (Hindi) 2024-11-20 14:59:12 +02:00
Emmanouil Papadeas b8b407d9cb New translations translations.pot (Latvian) 2024-11-20 14:59:11 +02:00
Emmanouil Papadeas aab2e9f98f New translations translations.pot (Estonian) 2024-11-20 14:59:10 +02:00
Emmanouil Papadeas eeee410bb6 New translations translations.pot (Croatian) 2024-11-20 14:59:09 +02:00
Emmanouil Papadeas 1b58048cdf New translations translations.pot (Thai) 2024-11-20 14:59:07 +02:00
Emmanouil Papadeas 9498458a8e New translations translations.pot (Marathi) 2024-11-20 14:59:06 +02:00
Emmanouil Papadeas 37998665df New translations translations.pot (Tamil) 2024-11-20 14:59:05 +02:00
Emmanouil Papadeas 2f0f0352ed New translations translations.pot (Indonesian) 2024-11-20 14:59:04 +02:00
Emmanouil Papadeas 450c134bf8 New translations translations.pot (Portuguese, Brazilian) 2024-11-20 14:59:02 +02:00
Emmanouil Papadeas a01edd8cde New translations translations.pot (Icelandic) 2024-11-20 14:59:01 +02:00
Emmanouil Papadeas 0b80c2a8a3 New translations translations.pot (Vietnamese) 2024-11-20 14:59:00 +02:00
Emmanouil Papadeas 2fcaa88f1f New translations translations.pot (Chinese Traditional) 2024-11-20 14:58:58 +02:00
Emmanouil Papadeas 345ae4b564 New translations translations.pot (Chinese Simplified) 2024-11-20 14:58:57 +02:00
Emmanouil Papadeas d1c0bdfadf New translations translations.pot (Turkish) 2024-11-20 14:58:56 +02:00
Emmanouil Papadeas 411732eb94 New translations translations.pot (Swedish) 2024-11-20 14:58:55 +02:00
Emmanouil Papadeas 02c4ead7a7 New translations translations.pot (Serbian (Cyrillic)) 2024-11-20 14:58:54 +02:00
Emmanouil Papadeas a8ba74618e New translations translations.pot (Albanian) 2024-11-20 14:58:52 +02:00
Emmanouil Papadeas c980a92de6 New translations translations.pot (Slovenian) 2024-11-20 14:58:51 +02:00
Emmanouil Papadeas 085cc9167d New translations translations.pot (Slovak) 2024-11-20 14:58:50 +02:00
Emmanouil Papadeas 4654afe60c New translations translations.pot (Portuguese) 2024-11-20 14:58:49 +02:00
Emmanouil Papadeas b37d100afa New translations translations.pot (Polish) 2024-11-20 14:58:48 +02:00
Emmanouil Papadeas a1902e0085 New translations translations.pot (Dutch) 2024-11-20 14:58:47 +02:00
Emmanouil Papadeas 1676cc9da6 New translations translations.pot (Macedonian) 2024-11-20 14:58:45 +02:00
Emmanouil Papadeas abbed6743f New translations translations.pot (Lithuanian) 2024-11-20 14:58:44 +02:00
Emmanouil Papadeas 55bb658407 New translations translations.pot (Korean) 2024-11-20 14:58:43 +02:00
Emmanouil Papadeas 7309f38d46 New translations translations.pot (Japanese) 2024-11-20 14:58:42 +02:00
Emmanouil Papadeas cdb3cc6f2d New translations translations.pot (Italian) 2024-11-20 14:58:41 +02:00
Emmanouil Papadeas ec86bbe4fc New translations translations.pot (Hungarian) 2024-11-20 14:58:40 +02:00
Emmanouil Papadeas a017e3df75 New translations translations.pot (Hebrew) 2024-11-20 14:58:38 +02:00
Emmanouil Papadeas 9c4be682f7 New translations translations.pot (Irish) 2024-11-20 14:58:37 +02:00
Emmanouil Papadeas 465501555a New translations translations.pot (Finnish) 2024-11-20 14:58:36 +02:00
Emmanouil Papadeas 171a8ffa1f New translations translations.pot (Greek) 2024-11-20 14:58:35 +02:00
Emmanouil Papadeas f037683da5 New translations translations.pot (German) 2024-11-20 14:58:33 +02:00
Emmanouil Papadeas 5313300a8c New translations translations.pot (Danish) 2024-11-20 14:58:31 +02:00
Emmanouil Papadeas f50eb3cd39 New translations translations.pot (Czech) 2024-11-20 14:58:30 +02:00
Emmanouil Papadeas af941f9080 New translations translations.pot (Catalan) 2024-11-20 14:58:29 +02:00
Emmanouil Papadeas 5293e55864 New translations translations.pot (Bulgarian) 2024-11-20 14:58:28 +02:00
Emmanouil Papadeas cb65ac97e0 New translations translations.pot (Belarusian) 2024-11-20 14:58:26 +02:00
Emmanouil Papadeas fa8c4014a3 New translations translations.pot (Arabic) 2024-11-20 14:58:25 +02:00
Emmanouil Papadeas 60b7fc80d0 New translations translations.pot (Afrikaans) 2024-11-20 14:58:23 +02:00
Emmanouil Papadeas 32fe10dedc New translations translations.pot (Spanish) 2024-11-20 14:58:22 +02:00
Emmanouil Papadeas 75cd9e4e4c New translations translations.pot (French) 2024-11-20 14:58:21 +02:00
Emmanouil Papadeas ff793dae23 New translations translations.pot (Romanian) 2024-11-20 14:58:19 +02:00
Emmanouil Papadeas e0f0a48359 New translations translations.pot (Ukrainian) 2024-11-20 14:58:18 +02:00
Emmanouil Papadeas eb1ce7f1ce New translations translations.pot (Russian) 2024-11-20 14:58:17 +02:00
Emmanouil Papadeas fd7967c45e New translations translations.pot (Indonesian) 2024-11-20 05:03:14 +02:00
Emmanouil Papadeas c054c755a8 New translations translations.pot (Chinese Simplified) 2024-11-19 17:27:38 +02:00
Emmanouil Papadeas 6317b73cd4 New translations translations.pot (Turkish) 2024-11-19 17:27:36 +02:00
Emmanouil Papadeas 584ebababe New translations translations.pot (Japanese) 2024-11-19 17:27:28 +02:00
Emmanouil Papadeas 46154877aa New translations translations.pot (Italian) 2024-11-19 17:27:26 +02:00
Emmanouil Papadeas 79b58b3a24 New translations translations.pot (Greek) 2024-11-19 17:27:22 +02:00
Emmanouil Papadeas 8b8287de6f New translations translations.pot (Romanian) 2024-11-19 17:27:15 +02:00
Emmanouil Papadeas 672513e0f2 New translations translations.pot (Maori) 2024-11-19 16:06:55 +02:00
Emmanouil Papadeas 7dea3822b7 New translations translations.pot (Kazakh) 2024-11-19 16:06:53 +02:00
Emmanouil Papadeas 0edc06b4d1 New translations translations.pot (Ancient Greek) 2024-11-19 16:06:52 +02:00
Emmanouil Papadeas cf3c759059 New translations translations.pot (Norwegian Bokmal) 2024-11-19 16:06:50 +02:00
Emmanouil Papadeas e57d63b7b3 New translations translations.pot (Swahili) 2024-11-19 16:06:49 +02:00
Emmanouil Papadeas 064ae238a3 New translations translations.pot (Sinhala) 2024-11-19 16:06:48 +02:00
Emmanouil Papadeas c86e5027ec New translations translations.pot (Latin) 2024-11-19 16:06:46 +02:00
Emmanouil Papadeas 6421073136 New translations translations.pot (Malayalam) 2024-11-19 16:06:45 +02:00
Emmanouil Papadeas e7dbe9a647 New translations translations.pot (Filipino) 2024-11-19 16:06:43 +02:00
Emmanouil Papadeas 1cedcaffd8 New translations translations.pot (Esperanto) 2024-11-19 16:06:42 +02:00
Emmanouil Papadeas c2fcff5fc0 New translations translations.pot (Pirate English) 2024-11-19 16:06:40 +02:00
Emmanouil Papadeas 1c455be32d New translations translations.pot (Klingon) 2024-11-19 16:06:38 +02:00
Emmanouil Papadeas 481905d1ea New translations translations.pot (Welsh) 2024-11-19 16:06:37 +02:00
Emmanouil Papadeas 3a0d4d583f New translations translations.pot (Malay) 2024-11-19 16:06:36 +02:00
Emmanouil Papadeas f09d719636 New translations translations.pot (Hindi) 2024-11-19 16:06:35 +02:00
Emmanouil Papadeas 16207a6eaa New translations translations.pot (Latvian) 2024-11-19 16:06:33 +02:00
Emmanouil Papadeas e531589050 New translations translations.pot (Estonian) 2024-11-19 16:06:31 +02:00
Emmanouil Papadeas 1a2b638912 New translations translations.pot (Croatian) 2024-11-19 16:06:30 +02:00
Emmanouil Papadeas 8c77d080c1 New translations translations.pot (Thai) 2024-11-19 16:06:29 +02:00
Emmanouil Papadeas b037d0d901 New translations translations.pot (Marathi) 2024-11-19 16:06:27 +02:00
Emmanouil Papadeas 657e0af3cb New translations translations.pot (Tamil) 2024-11-19 16:06:25 +02:00
Emmanouil Papadeas 29c86c424c New translations translations.pot (Indonesian) 2024-11-19 16:06:24 +02:00
Emmanouil Papadeas c6ae9e0fdf New translations translations.pot (Portuguese, Brazilian) 2024-11-19 16:06:23 +02:00
Emmanouil Papadeas c677bf4ca8 New translations translations.pot (Icelandic) 2024-11-19 16:06:21 +02:00
Emmanouil Papadeas 8c23989f57 New translations translations.pot (Vietnamese) 2024-11-19 16:06:20 +02:00
Emmanouil Papadeas c5bea895b9 New translations translations.pot (Chinese Traditional) 2024-11-19 16:06:18 +02:00
Emmanouil Papadeas ced90dbf8b New translations translations.pot (Chinese Simplified) 2024-11-19 16:06:17 +02:00
Emmanouil Papadeas 8708d7f7ce New translations translations.pot (Turkish) 2024-11-19 16:06:15 +02:00
Emmanouil Papadeas da2d834622 New translations translations.pot (Swedish) 2024-11-19 16:06:14 +02:00
Emmanouil Papadeas b85a61a1bc New translations translations.pot (Serbian (Cyrillic)) 2024-11-19 16:06:13 +02:00
Emmanouil Papadeas f5d7925a63 New translations translations.pot (Albanian) 2024-11-19 16:06:11 +02:00
Emmanouil Papadeas cb9d21384f New translations translations.pot (Slovenian) 2024-11-19 16:06:10 +02:00
Emmanouil Papadeas 36fc71732a New translations translations.pot (Slovak) 2024-11-19 16:06:08 +02:00
Emmanouil Papadeas e1d10d5732 New translations translations.pot (Portuguese) 2024-11-19 16:06:07 +02:00
Emmanouil Papadeas ce4c8f68d8 New translations translations.pot (Polish) 2024-11-19 16:06:05 +02:00
Emmanouil Papadeas d7bbbb19e5 New translations translations.pot (Dutch) 2024-11-19 16:06:03 +02:00
Emmanouil Papadeas 6325e70094 New translations translations.pot (Macedonian) 2024-11-19 16:06:01 +02:00
Emmanouil Papadeas 649a05390c New translations translations.pot (Lithuanian) 2024-11-19 16:06:00 +02:00
Emmanouil Papadeas 84acc98085 New translations translations.pot (Korean) 2024-11-19 16:05:58 +02:00
Emmanouil Papadeas d9f164e0c2 New translations translations.pot (Japanese) 2024-11-19 16:05:57 +02:00
Emmanouil Papadeas 5dc7f2c5db New translations translations.pot (Italian) 2024-11-19 16:05:55 +02:00
Emmanouil Papadeas 2000ff6cea New translations translations.pot (Hungarian) 2024-11-19 16:05:54 +02:00
Emmanouil Papadeas a3e7b9b113 New translations translations.pot (Hebrew) 2024-11-19 16:05:52 +02:00
Emmanouil Papadeas 510bb7746b New translations translations.pot (Irish) 2024-11-19 16:05:51 +02:00
Emmanouil Papadeas 38cb1c2bb8 New translations translations.pot (Finnish) 2024-11-19 16:05:50 +02:00
Emmanouil Papadeas 5fe2852007 New translations translations.pot (Greek) 2024-11-19 16:05:48 +02:00
Emmanouil Papadeas 1fd67e382f New translations translations.pot (German) 2024-11-19 16:05:47 +02:00
Emmanouil Papadeas 5e252abfb6 New translations translations.pot (Danish) 2024-11-19 16:05:45 +02:00
Emmanouil Papadeas fb3fb53951 New translations translations.pot (Czech) 2024-11-19 16:05:43 +02:00
Emmanouil Papadeas ce9d74e763 New translations translations.pot (Catalan) 2024-11-19 16:05:42 +02:00
Emmanouil Papadeas 3c78e3a5de New translations translations.pot (Bulgarian) 2024-11-19 16:05:40 +02:00
Emmanouil Papadeas e0842a1669 New translations translations.pot (Belarusian) 2024-11-19 16:05:39 +02:00
Emmanouil Papadeas d06c1aceac New translations translations.pot (Arabic) 2024-11-19 16:05:37 +02:00
Emmanouil Papadeas 599b154f7b New translations translations.pot (Afrikaans) 2024-11-19 16:05:36 +02:00
Emmanouil Papadeas 9bd201afe6 New translations translations.pot (Spanish) 2024-11-19 16:05:34 +02:00
Emmanouil Papadeas 5e5b78976e New translations translations.pot (French) 2024-11-19 16:05:32 +02:00
Emmanouil Papadeas 0d3e1340b3 New translations translations.pot (Romanian) 2024-11-19 16:05:31 +02:00
Emmanouil Papadeas 93cf529e31 New translations translations.pot (Ukrainian) 2024-11-19 16:05:29 +02:00
Emmanouil Papadeas 225632956c New translations translations.pot (Russian) 2024-11-19 16:05:28 +02:00
Emmanouil Papadeas a20bab50ee New translations translations.pot (Japanese) 2024-11-19 15:33:39 +02:00
Emmanouil Papadeas c81bba2581 New translations translations.pot (Italian) 2024-11-19 14:08:51 +02:00
Emmanouil Papadeas 5cb5d8cf43 New translations translations.pot (Romanian) 2024-11-19 11:06:49 +02:00
Emmanouil Papadeas 6a46e48126 New translations translations.pot (Chinese Simplified) 2024-11-19 03:56:22 +02:00
Emmanouil Papadeas 1e832bc75a New translations translations.pot (Maori) 2024-11-19 02:34:04 +02:00
Emmanouil Papadeas 604e4ffc60 New translations translations.pot (Kazakh) 2024-11-19 02:34:03 +02:00
Emmanouil Papadeas 8faa44f301 New translations translations.pot (Ancient Greek) 2024-11-19 02:34:01 +02:00
Emmanouil Papadeas f17f14f610 New translations translations.pot (Norwegian Bokmal) 2024-11-19 02:34:00 +02:00
Emmanouil Papadeas c6d5649bf8 New translations translations.pot (Swahili) 2024-11-19 02:33:58 +02:00
Emmanouil Papadeas c409144870 New translations translations.pot (Sinhala) 2024-11-19 02:33:57 +02:00
Emmanouil Papadeas 8d63f38d6f New translations translations.pot (Latin) 2024-11-19 02:33:56 +02:00
Emmanouil Papadeas deab0d83c9 New translations translations.pot (Malayalam) 2024-11-19 02:33:54 +02:00
Emmanouil Papadeas 9096139348 New translations translations.pot (Filipino) 2024-11-19 02:33:53 +02:00
Emmanouil Papadeas fb8146683d New translations translations.pot (Esperanto) 2024-11-19 02:33:51 +02:00
Emmanouil Papadeas 57d82e4099 New translations translations.pot (Pirate English) 2024-11-19 02:33:50 +02:00
Emmanouil Papadeas b1b3abeb79 New translations translations.pot (Klingon) 2024-11-19 02:33:49 +02:00
Emmanouil Papadeas 5718ea815a New translations translations.pot (Welsh) 2024-11-19 02:33:47 +02:00
Emmanouil Papadeas 813ec41b0c New translations translations.pot (Malay) 2024-11-19 02:33:46 +02:00
Emmanouil Papadeas 13c14132d6 New translations translations.pot (Hindi) 2024-11-19 02:33:44 +02:00
Emmanouil Papadeas 29418884ea New translations translations.pot (Latvian) 2024-11-19 02:33:43 +02:00
Emmanouil Papadeas 95fb907e4c New translations translations.pot (Estonian) 2024-11-19 02:33:41 +02:00
Emmanouil Papadeas 8ff427ed23 New translations translations.pot (Croatian) 2024-11-19 02:33:40 +02:00
Emmanouil Papadeas 4e461d77e7 New translations translations.pot (Thai) 2024-11-19 02:33:38 +02:00
Emmanouil Papadeas 50b36952b1 New translations translations.pot (Marathi) 2024-11-19 02:33:37 +02:00
Emmanouil Papadeas bac9cd0c60 New translations translations.pot (Tamil) 2024-11-19 02:33:36 +02:00
Emmanouil Papadeas 0a7393c0dd New translations translations.pot (Indonesian) 2024-11-19 02:33:34 +02:00
Emmanouil Papadeas 0c3a0df336 New translations translations.pot (Portuguese, Brazilian) 2024-11-19 02:33:33 +02:00
Emmanouil Papadeas 69913ffa1b New translations translations.pot (Icelandic) 2024-11-19 02:33:32 +02:00
Emmanouil Papadeas 1ca1bc1995 New translations translations.pot (Vietnamese) 2024-11-19 02:33:30 +02:00
Emmanouil Papadeas 4d9437c5f2 New translations translations.pot (Chinese Traditional) 2024-11-19 02:33:29 +02:00
Emmanouil Papadeas d66fa6c10c New translations translations.pot (Chinese Simplified) 2024-11-19 02:33:28 +02:00
Emmanouil Papadeas d6040643a8 New translations translations.pot (Turkish) 2024-11-19 02:33:26 +02:00
Emmanouil Papadeas 7da1a5e058 New translations translations.pot (Swedish) 2024-11-19 02:33:25 +02:00
Emmanouil Papadeas 1ecfe8e09f New translations translations.pot (Serbian (Cyrillic)) 2024-11-19 02:33:24 +02:00
Emmanouil Papadeas 29070f083c New translations translations.pot (Albanian) 2024-11-19 02:33:22 +02:00
Emmanouil Papadeas 7e7e35d07b New translations translations.pot (Slovenian) 2024-11-19 02:33:18 +02:00
Emmanouil Papadeas 78cc42352d New translations translations.pot (Slovak) 2024-11-19 02:33:16 +02:00
Emmanouil Papadeas 441b2220a6 New translations translations.pot (Portuguese) 2024-11-19 02:33:14 +02:00
Emmanouil Papadeas 27dab660f8 New translations translations.pot (Polish) 2024-11-19 02:33:11 +02:00
Emmanouil Papadeas 3e4ead6d0b New translations translations.pot (Dutch) 2024-11-19 02:33:09 +02:00
Emmanouil Papadeas 2856e4ef37 New translations translations.pot (Macedonian) 2024-11-19 02:33:08 +02:00
Emmanouil Papadeas d7e63cc1a6 New translations translations.pot (Lithuanian) 2024-11-19 02:33:06 +02:00
Emmanouil Papadeas c4f1fc6745 New translations translations.pot (Korean) 2024-11-19 02:33:03 +02:00
Emmanouil Papadeas 2ec067aacb New translations translations.pot (Japanese) 2024-11-19 02:33:01 +02:00
Emmanouil Papadeas c3272a1048 New translations translations.pot (Italian) 2024-11-19 02:33:00 +02:00
Emmanouil Papadeas a27ed5f3d4 New translations translations.pot (Hungarian) 2024-11-19 02:32:58 +02:00
Emmanouil Papadeas 72d7961f63 New translations translations.pot (Hebrew) 2024-11-19 02:32:57 +02:00
Emmanouil Papadeas 8eaca2cea7 New translations translations.pot (Irish) 2024-11-19 02:32:56 +02:00
Emmanouil Papadeas 161739913b New translations translations.pot (Finnish) 2024-11-19 02:32:54 +02:00
Emmanouil Papadeas 36e11b56c0 New translations translations.pot (Greek) 2024-11-19 02:32:53 +02:00
Emmanouil Papadeas e193a6c3e0 New translations translations.pot (German) 2024-11-19 02:32:52 +02:00
Emmanouil Papadeas 35190cd504 New translations translations.pot (Danish) 2024-11-19 02:32:50 +02:00
Emmanouil Papadeas 3c01c599a7 New translations translations.pot (Czech) 2024-11-19 02:32:49 +02:00
Emmanouil Papadeas a08817821f New translations translations.pot (Catalan) 2024-11-19 02:32:48 +02:00
Emmanouil Papadeas 1fc7427d82 New translations translations.pot (Bulgarian) 2024-11-19 02:32:46 +02:00
Emmanouil Papadeas 147f7cf898 New translations translations.pot (Belarusian) 2024-11-19 02:32:45 +02:00
Emmanouil Papadeas 8521534a45 New translations translations.pot (Arabic) 2024-11-19 02:32:44 +02:00
Emmanouil Papadeas 7ed56837c1 New translations translations.pot (Afrikaans) 2024-11-19 02:32:42 +02:00
Emmanouil Papadeas fbc8d56ad8 New translations translations.pot (Spanish) 2024-11-19 02:32:40 +02:00
Emmanouil Papadeas f0d2390ce1 New translations translations.pot (French) 2024-11-19 02:32:39 +02:00
Emmanouil Papadeas 71d26395a4 New translations translations.pot (Romanian) 2024-11-19 02:32:38 +02:00
Emmanouil Papadeas 2166abfd51 New translations translations.pot (Ukrainian) 2024-11-19 02:32:36 +02:00
Emmanouil Papadeas 21e7c639e3 New translations translations.pot (Russian) 2024-11-19 02:32:35 +02:00
130 changed files with 10192 additions and 780 deletions

View file

@ -2239,6 +2239,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2247,33 +2251,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2960,6 +2978,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3361,3 +3383,51 @@ msgstr ""
#. Text from a confirmation dialog that appears when the user is attempting to drag and drop an image directly from the browser into Pixelorama.
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Afrikaans\n"
"Language: af_ZA\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "Goed"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Arabic\n"
"Language: ar_SA\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "حسنا"
@ -167,6 +167,18 @@ msgstr "النقاط"
msgid "Percentage"
msgstr "نسبة"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1518,6 +1530,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "مستطيل"
@ -2029,6 +2046,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2221,6 +2265,10 @@ msgstr "الطبقة"
msgid "Group"
msgstr "المجموعة"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "الطبقات"
@ -2229,33 +2277,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "إنشاء طبقة جديدة"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "إستنساخ الطبقة الحالية"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2942,6 +3004,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "قص"
@ -3344,3 +3410,51 @@ msgstr "إضافة تأثير"
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Belarusian\n"
"Language: be_BY\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Пікселі"
msgid "Percentage"
msgstr "Працэнт"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1513,6 +1525,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2024,6 +2041,33 @@ msgstr "Адняць ад вылучэння"
msgid "Intersection of selections"
msgstr "Перасячэнне вылучэнняў"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2216,6 +2260,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2224,33 +2272,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2937,6 +2999,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3339,3 +3405,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Bulgarian\n"
"Language: bg_BG\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Catalan\n"
"Language: ca_ES\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "D'acord"
@ -167,6 +167,18 @@ msgstr "Píxels"
msgid "Percentage"
msgstr "Percentatge"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1551,6 +1563,11 @@ msgstr "Eina d'el·lipsi\n\n"
"Mantén %s per centrar la forma al clic d'origen\n"
"Mantén %s per desplaçar l'origen de la forma"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Rectangle"
@ -2063,6 +2080,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Reflex"
@ -2256,6 +2300,10 @@ msgstr "Capa"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Capes"
@ -2264,33 +2312,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Crear una nova capa"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Esborrar la capa actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Moure la capa cap amunt"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Moure la capa cap avall"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Clonar la capa actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2977,6 +3039,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3379,3 +3445,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Czech\n"
"Language: cs_CZ\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Pixely"
msgid "Percentage"
msgstr "Procenta"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Oříznout na výběr"
@ -1562,6 +1574,11 @@ msgstr "Elipsa\n\n"
"Podrž %s pro vycentrování tvaru na místo kliku\n"
"Podrž %s pro přesunutí počátku tvaru"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Obdélník"
@ -2075,6 +2092,33 @@ msgstr "Odebrat z výběru"
msgid "Intersection of selections"
msgstr "Průnik výběrů"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Zrcadlení"
@ -2269,6 +2313,10 @@ msgstr "Vrstva"
msgid "Group"
msgstr "Skupina"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Vrstvy"
@ -2277,33 +2325,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Vytvořit novou vrstvu"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Přidat pixelovou vrstvu"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Přidat skupinovou vrstvu"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Přidat 3D vrstvu"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Odstranit aktuální vrstvu"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Přesunout aktuální vrstvu nahoru"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Přesunout aktuální vrstvu dolů"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Naklonovat aktuální vrstvu"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Sloučit aktuální vrstvu s vrstvou níže"
@ -2993,6 +3055,10 @@ msgstr "Perspektivní vodítka"
msgid "Recorder"
msgstr "Nahrávání"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Oříznutí"
@ -3398,3 +3464,51 @@ msgstr "Přidat efekt"
msgid "Do you want to download the image from %s?"
msgstr "Chcete stáhnout obrázek z %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Welsh\n"
"Language: cy_GB\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Danish\n"
"Language: da_DK\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Pixels"
msgid "Percentage"
msgstr "Procentdel"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1551,6 +1563,11 @@ msgstr "Ellipse Tool\n\n"
"Hold %s for at centrere formen på oprindelsespunktet af klikket\n"
"Hold %s for at fortrænge formens begyndelsespunkt"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Rektangel"
@ -2062,6 +2079,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Spejling"
@ -2254,6 +2298,10 @@ msgstr "Lag"
msgid "Group"
msgstr "Gruppe"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Lag"
@ -2262,33 +2310,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Opret et nyt lag"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Fjern nuværende lag"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Flyt det nuværende lag op"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Flyt det nuværende lag ned"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Klon nuværende lag"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Sammenflet nuværende lag med det nedenfor"
@ -2975,6 +3037,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3377,3 +3443,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: German\n"
"Language: de_DE\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -169,6 +169,18 @@ msgstr "Pixel"
msgid "Percentage"
msgstr "Prozent"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Auf Auswahl zuschneiden"
@ -1564,6 +1576,11 @@ msgstr "Ellipse Tool\n\n"
"Halten Sie %s gedrückt, um die Form auf dem Klick-Ursprung zu zentrieren.\n"
"Halten Sie %s gedrückt, um die Form zu verschieben"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Rechteck"
@ -2076,6 +2093,33 @@ msgstr "Von Auswahl entfernen"
msgid "Intersection of selections"
msgstr "Schnittpunkt der Auswahlen"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Spiegeln"
@ -2270,6 +2314,10 @@ msgstr "Ebene"
msgid "Group"
msgstr "Gruppe"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Ebenen"
@ -2278,33 +2326,47 @@ msgid "Clipping mask"
msgstr "Clipping-Maske"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Erstelle eine neue Ebene"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Pixelebene hinzufügen"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Gruppenebene hinzufügen"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "3D-Ebene hinzufügen"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Entferne aktuelle Ebene"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Bewege aktuelle Ebene nach oben"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Bewege aktuelle Ebene nach unten"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Kopiere aktuelle Ebene"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Führe aktuelle Ebene mit der darunter zusammen"
@ -2993,6 +3055,10 @@ msgstr "Perspektiven-Editor"
msgid "Recorder"
msgstr "Zeichnungsaufnahme"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Zuschneiden"
@ -3398,3 +3464,51 @@ msgstr "Effekt hinzufügen"
msgid "Do you want to download the image from %s?"
msgstr "Möchten Sie das Bild von %s herunterladen?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Greek\n"
"Language: el_GR\n"
"PO-Revision-Date: 2024-11-15 18:59\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "Εντάξει"
@ -169,6 +169,18 @@ msgstr "Εικονοστοιχεία"
msgid "Percentage"
msgstr "Ποσοστό"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Λειτουργία χρώματος:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Λειτουργία χρώματος"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "Ευρετήριο"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Περικοπή στην επιλογή"
@ -1565,6 +1577,13 @@ msgstr "Εργαλείο έλλειψης\n\n"
"Κρατήστε το %s για να κεντράρετε το σχήμα στην αρχή του κλικ\n"
"Κρατήστε το %s για να μετακινήσετε την προέλευση του σχήματος"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Κείμενο\n\n"
"%s για το αριστερό κουμπί ποντικιού\n"
"%s για το δεξί κουμπί ποντικιού"
msgid "Rectangle"
msgstr "Ορθογώνιο"
@ -2077,6 +2096,33 @@ msgstr "Αφαίρεση από την επιλογή"
msgid "Intersection of selections"
msgstr "Διασύνδεση των επιλογών"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Στυλ:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Κανονικό"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Έντονo"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Πλάγιο"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Έντονο πλάγιο"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Εξομάλυνση"
msgid "Grayscale"
msgstr "Κλίμακα του γκρι"
msgid "Mirroring"
msgstr "Κατοπτρισμός"
@ -2271,6 +2317,10 @@ msgstr "Στρώση"
msgid "Group"
msgstr "Ομάδα"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Στρώσεις"
@ -2279,33 +2329,47 @@ msgid "Clipping mask"
msgstr "Μάσκα αποκοπής"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Δημιουργία νέας στρώσης"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Προσθήκη στρώσης εικονοστοιχείων"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Προσθήκη στρώσης ομάδας"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Προσθήκη τρισδιάστατης στρώσης"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Διαγραφή της τρέχουσας στρώσης"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Μετακίνηση της τρέχουσας στρώσης προς τα πάνω"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Μετακίνηση της τρέχουσας στρώσης προς τα κάτω"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Κλωνοποίηση της τρέχουσας στρώσης"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Συγχώνευση της τρέχουσας στρώσης με την από κάτω"
@ -2994,6 +3058,10 @@ msgstr "Επεξεργαστής προοπτικής"
msgid "Recorder"
msgstr "Καταγραφή"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Περικοπή"
@ -3399,3 +3467,51 @@ msgstr "Προσθήκη εφέ"
msgid "Do you want to download the image from %s?"
msgstr "Θέλετε να κάνετε λήψη της εικόνας από %s;"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Pirate English\n"
"Language: en_PT\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Esperanto\n"
"Language: eo_UY\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Bone"
@ -167,6 +167,18 @@ msgstr "Rastrumeroj"
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1504,6 +1516,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2015,6 +2032,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Spegulado"
@ -2207,6 +2251,10 @@ msgstr "Tavolo"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Tavoloj"
@ -2215,33 +2263,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Krei novan tavolon"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2928,6 +2990,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3330,3 +3396,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Spanish\n"
"Language: es_ES\n"
"PO-Revision-Date: 2024-11-18 03:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Píxeles"
msgid "Percentage"
msgstr "Porcentaje"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Modo de color:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Modo de color"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "Indexado"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Recortar según la selección"
@ -1561,6 +1573,13 @@ msgstr "Herramienta Elipse\n\n"
"Mantén %s para centrar la forma en el origen del clic\n"
"Mantén %s para desplazar el origen de la forma"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Texto\n\n"
"%s para el botón izquierdo del ratón\n"
"%s para el botón derecho del ratón"
msgid "Rectangle"
msgstr "Rectángulo"
@ -2072,6 +2091,33 @@ msgstr "Restar a la selección"
msgid "Intersection of selections"
msgstr "Intersección de las selecciones"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Estilo:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Normal"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Negrita"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Cursiva"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Negrita cursiva"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Antialiasing"
msgid "Grayscale"
msgstr "Escala de grises"
msgid "Mirroring"
msgstr "Espejar"
@ -2266,6 +2312,10 @@ msgstr "Capa"
msgid "Group"
msgstr "Agrupar"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Capas"
@ -2274,33 +2324,47 @@ msgid "Clipping mask"
msgstr "Máscara de recorte"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Crear nueva capa"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Agregar nueva capa"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Agregar capa de grupo"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Agregar nueva capa 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Eliminar capa actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Mover capa hacia arriba"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Mover capa hacia abajo"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Clonar capa actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Combinar la capa actual con la de abajo"
@ -2990,6 +3054,10 @@ msgstr "Editor de perspectiva"
msgid "Recorder"
msgstr "Grabador"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Recortar"
@ -3395,3 +3463,51 @@ msgstr "Añadir efecto"
msgid "Do you want to download the image from %s?"
msgstr "¿Deseas descargar la imagen desde %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Estonian\n"
"Language: et_EE\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Finnish\n"
"Language: fi_FI\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Pikselit"
msgid "Percentage"
msgstr "Prosentti"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Filipino\n"
"Language: fil_PH\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: French\n"
"Language: fr_FR\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -168,6 +168,18 @@ msgstr "Pixels"
msgid "Percentage"
msgstr "Pourcentage"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Recadrer selon la Sélection"
@ -1555,6 +1567,11 @@ msgstr "Outil ellipse\n\n"
"Maintenir %s pour centrer la forme sur l'origine du clic\n"
"Maintenir %s pour déplacer la forme"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Rectangle"
@ -2067,6 +2084,33 @@ msgstr "Soustraire à la sélection"
msgid "Intersection of selections"
msgstr "Intersection des sélections"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Miroir"
@ -2261,6 +2305,10 @@ msgstr "Calque"
msgid "Group"
msgstr "Groupe"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Calques"
@ -2269,33 +2317,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Créer un calque"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Ajouter un Calque de Pixel"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Ajouter un Calque de Groupe"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Ajouter un Calque 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Supprimer le calque"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Déplacer le calque vers le haut"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Déplacer le calque vers le cas"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Cloner le calque"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Fusionner le calque vers le bas"
@ -2985,6 +3047,10 @@ msgstr "Éditeur de perspective"
msgid "Recorder"
msgstr "Capture Vidéo"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Recadrer"
@ -3389,3 +3455,51 @@ msgstr "Ajouter effet"
msgid "Do you want to download the image from %s?"
msgstr "Voulez-vous télécharger l'image depuis %s ?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Irish\n"
"Language: ga_IE\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Ancient Greek\n"
"Language: grc\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Ἐντάξει"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Hebrew\n"
"Language: he_IL\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "אישור"
@ -167,6 +167,18 @@ msgstr "פיקסלים"
msgid "Percentage"
msgstr "אחוזים"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1507,6 +1519,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "מרובע"
@ -2018,6 +2035,33 @@ msgstr "הורדה מבחירה"
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "מראה"
@ -2211,6 +2255,10 @@ msgstr "שכבה"
msgid "Group"
msgstr "קבוצה"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "שכבות"
@ -2219,33 +2267,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "הוספת שכבת פיקסלים"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "הוספת שכבת קבוצה"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "הוספת שכבה תלת-מימדית"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "הסרת השכבה הנוכחית"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "הזזה לשכבה הנוכחית"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "שכפול השכבה הנוכחית"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "איחוד השכבה הנוכחית עם השכבה מתחת"
@ -2932,6 +2994,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3334,3 +3400,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Hindi\n"
"Language: hi_IN\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "ठीक है"
@ -167,6 +167,18 @@ msgstr "पिक्सेल"
msgid "Percentage"
msgstr "प्रतिशत"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Croatian\n"
"Language: hr_HR\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Hungarian\n"
"Language: hu_HU\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "Ok"
@ -167,6 +167,18 @@ msgstr "Pixelek"
msgid "Percentage"
msgstr "Százalék"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1513,6 +1525,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Téglalap"
@ -2024,6 +2041,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Tükrözés"
@ -2218,6 +2262,10 @@ msgstr "Réteg"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Rétegek"
@ -2226,33 +2274,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Új réteg létrehozása"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Aktuális réteg eltávolítása"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Jelenlegi réteg felfelé mozgatása"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Jelenlegi réteg lefelé mozgatása"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Aktuális réteg klónozása"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Aktuális réteg egyesítése az alatta lévővel"
@ -2939,6 +3001,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3341,3 +3407,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Indonesian\n"
"Language: id_ID\n"
"PO-Revision-Date: 2024-11-17 13:41\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Oke"
@ -169,6 +169,18 @@ msgstr "Piksel"
msgid "Percentage"
msgstr "Persentase"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Mode warna:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Mode Warna"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "Terindeks"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Potong ke Seleksi"
@ -1565,6 +1577,13 @@ msgstr "Alat Elips\n\n"
"Tahan %s untuk membuat bentuk di tengah klik\n"
"Tahan %s untuk menggeser bentuk saat ini"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Teks\n\n"
"%s untuk tetikus kiri\n"
"%s untuk tetikus kanan"
msgid "Rectangle"
msgstr "Persegi Panjang"
@ -2077,6 +2096,33 @@ msgstr "Kurangi dari seleksi"
msgid "Intersection of selections"
msgstr "Persimpangan seleksi"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Gaya:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Biasa"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Tebal"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Miring"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Tebal Miring"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Anti-buram"
msgid "Grayscale"
msgstr "Skala kelabu"
msgid "Mirroring"
msgstr "Pencerminan"
@ -2271,6 +2317,10 @@ msgstr "Lapisan"
msgid "Group"
msgstr "Kelompok"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Lapisan"
@ -2279,33 +2329,47 @@ msgid "Clipping mask"
msgstr "Cuplik mask"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Tambah lapisan baru"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Tambah Lapisan Piksel"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Tambah Lapisan Kelompok"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Tambah Lapisan 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Hapus lapisan ini"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Geser lapisan ini ke atas"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Geser lapisan ini ke bawah"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Duplikatkan lapisan ini"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Leburkan lapisan ini dengan yang di bawah"
@ -2995,6 +3059,10 @@ msgstr "Penyunting Sudut Pandang"
msgid "Recorder"
msgstr "Perekam"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Potong"
@ -3400,3 +3468,51 @@ msgstr "Tambah efek"
msgid "Do you want to download the image from %s?"
msgstr "Apakah ingin unduh gambarnya dari %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Icelandic\n"
"Language: is_IS\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Italian\n"
"Language: it_IT\n"
"PO-Revision-Date: 2024-11-15 18:59\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -169,6 +169,18 @@ msgstr "Pixels"
msgid "Percentage"
msgstr "Percentuale"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Modalità colore:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Modalità colore"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "Indicizzato"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Ritaglia selezione"
@ -1565,6 +1577,13 @@ msgstr "Strumento Ellisse\n\n"
"Tieni premuto %s per centrare la forma sull'origine del clic\n"
"Tieni premuto %s per spostare l'origine della forma"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Testo\n\n"
"%s per il pulsante sinistro del mouse\n"
"%s per il pulsante destro del mouse"
msgid "Rectangle"
msgstr "Rettangolo"
@ -2077,6 +2096,33 @@ msgstr "Sottrai dalla selezione"
msgid "Intersection of selections"
msgstr "Intersezione delle selezioni"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Stile:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Regolare"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Grassetto"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Corsivo"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Grassetto corsivo"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Antialiasing"
msgid "Grayscale"
msgstr "Scala di grigi"
msgid "Mirroring"
msgstr "Specchiatura"
@ -2271,6 +2317,10 @@ msgstr "Livello"
msgid "Group"
msgstr "Gruppo"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Livelli"
@ -2279,33 +2329,47 @@ msgid "Clipping mask"
msgstr "Maschera di ritaglio"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Crea un nuovo livello"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Aggiungi Livello Pixel"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Aggiungi Livello Gruppo"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Aggiungi Livello 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Rimuovi il livello corrente"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Sposta in su il livello corrente"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Sposta in giù il livello corrente"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Clona il livello corrente"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Unisci il livello corrente con quello sottostante"
@ -2994,6 +3058,10 @@ msgstr "Editor Prospettiva"
msgid "Recorder"
msgstr "Registratore"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Ritaglia"
@ -3399,3 +3467,51 @@ msgstr "Aggiungi effetto"
msgid "Do you want to download the image from %s?"
msgstr "Vuoi scaricare l'immagine da %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Japanese\n"
"Language: ja_JP\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -169,6 +169,18 @@ msgstr "ピクセル"
msgid "Percentage"
msgstr "割合"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "カラーモード:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "カラーモード"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "インデックス付き"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "選択範囲に合わせてトリミング"
@ -1565,6 +1577,13 @@ msgstr "楕円形ツール\n\n"
"%s を長押ししてクリックした原点を図形の中心に配置\n"
"%sを長押しして図形の原点を変更"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "テキスト\n\n"
"%sでマウスの左ボタンを テキスト に変更\n"
"%sでマウスの右ボタンを テキスト に変更"
msgid "Rectangle"
msgstr "矩形"
@ -2077,6 +2096,33 @@ msgstr "選択範囲から減算"
msgid "Intersection of selections"
msgstr "選択範囲の交差"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "スタイル:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "通常"
#. Refers to text that is bold.
msgid "Bold"
msgstr "太字"
#. Refers to text that is italic.
msgid "Italic"
msgstr "斜体"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "太字斜体"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "アンチエイリアシング"
msgid "Grayscale"
msgstr "グレースケール"
msgid "Mirroring"
msgstr "ミラーリング"
@ -2271,6 +2317,10 @@ msgstr "レイヤー"
msgid "Group"
msgstr "グループ"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "レイヤー"
@ -2279,33 +2329,47 @@ msgid "Clipping mask"
msgstr "クリッピングマスク"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "新しいレイヤーを作成"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "ピクセルレイヤーを追加"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "グループレイヤーを追加"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "3Dレイヤーを追加"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "現在のレイヤーを削除"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "現在のレイヤーを上に移動"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "現在のレイヤーを下に移動"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "現在のレイヤーを複製"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "現在のレイヤーと下のレイヤーを結合"
@ -2995,6 +3059,10 @@ msgstr "透視投影エディター"
msgid "Recorder"
msgstr "レコーダー"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "切り取り"
@ -3400,3 +3468,51 @@ msgstr "エフェクトを追加"
msgid "Do you want to download the image from %s?"
msgstr "%s から画像をダウンロードしますか?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Kazakh\n"
"Language: kk_KZ\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Korean\n"
"Language: ko_KR\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "예"
@ -167,6 +167,18 @@ msgstr "픽셀"
msgid "Percentage"
msgstr "비율"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1549,6 +1561,11 @@ msgstr "원 툴\n\n"
"%s 를 눌러 도형의 클릭 원점 중앙에 놓음\n"
"%s 를 눌러 원점을 바꿈"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "직사각형"
@ -2061,6 +2078,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "미러링"
@ -2255,6 +2299,10 @@ msgstr "레이어"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "레이어"
@ -2263,33 +2311,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "새 레이어 생성"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "현재 레이어 제거"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "현재 레이어를 위로 올리기"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "현재 레이어를 아래로 내리기"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "현재 레이어 복제"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "현재 레이어와 그 아래 레이어를 병합"
@ -2976,6 +3038,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3378,3 +3444,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Latin\n"
"Language: la_LA\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Lithuanian\n"
"Language: lt_LT\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Latvian\n"
"Language: lv_LV\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Labi"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1511,6 +1523,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2022,6 +2039,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Spoguļskats"
@ -2215,6 +2259,10 @@ msgstr "Slānis"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Slāņi"
@ -2223,33 +2271,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Izveidot jaunu slāni"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Noņemt aktuālo slāni"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Pārvietot aktuālo slāni uz augšu"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Pārvietot aktuālo slāni uz leju"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Klonēt aktuālo slāni"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Apvienot aktuālo slāni ar apakšējo slāni"
@ -2936,6 +2998,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3338,3 +3404,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Maori\n"
"Language: mi_NZ\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Macedonian\n"
"Language: mk_MK\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Malayalam\n"
"Language: ml_IN\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "ഓക്കേ"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Marathi\n"
"Language: mr_IN\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Malay\n"
"Language: ms_MY\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Norwegian Bokmal\n"
"Language: nb_NO\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Piksler"
msgid "Percentage"
msgstr "Prosentandel"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1548,6 +1560,11 @@ msgstr "Ellipseverktøy\n\n"
"Hold %s for å sentrere formen på klikkets opprinnelse\n"
"Hold %s for å forskyve formens opprinnelse"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Rektangel"
@ -2060,6 +2077,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Speiling"
@ -2254,6 +2298,10 @@ msgstr "Lag"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Lag"
@ -2262,33 +2310,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Lag et nytt lag"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Fjern gjeldende lag"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Flytt dette laget opp"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Flytt dette laget ned"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Klon dette laget"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Slå sammen dette laget med laget nedenfor"
@ -2976,6 +3038,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3378,3 +3444,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Dutch\n"
"Language: nl_NL\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Oké"
@ -167,6 +167,18 @@ msgstr "Pixels"
msgid "Percentage"
msgstr "Percentage"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Polish\n"
"Language: pl_PL\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -169,6 +169,18 @@ msgstr "Piksele"
msgid "Percentage"
msgstr "Procentowo"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Tryb koloru:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Tryb kolorów"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "Zindeksowano"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Przytnij do zaznaczenia"
@ -219,41 +231,41 @@ msgid "Invert"
msgstr "Odwróć zaznaczenie"
msgid "Modify"
msgstr ""
msgstr "Modyfikuj"
#. Found under the Select menu, in the Modify submenu. When selected, it shows a window that lets users expand the active selection.
msgid "Expand"
msgstr ""
msgstr "Rozszerz"
#. Title of a window that lets users expand the active selection.
msgid "Expand Selection"
msgstr ""
msgstr "Rozszerzenie zaznaczenia"
#. Found under the Select menu, in the Modify submenu. When selected, it shows a window that lets users shrink the active selection.
msgid "Shrink"
msgstr ""
msgstr "Zmniejszenie"
#. Title of a window that lets users shrink the active selection.
msgid "Shrink Selection"
msgstr ""
msgstr "Zmniejsz zaznaczenie"
#. Found under the Select menu, in the Modify submenu. When selected, it shows a window that lets users create a border of the active selection.
msgid "Border"
msgstr ""
msgstr "Obramowanie"
#. Title of a window that lets users create a border of the active selection.
msgid "Border Selection"
msgstr ""
msgstr "Granica zaznaczenia"
#. Refers to a diamond-like shape.
msgid "Diamond"
msgstr ""
msgstr "Diament"
msgid "Circle"
msgstr ""
msgstr "Koło"
msgid "Square"
msgstr ""
msgstr "Kwadrat"
msgid "Grayscale View"
msgstr "Czarno-biały widok"
@ -272,7 +284,7 @@ msgstr "Ustawienia"
#. An option in the View menu. When selected, the canvas is being placed on the center of the screen.
msgid "Center Canvas"
msgstr ""
msgstr "Wyśrodkuj płótno"
msgid "Tile Mode"
msgstr "Tryb kafelkowy"
@ -290,7 +302,7 @@ msgstr ""
#. Found under "Tile Mode Offsets". It's a button that when pressed, enables masking for tile mode. Masking essentially limits drawing to the visible pixels of the image, thus preventing from drawing on transparent pixels.
msgid "Masking:"
msgstr ""
msgstr "Maskowanie:"
msgid "Reset"
msgstr "Zresetuj"
@ -883,7 +895,7 @@ msgstr "Pokaż Skalę:"
#. Refers to the font of a text.
msgid "Font:"
msgstr ""
msgstr "Czcionka:"
#. Found in the preferences, under the interface section. Allows users to set the size of the font, ie the text.
msgid "Font size:"
@ -953,12 +965,12 @@ msgstr "Kolor tła:"
#. Found in the preferences, under the Tools category.
msgid "Share options between the left and the right tools"
msgstr ""
msgstr "Udostępnij opcje między narzędziami po lewej i prawej stronie"
#. Found in the preferences, under the Tools category. Tooltip of the "Share options between the left and the right tools" preference.
msgid "If this is enabled, options will be synced between the left and the right tool.\n"
"For example, both tools will share the same brush size, and changing it on one tool will instantly change on the other."
msgstr ""
msgstr "Jeśli ta opcja jest włączona, opcje będą synchronizowane między lewym i prawym narzędziem. Na przykład oba narzędzia będą miały ten sam rozmiar pędzla, a zmiana w jednym narzędziu spowoduje natychmiastową zmianę w drugim."
msgid "Left tool color:"
msgstr "Kolor lewego narzędzia:"
@ -1031,23 +1043,23 @@ msgstr "Kolor cienia:"
#. An image effect. https://en.wikipedia.org/wiki/Gaussian_blur
msgid "Gaussian Blur"
msgstr ""
msgstr "Rozmycie Gaussa"
#. The type of the Gaussian blur, an image effect.
msgid "Blur type:"
msgstr ""
msgstr "Typ rozmycia:"
#. The applied amount of Gaussian blur, an image effect.
msgid "Blur amount:"
msgstr ""
msgstr "Wartość rozmycia:"
#. The applied radius of Gaussian blur, an image effect.
msgid "Blur radius:"
msgstr ""
msgstr "Promień rozmycia:"
#. The applied direction of Gaussian blur, an image effect.
msgid "Blur direction:"
msgstr ""
msgstr "Kierunek rozmycia:"
msgid "Gradient"
msgstr "Gradient"
@ -1562,6 +1574,13 @@ msgstr "Elipsa\n\n"
"Przytrzymaj %s aby wyśrodkować kształt na miejscu kliknięcia\n"
"Przytrzymaj %s aby przemieścić pozycję źródłową kształtu"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Tekst\n\n"
"%s dla lewego przycisku myszy\n"
"%s dla prawego przycisku myszy"
msgid "Rectangle"
msgstr "Prostokąt"
@ -1972,7 +1991,7 @@ msgstr "Wypełnia narysowany kształt kolorem, zamiast rysować same obramowanie
#. Found in the tool options of the Pencil, Eraser and Shading tools. It is a percentage of how dense the brush is. 100% density means that the brush gets completely drawn, anything less leaves gaps inside the brush, acting like a spray tool.
msgid "Density:"
msgstr ""
msgstr "Gęstość:"
msgid "Brush color from"
msgstr "Nadpisywanie koloru pędzla"
@ -2074,6 +2093,33 @@ msgstr "Odejmij od zaznaczenia"
msgid "Intersection of selections"
msgstr "Część wspólna zaznaczeń"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Styl:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Normalny"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Pogrubiony"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Kursywa"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Pogrubiona kursywa"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Antyaliasing"
msgid "Grayscale"
msgstr "Skala szarości"
msgid "Mirroring"
msgstr "Lustrzane odbicie"
@ -2091,11 +2137,11 @@ msgstr "Włącza lustrzane odbicie w pionie podczas rysowania"
#. Found in the global tool options, in the menu that appears next to each mirror button. It affects the position of a symmetry guide.
msgid "Move to canvas center"
msgstr ""
msgstr "Przenieś do środka płótna"
#. Found in the global tool options, in the menu that appears next to each mirror button. It affects the position of a symmetry guide.
msgid "Move to view center"
msgstr ""
msgstr "Przenieś do środka widoku"
msgid "Current frame:"
msgstr "Obecna klatka:"
@ -2113,10 +2159,10 @@ msgid "Go to the previous frame"
msgstr "Idć do poprzedniej klatki"
msgid "Play the animation backwards"
msgstr ""
msgstr "Odtwórz animację od tyłu"
msgid "Play the animation forward"
msgstr ""
msgstr "Odtwórz animację do przodu"
msgid "Go to the next frame"
msgstr "Idź do następnej klatki"
@ -2268,6 +2314,10 @@ msgstr "Warstwa"
msgid "Group"
msgstr "Grupa"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Warstwy"
@ -2276,33 +2326,47 @@ msgid "Clipping mask"
msgstr "Maska przycinająca"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Stwórz nową warstwę"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Dodaj warstwę pikselową"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Dodaj grupę warstw"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Dodaj warstwę 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Usuń obecną warstwę"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Przesuń obecną warstwę do góry"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Przesuń obecną warstwę w dół"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Duplikuj obecną warstwę"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Połącz obecną warstwę z warstwą powyżej"
@ -2621,23 +2685,23 @@ msgstr "Domyślny kolor tła dla nowego obrazu"
#. Found in the preferences, under the Reset category.
msgid "Reset all options available in the Preferences"
msgstr ""
msgstr "Zresetuj wszystkie opcje dostępne w Preferencjach"
#. Found in the preferences, under the Reset category.
msgid "Reset timeline options"
msgstr ""
msgstr "Resetuj opcje osi czasu"
#. Found in the preferences, under the Reset category.
msgid "Reset all tool options"
msgstr ""
msgstr "Zresetuj wszystkie opcje narzędzi"
#. Found in the preferences, under the Reset category.
msgid "Remove all extensions"
msgstr ""
msgstr "Usuń wszystkie rozszerzenia"
#. Found in the preferences, under the Reset category.
msgid "Clear the recently opened file list"
msgstr ""
msgstr "Wyczyść listę ostatnio otwieranych plików"
msgid "Lock aspect ratio"
msgstr "Wymuś współczynnik proporcji"
@ -2808,19 +2872,19 @@ msgstr "Znak(i) oddzielające nazwę pliku od numeru klatki"
#. Found in the export dialog. It is an option that removes the transparent area around non-transparent pixels of the exported images.
msgid "Trim images"
msgstr ""
msgstr "Przytnij obrazy"
#. Found in the export dialog. Tooltip of the "trim images" option.
msgid "Trims the exported images to their visible portion, considering each pixel with a non-zero alpha channel as visible."
msgstr ""
msgstr "Przycina eksportowane obrazy do ich widocznej części, uznając każdy piksel z kanałem alfa różnym od zera za widoczny."
#. Found in the export dialog. It is an option that allows users to only export the portions of the images that are within the selected area.
msgid "Clip image content to selection"
msgstr ""
msgstr "Przytnij zawartość obrazu do zaznaczenia"
#. Found in the export dialog. Tooltip of the "clip image content to selection" option.
msgid "Only export content that is within the bounds of a selected area."
msgstr ""
msgstr "Eksportuj tylko treści znajdujące się w granicach wybranego obszaru."
msgid "Close"
msgstr "Zamknij"
@ -2923,7 +2987,7 @@ msgstr "Sortuj według wartości"
#. An option of the Sort palette button found in the palette panel. When selected, the colors of the palette are being sorted based on their OKHSL Lightness.
msgid "Sort by lightness"
msgstr ""
msgstr "Sortuj według jasności"
#. An option of the Sort palette button found in the palette panel. When selected, the colors of the palette are being sorted based on their red channel value.
msgid "Sort by red"
@ -2992,6 +3056,10 @@ msgstr "Edytor Perspektywy"
msgid "Recorder"
msgstr "Nagrywanie"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Przytnij"
@ -3174,7 +3242,7 @@ msgstr "Tekst:"
#. Refers to the depth of something, such as the depth of a 3D object.
msgid "Depth:"
msgstr ""
msgstr "Głębia:"
#. Found in the tool options of the 3D Shape Edit tool, under the Mesh category if a Text object is selected. Refers to the size of one pixel's width on the text to scale it in 3D.
msgid "Pixel size:"
@ -3188,7 +3256,7 @@ msgid "Horizontal alignment:"
msgstr "Poziome wyrównanie:"
msgid "Vertical alignment:"
msgstr ""
msgstr "Wyrównanie pionowe:"
msgid "Left"
msgstr "Lewo"
@ -3198,7 +3266,7 @@ msgstr "Prawo"
#. Refers to the vertical space between lines in a text.
msgid "Line spacing:"
msgstr ""
msgstr "Odstęp między liniami:"
#. Found in the tool options of the 3D Shape Edit tool, under the Light category if a light is selected. Refers to the energy of the light. The more energy, the brighter it shines.
msgid "Energy:"
@ -3397,3 +3465,51 @@ msgstr "Dodaj efekt"
msgid "Do you want to download the image from %s?"
msgstr "Czy chcesz pobrać obraz z %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Portuguese, Brazilian\n"
"Language: pt_BR\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "OK"
@ -169,6 +169,18 @@ msgstr "Pixels"
msgid "Percentage"
msgstr "Porcentagem"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Cortar para a seleção"
@ -1565,6 +1577,11 @@ msgstr "Ferramenta de Elipse\n\n"
"Segure %s para centralizar a forma no clique de origem\n"
"Segure %s para deslocar a origem da forma"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Retângulo"
@ -2077,6 +2094,33 @@ msgstr "Subtrair da seleção"
msgid "Intersection of selections"
msgstr "Interseção de seleções"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Espelhamento"
@ -2271,6 +2315,10 @@ msgstr "Camada"
msgid "Group"
msgstr "Grupo"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Camadas"
@ -2279,33 +2327,47 @@ msgid "Clipping mask"
msgstr "Máscara de recorte"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Criar nova camada"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Adicionar Camada de Pixel"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Adicionar Camada de Grupo"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Adicionar Camada 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Remover camada atual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Mover para a cima a camada atual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Mover para baixo a camada atual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Clonar camada atual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Combinar camada atual com a de baixo"
@ -2994,6 +3056,10 @@ msgstr "Editor de Perspectiva"
msgid "Recorder"
msgstr "Gravador"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Cortar"
@ -3399,3 +3465,51 @@ msgstr "Adicionar efeito"
msgid "Do you want to download the image from %s?"
msgstr "Você deseja baixar a imagem de %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Portuguese\n"
"Language: pt_PT\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Pixéis"
msgid "Percentage"
msgstr "Percentagem"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1544,6 +1556,11 @@ msgstr "Ferramenta de Elipse%s para botão de lado esquerdo do rato%s para botã
"Pressione %s para centrar a forma na origem\n"
"Pressione %s para deslocar a origem da forma"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Retangulo"
@ -2055,6 +2072,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Espelhar"
@ -2249,6 +2293,10 @@ msgstr "Camada"
msgid "Group"
msgstr "Grupo"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Camadas"
@ -2257,33 +2305,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Criar uma nova camada"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Remover a camada atual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Mover a camada atual para cima"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Mover a camada atual para baixo"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Clonar a camada atual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Fundir a camada atual com a de baixo"
@ -2972,6 +3034,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3374,3 +3440,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Romanian\n"
"Language: ro_RO\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr "Pixeli"
msgid "Percentage"
msgstr "Procentaj"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Mod culoare:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Mod culoare"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "Indexat"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Trunchiere la selecție"
@ -1563,6 +1575,13 @@ msgstr "Instrument Elipsă\n\n"
"Ține apăsată tasta %s pentru a centra forma pe originea clicului\n"
"Ține apăsată tasta %s pentru a deplasa originea formei"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Text\n\n"
"%s pentru butonul din stânga al mausului\n"
"%s pentru butonul din dreapta al mausului"
msgid "Rectangle"
msgstr "Dreptunghi"
@ -2075,6 +2094,33 @@ msgstr "Scădere din selecție"
msgid "Intersection of selections"
msgstr "Intersecția selecțiilor"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Stil:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Obișnuit"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Aldin"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Cursiv"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Aldin Cursiv"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Anticrenelaj"
msgid "Grayscale"
msgstr "Tonuri de gri"
msgid "Mirroring"
msgstr "Oglindire"
@ -2269,6 +2315,10 @@ msgstr "Strat"
msgid "Group"
msgstr "Grup"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Straturi"
@ -2277,33 +2327,47 @@ msgid "Clipping mask"
msgstr "Mască de decupare"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Creează un strat nou"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Adăugare strat pixel"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Adăugare strat grup"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Adăugare strat 3D"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Elimină stratul actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Deplasează în sus stratul actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Deplasează în jos stratul actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Clonează stratul actual"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Îmbină stratul actual cu cel de mai jos"
@ -2993,6 +3057,10 @@ msgstr "Editor perspectivă"
msgid "Recorder"
msgstr "Înregistrator"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Trunchiere"
@ -3398,3 +3466,51 @@ msgstr "Adăugare efect"
msgid "Do you want to download the image from %s?"
msgstr "Vrei să descarci imaginea din %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Russian\n"
"Language: ru_RU\n"
"PO-Revision-Date: 2024-11-16 20:23\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "OK"
@ -168,6 +168,18 @@ msgstr "Пиксели"
msgid "Percentage"
msgstr "Процент"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Обрезать по выбранному"
@ -1561,6 +1573,11 @@ msgstr "Эллипс\n\n"
"Зажать %s для размещения центра в месте начала нажатия\n"
"Зажать %s для изменения исходной точки фигуры"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Прямоугольник"
@ -2073,6 +2090,33 @@ msgstr "Вычесть из выделения"
msgid "Intersection of selections"
msgstr "Пересечение выделений"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Зеркало"
@ -2267,6 +2311,10 @@ msgstr "Слой"
msgid "Group"
msgstr "Группа"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Слои"
@ -2275,33 +2323,47 @@ msgid "Clipping mask"
msgstr "Обтравочная маска"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Создать новый слой"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Добавить пиксельный cлой"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Добавить групповой cлой"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Добавить 3D слой"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Удалить текущий слой"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Поднять текущий слой выше"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Опустить текущий слой ниже"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Клонировать текущий слой"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Объединить слой ниже с текущим"
@ -2990,6 +3052,10 @@ msgstr "Редактор перспективы"
msgid "Recorder"
msgstr "Рекордер"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Обрезать"
@ -3395,3 +3461,51 @@ msgstr "Добавить эффект"
msgid "Do you want to download the image from %s?"
msgstr "Хотите загрузить изображение из %s?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Sinhala\n"
"Language: si_LK\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "හරි"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Slovak\n"
"Language: sk_SK\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Slovenian\n"
"Language: sl_SI\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Albanian\n"
"Language: sq_AL\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Ne rregull"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Serbian (Cyrillic)\n"
"Language: sr_SP\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "ОК"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr "Посто"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Правоугаоник"
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Swedish\n"
"Language: sv_SE\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Okej"
@ -167,6 +167,18 @@ msgstr "Pixlar"
msgid "Percentage"
msgstr "Procent"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Rektangel"
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr "Lager"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Lager"
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Swahili\n"
"Language: sw_KE\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Tamil\n"
"Language: ta_IN\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Thai\n"
"Language: th_TH\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Klingon\n"
"Language: tlh_AA\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr ""
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
"PO-Revision-Date: 2024-11-15 18:59\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Tamam"
@ -169,6 +169,18 @@ msgstr "Pikseller"
msgid "Percentage"
msgstr "Yüzde"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "Renk kipi:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "Renk Kipi"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "İndeksli"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Seçime Kırp"
@ -1565,6 +1577,13 @@ msgstr "Elips Aracı\n\n"
"Şekli tıklama orijininde ortalamak için %s tuşunu basılı tutun\n"
"Şeklin orijinini değiştirmek için %s tuşunu basılı tutun"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "Metin\n\n"
"Sol fare düğmesi için %s\n"
"Sağ fare düğmesi için %s"
msgid "Rectangle"
msgstr "Dikdörtgen"
@ -2077,6 +2096,33 @@ msgstr "Seçimden çıkar"
msgid "Intersection of selections"
msgstr "Seçimlerin kesişimi"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "Biçem:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "Normal"
#. Refers to text that is bold.
msgid "Bold"
msgstr "Kalın"
#. Refers to text that is italic.
msgid "Italic"
msgstr "Eğik"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "Kalın eğik"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "Kenar yumuşatma"
msgid "Grayscale"
msgstr "Gri tonlama"
msgid "Mirroring"
msgstr "Yansıtma"
@ -2271,6 +2317,10 @@ msgstr "Katman"
msgid "Group"
msgstr "Grup"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Katmanlar"
@ -2279,33 +2329,47 @@ msgid "Clipping mask"
msgstr "Kırpma maskesi"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Yeni katman oluştur"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Piksel Katmanı Ekle"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Grup Katmanı Ekle"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "3B Katmanı Ekle"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Geçerli katmanı kaldır"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Katmanı yukarı taşı"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Katmanı aşağı taşı"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Katmanı klonla"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Aktif katmanı alttaki katmanla birleştir"
@ -2995,6 +3059,10 @@ msgstr "Perspektif düzenleyici"
msgid "Recorder"
msgstr "Kaydedici"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Kırp"
@ -3400,3 +3468,51 @@ msgstr "Efekt ekle"
msgid "Do you want to download the image from %s?"
msgstr "Görüntü %s kaynağından indirilsin mi?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Ukrainian\n"
"Language: uk_UA\n"
"PO-Revision-Date: 2024-11-15 17:30\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "Гаразд"
@ -169,6 +169,18 @@ msgstr "Пікселі"
msgid "Percentage"
msgstr "Відсоток"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "Обрізати до виділеного"
@ -1555,6 +1567,11 @@ msgstr "Еліпс\n\n"
"Утримуйте %s, щоб встановити центр лінії в місці початку малювання\n"
"Утримуйте %s, щоб пересувати початкову точку фігури"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr "Прямокутник"
@ -2067,6 +2084,33 @@ msgstr "Відняти від виділення"
msgid "Intersection of selections"
msgstr "Перетинання виділень"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "Віддзеркалення"
@ -2261,6 +2305,10 @@ msgstr "Шар"
msgid "Group"
msgstr "Група"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "Шари"
@ -2269,33 +2317,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "Створити новий шар"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "Додати шар пікселів"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "Додати груповий шар"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "Додати 3D-шар"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "Видалити поточний шар"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "Підняти поточний шар"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "Опустити поточний шар"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "Клонувати поточний шар"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "Об’єднати поточний шар з шаром під ним"
@ -2984,6 +3046,10 @@ msgstr "Редактор перспективи"
msgid "Recorder"
msgstr "Записувач"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "Обрізати"
@ -3388,3 +3454,51 @@ msgstr "Додати ефект"
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Vietnamese\n"
"Language: vi_VN\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "OK"
@ -167,6 +167,18 @@ msgstr ""
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1502,6 +1514,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2013,6 +2030,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr ""
@ -2205,6 +2249,10 @@ msgstr ""
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr ""
@ -2213,33 +2261,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr ""
@ -2926,6 +2988,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3328,3 +3394,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Chinese Simplified\n"
"Language: zh_CN\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:11\n"
msgid "OK"
msgstr "确定"
@ -169,6 +169,18 @@ msgstr "像素"
msgid "Percentage"
msgstr "百分比"
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr "颜色模式:"
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr "颜色模式"
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr "已索引"
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr "裁剪到选区"
@ -219,41 +231,41 @@ msgid "Invert"
msgstr "反向"
msgid "Modify"
msgstr ""
msgstr "修改"
#. Found under the Select menu, in the Modify submenu. When selected, it shows a window that lets users expand the active selection.
msgid "Expand"
msgstr ""
msgstr "展开"
#. Title of a window that lets users expand the active selection.
msgid "Expand Selection"
msgstr ""
msgstr "展开所选"
#. Found under the Select menu, in the Modify submenu. When selected, it shows a window that lets users shrink the active selection.
msgid "Shrink"
msgstr ""
msgstr "收缩"
#. Title of a window that lets users shrink the active selection.
msgid "Shrink Selection"
msgstr ""
msgstr "收缩选择"
#. Found under the Select menu, in the Modify submenu. When selected, it shows a window that lets users create a border of the active selection.
msgid "Border"
msgstr ""
msgstr "边框"
#. Title of a window that lets users create a border of the active selection.
msgid "Border Selection"
msgstr ""
msgstr "边框选择"
#. Refers to a diamond-like shape.
msgid "Diamond"
msgstr ""
msgstr "菱形"
msgid "Circle"
msgstr ""
msgstr "圆形"
msgid "Square"
msgstr ""
msgstr "正方形"
msgid "Grayscale View"
msgstr "灰度视图"
@ -282,15 +294,15 @@ msgstr "平铺模式偏移"
#. Found under "Tile Mode Offsets". Basis is a linear algebra term. https://en.wikipedia.org/wiki/Basis_(linear_algebra)
msgid "X-basis:"
msgstr ""
msgstr "X-基准:"
#. Found under "Tile Mode Offsets". Basis is a linear algebra term. https://en.wikipedia.org/wiki/Basis_(linear_algebra)
msgid "Y-basis:"
msgstr ""
msgstr "Y-基准:"
#. Found under "Tile Mode Offsets". It's a button that when pressed, enables masking for tile mode. Masking essentially limits drawing to the visible pixels of the image, thus preventing from drawing on transparent pixels.
msgid "Masking:"
msgstr ""
msgstr "蒙板:"
msgid "Reset"
msgstr "重置"
@ -1564,6 +1576,13 @@ msgstr "椭圆工具\n\n"
"按住 %s 使形状在单击原点居中\n"
"按住 %s 移动形状的原点"
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr "文本\n\n"
"%s 表示鼠标左键\n"
"%s 表示鼠标右键"
msgid "Rectangle"
msgstr "矩形工具"
@ -1974,7 +1993,7 @@ msgstr "用颜色填充绘制的形状,而不是绘制空心形状"
#. Found in the tool options of the Pencil, Eraser and Shading tools. It is a percentage of how dense the brush is. 100% density means that the brush gets completely drawn, anything less leaves gaps inside the brush, acting like a spray tool.
msgid "Density:"
msgstr ""
msgstr "密度:"
msgid "Brush color from"
msgstr "画笔颜色从"
@ -2076,6 +2095,33 @@ msgstr "从当前选区减去"
msgid "Intersection of selections"
msgstr "交叉选区"
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr "样式:"
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr "常规"
#. Refers to text that is bold.
msgid "Bold"
msgstr "粗体"
#. Refers to text that is italic.
msgid "Italic"
msgstr "斜体"
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr "粗斜体"
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr "抗锯齿"
msgid "Grayscale"
msgstr "灰度"
msgid "Mirroring"
msgstr "镜像"
@ -2270,6 +2316,10 @@ msgstr "图层"
msgid "Group"
msgstr "组"
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "图层"
@ -2278,33 +2328,47 @@ msgid "Clipping mask"
msgstr "剪切蒙版"
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "创建一个新的图层"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr "添加像素图层"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr "添加图层组"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr "添加 3D 图层"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "移除当前图层"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "向上移动当前图层"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "向下移动当前图层"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "克隆当前图层"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "当前图层与下面图层合并"
@ -2925,7 +2989,7 @@ msgstr "按值排序"
#. An option of the Sort palette button found in the palette panel. When selected, the colors of the palette are being sorted based on their OKHSL Lightness.
msgid "Sort by lightness"
msgstr ""
msgstr "按亮度排序"
#. An option of the Sort palette button found in the palette panel. When selected, the colors of the palette are being sorted based on their red channel value.
msgid "Sort by red"
@ -2993,6 +3057,10 @@ msgstr "透视编辑器"
msgid "Recorder"
msgstr "录制器"
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr "裁剪"
@ -3398,3 +3466,51 @@ msgstr "添加效果"
msgid "Do you want to download the image from %s?"
msgstr "您想从 %s 下载图像吗?"
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -10,7 +10,7 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Language-Team: Chinese Traditional\n"
"Language: zh_TW\n"
"PO-Revision-Date: 2024-11-15 17:31\n"
"PO-Revision-Date: 2024-12-05 02:12\n"
msgid "OK"
msgstr "確定"
@ -167,6 +167,18 @@ msgstr "像素"
msgid "Percentage"
msgstr ""
#. Found in the create new image dialog. Allows users to change the color mode of the new project, such as RGBA or indexed mode.
msgid "Color mode:"
msgstr ""
#. Found in the image menu. A submenu that allows users to change the color mode of the project, such as RGBA or indexed mode.
msgid "Color Mode"
msgstr ""
#. Found in the image menu, under the "Color Mode" submenu. Refers to the indexed color mode. See this wikipedia page for more information: https://en.wikipedia.org/wiki/Indexed_color
msgid "Indexed"
msgstr ""
#. Found in the image menu. Sets the size of the project to be the same as the size of the active selection.
msgid "Crop to Selection"
msgstr ""
@ -1512,6 +1524,11 @@ msgid "Ellipse Tool\n\n"
"Hold %s to displace the shape's origin"
msgstr ""
msgid "Text\n\n"
"%s for left mouse button\n"
"%s for right mouse button"
msgstr ""
msgid "Rectangle"
msgstr ""
@ -2023,6 +2040,33 @@ msgstr ""
msgid "Intersection of selections"
msgstr ""
#. Refers to the style of something, such as the style of a text, meaning whether it's regular, bold, italic, etc.
msgid "Style:"
msgstr ""
#. Refers to the text. Regular means that the text is not bold or italic.
msgid "Regular"
msgstr ""
#. Refers to text that is bold.
msgid "Bold"
msgstr ""
#. Refers to text that is italic.
msgid "Italic"
msgstr ""
#. Refers to text that is bold and italic.
msgid "Bold Italic"
msgstr ""
#. https://en.wikipedia.org/wiki/Anti-aliasing
msgid "Antialiasing"
msgstr ""
msgid "Grayscale"
msgstr ""
msgid "Mirroring"
msgstr "鏡像"
@ -2216,6 +2260,10 @@ msgstr "圖層"
msgid "Group"
msgstr ""
#. A tilemap is a type of layer, which is divided by grid cells, the size of which is determined by the tileset it uses. Each grid cell is mapped to a tile in the tileset. Tilemaps can be used to create game levels and layouts.
msgid "Tilemap"
msgstr ""
msgid "Layers"
msgstr "圖層"
@ -2224,33 +2272,47 @@ msgid "Clipping mask"
msgstr ""
#. Hint tooltip of the create new layer button, found on the left side of the timeline.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Create a new layer"
msgstr "新增圖層"
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Pixel Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Group Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add 3D Layer"
msgstr ""
#. One of the options of the create new layer button.
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Add Tilemap Layer"
msgstr ""
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Remove current layer"
msgstr "刪除此圖層"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move up the current layer"
msgstr "上移此圖層"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Move down the current layer"
msgstr "下移此圖層"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Clone current layer"
msgstr "複製此圖層"
#: src/UI/Timeline/AnimationTimeline.tscn
msgid "Merge current layer with the one below"
msgstr "合併此圖層與下面的圖層"
@ -2937,6 +2999,10 @@ msgstr ""
msgid "Recorder"
msgstr ""
#. Tiles are images of a specific shape, usually rectangular, that are laid out in a grid. They are used in tile-based video games. https://en.wikipedia.org/wiki/Tile-based_video_game
msgid "Tiles"
msgstr ""
msgid "Crop"
msgstr ""
@ -3339,3 +3405,51 @@ msgstr ""
msgid "Do you want to download the image from %s?"
msgstr ""
#. A tileset is a collection of tiles.
#: src/Classes/TileSetCustom.gd
#: src/UI/Dialogs/ImportPreviewDialog.gd
msgid "Tileset"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset:"
msgstr ""
#. A tileset is a collection of tiles.
#: src/UI/Dialogs/ProjectProperties.tscn
msgid "Tilesets"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "New tileset"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tileset name:"
msgstr ""
#: src/UI/Timeline/NewTileMapLayerDialog.tscn
msgid "Tile size:"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Draw tiles"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile left (counterclockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Rotate tile right (clockwise)"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile horizontally"
msgstr ""
#: src/UI/TilesPanel.tscn
msgid "Flip tile vertically"
msgstr ""

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M4 6 2 8l2 2M2 8h11m-1-2 2 2-2 2"/></svg>

After

Width:  |  Height:  |  Size: 206 B

View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpsfilx47bw3r"
path="res://.godot/imported/mirror_x.svg-16a0646fb607af92a2ccf231dd0f1d98.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/misc/mirror_x.svg"
dest_files=["res://.godot/imported/mirror_x.svg-16a0646fb607af92a2ccf231dd0f1d98.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path fill="none" stroke="#e0e0e0" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M10 4 8 2 6 4m2-2v11m2-1-2 2-2-2"/></svg>

After

Width:  |  Height:  |  Size: 206 B

View file

@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bk6iaxiyl74ih"
path="res://.godot/imported/mirror_y.svg-47cb90f0f94e4ed7c37f151a9ddbaab0.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/graphics/misc/mirror_y.svg"
dest_files=["res://.godot/imported/mirror_y.svg-47cb90f0f94e4ed7c37f151a9ddbaab0.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0
editor/scale_with_editor_scale=false
editor/convert_colors_with_editor_theme=false

View file

@ -1,30 +1,44 @@
[gd_resource type="Resource" script_class="DockableLayout" load_steps=27 format=3 uid="uid://4xtpiowddm7p"]
[gd_resource type="Resource" script_class="DockableLayout" load_steps=29 format=3 uid="uid://4xtpiowddm7p"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_panel.gd" id="1"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_split.gd" id="2"]
[ext_resource type="Script" path="res://addons/dockable_container/layout.gd" id="3"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_panel.gd" id="1_jxh43"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_split.gd" id="2_lw52w"]
[ext_resource type="Script" path="res://addons/dockable_container/layout.gd" id="3_4h5wj"]
[sub_resource type="Resource" id="Resource_atmme"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Tools")
current_tab = 0
[sub_resource type="Resource" id="Resource_4b0py"]
resource_name = "Tabs"
script = ExtResource("1_jxh43")
names = PackedStringArray("Tiles")
current_tab = 0
[sub_resource type="Resource" id="Resource_epagr"]
resource_name = "Split"
script = ExtResource("2_lw52w")
direction = 1
percent = 0.5
first = SubResource("Resource_atmme")
second = SubResource("Resource_4b0py")
[sub_resource type="Resource" id="Resource_ouvfk"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Main Canvas")
current_tab = 0
[sub_resource type="Resource" id="Resource_an0ef"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Perspective Editor")
current_tab = 0
[sub_resource type="Resource" id="Resource_xgnjk"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 0
percent = 0.5
first = SubResource("Resource_ouvfk")
@ -32,13 +46,13 @@ second = SubResource("Resource_an0ef")
[sub_resource type="Resource" id="Resource_o7cqb"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Second Canvas")
current_tab = 0
[sub_resource type="Resource" id="Resource_ataha"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 0
percent = 0.980952
first = SubResource("Resource_xgnjk")
@ -46,13 +60,13 @@ second = SubResource("Resource_o7cqb")
[sub_resource type="Resource" id="Resource_8y4au"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Animation Timeline")
current_tab = 0
[sub_resource type="Resource" id="Resource_q2jwk"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 1
percent = 0.75578
first = SubResource("Resource_ataha")
@ -60,19 +74,19 @@ second = SubResource("Resource_8y4au")
[sub_resource type="Resource" id="Resource_5r0ap"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Canvas Preview")
current_tab = 0
[sub_resource type="Resource" id="Resource_6pqxe"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Recorder")
current_tab = 0
[sub_resource type="Resource" id="Resource_ln20x"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 1
percent = 0.911765
first = SubResource("Resource_5r0ap")
@ -80,39 +94,39 @@ second = SubResource("Resource_6pqxe")
[sub_resource type="Resource" id="Resource_dksrd"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Global Tool Options")
current_tab = 0
[sub_resource type="Resource" id="Resource_kmey0"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Color Picker", "Reference Images")
current_tab = 0
[sub_resource type="Resource" id="Resource_1tm61"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 1
percent = 0.134307
percent = 0.0499712
first = SubResource("Resource_dksrd")
second = SubResource("Resource_kmey0")
[sub_resource type="Resource" id="Resource_btl4b"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Left Tool Options")
current_tab = 0
[sub_resource type="Resource" id="Resource_eu0mc"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Right Tool Options")
current_tab = 0
[sub_resource type="Resource" id="Resource_8ff4m"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 0
percent = 0.5
first = SubResource("Resource_btl4b")
@ -120,21 +134,21 @@ second = SubResource("Resource_eu0mc")
[sub_resource type="Resource" id="Resource_e72nu"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 1
percent = 0.660142
percent = 0.643859
first = SubResource("Resource_1tm61")
second = SubResource("Resource_8ff4m")
[sub_resource type="Resource" id="Resource_sg54a"]
resource_name = "Tabs"
script = ExtResource("1")
script = ExtResource("1_jxh43")
names = PackedStringArray("Palettes")
current_tab = 0
[sub_resource type="Resource" id="Resource_gdwmg"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 1
percent = 0.82948
first = SubResource("Resource_e72nu")
@ -142,7 +156,7 @@ second = SubResource("Resource_sg54a")
[sub_resource type="Resource" id="Resource_acda3"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 1
percent = 0.0549133
first = SubResource("Resource_ln20x")
@ -150,30 +164,31 @@ second = SubResource("Resource_gdwmg")
[sub_resource type="Resource" id="Resource_2qk0j"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 0
percent = 0.731967
percent = 0.704098
first = SubResource("Resource_q2jwk")
second = SubResource("Resource_acda3")
[sub_resource type="Resource" id="Resource_msuil"]
resource_name = "Split"
script = ExtResource("2")
script = ExtResource("2_lw52w")
direction = 0
percent = 0.0
first = SubResource("Resource_atmme")
first = SubResource("Resource_epagr")
second = SubResource("Resource_2qk0j")
[resource]
resource_name = "Default"
script = ExtResource("3")
script = ExtResource("3_4h5wj")
root = SubResource("Resource_msuil")
hidden_tabs = {
"Canvas Preview": true,
"Color Picker Sliders": true,
"Perspective Editor": true,
"Recorder": true,
"Second Canvas": true
"Second Canvas": true,
"Tiles": true
}
windows = {}
save_on_change = false

View file

@ -1,24 +1,24 @@
[gd_resource type="Resource" script_class="DockableLayout" load_steps=23 format=3 uid="uid://brcnmadkdaqok"]
[gd_resource type="Resource" script_class="DockableLayout" load_steps=25 format=3 uid="uid://brcnmadkdaqok"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_panel.gd" id="1_nokpu"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_split.gd" id="2_q5vl6"]
[ext_resource type="Script" path="res://addons/dockable_container/layout.gd" id="3_ox7l5"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_panel.gd" id="1_t44r1"]
[ext_resource type="Script" path="res://addons/dockable_container/layout_split.gd" id="2_rngtv"]
[ext_resource type="Script" path="res://addons/dockable_container/layout.gd" id="3_v86xb"]
[sub_resource type="Resource" id="Resource_kn4x4"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Main Canvas")
current_tab = 0
[sub_resource type="Resource" id="Resource_btw27"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Second Canvas")
current_tab = 0
[sub_resource type="Resource" id="Resource_bp28t"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 0
percent = 0.829091
first = SubResource("Resource_kn4x4")
@ -26,13 +26,13 @@ second = SubResource("Resource_btw27")
[sub_resource type="Resource" id="Resource_10g0s"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Perspective Editor")
current_tab = 0
[sub_resource type="Resource" id="Resource_otntk"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 0
percent = 0.8625
first = SubResource("Resource_bp28t")
@ -40,25 +40,25 @@ second = SubResource("Resource_10g0s")
[sub_resource type="Resource" id="Resource_12axs"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Tools")
current_tab = 0
[sub_resource type="Resource" id="Resource_1omiw"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Left Tool Options", "Right Tool Options")
current_tab = 0
[sub_resource type="Resource" id="Resource_p32ds"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Color Picker")
current_tab = 0
[sub_resource type="Resource" id="Resource_n6xyc"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 0
percent = 0.5
first = SubResource("Resource_1omiw")
@ -66,19 +66,19 @@ second = SubResource("Resource_p32ds")
[sub_resource type="Resource" id="Resource_1dcep"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Canvas Preview", "Reference Images", "Recorder")
current_tab = 0
[sub_resource type="Resource" id="Resource_hc3ve"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Global Tool Options")
current_tab = 0
[sub_resource type="Resource" id="Resource_nppps"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 1
percent = 0.729839
first = SubResource("Resource_1dcep")
@ -86,13 +86,13 @@ second = SubResource("Resource_hc3ve")
[sub_resource type="Resource" id="Resource_d54jb"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Palettes")
current_tab = 0
[sub_resource type="Resource" id="Resource_f6rik"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 0
percent = 0.5
first = SubResource("Resource_nppps")
@ -100,7 +100,7 @@ second = SubResource("Resource_d54jb")
[sub_resource type="Resource" id="Resource_26vov"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 0
percent = 0.501251
first = SubResource("Resource_n6xyc")
@ -108,21 +108,35 @@ second = SubResource("Resource_f6rik")
[sub_resource type="Resource" id="Resource_m3axb"]
resource_name = "Tabs"
script = ExtResource("1_nokpu")
script = ExtResource("1_t44r1")
names = PackedStringArray("Animation Timeline")
current_tab = 0
[sub_resource type="Resource" id="Resource_8dhxy"]
resource_name = "Tabs"
script = ExtResource("1_t44r1")
names = PackedStringArray("Tiles")
current_tab = 0
[sub_resource type="Resource" id="Resource_j3q3h"]
resource_name = "Split"
script = ExtResource("2_rngtv")
direction = 0
percent = 0.5
first = SubResource("Resource_m3axb")
second = SubResource("Resource_8dhxy")
[sub_resource type="Resource" id="Resource_af0bk"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 1
percent = 0.5
first = SubResource("Resource_26vov")
second = SubResource("Resource_m3axb")
second = SubResource("Resource_j3q3h")
[sub_resource type="Resource" id="Resource_1xpva"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 0
percent = 0.03125
first = SubResource("Resource_12axs")
@ -130,7 +144,7 @@ second = SubResource("Resource_af0bk")
[sub_resource type="Resource" id="Resource_6dytr"]
resource_name = "Split"
script = ExtResource("2_q5vl6")
script = ExtResource("2_rngtv")
direction = 1
percent = 0.459538
first = SubResource("Resource_otntk")
@ -138,12 +152,13 @@ second = SubResource("Resource_1xpva")
[resource]
resource_name = "Tallscreen"
script = ExtResource("3_ox7l5")
script = ExtResource("3_v86xb")
root = SubResource("Resource_6dytr")
hidden_tabs = {
"Perspective Editor": true,
"Recorder": true,
"Second Canvas": true
"Second Canvas": true,
"Tiles": true
}
windows = {}
save_on_change = false

View file

@ -908,7 +908,7 @@ previous_project={
}
center_canvas={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":67,"physical_keycode":0,"key_label":0,"unicode":67,"location":0,"echo":false,"script":null)
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":66,"physical_keycode":0,"key_label":0,"unicode":66,"location":0,"echo":false,"script":null)
]
}
left_text_tool={
@ -925,6 +925,46 @@ show_pixel_indices={
"deadzone": 0.5,
"events": []
}
toggle_draw_tiles_mode={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194306,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null)
]
}
tile_edit_mode_manual={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":49,"key_label":0,"unicode":33,"location":0,"echo":false,"script":null)
]
}
tile_edit_mode_auto={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":50,"key_label":0,"unicode":64,"location":0,"echo":false,"script":null)
]
}
tile_edit_mode_stack={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":51,"key_label":0,"unicode":35,"location":0,"echo":false,"script":null)
]
}
tile_rotate_left={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":90,"key_label":0,"unicode":90,"location":0,"echo":false,"script":null)
]
}
tile_rotate_right={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":88,"key_label":0,"unicode":88,"location":0,"echo":false,"script":null)
]
}
tile_flip_horizontal={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":67,"key_label":0,"unicode":67,"location":0,"echo":false,"script":null)
]
}
tile_flip_vertical={
"deadzone": 0.5,
"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":true,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":86,"key_label":0,"unicode":86,"location":0,"echo":false,"script":null)
]
}
[input_devices]

View file

@ -535,9 +535,11 @@ func center(indices: Array) -> void:
tmp_centered.blend_rect(cel.image, used_rect, offset)
var centered := ImageExtended.new()
centered.copy_from_custom(tmp_centered, cel_image.is_indexed)
if cel is CelTileMap:
(cel as CelTileMap).serialize_undo_data_source_image(centered, redo_data, undo_data)
centered.add_data_to_dictionary(redo_data, cel_image)
cel_image.add_data_to_dictionary(undo_data)
Global.undo_redo_compress_images(redo_data, undo_data)
project.deserialize_cel_undo_data(redo_data, undo_data)
project.undo_redo.add_undo_method(Global.undo_or_redo.bind(true))
project.undo_redo.add_do_method(Global.undo_or_redo.bind(false))
project.undo_redo.commit_action()
@ -546,15 +548,15 @@ func center(indices: Array) -> void:
func scale_project(width: int, height: int, interpolation: int) -> void:
var redo_data := {}
var undo_data := {}
for f in Global.current_project.frames:
for i in range(f.cels.size() - 1, -1, -1):
var cel := f.cels[i]
if not cel is PixelCel:
continue
var cel_image := (cel as PixelCel).get_image()
var sprite := _resize_image(cel_image, width, height, interpolation) as ImageExtended
sprite.add_data_to_dictionary(redo_data, cel_image)
cel_image.add_data_to_dictionary(undo_data)
for cel in Global.current_project.get_all_pixel_cels():
if not cel is PixelCel:
continue
var cel_image := (cel as PixelCel).get_image()
var sprite := _resize_image(cel_image, width, height, interpolation) as ImageExtended
if cel is CelTileMap:
(cel as CelTileMap).serialize_undo_data_source_image(sprite, redo_data, undo_data)
sprite.add_data_to_dictionary(redo_data, cel_image)
cel_image.add_data_to_dictionary(undo_data)
general_do_and_undo_scale(width, height, redo_data, undo_data)
@ -596,9 +598,9 @@ func _resize_image(
func crop_to_selection() -> void:
if not Global.current_project.has_selection:
return
Global.canvas.selection.transform_content_confirm()
var redo_data := {}
var undo_data := {}
Global.canvas.selection.transform_content_confirm()
var rect: Rect2i = Global.canvas.selection.big_bounding_rectangle
# Loop through all the cels to crop them
for cel in Global.current_project.get_all_pixel_cels():
@ -606,6 +608,8 @@ func crop_to_selection() -> void:
var tmp_cropped := cel_image.get_region(rect)
var cropped := ImageExtended.new()
cropped.copy_from_custom(tmp_cropped, cel_image.is_indexed)
if cel is CelTileMap:
(cel as CelTileMap).serialize_undo_data_source_image(cropped, redo_data, undo_data)
cropped.add_data_to_dictionary(redo_data, cel_image)
cel_image.add_data_to_dictionary(undo_data)
@ -617,18 +621,17 @@ func crop_to_selection() -> void:
func crop_to_content() -> void:
Global.canvas.selection.transform_content_confirm()
var used_rect := Rect2i()
for f in Global.current_project.frames:
for cel in f.cels:
if not cel is PixelCel:
continue
var cel_used_rect := cel.get_image().get_used_rect()
if cel_used_rect == Rect2i(0, 0, 0, 0): # If the cel has no content
continue
for cel in Global.current_project.get_all_pixel_cels():
if not cel is PixelCel:
continue
var cel_used_rect := cel.get_image().get_used_rect()
if cel_used_rect == Rect2i(0, 0, 0, 0): # If the cel has no content
continue
if used_rect == Rect2i(0, 0, 0, 0): # If we still haven't found the first cel with content
used_rect = cel_used_rect
else:
used_rect = used_rect.merge(cel_used_rect)
if used_rect == Rect2i(0, 0, 0, 0): # If we still haven't found the first cel with content
used_rect = cel_used_rect
else:
used_rect = used_rect.merge(cel_used_rect)
# If no layer has any content, just return
if used_rect == Rect2i(0, 0, 0, 0):
@ -644,6 +647,8 @@ func crop_to_content() -> void:
var tmp_cropped := cel_image.get_region(used_rect)
var cropped := ImageExtended.new()
cropped.copy_from_custom(tmp_cropped, cel_image.is_indexed)
if cel is CelTileMap:
(cel as CelTileMap).serialize_undo_data_source_image(cropped, redo_data, undo_data)
cropped.add_data_to_dictionary(redo_data, cel_image)
cel_image.add_data_to_dictionary(undo_data)
@ -662,6 +667,8 @@ func resize_canvas(width: int, height: int, offset_x: int, offset_y: int) -> voi
cel_image, Rect2i(Vector2i.ZERO, cel_image.get_size()), Vector2i(offset_x, offset_y)
)
resized.convert_rgb_to_indexed()
if cel is CelTileMap:
(cel as CelTileMap).serialize_undo_data_source_image(resized, redo_data, undo_data)
resized.add_data_to_dictionary(redo_data, cel_image)
cel_image.add_data_to_dictionary(undo_data)
@ -698,7 +705,7 @@ func general_do_and_undo_scale(
project.undo_redo.add_do_property(project, "y_symmetry_point", new_y_symmetry_point)
project.undo_redo.add_do_property(project.x_symmetry_axis, "points", new_x_symmetry_axis_points)
project.undo_redo.add_do_property(project.y_symmetry_axis, "points", new_y_symmetry_axis_points)
Global.undo_redo_compress_images(redo_data, undo_data)
project.deserialize_cel_undo_data(redo_data, undo_data)
project.undo_redo.add_undo_property(project, "size", project.size)
project.undo_redo.add_undo_property(project, "x_symmetry_point", project.x_symmetry_point)
project.undo_redo.add_undo_property(project, "y_symmetry_point", project.y_symmetry_point)

View file

@ -896,7 +896,7 @@ class SignalsAPI:
# TOOL RELATED SIGNALS
## Connects/disconnects a signal to [param callable], that emits
## whenever a tool changes color.[br]
## [b]Binds: [/b] It has two bind of type [Color] (indicating new color)
## [b]Binds: [/b] It has two bind of type [Color] (a dictionary with keys "color" and "index")
## and [int] (Indicating button that tool is assigned to, see [enum @GlobalScope.MouseButton])
func signal_tool_color_changed(callable: Callable, is_disconnecting := false) -> void:
_connect_disconnect(Tools.color_changed, callable, is_disconnecting)

View file

@ -14,7 +14,7 @@ signal cel_switched ## Emitted whenever you select a different cel.
signal project_data_changed(project: Project) ## Emitted when project data is modified.
signal font_loaded ## Emitted when a new font has been loaded, or an old one gets unloaded.
enum LayerTypes { PIXEL, GROUP, THREE_D }
enum LayerTypes { PIXEL, GROUP, THREE_D, TILEMAP }
enum GridTypes { CARTESIAN, ISOMETRIC, ALL }
## ## Used to tell whether a color is being taken from the current theme,
## or if it is a custom color.
@ -897,12 +897,17 @@ func _initialize_keychain() -> void:
&"reference_rotate": Keychain.InputAction.new("", "Reference images", false),
&"reference_scale": Keychain.InputAction.new("", "Reference images", false),
&"reference_quick_menu": Keychain.InputAction.new("", "Reference images", false),
&"cancel_reference_transform": Keychain.InputAction.new("", "Reference images", false)
&"cancel_reference_transform": Keychain.InputAction.new("", "Reference images", false),
&"tile_rotate_left": Keychain.InputAction.new("", "Tileset panel", false),
&"tile_rotate_right": Keychain.InputAction.new("", "Tileset panel", false),
&"tile_flip_horizontal": Keychain.InputAction.new("", "Tileset panel", false),
&"tile_flip_vertical": Keychain.InputAction.new("", "Tileset panel", false)
}
Keychain.groups = {
"Canvas": Keychain.InputGroup.new("", false),
"Cursor movement": Keychain.InputGroup.new("Canvas"),
"Reference images": Keychain.InputGroup.new("Canvas"),
"Buttons": Keychain.InputGroup.new(),
"Tools": Keychain.InputGroup.new(),
"Left": Keychain.InputGroup.new("Tools"),
@ -921,7 +926,7 @@ func _initialize_keychain() -> void:
"Shape tools": Keychain.InputGroup.new("Tool modifiers"),
"Selection tools": Keychain.InputGroup.new("Tool modifiers"),
"Transformation tools": Keychain.InputGroup.new("Tool modifiers"),
"Reference images": Keychain.InputGroup.new("Canvas")
"Tileset panel": Keychain.InputGroup.new()
}
Keychain.ignore_actions = ["left_mouse", "right_mouse", "middle_mouse", "shift", "ctrl"]
@ -954,7 +959,7 @@ func general_redo(project := current_project) -> void:
## Performs actions done after an undo or redo is done. this takes [member general_undo] and
## [member general_redo] a step further. Does further work if the current action requires it
## like refreshing textures, redraw UI elements etc...[br]
## [param frame_index] and [param layer_index] are there for optimizzation. if the undo or redo
## [param frame_index] and [param layer_index] are there for optimization. if the undo or redo
## happens only in one cel then the cel's frame and layer should be passed to [param frame_index]
## and [param layer_index] respectively, otherwise the entire timeline will be refreshed.
func undo_or_redo(
@ -980,20 +985,24 @@ func undo_or_redo(
]
):
if layer_index > -1 and frame_index > -1:
canvas.update_texture(layer_index, frame_index, project)
var cel := project.frames[frame_index].cels[layer_index]
if action_name == "Scale":
cel.size_changed(project.size)
canvas.update_texture(layer_index, frame_index, project, undo)
else:
for i in project.frames.size():
for j in project.layers.size():
canvas.update_texture(j, i, project)
var cel := project.frames[i].cels[j]
if action_name == "Scale":
cel.size_changed(project.size)
canvas.update_texture(j, i, project, undo)
canvas.selection.queue_redraw()
if action_name == "Scale":
for i in project.frames.size():
for j in project.layers.size():
var current_cel := project.frames[i].cels[j]
if current_cel is Cel3D:
current_cel.size_changed(project.size)
else:
if current_cel is not Cel3D:
current_cel.image_texture.set_image(current_cel.get_image())
canvas.camera_zoom()
canvas.grid.queue_redraw()

View file

@ -258,6 +258,18 @@ func open_pxo_file(path: String, is_backup := false, replace_empty := true) -> v
new_project.tiles.tile_mask = image
else:
new_project.tiles.reset_mask()
if result.has("tilesets"):
for i in result.tilesets.size():
var tileset_dict: Dictionary = result.tilesets[i]
var tileset := new_project.tilesets[i]
var tile_size := tileset.tile_size
var tile_amount: int = tileset_dict.tile_amount
for j in tile_amount:
var image_data := zip_reader.read_file("tilesets/%s/%s" % [i, j])
var image := Image.create_from_data(
tile_size.x, tile_size.y, false, new_project.get_image_format(), image_data
)
tileset.add_tile(image, null)
zip_reader.close()
new_project.export_directory_path = path.get_base_dir()
@ -418,6 +430,14 @@ func save_pxo_file(
zip_packer.start_file("image_data/tile_map")
zip_packer.write_file(project.tiles.tile_mask.get_data())
zip_packer.close_file()
for i in project.tilesets.size():
var tileset := project.tilesets[i]
var tileset_path := "tilesets/%s" % i
for j in tileset.tiles.size():
var tile := tileset.tiles[j]
zip_packer.start_file(tileset_path.path_join(str(j)))
zip_packer.write_file(tile.image.get_data())
zip_packer.close_file()
zip_packer.close()
if temp_path != path:
@ -699,17 +719,18 @@ func open_image_at_cel(image: Image, layer_index := 0, frame_index := 0) -> void
return
image.convert(project.get_image_format())
var cel_image := (cel as PixelCel).get_image()
var new_cel_image := ImageExtended.create_custom(
project_width, project_height, false, project.get_image_format(), cel_image.is_indexed
)
new_cel_image.blit_rect(image, Rect2i(Vector2i.ZERO, image.get_size()), Vector2i.ZERO)
new_cel_image.convert_rgb_to_indexed()
var redo_data := {}
new_cel_image.add_data_to_dictionary(redo_data, cel_image)
var undo_data := {}
if cel is CelTileMap:
undo_data[cel] = (cel as CelTileMap).serialize_undo_data()
cel_image.add_data_to_dictionary(undo_data)
Global.undo_redo_compress_images(redo_data, undo_data, project)
cel_image.blit_rect(image, Rect2i(Vector2i.ZERO, image.get_size()), Vector2i.ZERO)
cel_image.convert_rgb_to_indexed()
var redo_data := {}
if cel is CelTileMap:
(cel as CelTileMap).update_tilemap()
redo_data[cel] = (cel as CelTileMap).serialize_undo_data()
cel_image.add_data_to_dictionary(redo_data)
project.deserialize_cel_undo_data(redo_data, undo_data)
project.undo_redo.add_do_property(project, "selected_cels", [])
project.undo_redo.add_do_method(project.change_cel.bind(frame_index, layer_index))
project.undo_redo.add_do_method(Global.undo_or_redo.bind(false))
@ -815,6 +836,49 @@ func import_reference_image_from_image(image: Image) -> void:
reference_image_imported.emit()
func open_image_as_tileset(
path: String, image: Image, horiz: int, vert: int, project := Global.current_project
) -> void:
image.convert(project.get_image_format())
horiz = mini(horiz, image.get_size().x)
vert = mini(vert, image.get_size().y)
var frame_width := image.get_size().x / horiz
var frame_height := image.get_size().y / vert
var tile_size := Vector2i(frame_width, frame_height)
var tileset := TileSetCustom.new(tile_size, path.get_basename().get_file())
for yy in range(vert):
for xx in range(horiz):
var cropped_image := image.get_region(
Rect2i(frame_width * xx, frame_height * yy, frame_width, frame_height)
)
@warning_ignore("int_as_enum_without_cast")
tileset.add_tile(cropped_image, null)
project.tilesets.append(tileset)
func open_image_as_tileset_smart(
path: String,
image: Image,
sliced_rects: Array[Rect2i],
tile_size: Vector2i,
project := Global.current_project
) -> void:
image.convert(project.get_image_format())
if sliced_rects.size() == 0: # Image is empty sprite (manually set data to be consistent)
tile_size = image.get_size()
sliced_rects.append(Rect2i(Vector2i.ZERO, tile_size))
var tileset := TileSetCustom.new(tile_size, path.get_basename().get_file())
for rect in sliced_rects:
var offset: Vector2 = (0.5 * (tile_size - rect.size)).floor()
var cropped_image := Image.create(
tile_size.x, tile_size.y, false, project.get_image_format()
)
cropped_image.blit_rect(image, rect, offset)
@warning_ignore("int_as_enum_without_cast")
tileset.add_tile(cropped_image, null)
project.tilesets.append(tileset)
func set_new_imported_tab(project: Project, path: String) -> void:
var prev_project_empty := Global.current_project.is_empty()
var prev_project_pos := Global.current_project_index

View file

@ -300,9 +300,9 @@ func current_palette_select_color(mouse_button: int, index: int) -> void:
match mouse_button:
MOUSE_BUTTON_LEFT:
Tools.assign_color(color, mouse_button)
Tools.assign_color(color, mouse_button, true, left_selected_color)
MOUSE_BUTTON_RIGHT:
Tools.assign_color(color, mouse_button)
Tools.assign_color(color, mouse_button, true, right_selected_color)
func _select_color(mouse_button: int, index: int) -> void:

View file

@ -1,7 +1,9 @@
# gdlint: ignore=max-public-methods
extends Node
signal color_changed(color: Color, button: int)
signal color_changed(color_info: Dictionary, button: int)
@warning_ignore("unused_signal")
signal selected_tile_index_changed(tile_index: int)
signal config_changed(slot_idx: int, config: Dictionary)
@warning_ignore("unused_signal")
signal flip_rotated(flip_x, flip_y, rotate_90, rotate_180, rotate_270)
@ -88,7 +90,11 @@ var tools := {
),
"Move":
Tool.new(
"Move", "Move", "move", "res://src/Tools/UtilityTools/Move.tscn", [Global.LayerTypes.PIXEL]
"Move",
"Move",
"move",
"res://src/Tools/UtilityTools/Move.tscn",
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP]
),
"Zoom": Tool.new("Zoom", "Zoom", "zoom", "res://src/Tools/UtilityTools/Zoom.tscn"),
"Pan": Tool.new("Pan", "Pan", "pan", "res://src/Tools/UtilityTools/Pan.tscn"),
@ -116,7 +122,7 @@ var tools := {
"Pencil",
"pencil",
"res://src/Tools/DesignTools/Pencil.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
"Hold %s to make a line",
["draw_create_line"]
),
@ -126,7 +132,7 @@ var tools := {
"Eraser",
"eraser",
"res://src/Tools/DesignTools/Eraser.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
"Hold %s to make a line",
["draw_create_line"]
),
@ -136,7 +142,7 @@ var tools := {
"Bucket",
"fill",
"res://src/Tools/DesignTools/Bucket.tscn",
[Global.LayerTypes.PIXEL]
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP]
),
"Shading":
Tool.new(
@ -144,7 +150,7 @@ var tools := {
"Shading Tool",
"shading",
"res://src/Tools/DesignTools/Shading.tscn",
[Global.LayerTypes.PIXEL]
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP]
),
"LineTool":
(
@ -154,7 +160,7 @@ var tools := {
"Line Tool",
"linetool",
"res://src/Tools/DesignTools/LineTool.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
"""Hold %s to snap the angle of the line
Hold %s to center the shape on the click origin
Hold %s to displace the shape's origin""",
@ -169,7 +175,7 @@ Hold %s to displace the shape's origin""",
"Curve Tool",
"curvetool",
"res://src/Tools/DesignTools/CurveTool.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
"""Draws bezier curves
Press %s/%s to add new points
Press and drag to control the curvature
@ -185,7 +191,7 @@ Press %s to remove the last added point""",
"Rectangle Tool",
"rectangletool",
"res://src/Tools/DesignTools/RectangleTool.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
"""Hold %s to create a 1:1 shape
Hold %s to center the shape on the click origin
Hold %s to displace the shape's origin""",
@ -200,7 +206,7 @@ Hold %s to displace the shape's origin""",
"Ellipse Tool",
"ellipsetool",
"res://src/Tools/DesignTools/EllipseTool.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
"""Hold %s to create a 1:1 shape
Hold %s to center the shape on the click origin
Hold %s to displace the shape's origin""",
@ -213,7 +219,7 @@ Hold %s to displace the shape's origin""",
"Text",
"text",
"res://src/Tools/UtilityTools/Text.tscn",
[Global.LayerTypes.PIXEL],
[Global.LayerTypes.PIXEL, Global.LayerTypes.TILEMAP],
""
),
"3DShapeEdit":
@ -232,10 +238,12 @@ var _panels := {}
var _curr_layer_type := Global.LayerTypes.PIXEL
var _left_tools_per_layer_type := {
Global.LayerTypes.PIXEL: "Pencil",
Global.LayerTypes.TILEMAP: "Pencil",
Global.LayerTypes.THREE_D: "3DShapeEdit",
}
var _right_tools_per_layer_type := {
Global.LayerTypes.PIXEL: "Eraser",
Global.LayerTypes.TILEMAP: "Eraser",
Global.LayerTypes.THREE_D: "Pan",
}
var _tool_buttons: Node
@ -509,7 +517,7 @@ func swap_color() -> void:
assign_color(left, MOUSE_BUTTON_RIGHT, false)
func assign_color(color: Color, button: int, change_alpha := true) -> void:
func assign_color(color: Color, button: int, change_alpha := true, index: int = -1) -> void:
var c: Color = _slots[button].color
# This was requested by Issue #54 on GitHub
if color.a == 0 and change_alpha:
@ -517,7 +525,8 @@ func assign_color(color: Color, button: int, change_alpha := true) -> void:
color.a = 1
_slots[button].color = color
Global.config_cache.set_value(_slots[button].kname, "color", color)
color_changed.emit(color, button)
var color_info := {"color": color, "index": index}
color_changed.emit(color_info, button)
func get_assigned_color(button: int) -> Color:
@ -574,6 +583,87 @@ func calculate_mirror_x_minus_y(pos: Vector2i, project: Project) -> Vector2i:
)
func is_placing_tiles() -> bool:
if Global.current_project.frames.size() == 0 or Global.current_project.layers.size() == 0:
return false
return Global.current_project.get_current_cel() is CelTileMap and TileSetPanel.placing_tiles
func _get_closest_point_to_grid(pos: Vector2, distance: float, grid_pos: Vector2) -> Vector2:
# If the cursor is close to the start/origin of a grid cell, snap to that
var snap_distance := distance * Vector2.ONE
var closest_point := Vector2.INF
var rect := Rect2()
rect.position = pos - (snap_distance / 4.0)
rect.end = pos + (snap_distance / 4.0)
if rect.has_point(grid_pos):
closest_point = grid_pos
return closest_point
# If the cursor is far from the grid cell origin but still close to a grid line
# Look for a point close to a horizontal grid line
var grid_start_hor := Vector2(0, grid_pos.y)
var grid_end_hor := Vector2(Global.current_project.size.x, grid_pos.y)
var closest_point_hor := get_closest_point_to_segment(
pos, distance, grid_start_hor, grid_end_hor
)
# Look for a point close to a vertical grid line
var grid_start_ver := Vector2(grid_pos.x, 0)
var grid_end_ver := Vector2(grid_pos.x, Global.current_project.size.y)
var closest_point_ver := get_closest_point_to_segment(
pos, distance, grid_start_ver, grid_end_ver
)
# Snap to the closest point to the closest grid line
var horizontal_distance := (closest_point_hor - pos).length()
var vertical_distance := (closest_point_ver - pos).length()
if horizontal_distance < vertical_distance:
closest_point = closest_point_hor
elif horizontal_distance > vertical_distance:
closest_point = closest_point_ver
elif horizontal_distance == vertical_distance and closest_point_hor != Vector2.INF:
closest_point = grid_pos
return closest_point
func get_closest_point_to_segment(
pos: Vector2, distance: float, s1: Vector2, s2: Vector2
) -> Vector2:
var test_line := (s2 - s1).rotated(deg_to_rad(90)).normalized()
var from_a := pos - test_line * distance
var from_b := pos + test_line * distance
var closest_point := Vector2.INF
if Geometry2D.segment_intersects_segment(from_a, from_b, s1, s2):
closest_point = Geometry2D.get_closest_point_to_segment(pos, s1, s2)
return closest_point
func snap_to_rectangular_grid_boundary(
pos: Vector2, grid_size: Vector2i, grid_offset := Vector2i.ZERO, snapping_distance := 9999.0
) -> Vector2:
var grid_pos := pos.snapped(grid_size)
grid_pos += Vector2(grid_offset)
# keeping grid_pos as is would have been fine but this adds extra accuracy as to
# which snap point (from the list below) is closest to mouse and occupy THAT point
# t_l is for "top left" and so on
var t_l := grid_pos + Vector2(-grid_size.x, -grid_size.y)
var t_c := grid_pos + Vector2(0, -grid_size.y)
var t_r := grid_pos + Vector2(grid_size.x, -grid_size.y)
var m_l := grid_pos + Vector2(-grid_size.x, 0)
var m_c := grid_pos
var m_r := grid_pos + Vector2(grid_size.x, 0)
var b_l := grid_pos + Vector2(-grid_size.x, grid_size.y)
var b_c := grid_pos + Vector2(0, grid_size.y)
var b_r := grid_pos + Vector2(grid_size)
var vec_arr: PackedVector2Array = [t_l, t_c, t_r, m_l, m_c, m_r, b_l, b_c, b_r]
for vec in vec_arr:
if vec.distance_to(pos) < grid_pos.distance_to(pos):
grid_pos = vec
var grid_point := _get_closest_point_to_grid(pos, snapping_distance, grid_pos)
if grid_point != Vector2.INF:
pos = grid_point.floor()
return pos
func set_button_size(button_size: int) -> void:
var size := Vector2(24, 24) if button_size == Global.ButtonSize.SMALL else Vector2(32, 32)
if not is_instance_valid(_tool_buttons):

View file

@ -67,7 +67,7 @@ func get_image() -> Image:
## Used to update the texture of the cel.
func update_texture() -> void:
func update_texture(_undo := false) -> void:
texture_changed.emit()
if link_set != null:
var frame := Global.current_project.current_frame
@ -92,6 +92,10 @@ func deserialize(dict: Dictionary) -> void:
user_data = dict.get("user_data", user_data)
func size_changed(_new_size: Vector2i) -> void:
pass
## Used to perform cleanup after a cel is removed.
func on_remove() -> void:
pass

View file

@ -0,0 +1,700 @@
# gdlint: ignore=max-public-methods
class_name CelTileMap
extends PixelCel
## A cel type for 2D tile-based maps.
## A Tilemap cel uses a [TileSetCustom], which it inherits from its [LayerTileMap].
## Extending from [PixelCel], it contains an internal [Image], which is divided in
## grid cells, the size of which comes from [member TileSetCustom.tile_size].
## Each cell contains an index, which is an integer used to map that portion of the
## internal [member PixelCel.image] to a tile in [member tileset], as well as
## information that specifies if that cell has a transformation applied to it,
## such as horizontal flipping, vertical flipping, or if it's transposed.
## The [TileSetCustom] that this cel uses, passed down from the cel's [LayerTileMap].
var tileset: TileSetCustom
## The [Array] of type [CelTileMap.Cell] that contains data for each cell of the tilemap.
## The array's size is equal to [member horizontal_cells] * [member vertical_cells].
var cells: Array[Cell]
## The amount of horizontal cells.
var horizontal_cells: int
## The amount of vertical cells.
var vertical_cells: int
## Dictionary of [int] and [Array].
## The key is the index of the tile in the tileset,
## and the value is the index of the tilemap tile that changed first, along with
## its image that is being changed when manual mode is enabled.
## Gets reset on [method update_tilemap].
var editing_images := {}
## An internal class of [CelTIleMap], which contains data used by individual cells of the tilemap.
class Cell:
## The index of the [TileSetCustom] tile that the cell is mapped to.
var index := 0
## If [code]true[/code], the tile is flipped horizontally in this cell.
var flip_h := false
## If [code]true[/code], the tile is flipped vertically in this cell.
var flip_v := false
## If [code]true[/code], the tile is rotated 90 degrees counter-clockwise,
## and then flipped vertically in this cell.
var transpose := false
func _to_string() -> String:
var text := str(index)
if flip_h:
text += "H"
if flip_v:
text += "V"
if transpose:
text += "T"
return text
func remove_transformations() -> void:
flip_h = false
flip_v = false
transpose = false
func serialize() -> Dictionary:
return {"index": index, "flip_h": flip_h, "flip_v": flip_v, "transpose": transpose}
func deserialize(dict: Dictionary) -> void:
index = dict.get("index", index)
flip_h = dict.get("flip_h", flip_h)
flip_v = dict.get("flip_v", flip_v)
transpose = dict.get("transpose", transpose)
func _init(_tileset: TileSetCustom, _image := ImageExtended.new(), _opacity := 1.0) -> void:
super._init(_image, _opacity)
set_tileset(_tileset)
func set_tileset(new_tileset: TileSetCustom, reset_indices := true) -> void:
if tileset == new_tileset:
return
if is_instance_valid(tileset):
if tileset.updated.is_connected(_on_tileset_updated):
tileset.updated.disconnect(_on_tileset_updated)
tileset = new_tileset
if is_instance_valid(tileset):
_resize_cells(get_image().get_size(), reset_indices)
if not tileset.updated.is_connected(_on_tileset_updated):
tileset.updated.connect(_on_tileset_updated)
## Maps the cell at position [param cell_position] to
## the [member tileset]'s tile of index [param index].
func set_index(cell_position: int, index: int) -> void:
index = clampi(index, 0, tileset.tiles.size() - 1)
var previous_index := cells[cell_position].index
if previous_index != index:
if previous_index > 0 and previous_index < tileset.tiles.size():
tileset.tiles[previous_index].times_used -= 1
tileset.tiles[index].times_used += 1
cells[cell_position].index = index
cells[cell_position].flip_h = TileSetPanel.is_flipped_h
cells[cell_position].flip_v = TileSetPanel.is_flipped_v
cells[cell_position].transpose = TileSetPanel.is_transposed
_update_cell(cell_position)
Global.canvas.queue_redraw()
## Returns the pixel coordinates of the tilemap's cell
## at position [cell_position] in the cel's image.
## The reverse of [method get_cell_position].
func get_cell_coords_in_image(cell_position: int) -> Vector2i:
var x_coord := float(tileset.tile_size.x) * (cell_position % horizontal_cells)
@warning_ignore("integer_division")
var y_coord := float(tileset.tile_size.y) * (cell_position / horizontal_cells)
return Vector2i(x_coord, y_coord)
## Returns the position of a cell in the tilemap
## at pixel coordinates [param coords] in the cel's image.
## The reverse of [method get_cell_coords_in_image].
func get_cell_position(coords: Vector2i) -> int:
@warning_ignore("integer_division")
var x := coords.x / tileset.tile_size.x
x = clampi(x, 0, horizontal_cells - 1)
@warning_ignore("integer_division")
var y := coords.y / tileset.tile_size.y
y = clampi(y, 0, vertical_cells - 1)
y *= horizontal_cells
return x + y
## Returns the position of a cell in the tilemap
## at tilemap coordinates [param coords] in the cel's image.
func get_cell_position_in_tilemap_space(coords: Vector2i) -> int:
var x := coords.x
x = clampi(x, 0, horizontal_cells - 1)
var y := coords.y
y = clampi(y, 0, vertical_cells - 1)
y *= horizontal_cells
return x + y
## Returns the index of a cell in the tilemap
## at pixel coordinates [param coords] in the cel's image.
func get_cell_index_at_coords(coords: Vector2i) -> int:
return cells[get_cell_position(coords)].index
## Returns the index of a cell in the tilemap
## at tilemap coordinates [param coords] in the cel's image.
func get_cell_index_at_coords_in_tilemap_space(coords: Vector2i) -> int:
return cells[get_cell_position_in_tilemap_space(coords)].index
## Returns [code]true[/code] if the tile at cell position [param cell_position]
## with image [param image_portion] is equal to [param tile_image].
func _tiles_equal(cell_position: int, image_portion: Image, tile_image: Image) -> bool:
var cell_data := cells[cell_position]
var final_image_portion := transform_tile(
tile_image, cell_data.flip_h, cell_data.flip_v, cell_data.transpose
)
return image_portion.get_data() == final_image_portion.get_data()
## Applies transformations to [param tile_image] based on [param flip_h],
## [param flip_v] and [param transpose], and returns the transformed image.
## If [param reverse] is [code]true[/code], the transposition is applied the reverse way.
func transform_tile(
tile_image: Image, flip_h: bool, flip_v: bool, transpose: bool, reverse := false
) -> Image:
var transformed_tile := Image.new()
transformed_tile.copy_from(tile_image)
if transpose:
var tmp_image := Image.new()
tmp_image.copy_from(transformed_tile)
if reverse:
tmp_image.rotate_90(CLOCKWISE)
else:
tmp_image.rotate_90(COUNTERCLOCKWISE)
transformed_tile.blit_rect(
tmp_image, Rect2i(Vector2i.ZERO, transformed_tile.get_size()), Vector2i.ZERO
)
if reverse and not (flip_h != flip_v):
transformed_tile.flip_x()
else:
transformed_tile.flip_y()
if flip_h:
transformed_tile.flip_x()
if flip_v:
transformed_tile.flip_y()
return transformed_tile
## Given a [param selection_map] and a [param selection_rect],
## the method finds the cells that are currently selected and returns them
## in the form of a 2D array that contains the serialiazed data
##of the selected cells in the form of [Dictionary].
func get_selected_cells(selection_map: SelectionMap, selection_rect: Rect2i) -> Array[Array]:
var selected_cells: Array[Array] = []
for x in range(0, selection_rect.size.x, tileset.tile_size.x):
selected_cells.append([])
for y in range(0, selection_rect.size.y, tileset.tile_size.y):
var pos := Vector2i(x, y) + selection_rect.position
var x_index := x / tileset.tile_size.x
if selection_map.is_pixel_selected(pos):
var cell_pos := get_cell_position(pos)
selected_cells[x_index].append(cells[cell_pos].serialize())
else:
# If it's not selected, append the transparent tile 0.
selected_cells[x_index].append(
{"index": 0, "flip_h": false, "flip_v": false, "transpose": false}
)
return selected_cells
## Resizes [param selected_indices], which is an array of arrays of [Dictionary],
## to [param horizontal_size] and [param vertical_size].
## This method is used when resizing a selection and draw tiles mode is enabled.
func resize_selection(
selected_cells: Array[Array], horizontal_size: int, vertical_size: int
) -> Array[Array]:
var resized_cells: Array[Array] = []
var current_columns := selected_cells.size()
if current_columns == 0:
return resized_cells
var current_rows := selected_cells[0].size()
if current_rows == 0:
return resized_cells
resized_cells.resize(horizontal_size)
for x in horizontal_size:
resized_cells[x] = []
resized_cells[x].resize(vertical_size)
var column_middles := current_columns - 2
if current_columns == 1:
for x in horizontal_size:
_resize_rows(selected_cells[0], resized_cells[x], current_rows, vertical_size)
else:
for x in horizontal_size:
if x == 0:
_resize_rows(selected_cells[0], resized_cells[x], current_rows, vertical_size)
elif x == horizontal_size - 1:
_resize_rows(selected_cells[-1], resized_cells[x], current_rows, vertical_size)
else:
if x < current_columns - 1:
_resize_rows(selected_cells[x], resized_cells[x], current_rows, vertical_size)
else:
if column_middles == 0:
_resize_rows(
selected_cells[-1], resized_cells[x], current_rows, vertical_size
)
else:
var x_index := x - (column_middles * ((x - 1) / column_middles))
_resize_rows(
selected_cells[x_index], resized_cells[x], current_rows, vertical_size
)
return resized_cells
## Helper method of [method resize_selection].
func _resize_rows(
selected_cells: Array, resized_cells: Array, current_rows: int, vertical_size: int
) -> void:
var row_middles := current_rows - 2
if current_rows == 1:
for y in vertical_size:
resized_cells[y] = selected_cells[0]
else:
for y in vertical_size:
if y == 0:
resized_cells[y] = selected_cells[0]
elif y == vertical_size - 1:
resized_cells[y] = selected_cells[-1]
else:
if y < current_rows - 1:
resized_cells[y] = selected_cells[y]
else:
if row_middles == 0:
resized_cells[y] = selected_cells[-1]
else:
var y_index := y - (row_middles * ((y - 1) / row_middles))
resized_cells[y] = selected_cells[y_index]
## Applies the [param selected_cells] data to [param target_image] data,
## offset by [param selection_rect]. The target image needs to be resized first.
## This method is used when resizing a selection and draw tiles mode is enabled.
func apply_resizing_to_image(
target_image: Image, selected_cells: Array[Array], selection_rect: Rect2i
) -> void:
for x in selected_cells.size():
for y in selected_cells[x].size():
var pos := Vector2i(x, y) * tileset.tile_size + selection_rect.position
var cell_pos := get_cell_position(pos)
var coords := get_cell_coords_in_image(cell_pos) - selection_rect.position
var rect := Rect2i(coords, tileset.tile_size)
var image_portion := target_image.get_region(rect)
var cell_data := Cell.new()
cell_data.deserialize(selected_cells[x][y])
var index := cell_data.index
if index >= tileset.tiles.size():
index = 0
var current_tile := tileset.tiles[index].image
var transformed_tile := transform_tile(
current_tile, cell_data.flip_h, cell_data.flip_v, cell_data.transpose
)
if image_portion.get_data() != transformed_tile.get_data():
var tile_size := transformed_tile.get_size()
target_image.blit_rect(transformed_tile, Rect2i(Vector2i.ZERO, tile_size), coords)
if target_image is ImageExtended:
target_image.convert_rgb_to_indexed()
## Appends data to a [Dictionary] to be used for undo/redo.
func serialize_undo_data() -> Dictionary:
var dict := {}
var cell_indices := []
cell_indices.resize(cells.size())
for i in cell_indices.size():
cell_indices[i] = cells[i].serialize()
dict["cell_indices"] = cell_indices
dict["tileset"] = tileset.serialize_undo_data()
dict["resize"] = false
return dict
## Same purpose as [method serialize_undo_data], but for when the image resource
## ([param source_image]) we want to store to the undo/redo stack
## is not the same as [member image]. This method also handles the resizing logic for undo/redo.
func serialize_undo_data_source_image(
source_image: ImageExtended, redo_data: Dictionary, undo_data: Dictionary
) -> void:
undo_data[self] = serialize_undo_data()
if source_image.get_size() != image.get_size():
undo_data[self]["resize"] = true
_resize_cells(source_image.get_size())
tileset.clear_tileset(self)
var tile_editing_mode := TileSetPanel.tile_editing_mode
if tile_editing_mode == TileSetPanel.TileEditingMode.MANUAL:
tile_editing_mode = TileSetPanel.TileEditingMode.AUTO
update_tilemap(tile_editing_mode, source_image)
redo_data[self] = serialize_undo_data()
redo_data[self]["resize"] = undo_data[self]["resize"]
## Reads data from a [param dict] [Dictionary], and uses them to add methods to [param undo_redo].
func deserialize_undo_data(dict: Dictionary, undo_redo: UndoRedo, undo: bool) -> void:
var cell_indices = dict.cell_indices
if undo:
undo_redo.add_undo_method(_deserialize_cell_data.bind(cell_indices, dict.resize))
if dict.has("tileset"):
undo_redo.add_undo_method(tileset.deserialize_undo_data.bind(dict.tileset, self))
else:
undo_redo.add_do_method(_deserialize_cell_data.bind(cell_indices, dict.resize))
if dict.has("tileset"):
undo_redo.add_do_method(tileset.deserialize_undo_data.bind(dict.tileset, self))
## Gets called every time a change is being applied to the [param image],
## such as when finishing drawing with a draw tool, or when applying an image effect.
## This method responsible for updating the indices of the [member cells], as well as
## updating the [member tileset] with the incoming changes.
## The updating behavior depends on the current tile editing mode
## by [member TileSetPanel.tile_editing_mode].
## If a [param source_image] is provided, that image is being used instead of [member image].
func update_tilemap(
tile_editing_mode := TileSetPanel.tile_editing_mode, source_image := image
) -> void:
editing_images.clear()
var tileset_size_before_update := tileset.tiles.size()
for i in cells.size():
var coords := get_cell_coords_in_image(i)
var rect := Rect2i(coords, tileset.tile_size)
var image_portion := source_image.get_region(rect)
var index := cells[i].index
if index >= tileset.tiles.size():
index = 0
var current_tile := tileset.tiles[index]
if tile_editing_mode == TileSetPanel.TileEditingMode.MANUAL:
if image_portion.is_invisible():
continue
if index == 0:
# If the tileset is empty, only then add a new tile.
if tileset.tiles.size() <= 1:
tileset.add_tile(image_portion, self)
cells[i].index = tileset.tiles.size() - 1
continue
if not _tiles_equal(i, image_portion, current_tile.image):
tileset.replace_tile_at(image_portion, index, self)
elif tile_editing_mode == TileSetPanel.TileEditingMode.AUTO:
_handle_auto_editing_mode(i, image_portion, tileset_size_before_update)
else: # Stack
if image_portion.is_invisible():
continue
var found_tile := false
for j in range(1, tileset.tiles.size()):
var tile := tileset.tiles[j]
if _tiles_equal(i, image_portion, tile.image):
if cells[i].index != j:
cells[i].index = j
cells[i].remove_transformations()
found_tile = true
break
if not found_tile:
tileset.add_tile(image_portion, self)
cells[i].index = tileset.tiles.size() - 1
cells[i].remove_transformations()
# Updates transparent cells that have indices higher than 0.
# This can happen when switching to another tileset which has less tiles
# than the previous one.
for i in cells.size():
var coords := get_cell_coords_in_image(i)
var rect := Rect2i(coords, tileset.tile_size)
var image_portion := source_image.get_region(rect)
if not image_portion.is_invisible():
continue
var index := cells[i].index
if index == 0:
continue
if index >= tileset.tiles.size():
index = 0
var current_tile := tileset.tiles[index]
if not _tiles_equal(i, image_portion, current_tile.image):
set_index(i, cells[i].index)
## Gets called by [method update_tilemap]. This method is responsible for handling
## the tilemap updating behavior for the auto tile editing mode.[br]
## Cases:[br]
## 0) Cell is transparent. Set its index to 0.
## [br]
## 0.5) Cell is transparent and mapped.
## Set its index to 0 and unuse the mapped tile.
## If the mapped tile is removed, reduce the index of all cells that have
## indices greater or equal than the existing tile's index.
## [br]
## 1) Cell not mapped, exists in the tileset.
## Map the cell to the existing tile and increase its times_used by one.
## [br]
## 2) Cell not mapped, does not exist in the tileset.
## Add the cell as a tile in the tileset, set its index to be the tileset's tile size - 1.
## [br]
## 3) Cell mapped, tile did not change. Do nothing.
## [br]
## 4) Cell mapped, exists in the tileset.
## The mapped tile still exists in the tileset.
## Map the cell to the existing tile, increase its times_used by one,
## and reduce the previously mapped tile's times_used by 1.
## [br]
## 5) Cell mapped, exists in the tileset.
## The mapped tile does not exist in the tileset anymore.
## Map the cell to the existing tile and increase its times_used by one.
## Remove the previously mapped tile,
## and reduce the index of all cells that have indices greater or equal
## than the existing tile's index.
## [br]
## 6) Cell mapped, does not exist in the tileset.
## The mapped tile still exists in the tileset.
## Add the cell as a tile in the tileset, set its index to be the tileset's tile size - 1.
## Reduce the previously mapped tile's times_used by 1.
## [br]
## 7) Cell mapped, does not exist in the tileset.
## The mapped tile does not exist in the tileset anymore.
## Simply replace the old tile with the new one, do not change its index.
func _handle_auto_editing_mode(
i: int, image_portion: Image, tileset_size_before_update: int
) -> void:
var index := cells[i].index
if index >= tileset.tiles.size():
index = 0
var current_tile := tileset.tiles[index]
if image_portion.is_invisible():
# Case 0: The cell is transparent.
if cells[i].index >= tileset_size_before_update:
return
cells[i].index = 0
cells[i].remove_transformations()
if index > 0:
# Case 0.5: The cell is transparent and mapped to a tile.
var is_removed := tileset.unuse_tile_at_index(index, self)
if is_removed:
# Re-index all indices that are after the deleted one.
_re_index_cells_after_index(index)
return
var index_in_tileset := tileset.find_tile(image_portion)
if index == 0: # If the cell is not mapped to a tile.
if index_in_tileset > -1:
# Case 1: The cell is not mapped already,
# and it exists in the tileset as a tile.
tileset.tiles[index_in_tileset].times_used += 1
cells[i].index = index_in_tileset
else:
# Case 2: The cell is not mapped already,
# and it does not exist in the tileset.
tileset.add_tile(image_portion, self)
cells[i].index = tileset.tiles.size() - 1
else: # If the cell is already mapped.
if _tiles_equal(i, image_portion, current_tile.image):
# Case 3: The cell is mapped and it did not change.
# Do nothing and move on to the next cell.
return
if index_in_tileset > -1: # If the cell exists in the tileset as a tile.
if current_tile.times_used > 1:
# Case 4: The cell is mapped and it exists in the tileset as a tile,
# and the currently mapped tile still exists in the tileset.
tileset.tiles[index_in_tileset].times_used += 1
cells[i].index = index_in_tileset
tileset.unuse_tile_at_index(index, self)
else:
# Case 5: The cell is mapped and it exists in the tileset as a tile,
# and the currently mapped tile no longer exists in the tileset.
tileset.tiles[index_in_tileset].times_used += 1
cells[i].index = index_in_tileset
tileset.remove_tile_at_index(index, self)
# Re-index all indices that are after the deleted one.
_re_index_cells_after_index(index)
else: # If the cell does not exist in the tileset as a tile.
if current_tile.times_used > 1:
# Case 6: The cell is mapped and it does not
# exist in the tileset as a tile,
# and the currently mapped tile still exists in the tileset.
tileset.unuse_tile_at_index(index, self)
tileset.add_tile(image_portion, self)
cells[i].index = tileset.tiles.size() - 1
else:
# Case 7: The cell is mapped and it does not
# exist in the tileset as a tile,
# and the currently mapped tile no longer exists in the tileset.
tileset.replace_tile_at(image_portion, index, self)
cells[i].remove_transformations()
## Re-indexes all [member cells] that are larger or equal to [param index],
## by reducing their value by one.
func _re_index_cells_after_index(index: int) -> void:
for i in cells.size():
var tmp_index := cells[i].index
if tmp_index >= index:
cells[i].index -= 1
## Updates the [member image] data of the cell of the tilemap in [param cell_position],
## to ensure that it is the same as its mapped tile in the [member tileset].
func _update_cell(cell_position: int) -> void:
var coords := get_cell_coords_in_image(cell_position)
var rect := Rect2i(coords, tileset.tile_size)
var image_portion := image.get_region(rect)
var cell_data := cells[cell_position]
var index := cell_data.index
if index >= tileset.tiles.size():
index = 0
var current_tile := tileset.tiles[index].image
var transformed_tile := transform_tile(
current_tile, cell_data.flip_h, cell_data.flip_v, cell_data.transpose
)
if image_portion.get_data() != transformed_tile.get_data():
var tile_size := transformed_tile.get_size()
image.blit_rect(transformed_tile, Rect2i(Vector2i.ZERO, tile_size), coords)
image.convert_rgb_to_indexed()
## Calls [method _update_cell] for all [member cells].
func update_cel_portions() -> void:
for i in cells.size():
_update_cell(i)
## Loops through all [member cells] of the tilemap and updates their indices,
## so they can remain mapped to the [member tileset]'s tiles.
func _re_index_all_cells() -> void:
for i in cells.size():
var coords := get_cell_coords_in_image(i)
var rect := Rect2i(coords, tileset.tile_size)
var image_portion := image.get_region(rect)
if image_portion.is_invisible():
var index := cells[i].index
if index > 0 and index < tileset.tiles.size():
var current_tile := tileset.tiles[index]
if not _tiles_equal(i, image_portion, current_tile.image):
set_index(i, cells[i].index)
continue
for j in range(1, tileset.tiles.size()):
var tile := tileset.tiles[j]
if _tiles_equal(i, image_portion, tile.image):
cells[i].index = j
break
## Resizes the [member cells] array based on [param new_size].
func _resize_cells(new_size: Vector2i, reset_indices := true) -> void:
horizontal_cells = ceili(float(new_size.x) / tileset.tile_size.x)
vertical_cells = ceili(float(new_size.y) / tileset.tile_size.y)
cells.resize(horizontal_cells * vertical_cells)
for i in cells.size():
if reset_indices:
cells[i] = Cell.new()
else:
if not is_instance_valid(cells[i]):
cells[i] = Cell.new()
## Returns [code]true[/code] if the user just did a Redo.
func _is_redo() -> bool:
return Global.control.redone
## If the tileset has been modified by another [param cel],
## make sure to also update it here.
## If [param replace_index] is larger than -1, it means that manual mode
## has been used to replace a tile in the tileset in another cel,
## so call [method update_cel_portions] to update it in this cel as well.
## Otherwise, call [method _re_index_all_cells] to ensure that the cells have correct indices.
func _on_tileset_updated(cel: CelTileMap, replace_index: int) -> void:
if cel == self or not is_instance_valid(cel):
return
if link_set != null and cel in link_set["cels"]:
return
if replace_index > -1: # Manual mode
update_cel_portions()
else:
_re_index_all_cells()
Global.canvas.update_all_layers = true
Global.canvas.queue_redraw()
func _deserialize_cell_data(cell_indices: Array, resize: bool) -> void:
if resize:
_resize_cells(image.get_size())
for i in cell_indices.size():
var cell_data: Dictionary = cell_indices[i]
cells[i].deserialize(cell_data)
# Overridden Methods:
func set_content(content, texture: ImageTexture = null) -> void:
super.set_content(content, texture)
_resize_cells(image.get_size())
_re_index_all_cells()
func update_texture(undo := false) -> void:
var tile_editing_mode := TileSetPanel.tile_editing_mode
if undo or _is_redo() or tile_editing_mode != TileSetPanel.TileEditingMode.MANUAL:
super.update_texture(undo)
editing_images.clear()
return
for i in cells.size():
var cell_data := cells[i]
var index := cell_data.index
if index >= tileset.tiles.size():
index = 0
var coords := get_cell_coords_in_image(i)
var rect := Rect2i(coords, tileset.tile_size)
var image_portion := image.get_region(rect)
var current_tile := tileset.tiles[index]
if index == 0:
if tileset.tiles.size() > 1:
# Prevent from drawing on empty image portions.
var tile_size := current_tile.image.get_size()
image.blit_rect(current_tile.image, Rect2i(Vector2i.ZERO, tile_size), coords)
continue
if editing_images.has(index):
var editing_portion := editing_images[index][0] as int
if i == editing_portion:
var transformed_image := transform_tile(
image_portion, cell_data.flip_h, cell_data.flip_v, cell_data.transpose, true
)
editing_images[index] = [i, transformed_image]
var editing_image := editing_images[index][1] as Image
var transformed_editing_image := transform_tile(
editing_image, cell_data.flip_h, cell_data.flip_v, cell_data.transpose
)
if not image_portion.get_data() == transformed_editing_image.get_data():
var tile_size := image_portion.get_size()
image.blit_rect(transformed_editing_image, Rect2i(Vector2i.ZERO, tile_size), coords)
else:
if not _tiles_equal(i, image_portion, current_tile.image):
var transformed_image := transform_tile(
image_portion, cell_data.flip_h, cell_data.flip_v, cell_data.transpose, true
)
editing_images[index] = [i, transformed_image]
super.update_texture(undo)
func serialize() -> Dictionary:
var dict := super.serialize()
var cell_indices := []
cell_indices.resize(cells.size())
for i in cell_indices.size():
cell_indices[i] = cells[i].serialize()
dict["cell_indices"] = cell_indices
return dict
func deserialize(dict: Dictionary) -> void:
super.deserialize(dict)
var cell_indices = dict.get("cell_indices")
for i in cell_indices.size():
cells[i].deserialize(cell_indices[i])
func get_class_name() -> String:
return "CelTileMap"

View file

@ -54,9 +54,9 @@ func get_image() -> ImageExtended:
return image
func update_texture() -> void:
func update_texture(undo := false) -> void:
image_texture.set_image(image)
super.update_texture()
super.update_texture(undo)
func get_class_name() -> String:

View file

@ -30,6 +30,8 @@ class SimpleDrawer:
var color_new := op.process(Color(color_str), color_old)
if not color_new.is_equal_approx(color_old):
image.set_pixelv_custom(position, color_new)
else:
image.set_pixelv_custom(position, color_new, image.is_indexed)
class PixelPerfectDrawer:

View file

@ -157,10 +157,11 @@ func display_animate_dialog() -> void:
func _commit_undo(action: String, undo_data: Dictionary, project: Project) -> void:
project.update_tilemaps(undo_data)
var redo_data := _get_undo_data(project)
project.undos += 1
project.undo_redo.create_action(action)
Global.undo_redo_compress_images(redo_data, undo_data, project)
project.deserialize_cel_undo_data(redo_data, undo_data)
project.undo_redo.add_do_method(Global.undo_or_redo.bind(false, -1, -1, project))
project.undo_redo.add_undo_method(Global.undo_or_redo.bind(true, -1, -1, project))
project.undo_redo.commit_action()
@ -168,24 +169,22 @@ func _commit_undo(action: String, undo_data: Dictionary, project: Project) -> vo
func _get_undo_data(project: Project) -> Dictionary:
var data := {}
var images := _get_selected_draw_images(project)
for image in images:
image.add_data_to_dictionary(data)
project.serialize_cel_undo_data(_get_selected_draw_cels(project), data)
return data
func _get_selected_draw_images(project: Project) -> Array[ImageExtended]:
var images: Array[ImageExtended] = []
func _get_selected_draw_cels(project: Project) -> Array[BaseCel]:
var images: Array[BaseCel] = []
if affect == SELECTED_CELS:
for cel_index in project.selected_cels:
var cel: BaseCel = project.frames[cel_index[0]].cels[cel_index[1]]
if cel is PixelCel:
images.append(cel.get_image())
images.append(cel)
else:
for frame in project.frames:
for cel in frame.cels:
if cel is PixelCel:
images.append(cel.get_image())
images.append(cel)
return images

View file

@ -139,7 +139,7 @@ func set_pixel_custom(x: int, y: int, color: Color) -> void:
## Equivalent of [method Image.set_pixelv],
## but also handles the logic necessary for indexed mode.
func set_pixelv_custom(point: Vector2i, color: Color) -> void:
func set_pixelv_custom(point: Vector2i, color: Color, index_image_only := false) -> void:
var new_color := color
if is_indexed:
var color_to_fill := TRANSPARENT
@ -164,13 +164,15 @@ func set_pixelv_custom(point: Vector2i, color: Color) -> void:
if dist < smaller_distance:
smaller_distance = dist
color_index = i
indices_image.set_pixelv(point, Color((color_index + 1) / 255.0, 0, 0, 0))
if not indices_image.get_pixelv(point).r8 == color_index + 1:
indices_image.set_pixelv(point, Color((color_index + 1) / 255.0, 0, 0, 0))
color_to_fill = palette[color_index]
new_color = color_to_fill
else:
indices_image.set_pixelv(point, TRANSPARENT)
new_color = TRANSPARENT
set_pixelv(point, new_color)
if not index_image_only:
set_pixelv(point, new_color)
## Finds the distance between colors [param c1] and [param c2].

View file

@ -0,0 +1,57 @@
class_name LayerTileMap
extends PixelLayer
## A layer type for 2D tile-based maps.
## A LayerTileMap uses a [TileSetCustom], which is then by all of its [CelTileMap]s.
## This class doesn't hold any actual tilemap data, as they are different in each cel.
## For this reason, that data is being handled by the [CelTileMap] class.
## Not to be confused with [TileMapLayer], which is a Godot node.
## The [TileSetCustom] that this layer uses.
## Internally, this class doesn't make much use of this.
## It's mostly only used to be passed down to the layer's [CelTileMap]s.
var tileset: TileSetCustom
func _init(_project: Project, _tileset: TileSetCustom, _name := "") -> void:
super._init(_project, _name)
tileset = _tileset
if not project.tilesets.has(tileset):
project.add_tileset(tileset)
# Overridden Methods:
func serialize() -> Dictionary:
var dict := super.serialize()
dict["tileset_index"] = project.tilesets.find(tileset)
return dict
func deserialize(dict: Dictionary) -> void:
super.deserialize(dict)
new_cels_linked = dict.new_cels_linked
var tileset_index = dict.get("tileset_index")
tileset = project.tilesets[tileset_index]
func get_layer_type() -> int:
return Global.LayerTypes.TILEMAP
func new_empty_cel() -> BaseCel:
var format := project.get_image_format()
var is_indexed := project.is_indexed()
var image := ImageExtended.create_custom(
project.size.x, project.size.y, false, format, is_indexed
)
return CelTileMap.new(tileset, image)
func new_cel_from_image(image: Image) -> PixelCel:
var image_extended := ImageExtended.new()
image_extended.copy_from_custom(image, project.is_indexed())
return CelTileMap.new(tileset, image_extended)
func set_name_to_default(number: int) -> void:
name = tr("Tilemap") + " %s" % number

View file

@ -85,6 +85,7 @@ var selection_offset := Vector2i.ZERO:
selection_offset = value
Global.canvas.selection.marching_ants_outline.offset = selection_offset
var has_selection := false
var tilesets: Array[TileSetCustom]
## For every camera (currently there are 3)
var cameras_rotation: PackedFloat32Array = [0.0, 0.0, 0.0]
@ -295,6 +296,9 @@ func serialize() -> Dictionary:
var reference_image_data := []
for reference_image in reference_images:
reference_image_data.append(reference_image.serialize())
var tileset_data := []
for tileset in tilesets:
tileset_data.append(tileset.serialize())
var metadata := _serialize_metadata(self)
@ -315,6 +319,7 @@ func serialize() -> Dictionary:
"frames": frame_data,
"brushes": brush_data,
"reference_images": reference_image_data,
"tilesets": tileset_data,
"vanishing_points": vanishing_points,
"export_file_name": file_name,
"export_file_format": file_format,
@ -344,6 +349,12 @@ func deserialize(dict: Dictionary, zip_reader: ZIPReader = null, file: FileAcces
if dict.has("tile_mode_y_basis_x") and dict.has("tile_mode_y_basis_y"):
tiles.y_basis.x = dict.tile_mode_y_basis_x
tiles.y_basis.y = dict.tile_mode_y_basis_y
if dict.has("tilesets"):
for saved_tileset in dict["tilesets"]:
var tile_size = str_to_var("Vector2i" + saved_tileset.get("tile_size"))
var tileset := TileSetCustom.new(tile_size)
tileset.deserialize(saved_tileset)
tilesets.append(tileset)
if dict.has("frames") and dict.has("layers"):
for saved_layer in dict.layers:
match int(saved_layer.get("type", Global.LayerTypes.PIXEL)):
@ -353,63 +364,8 @@ func deserialize(dict: Dictionary, zip_reader: ZIPReader = null, file: FileAcces
layers.append(GroupLayer.new(self))
Global.LayerTypes.THREE_D:
layers.append(Layer3D.new(self))
var frame_i := 0
for frame in dict.frames:
var cels: Array[BaseCel] = []
var cel_i := 0
for cel in frame.cels:
match int(dict.layers[cel_i].get("type", Global.LayerTypes.PIXEL)):
Global.LayerTypes.PIXEL:
var image: Image
var indices_data := PackedByteArray()
if is_instance_valid(zip_reader): # For pxo files saved in 1.0+
var path := "image_data/frames/%s/layer_%s" % [frame_i + 1, cel_i + 1]
var image_data := zip_reader.read_file(path)
image = Image.create_from_data(
size.x, size.y, false, get_image_format(), image_data
)
var indices_path := (
"image_data/frames/%s/indices_layer_%s" % [frame_i + 1, cel_i + 1]
)
if zip_reader.file_exists(indices_path):
indices_data = zip_reader.read_file(indices_path)
elif is_instance_valid(file): # For pxo files saved in 0.x
var buffer := file.get_buffer(size.x * size.y * 4)
image = Image.create_from_data(
size.x, size.y, false, get_image_format(), buffer
)
var pixelorama_image := ImageExtended.new()
pixelorama_image.is_indexed = is_indexed()
if not indices_data.is_empty() and is_indexed():
pixelorama_image.indices_image = Image.create_from_data(
size.x, size.y, false, Image.FORMAT_R8, indices_data
)
pixelorama_image.copy_from(image)
pixelorama_image.select_palette("", true)
cels.append(PixelCel.new(pixelorama_image))
Global.LayerTypes.GROUP:
cels.append(GroupCel.new())
Global.LayerTypes.THREE_D:
if is_instance_valid(file): # For pxo files saved in 0.x
# Don't do anything with it, just read it so that the file can move on
file.get_buffer(size.x * size.y * 4)
cels.append(Cel3D.new(size, true))
cel["pxo_version"] = pxo_version
cels[cel_i].deserialize(cel)
_deserialize_metadata(cels[cel_i], cel)
cel_i += 1
var duration := 1.0
if frame.has("duration"):
duration = frame.duration
elif dict.has("frame_duration"):
duration = dict.frame_duration[frame_i]
var frame_class := Frame.new(cels, duration)
frame_class.user_data = frame.get("user_data", "")
_deserialize_metadata(frame_class, frame)
frames.append(frame_class)
frame_i += 1
Global.LayerTypes.TILEMAP:
layers.append(LayerTileMap.new(self, null))
# Parent references to other layers are created when deserializing
# a layer, so loop again after creating them:
@ -425,6 +381,43 @@ func deserialize(dict: Dictionary, zip_reader: ZIPReader = null, file: FileAcces
layer_dict["blend_mode"] = blend_mode
layers[layer_i].deserialize(layer_dict)
_deserialize_metadata(layers[layer_i], dict.layers[layer_i])
var frame_i := 0
for frame in dict.frames:
var cels: Array[BaseCel] = []
var cel_i := 0
for cel in frame.cels:
var layer := layers[cel_i]
match layer.get_layer_type():
Global.LayerTypes.PIXEL:
var image := _load_image_from_pxo(frame_i, cel_i, zip_reader, file)
cels.append(PixelCel.new(image))
Global.LayerTypes.GROUP:
cels.append(GroupCel.new())
Global.LayerTypes.THREE_D:
if is_instance_valid(file): # For pxo files saved in 0.x
# Don't do anything with it, just read it so that the file can move on
file.get_buffer(size.x * size.y * 4)
cels.append(Cel3D.new(size, true))
Global.LayerTypes.TILEMAP:
var image := _load_image_from_pxo(frame_i, cel_i, zip_reader, file)
var new_cel := (layer as LayerTileMap).new_cel_from_image(image)
cels.append(new_cel)
cel["pxo_version"] = pxo_version
cels[cel_i].deserialize(cel)
_deserialize_metadata(cels[cel_i], cel)
cel_i += 1
var duration := 1.0
if frame.has("duration"):
duration = frame.duration
elif dict.has("frame_duration"):
duration = dict.frame_duration[frame_i]
var frame_class := Frame.new(cels, duration)
frame_class.user_data = frame.get("user_data", "")
_deserialize_metadata(frame_class, frame)
frames.append(frame_class)
frame_i += 1
if dict.has("tags"):
for tag in dict.tags:
var new_tag := AnimationTag.new(tag.name, Color(tag.color), tag.from, tag.to)
@ -483,6 +476,37 @@ func _deserialize_metadata(object: Object, dict: Dictionary) -> void:
object.set_meta(meta, metadata[meta])
## Called by [method deserialize], this method loads an image at
## a given [param frame_i] frame index and a [param cel_i] cel index from a pxo file,
## and returns it as an [ImageExtended].
## If the pxo file is saved with Pixelorama version 1.0 and on,
## the [param zip_reader] is used to load the image. Otherwise, [param file] is used.
func _load_image_from_pxo(
frame_i: int, cel_i: int, zip_reader: ZIPReader, file: FileAccess
) -> ImageExtended:
var image: Image
var indices_data := PackedByteArray()
if is_instance_valid(zip_reader): # For pxo files saved in 1.0+
var path := "image_data/frames/%s/layer_%s" % [frame_i + 1, cel_i + 1]
var image_data := zip_reader.read_file(path)
image = Image.create_from_data(size.x, size.y, false, get_image_format(), image_data)
var indices_path := "image_data/frames/%s/indices_layer_%s" % [frame_i + 1, cel_i + 1]
if zip_reader.file_exists(indices_path):
indices_data = zip_reader.read_file(indices_path)
elif is_instance_valid(file): # For pxo files saved in 0.x
var buffer := file.get_buffer(size.x * size.y * 4)
image = Image.create_from_data(size.x, size.y, false, get_image_format(), buffer)
var pixelorama_image := ImageExtended.new()
pixelorama_image.is_indexed = is_indexed()
if not indices_data.is_empty() and is_indexed():
pixelorama_image.indices_image = Image.create_from_data(
size.x, size.y, false, Image.FORMAT_R8, indices_data
)
pixelorama_image.copy_from(image)
pixelorama_image.select_palette("", true)
return pixelorama_image
func _size_changed(value: Vector2i) -> void:
if not is_instance_valid(tiles):
size = value
@ -632,6 +656,57 @@ func get_all_pixel_cels() -> Array[PixelCel]:
return cels
## Reads data from [param cels] and appends them to [param data],
## to be used for the undo/redo system.
## It adds data such as the images of [PixelCel]s,
## and calls [method CelTileMap.serialize_undo_data] for [CelTileMap]s.
func serialize_cel_undo_data(cels: Array[BaseCel], data: Dictionary) -> void:
var cels_to_serialize := cels
if not TileSetPanel.placing_tiles:
cels_to_serialize = find_same_tileset_tilemap_cels(cels)
for cel in cels_to_serialize:
if not cel is PixelCel:
continue
var image := (cel as PixelCel).get_image()
image.add_data_to_dictionary(data)
if cel is CelTileMap:
data[cel] = (cel as CelTileMap).serialize_undo_data()
## Loads data from [param redo_data] and param [undo_data],
## to be used for the undo/redo system.
## It calls [method Global.undo_redo_compress_images], and
## [method CelTileMap.deserialize_undo_data] for [CelTileMap]s.
func deserialize_cel_undo_data(redo_data: Dictionary, undo_data: Dictionary) -> void:
Global.undo_redo_compress_images(redo_data, undo_data, self)
for cel in redo_data:
if cel is CelTileMap:
(cel as CelTileMap).deserialize_undo_data(redo_data[cel], undo_redo, false)
for cel in undo_data:
if cel is CelTileMap:
(cel as CelTileMap).deserialize_undo_data(undo_data[cel], undo_redo, true)
## Returns all [BaseCel]s in [param cels], and for every [CelTileMap],
## this methods finds all other [CelTileMap]s that share the same [TileSetCustom],
## and appends them in the array that is being returned by this method.
func find_same_tileset_tilemap_cels(cels: Array[BaseCel]) -> Array[BaseCel]:
var tilemap_cels: Array[BaseCel]
var current_tilesets: Array[TileSetCustom]
for cel in cels:
tilemap_cels.append(cel)
if cel is not CelTileMap:
continue
current_tilesets.append((cel as CelTileMap).tileset)
for cel in get_all_pixel_cels():
if cel is not CelTileMap:
continue
if (cel as CelTileMap).tileset in current_tilesets:
if cel not in cels:
tilemap_cels.append(cel)
return tilemap_cels
## Re-order layers to take each cel's z-index into account. If all z-indexes are 0,
## then the order of drawing is the same as the order of the layers itself.
func order_layers(frame_index := current_frame) -> void:
@ -931,3 +1006,16 @@ func reorder_reference_image(from: int, to: int) -> void:
var ri: ReferenceImage = reference_images.pop_at(from)
reference_images.insert(to, ri)
Global.canvas.reference_image_container.move_child(ri, to)
## Adds a new [param tileset] to [member tilesets].
func add_tileset(tileset: TileSetCustom) -> void:
tilesets.append(tileset)
## Loops through all cels in [param cel_dictionary], and for [CelTileMap]s,
## it calls [method CelTileMap.update_tilemap].
func update_tilemaps(cel_dictionary: Dictionary) -> void:
for cel in cel_dictionary:
if cel is CelTileMap:
(cel as CelTileMap).update_tilemap()

View file

@ -77,6 +77,13 @@ func select_pixel(pixel: Vector2i, select := true) -> void:
set_pixelv(pixel, Color(0))
func select_rect(rect: Rect2i, select := true) -> void:
if select:
fill_rect(rect, Color(1, 1, 1, 1))
else:
fill_rect(rect, Color(0))
func select_all() -> void:
fill(Color(1, 1, 1, 1))

View file

@ -0,0 +1,185 @@
class_name TileSetCustom
extends RefCounted
## A Tileset is a collection of tiles, used by [LayerTileMap]s and [CelTileMap]s.
## The tileset contains its [member name], the size of each individual tile,
## and the collection of [TileSetCustom.Tile]s itself.
## Not to be confused with [TileSet], which is a Godot class.
## Emitted every time the tileset changes, such as when a tile is added, removed or replaced.
## The [CelTileMap] that the changes are coming from is referenced in the [param cel] parameter.
signal updated(cel: CelTileMap, replace_index: int)
## The tileset's name.
var name := ""
## The size of each individual tile.
var tile_size: Vector2i
## The collection of tiles in the form of an [Array] of type [TileSetCustom.Tile].
var tiles: Array[Tile] = []
## If [code]true[/code], the code in [method clear_tileset] does not execute.
## This variable is used to prevent multiple cels from clearing the tileset at the same time.
## In [method clear_tileset], the variable is set to [code]true[/code], and then
## immediately set to [code]false[/code] in the next frame using [method Object.set_deferred].
var _tileset_has_been_cleared := false
## An internal class of [TileSetCustom], which contains data used by individual tiles of a tileset.
class Tile:
## The [Image] tile itself.
var image: Image
## The amount of tiles this tile is being used in tilemaps.
var times_used := 1
func _init(_image: Image) -> void:
image = _image
## A method that checks if the tile should be removed from the tileset.
## Returns [code]true[/code] if the amount of [member times_used] is 0.
func can_be_removed() -> bool:
return times_used <= 0
func _init(_tile_size: Vector2i, _name := "") -> void:
tile_size = _tile_size
name = _name
var empty_image := Image.create_empty(tile_size.x, tile_size.y, false, Image.FORMAT_RGBA8)
tiles.append(Tile.new(empty_image))
## Adds a new [param image] as a tile to the tileset.
## The [param cel] parameter references the [CelTileMap] that this change is coming from,
## and the [param edit_mode] parameter contains the tile editing mode at the time of this change.
func add_tile(image: Image, cel: CelTileMap) -> void:
var tile := Tile.new(image)
tiles.append(tile)
updated.emit(cel, -1)
## Adds a new [param image] as a tile in a given [param position] in the tileset.
## The [param cel] parameter references the [CelTileMap] that this change is coming from,
## and the [param edit_mode] parameter contains the tile editing mode at the time of this change.
func insert_tile(image: Image, position: int, cel: CelTileMap) -> void:
var tile := Tile.new(image)
tiles.insert(position, tile)
updated.emit(cel, -1)
## Reduces a tile's [member TileSetCustom.Tile.times_used] by one,
## in a given [param index] in the tileset.
## If the times that tile is used reaches 0 and it can be removed,
## it is being removed from the tileset by calling [method remove_tile_at_index].
## Returns [code]true[/code] if the tile has been removed.
## The [param cel] parameter references the [CelTileMap] that this change is coming from.
func unuse_tile_at_index(index: int, cel: CelTileMap) -> bool:
tiles[index].times_used -= 1
if tiles[index].can_be_removed():
remove_tile_at_index(index, cel)
return true
return false
## Removes a tile in a given [param index] from the tileset.
## The [param cel] parameter references the [CelTileMap] that this change is coming from.
func remove_tile_at_index(index: int, cel: CelTileMap) -> void:
tiles.remove_at(index)
updated.emit(cel, -1)
## Replaces a tile in a given [param index] in the tileset with a [param new_tile].
## The [param cel] parameter references the [CelTileMap] that this change is coming from.
func replace_tile_at(new_tile: Image, index: int, cel: CelTileMap) -> void:
tiles[index].image.copy_from(new_tile)
updated.emit(cel, index)
## Finds and returns the position of a tile [param image] inside the tileset.
func find_tile(image: Image) -> int:
for i in tiles.size():
var tile := tiles[i]
if image.get_data() == tile.image.get_data():
return i
return -1
## Loops through the array of tiles, and automatically removes any tile that can be removed.
## Returns [code]true[/code] if at least one tile has been removed.
## The [param cel] parameter references the [CelTileMap] that this change is coming from.
func remove_unused_tiles(cel: CelTileMap) -> bool:
var tile_removed := false
for i in range(tiles.size() - 1, 0, -1):
var tile := tiles[i]
if tile.can_be_removed():
remove_tile_at_index(i, cel)
tile_removed = true
return tile_removed
## Clears the tileset. Usually called when the project gets resized,
## and tilemap cels are updating their size and clearing the tileset to re-create it.
func clear_tileset(cel: CelTileMap) -> void:
if _tileset_has_been_cleared:
return
tiles.clear()
var empty_image := Image.create_empty(tile_size.x, tile_size.y, false, Image.FORMAT_RGBA8)
tiles.append(Tile.new(empty_image))
updated.emit(cel, -1)
_tileset_has_been_cleared = true
set_deferred("_tileset_has_been_cleared", false)
## Returns the tilemap's info, such as its name and tile size and with a given
## [param tile_index], in the form of text.
func get_text_info(tile_index: int) -> String:
var item_string := " %s (%s×%s)" % [tile_index, tile_size.x, tile_size.y]
if not name.is_empty():
item_string += ": " + name
return tr("Tileset") + item_string
## Finds and returns all of the [LayerTileMap]s that use this tileset.
func find_using_layers(project: Project) -> Array[LayerTileMap]:
var tilemaps: Array[LayerTileMap]
for layer in project.layers:
if layer is not LayerTileMap:
continue
if layer.tileset == self:
tilemaps.append(layer)
return tilemaps
## Serializes the data of this class into the form of a [Dictionary],
## which is used so the data can be stored in pxo files.
func serialize() -> Dictionary:
return {"name": name, "tile_size": tile_size, "tile_amount": tiles.size()}
## Deserializes the data of a given [member dict] [Dictionary] into class data,
## which is used so data can be loaded from pxo files.
func deserialize(dict: Dictionary) -> void:
name = dict.get("name", name)
tile_size = str_to_var("Vector2i" + dict.get("tile_size"))
## Serializes the data of each tile in [member tiles] into the form of a [Dictionary],
## which is used by the undo/redo system.
func serialize_undo_data() -> Dictionary:
var dict := {}
for tile in tiles:
var image_data := tile.image.get_data()
dict[tile.image] = [image_data.compress(), image_data.size(), tile.times_used]
return dict
## Deserializes the data of each tile in [param dict], which is used by the undo/redo system.
func deserialize_undo_data(dict: Dictionary, cel: CelTileMap) -> void:
tiles.resize(dict.size())
var i := 0
for image: Image in dict:
var tile_data = dict[image]
var buffer_size := tile_data[1] as int
var image_data := (tile_data[0] as PackedByteArray).decompress(buffer_size)
image.set_data(tile_size.x, tile_size.y, false, image.get_format(), image_data)
tiles[i] = Tile.new(image)
tiles[i].times_used = tile_data[2]
i += 1
updated.emit(cel, -1)

View file

@ -5,6 +5,7 @@ const SPLASH_DIALOG_SCENE_PATH := "res://src/UI/Dialogs/SplashDialog.tscn"
var opensprite_file_selected := false
var redone := false
var is_quitting_on_save := false
var is_writing_text := false
var changed_projects_on_quit: Array[Project]
var cursor_image := preload("res://assets/graphics/cursor.png")
## Used to download an image when dragged and dropped directly from a browser into Pixelorama
@ -202,7 +203,7 @@ func _ready() -> void:
func _input(event: InputEvent) -> void:
if event is InputEventKey and is_instance_valid(Global.main_viewport):
if is_writing_text and event is InputEventKey and is_instance_valid(Global.main_viewport):
Global.main_viewport.get_child(0).push_input(event)
left_cursor.position = get_global_mouse_position() + Vector2(-32, 32)
right_cursor.position = get_global_mouse_position() + Vector2(32, 32)

View file

@ -83,25 +83,38 @@ func scroll_palette(origin: Vector2i) -> void:
## Called when the color changes, either the left or the right, determined by [param mouse_button].
## If current palette has [param target_color] as a [Color], then select it.
## This is helpful when we select color indirectly (e.g through colorpicker)
func find_and_select_color(target_color: Color, mouse_button: int) -> void:
func find_and_select_color(color_info: Dictionary, mouse_button: int) -> void:
var target_color: Color = color_info.get("color", Color(0, 0, 0, 0))
var palette_color_index: int = color_info.get("index", -1)
if not is_instance_valid(current_palette):
return
var selected_index := Palettes.current_palette_get_selected_color_index(mouse_button)
if get_swatch_color(selected_index) == target_color: # Color already selected
return
for color_ind in swatches.size():
if (
target_color.is_equal_approx(swatches[color_ind].color)
or target_color.to_html() == swatches[color_ind].color.to_html()
):
var index := convert_grid_index_to_palette_index(color_ind)
select_swatch(mouse_button, index, selected_index)
match mouse_button:
MOUSE_BUTTON_LEFT:
Palettes.left_selected_color = index
MOUSE_BUTTON_RIGHT:
Palettes.right_selected_color = index
if palette_color_index != -1: # If color has a defined index in palette then priortize index
if selected_index == palette_color_index: # Index already selected
return
select_swatch(mouse_button, palette_color_index, selected_index)
match mouse_button:
MOUSE_BUTTON_LEFT:
Palettes.left_selected_color = palette_color_index
MOUSE_BUTTON_RIGHT:
Palettes.right_selected_color = palette_color_index
return
else: # If it doesn't then select the first match in the palette
if get_swatch_color(selected_index) == target_color: # Color already selected
return
for color_ind in swatches.size():
if (
target_color.is_equal_approx(swatches[color_ind].color)
or target_color.to_html() == swatches[color_ind].color.to_html()
):
var index := convert_grid_index_to_palette_index(color_ind)
select_swatch(mouse_button, index, selected_index)
match mouse_button:
MOUSE_BUTTON_LEFT:
Palettes.left_selected_color = index
MOUSE_BUTTON_RIGHT:
Palettes.right_selected_color = index
return
# Unselect swatches when tools color is changed
var swatch_to_unselect := -1
if mouse_button == MOUSE_BUTTON_LEFT:

View file

@ -1,3 +1,4 @@
class_name BaseDrawTool
extends BaseTool
const IMAGE_BRUSHES := [Brushes.FILE, Brushes.RANDOM_FILE, Brushes.CUSTOM]
@ -17,6 +18,7 @@ var _brush_image := Image.new()
var _orignal_brush_image := Image.new() ## Contains the original _brush_image, without resizing
var _brush_texture := ImageTexture.new()
var _strength := 1.0
var _is_eraser := false
@warning_ignore("unused_private_class_variable")
var _picking_color := false
@ -42,6 +44,7 @@ var _circle_tool_shortcut: Array[Vector2i]
func _ready() -> void:
super._ready()
Global.cel_switched.connect(update_brush)
Global.global_tool_options.dynamics_panel.dynamics_changed.connect(_reset_dynamics)
Tools.color_changed.connect(_on_Color_changed)
Global.brushes_popup.brush_removed.connect(_on_Brush_removed)
@ -104,7 +107,7 @@ func _on_InterpolateFactor_value_changed(value: float) -> void:
save_config()
func _on_Color_changed(_color: Color, _button: int) -> void:
func _on_Color_changed(_color_info: Dictionary, _button: int) -> void:
update_brush()
@ -160,34 +163,48 @@ func update_config() -> void:
func update_brush() -> void:
$Brush/BrushSize.suffix = "px" # Assume we are using default brushes
match _brush.type:
Brushes.PIXEL:
_brush_texture = ImageTexture.create_from_image(
load("res://assets/graphics/pixel_image.png")
)
_stroke_dimensions = Vector2.ONE * _brush_size
Brushes.CIRCLE:
_brush_texture = ImageTexture.create_from_image(
load("res://assets/graphics/circle_9x9.png")
)
_stroke_dimensions = Vector2.ONE * _brush_size
Brushes.FILLED_CIRCLE:
_brush_texture = ImageTexture.create_from_image(
load("res://assets/graphics/circle_filled_9x9.png")
)
_stroke_dimensions = Vector2.ONE * _brush_size
Brushes.FILE, Brushes.RANDOM_FILE, Brushes.CUSTOM:
$Brush/BrushSize.suffix = "00 %" # Use a different size convention on images
if _brush.random.size() <= 1:
_orignal_brush_image = _brush.image
else:
var random := randi() % _brush.random.size()
_orignal_brush_image = _brush.random[random]
_brush_image = _create_blended_brush_image(_orignal_brush_image)
update_brush_image_flip_and_rotate()
_brush_texture = ImageTexture.create_from_image(_brush_image)
update_mirror_brush()
_stroke_dimensions = _brush_image.get_size()
if Tools.is_placing_tiles():
var tilemap_cel := Global.current_project.get_current_cel() as CelTileMap
var tileset := tilemap_cel.tileset
var tile_index := clampi(TileSetPanel.selected_tile_index, 0, tileset.tiles.size() - 1)
var tile_image := tileset.tiles[tile_index].image
tile_image = tilemap_cel.transform_tile(
tile_image,
TileSetPanel.is_flipped_h,
TileSetPanel.is_flipped_v,
TileSetPanel.is_transposed
)
_brush_image.copy_from(tile_image)
_brush_texture = ImageTexture.create_from_image(_brush_image)
else:
match _brush.type:
Brushes.PIXEL:
_brush_texture = ImageTexture.create_from_image(
load("res://assets/graphics/pixel_image.png")
)
_stroke_dimensions = Vector2.ONE * _brush_size
Brushes.CIRCLE:
_brush_texture = ImageTexture.create_from_image(
load("res://assets/graphics/circle_9x9.png")
)
_stroke_dimensions = Vector2.ONE * _brush_size
Brushes.FILLED_CIRCLE:
_brush_texture = ImageTexture.create_from_image(
load("res://assets/graphics/circle_filled_9x9.png")
)
_stroke_dimensions = Vector2.ONE * _brush_size
Brushes.FILE, Brushes.RANDOM_FILE, Brushes.CUSTOM:
$Brush/BrushSize.suffix = "00 %" # Use a different size convention on images
if _brush.random.size() <= 1:
_orignal_brush_image = _brush.image
else:
var random := randi() % _brush.random.size()
_orignal_brush_image = _brush.random[random]
_brush_image = _create_blended_brush_image(_orignal_brush_image)
update_brush_image_flip_and_rotate()
_brush_texture = ImageTexture.create_from_image(_brush_image)
update_mirror_brush()
_stroke_dimensions = _brush_image.get_size()
_circle_tool_shortcut = []
_indicator = _create_brush_indicator()
_polylines = _create_polylines(_indicator)
@ -256,8 +273,9 @@ func prepare_undo(action: String) -> void:
func commit_undo() -> void:
var redo_data := _get_undo_data()
var project := Global.current_project
project.update_tilemaps(_undo_data)
var redo_data := _get_undo_data()
var frame := -1
var layer := -1
if Global.animation_timeline.animation_timer.is_stopped() and project.selected_cels.size() == 1:
@ -265,7 +283,7 @@ func commit_undo() -> void:
layer = project.current_layer
project.undos += 1
Global.undo_redo_compress_images(redo_data, _undo_data, project)
project.deserialize_cel_undo_data(redo_data, _undo_data)
project.undo_redo.add_do_method(Global.undo_or_redo.bind(false, frame, layer))
project.undo_redo.add_undo_method(Global.undo_or_redo.bind(true, frame, layer))
project.undo_redo.commit_action()
@ -303,6 +321,22 @@ func draw_end(pos: Vector2i) -> void:
_polylines = _create_polylines(_indicator)
func draw_tile(pos: Vector2i) -> void:
var tile_index := 0 if _is_eraser else TileSetPanel.selected_tile_index
var mirrored_positions := Tools.get_mirrored_positions(pos, Global.current_project)
var tile_positions := PackedInt32Array()
tile_positions.resize(mirrored_positions.size() + 1)
tile_positions[0] = get_cell_position(pos)
for i in mirrored_positions.size():
var mirrored_position := mirrored_positions[i]
tile_positions[i + 1] = get_cell_position(mirrored_position)
for cel in _get_selected_draw_cels():
if cel is not CelTileMap:
return
for tile_position in tile_positions:
(cel as CelTileMap).set_index(tile_position, tile_index)
func _prepare_tool() -> void:
if !Global.current_project.layers[Global.current_project.current_layer].can_layer_get_drawn():
return
@ -482,7 +516,14 @@ func remove_unselected_parts_of_brush(brush: Image, dst: Vector2i) -> Image:
func draw_indicator(left: bool) -> void:
var color := Global.left_tool_color if left else Global.right_tool_color
draw_indicator_at(snap_position(_cursor), Vector2i.ZERO, color)
var snapped_position := snap_position(_cursor)
if Tools.is_placing_tiles():
var tileset := (Global.current_project.get_current_cel() as CelTileMap).tileset
var grid_size := tileset.tile_size
snapped_position = _snap_to_rectangular_grid_center(
snapped_position, grid_size, Vector2i.ZERO, -1
)
draw_indicator_at(snapped_position, Vector2i.ZERO, color)
if (
Global.current_project.has_selection
and Global.current_project.tiles.mode == Tiles.MODE.NONE
@ -491,7 +532,7 @@ func draw_indicator(left: bool) -> void:
var nearest_pos := Global.current_project.selection_map.get_nearest_position(pos)
if nearest_pos != Vector2i.ZERO:
var offset := nearest_pos
draw_indicator_at(snap_position(_cursor), offset, Color.GREEN)
draw_indicator_at(snapped_position, offset, Color.GREEN)
return
if Global.current_project.tiles.mode and Global.current_project.tiles.has_point(_cursor):
@ -499,12 +540,12 @@ func draw_indicator(left: bool) -> void:
var nearest_tile := Global.current_project.tiles.get_nearest_tile(pos)
if nearest_tile.position != Vector2i.ZERO:
var offset := nearest_tile.position
draw_indicator_at(snap_position(_cursor), offset, Color.GREEN)
draw_indicator_at(snapped_position, offset, Color.GREEN)
func draw_indicator_at(pos: Vector2i, offset: Vector2i, color: Color) -> void:
var canvas: Node2D = Global.canvas.indicators
if _brush.type in IMAGE_BRUSHES and not _draw_line:
if _brush.type in IMAGE_BRUSHES and not _draw_line or Tools.is_placing_tiles():
pos -= _brush_image.get_size() / 2
pos -= offset
canvas.draw_texture(_brush_texture, pos)
@ -539,6 +580,9 @@ func _set_pixel_no_cache(pos: Vector2i, ignore_mirroring := false) -> void:
pos = _stroke_project.tiles.get_canon_position(pos)
if Global.current_project.has_selection:
pos = Global.current_project.selection_map.get_canon_position(pos)
if Tools.is_placing_tiles():
draw_tile(pos)
return
if !_stroke_project.can_pixel_get_drawn(pos):
return
@ -727,11 +771,7 @@ func _get_undo_data() -> Dictionary:
if not cel is PixelCel:
continue
cels.append(cel)
for cel in cels:
if not cel is PixelCel:
continue
var image := (cel as PixelCel).get_image()
image.add_data_to_dictionary(data)
project.serialize_cel_undo_data(cels, data)
return data

View file

@ -152,6 +152,10 @@ func draw_move(pos: Vector2i) -> void:
if not _move:
return
if Tools.is_placing_tiles():
var tileset := (Global.current_project.get_current_cel() as CelTileMap).tileset
var grid_size := tileset.tile_size
pos = Tools.snap_to_rectangular_grid_boundary(pos, grid_size)
if Input.is_action_pressed("transform_snap_axis"): # Snap to axis
var angle := Vector2(pos).angle_to_point(_start_pos)
if absf(angle) <= PI / 4 or absf(angle) >= 3 * PI / 4:
@ -211,6 +215,13 @@ func apply_selection(_position: Vector2i) -> void:
_intersect = true
func select_tilemap_cell(
cel: CelTileMap, cell_position: int, selection: SelectionMap, select: bool
) -> void:
var rect := Rect2i(cel.get_cell_coords_in_image(cell_position), cel.tileset.tile_size)
selection.select_rect(rect, select)
func _on_confirm_button_pressed() -> void:
if selection_node.is_moving_content:
selection_node.transform_content_confirm()

View file

@ -1,4 +1,4 @@
extends "res://src/Tools/BaseDraw.gd"
extends BaseDrawTool
var _start := Vector2i.ZERO
var _offset := Vector2i.ZERO
@ -128,8 +128,8 @@ func draw_move(pos: Vector2i) -> void:
func draw_end(pos: Vector2i) -> void:
pos = snap_position(pos)
super.draw_end(pos)
if _picking_color:
super.draw_end(pos)
return
if _drawing:
@ -150,6 +150,7 @@ func draw_end(pos: Vector2i) -> void:
_drawing = false
_displace_origin = false
cursor_text = ""
super.draw_end(pos)
func draw_preview() -> void:
@ -188,9 +189,12 @@ func _draw_shape(origin: Vector2i, dest: Vector2i) -> void:
_drawer.reset()
# Draw each point offsetted based on the shape's thickness
var draw_pos := point + thickness_vector
if Global.current_project.can_pixel_get_drawn(draw_pos):
for image in images:
_drawer.set_pixel(image, draw_pos, tool_slot.color)
if Tools.is_placing_tiles():
draw_tile(draw_pos)
else:
if Global.current_project.can_pixel_get_drawn(draw_pos):
for image in images:
_drawer.set_pixel(image, draw_pos, tool_slot.color)
commit_undo()

View file

@ -75,7 +75,17 @@ func draw_move(pos: Vector2i) -> void:
func draw_end(_pos: Vector2i) -> void:
is_moving = false
_draw_cache = []
Global.current_project.can_undo = true
var project := Global.current_project
project.can_undo = true
func get_cell_position(pos: Vector2i) -> int:
var tile_pos := 0
if Global.current_project.get_current_cel() is not CelTileMap:
return tile_pos
var cel := Global.current_project.get_current_cel() as CelTileMap
tile_pos = cel.get_cell_position(pos)
return tile_pos
func cursor_move(pos: Vector2i) -> void:
@ -129,52 +139,14 @@ func draw_preview() -> void:
func snap_position(pos: Vector2) -> Vector2:
var snapping_distance := Global.snapping_distance / Global.camera.zoom.x
if Global.snap_to_rectangular_grid_boundary:
var grid_pos := pos.snapped(Global.grids[0].grid_size)
grid_pos += Vector2(Global.grids[0].grid_offset)
# keeping grid_pos as is would have been fine but this adds extra accuracy as to
# which snap point (from the list below) is closest to mouse and occupy THAT point
# t_l is for "top left" and so on
var t_l := grid_pos + Vector2(-Global.grids[0].grid_size.x, -Global.grids[0].grid_size.y)
var t_c := grid_pos + Vector2(0, -Global.grids[0].grid_size.y)
var t_r := grid_pos + Vector2(Global.grids[0].grid_size.x, -Global.grids[0].grid_size.y)
var m_l := grid_pos + Vector2(-Global.grids[0].grid_size.x, 0)
var m_c := grid_pos
var m_r := grid_pos + Vector2(Global.grids[0].grid_size.x, 0)
var b_l := grid_pos + Vector2(-Global.grids[0].grid_size.x, Global.grids[0].grid_size.y)
var b_c := grid_pos + Vector2(0, Global.grids[0].grid_size.y)
var b_r := grid_pos + Vector2(Global.grids[0].grid_size)
var vec_arr: PackedVector2Array = [t_l, t_c, t_r, m_l, m_c, m_r, b_l, b_c, b_r]
for vec in vec_arr:
if vec.distance_to(pos) < grid_pos.distance_to(pos):
grid_pos = vec
var grid_point := _get_closest_point_to_grid(pos, snapping_distance, grid_pos)
if grid_point != Vector2.INF:
pos = grid_point.floor()
pos = Tools.snap_to_rectangular_grid_boundary(
pos, Global.grids[0].grid_size, Global.grids[0].grid_offset, snapping_distance
)
if Global.snap_to_rectangular_grid_center:
var grid_center := (
pos.snapped(Global.grids[0].grid_size) + Vector2(Global.grids[0].grid_size / 2)
pos = _snap_to_rectangular_grid_center(
pos, Global.grids[0].grid_size, Global.grids[0].grid_offset, snapping_distance
)
grid_center += Vector2(Global.grids[0].grid_offset)
# keeping grid_center as is would have been fine but this adds extra accuracy as to
# which snap point (from the list below) is closest to mouse and occupy THAT point
# t_l is for "top left" and so on
var t_l := grid_center + Vector2(-Global.grids[0].grid_size.x, -Global.grids[0].grid_size.y)
var t_c := grid_center + Vector2(0, -Global.grids[0].grid_size.y)
var t_r := grid_center + Vector2(Global.grids[0].grid_size.x, -Global.grids[0].grid_size.y)
var m_l := grid_center + Vector2(-Global.grids[0].grid_size.x, 0)
var m_c := grid_center
var m_r := grid_center + Vector2(Global.grids[0].grid_size.x, 0)
var b_l := grid_center + Vector2(-Global.grids[0].grid_size.x, Global.grids[0].grid_size.y)
var b_c := grid_center + Vector2(0, Global.grids[0].grid_size.y)
var b_r := grid_center + Vector2(Global.grids[0].grid_size)
var vec_arr := [t_l, t_c, t_r, m_l, m_c, m_r, b_l, b_c, b_r]
for vec in vec_arr:
if vec.distance_to(pos) < grid_center.distance_to(pos):
grid_center = vec
if grid_center.distance_to(pos) <= snapping_distance:
pos = grid_center.floor()
var snap_to := Vector2.INF
if Global.snap_to_guides:
@ -240,57 +212,39 @@ func mirror_array(array: Array[Vector2i], callable := func(_array): pass) -> Arr
return new_array
func _get_closest_point_to_grid(pos: Vector2, distance: float, grid_pos: Vector2) -> Vector2:
# If the cursor is close to the start/origin of a grid cell, snap to that
var snap_distance := distance * Vector2.ONE
var closest_point := Vector2.INF
var rect := Rect2()
rect.position = pos - (snap_distance / 4.0)
rect.end = pos + (snap_distance / 4.0)
if rect.has_point(grid_pos):
closest_point = grid_pos
return closest_point
# If the cursor is far from the grid cell origin but still close to a grid line
# Look for a point close to a horizontal grid line
var grid_start_hor := Vector2(0, grid_pos.y)
var grid_end_hor := Vector2(Global.current_project.size.x, grid_pos.y)
var closest_point_hor := _get_closest_point_to_segment(
pos, distance, grid_start_hor, grid_end_hor
)
# Look for a point close to a vertical grid line
var grid_start_ver := Vector2(grid_pos.x, 0)
var grid_end_ver := Vector2(grid_pos.x, Global.current_project.size.y)
var closest_point_ver := _get_closest_point_to_segment(
pos, distance, grid_start_ver, grid_end_ver
)
# Snap to the closest point to the closest grid line
var horizontal_distance := (closest_point_hor - pos).length()
var vertical_distance := (closest_point_ver - pos).length()
if horizontal_distance < vertical_distance:
closest_point = closest_point_hor
elif horizontal_distance > vertical_distance:
closest_point = closest_point_ver
elif horizontal_distance == vertical_distance and closest_point_hor != Vector2.INF:
closest_point = grid_pos
return closest_point
func _get_closest_point_to_segment(
pos: Vector2, distance: float, s1: Vector2, s2: Vector2
func _snap_to_rectangular_grid_center(
pos: Vector2, grid_size: Vector2i, grid_offset: Vector2i, snapping_distance: float
) -> Vector2:
var test_line := (s2 - s1).rotated(deg_to_rad(90)).normalized()
var from_a := pos - test_line * distance
var from_b := pos + test_line * distance
var closest_point := Vector2.INF
if Geometry2D.segment_intersects_segment(from_a, from_b, s1, s2):
closest_point = Geometry2D.get_closest_point_to_segment(pos, s1, s2)
return closest_point
var grid_center := pos.snapped(grid_size) + Vector2(grid_size / 2)
grid_center += Vector2(grid_offset)
# keeping grid_center as is would have been fine but this adds extra accuracy as to
# which snap point (from the list below) is closest to mouse and occupy THAT point
# t_l is for "top left" and so on
var t_l := grid_center + Vector2(-grid_size.x, -grid_size.y)
var t_c := grid_center + Vector2(0, -grid_size.y)
var t_r := grid_center + Vector2(grid_size.x, -grid_size.y)
var m_l := grid_center + Vector2(-grid_size.x, 0)
var m_c := grid_center
var m_r := grid_center + Vector2(grid_size.x, 0)
var b_l := grid_center + Vector2(-grid_size.x, grid_size.y)
var b_c := grid_center + Vector2(0, grid_size.y)
var b_r := grid_center + Vector2(grid_size)
var vec_arr := [t_l, t_c, t_r, m_l, m_c, m_r, b_l, b_c, b_r]
for vec in vec_arr:
if vec.distance_to(pos) < grid_center.distance_to(pos):
grid_center = vec
if snapping_distance < 0:
pos = grid_center.floor()
else:
if grid_center.distance_to(pos) <= snapping_distance:
pos = grid_center.floor()
return pos
func _snap_to_guide(
snap_to: Vector2, pos: Vector2, distance: float, s1: Vector2, s2: Vector2
) -> Vector2:
var closest_point := _get_closest_point_to_segment(pos, distance, s1, s2)
var closest_point := Tools.get_closest_point_to_segment(pos, distance, s1, s2)
if closest_point == Vector2.INF: # Is not close to a guide
return Vector2.INF
# Snap to the closest guide
@ -322,6 +276,17 @@ func _get_draw_image() -> ImageExtended:
return Global.current_project.get_current_cel().get_image()
func _get_selected_draw_cels() -> Array[BaseCel]:
var cels: Array[BaseCel]
var project := Global.current_project
for cel_index in project.selected_cels:
var cel: BaseCel = project.frames[cel_index[0]].cels[cel_index[1]]
if not cel is PixelCel:
continue
cels.append(cel)
return cels
func _get_selected_draw_images() -> Array[ImageExtended]:
var images: Array[ImageExtended] = []
var project := Global.current_project
@ -340,22 +305,31 @@ func _pick_color(pos: Vector2i) -> void:
if pos.x < 0 or pos.y < 0:
return
if Tools.is_placing_tiles():
var cel := Global.current_project.get_current_cel() as CelTileMap
Tools.selected_tile_index_changed.emit(cel.get_cell_index_at_coords(pos))
return
var image := Image.new()
image.copy_from(_get_draw_image())
if pos.x > image.get_width() - 1 or pos.y > image.get_height() - 1:
return
var color := Color(0, 0, 0, 0)
var palette_index = -1
var curr_frame: Frame = project.frames[project.current_frame]
for layer in project.layers.size():
var idx := (project.layers.size() - 1) - layer
if project.layers[idx].is_visible_in_hierarchy():
image = curr_frame.cels[idx].get_image()
var cel := curr_frame.cels[idx]
image = cel.get_image()
color = image.get_pixelv(pos)
if not is_zero_approx(color.a):
# If image is indexed then get index as well
if cel is PixelCel:
if cel.image.is_indexed:
palette_index = cel.image.indices_image.get_pixel(pos.x, pos.y).r8 - 1
if not is_zero_approx(color.a) or palette_index > -1:
break
Tools.assign_color(color, tool_slot.button, false)
Tools.assign_color(color, tool_slot.button, false, palette_index)
func _flip_rect(rect: Rect2, rect_size: Vector2, horiz: bool, vert: bool) -> Rect2:

View file

@ -186,6 +186,11 @@ func draw_end(pos: Vector2i) -> void:
commit_undo()
func draw_tile(pos: Vector2i, cel: CelTileMap) -> void:
var tile_position := get_cell_position(pos)
cel.set_index(tile_position, TileSetPanel.selected_tile_index)
func fill(pos: Vector2i) -> void:
match _fill_area:
FillArea.AREA:
@ -199,6 +204,17 @@ func fill(pos: Vector2i) -> void:
func fill_in_color(pos: Vector2i) -> void:
var project := Global.current_project
if Tools.is_placing_tiles():
for cel in _get_selected_draw_cels():
if cel is not CelTileMap:
continue
var tilemap_cel := cel as CelTileMap
var tile_index := tilemap_cel.get_cell_index_at_coords(pos)
for i in tilemap_cel.cells.size():
var cell := tilemap_cel.cells[i]
if cell.index == tile_index:
tilemap_cel.set_index(i, TileSetPanel.selected_tile_index)
return
var color := project.get_current_cel().get_image().get_pixelv(pos)
var images := _get_selected_draw_images()
for image in images:
@ -311,6 +327,74 @@ func fill_in_selection() -> void:
gen.generate_image(image, PATTERN_FILL_SHADER, params, project.size)
func _flood_fill(pos: Vector2i) -> void:
# implements the floodfill routine by Shawn Hargreaves
# from https://www1.udel.edu/CIS/software/dist/allegro-4.2.1/src/flood.c
var project := Global.current_project
if Tools.is_placing_tiles():
for cel in _get_selected_draw_cels():
if cel is not CelTileMap:
continue
var tile_index := (cel as CelTileMap).get_cell_index_at_coords(pos)
# init flood data structures
_allegro_flood_segments = []
_allegro_image_segments = []
_compute_segments_for_tilemap(pos, cel, tile_index)
_color_segments_tilemap(cel)
return
var images := _get_selected_draw_images()
for image in images:
if Tools.check_alpha_lock(image, pos):
continue
var color: Color = image.get_pixelv(pos)
if _fill_with == FillWith.COLOR or _pattern == null:
# end early if we are filling with the same color
if tool_slot.color.is_equal_approx(color):
continue
else:
# end early if we are filling with an empty pattern
var pattern_size := _pattern.image.get_size()
if pattern_size.x == 0 or pattern_size.y == 0:
return
# init flood data structures
_allegro_flood_segments = []
_allegro_image_segments = []
_compute_segments_for_image(pos, project, image, color)
# now actually color the image: since we have already checked a few things for the points
# we'll process here, we're going to skip a bunch of safety checks to speed things up.
_color_segments(image)
func _compute_segments_for_image(
pos: Vector2i, project: Project, image: Image, src_color: Color
) -> void:
# initially allocate at least 1 segment per line of image
for j in image.get_height():
_add_new_segment(j)
# start flood algorithm
_flood_line_around_point(pos, project, image, src_color)
# test all segments while also discovering more
var done := false
while not done:
done = true
var max_index := _allegro_flood_segments.size()
for c in max_index:
var p := _allegro_flood_segments[c]
if p.todo_below: # check below the segment?
p.todo_below = false
if _check_flooded_segment(
p.y + 1, p.left_position, p.right_position, project, image, src_color
):
done = false
if p.todo_above: # check above the segment?
p.todo_above = false
if _check_flooded_segment(
p.y - 1, p.left_position, p.right_position, project, image, src_color
):
done = false
## Add a new segment to the array
func _add_new_segment(y := 0) -> void:
_allegro_flood_segments.append(Segment.new(y))
@ -407,62 +491,6 @@ func _check_flooded_segment(
return ret
func _flood_fill(pos: Vector2i) -> void:
# implements the floodfill routine by Shawn Hargreaves
# from https://www1.udel.edu/CIS/software/dist/allegro-4.2.1/src/flood.c
var project := Global.current_project
var images := _get_selected_draw_images()
for image in images:
if Tools.check_alpha_lock(image, pos):
continue
var color: Color = image.get_pixelv(pos)
if _fill_with == FillWith.COLOR or _pattern == null:
# end early if we are filling with the same color
if tool_slot.color.is_equal_approx(color):
continue
else:
# end early if we are filling with an empty pattern
var pattern_size := _pattern.image.get_size()
if pattern_size.x == 0 or pattern_size.y == 0:
return
# init flood data structures
_allegro_flood_segments = []
_allegro_image_segments = []
_compute_segments_for_image(pos, project, image, color)
# now actually color the image: since we have already checked a few things for the points
# we'll process here, we're going to skip a bunch of safety checks to speed things up.
_color_segments(image)
func _compute_segments_for_image(
pos: Vector2i, project: Project, image: Image, src_color: Color
) -> void:
# initially allocate at least 1 segment per line of image
for j in image.get_height():
_add_new_segment(j)
# start flood algorithm
_flood_line_around_point(pos, project, image, src_color)
# test all segments while also discovering more
var done := false
while not done:
done = true
var max_index := _allegro_flood_segments.size()
for c in max_index:
var p := _allegro_flood_segments[c]
if p.todo_below: # check below the segment?
p.todo_below = false
if _check_flooded_segment(
p.y + 1, p.left_position, p.right_position, project, image, src_color
):
done = false
if p.todo_above: # check above the segment?
p.todo_above = false
if _check_flooded_segment(
p.y - 1, p.left_position, p.right_position, project, image, src_color
):
done = false
func _color_segments(image: ImageExtended) -> void:
if _fill_with == FillWith.COLOR or _pattern == null:
# This is needed to ensure that the color used to fill is not wrong, due to float
@ -493,9 +521,119 @@ func _set_pixel_pattern(image: ImageExtended, x: int, y: int, pattern_size: Vect
image.set_pixel_custom(x, y, pc)
func _compute_segments_for_tilemap(pos: Vector2i, cel: CelTileMap, src_index: int) -> void:
# initially allocate at least 1 segment per line of the tilemap
for j in cel.vertical_cells:
_add_new_segment(j)
pos /= cel.tileset.tile_size
# start flood algorithm
_flood_line_around_point_tilemap(pos, cel, src_index)
# test all segments while also discovering more
var done := false
while not done:
done = true
var max_index := _allegro_flood_segments.size()
for c in max_index:
var p := _allegro_flood_segments[c]
if p.todo_below: # check below the segment?
p.todo_below = false
if _check_flooded_segment_tilemap(
p.y + 1, p.left_position, p.right_position, cel, src_index
):
done = false
if p.todo_above: # check above the segment?
p.todo_above = false
if _check_flooded_segment_tilemap(
p.y - 1, p.left_position, p.right_position, cel, src_index
):
done = false
## Fill an horizontal segment around the specified position, and adds it to the
## list of segments filled. Returns the first x coordinate after the part of the
## line that has been filled.
## Τhis method is called by [method _flood_fill] after the required data structures
## have been initialized.
func _flood_line_around_point_tilemap(pos: Vector2i, cel: CelTileMap, src_index: int) -> int:
if cel.get_cell_index_at_coords_in_tilemap_space(pos) != src_index:
return pos.x + 1
var west := pos
var east := pos
while west.x >= 0 && cel.get_cell_index_at_coords_in_tilemap_space(west) == src_index:
west += Vector2i.LEFT
while (
east.x < cel.horizontal_cells
&& cel.get_cell_index_at_coords_in_tilemap_space(east) == src_index
):
east += Vector2i.RIGHT
# Make a note of the stuff we processed
var c := pos.y
var segment := _allegro_flood_segments[c]
# we may have already processed some segments on this y coordinate
if segment.flooding:
while segment.next > 0:
c = segment.next # index of next segment in this line of image
segment = _allegro_flood_segments[c]
# found last current segment on this line
c = _allegro_flood_segments.size()
segment.next = c
_add_new_segment(pos.y)
segment = _allegro_flood_segments[c]
# set the values for the current segment
segment.flooding = true
segment.left_position = west.x + 1
segment.right_position = east.x - 1
segment.y = pos.y
segment.next = 0
# Should we process segments above or below this one?
# when there is a selected area, the pixels above and below the one we started creating this
# segment from may be outside it. It's easier to assume we should be checking for segments
# above and below this one than to specifically check every single pixel in it, because that
# test will be performed later anyway.
# On the other hand, this test we described is the same `project.can_pixel_get_drawn` does if
# there is no selection, so we don't need branching here.
segment.todo_above = pos.y > 0
segment.todo_below = pos.y < cel.vertical_cells - 1
# this is an actual segment we should be coloring, so we add it to the results for the
# current image
if segment.right_position >= segment.left_position:
_allegro_image_segments.append(segment)
# we know the point just east of the segment is not part of a segment that should be
# processed, else it would be part of this segment
return east.x + 1
func _check_flooded_segment_tilemap(
y: int, left: int, right: int, cel: CelTileMap, src_index: int
) -> bool:
var ret := false
var c := 0
while left <= right:
c = y
while true:
var segment := _allegro_flood_segments[c]
if left >= segment.left_position and left <= segment.right_position:
left = segment.right_position + 2
break
c = segment.next
if c == 0: # couldn't find a valid segment, so we draw a new one
left = _flood_line_around_point_tilemap(Vector2i(left, y), cel, src_index)
ret = true
break
return ret
func _color_segments_tilemap(cel: CelTileMap) -> void:
for c in _allegro_image_segments.size():
var p := _allegro_image_segments[c]
for px in range(p.left_position, p.right_position + 1):
draw_tile(Vector2i(px, p.y) * cel.tileset.tile_size, cel)
func commit_undo() -> void:
var redo_data := _get_undo_data()
var project := Global.current_project
project.update_tilemaps(_undo_data)
var redo_data := _get_undo_data()
var frame := -1
var layer := -1
if Global.animation_timeline.animation_timer.is_stopped() and project.selected_cels.size() == 1:
@ -504,7 +642,7 @@ func commit_undo() -> void:
project.undos += 1
project.undo_redo.create_action("Draw")
Global.undo_redo_compress_images(redo_data, _undo_data, project)
project.deserialize_cel_undo_data(redo_data, _undo_data)
project.undo_redo.add_do_method(Global.undo_or_redo.bind(false, frame, layer))
project.undo_redo.add_undo_method(Global.undo_or_redo.bind(true, frame, layer))
project.undo_redo.commit_action()
@ -514,14 +652,13 @@ func commit_undo() -> void:
func _get_undo_data() -> Dictionary:
var data := {}
if Global.animation_timeline.animation_timer.is_stopped():
var images := _get_selected_draw_images()
for image in images:
image.add_data_to_dictionary(data)
Global.current_project.serialize_cel_undo_data(_get_selected_draw_cels(), data)
else:
var cels: Array[BaseCel]
for frame in Global.current_project.frames:
var cel := frame.cels[Global.current_project.current_layer]
if not cel is PixelCel:
continue
var image := (cel as PixelCel).get_image()
image.add_data_to_dictionary(data)
cels.append(cel)
Global.current_project.serialize_cel_undo_data(cels, data)
return data

View file

@ -1,4 +1,4 @@
extends "res://src/Tools/BaseDraw.gd"
extends BaseDrawTool
var _curve := Curve2D.new() ## The [Curve2D] responsible for the shape of the curve being drawn.
var _drawing := false ## Set to true when a curve is being drawn.
@ -195,9 +195,12 @@ func _draw_shape() -> void:
func _draw_pixel(point: Vector2i, images: Array[ImageExtended]) -> void:
if Global.current_project.can_pixel_get_drawn(point):
for image in images:
_drawer.set_pixel(image, point, tool_slot.color)
if Tools.is_placing_tiles():
draw_tile(point)
else:
if Global.current_project.can_pixel_get_drawn(point):
for image in images:
_drawer.set_pixel(image, point, tool_slot.color)
func _clear() -> void:

View file

@ -1,4 +1,4 @@
extends "res://src/Tools/BaseDraw.gd"
extends BaseDrawTool
var _last_position := Vector2.INF
var _clear_image: Image
@ -19,6 +19,7 @@ class EraseOp:
func _init() -> void:
_drawer.color_op = EraseOp.new()
_is_eraser = true
_clear_image = Image.create(1, 1, false, Image.FORMAT_RGBA8)
_clear_image.fill(Color(0, 0, 0, 0))
@ -42,13 +43,11 @@ func draw_start(pos: Vector2i) -> void:
_pick_color(pos)
return
_picking_color = false
Global.canvas.selection.transform_content_confirm()
prepare_undo("Draw")
update_mask(_strength == 1)
_changed = false
_drawer.color_op.changed = false
prepare_undo("Draw")
_drawer.reset()
_draw_line = Input.is_action_pressed("draw_create_line")

View file

@ -1,4 +1,4 @@
extends "res://src/Tools/BaseDraw.gd"
extends BaseDrawTool
var _original_pos := Vector2i.ZERO
var _start := Vector2i.ZERO
@ -120,8 +120,8 @@ func draw_move(pos: Vector2i) -> void:
func draw_end(pos: Vector2i) -> void:
pos = snap_position(pos)
super.draw_end(pos)
if _picking_color:
super.draw_end(pos)
return
if _drawing:
@ -144,6 +144,7 @@ func draw_end(pos: Vector2i) -> void:
_drawing = false
_displace_origin = false
cursor_text = ""
super.draw_end(pos)
func draw_preview() -> void:
@ -173,10 +174,13 @@ func _draw_shape() -> void:
for point in points:
# Reset drawer every time because pixel perfect sometimes breaks the tool
_drawer.reset()
# Draw each point offsetted based on the shape's thickness
if Global.current_project.can_pixel_get_drawn(point):
for image in images:
_drawer.set_pixel(image, point, tool_slot.color)
if Tools.is_placing_tiles():
draw_tile(point)
else:
# Draw each point offsetted based on the shape's thickness
if Global.current_project.can_pixel_get_drawn(point):
for image in images:
_drawer.set_pixel(image, point, tool_slot.color)
commit_undo()

View file

@ -1,4 +1,4 @@
extends "res://src/Tools/BaseDraw.gd"
extends BaseDrawTool
var _prev_mode := false
var _last_position := Vector2i(Vector2.INF)
@ -103,6 +103,7 @@ func draw_start(pos: Vector2i) -> void:
_picking_color = false
Global.canvas.selection.transform_content_confirm()
prepare_undo("Draw")
var can_skip_mask := true
if tool_slot.color.a < 1 and !_overwrite:
can_skip_mask = false
@ -112,7 +113,6 @@ func draw_start(pos: Vector2i) -> void:
_drawer.color_op.overwrite = _overwrite
_draw_points = []
prepare_undo("Draw")
_drawer.reset()
_draw_line = Input.is_action_pressed("draw_create_line")

View file

@ -1,4 +1,4 @@
extends "res://src/Tools/BaseDraw.gd"
extends BaseDrawTool
enum ShadingMode { SIMPLE, HUE_SHIFTING, COLOR_REPLACE }
enum LightenDarken { LIGHTEN, DARKEN }
@ -324,8 +324,8 @@ func update_brush() -> void:
$ColorInterpolation.visible = false
## this function is also used by a signal, this is why there is _color = Color.TRANSPARENT in here.
func _refresh_colors_array(_color = Color.TRANSPARENT, mouse_button := tool_slot.button) -> void:
## this function is also used by a signal, this is why there is _color_info = {} in here.
func _refresh_colors_array(_color_info = {}, mouse_button := tool_slot.button) -> void:
if mouse_button != tool_slot.button:
return
if _shading_mode == ShadingMode.COLOR_REPLACE:

View file

@ -32,23 +32,46 @@ func apply_selection(pos: Vector2i) -> void:
if pos.x > project.size.x - 1 or pos.y > project.size.y - 1:
return
var cel_image := Image.new()
cel_image.copy_from(_get_draw_image())
var color := cel_image.get_pixelv(pos)
var operation := 0
if _subtract:
operation = 1
elif _intersect:
operation = 2
var params := {"color": color, "tolerance": _tolerance, "operation": operation}
if _add or _subtract or _intersect:
var selection_tex := ImageTexture.create_from_image(project.selection_map)
params["selection"] = selection_tex
var gen := ShaderImageEffect.new()
gen.generate_image(cel_image, shader, params, project.size)
cel_image.convert(Image.FORMAT_LA8)
if Tools.is_placing_tiles():
var prev_selection_map := SelectionMap.new() # Used for intersect
prev_selection_map.copy_from(project.selection_map)
if !_add and !_subtract and !_intersect:
Global.canvas.selection.clear_selection()
if _intersect:
project.selection_map.clear()
for cel in _get_selected_draw_cels():
if cel is not CelTileMap:
continue
var tilemap_cel := cel as CelTileMap
var tile_index := tilemap_cel.get_cell_index_at_coords(pos)
for i in tilemap_cel.cells.size():
var cell := tilemap_cel.cells[i]
if cell.index == tile_index:
if _intersect:
var p := (cel as CelTileMap).get_cell_coords_in_image(i)
select_tilemap_cell(
cel, i, project.selection_map, prev_selection_map.is_pixel_selected(p)
)
else:
select_tilemap_cell(cel, i, project.selection_map, !_subtract)
else:
var cel_image := Image.new()
cel_image.copy_from(_get_draw_image())
var color := cel_image.get_pixelv(pos)
var params := {"color": color, "tolerance": _tolerance, "operation": operation}
if _add or _subtract or _intersect:
var selection_tex := ImageTexture.create_from_image(project.selection_map)
params["selection"] = selection_tex
var gen := ShaderImageEffect.new()
gen.generate_image(cel_image, shader, params, project.size)
cel_image.convert(Image.FORMAT_LA8)
project.selection_map.copy_from(cel_image)
project.selection_map.copy_from(cel_image)
Global.canvas.selection.big_bounding_rectangle = project.selection_map.get_used_rect()
Global.canvas.selection.commit_undo("Select", undo_data)

View file

@ -81,18 +81,36 @@ func apply_selection(_position: Vector2i) -> void:
Global.canvas.selection.commit_undo("Select", undo_data)
if _rect.size == Vector2i.ZERO:
return
set_ellipse(project.selection_map, _rect.position)
# Handle mirroring
var mirror_positions := Tools.get_mirrored_positions(_rect.position, project, 1)
var mirror_ends := Tools.get_mirrored_positions(_rect.end, project, 1)
for i in mirror_positions.size():
var mirror_rect := Rect2i()
mirror_rect.position = mirror_positions[i]
mirror_rect.end = mirror_ends[i]
set_ellipse(project.selection_map, mirror_rect.abs().position)
if Tools.is_placing_tiles():
var operation := 0
if _subtract:
operation = 1
elif _intersect:
operation = 2
Global.canvas.selection.select_rect(_rect, operation)
# Handle mirroring
var mirror_positions := Tools.get_mirrored_positions(_rect.position, project, 1)
var mirror_ends := Tools.get_mirrored_positions(_rect.end, project, 1)
for i in mirror_positions.size():
var mirror_rect := Rect2i()
mirror_rect.position = mirror_positions[i]
mirror_rect.end = mirror_ends[i]
Global.canvas.selection.select_rect(mirror_rect.abs(), operation)
Global.canvas.selection.big_bounding_rectangle = project.selection_map.get_used_rect()
Global.canvas.selection.commit_undo("Select", undo_data)
Global.canvas.selection.commit_undo("Select", undo_data)
else:
set_ellipse(project.selection_map, _rect.position)
# Handle mirroring
var mirror_positions := Tools.get_mirrored_positions(_rect.position, project, 1)
var mirror_ends := Tools.get_mirrored_positions(_rect.end, project, 1)
for i in mirror_positions.size():
var mirror_rect := Rect2i()
mirror_rect.position = mirror_positions[i]
mirror_rect.end = mirror_ends[i]
set_ellipse(project.selection_map, mirror_rect.abs().position)
Global.canvas.selection.big_bounding_rectangle = project.selection_map.get_used_rect()
Global.canvas.selection.commit_undo("Select", undo_data)
func set_ellipse(selection_map: SelectionMap, pos: Vector2i) -> void:
@ -116,8 +134,12 @@ func set_ellipse(selection_map: SelectionMap, pos: Vector2i) -> void:
# Given an origin point and destination point, returns a rect representing
# where the shape will be drawn and what is its size
func _get_result_rect(origin: Vector2i, dest: Vector2i) -> Rect2i:
if Tools.is_placing_tiles():
var tileset := (Global.current_project.get_current_cel() as CelTileMap).tileset
var grid_size := tileset.tile_size
origin = Tools.snap_to_rectangular_grid_boundary(origin, grid_size)
dest = Tools.snap_to_rectangular_grid_boundary(dest, grid_size)
var rect := Rect2i()
# Center the rect on the mouse
if _expand_from_center:
var new_size := dest - origin
@ -140,6 +162,7 @@ func _get_result_rect(origin: Vector2i, dest: Vector2i) -> Rect2i:
rect.position = Vector2i(mini(origin.x, dest.x), mini(origin.y, dest.y))
rect.size = (origin - dest).abs()
rect.size += Vector2i.ONE
if not Tools.is_placing_tiles():
rect.size += Vector2i.ONE
return rect

View file

@ -70,9 +70,9 @@ func apply_selection(_position) -> void:
if _draw_points.size() > 3:
if _intersect:
project.selection_map.clear()
lasso_selection(_draw_points, project.selection_map, previous_selection_map)
lasso_selection(_draw_points, project, previous_selection_map)
# Handle mirroring
var callable := lasso_selection.bind(project.selection_map, previous_selection_map)
var callable := lasso_selection.bind(project, previous_selection_map)
mirror_array(_draw_points, callable)
Global.canvas.selection.big_bounding_rectangle = project.selection_map.get_used_rect()
else:
@ -85,8 +85,9 @@ func apply_selection(_position) -> void:
func lasso_selection(
points: Array[Vector2i], selection_map: SelectionMap, previous_selection_map: SelectionMap
points: Array[Vector2i], project: Project, previous_selection_map: SelectionMap
) -> void:
var selection_map := project.selection_map
var selection_size := selection_map.get_size()
var bounding_rect := Rect2i(points[0], Vector2i.ZERO)
for point in points:
@ -95,9 +96,9 @@ func lasso_selection(
bounding_rect = bounding_rect.expand(point)
if _intersect:
if previous_selection_map.is_pixel_selected(point):
selection_map.select_pixel(point, true)
select_pixel(point, project, true)
else:
selection_map.select_pixel(point, !_subtract)
select_pixel(point, project, !_subtract)
var v := Vector2i()
for x in bounding_rect.size.x:
@ -107,9 +108,17 @@ func lasso_selection(
if Geometry2D.is_point_in_polygon(v, points):
if _intersect:
if previous_selection_map.is_pixel_selected(v):
selection_map.select_pixel(v, true)
select_pixel(v, project, true)
else:
selection_map.select_pixel(v, !_subtract)
select_pixel(v, project, !_subtract)
func select_pixel(point: Vector2i, project: Project, select: bool) -> void:
if Tools.is_placing_tiles():
var tilemap := project.get_current_cel() as CelTileMap
var cell_position := tilemap.get_cell_position(point)
select_tilemap_cell(tilemap, cell_position, project.selection_map, select)
project.selection_map.select_pixel(point, select)
# Bresenham's Algorithm

View file

@ -34,10 +34,10 @@ func apply_selection(pos: Vector2i) -> void:
var cel_image := Image.new()
cel_image.copy_from(_get_draw_image())
_flood_fill(pos, cel_image, project.selection_map, previous_selection_map)
_flood_fill(pos, cel_image, project, previous_selection_map)
# Handle mirroring
for mirror_pos in Tools.get_mirrored_positions(pos):
_flood_fill(mirror_pos, cel_image, project.selection_map, previous_selection_map)
_flood_fill(mirror_pos, cel_image, project, previous_selection_map)
Global.canvas.selection.big_bounding_rectangle = project.selection_map.get_used_rect()
Global.canvas.selection.commit_undo("Select", undo_data)
@ -59,6 +59,39 @@ func update_config() -> void:
$ToleranceSlider.value = _tolerance * 255.0
func _on_tolerance_slider_value_changed(value: float) -> void:
_tolerance = value / 255.0
update_config()
save_config()
func _flood_fill(
pos: Vector2i, image: Image, project: Project, previous_selection_map: SelectionMap
) -> void:
# implements the floodfill routine by Shawn Hargreaves
# from https://www1.udel.edu/CIS/software/dist/allegro-4.2.1/src/flood.c
var selection_map := project.selection_map
if Tools.is_placing_tiles():
for cel in _get_selected_draw_cels():
if cel is not CelTileMap:
continue
var tile_index := (cel as CelTileMap).get_cell_index_at_coords(pos)
# init flood data structures
_allegro_flood_segments = []
_allegro_image_segments = []
_compute_segments_for_tilemap(pos, cel, tile_index)
_select_segments_tilemap(project, previous_selection_map)
return
var color := image.get_pixelv(pos)
# init flood data structures
_allegro_flood_segments = []
_allegro_image_segments = []
_compute_segments_for_image(pos, project, image, color)
# now actually color the image: since we have already checked a few things for the points
# we'll process here, we're going to skip a bunch of safety checks to speed things up.
_select_segments(selection_map, previous_selection_map)
# Add a new segment to the array
func _add_new_segment(y := 0) -> void:
_allegro_flood_segments.append(Segment.new(y))
@ -140,22 +173,6 @@ func _check_flooded_segment(
return ret
func _flood_fill(
pos: Vector2i, image: Image, selection_map: SelectionMap, previous_selection_map: SelectionMap
) -> void:
# implements the floodfill routine by Shawn Hargreaves
# from https://www1.udel.edu/CIS/software/dist/allegro-4.2.1/src/flood.c
var project := Global.current_project
var color := image.get_pixelv(pos)
# init flood data structures
_allegro_flood_segments = []
_allegro_image_segments = []
_compute_segments_for_image(pos, project, image, color)
# now actually color the image: since we have already checked a few things for the points
# we'll process here, we're going to skip a bunch of safety checks to speed things up.
_select_segments(selection_map, previous_selection_map)
func _compute_segments_for_image(
pos: Vector2i, project: Project, image: Image, src_color: Color
) -> void:
@ -201,7 +218,128 @@ func _set_bit(p: Vector2i, selection_map: SelectionMap, prev_selection_map: Sele
selection_map.select_pixel(p, !_subtract)
func _on_tolerance_slider_value_changed(value: float) -> void:
_tolerance = value / 255.0
update_config()
save_config()
func _compute_segments_for_tilemap(pos: Vector2i, cel: CelTileMap, src_index: int) -> void:
# initially allocate at least 1 segment per line of the tilemap
for j in cel.vertical_cells:
_add_new_segment(j)
pos /= cel.tileset.tile_size
# start flood algorithm
_flood_line_around_point_tilemap(pos, cel, src_index)
# test all segments while also discovering more
var done := false
while not done:
done = true
var max_index := _allegro_flood_segments.size()
for c in max_index:
var p := _allegro_flood_segments[c]
if p.todo_below: # check below the segment?
p.todo_below = false
if _check_flooded_segment_tilemap(
p.y + 1, p.left_position, p.right_position, cel, src_index
):
done = false
if p.todo_above: # check above the segment?
p.todo_above = false
if _check_flooded_segment_tilemap(
p.y - 1, p.left_position, p.right_position, cel, src_index
):
done = false
## Fill an horizontal segment around the specified position, and adds it to the
## list of segments filled. Returns the first x coordinate after the part of the
## line that has been filled.
## Τhis method is called by [method _flood_fill] after the required data structures
## have been initialized.
func _flood_line_around_point_tilemap(pos: Vector2i, cel: CelTileMap, src_index: int) -> int:
if cel.get_cell_index_at_coords_in_tilemap_space(pos) != src_index:
return pos.x + 1
var west := pos
var east := pos
while west.x >= 0 && cel.get_cell_index_at_coords_in_tilemap_space(west) == src_index:
west += Vector2i.LEFT
while (
east.x < cel.horizontal_cells
&& cel.get_cell_index_at_coords_in_tilemap_space(east) == src_index
):
east += Vector2i.RIGHT
# Make a note of the stuff we processed
var c := pos.y
var segment := _allegro_flood_segments[c]
# we may have already processed some segments on this y coordinate
if segment.flooding:
while segment.next > 0:
c = segment.next # index of next segment in this line of image
segment = _allegro_flood_segments[c]
# found last current segment on this line
c = _allegro_flood_segments.size()
segment.next = c
_add_new_segment(pos.y)
segment = _allegro_flood_segments[c]
# set the values for the current segment
segment.flooding = true
segment.left_position = west.x + 1
segment.right_position = east.x - 1
segment.y = pos.y
segment.next = 0
# Should we process segments above or below this one?
# when there is a selected area, the pixels above and below the one we started creating this
# segment from may be outside it. It's easier to assume we should be checking for segments
# above and below this one than to specifically check every single pixel in it, because that
# test will be performed later anyway.
# On the other hand, this test we described is the same `project.can_pixel_get_drawn` does if
# there is no selection, so we don't need branching here.
segment.todo_above = pos.y > 0
segment.todo_below = pos.y < cel.vertical_cells - 1
# this is an actual segment we should be coloring, so we add it to the results for the
# current image
if segment.right_position >= segment.left_position:
_allegro_image_segments.append(segment)
# we know the point just east of the segment is not part of a segment that should be
# processed, else it would be part of this segment
return east.x + 1
func _check_flooded_segment_tilemap(
y: int, left: int, right: int, cel: CelTileMap, src_index: int
) -> bool:
var ret := false
var c := 0
while left <= right:
c = y
while true:
var segment := _allegro_flood_segments[c]
if left >= segment.left_position and left <= segment.right_position:
left = segment.right_position + 2
break
c = segment.next
if c == 0: # couldn't find a valid segment, so we draw a new one
left = _flood_line_around_point_tilemap(Vector2i(left, y), cel, src_index)
ret = true
break
return ret
func _select_segments_tilemap(project: Project, previous_selection_map: SelectionMap) -> void:
# short circuit for flat colors
for c in _allegro_image_segments.size():
var p := _allegro_image_segments[c]
for px in range(p.left_position, p.right_position + 1):
# We don't have to check again whether the point being processed is within the bounds
_set_bit_rect(Vector2i(px, p.y), project, previous_selection_map)
func _set_bit_rect(p: Vector2i, project: Project, prev_selection_map: SelectionMap) -> void:
var selection_map := project.selection_map
var tilemap := project.get_current_cel() as CelTileMap
var cell_position := tilemap.get_cell_position_in_tilemap_space(p)
if _intersect:
var image_coords := tilemap.get_cell_coords_in_image(cell_position)
select_tilemap_cell(
tilemap,
cell_position,
project.selection_map,
prev_selection_map.is_pixel_selected(image_coords)
)
else:
select_tilemap_cell(tilemap, cell_position, project.selection_map, !_subtract)

View file

@ -99,10 +99,10 @@ func apply_selection(pos: Vector2i) -> void:
if _draw_points.size() >= 1:
if _intersect:
project.selection_map.clear()
paint_selection(project.selection_map, previous_selection_map, _draw_points)
paint_selection(project, previous_selection_map, _draw_points)
# Handle mirroring
var mirror := mirror_array(_draw_points)
paint_selection(project.selection_map, previous_selection_map, mirror)
paint_selection(project, previous_selection_map, mirror)
Global.canvas.selection.big_bounding_rectangle = project.selection_map.get_used_rect()
else:
if !cleared:
@ -114,17 +114,26 @@ func apply_selection(pos: Vector2i) -> void:
func paint_selection(
selection_map: SelectionMap, previous_selection_map: SelectionMap, points: Array[Vector2i]
project: Project, previous_selection_map: SelectionMap, points: Array[Vector2i]
) -> void:
var selection_map := project.selection_map
var selection_size := selection_map.get_size()
for point in points:
if point.x < 0 or point.y < 0 or point.x >= selection_size.x or point.y >= selection_size.y:
continue
if _intersect:
if previous_selection_map.is_pixel_selected(point):
selection_map.select_pixel(point, true)
select_pixel(point, project, true)
else:
selection_map.select_pixel(point, !_subtract)
select_pixel(point, project, !_subtract)
func select_pixel(point: Vector2i, project: Project, select: bool) -> void:
if Tools.is_placing_tiles():
var tilemap := project.get_current_cel() as CelTileMap
var cell_position := tilemap.get_cell_position(point)
select_tilemap_cell(tilemap, cell_position, project.selection_map, select)
project.selection_map.select_pixel(point, select)
# Bresenham's Algorithm

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