1
0
Fork 0
mirror of synced 2024-05-03 03:52:58 +12:00

Windows hardlinking problem (#881)

* Clippy 1

* Nightly Clippy

* Disable hardlink button when on windows test of hardlinking failed

* Import things for new function
This commit is contained in:
Rafał Mikrut 2022-12-21 08:44:26 +01:00 committed by GitHub
parent e6b19270a6
commit c9e9a65cc9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
47 changed files with 802 additions and 603 deletions

212
Cargo.lock generated
View file

@ -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"

View file

@ -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),

View file

@ -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"

View file

@ -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 }

View file

@ -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 }

View file

@ -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 }

View file

@ -1,5 +1,5 @@
# Core
core_similarity_original = Оригинал
core_similarity_original = Оригинальное
core_similarity_very_high = Очень высокое
core_similarity_high = Высокое
core_similarity_medium = Среднее

View file

@ -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 = ı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. ;-)

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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
}

View file

@ -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;
}

View file

@ -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<String, FileEntry>, 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 {

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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);

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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"]

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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 =
プレハッシュ (ファイルの一部から計算したハッシュ) のキャッシュを有効にし、重複していない検索結果をより早く捨てられるようにします。
プレハッシュ(ファイルの一部から計算したハッシュ) のキャッシュを有効にし、重複していない検索結果をより早く捨てられるようにします。
いくつかの場面では低速化の要因になりうるので、この機能はデフォルトでは無効になっています。

View file

@ -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 =
사전 해시 (파일 일부만으로 계산되는 해시) 에 대한 캐싱을 허용하여, 중복이 아닌 파일을 더 빠르게 결과에서 제거합니다.
사전 해시(파일 일부만으로 계산되는 해시)에 대한 캐싱을 허용하여, 중복이 아닌 파일을 더 빠르게 결과에서 제거합니다.
이 옵션은 일부 상황에서 검색을 느리게 하기 때문에, 기본적으로 꺼져 있습니다.

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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 }

View file

@ -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.

View file

@ -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ıı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 = ->

View file

@ -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 }

View file

@ -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 =

View file

@ -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}")
};
});
}

View file

@ -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,

View file

@ -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();

View file

@ -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;
}
}

View file

@ -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}");
};
}
});

View file

@ -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
}

View file

@ -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<P: IsA<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:?} ");
}
}

View file

@ -12,7 +12,7 @@ pub fn opening_enter_function_ported_upper_directories(event_controller: &gtk4::
let tree_view = event_controller.widget().downcast::<gtk4::TreeView>().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: &gtk4::EventControllerKey
let tree_view = event_controller.widget().downcast::<gtk4::TreeView>().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: &gtk4::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: &gtk4::TreeView, column_ful
let full_path = tree_model.get::<String>(&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}");
};
}
}

View file

@ -98,7 +98,7 @@ impl LoadSaveStruct {
}
pub fn get_integer_string(&self, key: String, default_value: String) -> String {
if default_value.parse::<i64>().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<LoadText, String>, HashMap<String, LoadText>) {
let mut hashmap_sl: HashMap<String, LoadText> = 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)