diff --git a/Cargo.lock b/Cargo.lock index a7363b4..fea59cc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -77,9 +77,9 @@ dependencies = [ [[package]] name = "anyhow" -version = "1.0.66" +version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "216261ddc8289130e551ddcd5ce8a064710c0d064a4d2895c67151c92b5443f6" +checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" [[package]] name = "arrayref" @@ -246,9 +246,9 @@ dependencies = [ [[package]] name = "cairo-rs" -version = "0.16.3" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "247e1183fa769ac22121f92276dae52f89acaf297f24b1320019f439b6e3b46f" +checksum = "f3125b15ec28b84c238f6f476c6034016a5f6cc0221cb514ca46c532139fc97d" dependencies = [ "bitflags", "cairo-sys-rs", @@ -271,9 +271,9 @@ dependencies = [ [[package]] name = "cc" -version = "1.0.77" +version = "1.0.78" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e9f73505338f7d905b19d18738976aae232eb46b8efc15554ffc56deb5d9ebe4" +checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" [[package]] name = "cfb" @@ -484,9 +484,9 @@ dependencies = [ [[package]] name = "cxx" -version = "1.0.83" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bdf07d07d6531bfcdbe9b8b739b104610c6508dcc4d63b410585faf338241daf" +checksum = "5add3fc1717409d029b20c5b6903fc0c0b02fa6741d820054f4a2efa5e5816fd" dependencies = [ "cc", "cxxbridge-flags", @@ -496,9 +496,9 @@ dependencies = [ [[package]] name = "cxx-build" -version = "1.0.83" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2eb5b96ecdc99f72657332953d4d9c50135af1bac34277801cc3937906ebd39" +checksum = "b4c87959ba14bc6fbc61df77c3fcfe180fc32b93538c4f1031dd802ccb5f2ff0" dependencies = [ "cc", "codespan-reporting", @@ -511,15 +511,15 @@ dependencies = [ [[package]] name = "cxxbridge-flags" -version = "1.0.83" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ac040a39517fd1674e0f32177648334b0f4074625b5588a64519804ba0553b12" +checksum = "69a3e162fde4e594ed2b07d0f83c6c67b745e7f28ce58c6df5e6b6bef99dfb59" [[package]] name = "cxxbridge-macro" -version = "1.0.83" +version = "1.0.85" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1362b0ddcfc4eb0a1f57b68bd77dd99f0e826958a96abd0ae9bd092e114ffed6" +checksum = "3e7e2adeb6a0d4a282e581096b06e1791532b7d576dcde5ccd9382acf55db8e6" dependencies = [ "proc-macro2", "quote", @@ -699,9 +699,9 @@ dependencies = [ [[package]] name = "enumn" -version = "0.1.5" +version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "038b1afa59052df211f9efd58f8b1d84c242935ede1c3dbaed26b018a9e06ae2" +checksum = "e88bcb3a067a6555d577aba299e75eff9942da276e6506fc6274327daa026132" dependencies = [ "proc-macro2", "quote", @@ -985,9 +985,9 @@ dependencies = [ [[package]] name = "gdk-pixbuf" -version = "0.16.4" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d3094f2b8578136d1929cade4e0fff82f573521b579e96cfc24af2458431f176" +checksum = "c3578c60dee9d029ad86593ed88cb40f35c1b83360e12498d055022385dd9a05" dependencies = [ "bitflags", "gdk-pixbuf-sys", @@ -1011,9 +1011,9 @@ dependencies = [ [[package]] name = "gdk4" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "237d840e2017e61a8f528261e3397f378b579aeb8c7b798b29bbec6d4890c843" +checksum = "272db1bbb9b152ea1fea946f9d464085c86cfe14cafba450d7defa433caff8ec" dependencies = [ "bitflags", "cairo-rs", @@ -1027,9 +1027,9 @@ dependencies = [ [[package]] name = "gdk4-sys" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b5dafeabcbabda52b39b28e0641c5767d56cd47f273291d1bf1bb846176a6a0" +checksum = "45b571f36b889ab529b2e173248dafe83d75c703f5685b9845e490c7994ae309" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1044,15 +1044,15 @@ dependencies = [ [[package]] name = "generator" -version = "0.7.1" +version = "0.7.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc184cace1cea8335047a471cc1da80f18acf8a76f3bab2028d499e328948ec7" +checksum = "d266041a359dfa931b370ef684cceb84b166beb14f7f0421f4a6a3d0c446d12e" dependencies = [ "cc", "libc", "log", "rustversion", - "windows 0.32.0", + "windows 0.39.0", ] [[package]] @@ -1090,9 +1090,9 @@ dependencies = [ [[package]] name = "gio" -version = "0.16.3" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1d4a17d999e6e4e05d87c2bb05b7140d47769bc53211711a33e2f91536458714" +checksum = "2a1c84b4534a290a29160ef5c6eff2a9c95833111472e824fc5cb78b513dd092" dependencies = [ "bitflags", "futures-channel", @@ -1123,9 +1123,9 @@ dependencies = [ [[package]] name = "glib" -version = "0.16.5" +version = "0.16.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0cd04d150a2c63e6779f43aec7e04f5374252479b7bed5f45146d9c0e821f161" +checksum = "ddd4df61a866ed7259d6189b8bcb1464989a77f1d85d25d002279bbe9dd38b2f" dependencies = [ "bitflags", "futures-channel", @@ -1210,9 +1210,9 @@ dependencies = [ [[package]] name = "gsk4" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e349ef4df495fe0e3ed926294bace13dc560ac97fe0943c6646349fd4208d9ca" +checksum = "4053293b79099bdfecd9ab0d811d118a0eafce613dfe0b26075419d955f1f652" dependencies = [ "bitflags", "cairo-rs", @@ -1226,9 +1226,9 @@ dependencies = [ [[package]] name = "gsk4-sys" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e0118e5fcfbcb8dbd16b50dc79781c1cd520f1cf620c09a973d08023ca89d719" +checksum = "08e0642edffdb35028d7d67b830678da98844216b6442e11eee52c91ad2a6dc2" dependencies = [ "cairo-sys-rs", "gdk4-sys", @@ -1242,9 +1242,9 @@ dependencies = [ [[package]] name = "gtk4" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2568accd16cfbeecaf961bd762d88888ee9f4bb161ab5d5cfc9517d62bdb4155" +checksum = "8954da3659ff1cb35aa95110021b33fadcd8e306e8fe41f32146ffa009665a79" dependencies = [ "bitflags", "cairo-rs", @@ -1265,9 +1265,9 @@ dependencies = [ [[package]] name = "gtk4-macros" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ed8c00535fa1cb4b6d0e6548b0077148076c5ed8d46fc6e685cff5ee635529f" +checksum = "58138cd3c595e04f82df050390aa7d2bd093795ce569e5f1d49eb496ef67fe7b" dependencies = [ "anyhow", "proc-macro-crate", @@ -1279,9 +1279,9 @@ dependencies = [ [[package]] name = "gtk4-sys" -version = "0.5.3" +version = "0.5.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bc9fe486789d3a43c1e2bf9f547964ec0181e5df5b9cdc214f88d335f8257ed" +checksum = "ef29e09e055b2f2550eb1882caa6961a1ae3c971a70bcb25cb9d5ab6cbd63821" dependencies = [ "cairo-sys-rs", "gdk-pixbuf-sys", @@ -1323,15 +1323,6 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" -[[package]] -name = "hermit-abi" -version = "0.1.19" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "62b467343b94ba476dcb2500d242dadbb39557df889310ac77c5d99100aaac33" -dependencies = [ - "libc", -] - [[package]] name = "hermit-abi" version = "0.2.6" @@ -1582,11 +1573,11 @@ dependencies = [ [[package]] name = "is-terminal" -version = "0.4.1" +version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "927609f78c2913a6f6ac3c27a4fe87f43e2a35367c0c4b0f8265e8f49a104330" +checksum = "28dfb6c8100ccc63462345b67d1bbc3679177c75ee4bf59bf29c8b1d110b8189" dependencies = [ - "hermit-abi 0.2.6", + "hermit-abi", "io-lifetimes", "rustix", "windows-sys", @@ -1603,9 +1594,9 @@ dependencies = [ [[package]] name = "itoa" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4217ad341ebadf8d8e724e264f13e593e0648f5b3e94b3896a5df283be015ecc" +checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jpeg-decoder" @@ -1676,9 +1667,9 @@ checksum = "348108ab3fba42ec82ff6e9564fc4ca0247bdccdc68dd8af9764bbc79c3c8ffb" [[package]] name = "link-cplusplus" -version = "1.0.7" +version = "1.0.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9272ab7b96c9046fbc5bc56c06c117cb639fe2d509df0c421cad82d2915cf369" +checksum = "ecd207c9c713c34f95a097a5b029ac2ce6010530c7b49d7fea24d977dede04f5" dependencies = [ "cc", ] @@ -1921,11 +1912,11 @@ dependencies = [ [[package]] name = "num_cpus" -version = "1.14.0" +version = "1.15.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f6058e64324c71e02bc2b150e4f3bc8286db6c83092132ffa3f6b1eab0f9def5" +checksum = "0fac9e2da13b5eb447a6ce3d392f23a29d8694bff781bf03a16cd9ac8697593b" dependencies = [ - "hermit-abi 0.1.19", + "hermit-abi", "libc", ] @@ -2069,9 +2060,9 @@ dependencies = [ [[package]] name = "paste" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b1de2e551fb905ac83f73f7aedf2f0cb4a0da7e35efa24a202a936269f1f18e1" +checksum = "d01a5bd0424d00070b0098dd17ebca6f961a959dead1dbcbbbc1d1cd8d3deeba" [[package]] name = "pathdiff" @@ -2248,18 +2239,18 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.47" +version = "1.0.49" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5ea3d908b0e36316caf9e9e2c4625cdde190a7e6f440d794667ed17a1855e725" +checksum = "57a8eca9f9c4ffde41714334dee777596264c7825420f521abc92b5b5deb63a5" dependencies = [ "unicode-ident", ] [[package]] name = "quote" -version = "1.0.21" +version = "1.0.23" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bbe448f377a7d6961e30f5955f9b8d106c3f5e449d493ee1b125c1d43c2b5179" +checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" dependencies = [ "proc-macro2", ] @@ -2311,11 +2302,10 @@ dependencies = [ [[package]] name = "rayon" -version = "1.6.0" +version = "1.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1e060280438193c554f654141c9ea9417886713b7acd75974c85b18a69a88e0b" +checksum = "6db3a213adf02b3bcfd2d3846bb41cb22857d131789e01df434fb7e7bc0759b7" dependencies = [ - "crossbeam-deque", "either", "rayon-core", ] @@ -2442,7 +2432,7 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bfa0f585226d2e68097d4f95d113b15b83a82e819ab25717ec0590d9584ef366" dependencies = [ - "semver 1.0.14", + "semver 1.0.16", ] [[package]] @@ -2508,15 +2498,15 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.9" +version = "1.0.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "97477e48b4cf8603ad5f7aaf897467cf42ab4218a38ef76fb14c2d6773a6d6a8" +checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" [[package]] name = "ryu" -version = "1.0.11" +version = "1.0.12" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4501abdff3ae82a1c1b477a17252eb69cee9e66eb915c1abaa4f44d873df9f09" +checksum = "7b4b9743ed687d4b4bcedf9ff5eaa7398495ae14e61cba0a295704edbc7decde" [[package]] name = "same-file" @@ -2547,9 +2537,9 @@ checksum = "d29ab0c6d3fc0ee92fe66e2d99f700eab17a8d57d1c1d3b748380fb20baa78cd" [[package]] name = "scratch" -version = "1.0.2" +version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c8132065adcfd6e02db789d9285a0deb2f3fcb04002865ab67d5fb103533898" +checksum = "ddccb15bcce173023b3fedd9436f882a0739b8dfb45e4f6b6002bee5929f61b2" [[package]] name = "self_cell" @@ -2568,9 +2558,9 @@ dependencies = [ [[package]] name = "semver" -version = "1.0.14" +version = "1.0.16" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e25dfac463d778e353db5be2449d1cce89bd6fd23c9f1ea21310ce6e5a1b29c4" +checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "semver-parser" @@ -2583,18 +2573,18 @@ dependencies = [ [[package]] name = "serde" -version = "1.0.149" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "256b9932320c590e707b94576e3cc1f7c9024d0ee6612dfbcf1cb106cbe8e055" +checksum = "97fed41fc1a24994d044e6db6935e69511a1153b52c15eb42493b26fa87feba0" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.149" +version = "1.0.151" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b4eae9b04cbffdfd550eb462ed33bc6a1b68c935127d008b27444d08380f94e4" +checksum = "255abe9a125a985c05190d687b320c12f9b1f0b99445e608c21ba0782c719ad8" dependencies = [ "proc-macro2", "quote", @@ -2603,9 +2593,9 @@ dependencies = [ [[package]] name = "serde_json" -version = "1.0.89" +version = "1.0.91" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "020ff22c755c2ed3f8cf162dbb41a7268d934702f3ed3631656ea597e08fc3db" +checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" dependencies = [ "itoa", "ryu", @@ -2924,9 +2914,9 @@ dependencies = [ [[package]] name = "syn" -version = "1.0.105" +version = "1.0.107" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "60b9b43d45702de4c839cb9b51d9f529c5dd26a4aff255b42b1ebc03e88ee908" +checksum = "1f4064b5b16e03ae50984a5a8ed5d4f8803e6bc1fd170a3cda91a1be4b18e3f5" dependencies = [ "proc-macro2", "quote", @@ -2971,18 +2961,18 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "10deb33631e3c9018b9baf9dcbbc4f737320d2b576bac10f6aefa048fa407e3e" +checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.37" +version = "1.0.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "982d17546b47146b28f7c22e3d08465f6b8903d0ea13c1660d9d84a6e7adcdbb" +checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" dependencies = [ "proc-macro2", "quote", @@ -3009,9 +2999,9 @@ dependencies = [ [[package]] name = "tiff" -version = "0.8.0" +version = "0.8.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f17def29300a156c19ae30814710d9c63cd50288a49c6fd3a10ccfbe4cf886fd" +checksum = "7449334f9ff2baf290d55d73983a7d6fa15e01198faef72af07e2a8db851e471" dependencies = [ "flate2", "jpeg-decoder 0.3.0", @@ -3082,9 +3072,9 @@ checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c" [[package]] name = "toml" -version = "0.5.9" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8d82e1a7758622a465f8cee077614c73484dac5b836c02ff6a40d5d1010324d7" +checksum = "1333c76748e868a4d9d1017b5ab53171dfd095f70c712fdb4653a406547f598f" dependencies = [ "serde", ] @@ -3240,9 +3230,9 @@ checksum = "099b7128301d285f79ddd55b9a83d5e6b9e97c92e0ea0daebee7263e932de992" [[package]] name = "unicode-ident" -version = "1.0.5" +version = "1.0.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ceab39d59e4c9499d4e5a8ee0e2735b891bb7308ac83dfb4e80cad195c9f6f3" +checksum = "84a22b9f218b40614adcb3f4ff08b703773ad44fa9423e4e0d346d5db86e4ebc" [[package]] name = "unicode-normalization" @@ -3427,15 +3417,15 @@ checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f" [[package]] name = "windows" -version = "0.32.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbedf6db9096bc2364adce0ae0aa636dcd89f3c3f2cd67947062aaf0ca2a10ec" +checksum = "f1c4bd0a50ac6020f65184721f758dba47bb9fbc2133df715ec74a237b26794a" dependencies = [ - "windows_aarch64_msvc 0.32.0", - "windows_i686_gnu 0.32.0", - "windows_i686_msvc 0.32.0", - "windows_x86_64_gnu 0.32.0", - "windows_x86_64_msvc 0.32.0", + "windows_aarch64_msvc 0.39.0", + "windows_i686_gnu 0.39.0", + "windows_i686_msvc 0.39.0", + "windows_x86_64_gnu 0.39.0", + "windows_x86_64_msvc 0.39.0", ] [[package]] @@ -3476,9 +3466,9 @@ checksum = "41d2aa71f6f0cbe00ae5167d90ef3cfe66527d6f613ca78ac8024c3ccab9a19e" [[package]] name = "windows_aarch64_msvc" -version = "0.32.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d8e92753b1c443191654ec532f14c199742964a061be25d77d7a96f09db20bf5" +checksum = "ec7711666096bd4096ffa835238905bb33fb87267910e154b18b44eaabb340f2" [[package]] name = "windows_aarch64_msvc" @@ -3488,9 +3478,9 @@ checksum = "dd0f252f5a35cac83d6311b2e795981f5ee6e67eb1f9a7f64eb4500fbc4dcdb4" [[package]] name = "windows_i686_gnu" -version = "0.32.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a711c68811799e017b6038e0922cb27a5e2f43a2ddb609fe0b6f3eeda9de615" +checksum = "763fc57100a5f7042e3057e7e8d9bdd7860d330070251a73d003563a3bb49e1b" [[package]] name = "windows_i686_gnu" @@ -3500,9 +3490,9 @@ checksum = "fbeae19f6716841636c28d695375df17562ca208b2b7d0dc47635a50ae6c5de7" [[package]] name = "windows_i686_msvc" -version = "0.32.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "146c11bb1a02615db74680b32a68e2d61f553cc24c4eb5b4ca10311740e44172" +checksum = "7bc7cbfe58828921e10a9f446fcaaf649204dcfe6c1ddd712c5eebae6bda1106" [[package]] name = "windows_i686_msvc" @@ -3512,9 +3502,9 @@ checksum = "84c12f65daa39dd2babe6e442988fc329d6243fdce47d7d2d155b8d874862246" [[package]] name = "windows_x86_64_gnu" -version = "0.32.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c912b12f7454c6620635bbff3450962753834be2a594819bd5e945af18ec64bc" +checksum = "6868c165637d653ae1e8dc4d82c25d4f97dd6605eaa8d784b5c6e0ab2a252b65" [[package]] name = "windows_x86_64_gnu" @@ -3530,9 +3520,9 @@ checksum = "09d525d2ba30eeb3297665bd434a54297e4170c7f1a44cad4ef58095b4cd2028" [[package]] name = "windows_x86_64_msvc" -version = "0.32.0" +version = "0.39.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "504a2476202769977a040c6364301a3f65d0cc9e3fb08600b2bda150a0488316" +checksum = "5e4d40883ae9cae962787ca76ba76390ffa29214667a111db9e0a1ad8377e809" [[package]] name = "windows_x86_64_msvc" diff --git a/czkawka_cli/src/main.rs b/czkawka_cli/src/main.rs index 7fa4faf..a98ba6d 100644 --- a/czkawka_cli/src/main.rs +++ b/czkawka_cli/src/main.rs @@ -36,7 +36,7 @@ fn main() { set_default_number_of_threads(); println!("Set thread number to {}", get_number_of_threads()); #[cfg(debug_assertions)] - println!("{:?}", command); + println!("{command:?}"); match command { Commands::Duplicates(duplicates_args) => duplicates(duplicates_args), diff --git a/czkawka_core/Cargo.toml b/czkawka_core/Cargo.toml index c00f026..dda88ee 100644 --- a/czkawka_core/Cargo.toml +++ b/czkawka_core/Cargo.toml @@ -12,7 +12,7 @@ repository = "https://github.com/qarmin/czkawka" [dependencies] humansize = "2.1.2" -rayon = "1.6.0" +rayon = "1.6.1" crossbeam-channel = "0.5.6" # For saving/loading config files to specific directories @@ -48,9 +48,9 @@ vid_dup_finder_lib = "0.1.1" ffmpeg_cmdline_utils = "0.1.2" # Saving/Loading Cache -serde = "1.0.149" +serde = "1.0" bincode = "1.3.3" -serde_json = "1.0.89" +serde_json = "1.0" # Language i18n-embed = { version = "0.13.4", features = ["fluent-system", "desktop-requester"] } @@ -66,11 +66,11 @@ imagepipe = "0.5.0" mime_guess = "2.0.4" infer = "0.11.0" -num_cpus = "1.14.0" +num_cpus = "1.15.0" # Heif/Heic libheif-rs = { version = "0.15.1", optional = true } -anyhow = { version = "1.0.66", optional = true } +anyhow = { version = "1.0", optional = true } state="0.5.3" diff --git a/czkawka_core/i18n/de/czkawka_core.ftl b/czkawka_core/i18n/de/czkawka_core.ftl index eb9915f..9007973 100644 --- a/czkawka_core/i18n/de/czkawka_core.ftl +++ b/czkawka_core/i18n/de/czkawka_core.ftl @@ -1,5 +1,5 @@ # Core -core_similarity_original = Ursprünglich +core_similarity_original = Original core_similarity_very_high = Sehr Hoch core_similarity_high = Hoch core_similarity_medium = Mittel @@ -10,8 +10,8 @@ core_cannot_open_dir = Verzeichnis { $dir } kann nicht geöffnet werden, Grund { core_cannot_read_entry_dir = Kann Eintrag in Verzeichnis { $dir } nicht lesen, Grund { $reason } core_cannot_read_metadata_dir = Metadaten können in Verzeichnis { $dir } nicht gelesen werden, Grund { $reason } core_file_not_utf8_name = Datei { $name } hat keinen gültigen UTF-8-Namen (einige Zeichen könnten nicht angezeigt werden) -core_file_modified_before_epoch = Datei { $name } scheint vor dem Unix-Epoch geändert worden zu sein -core_folder_modified_before_epoch = Ordner { $name } scheint vor dem Unix-Epoch geändert worden zu sein +core_file_modified_before_epoch = Datei { $name } scheint vor dieser Unix-Epoche geändert worden zu sein +core_folder_modified_before_epoch = Ordner { $name } scheint vor dieser Unix-Epoche geändert worden zu sein core_file_no_modification_date = Konnte das Änderungsdatum von Datei { $name } nicht abrufen, Grund { $reason } core_folder_no_modification_date = Konnte das Änderungsdatum aus dem Ordner { $name } nicht abrufen, Grund { $reason } core_missing_no_chosen_included_directory = Mindestens ein Verzeichnis muss angegeben werden @@ -19,10 +19,10 @@ core_directory_wildcard_no_supported = Verzeichnisse: Wildcards im Pfad werden n core_directory_relative_path = Verzeichnisse: Relativer Pfad wird nicht unterstützt, { $path } wird ignoriert core_directory_must_exists = Verzeichnisse: Der angegebene Ordnerpfad muss existieren, { $path } wird ignoriert core_directory_must_be_directory = Verzeichnisse: Der angegebene Pfad muss auf das Verzeichnis zeigen, { $path } wird ignoriert -core_included_directory_zero_valid_directories = Inklusive Verzeichnis-FEHLER: Nicht einmal einen korrekten Pfad zu inkludiert, der erforderlich ist +core_included_directory_zero_valid_directories = Einbezogenes Verzeichnis-FEHLER: Kein korrekter Pfad gefunden, welcher einbezogen werden soll, was erforderlich ist core_excluded_directory_pointless_slash = Verzeichnisse: / auszuschließen ist sinnlos, weil somit keine Dateien gescannt werden core_directory_overlap = Verzeichnisse: Alle zu durchsuchende Verzeichnisse überlappen mit den ausgeschlossenen Verzeichnissen -core_directory_unable_to_get_device_id = Verzeichnisse: Geräte-Id kann nicht aus dem Ordner { $path } geholt werden +core_directory_unable_to_get_device_id = Verzeichnisse: Geräte-ID kann nicht aus dem Ordner { $path } geholt werden core_ffmpeg_not_found = Keine richtige Installation von FFmpeg gefunden core_ffmpeg_not_found_windows = Stellen Sie sicher, dass ffmpeg.exe und ffprobe.exe in PATH verfügbar sind oder direkt in den gleichen Ordner gelegt werden, in dem die App ausführbar ist core_ffmpeg_missing_in_snap = Ähnliche Videos funktionieren derzeit nicht mit Snap, wenn du Hilfe möchtest, besuche - { $url } diff --git a/czkawka_core/i18n/ko/czkawka_core.ftl b/czkawka_core/i18n/ko/czkawka_core.ftl index ded96b1..94944e2 100644 --- a/czkawka_core/i18n/ko/czkawka_core.ftl +++ b/czkawka_core/i18n/ko/czkawka_core.ftl @@ -1,11 +1,11 @@ # Core core_similarity_original = 원본 -core_similarity_very_high = 유사도 매우 높음 -core_similarity_high = 유사도 높음 -core_similarity_medium = 유사도 보통 -core_similarity_small = 유사도 적음 -core_similarity_very_small = 유사도 매우 적음 -core_similarity_minimal = 유사도 거의 없음 +core_similarity_very_high = 매우 높음 +core_similarity_high = 높음 +core_similarity_medium = 보통 +core_similarity_small = 낮음 +core_similarity_very_small = 매우 낮음 +core_similarity_minimal = 최소 core_cannot_open_dir = { $dir } 디렉터리를 열 수 없습니다. 이유: { $reason } core_cannot_read_entry_dir = { $dir } 디렉터리를 열 수 없습니다. 이유: { $reason } core_cannot_read_metadata_dir = { $dir } 디렉터리의 메타데이터를 열 수 없습니다. 이유: { $reason } diff --git a/czkawka_core/i18n/pl/czkawka_core.ftl b/czkawka_core/i18n/pl/czkawka_core.ftl index 272b805..194cc27 100644 --- a/czkawka_core/i18n/pl/czkawka_core.ftl +++ b/czkawka_core/i18n/pl/czkawka_core.ftl @@ -9,7 +9,7 @@ core_similarity_minimal = Minimalne core_cannot_open_dir = Nie można otworzyć folderu { $dir }, powód { $reason } core_cannot_read_entry_dir = Nie można odczytać danych z folderu { $dir }, powód { $reason } core_cannot_read_metadata_dir = Nie można odczytać metadanych folderu { $dir }, powód { $reason } -core_file_not_utf8_name = Plik { $name } nie posiada nazwy zakodowanej za pomocą UTF-8 (niektóre znaki mogą się nie wyświetlać) +core_file_not_utf8_name = Plik { $name } nie posiada nazwy zakodowanej za pomocą UTF-8(niektóre znaki mogą się nie wyświetlać) core_file_modified_before_epoch = Plik { $name } ma datę modyfikacji sprzed epoki unixa core_folder_modified_before_epoch = Folder { $name } ma datę modyfikacji sprzed epoki unixa core_file_no_modification_date = Nie udało się pobrać daty modyfikacji z pliku { $name }, powód { $reason } diff --git a/czkawka_core/i18n/ru/czkawka_core.ftl b/czkawka_core/i18n/ru/czkawka_core.ftl index 896e4e7..3a46695 100644 --- a/czkawka_core/i18n/ru/czkawka_core.ftl +++ b/czkawka_core/i18n/ru/czkawka_core.ftl @@ -1,5 +1,5 @@ # Core -core_similarity_original = Оригинал +core_similarity_original = Оригинальное core_similarity_very_high = Очень высокое core_similarity_high = Высокое core_similarity_medium = Среднее diff --git a/czkawka_core/i18n/tr/czkawka_core.ftl b/czkawka_core/i18n/tr/czkawka_core.ftl index 18cb0d8..284ab4b 100644 --- a/czkawka_core/i18n/tr/czkawka_core.ftl +++ b/czkawka_core/i18n/tr/czkawka_core.ftl @@ -1,30 +1,30 @@ # Core -core_similarity_original = Orijinal +core_similarity_original = Asıl core_similarity_very_high = Çok Yüksek -core_similarity_high = Akşam vakti +core_similarity_high = Yüksek core_similarity_medium = Orta -core_similarity_small = Küçük -core_similarity_very_small = Çok Küçük -core_similarity_minimal = En az -core_cannot_open_dir = Cannot open dir { $dir }, reason { $reason } -core_cannot_read_entry_dir = Cannot read entry in dir { $dir }, reason { $reason } -core_cannot_read_metadata_dir = Cannot read metadata in dir { $dir }, reason { $reason } -core_file_not_utf8_name = File { $name } does not have a valid UTF-8 name (some characters may not be shown) -core_file_modified_before_epoch = File { $name } seems to be modified before Unix Epoch -core_folder_modified_before_epoch = Folder { $name } seems to be modified before Unix Epoch -core_file_no_modification_date = Unable to get modification date from file { $name }, reason { $reason } -core_folder_no_modification_date = Unable to get modification date from folder { $name }, reason { $reason } -core_missing_no_chosen_included_directory = At least one directory must be provided -core_directory_wildcard_no_supported = Directories: Wildcards in path are not supported, ignoring { $path } -core_directory_relative_path = Directories: Relative path are not supported, ignoring { $path } -core_directory_must_exists = Directories: Provided folder path must exist, ignoring { $path } -core_directory_must_be_directory = Directories: Provided path must point at the directory, ignoring { $path } -core_included_directory_zero_valid_directories = Included Directory ERROR: Not found even one correct path to included which is required -core_excluded_directory_pointless_slash = Directories: Excluding / is pointless, because it means that no files will be scanned -core_directory_overlap = Directories: All directories to search overlaps with excluded directories -core_directory_unable_to_get_device_id = Directories: Unable to get device id from folder { $path } -core_ffmpeg_not_found = Cannot find proper installation of FFmpeg -core_ffmpeg_not_found_windows = Be sure that ffmpeg.exe and ffprobe.exe are available in PATH or are put directly to same folder where is app executable -core_ffmpeg_missing_in_snap = Similar Videos don't work currently with snap, if you want help look at - { $url } -core_saving_to_cache = Saved to file { $number } cache entries -core_loading_from_cache = Loaded from cache { $number } entries +core_similarity_small = Düşük +core_similarity_very_small = Çok Düşük +core_similarity_minimal = Aşırı Düşük +core_cannot_open_dir = { $dir } dizini açılamıyor, nedeni: { $reason } +core_cannot_read_entry_dir = { $dir } dizinindeki girdi okunamıyor, nedeni: { $reason } +core_cannot_read_metadata_dir = { $dir } dizinindeki metaveri okunamıyor, nedei: { $reason } +core_file_not_utf8_name = { $name } dosyasının geçerli bir UTF-8 adı yok (kimi karakterler gösterilemeyebilir) +core_file_modified_before_epoch = { $name } dosyası Unix Epoch'tan önce değiştirilmiş gibi görünüyor. +core_folder_modified_before_epoch = { $name } klasörü Unix Epoch'tan önce değiştirilmiş gibi görünüyor. +core_file_no_modification_date = { $name } dosyasının değişiklik tarihine erişilemiyor, nedeni: { $reason } +core_folder_no_modification_date = { $name } klasörünün değişiklik tarihine erişilemiyor, nedeni: { $reason } +core_missing_no_chosen_included_directory = "Aranacak Dizinler" listesinde en az bir dizin yer almalıdır. +core_directory_wildcard_no_supported = Dizinler: Yol adında joker karakterler desteklenmez, { $path } yok sayıldı. +core_directory_relative_path = Dizinler: Göreli yol desteklenmez, { $path } yok sayıldı. +core_directory_must_exists = Dizinler: Girilen klasör yolu var olmalı, { $path } yok sayıldı. +core_directory_must_be_directory = Dizinler: Girilen yol bir dizini göstermelidir, { $path } yok sayıldı. +core_included_directory_zero_valid_directories = "Aranacak Dizinler" listesinde HATA: Tarama yapılması için gerekli olan tek bir doğru yol bile bulunamadı. +core_excluded_directory_pointless_slash = Dizinler: "/" kök dizinini hariç tutmak anlamsızdır, çünkü bu hiçbir dosyanın taranmayacağı anlamına gelir. +core_directory_overlap = Dizinler: Aranacak tüm dizinler, hariç tutulan dizinlerle çakışıyor. +core_directory_unable_to_get_device_id = Dizinler: { $path } klasörünün aygıt kimliği bilgisine erişilemiyor. +core_ffmpeg_not_found = FFmpeg'in uygun kurulumu bulunamıyor. +core_ffmpeg_not_found_windows = "ffmpeg(.exe)" ve "ffprobe(.exe)" uygulamalarının PATH dizininde ya da uygulamanın doğrudan yürütüldüğü dizinde yer aldığından ve 'yürütülebilir' olarak işaretlendiğinden emin olun. +core_ffmpeg_missing_in_snap = Benzer Videolar şu anda snap ile çalışmıyor, eğer yardım istiyorsanız - { $url } +core_saving_to_cache = { $number } adet SUÇ kaydı önbellek dosyasına yazıldı. ;-) +core_loading_from_cache = Önbellek dosyasından { $number } adet SUÇ kaydı okundu. ;-) diff --git a/czkawka_core/src/bad_extensions.rs b/czkawka_core/src/bad_extensions.rs index a6bf750..564b638 100644 --- a/czkawka_core/src/bad_extensions.rs +++ b/czkawka_core/src/bad_extensions.rs @@ -424,7 +424,7 @@ impl BadExtensions { } } - let mut guessed_multiple_extensions = format!("({}) - ", proper_extension); + let mut guessed_multiple_extensions = format!("({proper_extension}) - "); for ext in &all_available_extensions { guessed_multiple_extensions.push_str(ext); guessed_multiple_extensions.push(','); @@ -523,7 +523,7 @@ impl SaveResults for BadExtensions { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -534,7 +534,7 @@ impl SaveResults for BadExtensions { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/big_file.rs b/czkawka_core/src/big_file.rs index e6fd3d5..166b717 100644 --- a/czkawka_core/src/big_file.rs +++ b/czkawka_core/src/big_file.rs @@ -449,7 +449,7 @@ impl SaveResults for BigFile { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -460,7 +460,7 @@ impl SaveResults for BigFile { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/broken_files.rs b/czkawka_core/src/broken_files.rs index 7e556f9..755285d 100644 --- a/czkawka_core/src/broken_files.rs +++ b/czkawka_core/src/broken_files.rs @@ -663,7 +663,7 @@ impl SaveResults for BrokenFiles { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -674,7 +674,7 @@ impl SaveResults for BrokenFiles { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/common.rs b/czkawka_core/src/common.rs index 15ce72a..a8f7fda 100644 --- a/czkawka_core/src/common.rs +++ b/czkawka_core/src/common.rs @@ -212,10 +212,10 @@ impl Common { path = Path::new(entry); if path.is_dir() { if let Err(e) = fs::remove_dir_all(entry) { - warnings.push(format!("Failed to remove folder {}, reason {}", entry, e)); + warnings.push(format!("Failed to remove folder {entry}, reason {e}")); } } else if let Err(e) = fs::remove_file(entry) { - warnings.push(format!("Failed to remove file {}, reason {}", entry, e)); + warnings.push(format!("Failed to remove file {entry}, reason {e}")); } } warnings @@ -225,10 +225,10 @@ impl Common { let mut warning: String = String::from(""); if path.is_dir() { if let Err(e) = fs::remove_dir_all(entry) { - warning = format!("Failed to remove folder {}, reason {}", entry, e) + warning = format!("Failed to remove folder {entry}, reason {e}") } } else if let Err(e) = fs::remove_file(entry) { - warning = format!("Failed to remove file {}, reason {}", entry, e) + warning = format!("Failed to remove file {entry}, reason {e}") } warning } diff --git a/czkawka_core/src/common_extensions.rs b/czkawka_core/src/common_extensions.rs index 62cf03e..ac885b4 100644 --- a/czkawka_core/src/common_extensions.rs +++ b/czkawka_core/src/common_extensions.rs @@ -31,18 +31,18 @@ impl Extensions { } if !extension.starts_with('.') { - extension = format!(".{}", extension); + extension = format!(".{extension}"); } if extension[1..].contains('.') { - text_messages.warnings.push(format!("{} is not valid extension because contains dot inside", extension)); + text_messages.warnings.push(format!("{extension} is not valid extension because contains dot inside")); continue; } if extension[1..].contains(' ') { text_messages .warnings - .push(format!("{} is not valid extension because contains empty space inside", extension)); + .push(format!("{extension} is not valid extension because contains empty space inside")); continue; } diff --git a/czkawka_core/src/duplicate.rs b/czkawka_core/src/duplicate.rs index 2ad78fe..3ce0e7a 100644 --- a/czkawka_core/src/duplicate.rs +++ b/czkawka_core/src/duplicate.rs @@ -1003,7 +1003,7 @@ impl SaveResults for DuplicateFinder { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -1014,7 +1014,7 @@ impl SaveResults for DuplicateFinder { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } match self.check_method { @@ -1117,7 +1117,7 @@ impl PrintResults for DuplicateFinder { number_of_files += i.1.len() as u64; number_of_groups += 1; } - println!("Found {} files in {} groups with same name(may have different content)", number_of_files, number_of_groups,); + println!("Found {number_of_files} files in {number_of_groups} groups with same name(may have different content)",); for (name, vector) in &self.files_with_identical_names { println!("Name - {} - {} files ", name, vector.len()); for j in vector { @@ -1282,7 +1282,7 @@ pub fn save_hashes_to_file(hashmap: &BTreeMap, text_messages: if file_entry.size >= minimal_cache_file_size { let string: String = format!("{}//{}//{}//{}", file_entry.path.display(), file_entry.size, file_entry.modified_date, file_entry.hash); - if let Err(e) = writeln!(writer, "{}", string) { + if let Err(e) = writeln!(writer, "{string}") { text_messages .warnings .push(format!("Failed to save some data to cache file {}, reason {}", cache_file.display(), e)); @@ -1411,7 +1411,7 @@ fn hash_calculation(buffer: &mut [u8], file_entry: &FileEntry, hash_type: &HashT fn get_file_hash_name(type_of_hash: &HashType, is_prehash: bool) -> String { let prehash_str = if is_prehash { "_prehash" } else { "" }; - format!("cache_duplicates_{:?}{}.txt", type_of_hash, prehash_str) + format!("cache_duplicates_{type_of_hash:?}{prehash_str}.txt") } impl MyHasher for blake3::Hasher { diff --git a/czkawka_core/src/empty_files.rs b/czkawka_core/src/empty_files.rs index a775ffa..1f48345 100644 --- a/czkawka_core/src/empty_files.rs +++ b/czkawka_core/src/empty_files.rs @@ -222,7 +222,7 @@ impl SaveResults for EmptyFiles { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -233,7 +233,7 @@ impl SaveResults for EmptyFiles { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/empty_folder.rs b/czkawka_core/src/empty_folder.rs index 2e73f12..990d29c 100644 --- a/czkawka_core/src/empty_folder.rs +++ b/czkawka_core/src/empty_folder.rs @@ -213,7 +213,7 @@ impl SaveResults for EmptyFolder { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -224,7 +224,7 @@ impl SaveResults for EmptyFolder { "Results of searching {:?} with excluded directories {:?}", self.directories.included_directories, self.directories.excluded_directories ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/invalid_symlinks.rs b/czkawka_core/src/invalid_symlinks.rs index a443374..5bc32ab 100644 --- a/czkawka_core/src/invalid_symlinks.rs +++ b/czkawka_core/src/invalid_symlinks.rs @@ -218,7 +218,7 @@ impl SaveResults for InvalidSymlinks { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -229,7 +229,7 @@ impl SaveResults for InvalidSymlinks { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/same_music.rs b/czkawka_core/src/same_music.rs index cd0dcd6..6fd2bc9 100644 --- a/czkawka_core/src/same_music.rs +++ b/czkawka_core/src/same_music.rs @@ -445,7 +445,7 @@ impl SameMusic { let minutes = length_number / 1000; let seconds = (length_number % 1000) * 6 / 100; if minutes != 0 || seconds != 0 { - length = format!("{}:{:02}", minutes, seconds); + length = format!("{minutes}:{seconds:02}"); } else if old_length_number > 0 { // That means, that audio have length smaller that second, but length is properly read length = "0:01".to_string(); @@ -897,7 +897,7 @@ impl SaveResults for SameMusic { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -908,7 +908,7 @@ impl SaveResults for SameMusic { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/similar_images.rs b/czkawka_core/src/similar_images.rs index 0ba12ac..dc03640 100644 --- a/czkawka_core/src/similar_images.rs +++ b/czkawka_core/src/similar_images.rs @@ -159,7 +159,7 @@ impl SimilarImages { self.hash_size = match hash_size { 8 | 16 | 32 | 64 => hash_size, e => { - panic!("Invalid value of hash size {}", e); + panic!("Invalid value of hash size {e}"); } } } @@ -961,12 +961,12 @@ impl SimilarImages { let mut found = false; for (_hash, vec_file_entry) in collected_similar_images.iter() { if vec_file_entry.is_empty() { - println!("Empty Element {:?}", vec_file_entry); + println!("Empty Element {vec_file_entry:?}"); found = true; continue; } if vec_file_entry.len() == 1 { - println!("Single Element {:?}", vec_file_entry); + println!("Single Element {vec_file_entry:?}"); found = true; continue; } @@ -974,7 +974,7 @@ impl SimilarImages { let st = file_entry.path.to_string_lossy().to_string(); if result_hashset.contains(&st) { found = true; - println!("Duplicated Element {}", st); + println!("Duplicated Element {st}"); } else { result_hashset.insert(st); } @@ -1161,7 +1161,7 @@ impl SaveResults for SimilarImages { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -1172,7 +1172,7 @@ impl SaveResults for SimilarImages { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } @@ -1471,7 +1471,7 @@ fn debug_check_for_duplicated_things( for i in all_hashed_images.get(*hash).unwrap() { let name = i.path.to_string_lossy().to_string(); if hashmap_names.contains(&name) { - println!("------1--NAME--{} {:?}", numm, name); + println!("------1--NAME--{numm} {name:?}"); found_broken_thing = true; } hashmap_names.insert(name); @@ -1488,7 +1488,7 @@ fn debug_check_for_duplicated_things( for i in all_hashed_images.get(*hash).unwrap() { let name = i.path.to_string_lossy().to_string(); if hashmap_names.contains(&name) { - println!("------2--NAME--{} {:?}", numm, name); + println!("------2--NAME--{numm} {name:?}"); found_broken_thing = true; } hashmap_names.insert(name); diff --git a/czkawka_core/src/similar_videos.rs b/czkawka_core/src/similar_videos.rs index 5878f95..0eefcb6 100644 --- a/czkawka_core/src/similar_videos.rs +++ b/czkawka_core/src/similar_videos.rs @@ -519,7 +519,7 @@ impl SimilarVideos { Ok(t) => t, Err(e) => { return { - file_entry.error = format!("Failed to hash file, reason {}", e); + file_entry.error = format!("Failed to hash file, reason {e}"); Some(file_entry) }; } @@ -694,7 +694,7 @@ impl SaveResults for SimilarVideos { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -705,7 +705,7 @@ impl SaveResults for SimilarVideos { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_core/src/temporary.rs b/czkawka_core/src/temporary.rs index b981a30..f30a219 100644 --- a/czkawka_core/src/temporary.rs +++ b/czkawka_core/src/temporary.rs @@ -396,7 +396,7 @@ impl SaveResults for Temporary { let file_handler = match File::create(&file_name) { Ok(t) => t, Err(e) => { - self.text_messages.errors.push(format!("Failed to create file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to create file {file_name}, reason {e}")); return false; } }; @@ -407,7 +407,7 @@ impl SaveResults for Temporary { "Results of searching {:?} with excluded directories {:?} and excluded items {:?}", self.directories.included_directories, self.directories.excluded_directories, self.excluded_items.items ) { - self.text_messages.errors.push(format!("Failed to save results to file {}, reason {}", file_name, e)); + self.text_messages.errors.push(format!("Failed to save results to file {file_name}, reason {e}")); return false; } diff --git a/czkawka_gui/Cargo.toml b/czkawka_gui/Cargo.toml index 28b69d9..45357b0 100644 --- a/czkawka_gui/Cargo.toml +++ b/czkawka_gui/Cargo.toml @@ -10,8 +10,8 @@ homepage = "https://github.com/qarmin/czkawka" repository = "https://github.com/qarmin/czkawka" [dependencies] -gdk4 = "0.5.3" -glib = "0.16.5" +gdk4 = "0.5.4" +glib = "0.16.7" humansize = "2.1.2" chrono = "0.4.23" @@ -53,7 +53,7 @@ once_cell = "1.16.0" winapi = { version = "0.3.9", features = ["combaseapi", "objbase", "shobjidl_core", "windef", "winerror", "wtypesbase", "winuser"] } [dependencies.gtk4] -version = "0.5.3" +version = "0.5.4" default-features = false features = ["v4_6"] diff --git a/czkawka_gui/i18n/cs/czkawka_gui.ftl b/czkawka_gui/i18n/cs/czkawka_gui.ftl index bb8c534..435500c 100644 --- a/czkawka_gui/i18n/cs/czkawka_gui.ftl +++ b/czkawka_gui/i18n/cs/czkawka_gui.ftl @@ -45,7 +45,7 @@ duplicate_check_method_tooltip = image_hash_size_tooltip = Každý zkontrolovaný obrázek vytváří speciální hash, který lze vzájemně porovnávat, a malý rozdíl mezi nimi znamená, že tyto obrázky jsou podobné. - 8 hash velikost je docela dobrá k nalezení obrázků, které jsou jen málo podobné originálům. S větší sadou obrázků (>1000) bude produkovat velké množství falešných pozitivních výsledků, takže doporučuji použít pro takovou částku větší hash velikosti. + 8 hash velikost je docela dobrá k nalezení obrázků, které jsou jen málo podobné originálům. S větší sadou obrázků(>1000) bude produkovat velké množství falešných pozitivních výsledků, takže doporučuji použít pro takovou částku větší hash velikosti. 16 je výchozí velikost hash, což je docela dobrý kompromis mezi nalezením i trochu podobných obrázků a malým množstvím srážek hash. @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Vytvořit hardwarové odkazy. Funguje pouze tehdy, pokud jsou vybrány alespoň dva výsledky ve skupině. Nejprve je nezměněna a druhé a později jsou těžce propojeny s prvními. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Přesune soubory do vybraného adresáře. Zkopíruje všechny soubory do adresáře bez uchování stromu adresáře. @@ -252,6 +257,9 @@ header_about_button_tooltip = Otevře dialog s informacemi o aplikaci. ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignorovat další souborové systémy (pouze Linux) settings_ignore_other_filesystems_tooltip = ignoruje soubory, které nejsou ve stejném souborovém systému jako prohledávané adresáře. diff --git a/czkawka_gui/i18n/de/czkawka_gui.ftl b/czkawka_gui/i18n/de/czkawka_gui.ftl index 141eb50..60425b1 100644 --- a/czkawka_gui/i18n/de/czkawka_gui.ftl +++ b/czkawka_gui/i18n/de/czkawka_gui.ftl @@ -15,10 +15,10 @@ music_genre_checkbox = Genre music_length_checkbox = Dauer music_comparison_checkbox = Ungefährer Vergleich music_comparison_checkbox_tooltip = - Mit Hilfe von einer KI, die maschinelles Lernen nutzt, um Klammern aus Phrasen zu entfernen, wird nach ähnlichen Musikdateien gesucht. Wenn die Option aktiviert ist, werden die folgenden Dateien zum Beispiel als Duplikate betrachtet: + Mit Hilfe von einer KI, die maschinelles Lernen nutzt, um Klammern aus Sätzen zu entfernen, wird nach ähnlichen Musikdateien gesucht. Wenn die Option aktiviert ist, werden die folgenden Dateien zum Beispiel als Duplikate betrachtet: Świędziżłób --- Świędziżłób (Remix Lato 2021) -duplicate_case_sensitive_name = Gross- /kleinschreibung beachtend +duplicate_case_sensitive_name = Gross-/Kleinschreibung beachten duplicate_case_sensitive_name_tooltip = Wenn aktiviert, gruppieren Sie nur Datensätze, wenn sie genau denselben Namen haben, z. żoŁD <-> Żołd Deaktivieren dieser Option gruppiert Namen ohne zu überprüfen, ob jeder Buchstabe die gleiche Größe wie żoŁD <-> Żołd @@ -66,15 +66,15 @@ image_hash_alg_tooltip = big_files_mode_combobox_tooltip = Erlaubt die Suche nach kleinsten/größten Dateien big_files_mode_label = Überprüfte Dateien big_files_mode_smallest_combo_box = Die kleinsten -big_files_mode_biggest_combo_box = Die Größten -main_notebook_duplicates = Dateien duplizieren +big_files_mode_biggest_combo_box = Die größten +main_notebook_duplicates = Doppelte Dateien main_notebook_empty_directories = Leere Verzeichnisse main_notebook_big_files = Große Dateien main_notebook_empty_files = Leere Dateien main_notebook_temporary = Temporäre Dateien main_notebook_similar_images = Ähnliche Bilder main_notebook_similar_videos = Ähnliche Videos -main_notebook_same_music = Musik Duplikate +main_notebook_same_music = Gleiche Musik main_notebook_symlinks = Ungültige Symlinks main_notebook_broken_files = Defekte Dateien main_notebook_bad_extensions = Falsche Erweiterungen @@ -139,10 +139,10 @@ upper_manual_add_excluded_button_tooltip = /home/roman;/home/krokiet wird zwei Verzeichnisse /home/roman und /home/keokiet hinzufügen upper_add_excluded_button_tooltip = Verzeichnis hinzufügen, das bei der Suche ausgeschlossen werden soll. -upper_remove_excluded_button_tooltip = Verzeichnis von ausgeschlossen löschen. -upper_notebook_items_configuration = Artikelkonfiguration +upper_remove_excluded_button_tooltip = Ausgeschlossene Verzeichnisse löschen. +upper_notebook_items_configuration = Suchbedingungen upper_notebook_excluded_directories = Ausgeschlossene Verzeichnisse -upper_notebook_included_directories = Inklusive Verzeichnisse +upper_notebook_included_directories = Einbezogene Verzeichnisse upper_allowed_extensions_tooltip = Erlaubte Erweiterungen müssen durch Kommas getrennt werden (standardmäßig sind alle verfügbar). @@ -224,6 +224,11 @@ bottom_hardlink_button_tooltip = Erstelle Hardlinks. Funktioniert nur, wenn mindestens zwei Ergebnisse einer Gruppe ausgewählt sind. Das Erste bleibt dabei unverändert, und das Zweite und alle Weiteren werden zu Hardlinks auf das Erste umgewandelt. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Verschiebt Dateien in den ausgewählten Ordner. Kopiert alle Dateien in den Ordner, ohne den Verzeichnisbaum zu erhalten. @@ -251,6 +256,9 @@ header_about_button_tooltip = Öffnet den Dialog mit Informationen über die App ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Andere Dateisysteme ignorieren (nur Linux) settings_ignore_other_filesystems_tooltip = ignoriert Dateien, die nicht im selben Dateisystem sind wie durchsuchte Verzeichnisse. @@ -375,7 +383,7 @@ progress_scanning_music_tags = Lese Tags von { $file_checked }/{ $all_files } Mu progress_scanning_empty_folders = Scanne { $folder_number } Ordner progress_scanning_size = Scanne Größe der { $file_number } Datei progress_scanning_name = Scanne Name der { $file_number } Datei -progress_analyzed_partial_hash = Analysierter Teilhash von { $file_checked }/{ $all_files } Dateien +progress_analyzed_partial_hash = Teilhash von { $file_checked }/{ $all_files } Dateien analysiert progress_analyzed_full_hash = Analysiert voller Hash von { $file_checked }/{ $all_files } Dateien progress_current_stage = Aktuelle Stufe:{ " " } progress_all_stages = Alle Stufen:{ " " } @@ -384,9 +392,9 @@ saving_loading_saving_success = Konfiguration in Datei { $name } gespeichert. saving_loading_saving_failure = Konfigurationsdaten konnten nicht in Datei { $name } gespeichert werden. saving_loading_reset_configuration = Aktuelle Konfiguration wurde gelöscht. saving_loading_loading_success = Richtig geladene App-Konfiguration. -saving_loading_invalid_string = Für Schlüssel "{ $key }" fand ungültiges Ergebnis - "{ $result }" das keine Zeichenkette ist. -saving_loading_invalid_int = Für Schlüssel "{ $key }" fand ungültiges Ergebnis - "{ $result }" das keine ganze Zahl ist. -saving_loading_invalid_bool = Für Schlüssel "{ $key }" fand ungültiges Ergebnis - "{ $result }" das kein Bool. +saving_loading_invalid_string = Für Schlüssel "{ $key }" ungültiges Ergebnis gefunden: "{ $result }", welches keine Zeichenkette ist. +saving_loading_invalid_int = Für Schlüssel "{ $key }" ungültiges Ergebnis gefunden: "{ $result }", welches keine ganze Zahl ist. +saving_loading_invalid_bool = Für Schlüssel "{ $key }" ungültiges Ergebnis gefunden: "{ $result }", welches kein Boolean ist. saving_loading_decode_problem_bool = Fehler beim Dekodieren des Bools von Schlüssel "{ $key }" gefunden "{ $result }" aber erlaubte Werte sind 0, 1, true oder false. saving_loading_saving_same_keys = Versucht die Einstellung mit doppelter Taste "{ $key } " zu speichern. saving_loading_failed_to_get_home_directory = Home-Verzeichnis konnte nicht zum Öffnen und Speichern der Konfigurationsdatei geladen werden. @@ -406,7 +414,7 @@ searching_for_data = Suche nach Daten, es kann eine Weile dauern, bitte warten.. text_view_messages = NACHRICHT text_view_warnings = WARNUNGEN text_view_errors = FEHLER -about_window_motto = Dieses Programm ist kostenlos zu benutzen und wird es immer sein. +about_window_motto = Dieses Programm ist kostenlos zu benutzen und wird immer frei sein. # Various dialog dialogs_ask_next_time = Nächstes Mal fragen delete_file_failed = Fehler beim Entfernen der Datei { $name }, aufgrund von { $reason } @@ -436,10 +444,10 @@ search_not_choosing_any_broken_files = FEHLER: Sie müssen mindestens ein Kontro include_folders_dialog_title = Einbezogene Ordner exclude_folders_dialog_title = Ausgeschlossene Ordner include_manually_directories_dialog_title = Verzeichnis manuell hinzufügen -cache_properly_cleared = Richtig geleerter Cache -cache_clear_duplicates_title = Leere Duplikaten-Cache -cache_clear_similar_images_title = Leere ähnlichen Bildercache -cache_clear_similar_videos_title = Lösche ähnlichen Videocache +cache_properly_cleared = Cache vollständig geleert +cache_clear_duplicates_title = Leere Duplikate-Cache +cache_clear_similar_images_title = Leere Bilder-Cache +cache_clear_similar_videos_title = Leere Video-Cache cache_clear_message_label_1 = Wollen Sie veraltete Einträge aus dem Cache löschen? cache_clear_message_label_2 = Dieser Vorgang entfernt alle Cache-Einträge, die auf ungültige Dateien verweisen. cache_clear_message_label_3 = Dies kann das Laden und Speichern zum Cache leicht beschleunigen. diff --git a/czkawka_gui/i18n/en/czkawka_gui.ftl b/czkawka_gui/i18n/en/czkawka_gui.ftl index 1c3da14..19f4521 100644 --- a/czkawka_gui/i18n/en/czkawka_gui.ftl +++ b/czkawka_gui/i18n/en/czkawka_gui.ftl @@ -263,6 +263,11 @@ bottom_hardlink_button_tooltip = Create hardlinks. Only works when at least two results in a group are selected. First is unchanged and second and later are hardlinked to first. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Moves files to chosen directory. It copies all files to the directory without preserving the directory tree. diff --git a/czkawka_gui/i18n/es/czkawka_gui.ftl b/czkawka_gui/i18n/es/czkawka_gui.ftl index 6e61af7..7662bbb 100644 --- a/czkawka_gui/i18n/es/czkawka_gui.ftl +++ b/czkawka_gui/i18n/es/czkawka_gui.ftl @@ -45,7 +45,7 @@ duplicate_check_method_tooltip = image_hash_size_tooltip = Cada imagen comprobada produce un hash especial que se puede comparar entre sí, y la pequeña diferencia entre ellas significa que estas imágenes son similares. - El tamaño de 8 hash es bastante bueno para encontrar imágenes que son poco similares a las originales. Con un conjunto más grande de imágenes (>1000) producirá una gran cantidad de falsos positivos, así que recomiendo usar para tal cantidad mayor de tamaño de hash. + El tamaño de 8 hash es bastante bueno para encontrar imágenes que son poco similares a las originales. Con un conjunto más grande de imágenes(>1000) producirá una gran cantidad de falsos positivos, así que recomiendo usar para tal cantidad mayor de tamaño de hash. 16 es el tamaño predeterminado del hash, lo cual es bastante bueno entre encontrar incluso un poco de imágenes similares y tener una pequeña cantidad de colisiones hash. @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Crear enlaces hardlinks. Solo funciona cuando al menos dos resultados en grupo son seleccionados. El primero no ha cambiado y el segundo y más tarde están enlazados por hardlinks a la primera. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Mover los archivos a la carpeta elegida. Copia todos los archivos a la carpeta sin preservar el árbol de directorios. @@ -252,6 +257,9 @@ header_about_button_tooltip = Abre el diálogo con información sobre la aplicac ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignorar otros sistemas de ficheros (sólo Linux) settings_ignore_other_filesystems_tooltip = ignora los archivos que no están en el mismo sistema de archivos que los directorios buscados. diff --git a/czkawka_gui/i18n/fr/czkawka_gui.ftl b/czkawka_gui/i18n/fr/czkawka_gui.ftl index bcf97f7..72077e7 100644 --- a/czkawka_gui/i18n/fr/czkawka_gui.ftl +++ b/czkawka_gui/i18n/fr/czkawka_gui.ftl @@ -45,7 +45,7 @@ duplicate_check_method_tooltip = image_hash_size_tooltip = Chaque image vérifiée produit un hachage spécial qui peut être comparé entre les autres, et une petite différence entre elles signifie que ces images sont similaires. - La taille de 8 hachages est assez bonne pour trouver des images qui ne sont que peu similaires à l'original. Avec un plus grand ensemble d'images (>1000) produira une grande quantité de faux positifs, je recommande donc d'utiliser pour une telle quantité plus grande taille de hachage. + La taille de 8 hachages est assez bonne pour trouver des images qui ne sont que peu similaires à l'original. Avec un plus grand ensemble d'images(>1000) produira une grande quantité de faux positifs, je recommande donc d'utiliser pour une telle quantité plus grande taille de hachage. 16 est la taille de hachage par défaut, ce qui est assez bon compromis entre trouver même un peu d'images similaires et avoir peu de collisions de hachage. @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Créer des liens durs. Ne fonctionne que si au moins deux résultats dans un groupe sont sélectionnés. Le premier est inchangé et le second et plus tard sont hardliés au premier. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Déplace les fichiers vers le répertoire choisi. Il copie tous les fichiers dans le répertoire sans préserver l'arborescence des répertoires. @@ -252,6 +257,9 @@ header_about_button_tooltip = Ouvre la boîte de dialogue avec les informations ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignorer les autres systèmes de fichiers (uniquement Linux) settings_ignore_other_filesystems_tooltip = ignore les fichiers qui ne sont pas dans le même système de fichiers que les répertoires recherchés. diff --git a/czkawka_gui/i18n/it/czkawka_gui.ftl b/czkawka_gui/i18n/it/czkawka_gui.ftl index 3814c7f..7a761b0 100644 --- a/czkawka_gui/i18n/it/czkawka_gui.ftl +++ b/czkawka_gui/i18n/it/czkawka_gui.ftl @@ -224,6 +224,11 @@ bottom_hardlink_button_tooltip = Crea collegamenti fisici. Funziona solo quando sono selezionati almeno due risultati in un gruppo. Il primo è invariato e il secondo e poi sono hardlinked al primo. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Sposta i file nella directory scelta. Copia tutti i file nella directory senza conservare l'albero delle directory. @@ -251,6 +256,9 @@ header_about_button_tooltip = Apre la finestra delle informazioni sul programma. ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignora altri filesystem (solo Linux) settings_ignore_other_filesystems_tooltip = ignora i file che non sono nello stesso file system delle directory cercate. diff --git a/czkawka_gui/i18n/ja/czkawka_gui.ftl b/czkawka_gui/i18n/ja/czkawka_gui.ftl index 8f9930e..187ece9 100644 --- a/czkawka_gui/i18n/ja/czkawka_gui.ftl +++ b/czkawka_gui/i18n/ja/czkawka_gui.ftl @@ -101,7 +101,7 @@ main_tree_view_column_proper_extensions = 適切な拡張 main_label_check_method = メソッドのチェック main_label_hash_type = ハッシュ方式 main_label_hash_size = ハッシュサイズ -main_label_size_bytes = サイズ (バイト) +main_label_size_bytes = サイズ(バイト) main_label_min_size = 最小値 main_label_max_size = 最大値 main_label_shown_files = 表示するファイルの数 @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = ハードリンクを作成します。 グループ内の2つ以上の結果が選択されている場合にのみ機能します。 最初の結果は変更されず、2番目以降の結果が最初の結果にハードリンクされます。 +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = 選択したフォルダにファイルを移動します。 ディレクトリツリーを維持したまま、すべてのファイルをフォルダにコピーします。 @@ -252,7 +257,10 @@ header_about_button_tooltip = アプリに関する情報を含むダイアロ ## General -settings_ignore_other_filesystems = 他のファイルシステムを無視 (Linuxのみ) +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! +settings_ignore_other_filesystems = 他のファイルシステムを無視(Linuxのみ) settings_ignore_other_filesystems_tooltip = 検索されたディレクトリと同じファイルシステムにないファイルを無視します。 @@ -314,7 +322,7 @@ settings_duplicates_minimal_size_entry_tooltip = 値を小さくするとキャッシュが生成されるレコードが増え検索が高速化しますが、キャッシュの読み込みと保存が遅くなります。 settings_duplicates_prehash_checkbutton_tooltip = - プレハッシュ (ファイルの一部から計算したハッシュ) のキャッシュを有効にし、重複していない検索結果をより早く捨てられるようにします。 + プレハッシュ(ファイルの一部から計算したハッシュ) のキャッシュを有効にし、重複していない検索結果をより早く捨てられるようにします。 いくつかの場面では低速化の要因になりうるので、この機能はデフォルトでは無効になっています。 diff --git a/czkawka_gui/i18n/ko/czkawka_gui.ftl b/czkawka_gui/i18n/ko/czkawka_gui.ftl index 42473aa..8b9e322 100644 --- a/czkawka_gui/i18n/ko/czkawka_gui.ftl +++ b/czkawka_gui/i18n/ko/czkawka_gui.ftl @@ -47,7 +47,7 @@ image_hash_size_tooltip = 해시 크기 8은 원본과 유사도가 낮은 이미지까지 찾는 데 좋습니다. 하지만 1,000개를 넘어가는 이미지들을 서로 비교할 경우, 거짓 양성 반응이 나타날 가능성이 큽니다. 따라서 그런 경우에는 적당히 큰 값을 사용하는 것이 좋습니다. - 해시 크기 32와 64는 오로지 매우 비슷한 이미지만 찾아내며, 거짓 양성 반응이 거의 나타나지 않습니다 (다만 알파 채널을 가진 이미지의 경우 나타날 수 있습니다). + 해시 크기 32와 64는 오로지 매우 비슷한 이미지만 찾아내며, 거짓 양성 반응이 거의 나타나지 않습니다(다만 알파 채널을 가진 이미지의 경우 나타날 수 있습니다). image_resize_filter_tooltip = 이미지의 해시를 계산하기 위해서, 먼저 이미지의 크기를 조절해야 합니다. @@ -143,13 +143,13 @@ upper_notebook_items_configuration = 항목 설정 upper_notebook_excluded_directories = 제외할 디렉터리 upper_notebook_included_directories = 검색할 디렉터리 upper_allowed_extensions_tooltip = - 허용할 확장자는 콤마 (',') 를 통해 구분해야 합니다. (기본값인 경우 모든 확장자를 허용합니다.) + 허용할 확장자는 콤마(',')를 통해 구분해야 합니다. (기본값인 경우 모든 확장자를 허용합니다.) IMAGE, VIDEO, MUSIC, TEXT를 입력할 경우 해당하는 파일을 모두 지칭할 수 있습니다. - 예시: ".exe, IMAGE, VIDEO, .rar, 7z" - 이와 같이 입력하면, 이미지 파일 (예. jpg, png), 영상 파일 (예. avi, mp4), exe, rar, 그리고 7z 파일을 검색합니다. + 예시: ".exe, IMAGE, VIDEO, .rar, 7z" - 이와 같이 입력하면, 이미지 파일(예. jpg, png), 영상 파일(예. avi, mp4), exe, rar, 그리고 7z 파일을 검색합니다. upper_excluded_items_tooltip = - 제외할 항목은 반드시 '*' 와일드카드 문자를 사용해서 추가해야 하며, 콤마 (',') 로 구분되어야 합니다. + 제외할 항목은 반드시 '*' 와일드카드 문자를 사용해서 추가해야 하며, 콤마(',')로 구분되어야 합니다. 디렉터리를 직접 제외하는 것보다 느립니다. 주의해서 사용하세요. upper_excluded_items = 제외할 항목: upper_allowed_extensions = 허용할 확장자: @@ -223,6 +223,11 @@ bottom_hardlink_button_tooltip = 하드 링크를 생성합니다. 그룹 내에서 최소한 2개의 파일이 선택되어 있어야 합니다. 첫 번째 파일은 그대로 남으며, 두 번째 이후 파일은 첫 번째 파일로 향하는 하드 링크가 됩니다. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = 선택된 디렉터리로 파일을 이동합니다. 이 동작은 원본이 위치한 경로를 전부 무시하고, 선택한 경로로 파일을 전부 복사합니다. @@ -250,7 +255,10 @@ header_about_button_tooltip = 이 앱에 대한 정보창을 엽니다. ## General -settings_ignore_other_filesystems = 다른 파일시스템 무시 (Linux에서만) +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! +settings_ignore_other_filesystems = 다른 파일시스템 무시(Linux에서만) settings_ignore_other_filesystems_tooltip = 검색할 디렉터리와 파일시스템이 다른 디렉터리를 무시합니다. @@ -282,7 +290,7 @@ settings_multiple_delete_outdated_cache_checkbutton = 만료된 파일을 캐시 settings_multiple_delete_outdated_cache_checkbutton_tooltip = 더 이상 존재하지 않는 파일에 대한 정보를 캐시에서 삭제합니다. - 이 옵션이 켜져 있으면, 프로그램은 존재하는 파일만이 캐시에 남도록 할 것입니다 (망가진 파일은 무시됩니다). + 이 옵션이 켜져 있으면, 프로그램은 존재하는 파일만이 캐시에 남도록 할 것입니다(망가진 파일은 무시됩니다). 이 옵션을 끄는 것은 외장 저장장치에 존재하는 파일을 스캔했을 때, 외장 저장장치에 있는 파일에 대한 캐시를 보존하는 데 도움이 됩니다. @@ -312,7 +320,7 @@ settings_duplicates_minimal_size_entry_tooltip = 이 값이 작을 수록 더 많은 파일이 캐시에 저장됩니다. 이 경우 검색은 더 빨라지지만, 캐시 저장 및 불러오기는 느려집니다. settings_duplicates_prehash_checkbutton_tooltip = - 사전 해시 (파일 일부만으로 계산되는 해시) 에 대한 캐싱을 허용하여, 중복이 아닌 파일을 더 빠르게 결과에서 제거합니다. + 사전 해시(파일 일부만으로 계산되는 해시)에 대한 캐싱을 허용하여, 중복이 아닌 파일을 더 빠르게 결과에서 제거합니다. 이 옵션은 일부 상황에서 검색을 느리게 하기 때문에, 기본적으로 꺼져 있습니다. diff --git a/czkawka_gui/i18n/no/czkawka_gui.ftl b/czkawka_gui/i18n/no/czkawka_gui.ftl index 45a01d1..4603d3f 100644 --- a/czkawka_gui/i18n/no/czkawka_gui.ftl +++ b/czkawka_gui/i18n/no/czkawka_gui.ftl @@ -45,7 +45,7 @@ duplicate_check_method_tooltip = image_hash_size_tooltip = Hvert avmerket bilde produserer spesielle hash som kan sammenlignes med hverandre, og en liten forskjell mellom dem betyr at dette bildet er likt. - 8 hash-størrelse er ganske bra for å finne bilder som er lite likt original. Med et større sett med bilder (>1000) vil jeg gi store mengder falske positive, så jeg anbefaler å bruke for så mye større hash-størrelse. + 8 hash-størrelse er ganske bra for å finne bilder som er lite likt original. Med et større sett med bilder(>1000) vil jeg gi store mengder falske positive, så jeg anbefaler å bruke for så mye større hash-størrelse. 16 er standard hash-størrelse som er ganske godt kompromiss mellom å finne enda litt lignende bilder og å ha en liten mengde hash-kollisjoner. @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Opprette fastkoblinger. Virker bare når minst to resultater i en gruppe er valgt. Først er uendret og annet og senere er vanskelig knyttet til først. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Flytter filer til valgt mappe. Den kopierer alle filer til mappen uten å lagre mappetreet. @@ -252,6 +257,9 @@ header_about_button_tooltip = Åpner dialog med info om app. ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignorer andre filsystemer (bare Linux) settings_ignore_other_filesystems_tooltip = ignorerer filer som ikke er i samme filsystem som søk-kataloger. diff --git a/czkawka_gui/i18n/pl/czkawka_gui.ftl b/czkawka_gui/i18n/pl/czkawka_gui.ftl index bbc36ab..7b2c39d 100644 --- a/czkawka_gui/i18n/pl/czkawka_gui.ftl +++ b/czkawka_gui/i18n/pl/czkawka_gui.ftl @@ -27,13 +27,13 @@ duplicate_mode_name_combo_box = Nazwa duplicate_mode_size_combo_box = Rozmiar duplicate_mode_hash_combo_box = Hash duplicate_hash_type_tooltip = - Czkawka oferuje 3 typy hashów: + Czkawka oferuje 3 rodzaje hashów: - Blake3 - kryptograficzna funkcja skrótu. Domyślnie używane, ponieważ jest bardzo szybkie. + Blake3 - kryptograficzna funkcja skrótu. Jest to wartość domyślna, ponieważ jest bardzo szybka. - CRC32 - prosta funkcja haszująca. Powinna być szybsza niż Blake3, lecz bardzo rzadko może prowadzić do kolizji haszów. + CRC32 - prosta funkcja haszująca. Powinno to być szybsze od Blake3, ale bardzo rzadko może to prowadzić do kolizji. - XXH3 - bardzo podobna pod względem wydajności i jakości do Blake3 (lecz nie jest kryptograficzna). + XXH3 - bardzo podobna pod względem wydajności i jakości hashu do Blake3 (ale niekryptograficzna). Tak więc takie tryby mogą być łatwo wymienione. duplicate_check_method_tooltip = Na razie Czkawka oferuje trzy typy metod do znalezienia duplikatów przez: @@ -41,17 +41,17 @@ duplicate_check_method_tooltip = Rozmiar - Znajduje pliki o tym samym rozmiarze. - Hash - Znajduje pliki, które mają tę samą zawartość. Ten tryb haszuje plik, a następnie porównuje utworzony skrót (hash) aby znaleźć duplikaty. Ten tryb jest najbezpieczniejszym sposobem na znalezienie duplikatów. Aplikacja używa pamięci podręcznej, więc drugie i kolejne skanowanie tych samych danych powinno być dużo szybsze niż za pierwszym razem. + Hash - Znajduje pliki, które mają tę samą zawartość. Ten tryb haszuje plik, a następnie porównuje utworzony skrót(hash) aby znaleźć duplikaty. Ten tryb jest najbezpieczniejszym sposobem na znalezienie duplikatów. Aplikacja używa pamięci podręcznej, więc drugie i kolejne skanowanie tych samych danych powinno być dużo szybsze niż za pierwszym razem. image_hash_size_tooltip = Każdy sprawdzony obraz generuje hash, który można porównać z innymi a niewielka różnica między nimi oznacza, że te obrazy są podobne. - Hash wielkości 8 jest dość dobry do wyszukiwania obrazów, które są tylko niewiele podobne do oryginału. Z większą ilością obrazów (>1000) będzie generować dużą ilość niepoprawnych wyników, więc w takim przypadku zalecam użycie większego hashu. + Hash wielkości 8 jest dość dobry do wyszukiwania obrazów, które są tylko niewiele podobne do oryginału. Z większą ilością obrazów(>1000) będzie generować dużą ilość niepoprawnych wyników, więc w takim przypadku zalecam użycie większego hashu. 16 to domyślny rozmiar hashu, który jest całkiem dobrym kompromisem między znalezieniem nawet nieco podobnych obrazów a niewielkim poziomem kolizji pomiędzy nimi. - 32 i 64 znajdują tylko bardzo podobne zdjęcia, ale prawie nie powinny mieć kolizji (może z wyjątkiem niektórych obrazów z kanałem alfa (przezroczystością)). + 32 i 64 znajdują tylko bardzo podobne zdjęcia, ale prawie nie powinny mieć kolizji (może z wyjątkiem niektórych obrazów z kanałem alfa(przezroczystością)). image_resize_filter_tooltip = - Aby obliczyć hash obrazu, biblioteka musi najpierw zmienić (zwykle zmniejszyć) jego rozmiar. + Aby obliczyć hash obrazu, biblioteka musi najpierw zmienić(zwykle zmniejszyć) jego rozmiar. W zależności od wybranego algorytmu, zmiejszony obraz użyty do obliczenia skrótu może wyglądać nieco inaczej. @@ -63,7 +63,7 @@ image_hash_alg_tooltip = Każdy ma zarówno mocniejsze jak i słabsze punkty i czasami daje lepsze a czasami gorsze wyniki dla różnych obrazów. - Najlepiej jest samemu potestować jaki algorytm ma najlepsze wyniki (może to nie być zawsze dobrze widoczne). + Najlepiej jest samemu potestować jaki algorytm ma najlepsze wyniki(może to nie być zawsze dobrze widoczne). big_files_mode_combobox_tooltip = Pozwala na wyszukiwanie najmniejszych lub największych plików big_files_mode_label = Sprawdzane pliki big_files_mode_smallest_combo_box = Najmniejsze @@ -180,7 +180,7 @@ popover_custom_name_check_button_entry_tooltip = popover_custom_regex_check_button_entry_tooltip = Wybierz rekordy według określonego Regexa. - W tym trybie wyszukiwanym tekstem jest pełna ścieżka (wraz z nazwą). + W tym trybie wyszukiwanym tekstem jest pełna ścieżka(wraz z nazwą). Przykładowe użycie: /usr/bin/ziemniak. xt można znaleźć za pomocą /ziem[a-z]+ @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Tworzenie twardych linków. Działa tylko wtedy, gdy wybrano co najmniej dwa rekordy w grupie. Pierwszy jest niezmieniony, drugi i następny jest dowiązywany z pierwszym. +bottom_hardlink_button_not_available_tooltip = + Tworzenie twardych dowiązań. + Przycisk jest zablokowany, gdyż stworzenie twardego dowiązania nie jest możliwe. + Dowiązanie tego rodzaju może tworzyć administrator w systemie Windows, więc należy upewnić się że aplikacja jest uruchomiona przez z tymi uprawnieniami. + Jeśli aplikacja działa z nimi, należy przeszukać issues w Githubie celem znalezienia możliwych rozwiązań danego problemu. bottom_move_button_tooltip = Przenosi pliki do wybranego katalogu. Kopiuje wszystkie pliki do katalogu bez zachowania struktury plików. @@ -241,7 +246,7 @@ about_instruction_button_tooltip = Link do strony z instrukcją. about_translation_button_tooltip = Link do strony Crowdin z tłumaczeniami aplikacji. Oficialnie wspierany jest język polski i angielski. about_repository_button = Repozytorium about_donation_button = Dotacje -about_instruction_button = Instrukcja (ENG) +about_instruction_button = Instrukcja(ENG) about_translation_button = Tłumaczenie # Header header_setting_button_tooltip = Otwórz okno z ustawieniami programu. @@ -252,6 +257,9 @@ header_about_button_tooltip = Otwórz okno z informacjami o programie. ## General +settings_number_of_threads = Liczba używanych wątków +settings_number_of_threads_tooltip = Liczba używanych wątków, 0 oznacza, że zostaną użyte wszystkie dostępne wątki. +settings_label_restart = Musisz ponownie uruchomić aplikację, aby aplikacja zaciągnęła nowe ustawienia! settings_ignore_other_filesystems = Ignoruj inne systemy plików (tylko Linux) settings_ignore_other_filesystems_tooltip = ignoruje pliki, które nie są w tym samym systemie plików co przeszukiwane katalogi. diff --git a/czkawka_gui/i18n/pt/czkawka_gui.ftl b/czkawka_gui/i18n/pt/czkawka_gui.ftl index 6b6a975..1486a08 100644 --- a/czkawka_gui/i18n/pt/czkawka_gui.ftl +++ b/czkawka_gui/i18n/pt/czkawka_gui.ftl @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Criar links hardlinks. Só funciona quando pelo menos dois resultados em um grupo são selecionados. O primeiro é inalterado e o segundo e posterior são vinculados ao primeiro. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Move arquivos para o diretório escolhido. Ele copia todos os arquivos para o diretório sem preservar a árvore de diretório. @@ -252,6 +257,9 @@ header_about_button_tooltip = Abre diálogo com informações sobre o aplicativo ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignorar outros sistemas de arquivos (somente Linux) settings_ignore_other_filesystems_tooltip = ignora arquivos que não estão no mesmo sistema de arquivos que os diretórios pesquisados. diff --git a/czkawka_gui/i18n/ru/czkawka_gui.ftl b/czkawka_gui/i18n/ru/czkawka_gui.ftl index 46ca050..255405e 100644 --- a/czkawka_gui/i18n/ru/czkawka_gui.ftl +++ b/czkawka_gui/i18n/ru/czkawka_gui.ftl @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Создать жёсткие ссылки. Работает, только когда выбрано не менее двух результатов в группе. Первый результат оставляется, а второй и последующие делаются жёсткими ссылками на первый. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Перемещение файлов в выбранный каталог. Копирует все файлы в папку без сохранения структуры дерева каталогов. @@ -252,6 +257,9 @@ header_about_button_tooltip = Открыть окно с информацией ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Игнорировать другие файловые системы (только Linux) settings_ignore_other_filesystems_tooltip = игнорирует файлы, которые находятся в той же файловой системе, что и поисковые директории. @@ -353,7 +361,7 @@ settings_folder_settings_open = Открыть папку настроек # Compute results compute_stopped_by_user = Поиск был остановлен пользователем compute_found_duplicates_hash_size = Найдено дубликатов: { $number_files } (групп: { $number_groups }), размер: { $size } -compute_found_duplicates_name = Найдено: { $number_files } дубликат (а/ов) (групп: { $number_groups }) +compute_found_duplicates_name = Найдено: { $number_files } дубликат(а/ов) (групп: { $number_groups }) compute_found_empty_folders = Найдено пустых папок: { $number_files } compute_found_empty_files = Найдено пустых файлов: { $number_files } compute_found_big_files = Найдено больших файлов: { $number_files } diff --git a/czkawka_gui/i18n/sv/czkawka_gui.ftl b/czkawka_gui/i18n/sv/czkawka_gui.ftl index 1f0b0b0..369cef8 100644 --- a/czkawka_gui/i18n/sv/czkawka_gui.ftl +++ b/czkawka_gui/i18n/sv/czkawka_gui.ftl @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Skapa hardlinks. Fungerar endast när minst två resultat i en grupp är valda. Först är oförändrad och andra och senare är hårt länkade till först. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Flyttar filer till vald katalog. Det kopierar alla filer till katalogen utan att bevara katalogträdet. @@ -252,6 +257,9 @@ header_about_button_tooltip = Öppnar dialog med info om app. ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ignorera andra filsystem (endast Linux) settings_ignore_other_filesystems_tooltip = ignorerar filer som inte finns i samma filsystem som sökta kataloger. diff --git a/czkawka_gui/i18n/tr/czkawka_gui.ftl b/czkawka_gui/i18n/tr/czkawka_gui.ftl index 5ad3437..94006d7 100644 --- a/czkawka_gui/i18n/tr/czkawka_gui.ftl +++ b/czkawka_gui/i18n/tr/czkawka_gui.ftl @@ -1,8 +1,8 @@ # Window titles window_settings_title = Ayarlar -window_main_title = Czkawka (Hiccup) -window_progress_title = Taranıyor -window_compare_images = Compare Images +window_main_title = Czkawka (Hıçkırık) +window_progress_title = Taranıyor... +window_compare_images = Resimleri Karşılaştır # General general_ok_button = Tamam general_close_button = Kapat @@ -10,445 +10,495 @@ general_close_button = Kapat music_title_checkbox = Başlık music_artist_checkbox = Sanatçı music_year_checkbox = Yıl -music_bitrate_checkbox = Bit hızı +music_bitrate_checkbox = Bit-hızı music_genre_checkbox = Müzik Türü -music_length_checkbox = Yükseklik -music_comparison_checkbox = Approximate Comparison +music_length_checkbox = Uzunluk +music_comparison_checkbox = Yaklaşık Karşılaştırma music_comparison_checkbox_tooltip = - It searches for similar music files using AI, which uses machine learning to remove parentheses from a phrase. For example, with this option enabled, the files in question will be considered duplicates: + Yapay zeka kullanarak benzer müzik dosyalarını arar. + Örneğin, bir tümcenin parantezlerini kaldırmak için makine öğrenimini kullanır. + Bu seçenek etkinleştirildiğinde, söz konusu dosyalar kopya olarak kabul edilecektir: - Świędziżłób --- Świędziżłób (Remix Lato 2021) -duplicate_case_sensitive_name = Büyük/Küçük harfe duyarlı + Geççek <--> Geççek (Tarkan 2022) +duplicate_case_sensitive_name = Büyük/Küçük harfe Duyarlı duplicate_case_sensitive_name_tooltip = - When enabled, group only records when they have exactly same name e.g. Żołd <-> Żołd + Etkinleştirilse, dosya adları tam olarak aynı olduğunda eşleştirilir + ve bir grup oluşturulur. - Disabling such option will group names without checking if each letter is same size e.g. żoŁD <-> Żołd -duplicate_mode_name_combo_box = Ad -duplicate_mode_size_combo_box = Boyut -duplicate_mode_hash_combo_box = Karma + fatih.kavalci <--> fatih.kavalci + + Etkisizleştirilirse, her bir harfin büyük/küçük yazılıp yazılmadığını + denetlemeden aynı adları eşleyip grup oluşturur. + + fatih.kavalci <--> FatiH.KaVaLCi +duplicate_mode_name_combo_box = Ad Karşılaştırma +duplicate_mode_size_combo_box = Boyut Karşılaştırma +duplicate_mode_hash_combo_box = SUÇ (hash) Karşılaştırma duplicate_hash_type_tooltip = - Czkawka offers 3 types of hashes: + Czkawka, 3 tür Sabit Uzunlukta Çıktı (SUÇ) üretimi sunar: - Blake3 - cryptographic hash function. This is the default because it is very fast. + Blake3 - kriptografik SUÇ üretim işlevi. Bu varsayılandır çünkü çok hızlıdır. - CRC32 - simple hash function. This should be faster than Blake3, but may very rarely have some collisions. + CRC32 - basit SUÇ üretim işlevi. Bu, Blake3'ten daha hızlı olmalıdır, + ancak kimi zaman çakışmalar olabilir. - XXH3 - very similar in performance and hash quality to Blake3 (but non-cryptographic). So, such modes can be easily interchanged. + XXH3 - performans ve benzersiz SUÇ üretim kalitesi açısından Blake3'e çok benzer + (ancak kriptografik değildir). Böylece, bu tür modlar kolayca değiştirilebilir. duplicate_check_method_tooltip = - For now, Czkawka offers three types of method to find duplicates by: + Czkawka, eş dosyaları bulmak için şimdilik üç tür yöntem sunar: - Name - Finds files which have the same name. + Ad Karşılaştırma - Aynı ada sahip dosyaları bulur. - Size - Finds files which have the same size. + Boyut Karşılaştırma - Aynı boyuta sahip dosyaları bulur. - Hash - Finds files which have the same content. This mode hashes the file and later compares this hash to find duplicates. This mode is the safest way to find duplicates. App heavily uses cache, so second and further scans of the same data should be a lot of faster than the first. + Hash (SUÇ) Karşılaştırma - Aynı içeriğe sahip dosyaları bulur. Bu mod her dosya için + veri analizi sonucu sabit uzunlukta benzersiz birer çıktı üretir ve daha sonra eş doşyaları + bulmak için bu çıktıları karşılaştırır. Bu mod, eş dosyaları bulmanın en güvenli yoludur. + Czkawka, önbelleği yoğun olarak kullanır. Bu nedenle aynı verilerin ikinci ve sonraki taramaları + ilkinden çok daha hızlı olmalıdır. image_hash_size_tooltip = - Each checked image produce special hash which can be compared with every other, and small difference between them means that this images are similar. + Resim dosyalarının karşılaştırılması için her resim dosyasından özel bir hash + (Sabit Uzunluklu Resim Çıktısı : SURÇ) üretilmelidir. İki resmin SURÇ farkı küçük ise + bu resimlerin benzer olduğu anlamına gelir. - 8 hash size is quite good to find images that are only little similar to original. With bigger set of images (>1000) will produce big amount of false positives, so I recommend to use for such amount bigger hash size. + 8'lik SURÇ boyutu aslına çok az benzeyen resimleri bulmak için oldukça iyidir. + Büyük (>1000) resim kümelerinde çok sayıda hatalı eşleştirme yapacaktır. Bu nedenlenle + büyük resim kümeleri ile çalışırken daha büyük bir SURÇ boyutu kullanmanız önerilir. - 16 is default hash size which is quite good compromise between finding even a little similar images and having small amount of hash collisions. + 16'lık varsayılan SURÇ boyutu kısa sürede az miktarda hatalı eşleştirme ile + birbirine biraz benzer resimler bulmak için en uygun seçenektir. - 32 and 64 hashes finds only very similar images, but almost should not have any false positives (maybe except some images with alpha channel). + 32 ve 64'lük SURÇ boyutları yalnızca bir birine çok benzeyen resimleri eşleştirir + ve neredeyse (alfa kanallı kimi resimler dışında) hatalı eşleştirme yapmaz. image_resize_filter_tooltip = - To compute hash of image, library must first resize it. + Benzer resim dosyaları farklı biçimlerde, farklı boyutlarda, farklı sıkıştırma oranlarında olabilir. + Sabit Uzunluklu Resim Çıktısı (SURÇ) üretimi öncesinde bir algoritma aracılığı ile yeniden boyutlandırılmalıdır. - Depend on chosen algorithm, resulted image used to calculate hash will may looks little different. + Seçilen algoritmaya bağlı olarak, elde edilen son görüntü biraz farklı görünecektir. - The fastest algorithm to use, but also one which gives the worst results is Nearest, it is enabled by default, because with 16x16 hash size, lower quality it is not really visible. + Kullanılacak en hızlı aynı zamanda en kötü sonuçları veren algoritma Nearest'tir. Yine de varsayılan + olarak etkindir. Çünkü kalite kaybı, 16x16 boyutluk SURÇ üretiminde gerçekten fark edilmez. - With 8x8 hash size is recommended to use different algorithm than Nearest, to have better groups of images. + 8x8 boyutluk SURÇ üretimi ile daha iyi eşleştirilmiş resim gruplarına sahip olmak için + Nearest'ten farklı bir algoritma kullanmanız önerilir. image_hash_alg_tooltip = - Users can choose from one of many algorithms of calculating the hash. - - Each has both strong and weaker points and will sometimes give better and sometimes worse results for different images. - - So, to determine the best one for you, manual testing is required. -big_files_mode_combobox_tooltip = Allows to search for smallest/biggest files -big_files_mode_label = Checked files -big_files_mode_smallest_combo_box = The Smallest -big_files_mode_biggest_combo_box = The Biggest -main_notebook_duplicates = Duplicate Files -main_notebook_empty_directories = Empty Directories -main_notebook_big_files = Büyük Dosyalar -main_notebook_empty_files = Empty Files -main_notebook_temporary = Temporary Files -main_notebook_similar_images = Similar Images + Kullanıcılar, SURÇ oluşturmanın birçok algoritmasından birini seçebilir. + Her birinin hem güçlü hem de zayıf noktaları vardır ve farklı görüntüler için + bazen daha iyi, bazen daha kötü sonuçlar verir. Bu nedenle, size göre en iyisini belirlemek için + elle test gereklidir. +big_files_mode_combobox_tooltip = Boyut bakımından En Büyük/En Küçük dosyaları aramaya izin verir. +big_files_mode_label = Denetim şekli +big_files_mode_smallest_combo_box = En Küçük +big_files_mode_biggest_combo_box = En Büyük +main_notebook_duplicates = Eş Dosyalar +main_notebook_empty_directories = Boş Dizinler +main_notebook_big_files = Büyük/Küçük Dosyalar +main_notebook_empty_files = Boş Dosyalar +main_notebook_temporary = Geçici Dosyalar +main_notebook_similar_images = Benzer Resimler main_notebook_similar_videos = Benzer Videolar -main_notebook_same_music = Music Duplicates -main_notebook_symlinks = Invalid Symlinks -main_notebook_broken_files = Broken Files -main_notebook_bad_extensions = Bad Extensions +main_notebook_same_music = Müzik Kopyaları +main_notebook_symlinks = Geçersiz Sembolik Bağlar +main_notebook_broken_files = Bozuk Dosyalar +main_notebook_bad_extensions = Hatalı Uzantılar main_tree_view_column_file_name = Dosya Adı -main_tree_view_column_folder_name = Folder Name +main_tree_view_column_folder_name = Klasör Adı main_tree_view_column_path = Yol -main_tree_view_column_modification = Değiştirilme tarihi -main_tree_view_column_size = Size +main_tree_view_column_modification = Düzenleme Tarihi +main_tree_view_column_size = Boyut main_tree_view_column_similarity = Benzerlik -main_tree_view_column_dimensions = Boyutlar +main_tree_view_column_dimensions = En x Boy main_tree_view_column_title = Başlık main_tree_view_column_artist = Sanatçı main_tree_view_column_year = Yıl -main_tree_view_column_bitrate = Bit hızı -main_tree_view_column_length = Yükseklik -main_tree_view_column_genre = Müzik Türü -main_tree_view_column_symlink_file_name = Symlink File Name -main_tree_view_column_symlink_folder = Symlink Folder -main_tree_view_column_destination_path = Hedef Yolu -main_tree_view_column_type_of_error = Type Of Error -main_tree_view_column_current_extension = Current Extension -main_tree_view_column_proper_extensions = Proper Extension -main_label_check_method = Check method -main_label_hash_type = Hash type -main_label_hash_size = Hash size -main_label_size_bytes = Boyut (bayt) -main_label_min_size = En az -main_label_max_size = Azami -main_label_shown_files = Number of shown files -main_label_resize_algorithm = Resize algorithm -main_label_similarity = Similarity{ " " } -main_check_box_broken_files_audio = Audio +main_tree_view_column_bitrate = Bit-hızı +main_tree_view_column_length = Uzunluk +main_tree_view_column_genre = Tür +main_tree_view_column_symlink_file_name = Sembolik Bağ Dosyası Adı +main_tree_view_column_symlink_folder = Sembolik Bağlantı Klasörü +main_tree_view_column_destination_path = Hedef Yol +main_tree_view_column_type_of_error = Hata türü +main_tree_view_column_current_extension = Geçerli Uzantı +main_tree_view_column_proper_extensions = Uygun Uzantı +main_label_check_method = Denetim yöntemi: +main_label_hash_type = SUÇ türü: +main_label_hash_size = SURÇ boyutu: +main_label_size_bytes = Boyut (bayt): +main_label_min_size = Min +main_label_max_size = Max +main_label_shown_files = Gösterilecek Dosya Sayısı: +main_label_resize_algorithm = Yeniden boyutlandırma algoritması: +main_label_similarity = Benzerlik: { " " } +main_check_box_broken_files_audio = Ses main_check_box_broken_files_pdf = Pdf -main_check_box_broken_files_archive = Archive -main_check_box_broken_files_image = Image -check_button_general_same_size = Ignore same size -check_button_general_same_size_tooltip = Ignore from results, files which have identical size - usually this are 1:1 duplicates -main_label_size_bytes_tooltip = Size of files which will be used in scan +main_check_box_broken_files_archive = Arşiv +main_check_box_broken_files_image = Resim +check_button_general_same_size = Aynı boyutu yok say +check_button_general_same_size_tooltip = Aynı boyuta sahip dosyalar -genellikle 1'e 1 eştir- sonuçlarda gösterilmez. +main_label_size_bytes_tooltip = Taramada kullanılacak dosyaların boyutu # Upper window -upper_tree_view_included_folder_column_title = Folders to Search -upper_tree_view_included_reference_column_title = Reference Folders -upper_recursive_button = Recursive -upper_recursive_button_tooltip = If selected, search also for files which are not placed directly under chosen folders. -upper_manual_add_included_button = Manual Add -upper_add_included_button = Eklemek +upper_tree_view_included_folder_column_title = Aranacak Klasörler +upper_tree_view_included_reference_column_title = Başvuru Klasörleri +upper_recursive_button = Özyinelemeli +upper_recursive_button_tooltip = Seçilirse, doğrudan "Aranacak Klasörler" listesindeki dizin altında yer almayan (alt dizinlerdeki dosyaları da) arar. +upper_manual_add_included_button = Dizin Gir... +upper_add_included_button = Ekle upper_remove_included_button = Kaldır -upper_manual_add_excluded_button = Manual Add -upper_add_excluded_button = Eklemek +upper_manual_add_excluded_button = Dizin Gir... +upper_add_excluded_button = Ekle upper_remove_excluded_button = Kaldır upper_manual_add_included_button_tooltip = - Add directory name to search by hand. + Arama yapılacak dizin yolunu doğrudan yazın. - To add multiple paths at once, separate them by ; + Aynı anda birden fazla girdi eklemek için bunları ";" ile ayırın. - /home/roman;/home/rozkaz will add two directories /home/roman and /home/rozkaz -upper_add_included_button_tooltip = Add new directory to search. -upper_remove_included_button_tooltip = Delete directory from search. + /home/fatih;/home/kavalci girdisi biri /home/fatih öteki /home/kavalci + olmak üzere iki dizin ekleyecektir. +upper_add_included_button_tooltip = "Aranacak Klasörler" listesine yeni bir dizin ekler. +upper_remove_included_button_tooltip = Seçili dizini "Aranacak Klasörler" listesinden kaldırır. upper_manual_add_excluded_button_tooltip = - Add excluded directory name by hand. + Hariç tutulacak dizin yolunu doğrudan yazın. - To add multiple paths at once, separate them by ; + Aynı anda birden fazla girdi eklemek için bunları ";" ile ayırın. - /home/roman;/home/krokiet will add two directories /home/roman and /home/keokiet -upper_add_excluded_button_tooltip = Add directory to be excluded in search. -upper_remove_excluded_button_tooltip = Delete directory from excluded. -upper_notebook_items_configuration = Items Configuration -upper_notebook_excluded_directories = Excluded Directories -upper_notebook_included_directories = Included Directories + /home/fatih;/home/kavalci girdisi biri /home/fatih öteki /home/kavalci + olmak üzere iki dizin ekleyecektir. +upper_add_excluded_button_tooltip = "Hariç Tutulacak Klasörler" listesine yeni bir dizin ekler. +upper_remove_excluded_button_tooltip = Seçili dizini "Hariç Tutulacak Klasörler" listesinden kaldırır. +upper_notebook_items_configuration = Öğe Yapılandırması +upper_notebook_excluded_directories = Hariç Tutulan Dizinler +upper_notebook_included_directories = Aranacak Dizinler upper_allowed_extensions_tooltip = - Allowed extensions must be separated by commas (by default all are available). + İzin verilen uzantılar virgülle ayrılmalıdır (varsayılan olarak her uzantı kullanılır). - The following Macros, which add multiple extensions at once, are also available: IMAGE, VIDEO, MUSIC, TEXT. + Aynı anda birden fazla (aynı tür) uzantı ekleyen makrolar da kullanılabilir: IMAGE, VIDEO, MUSIC, TEXT. - Usage example ".exe, IMAGE, VIDEO, .rar, 7z" - this means that images (e.g. jpg, png), videos (e.g. avi, mp4), exe, rar, and 7z files will be scanned. + Kullanım örneği: ".exe, IMAGE, VIDEO, .rar, .7z" -- Bu girdi, resimlerin (ör. jpg, png ...), + videoların (ör. avi, mp4 ...), exe, rar ve 7z dosyalarının taranacağı anlamına gelir. upper_excluded_items_tooltip = - Excluded items must contain * wildcard and should be separated by commas. - This is slower than Excluded Directories, so use it carefully. -upper_excluded_items = Excluded Items: -upper_allowed_extensions = Allowed Extensions: + Hariç tutulan öğeler * joker karakterini içermeli ve virgülle ayrılmalıdır. + Bu işlev, Hariç Tutulan Dizinlerden daha yavaştır, bu yüzden dikkatli kullanın. +upper_excluded_items = Hariç Tutulan Öğeler: +upper_allowed_extensions = İzin Verilen Uzantılar: # Popovers popover_select_all = Tümünü seç popover_unselect_all = Tümünün seçimini kaldır -popover_reverse = Reverse Selection -popover_select_all_except_oldest = Select all except oldest -popover_select_all_except_newest = Select all except newest -popover_select_one_oldest = Select one oldest -popover_select_one_newest = Select one newest -popover_select_custom = Select custom -popover_unselect_custom = Unselect custom -popover_select_all_images_except_biggest = Select all except biggest -popover_select_all_images_except_smallest = Select all except smallest +popover_reverse = Seçimi Ters Çevir +popover_select_all_except_oldest = En eski olan hariç hepsini seç +popover_select_all_except_newest = En yeni olan hariç hepsini seç +popover_select_one_oldest = En eski olanı seç +popover_select_one_newest = En yeni olanı seç +popover_select_custom = Özel girdi ile seçim yap +popover_unselect_custom = Özel girdi ile seçimi kaldır +popover_select_all_images_except_biggest = En büyük olan hariç hepsini seç +popover_select_all_images_except_smallest = En küçük olan hariç hepsini seç popover_custom_path_check_button_entry_tooltip = - Select records by path. + Kayıtları, kısmi yol girdisine göre seçer. - Example usage: - /home/pimpek/rzecz.txt can be found with /home/pim* + Örnek kullanım: + /home/fatih/kavalci.txt dosyası, /home/fat* girdisi ile bulunabilir popover_custom_name_check_button_entry_tooltip = - Select records by file names. + Kayıtları, kısmi dosya adı girdisine göre seçer. - Example usage: - /usr/ping/pong.txt can be found with *ong* + Örnek kullanım: + /home/fatih/kavalci.txt dosyası, *val* girdisi ile bulunabilir popover_custom_regex_check_button_entry_tooltip = - Select records by specified Regex. + Kayıtları, belirtilen Regex girdisine göre seçer. - With this mode, searched text is Path with Name. + Bu mod ile aranan metin, tam yol dosya adıdır. - Example usage: - /usr/bin/ziemniak.txt can be found with /ziem[a-z]+ + Örnek kullanım: + /home/fatih/kavalcı.txt dosyası, h/ka[a-z]+ ile bulunabilir - This uses the default Rust regex implementation. You can read more about it here: https://docs.rs/regex. + Bu işlev, varsayılan Rust regex uygulamasını kullanır. + Daha fazla bilgi için bakınız: https://docs.rs/regex. popover_custom_case_sensitive_check_button_tooltip = - Enables case-sensitive detection. + Büyük/Küçük harfe duyarlı algılamayı etkinleştirir. - When disabled /home/* finds both /HoMe/roman and /home/roman. + Etkisizleştirilir ise; + /home/fatih/* girdisi, hem /home/fatih/ hem de /home/FaTiH dizinlerini algılar. popover_custom_not_all_check_button_tooltip = - Prevents selecting all records in group. + Gruptaki tüm kayıtların seçilmesini engeller. - This is enabled by default, because in most situations, you don't want to delete both original and duplicates files, but want to leave at least one file. + Bu varsayılan olarak etkindir. Çünkü, çoğu durumda hem asıl dosyayı hem de kopyaları + silmek istemezsiniz. En az bir dosya bırakmak istersiniz. - WARNING: This setting doesn't work if you have already manually selected all results in a group. + UYARI: Bir gruptaki tüm sonuçlar zaten elle seçilmiş ise bu ayar çalışmaz. popover_custom_regex_path_label = Yol popover_custom_regex_name_label = Ad -popover_custom_regex_regex_label = Regex Path + Name -popover_custom_case_sensitive_check_button = Büyük/küçük harf duyarlı -popover_custom_all_in_group_label = Don't select all records in group -popover_custom_mode_unselect = Unselect Custom -popover_custom_mode_select = Özeli Seçin -popover_invalid_regex = Regex is invalid -popover_valid_regex = Regex is valid +popover_custom_regex_regex_label = Regex Yolu + Adı +popover_custom_case_sensitive_check_button = Büyük/Küçük harfe duyarlı +popover_custom_all_in_group_label = Gruptaki tüm kayıtları seçme +popover_custom_mode_unselect = Özel Girdi ile Seçimi Kaldır +popover_custom_mode_select = Özel Girdi ile Seç +popover_invalid_regex = Regex geçersiz (hatalı) +popover_valid_regex = Regex geçerli (doğru) # Bottom buttons bottom_search_button = Ara bottom_select_button = Seç bottom_delete_button = Sil -bottom_save_button = Save -bottom_symlink_button = Sembolik link -bottom_hardlink_button = Hardlink +bottom_save_button = Kaydet +bottom_symlink_button = Sembolik bağlantı +bottom_hardlink_button = Sabit bağlantı bottom_move_button = Taşı -bottom_search_button_tooltip = Aramayı başlat -bottom_select_button_tooltip = Select records. Only selected files/folders can be later processed. -bottom_delete_button_tooltip = Delete selected files/folders. -bottom_save_button_tooltip = Save data about search to file +bottom_search_button_tooltip = Aramayı başlatır. +bottom_select_button_tooltip = Kayıtları seçer. Yalnızca seçilen dosyalara/klasörlere işlem uygulanabilir. +bottom_delete_button_tooltip = Seçili dosyaları/klasörleri siler. +bottom_save_button_tooltip = Aramayla ilgili verileri dosyaya kaydeder. bottom_symlink_button_tooltip = - Create symbolic links. - Only works when at least two results in a group are selected. - First is unchanged and second and later are symlinked to first. + Sembolik bağlantılar oluşturur. + Yalnızca bir gruptaki en az iki sonuç seçildiğinde çalışır. + Birincisi değişmez, ikincisi ve sonrası birinciye sembolik olarak bağlanır. bottom_hardlink_button_tooltip = + Sabit bağlantılar oluşturur. + Yalnızca bir gruptaki en az iki sonuç seçildiğinde çalışır. + Birincisi değişmez, ikincisi ve sonrası birinciye sabit olarak bağlanır. +bottom_hardlink_button_not_available_tooltip = Create hardlinks. - Only works when at least two results in a group are selected. - First is unchanged and second and later are hardlinked to first. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = - Moves files to chosen directory. - It copies all files to the directory without preserving the directory tree. - When trying to move two files with identical name to folder, second will fail and show error. -bottom_show_errors_tooltip = Show/Hide bottom text panel. -bottom_show_upper_notebook_tooltip = Show/Hide upper notebook panel. + Dosyaları seçilen dizine taşır. + Dizin ağacını korumadan tüm dosyaları dizine taşır. + Aynı ada sahip iki dosyayı klasöre taşımaya çalışırken, ikincisi başarısız olur ve hata gösterir. +bottom_show_errors_tooltip = Alt çıktı panelini göster/gizle. +bottom_show_upper_notebook_tooltip = Üst denetim panelini göster/gizle. # Progress Window -progress_stop_button = Dur -progress_stop_additional_message = Stop requested +progress_stop_button = Durdur +progress_stop_additional_message = İşlem durduruldu. # About Window -about_repository_button_tooltip = Link to repository page with source code. -about_donation_button_tooltip = Link to donation page. -about_instruction_button_tooltip = Link to instruction page. -about_translation_button_tooltip = Link to Crowdin page with app translations. Officially Polish and English are supported. -about_repository_button = Veri Havuzu -about_donation_button = Bağış yap -about_instruction_button = Talimatlar +about_repository_button_tooltip = Kaynak kodu depo sayfasına bağlanır. +about_donation_button_tooltip = Bağış sayfasına bağlanır. +about_instruction_button_tooltip = Kullanım yönergeleri sayfasına bağlanır. +about_translation_button_tooltip = Czkawka çevirileriyle Crowdin sayfasına bağlanır. Resmi olarak Lehçe ve İngilizce desteklenmektedir. +about_repository_button = Depo +about_donation_button = Bağış +about_instruction_button = Yönerge about_translation_button = Çeviri # Header -header_setting_button_tooltip = Opens settings dialog. -header_about_button_tooltip = Opens dialog with info about app. +header_setting_button_tooltip = Ayarlar iletişim kutusunu açar. +header_about_button_tooltip = Czkawka hakkında bilgi içeren iletişim kutusunu açar. # Settings ## General -settings_ignore_other_filesystems = Ignore other filesystems (only Linux) +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! +settings_ignore_other_filesystems = Öteki dosya sistemlerini yoksay (sadece Linux) settings_ignore_other_filesystems_tooltip = - ignores files that are not in the same file system as searched directories. + Aranan dizinlerle aynı dosya sisteminde olmayan dosyaları yoksayar. - Works same like -xdev option in find command on Linux -settings_save_at_exit_button_tooltip = Save configuration to file when closing app. + Linux'ta find komutundaki -xdev seçeneği ile aynı şekilde çalışır. +settings_save_at_exit_button_tooltip = Uygulamayı kapatırken yapılandırmayı dosyaya kaydeder. settings_load_at_start_button_tooltip = - Load configuration from file when opening app. + Uygulamayı açarken yapılandırmayı dosyadan yükler. - If not enabled, default settings will be used. -settings_confirm_deletion_button_tooltip = Show confirmation dialog when clicking the delete button. -settings_confirm_link_button_tooltip = Show confirmation dialog when clicking the hard/symlink button. -settings_confirm_group_deletion_button_tooltip = Show warning dialog when trying to delete all records from the group. -settings_show_text_view_button_tooltip = Show text panel at the bottom of the user interface. -settings_use_cache_button_tooltip = Use file cache. -settings_save_also_as_json_button_tooltip = Save cache to (human readable) JSON format. It is possible to modify its content. Cache from this file will be read automatically by app if binary format cache (with bin extension) is missing. -settings_use_trash_button_tooltip = Moves files to trash instead deleting them permanently. -settings_language_label_tooltip = Language for user interface. -settings_save_at_exit_button = Save configuration when closing app -settings_load_at_start_button = Load configuration when opening app -settings_confirm_deletion_button = Show confirm dialog when deleting any files -settings_confirm_link_button = Show confirm dialog when hard/symlinks any files -settings_confirm_group_deletion_button = Show confirm dialog when deleting all files in group -settings_show_text_view_button = Show bottom text panel -settings_use_cache_button = Önbellek kullan -settings_save_also_as_json_button = Also save cache as JSON file -settings_use_trash_button = Move deleted files to trash + Etkinleştirilmezse, varsayılan ayarlar kullanılır. +settings_confirm_deletion_button_tooltip = Sil düğmesine tıklandığında onay iletişim kutusunu gösterir. +settings_confirm_link_button_tooltip = Sabit/sembolik bağlantı düğmesine tıklandığında onay iletişim kutusunu göster. +settings_confirm_group_deletion_button_tooltip = Gruptan tüm kayıtları silmeye çalışırken uyarı iletişim kutusunu gösterir. +settings_show_text_view_button_tooltip = Kullanıcı arayüzünün altında çıktı panelini gösterir. +settings_use_cache_button_tooltip = Dosya önbelleğini kullanır. +settings_save_also_as_json_button_tooltip = + Önbelleği (kullanıcı tarafından okunabilir) JSON biçiminde kaydeder. + İçeriğini değiştirmek mümkündür. İkili biçim önbelleği (bin uzantılı) eksikse, + bu dosyadaki önbellek uygulama tarafından otomatik olarak okunacaktır. +settings_use_trash_button_tooltip = Dosyaları kalıcı olarak silmek yerine çöp kutusuna taşır. +settings_language_label_tooltip = Kullanıcı arayüzü dilini değiştirir. +settings_save_at_exit_button = Uygulamayı kapatırken yapılandırmayı kaydet +settings_load_at_start_button = Uygulamayı açarken yapılandırmayı yükle +settings_confirm_deletion_button = Herhangi bir dosyayı silerken onay iletişim kutusunu göster +settings_confirm_link_button = Herhangi bir dosyaya sabit/sembolik bağlantı yapıldığında onay iletişim kutusunu göster +settings_confirm_group_deletion_button = Gruptaki tüm dosyaları silerken onay iletişim kutusunu göster +settings_show_text_view_button = Alt çıktı panelini göster +settings_use_cache_button = Önbelleği kullan +settings_save_also_as_json_button = Önbelleği JSON dosyası olarak da kaydet +settings_use_trash_button = Silinen dosyaları çöp kutusuna taşı settings_language_label = Dil -settings_multiple_delete_outdated_cache_checkbutton = Delete outdated cache entries automatically +settings_multiple_delete_outdated_cache_checkbutton = Güncel olmayan önbellek girişlerini otomatik olarak sil settings_multiple_delete_outdated_cache_checkbutton_tooltip = - Delete outdated cache results which point to non-existent files. + Var olmayan dosyalara işaret eden eski önbellek girdilerini siler. - When enabled, app makes sure when loading records, that all records point to valid files (broken ones are ignored). + Etkinleştirildiğinde, uygulama kayıtları yüklerken tüm kayıtların geçerli dosyalara + işaret etmesini sağlar (bozuk olanlar yoksayılır). - Disabling this will help when scanning files on external drives, so cache entries about them will not be purged in the next scan. + Bunu devre dışı bırakmak, harici sürücülerdeki dosyaları tararken yardımcı olacaktır, + bu nedenle bunlarla ilgili önbellek girdileri bir sonraki taramada temizlenmez. - In the case of having hundred of thousands records in cache, it is suggested to enable this, which will speedup cache loading/saving at start/end of the scan. + Önbellekte yüzbinlerce kayıt olması durumunda, taramanın başlangıcında/sonunda + önbellek yükleme/kaydetme işlemini hızlandıracak olan bu özelliği etkinleştirmeniz önerilir. settings_notebook_general = Genel -settings_notebook_duplicates = Tekrarlar -settings_notebook_images = Similar Images -settings_notebook_videos = Similar Video +settings_notebook_duplicates = Eş Dosyalar +settings_notebook_images = Benzer Resimler +settings_notebook_videos = Benzer Videolar ## Multiple - settings used in multiple tabs -settings_multiple_image_preview_checkbutton_tooltip = Shows preview at right side (when selecting an image file). -settings_multiple_image_preview_checkbutton = Show image preview +settings_multiple_image_preview_checkbutton_tooltip = Sağ tarafta önizlemeyi gösterir (bir resim dosyası seçiliyken). +settings_multiple_image_preview_checkbutton = Resim önizlemesini göster settings_multiple_clear_cache_button_tooltip = - Manually clear the cache of outdated entries. - This should only be used if automatic clearing has been disabled. -settings_multiple_clear_cache_button = Remove outdated results from images cache + Güncel olmayan girişlerin önbelleğini el ile temizleyin. + Bu, yalnızca otomatik temizleme devre dışı bırakılmışsa kullanılmalıdır. +settings_multiple_clear_cache_button = Güncel olmayan girdileri resim önbelleğinden kaldır ## Duplicates settings_duplicates_hide_hard_link_button_tooltip = - Hides all files except one, if all point to the same data (are hardlinked). + Hepsi aynı verilere işaret ediyorsa (sabit bağlantılıysa), biri dışındaki tüm dosyaları gizler. - Example: In the case where there are (on disk) seven files which are hardlinked to specific data and one different file with same data but a different inode, then in duplicate finder, only one unique file and one file from hardlinked ones will be shown. + Örnek: (Diskte) belirli verilere sabit bağlantılı yedi dosya ve aynı veriye ancak farklı + bir düğüme sahip bir farklı dosya olması durumunda, yinelenen bulucuda yalnızca bir benzersiz dosya ve + sabit bağlantılı dosyalardan bir dosya gösterilecektir. settings_duplicates_minimal_size_entry_tooltip = - Set the minimal file size which will be cached. + Önbelleğe alınacak minimum dosya boyutunu ayarlayın. - Choosing a smaller value will generate more records. This will speedup search, but slowdown cache loading/saving. + Daha küçük bir değer seçmek daha fazla kayıt üretecektir. + Bu, aramayı hızlandıracak, ancak önbellek yüklemeyi/kaydetmeyi yavaşlatacaktır. settings_duplicates_prehash_checkbutton_tooltip = - Enables caching of prehash (a hash computed from a small part of the file) which allows earlier dismissal of non-duplicated results. + Yinelenmeyen sonuçların daha önce reddedilmesine izin veren kısmi-SUÇ + (dosyanın küçük bir bölümünden hesaplanan bir SUÇ) değerinin önbelleğe alınmasını sağlar. - It is disabled by default because it can cause slowdowns in some situations. + Bazı durumlarda yavaşlamaya neden olabileceğinden varsayılan olarak devre dışıdır. - It is highly recommended to use it when scanning hundred of thousands or million files, because it can speedup search by multiple times. -settings_duplicates_prehash_minimal_entry_tooltip = Minimal size of cached entry. -settings_duplicates_hide_hard_link_button = Hide hard links (only Linux and macOS) -settings_duplicates_prehash_checkbutton = Use prehash cache -settings_duplicates_minimal_size_cache_label = Minimal size of files (in bytes) saved to cache -settings_duplicates_minimal_size_cache_prehash_label = Minimal size of files (in bytes) saved to prehash cache + Aramayı birden çok kez hızlandırabileceğinden, yüz binlerce veya milyonlarca dosyayı + tararken kullanılması şiddetle tavsiye edilir. +settings_duplicates_prehash_minimal_entry_tooltip = Önbelleğe alınacak girişlerin minimum boyutu. +settings_duplicates_hide_hard_link_button = Sabit bağlantıları gizle (yalnızca Linux ve macOS) +settings_duplicates_prehash_checkbutton = kısmi-SUÇ önbelleği kullan +settings_duplicates_minimal_size_cache_label = Önbelleğe kaydedilen minimum dosya boyutu (bayt cinsinden): +settings_duplicates_minimal_size_cache_prehash_label = kısmi-SUÇ önbelleğine kaydedilen minimum dosya boyutu (bayt cinsinden): ## Saving/Loading settings -settings_saving_button_tooltip = Save the current settings configuration to file. -settings_loading_button_tooltip = Load settings from file and replace the current configuration with them. -settings_reset_button_tooltip = Reset the current configuration to the default one. +settings_saving_button_tooltip = Geçerli ayar yapılandırmasını dosyaya kaydeder. +settings_loading_button_tooltip = Dosyadan ayarları yükler ve geçerli yapılandırmayı bunlarla değiştirir. +settings_reset_button_tooltip = Geçerli yapılandırmayı varsayılana sıfırlar. settings_saving_button = Yapılandırmayı kaydet -settings_loading_button = Yapılandırmayı yükleyin +settings_loading_button = Yapılandırma yükle settings_reset_button = Yapılandırmayı sıfırla ## Opening cache/config folders settings_folder_cache_open_tooltip = - Opens the folder where the cache txt files are stored. + Önbellek txt dosyalarının depolandığı klasörü açar. - Modifying the cache files may cause invalid results to be shown. However, modifying path may save time when moving a big amount of files to a different location. + Önbellek dosyalarının değiştirilmesi geçersiz sonuçların gösterilmesine neden olabilir. + Ancak, büyük miktarda dosyayı farklı bir konuma taşırken yolu değiştirmek zaman kazandırabilir. - You can copy these files between computers to save time on scanning again for files (of course if they have similar directory structure). + Dosyaları tekrar taramaktan zaman kazanmak için bu dosyaları bilgisayarlar arasında + kopyalayabilirsiniz (tabii ki benzer dizin yapısına sahiplerse). - In the case of problems with the cache, these files can be removed. The app will automatically regenerate them. + Önbellekte sorun olması durumunda bu dosyalar kaldırılabilir. Uygulama onları + otomatik olarak yeniden oluşturacaktır. settings_folder_settings_open_tooltip = - Opens the folder where the Czkawka config is stored. + Czkawka yapılandırmasının depolandığı klasörü açar. - WARNING: Manually modifying the config may break your workflow. -settings_folder_cache_open = Open cache folder -settings_folder_settings_open = Open settings folder + UYARI: Yapılandırmayı elle değiştirmek iş akışınızı bozabilir. +settings_folder_cache_open = Önbellek klasörünü aç +settings_folder_settings_open = Ayarlar klasörünü aç # Compute results -compute_stopped_by_user = Searching was stopped by user -compute_found_duplicates_hash_size = Found { $number_files } duplicates in { $number_groups } groups which took { $size } -compute_found_duplicates_name = Found { $number_files } duplicates in { $number_groups } groups -compute_found_empty_folders = Found { $number_files } empty folders -compute_found_empty_files = Found { $number_files } empty files -compute_found_big_files = Found { $number_files } big files -compute_found_temporary_files = Found { $number_files } temporary files -compute_found_images = Found { $number_files } similar images in { $number_groups } groups -compute_found_videos = Found { $number_files } similar videos in { $number_groups } groups -compute_found_music = Found { $number_files } similar music files in { $number_groups } groups -compute_found_invalid_symlinks = Found { $number_files } invalid symlinks -compute_found_broken_files = Found { $number_files } broken files -compute_found_bad_extensions = Found { $number_files } files with invalid extensions +compute_stopped_by_user = Arama, kullanıcı tarafından durduruldu. +compute_found_duplicates_hash_size = { $number_groups } grupta, { $size } yer kaplayan, toplam { $number_files } adet kopya bulundu. +compute_found_duplicates_name = { $number_groups } grupta, { $number_files } adet kopya bulundu. +compute_found_empty_folders = { $number_files } adet boş klasör bulundu. +compute_found_empty_files = { $number_files } adet boş dosya bulundu. +compute_found_big_files = { $number_files } adet büyük/küçük dosya bulundu. +compute_found_temporary_files = { $number_files } adet geçici dosya bulundu. +compute_found_images = { $number_groups } grupta, { $number_files } adet benzer resim bulundu. +compute_found_videos = { $number_groups } grupta, { $number_files } adet benzer video bulundu. +compute_found_music = { $number_groups } grupta, { $number_files } adet benzer müzik dosyası bulundu. +compute_found_invalid_symlinks = { $number_files } adet geçersiz sembolik bağlantı bulundu. +compute_found_broken_files = { $number_files } adet bozuk dosya bulundu. +compute_found_bad_extensions = { $number_files } adet geçersiz uzantıya sahip dosya bulundu. # Progress window -progress_scanning_general_file = Scanning { $file_number } file -progress_scanning_extension_of_files = Checking extension of { $file_checked }/{ $all_files } file -progress_scanning_broken_files = Checking { $file_checked }/{ $all_files } file -progress_scanning_video = Hashing of { $file_checked }/{ $all_files } video -progress_scanning_image = Hashing of { $file_checked }/{ $all_files } image -progress_comparing_image_hashes = Comparing { $file_checked }/{ $all_files } image hash -progress_scanning_music_tags_end = Comparing tags of { $file_checked }/{ $all_files } music file -progress_scanning_music_tags = Reading tags of { $file_checked }/{ $all_files } music file -progress_scanning_empty_folders = Scanning { $folder_number } folder -progress_scanning_size = Scanning size of { $file_number } file -progress_scanning_name = Scanning name of { $file_number } file -progress_analyzed_partial_hash = Analyzed partial hash of { $file_checked }/{ $all_files } files -progress_analyzed_full_hash = Analyzed full hash of { $file_checked }/{ $all_files } files -progress_current_stage = Current Stage:{ " " } -progress_all_stages = All Stages:{ " " } +progress_scanning_general_file = { $file_number } dosya tarandı. +progress_scanning_extension_of_files = { $file_checked }/{ $all_files } dosyanın uzantısı kontrol edildi. +progress_scanning_broken_files = { $file_checked }/{ $all_files } dosya kontrol edildi. +progress_scanning_video = { $file_checked }/{ $all_files } videonun SUÇ kaydı oluşturuldu. ;-) +progress_scanning_image = { $file_checked }/{ $all_files } resmin SURÇ kaydı oluşturuldu. ;-) +progress_comparing_image_hashes = { $file_checked }/{ $all_files } resim SURÇ kaydı karşılaştırıldı. +progress_scanning_music_tags_end = { $file_checked }/{ $all_files } müzik dosyasının etiketleri karşılaştırıldı. +progress_scanning_music_tags = { $file_checked }/{ $all_files } müzik dosyasının etiketleri okundu. +progress_scanning_empty_folders = { $folder_number } klasör tarandı. +progress_scanning_size = { $file_number } dosyanın boyutu tarandı. +progress_scanning_name = { $file_number } dosyanın adı tarandı. +progress_analyzed_partial_hash = { $file_checked }/{ $all_files } dosyanın kısmi-SUÇ kaydı analiz edildi. ;-) +progress_analyzed_full_hash = { $file_checked }/{ $all_files } dosyanın tam SUÇ kaydı analiz edildi. ;-) +progress_current_stage = Geçerli Aşama: { " " } +progress_all_stages = Tüm Aşamalar: { " " } # Saving loading -saving_loading_saving_success = Saved configuration to file { $name }. -saving_loading_saving_failure = Failed to save configuration data to file { $name }. -saving_loading_reset_configuration = Current configuration was cleared. -saving_loading_loading_success = Properly loaded app configuration. -saving_loading_invalid_string = For key "{ $key }" found invalid result - "{ $result }" which is not a string. -saving_loading_invalid_int = For key "{ $key }" found invalid result - "{ $result }" which is not a integer. -saving_loading_invalid_bool = For key "{ $key }" found invalid result - "{ $result }" which is not a bool. -saving_loading_decode_problem_bool = Failed to decode bool from key "{ $key }" found "{ $result }" but allowed values are 0, 1, true or false. -saving_loading_saving_same_keys = Trying to save setting with duplicated key "{ $key }". -saving_loading_failed_to_get_home_directory = Failed to get home directory to open/save config file. -saving_loading_folder_config_instead_file = Cannot create or open save configuration file in path "{ $path }" because already there is a folder. -saving_loading_failed_to_create_configuration_folder = Failed configuration to create configuration folder "{ $path }", reason "{ $reason }". -saving_loading_failed_to_create_config_file = Failed to create config file "{ $path }", reason "{ $reason }". -saving_loading_failed_to_read_config_file = Cannot load configuration from "{ $path }" because it does not exist or is not a file. -saving_loading_failed_to_read_data_from_file = Cannot read data from file "{ $path }", reason "{ $reason }". -saving_loading_orphan_data = Found orphan data "{ $data }" in line "{ $line }". -saving_loading_not_valid = Setting "{ $data }" does not exist in current app version. +saving_loading_saving_success = Yapılandırma { $name } dosyasına kaydedildi. +saving_loading_saving_failure = Yapılandırma verileri { $name } dosyasına kaydedilemedi. +saving_loading_reset_configuration = Geçerli yapılandırma temizlendi. +saving_loading_loading_success = Uygulama yapılandırması düzgünce yüklendi. +saving_loading_invalid_string = "{ $key }" anahtarı için geçersiz sonuç bulundu. "{ $result }" bir dize(tümce) değil. +saving_loading_invalid_int = "{ $key }" anahtarı için geçersiz sonuç bulundu. "{ $result }" tam sayı değil. +saving_loading_invalid_bool = "{ $key }" anahtarı için geçersiz sonuç bulundu. "{ $result }" D/Y türünde değil. +saving_loading_decode_problem_bool = "{ $key }" anahtarından D/Y kodu çözülemedi, "{ $result }" bulundu ancak izin verilen değerler 0, 1, doğru veya yanlış. +saving_loading_saving_same_keys = Ayar, yinelenen "{ $key }" anahtarıyla kaydedilmeye çalışılıyor. +saving_loading_failed_to_get_home_directory = Yapılandırma dosyasını açmak/kaydetmek için /home dizinine erşilemedi. +saving_loading_folder_config_instead_file = "{ $path }" yolunda kaydetme yapılandırma dosyası oluşturulamıyor veya açılamıyor çünkü zaten bir klasör var. +saving_loading_failed_to_create_configuration_folder = Yapılandırma klasörü "{ $path }" dizini oluşturulamadı, nedeni: "{ $reason }". +saving_loading_failed_to_create_config_file = "{ $path }" dizininde yapılandırma dosyası oluşturulamadı, nedeni: "{ $reason }". +saving_loading_failed_to_read_config_file = "{ $path }" dizininden yapılandırma dosyası yüklenemiyor, böyle dosya yok ya da bir dosya değil. +saving_loading_failed_to_read_data_from_file = "{ $path }" dosyasından veri okunamıyor, nedeni: "{ $reason }". +saving_loading_orphan_data = "{ $line }" satırda "{ $data }" ilişiksiz veri bulundu. +saving_loading_not_valid = "{ $data }" ayarı geçerli uygulama sürümünde bulunmuyor. # Invalid symlinks -invalid_symlink_infinite_recursion = Infinite recursion -invalid_symlink_non_existent_destination = Non-existent destination file +invalid_symlink_infinite_recursion = Sonsuz özyineleme +invalid_symlink_non_existent_destination = Var olmayan hedef dosya # Other -selected_all_reference_folders = Cannot start search, when all directories are set as reference folders -searching_for_data = Searching data, it may take a while, please wait... +selected_all_reference_folders = Tüm dizinler, "Başvuru Klasörü" olarak ayarlandığında arama başlatılamaz. +searching_for_data = İşleminiz yürütülüyor, bu biraz zaman alabilir, lütfen bekleyin... text_view_messages = MESAJLAR -text_view_warnings = WARNINGS +text_view_warnings = UYARILAR text_view_errors = HATALAR -about_window_motto = This program is free to use and will always be. +about_window_motto = Bu programın kullanımı ücretsizdir ve her zaman öyle kalacaktır. # Various dialog -dialogs_ask_next_time = Ask next time -delete_file_failed = Failed to delete file { $name }, reason { $reason } -delete_title_dialog = Silme onayı -delete_question_label = Are you sure that you want to delete files? -delete_all_files_in_group_title = Confirmation of deleting all files in group -delete_all_files_in_group_label1 = In some groups all records are selected. -delete_all_files_in_group_label2 = Are you sure that you want to delete them? -delete_folder_failed = Failed to delete folder { $dir } because folder doesn't exist, you don't have permission or the folder isn't empty. -delete_items_label = { $items } files will be deleted. -delete_items_groups_label = { $items } files from { $groups } groups will be deleted. -hardlink_failed = Failed to hardlink -hard_sym_invalid_selection_title_dialog = Invalid selection with some groups -hard_sym_invalid_selection_label_1 = In some groups there is only one record selected and it will be ignored. -hard_sym_invalid_selection_label_2 = To be able to hard/sym link these files, at least two results in the group need to be selected. -hard_sym_invalid_selection_label_3 = First in group is recognized as original and is not changed but second and later are modified. -hard_sym_link_title_dialog = Link confirmation -hard_sym_link_label = Are you sure that you want to link these files? -move_folder_failed = Failed to move folder { $name }, reason { $reason } -move_file_failed = Failed to move file { $name }, reason { $reason } -move_files_title_dialog = Choose folder to which you want to move duplicated files -move_files_choose_more_than_1_path = Only one path may be selected to be able to copy their duplicated files, selected { $path_number }. -move_stats = Properly moved { $num_files }/{ $all_files } items -save_results_to_file = Saved results to file { $name } -search_not_choosing_any_music = ERROR: You must select at least one checkbox with music searching types. -search_not_choosing_any_broken_files = ERROR: You must select at least one checkbox with type of checked broken files. -include_folders_dialog_title = Folders to include -exclude_folders_dialog_title = Folders to exclude -include_manually_directories_dialog_title = Add directory manually -cache_properly_cleared = Properly cleared cache -cache_clear_duplicates_title = Clearing duplicates cache -cache_clear_similar_images_title = Clearing similar images cache -cache_clear_similar_videos_title = Clearing similar videos cache -cache_clear_message_label_1 = Do you want to clear the cache of outdated entries? -cache_clear_message_label_2 = This operation will remove all cache entries which point to invalid files. -cache_clear_message_label_3 = This may slightly speedup loading/saving to cache. -cache_clear_message_label_4 = WARNING: Operation will remove all cached data from unplugged external drives. So each hash will need to be regenerated. +dialogs_ask_next_time = Bir dahaki sefere sor +delete_file_failed = { $name } dosyası silinemedi, nedeni: { $reason } +delete_title_dialog = Silmeyi onaylayın. +delete_question_label = Dosyaları silmek istediğinizden emin misiniz? +delete_all_files_in_group_title = Gruptaki tüm dosyaları silmeyi onaylayın. +delete_all_files_in_group_label1 = Kimi gruplarda tüm kayıtlar seçilir. +delete_all_files_in_group_label2 = Bunları silmek istediğinizden emin misiniz? +delete_folder_failed = { $dir } klasörü; bulunmadığı, izniniz olmadığı veya klasör boş olmadığı için silinemedi. +delete_items_label = { $items } dosya silinecek. +delete_items_groups_label = { $groups } gruptan { $items } dosya silinecek. +hardlink_failed = Sabit bağlantı kurulamadı. +hard_sym_invalid_selection_title_dialog = Kimi gruplarda geçersiz seçim +hard_sym_invalid_selection_label_1 = Bazı gruplarda sadece bir kayıt seçilmiştir ve bu kayıt yok sayılacaktır. +hard_sym_invalid_selection_label_2 = Bu dosyaları sabit/sembolik bağlayabilmek için gruptaki en az iki sonucun seçilmesi gerekir. +hard_sym_invalid_selection_label_3 = Gruptaki ilk resim asıl olarak tanınır ve değiştirilmez, ancak ikinci ve sonrakiler değiştirilir. +hard_sym_link_title_dialog = Bağlantı vermeyi onaylayın +hard_sym_link_label = Bu dosyaları bağlamak istediğinizden emin misiniz? +move_folder_failed = { $name } klasörü taşınamadı, nedeni: { $reason } +move_file_failed = { $name } dosyası taşınamadı, nedeni: { $reason } +move_files_title_dialog = Eş dosyaları taşımak istediğiniz klasörü seçin +move_files_choose_more_than_1_path = Eş dosyaları taşıyabilmek için yalnızca bir yol seçilebilir, { $path_number } seçildi. +move_stats = { $num_files }/{ $all_files } öğe düzgün şekilde taşındı. +save_results_to_file = Sonuçlar { $name } dosyasına kaydedildi. +search_not_choosing_any_music = HATA: Müzik araması için en az bir onay kutusu seçmelisiniz. +search_not_choosing_any_broken_files = HATA: Bozuk dosya araması için en az bir onay kutusu seçmelisiniz. +include_folders_dialog_title = Aranacak Klasörler +exclude_folders_dialog_title = Hariç Tutulan Klasörler +include_manually_directories_dialog_title = Dizini elle ekle +cache_properly_cleared = Önbellek, uygun şekilde temizlendi. +cache_clear_duplicates_title = Eş dosyalar önbelleğini temizle +cache_clear_similar_images_title = Benzer resimler önbelleğini temizle +cache_clear_similar_videos_title = Benzer videolar önbelleğini temizle +cache_clear_message_label_1 = Güncel olmayan girişleri önbellekten temizlemek istiyor musunuz? +cache_clear_message_label_2 = Bu işlem, geçersiz dosyalara işaret eden tüm önbellek girişlerini kaldıracak. +cache_clear_message_label_3 = Bu, önbelleğe yükleme/kaydetme işlemini biraz hızlandırabilir. +cache_clear_message_label_4 = UYARI: İşlem, takılı olmayan harici sürücülerden önbelleğe alınmış tüm verileri kaldıracaktır. Yani her SUÇ kaydının yeniden oluşturulması gerekecek. ;-) # Show preview -preview_image_resize_failure = Failed to resize image { $name }. -preview_image_opening_failure = Failed to open image { $name }, reason { $reason } +preview_image_resize_failure = { $name } adlı resim yeniden boyutlandırılamadı. +preview_image_opening_failure = { $name } adlı resim dosyası açılamadı, nedeni: { $reason } # Compare images (L is short Left, R is short Right - they can't take too much space) -compare_groups_number = Group { $current_group }/{ $all_groups } ({ $images_in_group } images) -compare_move_left_button = L -compare_move_right_button = R +compare_groups_number = Grup: { $current_group }/{ $all_groups } ({ $images_in_group } resim) +compare_move_left_button = <- +compare_move_right_button = -> diff --git a/czkawka_gui/i18n/uk/czkawka_gui.ftl b/czkawka_gui/i18n/uk/czkawka_gui.ftl index 48a9dfd..83b5f31 100644 --- a/czkawka_gui/i18n/uk/czkawka_gui.ftl +++ b/czkawka_gui/i18n/uk/czkawka_gui.ftl @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = Створити жорсткі посилання. Працює лише тоді, коли вибрано не менше двох результатів у групі. Перший результат залишається, а другий та наступні робляться жорсткими посиланнями на перший. +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = Переміщення файлів до вибраного каталогу. Копіює всі файли в теку без збереження структури дерева каталогів. @@ -252,6 +257,9 @@ header_about_button_tooltip = Відкриває діалогове вікно ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = Ігнорувати інші файлові системи (лише Linux) settings_ignore_other_filesystems_tooltip = ігнорує файли, які не знаходяться в одній файловій системі, як пошукові каталоги. @@ -353,7 +361,7 @@ settings_folder_settings_open = Відкрити папку налаштуван # Compute results compute_stopped_by_user = Пошук був зупинений користувачем compute_found_duplicates_hash_size = Знайдено дублікатів: { $number_files } (груп: { $number_groups }), розмір: { $size } -compute_found_duplicates_name = Знайдено: { $number_files } дубликат (и/ів) (груп: { $number_groups }) +compute_found_duplicates_name = Знайдено: { $number_files } дубликат(и/ів) (груп: { $number_groups }) compute_found_empty_folders = Знайдено порожніх папок: { $number_files } compute_found_empty_files = Знайдено порожніх файлів: { $number_files } compute_found_big_files = Знайдено великих файлів: { $number_files } diff --git a/czkawka_gui/i18n/zh/czkawka_gui.ftl b/czkawka_gui/i18n/zh/czkawka_gui.ftl index f359d93..ff94619 100644 --- a/czkawka_gui/i18n/zh/czkawka_gui.ftl +++ b/czkawka_gui/i18n/zh/czkawka_gui.ftl @@ -45,11 +45,11 @@ duplicate_check_method_tooltip = image_hash_size_tooltip = 每张选中的图像都会产生可相互比较的特殊哈希值,而它们之间的小差意味着这张图像是相似的。 - 8 个散列尺寸非常适合于找到与原始相似的图像。 随着更大的图像集 (>1000) 将产生大量的虚假正数,因此我建议使用这种更大的散列大小。 + 8 个散列尺寸非常适合于找到与原始相似的图像。 随着更大的图像集(>1000) 将产生大量的虚假正数,因此我建议使用这种更大的散列大小。 16 是默认的散列大小,它很好地影响了找到哪怕是略类似的图像和少量散列碰撞。 - 32和64 哈希只找到非常相似的图像,但几乎不应该有任何假正数 (可能只有一些透明通道的图像)。 + 32和64 哈希只找到非常相似的图像,但几乎不应该有任何假正数(可能只有一些透明通道的图像)。 image_resize_filter_tooltip = 要计算图像散列,库必须首先调整大小。 @@ -145,11 +145,11 @@ upper_notebook_items_configuration = 项目配置 upper_notebook_excluded_directories = 排除的目录 upper_notebook_included_directories = 包含的目录 upper_allowed_extensions_tooltip = - 允许的扩展必须用逗号分隔 (默认所有可用)。 + 允许的扩展必须用逗号分隔(默认所有可用)。 同时添加多个扩展的下列宏也可用: IMAGE, VIDEO, MUSIC, TEXT - 使用示例".exe, IMAGE, VIDEO, .rar, 7z" - 这意味着图像 (e). . jpg、png、视频 (例如avi、mp4)、ex、rar和7z 文件将被扫描。 + 使用示例".exe, IMAGE, VIDEO, .rar, 7z" - 这意味着图像(e). . jpg、png、视频(例如avi、mp4)、ex、rar和7z 文件将被扫描。 upper_excluded_items_tooltip = 排除的项目必须包含 * 通配符,并且应该用逗号分隔。 这比排除的目录慢,所以请仔细使用。 @@ -225,6 +225,11 @@ bottom_hardlink_button_tooltip = 创建硬链接。 只在选定组中至少两个结果时有效。 第一个不变,第二个和第二个后来是与第一个联系在一起的。 +bottom_hardlink_button_not_available_tooltip = + Create hardlinks. + Button is disabled, because hardlinks cannot be created. + Hardlinks only works with administrator privileges on Windows, so be sure to run app as administrator. + If app already works with such privileges check for similar issues on Github. bottom_move_button_tooltip = 移动文件到选定的目录。 它复制所有文件到目录,而不保留目录树。 @@ -252,6 +257,9 @@ header_about_button_tooltip = 打开包含应用程序信息的对话框。 ## General +settings_number_of_threads = Number of used threads +settings_number_of_threads_tooltip = Number of used threads, 0 means that all available threads will be used. +settings_label_restart = You need to restart app to apply settings! settings_ignore_other_filesystems = 忽略其它文件系统 (仅限Linux) settings_ignore_other_filesystems_tooltip = 忽略与搜索的目录不在同一个文件系统中的文件。 @@ -267,7 +275,7 @@ settings_confirm_link_button_tooltip = 点击硬链接/符号链接按钮时显 settings_confirm_group_deletion_button_tooltip = 尝试从群组中删除所有记录时显示警告对话框。 settings_show_text_view_button_tooltip = 在用户界面底部显示文本面板。 settings_use_cache_button_tooltip = 使用文件缓存。 -settings_save_also_as_json_button_tooltip = 保存缓存为 (人类可读) JSON 格式。可以修改其内容。 如果缺少二进制格式缓存 (带bin extensional),此文件的缓存将被应用自动读取。 +settings_save_also_as_json_button_tooltip = 保存缓存为 (人类可读) JSON 格式。可以修改其内容。 如果缺少二进制格式缓存(带bin extensional),此文件的缓存将被应用自动读取。 settings_use_trash_button_tooltip = 将文件移至回收站,而将其永久删除。 settings_language_label_tooltip = 用户界面的语言。 settings_save_at_exit_button = 关闭应用时保存配置 @@ -284,7 +292,7 @@ settings_multiple_delete_outdated_cache_checkbutton = 自动删除过时的缓 settings_multiple_delete_outdated_cache_checkbutton_tooltip = 删除指向不存在文件的过时缓存结果。 - 如果启用,应用会确保当加载记录时,所有记录都指向有效的文件 (被忽略的文件)。 + 如果启用,应用会确保当加载记录时,所有记录都指向有效的文件(被忽略的文件)。 禁用这将有助于扫描外部驱动器上的文件,所以在下次扫描中不会清除有关它们的缓存条目。 @@ -306,15 +314,15 @@ settings_multiple_clear_cache_button = 从图像缓存中删除过时的结果 ## Duplicates settings_duplicates_hide_hard_link_button_tooltip = - 隐藏除一个之外的所有文件,如果所有文件都指向相同的数据 (是硬链接)。 + 隐藏除一个之外的所有文件,如果所有文件都指向相同的数据(是硬链接)。 - 示例:在存在 (磁盘) 的情况下,七个文件与特定数据有硬链接,一个不同的文件具有相同的数据但不同的内涵, 然后在重复的查找器中,将只显示一个唯一的文件和一个来自硬链接的文件。 + 示例:在存在(磁盘) 的情况下,七个文件与特定数据有硬链接,一个不同的文件具有相同的数据但不同的内涵, 然后在重复的查找器中,将只显示一个唯一的文件和一个来自硬链接的文件。 settings_duplicates_minimal_size_entry_tooltip = 设置将缓存的最小文件大小。 选择一个较小的值将生成更多的记录。 这将加速搜索,但减缓缓缓存加载/保存。 settings_duplicates_prehash_checkbutton_tooltip = - 启用封存 (从文件的一小部分计算的散列) 的缓存,允许提早撤销不重复的结果。 + 启用封存(从文件的一小部分计算的散列) 的缓存,允许提早撤销不重复的结果。 默认情况下禁用它,因为它会导致某些情况下的减速。 @@ -323,7 +331,7 @@ settings_duplicates_prehash_minimal_entry_tooltip = 缓存条目的最小尺寸 settings_duplicates_hide_hard_link_button = 隐藏硬链接 (仅限Linux 和 macOS) settings_duplicates_prehash_checkbutton = 使用捕捉缓存 settings_duplicates_minimal_size_cache_label = 保存到缓存的文件最小大小 (字节) -settings_duplicates_minimal_size_cache_prehash_label = 文件最小尺寸 (字节) 保存到逮捕缓存 +settings_duplicates_minimal_size_cache_prehash_label = 文件最小尺寸(字节) 保存到逮捕缓存 ## Saving/Loading settings @@ -341,7 +349,7 @@ settings_folder_cache_open_tooltip = 修改缓存文件可能会导致显示无效结果。 然而,当将大量文件移动到另一个位置时,修改路径可能会节省时间。 - 您可以在计算机之间复制这些文件以便在扫描文件时节省时间 (当然,如果它们具有类似的目录结构)。 + 您可以在计算机之间复制这些文件以便在扫描文件时节省时间(当然,如果它们具有类似的目录结构)。 如果缓存出现问题,这些文件可以被删除。应用程序将自动重新生成它们。 settings_folder_settings_open_tooltip = diff --git a/czkawka_gui/src/connect_things/connect_about_buttons.rs b/czkawka_gui/src/connect_things/connect_about_buttons.rs index fdc1722..ddbf7c3 100644 --- a/czkawka_gui/src/connect_things/connect_about_buttons.rs +++ b/czkawka_gui/src/connect_things/connect_about_buttons.rs @@ -11,28 +11,28 @@ pub fn connect_about_buttons(gui_data: &GuiData) { let button_donation = gui_data.about.button_donation.clone(); button_donation.connect_clicked(move |_| { if let Err(e) = open::that(SPONSOR_SITE) { - println!("Failed to open sponsor site: {}, reason {}", SPONSOR_SITE, e) + println!("Failed to open sponsor site: {SPONSOR_SITE}, reason {e}") }; }); let button_instruction = gui_data.about.button_instruction.clone(); button_instruction.connect_clicked(move |_| { if let Err(e) = open::that(INSTRUCTION_SITE) { - println!("Failed to open instruction site: {}, reason {}", INSTRUCTION_SITE, e) + println!("Failed to open instruction site: {INSTRUCTION_SITE}, reason {e}") }; }); let button_repository = gui_data.about.button_repository.clone(); button_repository.connect_clicked(move |_| { if let Err(e) = open::that(REPOSITORY_SITE) { - println!("Failed to open repository site: {}, reason {}", REPOSITORY_SITE, e) + println!("Failed to open repository site: {REPOSITORY_SITE}, reason {e}") }; }); let button_translation = gui_data.about.button_translation.clone(); button_translation.connect_clicked(move |_| { if let Err(e) = open::that(TRANSLATION_SITE) { - println!("Failed to open repository site: {}, reason {}", TRANSLATION_SITE, e) + println!("Failed to open repository site: {TRANSLATION_SITE}, reason {e}") }; }); } diff --git a/czkawka_gui/src/connect_things/connect_button_compare.rs b/czkawka_gui/src/connect_things/connect_button_compare.rs index 876c500..121b6bb 100644 --- a/czkawka_gui/src/connect_things/connect_button_compare.rs +++ b/czkawka_gui/src/connect_things/connect_button_compare.rs @@ -389,12 +389,12 @@ fn generate_cache_for_results(vector_with_path: Vec<(String, String, TreePath)>) pixbuf = t; } Err(e) => { - println!("Failed to open image {}, reason {}", full_path, e); + println!("Failed to open image {full_path}, reason {e}"); } }; } Err(e) => { - println!("Failed to open image {}, reason {}", full_path, e); + println!("Failed to open image {full_path}, reason {e}"); } }; break 'czystka; @@ -407,7 +407,7 @@ fn generate_cache_for_results(vector_with_path: Vec<(String, String, TreePath)>) pixbuf = t; } Err(e) => { - println!("Failed to open image {}, reason {}", full_path, e); + println!("Failed to open image {full_path}, reason {e}"); } }; } @@ -416,14 +416,14 @@ fn generate_cache_for_results(vector_with_path: Vec<(String, String, TreePath)>) loop { let pixbuf_big = match resize_pixbuf_dimension(pixbuf, (BIG_PREVIEW_SIZE, BIG_PREVIEW_SIZE), InterpType::Nearest) { None => { - println!("Failed to resize image {}.", full_path); + println!("Failed to resize image {full_path}."); break; } Some(pixbuf) => pixbuf, }; let pixbuf_small = match resize_pixbuf_dimension(pixbuf_big.clone(), (SMALL_PREVIEW_SIZE, SMALL_PREVIEW_SIZE), InterpType::Nearest) { None => { - println!("Failed to resize image {}.", full_path); + println!("Failed to resize image {full_path}."); break; } Some(pixbuf) => pixbuf, diff --git a/czkawka_gui/src/connect_things/connect_change_language.rs b/czkawka_gui/src/connect_things/connect_change_language.rs index 08a2d40..0e83e41 100644 --- a/czkawka_gui/src/connect_things/connect_change_language.rs +++ b/czkawka_gui/src/connect_things/connect_change_language.rs @@ -28,7 +28,7 @@ fn change_language(gui_data: &GuiData) { let lang_identifier = vec![LanguageIdentifier::from_bytes(lang_short.as_bytes()).unwrap()]; for (lib, localizer) in localizers { if let Err(error) = localizer.select(&lang_identifier) { - eprintln!("Error while loadings languages for {} {:?}", lib, error); + eprintln!("Error while loadings languages for {lib} {error:?}"); } } gui_data.update_language(); diff --git a/czkawka_gui/src/connect_things/connect_popovers.rs b/czkawka_gui/src/connect_things/connect_popovers.rs index 970db51..52e886a 100644 --- a/czkawka_gui/src/connect_things/connect_popovers.rs +++ b/czkawka_gui/src/connect_things/connect_popovers.rs @@ -452,7 +452,7 @@ fn popover_custom_select_unselect( need_to_change_thing = true; } } else { - if Common::regex_check(&name_wildcard.to_lowercase(), &name.to_lowercase()) { + if Common::regex_check(&name_wildcard.to_lowercase(), name.to_lowercase()) { need_to_change_thing = true; } } @@ -463,7 +463,7 @@ fn popover_custom_select_unselect( need_to_change_thing = true; } } else { - if Common::regex_check(&path_wildcard.to_lowercase(), &path.to_lowercase()) { + if Common::regex_check(&path_wildcard.to_lowercase(), path.to_lowercase()) { need_to_change_thing = true; } } diff --git a/czkawka_gui/src/connect_things/connect_settings.rs b/czkawka_gui/src/connect_things/connect_settings.rs index 77b9af2..5a95c7b 100644 --- a/czkawka_gui/src/connect_things/connect_settings.rs +++ b/czkawka_gui/src/connect_things/connect_settings.rs @@ -84,7 +84,7 @@ pub fn connect_settings(gui_data: &GuiData) { let cache_dir = proj_dirs.cache_dir(); if let Err(e) = open::that(cache_dir) { - println!("Failed to open config folder {:?}, reason {}", cache_dir, e); + println!("Failed to open config folder {cache_dir:?}, reason {e}"); }; } }); @@ -97,7 +97,7 @@ pub fn connect_settings(gui_data: &GuiData) { let config_dir = proj_dirs.config_dir(); if let Err(e) = open::that(config_dir) { - println!("Failed to open config folder {:?}, reason {}", config_dir, e); + println!("Failed to open config folder {config_dir:?}, reason {e}"); }; } }); diff --git a/czkawka_gui/src/gui_structs/gui_bottom_buttons.rs b/czkawka_gui/src/gui_structs/gui_bottom_buttons.rs index 66de0e1..4d6120a 100644 --- a/czkawka_gui/src/gui_structs/gui_bottom_buttons.rs +++ b/czkawka_gui/src/gui_structs/gui_bottom_buttons.rs @@ -82,6 +82,9 @@ impl GuiBottomButtons { buttons_select.set_popover(Some(popover_select)); + #[cfg(target_family = "windows")] + buttons_hardlink.set_sensitive(test_hardlinks()); + Self { buttons_search, buttons_select, @@ -105,18 +108,57 @@ impl GuiBottomButtons { get_custom_label_from_widget(&self.buttons_delete.clone()).set_text(&flg!("bottom_delete_button")); get_custom_label_from_widget(&self.buttons_save.clone()).set_text(&flg!("bottom_save_button")); get_custom_label_from_widget(&self.buttons_symlink.clone()).set_text(&flg!("bottom_symlink_button")); - get_custom_label_from_widget(&self.buttons_hardlink.clone()).set_text(&flg!("bottom_hardlink_button")); get_custom_label_from_widget(&self.buttons_move.clone()).set_text(&flg!("bottom_move_button")); + get_custom_label_from_widget(&self.buttons_hardlink.clone()).set_text(&flg!("bottom_hardlink_button")); self.buttons_search.set_tooltip_text(Some(&flg!("bottom_search_button_tooltip"))); self.buttons_select.set_tooltip_text(Some(&flg!("bottom_select_button_tooltip"))); self.buttons_delete.set_tooltip_text(Some(&flg!("bottom_delete_button_tooltip"))); self.buttons_save.set_tooltip_text(Some(&flg!("bottom_save_button_tooltip"))); self.buttons_symlink.set_tooltip_text(Some(&flg!("bottom_symlink_button_tooltip"))); - self.buttons_hardlink.set_tooltip_text(Some(&flg!("bottom_hardlink_button_tooltip"))); self.buttons_move.set_tooltip_text(Some(&flg!("bottom_move_button_tooltip"))); + if self.buttons_hardlink.is_sensitive() { + self.buttons_hardlink.set_tooltip_text(Some(&flg!("bottom_hardlink_button_tooltip"))); + } else { + self.buttons_hardlink.set_tooltip_text(Some(&flg!("bottom_hardlink_button_not_available_tooltip"))); + } self.buttons_show_errors.set_tooltip_text(Some(&flg!("bottom_show_errors_tooltip"))); self.buttons_show_upper_notebook.set_tooltip_text(Some(&flg!("bottom_show_upper_notebook_tooltip"))); } } + +#[cfg(target_family = "windows")] +fn test_hardlinks() -> bool { + use directories_next::ProjectDirs; + use std::fs; + use std::io::Write; + use std::path::Path; + + if let Some(proj_dirs) = ProjectDirs::from("pl", "Qarmin", "Czkawka") { + let cache_dir = proj_dirs.cache_dir(); + let cache_file = cache_dir.join(Path::new("GILLES_FROM_NOSE.temp")); + let cache_file_second = cache_dir.join(Path::new("ROBERCIG_LOWANDOWSKI.temp")); + + if cache_file.exists() { + let _ = fs::remove_file(&cache_file); + } + if cache_file_second.exists() { + let _ = fs::remove_file(&cache_file_second); + } + if !cache_file.exists() && !cache_file_second.exists() { + if let Ok(mut file_handler) = fs::OpenOptions::new().write(true).create(true).open(&cache_file) { + let _ = writeln!(file_handler, "GURKA"); + } + let _ = fs::hard_link(&cache_file, &cache_file_second); + + if cache_file.exists() && cache_file_second.exists() { + return true; + } + } + let _ = fs::remove_file(&cache_file); + let _ = fs::remove_file(&cache_file_second); + } + + false +} diff --git a/czkawka_gui/src/help_functions.rs b/czkawka_gui/src/help_functions.rs index 5032ed9..4244c1a 100644 --- a/czkawka_gui/src/help_functions.rs +++ b/czkawka_gui/src/help_functions.rs @@ -303,7 +303,7 @@ pub fn add_text_to_text_view(text_view: &TextView, string_to_append: &str) { if current_text.is_empty() { buffer.set_text(string_to_append); } else { - buffer.set_text(format!("{}\n{}", current_text, string_to_append).as_str()); + buffer.set_text(format!("{current_text}\n{string_to_append}").as_str()); } } @@ -669,7 +669,7 @@ pub fn debug_print_widget>(item: &P) { widgets_to_check.push((next_free_number, current_number, widget)); next_free_number += 1; } - println!("{}, {}, {:?} ", current_number, parent_number, widget); + println!("{current_number}, {parent_number}, {widget:?} "); } } diff --git a/czkawka_gui/src/opening_selecting_records.rs b/czkawka_gui/src/opening_selecting_records.rs index dbe7c42..012d047 100644 --- a/czkawka_gui/src/opening_selecting_records.rs +++ b/czkawka_gui/src/opening_selecting_records.rs @@ -12,7 +12,7 @@ pub fn opening_enter_function_ported_upper_directories(event_controller: >k4:: let tree_view = event_controller.widget().downcast::().unwrap(); #[cfg(debug_assertions)] { - println!("key_code {}", key_code); + println!("key_code {key_code}"); } match get_notebook_upper_enum_from_tree_view(&tree_view) { @@ -68,7 +68,7 @@ pub fn opening_enter_function_ported(event_controller: >k4::EventControllerKey let tree_view = event_controller.widget().downcast::().unwrap(); #[cfg(debug_assertions)] { - println!("key_code {}", key_code); + println!("key_code {key_code}"); } let nt_object = get_notebook_object_from_tree_view(&tree_view); @@ -132,7 +132,7 @@ fn common_open_function(tree_view: >k4::TreeView, column_name: i32, column_pat }; if let Err(e) = open::that(&end_path) { - println!("Failed to open file {}, reason {}", end_path, e); + println!("Failed to open file {end_path}, reason {e}"); }; } } @@ -190,7 +190,7 @@ fn common_open_function_upper_directories(tree_view: >k4::TreeView, column_ful let full_path = tree_model.get::(&tree_model.iter(tree_path).unwrap(), column_full_path); if let Err(e) = open::that(&full_path) { - println!("Failed to open file {}, reason {}", full_path, e); + println!("Failed to open file {full_path}, reason {e}"); }; } } diff --git a/czkawka_gui/src/saving_loading.rs b/czkawka_gui/src/saving_loading.rs index 6912f9e..286f8a6 100644 --- a/czkawka_gui/src/saving_loading.rs +++ b/czkawka_gui/src/saving_loading.rs @@ -98,7 +98,7 @@ impl LoadSaveStruct { } pub fn get_integer_string(&self, key: String, default_value: String) -> String { if default_value.parse::().is_err() { - println!("Default value {} can't be convert to integer value", default_value); + println!("Default value {default_value} can't be convert to integer value"); panic!(); } let mut returned_value = self.get_string(key, default_value.clone()); @@ -119,7 +119,7 @@ impl LoadSaveStruct { &self.text_view, &flg!( "saving_loading_invalid_string", - generate_translation_hashmap(vec![("key", key), ("result", format!("{:?}", item))]) + generate_translation_hashmap(vec![("key", key), ("result", format!("{item:?}"))]) ), ); default_value @@ -145,7 +145,7 @@ impl LoadSaveStruct { &self.text_view, &flg!( "saving_loading_invalid_int", - generate_translation_hashmap(vec![("key", key), ("result", format!("{:?}", item))]) + generate_translation_hashmap(vec![("key", key), ("result", format!("{item:?}"))]) ), ); default_value @@ -178,7 +178,7 @@ impl LoadSaveStruct { &self.text_view, &flg!( "saving_loading_invalid_bool", - generate_translation_hashmap(vec![("key", key), ("result", format!("{:?}", item))]) + generate_translation_hashmap(vec![("key", key), ("result", format!("{item:?}"))]) ), ); default_value @@ -351,7 +351,7 @@ impl LoadSaveStruct { if let Some((mut config_file_handler, config_file)) = self.open_save_file(text_view_errors, true, false) { let mut data_saved: bool = false; for (key, vec_string) in &self.loaded_items { - match writeln!(config_file_handler, "{}", key) { + match writeln!(config_file_handler, "{key}") { Ok(_inspected) => { data_saved = true; } @@ -361,7 +361,7 @@ impl LoadSaveStruct { } } for data in vec_string { - match writeln!(config_file_handler, "{}", data) { + match writeln!(config_file_handler, "{data}") { Ok(_inspected) => { data_saved = true; } @@ -492,8 +492,8 @@ fn create_hash_map() -> (HashMap, HashMap) { let mut hashmap_sl: HashMap = Default::default(); for (load_text, string) in values { - hashmap_ls.insert(load_text, format!("--{}", string)); - hashmap_sl.insert(format!("--{}", string), load_text); + hashmap_ls.insert(load_text, format!("--{string}")); + hashmap_sl.insert(format!("--{string}"), load_text); } (hashmap_ls, hashmap_sl)